@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.
- package/LICENSE +659 -5
- package/README.md +64 -12
- package/dist/app.module.js +3 -0
- package/dist/app.module.js.map +1 -1
- package/dist/mcp/mcp-icons.d.ts +2 -0
- package/dist/mcp/mcp-icons.js +11 -0
- package/dist/mcp/mcp-icons.js.map +1 -0
- package/dist/mcp/primitives/essential/index.d.ts +25 -7
- package/dist/mcp/primitives/essential/index.js +49 -13
- package/dist/mcp/primitives/essential/index.js.map +1 -1
- package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/content.md +2 -2
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/{tagActions/tagActions.tool.d.ts → add-tags.tool.d.ts} +6 -9
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js +85 -0
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.d.ts +107 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js +79 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.d.ts +104 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js +68 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +6 -2
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.types.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js +78 -0
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/create-model.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/{deckActions/deckActions.tool.d.ts → deck-stats.tool.d.ts} +5 -12
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +108 -0
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/deckActions/actions/listDecks.action.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js +73 -0
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +2 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js +76 -0
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js +96 -0
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js +3 -2
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js +3 -2
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js +18 -4
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-names.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-names.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/present-card.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.d.ts +107 -0
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js +85 -0
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.d.ts +108 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js +92 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js +75 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.types.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/{mediaActions/mediaActions.tool.d.ts → store-media-file.tool.d.ts} +5 -8
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js +92 -0
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/sync.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/addTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/clearUnusedTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/removeTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/replaceTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +19 -0
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +3 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +3 -2
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
- package/dist/mcp/utils/media-validation.utils.d.ts +33 -0
- package/dist/mcp/utils/media-validation.utils.js +208 -0
- package/dist/mcp/utils/media-validation.utils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +24 -19
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js +0 -208
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/deckActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/deckActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/deckActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/mediaActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/mediaActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +0 -156
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/tagActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/tagActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/tagActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js +0 -151
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-deck.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/create-deck.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,+EAAqE;AAG9D,IAAM,cAAc,sBAApB,MAAM,cAAc;IAGI;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAE1D,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IA8BxD,AAAN,KAAK,CAAC,OAAO,CAAC,MAA4B,EAAE,OAAgB;QAC1D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAU,EAC7B,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,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,MAAM,EAAE,YAAY;gBACpB,IAAI,EAAE,sDAAsD;aAC7D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AArDY,wCAAc;AAiCnB;IA5BL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,kJAAkJ;QACpJ,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACP,qFAAqF,CACtF;SACJ,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC7B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACjC,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;6CAoBD;yBApDU,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,cAAc,CAqD1B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
3
|
-
import type { CardTemplate } from "
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
|
+
import type { CardTemplate } from "../../../types/anki.types";
|
|
4
4
|
export declare class CreateModelTool {
|
|
5
5
|
private readonly ankiClient;
|
|
6
6
|
private readonly logger;
|
|
@@ -54,6 +54,7 @@ export declare class CreateModelTool {
|
|
|
54
54
|
type: "resource_link";
|
|
55
55
|
description?: string | undefined;
|
|
56
56
|
mimeType?: string | undefined;
|
|
57
|
+
size?: number | undefined;
|
|
57
58
|
annotations?: {
|
|
58
59
|
audience?: ("user" | "assistant")[] | undefined;
|
|
59
60
|
priority?: number | undefined;
|
|
@@ -144,8 +144,10 @@ __decorate([
|
|
|
144
144
|
warnings: zod_1.z.array(zod_1.z.string()).optional(),
|
|
145
145
|
}),
|
|
146
146
|
annotations: {
|
|
147
|
+
title: "Create Note Type",
|
|
147
148
|
readOnlyHint: false,
|
|
148
149
|
destructiveHint: false,
|
|
150
|
+
idempotentHint: false,
|
|
149
151
|
},
|
|
150
152
|
}),
|
|
151
153
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-model.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/create-model.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAOtD,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;
|
|
1
|
+
{"version":3,"file":"create-model.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/create-model.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,13 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
3
|
-
|
|
4
|
-
import { type ListDecksResult } from "./actions/listDecks.action";
|
|
5
|
-
import { type CreateDeckResult } from "./actions/createDeck.action";
|
|
6
|
-
import { type DeckStatsResult } from "./actions/deckStats.action";
|
|
7
|
-
export declare class DeckActionsTool {
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
|
+
export declare class DeckStatsTool {
|
|
8
4
|
private readonly ankiClient;
|
|
9
5
|
private readonly logger;
|
|
10
6
|
constructor(ankiClient: AnkiConnectClient);
|
|
11
7
|
execute(params: {
|
|
12
|
-
|
|
13
|
-
includeStats?: boolean;
|
|
14
|
-
deckName?: string;
|
|
15
|
-
deck?: string;
|
|
8
|
+
deck: string;
|
|
16
9
|
easeBuckets?: number[];
|
|
17
10
|
intervalBuckets?: number[];
|
|
18
|
-
cards?: number[];
|
|
19
11
|
}, context: Context): Promise<{
|
|
20
12
|
[x: string]: unknown;
|
|
21
13
|
content: ({
|
|
@@ -59,6 +51,7 @@ export declare class DeckActionsTool {
|
|
|
59
51
|
type: "resource_link";
|
|
60
52
|
description?: string | undefined;
|
|
61
53
|
mimeType?: string | undefined;
|
|
54
|
+
size?: number | undefined;
|
|
62
55
|
annotations?: {
|
|
63
56
|
audience?: ("user" | "assistant")[] | undefined;
|
|
64
57
|
priority?: number | undefined;
|
|
@@ -111,5 +104,5 @@ export declare class DeckActionsTool {
|
|
|
111
104
|
[x: string]: unknown;
|
|
112
105
|
} | undefined;
|
|
113
106
|
isError?: boolean | undefined;
|
|
114
|
-
} |
|
|
107
|
+
} | import("./deckActions/actions/deckStats.action").DeckStatsResult>;
|
|
115
108
|
}
|
|
@@ -0,0 +1,108 @@
|
|
|
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 DeckStatsTool_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.DeckStatsTool = 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 deckStats_action_1 = require("./deckActions/actions/deckStats.action");
|
|
20
|
+
let DeckStatsTool = DeckStatsTool_1 = class DeckStatsTool {
|
|
21
|
+
ankiClient;
|
|
22
|
+
logger = new common_1.Logger(DeckStatsTool_1.name);
|
|
23
|
+
constructor(ankiClient) {
|
|
24
|
+
this.ankiClient = ankiClient;
|
|
25
|
+
}
|
|
26
|
+
async execute(params, context) {
|
|
27
|
+
try {
|
|
28
|
+
this.logger.log(`Executing deckStats for deck: ${params.deck}`);
|
|
29
|
+
await context.reportProgress({ progress: 10, total: 100 });
|
|
30
|
+
const result = await (0, deckStats_action_1.deckStats)({
|
|
31
|
+
deck: params.deck,
|
|
32
|
+
easeBuckets: params.easeBuckets,
|
|
33
|
+
intervalBuckets: params.intervalBuckets,
|
|
34
|
+
}, this.ankiClient, async (progress) => {
|
|
35
|
+
await context.reportProgress({ progress, total: 100 });
|
|
36
|
+
});
|
|
37
|
+
await context.reportProgress({ progress: 100, total: 100 });
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
this.logger.error("Failed to execute deckStats", error);
|
|
42
|
+
return (0, anki_utils_1.createErrorResponse)(error, {
|
|
43
|
+
action: "deckStats",
|
|
44
|
+
hint: "Make sure Anki is running and the deck name is valid",
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.DeckStatsTool = DeckStatsTool;
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, mcp_nest_1.Tool)({
|
|
52
|
+
name: "deckStats",
|
|
53
|
+
description: 'Get comprehensive statistics for a single deck including card counts, ease and interval distributions. Pass a deck name (e.g., "Japanese::JLPT N5") and optional bucket boundaries.',
|
|
54
|
+
parameters: zod_1.z.object({
|
|
55
|
+
deck: zod_1.z.string().describe('Deck name (e.g., "Japanese::JLPT N5")'),
|
|
56
|
+
easeBuckets: zod_1.z
|
|
57
|
+
.array(zod_1.z.number().positive())
|
|
58
|
+
.max(20)
|
|
59
|
+
.optional()
|
|
60
|
+
.describe("Bucket boundaries for ease factor distribution. Default: [2.0, 2.5, 3.0]"),
|
|
61
|
+
intervalBuckets: zod_1.z
|
|
62
|
+
.array(zod_1.z.number().positive())
|
|
63
|
+
.max(20)
|
|
64
|
+
.optional()
|
|
65
|
+
.describe("Bucket boundaries for interval distribution in days. Default: [7, 21, 90]"),
|
|
66
|
+
}),
|
|
67
|
+
outputSchema: zod_1.z.object({
|
|
68
|
+
success: zod_1.z.boolean(),
|
|
69
|
+
deck: zod_1.z.string(),
|
|
70
|
+
counts: zod_1.z.object({
|
|
71
|
+
total: zod_1.z.number(),
|
|
72
|
+
new: zod_1.z.number(),
|
|
73
|
+
learning: zod_1.z.number(),
|
|
74
|
+
review: zod_1.z.number(),
|
|
75
|
+
}),
|
|
76
|
+
ease: zod_1.z.object({
|
|
77
|
+
mean: zod_1.z.number(),
|
|
78
|
+
median: zod_1.z.number(),
|
|
79
|
+
min: zod_1.z.number(),
|
|
80
|
+
max: zod_1.z.number(),
|
|
81
|
+
count: zod_1.z.number(),
|
|
82
|
+
buckets: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
83
|
+
}),
|
|
84
|
+
intervals: zod_1.z.object({
|
|
85
|
+
mean: zod_1.z.number(),
|
|
86
|
+
median: zod_1.z.number(),
|
|
87
|
+
min: zod_1.z.number(),
|
|
88
|
+
max: zod_1.z.number(),
|
|
89
|
+
count: zod_1.z.number(),
|
|
90
|
+
buckets: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
91
|
+
}),
|
|
92
|
+
}),
|
|
93
|
+
annotations: {
|
|
94
|
+
title: "Deck Statistics",
|
|
95
|
+
readOnlyHint: true,
|
|
96
|
+
destructiveHint: false,
|
|
97
|
+
idempotentHint: true,
|
|
98
|
+
},
|
|
99
|
+
}),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], DeckStatsTool.prototype, "execute", null);
|
|
104
|
+
exports.DeckStatsTool = DeckStatsTool = DeckStatsTool_1 = __decorate([
|
|
105
|
+
(0, common_1.Injectable)(),
|
|
106
|
+
__metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
|
|
107
|
+
], DeckStatsTool);
|
|
108
|
+
//# sourceMappingURL=deck-stats.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deck-stats.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/deck-stats.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnkiConnectClient } from "
|
|
2
|
-
import { DistributionMetrics } from "
|
|
1
|
+
import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
|
|
2
|
+
import { DistributionMetrics } from "../../../../../utils/stats.utils";
|
|
3
3
|
export interface AnkiDeckStatsResponse {
|
|
4
4
|
deck_id: number;
|
|
5
5
|
name: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnkiConnectClient } from "
|
|
2
|
-
import { DeckInfo } from "
|
|
1
|
+
import { AnkiConnectClient } from "../../../../../clients/anki-connect.client";
|
|
2
|
+
import { DeckInfo } from "../../../../../types/anki.types";
|
|
3
3
|
export interface ListDecksParams {
|
|
4
4
|
includeStats?: boolean;
|
|
5
5
|
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
|
+
export declare class DeleteMediaFileTool {
|
|
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/deleteMediaFile.action").DeleteMediaFileResult>;
|
|
106
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
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 DeleteMediaFileTool_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.DeleteMediaFileTool = 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 deleteMediaFile_action_1 = require("./mediaActions/actions/deleteMediaFile.action");
|
|
20
|
+
let DeleteMediaFileTool = DeleteMediaFileTool_1 = class DeleteMediaFileTool {
|
|
21
|
+
ankiClient;
|
|
22
|
+
logger = new common_1.Logger(DeleteMediaFileTool_1.name);
|
|
23
|
+
constructor(ankiClient) {
|
|
24
|
+
this.ankiClient = ankiClient;
|
|
25
|
+
}
|
|
26
|
+
async execute(params, context) {
|
|
27
|
+
try {
|
|
28
|
+
this.logger.log(`Executing deleteMediaFile: ${params.filename}`);
|
|
29
|
+
await context.reportProgress({ progress: 50, total: 100 });
|
|
30
|
+
const result = await (0, deleteMediaFile_action_1.deleteMediaFile)({ 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 deleteMediaFile", error);
|
|
36
|
+
return (0, anki_utils_1.createErrorResponse)(error, {
|
|
37
|
+
action: "deleteMediaFile",
|
|
38
|
+
hint: "Make sure Anki is running and the filename is valid",
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
exports.DeleteMediaFileTool = DeleteMediaFileTool;
|
|
44
|
+
__decorate([
|
|
45
|
+
(0, mcp_nest_1.Tool)({
|
|
46
|
+
name: "deleteMediaFile",
|
|
47
|
+
description: "Remove a media file from Anki's collection.media folder. CRITICAL: This is destructive and permanent - only delete media the user explicitly confirmed for deletion.",
|
|
48
|
+
parameters: zod_1.z.object({
|
|
49
|
+
filename: zod_1.z
|
|
50
|
+
.string()
|
|
51
|
+
.describe('Filename of the media file to delete (e.g., "old_audio.mp3")'),
|
|
52
|
+
}),
|
|
53
|
+
outputSchema: zod_1.z.object({
|
|
54
|
+
success: zod_1.z.boolean(),
|
|
55
|
+
filename: zod_1.z.string(),
|
|
56
|
+
message: zod_1.z.string(),
|
|
57
|
+
}),
|
|
58
|
+
annotations: {
|
|
59
|
+
title: "Delete Media File",
|
|
60
|
+
readOnlyHint: false,
|
|
61
|
+
destructiveHint: true,
|
|
62
|
+
idempotentHint: true,
|
|
63
|
+
},
|
|
64
|
+
}),
|
|
65
|
+
__metadata("design:type", Function),
|
|
66
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
67
|
+
__metadata("design:returntype", Promise)
|
|
68
|
+
], DeleteMediaFileTool.prototype, "execute", null);
|
|
69
|
+
exports.DeleteMediaFileTool = DeleteMediaFileTool = DeleteMediaFileTool_1 = __decorate([
|
|
70
|
+
(0, common_1.Injectable)(),
|
|
71
|
+
__metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
|
|
72
|
+
], DeleteMediaFileTool);
|
|
73
|
+
//# sourceMappingURL=delete-media-file.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-media-file.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/delete-media-file.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,0FAAgF;AAGzE,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAGD;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAE/D,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAyBxD,AAAN,KAAK,CAAC,OAAO,CAAC,MAA4B,EAAE,OAAgB;QAC1D,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,MAAM,IAAA,wCAAe,EAClC,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,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,MAAM,EAAE,iBAAiB;gBACzB,IAAI,EAAE,qDAAqD;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAhDY,kDAAmB;AA4BxB;IAvBL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,sKAAsK;QACxK,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,OAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CACP,8DAA8D,CAC/D;SACJ,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;SACpB,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,mBAAmB;YAC1B,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;kDAoBD;8BA/CU,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,mBAAmB,CAgD/B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
3
|
export declare class DeleteNotesTool {
|
|
4
4
|
private readonly ankiClient;
|
|
5
5
|
private readonly logger;
|
|
@@ -50,6 +50,7 @@ export declare class DeleteNotesTool {
|
|
|
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;
|
|
@@ -120,9 +120,10 @@ __decorate([
|
|
|
120
120
|
hint: zod_1.z.string().optional(),
|
|
121
121
|
}),
|
|
122
122
|
annotations: {
|
|
123
|
+
title: "Delete Notes",
|
|
123
124
|
readOnlyHint: false,
|
|
124
125
|
destructiveHint: true,
|
|
125
|
-
idempotentHint:
|
|
126
|
+
idempotentHint: true,
|
|
126
127
|
},
|
|
127
128
|
}),
|
|
128
129
|
__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/delete-notes.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAMtD,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;
|
|
1
|
+
{"version":3,"file":"delete-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/delete-notes.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 "
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
3
|
export declare class FindNotesTool {
|
|
4
4
|
private readonly ankiClient;
|
|
5
5
|
private readonly logger;
|
|
@@ -49,6 +49,7 @@ export declare class FindNotesTool {
|
|
|
49
49
|
type: "resource_link";
|
|
50
50
|
description?: string | undefined;
|
|
51
51
|
mimeType?: string | undefined;
|
|
52
|
+
size?: number | undefined;
|
|
52
53
|
annotations?: {
|
|
53
54
|
audience?: ("user" | "assistant")[] | undefined;
|
|
54
55
|
priority?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/find-notes.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAMtD,IAAM,aAAa,qBAAnB,MAAM,aAAa;IAGK;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAEzD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"find-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/find-notes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { AnkiConnectClient } from "
|
|
4
|
-
import { SimplifiedCard } from "
|
|
3
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
4
|
+
import { SimplifiedCard } from "../../../types/anki.types";
|
|
5
5
|
declare const CardStateEnum: z.ZodEnum<{
|
|
6
6
|
new: "new";
|
|
7
7
|
learning: "learning";
|
|
@@ -61,6 +61,7 @@ export declare class GetCardsTool {
|
|
|
61
61
|
type: "resource_link";
|
|
62
62
|
description?: string | undefined;
|
|
63
63
|
mimeType?: string | undefined;
|
|
64
|
+
size?: number | undefined;
|
|
64
65
|
annotations?: {
|
|
65
66
|
audience?: ("user" | "assistant")[] | undefined;
|
|
66
67
|
priority?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-cards.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-cards.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AAEtE,0DAGgC;AAKhC,MAAM,aAAa,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAMhF,MAAM,oBAAoB,GAA8B;IACtD,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,WAAW;CACpB,CAAC;AAMK,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGM;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAExD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"get-cards.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-cards.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
3
|
-
import { SimplifiedCard } from "
|
|
2
|
+
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
|
+
import { SimplifiedCard } from "../../../types/anki.types";
|
|
4
4
|
export declare class GetDueCardsTool {
|
|
5
5
|
private readonly ankiClient;
|
|
6
6
|
private readonly logger;
|
|
@@ -53,6 +53,7 @@ export declare class GetDueCardsTool {
|
|
|
53
53
|
type: "resource_link";
|
|
54
54
|
description?: string | undefined;
|
|
55
55
|
mimeType?: string | undefined;
|
|
56
|
+
size?: number | undefined;
|
|
56
57
|
annotations?: {
|
|
57
58
|
audience?: ("user" | "assistant")[] | undefined;
|
|
58
59
|
priority?: number | undefined;
|