@ankimcp/anki-mcp-server 0.15.0 → 0.16.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 (177) hide show
  1. package/LICENSE +659 -5
  2. package/README.md +64 -12
  3. package/dist/app.module.js +3 -0
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/mcp/mcp-icons.d.ts +2 -0
  6. package/dist/mcp/mcp-icons.js +11 -0
  7. package/dist/mcp/mcp-icons.js.map +1 -0
  8. package/dist/mcp/primitives/essential/index.d.ts +25 -7
  9. package/dist/mcp/primitives/essential/index.js +49 -13
  10. package/dist/mcp/primitives/essential/index.js.map +1 -1
  11. package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/content.md +2 -2
  12. package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +2 -1
  13. package/dist/mcp/primitives/essential/tools/add-note.tool.js +2 -0
  14. package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
  15. package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +2 -1
  16. package/dist/mcp/primitives/essential/tools/add-notes.tool.js +2 -0
  17. package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
  18. package/dist/mcp/primitives/essential/tools/{tagActions/tagActions.tool.d.ts → add-tags.tool.d.ts} +6 -9
  19. package/dist/mcp/primitives/essential/tools/add-tags.tool.js +85 -0
  20. package/dist/mcp/primitives/essential/tools/add-tags.tool.js.map +1 -0
  21. package/dist/mcp/primitives/essential/tools/change-deck.tool.d.ts +107 -0
  22. package/dist/mcp/primitives/essential/tools/change-deck.tool.js +79 -0
  23. package/dist/mcp/primitives/essential/tools/change-deck.tool.js.map +1 -0
  24. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.d.ts +104 -0
  25. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js +68 -0
  26. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js.map +1 -0
  27. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +2 -1
  28. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +6 -2
  29. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
  30. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.types.d.ts +1 -1
  31. package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +106 -0
  32. package/dist/mcp/primitives/essential/tools/create-deck.tool.js +78 -0
  33. package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -0
  34. package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +3 -2
  35. package/dist/mcp/primitives/essential/tools/create-model.tool.js +2 -0
  36. package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
  37. package/dist/mcp/primitives/essential/tools/{deckActions/deckActions.tool.d.ts → deck-stats.tool.d.ts} +5 -12
  38. package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +108 -0
  39. package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -0
  40. package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.d.ts +1 -1
  41. package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.d.ts +1 -1
  42. package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +2 -2
  43. package/dist/mcp/primitives/essential/tools/deckActions/actions/listDecks.action.d.ts +2 -2
  44. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.d.ts +106 -0
  45. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js +73 -0
  46. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js.map +1 -0
  47. package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -1
  48. package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +2 -1
  49. package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
  50. package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +2 -1
  51. package/dist/mcp/primitives/essential/tools/find-notes.tool.js +2 -0
  52. package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
  53. package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +3 -2
  54. package/dist/mcp/primitives/essential/tools/get-cards.tool.js +2 -0
  55. package/dist/mcp/primitives/essential/tools/get-cards.tool.js.map +1 -1
  56. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +3 -2
  57. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +2 -0
  58. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
  59. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.d.ts +106 -0
  60. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js +76 -0
  61. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js.map +1 -0
  62. package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +2 -1
  63. package/dist/mcp/primitives/essential/tools/get-tags.tool.js +2 -0
  64. package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
  65. package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +106 -0
  66. package/dist/mcp/primitives/essential/tools/list-decks.tool.js +96 -0
  67. package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -0
  68. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.d.ts +1 -1
  69. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js +3 -2
  70. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js.map +1 -1
  71. package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.d.ts +1 -1
  72. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.d.ts +1 -1
  73. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js +3 -2
  74. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js.map +1 -1
  75. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.d.ts +1 -1
  76. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js +18 -4
  77. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js.map +1 -1
  78. package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +2 -1
  79. package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +2 -0
  80. package/dist/mcp/primitives/essential/tools/model-field-names.tool.js.map +1 -1
  81. package/dist/mcp/primitives/essential/tools/model-names.tool.d.ts +2 -1
  82. package/dist/mcp/primitives/essential/tools/model-names.tool.js +2 -0
  83. package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
  84. package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +2 -1
  85. package/dist/mcp/primitives/essential/tools/model-styling.tool.js +2 -0
  86. package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
  87. package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +3 -2
  88. package/dist/mcp/primitives/essential/tools/notes-info.tool.js +2 -0
  89. package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
  90. package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +3 -2
  91. package/dist/mcp/primitives/essential/tools/present-card.tool.js +2 -0
  92. package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
  93. package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +2 -1
  94. package/dist/mcp/primitives/essential/tools/rate-card.tool.js +2 -0
  95. package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
  96. package/dist/mcp/primitives/essential/tools/remove-tags.tool.d.ts +107 -0
  97. package/dist/mcp/primitives/essential/tools/remove-tags.tool.js +85 -0
  98. package/dist/mcp/primitives/essential/tools/remove-tags.tool.js.map +1 -0
  99. package/dist/mcp/primitives/essential/tools/replace-tags.tool.d.ts +108 -0
  100. package/dist/mcp/primitives/essential/tools/replace-tags.tool.js +92 -0
  101. package/dist/mcp/primitives/essential/tools/replace-tags.tool.js.map +1 -0
  102. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.d.ts +106 -0
  103. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js +75 -0
  104. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js.map +1 -0
  105. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.d.ts +2 -1
  106. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +2 -0
  107. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
  108. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.types.d.ts +1 -1
  109. package/dist/mcp/primitives/essential/tools/{mediaActions/mediaActions.tool.d.ts → store-media-file.tool.d.ts} +5 -8
  110. package/dist/mcp/primitives/essential/tools/store-media-file.tool.js +92 -0
  111. package/dist/mcp/primitives/essential/tools/store-media-file.tool.js.map +1 -0
  112. package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +2 -1
  113. package/dist/mcp/primitives/essential/tools/sync.tool.js +2 -0
  114. package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
  115. package/dist/mcp/primitives/essential/tools/tagActions/actions/addTags.action.d.ts +1 -1
  116. package/dist/mcp/primitives/essential/tools/tagActions/actions/clearUnusedTags.action.d.ts +1 -1
  117. package/dist/mcp/primitives/essential/tools/tagActions/actions/removeTags.action.d.ts +1 -1
  118. package/dist/mcp/primitives/essential/tools/tagActions/actions/replaceTags.action.d.ts +1 -1
  119. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +2 -1
  120. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +2 -0
  121. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js.map +1 -1
  122. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.d.ts +2 -1
  123. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +19 -0
  124. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
  125. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +2 -1
  126. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +3 -1
  127. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js.map +1 -1
  128. package/dist/mcp/primitives/gui/tools/gui-browse.tool.d.ts +2 -1
  129. package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +2 -0
  130. package/dist/mcp/primitives/gui/tools/gui-browse.tool.js.map +1 -1
  131. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +3 -2
  132. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +2 -0
  133. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js.map +1 -1
  134. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.d.ts +2 -1
  135. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +2 -0
  136. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js.map +1 -1
  137. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +2 -1
  138. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +2 -0
  139. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
  140. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +2 -1
  141. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +2 -0
  142. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js.map +1 -1
  143. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +2 -1
  144. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +2 -0
  145. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js.map +1 -1
  146. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.d.ts +2 -1
  147. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +2 -0
  148. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js.map +1 -1
  149. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.d.ts +2 -1
  150. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +2 -0
  151. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js.map +1 -1
  152. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.d.ts +2 -1
  153. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +2 -0
  154. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js.map +1 -1
  155. package/dist/mcp/primitives/gui/tools/gui-undo.tool.d.ts +2 -1
  156. package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +2 -0
  157. package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
  158. package/dist/mcp/utils/media-validation.utils.d.ts +33 -0
  159. package/dist/mcp/utils/media-validation.utils.js +208 -0
  160. package/dist/mcp/utils/media-validation.utils.js.map +1 -0
  161. package/dist/tsconfig.build.tsbuildinfo +1 -1
  162. package/package.json +24 -19
  163. package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js +0 -208
  164. package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js.map +0 -1
  165. package/dist/mcp/primitives/essential/tools/deckActions/index.d.ts +0 -5
  166. package/dist/mcp/primitives/essential/tools/deckActions/index.js +0 -6
  167. package/dist/mcp/primitives/essential/tools/deckActions/index.js.map +0 -1
  168. package/dist/mcp/primitives/essential/tools/mediaActions/index.d.ts +0 -5
  169. package/dist/mcp/primitives/essential/tools/mediaActions/index.js +0 -6
  170. package/dist/mcp/primitives/essential/tools/mediaActions/index.js.map +0 -1
  171. package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +0 -156
  172. package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js.map +0 -1
  173. package/dist/mcp/primitives/essential/tools/tagActions/index.d.ts +0 -5
  174. package/dist/mcp/primitives/essential/tools/tagActions/index.js +0 -6
  175. package/dist/mcp/primitives/essential/tools/tagActions/index.js.map +0 -1
  176. package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js +0 -151
  177. package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js.map +0 -1
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var ReplaceTagsTool_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ReplaceTagsTool = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const mcp_nest_1 = require("@rekog/mcp-nest");
16
+ const zod_1 = require("zod");
17
+ const anki_connect_client_1 = require("../../../clients/anki-connect.client");
18
+ const anki_utils_1 = require("../../../utils/anki.utils");
19
+ const replaceTags_action_1 = require("./tagActions/actions/replaceTags.action");
20
+ let ReplaceTagsTool = ReplaceTagsTool_1 = class ReplaceTagsTool {
21
+ ankiClient;
22
+ logger = new common_1.Logger(ReplaceTagsTool_1.name);
23
+ constructor(ankiClient) {
24
+ this.ankiClient = ankiClient;
25
+ }
26
+ async execute(params, context) {
27
+ try {
28
+ this.logger.log(`Executing replaceTags on ${params.notes?.length ?? 0} note(s)`);
29
+ if (!params.notes || params.notes.length === 0) {
30
+ throw new Error("notes array is required for replaceTags action");
31
+ }
32
+ if (!params.tagToReplace) {
33
+ throw new Error("tagToReplace is required for replaceTags action");
34
+ }
35
+ if (!params.replaceWithTag) {
36
+ throw new Error("replaceWithTag is required for replaceTags action");
37
+ }
38
+ await context.reportProgress({ progress: 25, total: 100 });
39
+ const result = await (0, replaceTags_action_1.replaceTags)({
40
+ notes: params.notes,
41
+ tagToReplace: params.tagToReplace,
42
+ replaceWithTag: params.replaceWithTag,
43
+ }, this.ankiClient);
44
+ await context.reportProgress({ progress: 100, total: 100 });
45
+ return result;
46
+ }
47
+ catch (error) {
48
+ this.logger.error("Failed to execute replaceTags", error);
49
+ return (0, anki_utils_1.createErrorResponse)(error, {
50
+ action: "replaceTags",
51
+ hint: "Make sure Anki is running and the note IDs are valid",
52
+ });
53
+ }
54
+ }
55
+ };
56
+ exports.ReplaceTagsTool = ReplaceTagsTool;
57
+ __decorate([
58
+ (0, mcp_nest_1.Tool)({
59
+ name: "replaceTags",
60
+ description: 'Rename a tag across specified notes (e.g., "RomanEmpire" -> "roman-empire"). Single tag only; spaces are not allowed in either value.',
61
+ parameters: zod_1.z.object({
62
+ notes: zod_1.z
63
+ .array(zod_1.z.number())
64
+ .min(1)
65
+ .max(1000)
66
+ .describe("Array of note IDs to modify"),
67
+ tagToReplace: zod_1.z.string().describe("The tag to search for and replace"),
68
+ replaceWithTag: zod_1.z.string().describe("The tag to replace with"),
69
+ }),
70
+ outputSchema: zod_1.z.object({
71
+ success: zod_1.z.boolean(),
72
+ message: zod_1.z.string(),
73
+ notesAffected: zod_1.z.number(),
74
+ tagToReplace: zod_1.z.string(),
75
+ replaceWithTag: zod_1.z.string(),
76
+ }),
77
+ annotations: {
78
+ title: "Replace Tag",
79
+ readOnlyHint: false,
80
+ destructiveHint: false,
81
+ idempotentHint: true,
82
+ },
83
+ }),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", [Object, Object]),
86
+ __metadata("design:returntype", Promise)
87
+ ], ReplaceTagsTool.prototype, "execute", null);
88
+ exports.ReplaceTagsTool = ReplaceTagsTool = ReplaceTagsTool_1 = __decorate([
89
+ (0, common_1.Injectable)(),
90
+ __metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
91
+ ], ReplaceTagsTool);
92
+ //# sourceMappingURL=replace-tags.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replace-tags.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/replace-tags.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,gFAAsE;AAG/D,IAAM,eAAe,uBAArB,MAAM,eAAe;IAGG;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;IAE3D,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IA6BxD,AAAN,KAAK,CAAC,OAAO,CACX,MAIC,EACD,OAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4BAA4B,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,CAChE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAW,EAC9B;gBACE,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;YAEF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,sDAAsD;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA5EY,0CAAe;AAgCpB;IA3BL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,uIAAuI;QACzI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,OAAC;iBACL,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,CAAC,6BAA6B,CAAC;YAC1C,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACtE,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SAC/D,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;YACzB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;YACxB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;SAC3B,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;8CA4CD;0BA3EU,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,eAAe,CA4E3B"}
@@ -0,0 +1,106 @@
1
+ import type { Context } from "@rekog/mcp-nest";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
+ export declare class RetrieveMediaFileTool {
4
+ private readonly ankiClient;
5
+ private readonly logger;
6
+ constructor(ankiClient: AnkiConnectClient);
7
+ execute(params: {
8
+ filename: string;
9
+ }, context: Context): Promise<{
10
+ [x: string]: unknown;
11
+ content: ({
12
+ type: "text";
13
+ text: string;
14
+ annotations?: {
15
+ audience?: ("user" | "assistant")[] | undefined;
16
+ priority?: number | undefined;
17
+ lastModified?: string | undefined;
18
+ } | undefined;
19
+ _meta?: {
20
+ [x: string]: unknown;
21
+ } | undefined;
22
+ } | {
23
+ type: "image";
24
+ data: string;
25
+ mimeType: string;
26
+ annotations?: {
27
+ audience?: ("user" | "assistant")[] | undefined;
28
+ priority?: number | undefined;
29
+ lastModified?: string | undefined;
30
+ } | undefined;
31
+ _meta?: {
32
+ [x: string]: unknown;
33
+ } | undefined;
34
+ } | {
35
+ type: "audio";
36
+ data: string;
37
+ mimeType: string;
38
+ annotations?: {
39
+ audience?: ("user" | "assistant")[] | undefined;
40
+ priority?: number | undefined;
41
+ lastModified?: string | undefined;
42
+ } | undefined;
43
+ _meta?: {
44
+ [x: string]: unknown;
45
+ } | undefined;
46
+ } | {
47
+ uri: string;
48
+ name: string;
49
+ type: "resource_link";
50
+ description?: string | undefined;
51
+ mimeType?: string | undefined;
52
+ size?: number | undefined;
53
+ annotations?: {
54
+ audience?: ("user" | "assistant")[] | undefined;
55
+ priority?: number | undefined;
56
+ lastModified?: string | undefined;
57
+ } | undefined;
58
+ _meta?: {
59
+ [x: string]: unknown;
60
+ } | undefined;
61
+ icons?: {
62
+ src: string;
63
+ mimeType?: string | undefined;
64
+ sizes?: string[] | undefined;
65
+ theme?: "light" | "dark" | undefined;
66
+ }[] | undefined;
67
+ title?: string | undefined;
68
+ } | {
69
+ type: "resource";
70
+ resource: {
71
+ uri: string;
72
+ text: string;
73
+ mimeType?: string | undefined;
74
+ _meta?: {
75
+ [x: string]: unknown;
76
+ } | undefined;
77
+ } | {
78
+ uri: string;
79
+ blob: string;
80
+ mimeType?: string | undefined;
81
+ _meta?: {
82
+ [x: string]: unknown;
83
+ } | undefined;
84
+ };
85
+ annotations?: {
86
+ audience?: ("user" | "assistant")[] | undefined;
87
+ priority?: number | undefined;
88
+ lastModified?: string | undefined;
89
+ } | undefined;
90
+ _meta?: {
91
+ [x: string]: unknown;
92
+ } | undefined;
93
+ })[];
94
+ _meta?: {
95
+ [x: string]: unknown;
96
+ progressToken?: string | number | undefined;
97
+ "io.modelcontextprotocol/related-task"?: {
98
+ taskId: string;
99
+ } | undefined;
100
+ } | undefined;
101
+ structuredContent?: {
102
+ [x: string]: unknown;
103
+ } | undefined;
104
+ isError?: boolean | undefined;
105
+ } | import("./mediaActions/actions/retrieveMediaFile.action").RetrieveMediaFileResult>;
106
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var RetrieveMediaFileTool_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RetrieveMediaFileTool = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const mcp_nest_1 = require("@rekog/mcp-nest");
16
+ const zod_1 = require("zod");
17
+ const anki_connect_client_1 = require("../../../clients/anki-connect.client");
18
+ const anki_utils_1 = require("../../../utils/anki.utils");
19
+ const retrieveMediaFile_action_1 = require("./mediaActions/actions/retrieveMediaFile.action");
20
+ let RetrieveMediaFileTool = RetrieveMediaFileTool_1 = class RetrieveMediaFileTool {
21
+ ankiClient;
22
+ logger = new common_1.Logger(RetrieveMediaFileTool_1.name);
23
+ constructor(ankiClient) {
24
+ this.ankiClient = ankiClient;
25
+ }
26
+ async execute(params, context) {
27
+ try {
28
+ this.logger.log(`Executing retrieveMediaFile: ${params.filename}`);
29
+ await context.reportProgress({ progress: 50, total: 100 });
30
+ const result = await (0, retrieveMediaFile_action_1.retrieveMediaFile)({ filename: params.filename }, this.ankiClient);
31
+ await context.reportProgress({ progress: 100, total: 100 });
32
+ return result;
33
+ }
34
+ catch (error) {
35
+ this.logger.error("Failed to execute retrieveMediaFile", error);
36
+ return (0, anki_utils_1.createErrorResponse)(error, {
37
+ action: "retrieveMediaFile",
38
+ hint: "Make sure Anki is running and the filename is valid",
39
+ });
40
+ }
41
+ }
42
+ };
43
+ exports.RetrieveMediaFileTool = RetrieveMediaFileTool;
44
+ __decorate([
45
+ (0, mcp_nest_1.Tool)({
46
+ name: "retrieveMediaFile",
47
+ description: "Download a media file from Anki's collection.media folder. Returns base64-encoded file content, or null if the file is not found.",
48
+ parameters: zod_1.z.object({
49
+ filename: zod_1.z
50
+ .string()
51
+ .describe('Filename of the media file to retrieve (e.g., "pronunciation.mp3")'),
52
+ }),
53
+ outputSchema: zod_1.z.object({
54
+ success: zod_1.z.boolean(),
55
+ filename: zod_1.z.string(),
56
+ data: zod_1.z.string().nullable(),
57
+ message: zod_1.z.string(),
58
+ found: zod_1.z.boolean(),
59
+ }),
60
+ annotations: {
61
+ title: "Retrieve Media File",
62
+ readOnlyHint: true,
63
+ destructiveHint: false,
64
+ idempotentHint: true,
65
+ },
66
+ }),
67
+ __metadata("design:type", Function),
68
+ __metadata("design:paramtypes", [Object, Object]),
69
+ __metadata("design:returntype", Promise)
70
+ ], RetrieveMediaFileTool.prototype, "execute", null);
71
+ exports.RetrieveMediaFileTool = RetrieveMediaFileTool = RetrieveMediaFileTool_1 = __decorate([
72
+ (0, common_1.Injectable)(),
73
+ __metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
74
+ ], RetrieveMediaFileTool);
75
+ //# sourceMappingURL=retrieve-media-file.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve-media-file.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/retrieve-media-file.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,8FAAoF;AAG7E,IAAM,qBAAqB,6BAA3B,MAAM,qBAAqB;IAGH;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,uBAAqB,CAAC,IAAI,CAAC,CAAC;IAEjE,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IA2BxD,AAAN,KAAK,CAAC,OAAO,CAAC,MAA4B,EAAE,OAAgB;QAC1D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,4CAAiB,EACpC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC7B,IAAI,CAAC,UAAU,CAChB,CAAC;YAEF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,qDAAqD;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAlDY,sDAAqB;AA8B1B;IAzBL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,mIAAmI;QACrI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACP,oEAAoE,CACrE;SACJ,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE;SACnB,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,qBAAqB;YAC5B,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;oDAoBD;gCAjDU,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,qBAAqB,CAkDjC"}
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../../clients/anki-connect.client";
3
3
  import { ReviewStatsResult } from "./review-stats.types";
4
4
  export declare class ReviewStatsTool {
5
5
  private readonly ankiClient;
@@ -52,6 +52,7 @@ export declare class ReviewStatsTool {
52
52
  type: "resource_link";
53
53
  description?: string | undefined;
54
54
  mimeType?: string | undefined;
55
+ size?: number | undefined;
55
56
  annotations?: {
56
57
  audience?: ("user" | "assistant")[] | undefined;
57
58
  priority?: number | undefined;
@@ -176,8 +176,10 @@ __decorate([
176
176
  }),
177
177
  }),
178
178
  annotations: {
179
+ title: "Review Statistics",
179
180
  readOnlyHint: true,
180
181
  destructiveHint: false,
182
+ idempotentHint: true,
181
183
  },
182
184
  }),
183
185
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"review-stats.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/review-stats/review-stats.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review-stats.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/review-stats/review-stats.tool.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RetentionMetrics } from "@/mcp/utils/stats.utils";
1
+ import { RetentionMetrics } from "../../../../utils/stats.utils";
2
2
  export interface ReviewStatsParams {
3
3
  deck?: string;
4
4
  start_date: string;
@@ -1,19 +1,15 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
3
- import { type GetMediaFilesNamesResult } from "./actions/getMediaFilesNames.action";
4
- import { type DeleteMediaFileResult } from "./actions/deleteMediaFile.action";
5
- export declare class MediaActionsTool {
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
+ export declare class StoreMediaFileTool {
6
4
  private readonly ankiClient;
7
5
  private readonly logger;
8
6
  constructor(ankiClient: AnkiConnectClient);
9
7
  execute(params: {
10
- action: "storeMediaFile" | "retrieveMediaFile" | "getMediaFilesNames" | "deleteMediaFile";
11
- filename?: string;
8
+ filename: string;
12
9
  data?: string;
13
10
  path?: string;
14
11
  url?: string;
15
12
  deleteExisting?: boolean;
16
- pattern?: string;
17
13
  }, context: Context): Promise<{
18
14
  [x: string]: unknown;
19
15
  content: ({
@@ -57,6 +53,7 @@ export declare class MediaActionsTool {
57
53
  type: "resource_link";
58
54
  description?: string | undefined;
59
55
  mimeType?: string | undefined;
56
+ size?: number | undefined;
60
57
  annotations?: {
61
58
  audience?: ("user" | "assistant")[] | undefined;
62
59
  priority?: number | undefined;
@@ -109,5 +106,5 @@ export declare class MediaActionsTool {
109
106
  [x: string]: unknown;
110
107
  } | undefined;
111
108
  isError?: boolean | undefined;
112
- } | GetMediaFilesNamesResult | DeleteMediaFileResult>;
109
+ } | import("./mediaActions/actions/storeMediaFile.action").StoreMediaFileResult>;
113
110
  }
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var StoreMediaFileTool_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.StoreMediaFileTool = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const mcp_nest_1 = require("@rekog/mcp-nest");
16
+ const zod_1 = require("zod");
17
+ const anki_connect_client_1 = require("../../../clients/anki-connect.client");
18
+ const anki_utils_1 = require("../../../utils/anki.utils");
19
+ const storeMediaFile_action_1 = require("./mediaActions/actions/storeMediaFile.action");
20
+ let StoreMediaFileTool = StoreMediaFileTool_1 = class StoreMediaFileTool {
21
+ ankiClient;
22
+ logger = new common_1.Logger(StoreMediaFileTool_1.name);
23
+ constructor(ankiClient) {
24
+ this.ankiClient = ankiClient;
25
+ }
26
+ async execute(params, context) {
27
+ try {
28
+ this.logger.log(`Executing storeMediaFile: ${params.filename}`);
29
+ await context.reportProgress({ progress: 25, total: 100 });
30
+ const result = await (0, storeMediaFile_action_1.storeMediaFile)({
31
+ filename: params.filename,
32
+ data: params.data,
33
+ path: params.path,
34
+ url: params.url,
35
+ deleteExisting: params.deleteExisting,
36
+ }, this.ankiClient);
37
+ await context.reportProgress({ progress: 100, total: 100 });
38
+ return result;
39
+ }
40
+ catch (error) {
41
+ this.logger.error("Failed to execute storeMediaFile", error);
42
+ return (0, anki_utils_1.createErrorResponse)(error, {
43
+ action: "storeMediaFile",
44
+ hint: "Make sure Anki is running and the media source (data/path/url) is valid",
45
+ });
46
+ }
47
+ }
48
+ };
49
+ exports.StoreMediaFileTool = StoreMediaFileTool;
50
+ __decorate([
51
+ (0, mcp_nest_1.Tool)({
52
+ name: "storeMediaFile",
53
+ description: "Upload a media file to Anki's collection.media folder. Supports base64 data, absolute file paths, or URLs. Perfect for workflows like ElevenLabs TTS -> Anki audio flashcards.",
54
+ parameters: zod_1.z.object({
55
+ filename: zod_1.z
56
+ .string()
57
+ .describe('Filename to store in Anki (e.g., "pronunciation.mp3", "image.jpg")'),
58
+ data: zod_1.z.string().optional().describe("Base64-encoded file content"),
59
+ path: zod_1.z
60
+ .string()
61
+ .optional()
62
+ .describe("Absolute path to a local media file (images, audio, video only)"),
63
+ url: zod_1.z.string().optional().describe("URL to download file from"),
64
+ deleteExisting: zod_1.z
65
+ .boolean()
66
+ .optional()
67
+ .default(true)
68
+ .describe("Overwrite existing file (default: true)"),
69
+ }),
70
+ outputSchema: zod_1.z.object({
71
+ success: zod_1.z.boolean(),
72
+ filename: zod_1.z.string(),
73
+ message: zod_1.z.string(),
74
+ prefixedWithUnderscore: zod_1.z.boolean(),
75
+ }),
76
+ annotations: {
77
+ title: "Store Media File",
78
+ readOnlyHint: false,
79
+ destructiveHint: true,
80
+ idempotentHint: false,
81
+ openWorldHint: true,
82
+ },
83
+ }),
84
+ __metadata("design:type", Function),
85
+ __metadata("design:paramtypes", [Object, Object]),
86
+ __metadata("design:returntype", Promise)
87
+ ], StoreMediaFileTool.prototype, "execute", null);
88
+ exports.StoreMediaFileTool = StoreMediaFileTool = StoreMediaFileTool_1 = __decorate([
89
+ (0, common_1.Injectable)(),
90
+ __metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
91
+ ], StoreMediaFileTool);
92
+ //# sourceMappingURL=store-media-file.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-media-file.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/store-media-file.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,wFAA8E;AAGvE,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAGA;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAE9D,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAwCxD,AAAN,KAAK,CAAC,OAAO,CACX,MAMC,EACD,OAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAc,EACjC;gBACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,EACD,IAAI,CAAC,UAAU,CAChB,CAAC;YAEF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,MAAM,EAAE,gBAAgB;gBACxB,IAAI,EAAE,yEAAyE;aAChF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA9EY,gDAAkB;AA2CvB;IAtCL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,gLAAgL;QAClL,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACP,oEAAoE,CACrE;YACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACnE,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iEAAiE,CAClE;YACH,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAChE,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CAAC,yCAAyC,CAAC;SACvD,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,sBAAsB,EAAE,OAAC,CAAC,OAAO,EAAE;SACpC,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,kBAAkB;YACzB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF,CAAC;;;;iDAmCD;6BA7EU,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,kBAAkB,CA8E9B"}
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
3
  export declare class SyncTool {
4
4
  private readonly ankiClient;
5
5
  private readonly logger;
@@ -47,6 +47,7 @@ export declare class SyncTool {
47
47
  type: "resource_link";
48
48
  description?: string | undefined;
49
49
  mimeType?: string | undefined;
50
+ size?: number | undefined;
50
51
  annotations?: {
51
52
  audience?: ("user" | "assistant")[] | undefined;
52
53
  priority?: number | undefined;
@@ -55,9 +55,11 @@ __decorate([
55
55
  timestamp: zod_1.z.string(),
56
56
  }),
57
57
  annotations: {
58
+ title: "Sync with AnkiWeb",
58
59
  readOnlyHint: false,
59
60
  destructiveHint: false,
60
61
  idempotentHint: true,
62
+ openWorldHint: true,
61
63
  },
62
64
  }),
63
65
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"sync.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/sync.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAMtD,IAAM,QAAQ,gBAAd,MAAM,QAAQ;IAGU;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,UAAQ,CAAC,IAAI,CAAC,CAAC;IAEpD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAkBxD,AAAN,KAAK,CAAC,IAAI,CAAC,KAA4B,EAAE,OAAgB;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE5D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,wCAAwC;gBACjD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAExD,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,IAAI,EAAE,2DAA2D;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA7CY,4BAAQ;AAqBb;IAhBL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,gOAAgO;QAClO,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;oCAwBD;mBA5CU,QAAQ;IADpB,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,QAAQ,CA6CpB"}
1
+ {"version":3,"file":"sync.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/sync.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAMtD,IAAM,QAAQ,gBAAd,MAAM,QAAQ;IAGU;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,UAAQ,CAAC,IAAI,CAAC,CAAC;IAEpD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAoBxD,AAAN,KAAK,CAAC,IAAI,CAAC,KAA4B,EAAE,OAAgB;QACvD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC9D,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YACpD,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE5D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,wCAAwC;gBACjD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAExD,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,IAAI,EAAE,2DAA2D;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA/CY,4BAAQ;AAuBb;IAlBL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,gOAAgO;QAClO,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,IAAI;SACpB;KACF,CAAC;;;;oCAwBD;mBA9CU,QAAQ;IADpB,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,QAAQ,CA+CpB"}
@@ -1,4 +1,4 @@
1
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
1
+ import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
2
2
  export interface AddTagsParams {
3
3
  notes: number[];
4
4
  tags: string;
@@ -1,4 +1,4 @@
1
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
1
+ import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
2
2
  export type ClearUnusedTagsParams = Record<string, never>;
3
3
  export interface ClearUnusedTagsResult {
4
4
  success: boolean;
@@ -1,4 +1,4 @@
1
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
1
+ import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
2
2
  export interface RemoveTagsParams {
3
3
  notes: number[];
4
4
  tags: string;
@@ -1,4 +1,4 @@
1
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
1
+ import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
2
2
  export interface ReplaceTagsParams {
3
3
  notes: number[];
4
4
  tagToReplace: string;
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
3
  export declare class UpdateModelStylingTool {
4
4
  private readonly ankiClient;
5
5
  private readonly logger;
@@ -50,6 +50,7 @@ export declare class UpdateModelStylingTool {
50
50
  type: "resource_link";
51
51
  description?: string | undefined;
52
52
  mimeType?: string | undefined;
53
+ size?: number | undefined;
53
54
  annotations?: {
54
55
  audience?: ("user" | "assistant")[] | undefined;
55
56
  priority?: number | undefined;
@@ -123,8 +123,10 @@ __decorate([
123
123
  cssLengthChange: zod_1.z.number().optional(),
124
124
  }),
125
125
  annotations: {
126
+ title: "Update Note Type CSS",
126
127
  readOnlyHint: false,
127
128
  destructiveHint: false,
129
+ idempotentHint: true,
128
130
  },
129
131
  }),
130
132
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"update-model-styling.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/update-model-styling.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-model-styling.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/update-model-styling.tool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
3
  export declare class UpdateNoteFieldsTool {
4
4
  private readonly ankiClient;
5
5
  private readonly logger;
@@ -62,6 +62,7 @@ export declare class UpdateNoteFieldsTool {
62
62
  type: "resource_link";
63
63
  description?: string | undefined;
64
64
  mimeType?: string | undefined;
65
+ size?: number | undefined;
65
66
  annotations?: {
66
67
  audience?: ("user" | "assistant")[] | undefined;
67
68
  priority?: number | undefined;