@ankimcp/anki-mcp-server 0.18.5 → 0.19.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/README.md +204 -139
- package/bin/ankimcp.js +10 -1
- package/dist/app-config.service.d.ts +20 -0
- package/dist/app-config.service.js +73 -0
- package/dist/app-config.service.js.map +1 -0
- package/dist/app.module.d.ts +4 -2
- package/dist/app.module.js +99 -11
- package/dist/app.module.js.map +1 -1
- package/dist/bootstrap.d.ts +6 -1
- package/dist/bootstrap.js +7 -2
- package/dist/bootstrap.js.map +1 -1
- package/dist/cli/__tests__/cli-output.manual.d.ts +2 -0
- package/dist/cli/__tests__/cli-output.manual.js +14 -0
- package/dist/cli/__tests__/cli-output.manual.js.map +1 -0
- package/dist/cli/args.d.ts +16 -0
- package/dist/{cli.js → cli/args.js} +42 -9
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/cli-output.d.ts +17 -0
- package/dist/cli/cli-output.js +60 -0
- package/dist/cli/cli-output.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +20 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/spinner.d.ts +1 -0
- package/dist/cli/spinner.js +16 -0
- package/dist/cli/spinner.js.map +1 -0
- package/dist/config/config.factory.d.ts +13 -0
- package/dist/config/config.factory.js +32 -0
- package/dist/config/config.factory.js.map +1 -0
- package/dist/config/config.schema.d.ts +31 -0
- package/dist/config/config.schema.js +54 -0
- package/dist/config/config.schema.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/http/guards/origin-validation.guard.d.ts +1 -0
- package/dist/http/guards/origin-validation.guard.js +5 -3
- package/dist/http/guards/origin-validation.guard.js.map +1 -1
- package/dist/main-http.js +23 -11
- package/dist/main-http.js.map +1 -1
- package/dist/main-stdio.js +10 -9
- package/dist/main-stdio.js.map +1 -1
- package/dist/main-tunnel.d.ts +1 -0
- package/dist/main-tunnel.js +27 -0
- package/dist/main-tunnel.js.map +1 -0
- package/dist/mcp/clients/anki-connect.client.js +3 -3
- package/dist/mcp/clients/anki-connect.client.js.map +1 -1
- package/dist/mcp/primitives/essential/index.d.ts +1 -0
- package/dist/mcp/primitives/essential/index.js +8 -1
- package/dist/mcp/primitives/essential/index.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +2 -3
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +2 -9
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js +2 -23
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-tags.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/change-deck.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +2 -12
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/create-model.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +3 -7
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -3
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js +2 -6
- 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 +1 -2
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +2 -6
- 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 +1 -2
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +2 -7
- 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 +1 -2
- package/dist/mcp/primitives/essential/tools/model-names.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js +2 -6
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +2 -3
- package/dist/mcp/primitives/essential/tools/present-card.tool.js +2 -5
- package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +2 -5
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +2 -8
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +1 -2
- package/dist/mcp/primitives/essential/tools/sync.tool.js +2 -4
- package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +2 -3
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +2 -6
- 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 +1 -2
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +2 -5
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/index.d.ts +1 -0
- package/dist/mcp/primitives/gui/index.js +8 -1
- package/dist/mcp/primitives/gui/index.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +1 -2
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +2 -5
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +2 -4
- 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 +1 -2
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +2 -4
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
- package/dist/services/ngrok.service.d.ts +1 -0
- package/dist/services/ngrok.service.js +5 -3
- package/dist/services/ngrok.service.js.map +1 -1
- package/dist/test-fixtures/mock-data.d.ts +8 -0
- package/dist/test-fixtures/mock-data.js +8 -0
- package/dist/test-fixtures/mock-data.js.map +1 -1
- package/dist/tunnel/commands/index.d.ts +3 -0
- package/dist/tunnel/commands/index.js +10 -0
- package/dist/tunnel/commands/index.js.map +1 -0
- package/dist/tunnel/commands/login.command.d.ts +2 -0
- package/dist/tunnel/commands/login.command.js +29 -0
- package/dist/tunnel/commands/login.command.js.map +1 -0
- package/dist/tunnel/commands/logout.command.d.ts +2 -0
- package/dist/tunnel/commands/logout.command.js +25 -0
- package/dist/tunnel/commands/logout.command.js.map +1 -0
- package/dist/tunnel/commands/perform-login.d.ts +9 -0
- package/dist/tunnel/commands/perform-login.js +72 -0
- package/dist/tunnel/commands/perform-login.js.map +1 -0
- package/dist/tunnel/commands/tunnel.command.d.ts +3 -0
- package/dist/tunnel/commands/tunnel.command.js +225 -0
- package/dist/tunnel/commands/tunnel.command.js.map +1 -0
- package/dist/tunnel/credentials.service.d.ts +23 -0
- package/dist/tunnel/credentials.service.js +152 -0
- package/dist/tunnel/credentials.service.js.map +1 -0
- package/dist/tunnel/device-flow.service.d.ts +46 -0
- package/dist/tunnel/device-flow.service.js +230 -0
- package/dist/tunnel/device-flow.service.js.map +1 -0
- package/dist/tunnel/in-memory.transport.d.ts +14 -0
- package/dist/tunnel/in-memory.transport.js +63 -0
- package/dist/tunnel/in-memory.transport.js.map +1 -0
- package/dist/tunnel/index.d.ts +6 -0
- package/dist/tunnel/index.js +31 -0
- package/dist/tunnel/index.js.map +1 -0
- package/dist/tunnel/tunnel-mcp.service.d.ts +15 -0
- package/dist/tunnel/tunnel-mcp.service.js +100 -0
- package/dist/tunnel/tunnel-mcp.service.js.map +1 -0
- package/dist/tunnel/tunnel.client.d.ts +60 -0
- package/dist/tunnel/tunnel.client.js +386 -0
- package/dist/tunnel/tunnel.client.js.map +1 -0
- package/dist/tunnel/tunnel.protocol.d.ts +67 -0
- package/dist/tunnel/tunnel.protocol.js +25 -0
- package/dist/tunnel/tunnel.protocol.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/package.json +31 -22
- package/dist/anki-config.service.d.ts +0 -11
- package/dist/anki-config.service.js +0 -46
- package/dist/anki-config.service.js.map +0 -1
- package/dist/cli.d.ts +0 -10
- package/dist/cli.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-styling.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/model-styling.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
1
|
+
{"version":3,"file":"model-styling.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/model-styling.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
import { NoteInfo } from "../../../types/anki.types";
|
|
4
3
|
export declare class NotesInfoTool {
|
|
@@ -7,7 +6,7 @@ export declare class NotesInfoTool {
|
|
|
7
6
|
constructor(ankiClient: AnkiConnectClient);
|
|
8
7
|
notesInfo({ notes }: {
|
|
9
8
|
notes: number[];
|
|
10
|
-
}
|
|
9
|
+
}): Promise<{
|
|
11
10
|
[x: string]: unknown;
|
|
12
11
|
content: ({
|
|
13
12
|
type: "text";
|
|
@@ -22,17 +22,14 @@ let NotesInfoTool = NotesInfoTool_1 = class NotesInfoTool {
|
|
|
22
22
|
constructor(ankiClient) {
|
|
23
23
|
this.ankiClient = ankiClient;
|
|
24
24
|
}
|
|
25
|
-
async notesInfo({ notes }
|
|
25
|
+
async notesInfo({ notes }) {
|
|
26
26
|
try {
|
|
27
27
|
this.logger.log(`Getting information for ${notes.length} note(s)`);
|
|
28
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
29
28
|
const notesData = await this.ankiClient.invoke("notesInfo", {
|
|
30
29
|
notes: notes,
|
|
31
30
|
});
|
|
32
|
-
await context.reportProgress({ progress: 75, total: 100 });
|
|
33
31
|
if (!notesData || notesData.length === 0) {
|
|
34
32
|
this.logger.warn("No note information returned");
|
|
35
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
36
33
|
return (0, anki_utils_1.createErrorResponse)(new Error("No note information found"), {
|
|
37
34
|
requestedNotes: notes,
|
|
38
35
|
hint: "The note IDs may be invalid or the notes may have been deleted",
|
|
@@ -48,7 +45,6 @@ let NotesInfoTool = NotesInfoTool_1 = class NotesInfoTool {
|
|
|
48
45
|
}));
|
|
49
46
|
const validNotes = transformedNotes.filter((note) => note.noteId);
|
|
50
47
|
const deletedCount = notes.length - validNotes.length;
|
|
51
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
52
48
|
const message = deletedCount > 0
|
|
53
49
|
? `Retrieved ${validNotes.length} note(s). ${deletedCount} note(s) not found (possibly deleted).`
|
|
54
50
|
: `Successfully retrieved information for ${validNotes.length} note(s)`;
|
|
@@ -125,7 +121,7 @@ __decorate([
|
|
|
125
121
|
},
|
|
126
122
|
}),
|
|
127
123
|
__metadata("design:type", Function),
|
|
128
|
-
__metadata("design:paramtypes", [Object
|
|
124
|
+
__metadata("design:paramtypes", [Object]),
|
|
129
125
|
__metadata("design:returntype", Promise)
|
|
130
126
|
], NotesInfoTool.prototype, "notesInfo", null);
|
|
131
127
|
exports.NotesInfoTool = NotesInfoTool = NotesInfoTool_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notes-info.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/notes-info.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
1
|
+
{"version":3,"file":"notes-info.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/notes-info.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
import { CardPresentation } from "../../../types/anki.types";
|
|
4
3
|
export declare class PresentCardTool {
|
|
5
4
|
private readonly ankiClient;
|
|
6
5
|
private readonly logger;
|
|
7
6
|
constructor(ankiClient: AnkiConnectClient);
|
|
8
|
-
presentCard({ card_id, show_answer }: {
|
|
7
|
+
presentCard({ card_id, show_answer, }: {
|
|
9
8
|
card_id: number;
|
|
10
9
|
show_answer?: boolean;
|
|
11
|
-
}
|
|
10
|
+
}): Promise<{
|
|
12
11
|
[x: string]: unknown;
|
|
13
12
|
content: ({
|
|
14
13
|
type: "text";
|
|
@@ -22,11 +22,10 @@ let PresentCardTool = PresentCardTool_1 = class PresentCardTool {
|
|
|
22
22
|
constructor(ankiClient) {
|
|
23
23
|
this.ankiClient = ankiClient;
|
|
24
24
|
}
|
|
25
|
-
async presentCard({ card_id, show_answer }
|
|
25
|
+
async presentCard({ card_id, show_answer, }) {
|
|
26
26
|
try {
|
|
27
27
|
const showAnswer = show_answer || false;
|
|
28
28
|
this.logger.log(`Retrieving card ${card_id} for presentation (show_answer: ${showAnswer})`);
|
|
29
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
30
29
|
const cardsInfo = await this.ankiClient.invoke("cardsInfo", {
|
|
31
30
|
cards: [card_id],
|
|
32
31
|
});
|
|
@@ -34,7 +33,6 @@ let PresentCardTool = PresentCardTool_1 = class PresentCardTool {
|
|
|
34
33
|
this.logger.warn(`Card not found: ${card_id}`);
|
|
35
34
|
return (0, anki_utils_1.createErrorResponse)(new Error(`Card with ID ${card_id} not found`), { cardId: card_id });
|
|
36
35
|
}
|
|
37
|
-
await context.reportProgress({ progress: 75, total: 100 });
|
|
38
36
|
const card = cardsInfo[0];
|
|
39
37
|
const { front, back } = (0, anki_utils_1.extractCardContent)(card.fields);
|
|
40
38
|
const cardType = (0, anki_utils_1.getCardType)(card.type);
|
|
@@ -54,7 +52,6 @@ let PresentCardTool = PresentCardTool_1 = class PresentCardTool {
|
|
|
54
52
|
if (showAnswer) {
|
|
55
53
|
presentation.back = back || card.answer || "";
|
|
56
54
|
}
|
|
57
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
58
55
|
this.logger.log(`Retrieved card ${card_id} for presentation`);
|
|
59
56
|
const instruction = !showAnswer
|
|
60
57
|
? "Question shown. Wait for user's answer, then use show_answer=true"
|
|
@@ -109,7 +106,7 @@ __decorate([
|
|
|
109
106
|
},
|
|
110
107
|
}),
|
|
111
108
|
__metadata("design:type", Function),
|
|
112
|
-
__metadata("design:paramtypes", [Object
|
|
109
|
+
__metadata("design:paramtypes", [Object]),
|
|
113
110
|
__metadata("design:returntype", Promise)
|
|
114
111
|
], PresentCardTool.prototype, "presentCard", null);
|
|
115
112
|
exports.PresentCardTool = PresentCardTool = PresentCardTool_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"present-card.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/present-card.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
1
|
+
{"version":3,"file":"present-card.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/present-card.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class RateCardTool {
|
|
4
3
|
private readonly ankiClient;
|
|
@@ -7,7 +6,7 @@ export declare class RateCardTool {
|
|
|
7
6
|
rateCard({ card_id, rating }: {
|
|
8
7
|
card_id: number;
|
|
9
8
|
rating: number;
|
|
10
|
-
}
|
|
9
|
+
}): Promise<{
|
|
11
10
|
[x: string]: unknown;
|
|
12
11
|
content: ({
|
|
13
12
|
type: "text";
|
|
@@ -22,13 +22,12 @@ let RateCardTool = RateCardTool_1 = class RateCardTool {
|
|
|
22
22
|
constructor(ankiClient) {
|
|
23
23
|
this.ankiClient = ankiClient;
|
|
24
24
|
}
|
|
25
|
-
async rateCard({ card_id, rating }
|
|
25
|
+
async rateCard({ card_id, rating }) {
|
|
26
26
|
try {
|
|
27
27
|
if (!Number.isInteger(rating) || rating < 1 || rating > 4) {
|
|
28
28
|
return (0, anki_utils_1.createErrorResponse)(new Error("Invalid rating. Must be 1 (Again), 2 (Hard), 3 (Good), or 4 (Easy)"), { cardId: card_id, attemptedRating: rating });
|
|
29
29
|
}
|
|
30
30
|
this.logger.log(`Rating card ${card_id} with rating ${rating}`);
|
|
31
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
32
31
|
const existingInfo = await this.ankiClient.invoke("cardsInfo", { cards: [card_id] });
|
|
33
32
|
const found = existingInfo?.[0] && typeof existingInfo[0].cardId === "number";
|
|
34
33
|
if (!found) {
|
|
@@ -52,7 +51,6 @@ let RateCardTool = RateCardTool_1 = class RateCardTool {
|
|
|
52
51
|
}
|
|
53
52
|
const ratingDesc = (0, anki_utils_1.getRatingDescription)(rating);
|
|
54
53
|
this.logger.log(`Card ${card_id} rated as ${ratingDesc}`);
|
|
55
|
-
await context.reportProgress({ progress: 75, total: 100 });
|
|
56
54
|
const cardsInfo = await this.ankiClient.invoke("cardsInfo", {
|
|
57
55
|
cards: [card_id],
|
|
58
56
|
});
|
|
@@ -65,7 +63,6 @@ let RateCardTool = RateCardTool_1 = class RateCardTool {
|
|
|
65
63
|
factor: card.factor || 2500,
|
|
66
64
|
};
|
|
67
65
|
}
|
|
68
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
69
66
|
return {
|
|
70
67
|
success: true,
|
|
71
68
|
cardId: card_id,
|
|
@@ -120,7 +117,7 @@ __decorate([
|
|
|
120
117
|
},
|
|
121
118
|
}),
|
|
122
119
|
__metadata("design:type", Function),
|
|
123
|
-
__metadata("design:paramtypes", [Object
|
|
120
|
+
__metadata("design:paramtypes", [Object]),
|
|
124
121
|
__metadata("design:returntype", Promise)
|
|
125
122
|
], RateCardTool.prototype, "rateCard", null);
|
|
126
123
|
exports.RateCardTool = RateCardTool = RateCardTool_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-card.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/rate-card.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
1
|
+
{"version":3,"file":"rate-card.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/rate-card.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class RemoveTagsTool {
|
|
4
3
|
private readonly ankiClient;
|
|
@@ -7,7 +6,7 @@ export declare class RemoveTagsTool {
|
|
|
7
6
|
execute(params: {
|
|
8
7
|
notes: number[];
|
|
9
8
|
tags: string;
|
|
10
|
-
}
|
|
9
|
+
}): Promise<{
|
|
11
10
|
[x: string]: unknown;
|
|
12
11
|
content: ({
|
|
13
12
|
type: "text";
|
|
@@ -23,7 +23,7 @@ let RemoveTagsTool = RemoveTagsTool_1 = class RemoveTagsTool {
|
|
|
23
23
|
constructor(ankiClient) {
|
|
24
24
|
this.ankiClient = ankiClient;
|
|
25
25
|
}
|
|
26
|
-
async execute(params
|
|
26
|
+
async execute(params) {
|
|
27
27
|
try {
|
|
28
28
|
this.logger.log(`Executing removeTags on ${params.notes?.length ?? 0} note(s)`);
|
|
29
29
|
if (!params.notes || params.notes.length === 0) {
|
|
@@ -32,9 +32,7 @@ let RemoveTagsTool = RemoveTagsTool_1 = class RemoveTagsTool {
|
|
|
32
32
|
if (!params.tags) {
|
|
33
33
|
throw new Error("tags string is required for removeTags action");
|
|
34
34
|
}
|
|
35
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
36
35
|
const result = await (0, removeTags_action_1.removeTags)({ notes: params.notes, tags: params.tags }, this.ankiClient);
|
|
37
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
38
36
|
return result;
|
|
39
37
|
}
|
|
40
38
|
catch (error) {
|
|
@@ -75,7 +73,7 @@ __decorate([
|
|
|
75
73
|
},
|
|
76
74
|
}),
|
|
77
75
|
__metadata("design:type", Function),
|
|
78
|
-
__metadata("design:paramtypes", [Object
|
|
76
|
+
__metadata("design:paramtypes", [Object]),
|
|
79
77
|
__metadata("design:returntype", Promise)
|
|
80
78
|
], RemoveTagsTool.prototype, "execute", null);
|
|
81
79
|
exports.RemoveTagsTool = RemoveTagsTool = RemoveTagsTool_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove-tags.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/remove-tags.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
1
|
+
{"version":3,"file":"remove-tags.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/remove-tags.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AACvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,8EAAoE;AAG7D,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;IA6BxD,AAAN,KAAK,CAAC,OAAO,CAAC,MAAyC;QACrD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2BAA2B,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,UAAU,CAC/D,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAU,EAC7B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAC1C,IAAI,CAAC,UAAU,CAChB,CAAC;YAEF,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;AA3DY,wCAAc;AAgCnB;IA3BL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,8FAA8F;QAChG,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,IAAI,EAAE,OAAC;iBACJ,MAAM,EAAE;iBACR,QAAQ,CAAC,oDAAoD,CAAC;SAClE,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,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjC,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;6CA2BD;yBA1DU,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,cAAc,CA2D1B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class ReplaceTagsTool {
|
|
4
3
|
private readonly ankiClient;
|
|
@@ -8,7 +7,7 @@ export declare class ReplaceTagsTool {
|
|
|
8
7
|
notes: number[];
|
|
9
8
|
tagToReplace: string;
|
|
10
9
|
replaceWithTag: string;
|
|
11
|
-
}
|
|
10
|
+
}): Promise<{
|
|
12
11
|
[x: string]: unknown;
|
|
13
12
|
content: ({
|
|
14
13
|
type: "text";
|
|
@@ -23,7 +23,7 @@ let ReplaceTagsTool = ReplaceTagsTool_1 = class ReplaceTagsTool {
|
|
|
23
23
|
constructor(ankiClient) {
|
|
24
24
|
this.ankiClient = ankiClient;
|
|
25
25
|
}
|
|
26
|
-
async execute(params
|
|
26
|
+
async execute(params) {
|
|
27
27
|
try {
|
|
28
28
|
this.logger.log(`Executing replaceTags on ${params.notes?.length ?? 0} note(s)`);
|
|
29
29
|
if (!params.notes || params.notes.length === 0) {
|
|
@@ -35,13 +35,11 @@ let ReplaceTagsTool = ReplaceTagsTool_1 = class ReplaceTagsTool {
|
|
|
35
35
|
if (!params.replaceWithTag) {
|
|
36
36
|
throw new Error("replaceWithTag is required for replaceTags action");
|
|
37
37
|
}
|
|
38
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
39
38
|
const result = await (0, replaceTags_action_1.replaceTags)({
|
|
40
39
|
notes: params.notes,
|
|
41
40
|
tagToReplace: params.tagToReplace,
|
|
42
41
|
replaceWithTag: params.replaceWithTag,
|
|
43
42
|
}, this.ankiClient);
|
|
44
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
45
43
|
return result;
|
|
46
44
|
}
|
|
47
45
|
catch (error) {
|
|
@@ -82,7 +80,7 @@ __decorate([
|
|
|
82
80
|
},
|
|
83
81
|
}),
|
|
84
82
|
__metadata("design:type", Function),
|
|
85
|
-
__metadata("design:paramtypes", [Object
|
|
83
|
+
__metadata("design:paramtypes", [Object]),
|
|
86
84
|
__metadata("design:returntype", Promise)
|
|
87
85
|
], ReplaceTagsTool.prototype, "execute", null);
|
|
88
86
|
exports.ReplaceTagsTool = ReplaceTagsTool = ReplaceTagsTool_1 = __decorate([
|
|
@@ -1 +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;
|
|
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;AACvC,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,CAAC,MAIb;QACC,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,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,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;AAtEY,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;;;;8CAsCD;0BArEU,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,eAAe,CAsE3B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class RetrieveMediaFileTool {
|
|
4
3
|
private readonly ankiClient;
|
|
@@ -6,7 +5,7 @@ export declare class RetrieveMediaFileTool {
|
|
|
6
5
|
constructor(ankiClient: AnkiConnectClient);
|
|
7
6
|
execute(params: {
|
|
8
7
|
filename: string;
|
|
9
|
-
}
|
|
8
|
+
}): Promise<{
|
|
10
9
|
[x: string]: unknown;
|
|
11
10
|
content: ({
|
|
12
11
|
type: "text";
|
|
@@ -23,12 +23,10 @@ let RetrieveMediaFileTool = RetrieveMediaFileTool_1 = class RetrieveMediaFileToo
|
|
|
23
23
|
constructor(ankiClient) {
|
|
24
24
|
this.ankiClient = ankiClient;
|
|
25
25
|
}
|
|
26
|
-
async execute(params
|
|
26
|
+
async execute(params) {
|
|
27
27
|
try {
|
|
28
28
|
this.logger.log(`Executing retrieveMediaFile: ${params.filename}`);
|
|
29
|
-
await context.reportProgress({ progress: 50, total: 100 });
|
|
30
29
|
const result = await (0, retrieveMediaFile_action_1.retrieveMediaFile)({ filename: params.filename }, this.ankiClient);
|
|
31
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
32
30
|
return result;
|
|
33
31
|
}
|
|
34
32
|
catch (error) {
|
|
@@ -65,7 +63,7 @@ __decorate([
|
|
|
65
63
|
},
|
|
66
64
|
}),
|
|
67
65
|
__metadata("design:type", Function),
|
|
68
|
-
__metadata("design:paramtypes", [Object
|
|
66
|
+
__metadata("design:paramtypes", [Object]),
|
|
69
67
|
__metadata("design:returntype", Promise)
|
|
70
68
|
], RetrieveMediaFileTool.prototype, "execute", null);
|
|
71
69
|
exports.RetrieveMediaFileTool = RetrieveMediaFileTool = RetrieveMediaFileTool_1 = __decorate([
|
|
@@ -1 +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;
|
|
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;AACvC,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;QACxC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEnE,MAAM,MAAM,GAAG,MAAM,IAAA,4CAAiB,EACpC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAC7B,IAAI,CAAC,UAAU,CAChB,CAAC;YAEF,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;AAhDY,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;;;;oDAkBD;gCA/CU,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,qBAAqB,CAgDjC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../../clients/anki-connect.client";
|
|
3
2
|
import { ReviewStatsResult } from "./review-stats.types";
|
|
4
3
|
export declare class ReviewStatsTool {
|
|
@@ -9,7 +8,7 @@ export declare class ReviewStatsTool {
|
|
|
9
8
|
deck: string;
|
|
10
9
|
start_date: string;
|
|
11
10
|
end_date?: string;
|
|
12
|
-
}
|
|
11
|
+
}): Promise<{
|
|
13
12
|
[x: string]: unknown;
|
|
14
13
|
content: ({
|
|
15
14
|
type: "text";
|
|
@@ -24,12 +24,11 @@ let ReviewStatsTool = ReviewStatsTool_1 = class ReviewStatsTool {
|
|
|
24
24
|
constructor(ankiClient) {
|
|
25
25
|
this.ankiClient = ankiClient;
|
|
26
26
|
}
|
|
27
|
-
async execute(params
|
|
27
|
+
async execute(params) {
|
|
28
28
|
try {
|
|
29
29
|
const { deck, start_date } = params;
|
|
30
30
|
const end_date = params.end_date || this.getTodayISO();
|
|
31
31
|
this.logger.log(`Getting review statistics from ${start_date} to ${end_date} for deck: ${deck}`);
|
|
32
|
-
await context.reportProgress({ progress: 10, total: 100 });
|
|
33
32
|
const startTimestamp = new Date(start_date).getTime();
|
|
34
33
|
const endTimestamp = new Date(end_date).getTime() + MS_PER_DAY;
|
|
35
34
|
this.logger.log(`Fetching detailed review data for deck: ${deck}...`);
|
|
@@ -37,7 +36,6 @@ let ReviewStatsTool = ReviewStatsTool_1 = class ReviewStatsTool {
|
|
|
37
36
|
startID: startTimestamp,
|
|
38
37
|
deck: deck,
|
|
39
38
|
});
|
|
40
|
-
await context.reportProgress({ progress: 40, total: 100 });
|
|
41
39
|
const filteredReviews = reviews.filter((review) => review[0] <= endTimestamp);
|
|
42
40
|
this.logger.log("Calculating daily review counts from reviews...");
|
|
43
41
|
const reviewsByDayMap = new Map();
|
|
@@ -48,11 +46,9 @@ let ReviewStatsTool = ReviewStatsTool_1 = class ReviewStatsTool {
|
|
|
48
46
|
const reviewsByDay = Array.from(reviewsByDayMap.entries())
|
|
49
47
|
.map(([date, count]) => ({ date, count }))
|
|
50
48
|
.sort((a, b) => a.date.localeCompare(b.date));
|
|
51
|
-
await context.reportProgress({ progress: 60, total: 100 });
|
|
52
49
|
const buttonPresses = filteredReviews.map((review) => review[3]);
|
|
53
50
|
this.logger.log("Computing retention metrics...");
|
|
54
51
|
const retention = (0, stats_utils_1.computeRetention)(buttonPresses);
|
|
55
|
-
await context.reportProgress({ progress: 80, total: 100 });
|
|
56
52
|
this.logger.log("Calculating summary statistics...");
|
|
57
53
|
const totalReviews = reviewsByDay.reduce((sum, r) => sum + r.count, 0);
|
|
58
54
|
const daysStudied = reviewsByDay.filter((r) => r.count > 0).length;
|
|
@@ -65,7 +61,6 @@ let ReviewStatsTool = ReviewStatsTool_1 = class ReviewStatsTool {
|
|
|
65
61
|
? nonZeroDays.reduce((min, r) => (r.count < min.count ? r : min))
|
|
66
62
|
: null;
|
|
67
63
|
const streak = (0, stats_utils_1.calculateStreak)(reviewsByDay);
|
|
68
|
-
await context.reportProgress({ progress: 90, total: 100 });
|
|
69
64
|
const result = {
|
|
70
65
|
period: {
|
|
71
66
|
start: start_date,
|
|
@@ -83,7 +78,6 @@ let ReviewStatsTool = ReviewStatsTool_1 = class ReviewStatsTool {
|
|
|
83
78
|
},
|
|
84
79
|
retention,
|
|
85
80
|
};
|
|
86
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
87
81
|
this.logger.log(`Successfully retrieved review statistics: ${totalReviews} total reviews, ` +
|
|
88
82
|
`${daysStudied} days studied, ${(retention.overall * 100).toFixed(1)}% retention, ` +
|
|
89
83
|
`${streak} day streak`);
|
|
@@ -183,7 +177,7 @@ __decorate([
|
|
|
183
177
|
},
|
|
184
178
|
}),
|
|
185
179
|
__metadata("design:type", Function),
|
|
186
|
-
__metadata("design:paramtypes", [Object
|
|
180
|
+
__metadata("design:paramtypes", [Object]),
|
|
187
181
|
__metadata("design:returntype", Promise)
|
|
188
182
|
], ReviewStatsTool.prototype, "execute", null);
|
|
189
183
|
exports.ReviewStatsTool = ReviewStatsTool = ReviewStatsTool_1 = __decorate([
|
|
@@ -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":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;
|
|
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,3 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class StoreMediaFileTool {
|
|
4
3
|
private readonly ankiClient;
|
|
@@ -10,7 +9,7 @@ export declare class StoreMediaFileTool {
|
|
|
10
9
|
path?: string;
|
|
11
10
|
url?: string;
|
|
12
11
|
deleteExisting?: boolean;
|
|
13
|
-
}
|
|
12
|
+
}): Promise<{
|
|
14
13
|
[x: string]: unknown;
|
|
15
14
|
content: ({
|
|
16
15
|
type: "text";
|
|
@@ -23,10 +23,9 @@ let StoreMediaFileTool = StoreMediaFileTool_1 = class StoreMediaFileTool {
|
|
|
23
23
|
constructor(ankiClient) {
|
|
24
24
|
this.ankiClient = ankiClient;
|
|
25
25
|
}
|
|
26
|
-
async execute(params
|
|
26
|
+
async execute(params) {
|
|
27
27
|
try {
|
|
28
28
|
this.logger.log(`Executing storeMediaFile: ${params.filename}`);
|
|
29
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
30
29
|
const result = await (0, storeMediaFile_action_1.storeMediaFile)({
|
|
31
30
|
filename: params.filename,
|
|
32
31
|
data: params.data,
|
|
@@ -34,7 +33,6 @@ let StoreMediaFileTool = StoreMediaFileTool_1 = class StoreMediaFileTool {
|
|
|
34
33
|
url: params.url,
|
|
35
34
|
deleteExisting: params.deleteExisting,
|
|
36
35
|
}, this.ankiClient);
|
|
37
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
38
36
|
return result;
|
|
39
37
|
}
|
|
40
38
|
catch (error) {
|
|
@@ -82,7 +80,7 @@ __decorate([
|
|
|
82
80
|
},
|
|
83
81
|
}),
|
|
84
82
|
__metadata("design:type", Function),
|
|
85
|
-
__metadata("design:paramtypes", [Object
|
|
83
|
+
__metadata("design:paramtypes", [Object]),
|
|
86
84
|
__metadata("design:returntype", Promise)
|
|
87
85
|
], StoreMediaFileTool.prototype, "execute", null);
|
|
88
86
|
exports.StoreMediaFileTool = StoreMediaFileTool = StoreMediaFileTool_1 = __decorate([
|
|
@@ -1 +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;
|
|
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;AACvC,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,CAAC,MAMb;QACC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEhE,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,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;AAzEY,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;;;;iDA8BD;6BAxEU,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,kBAAkB,CAyE9B"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { Context } from "@rekog/mcp-nest";
|
|
2
1
|
import { AnkiConnectClient } from "../../../clients/anki-connect.client";
|
|
3
2
|
export declare class SyncTool {
|
|
4
3
|
private readonly ankiClient;
|
|
5
4
|
private readonly logger;
|
|
6
5
|
constructor(ankiClient: AnkiConnectClient);
|
|
7
|
-
sync(_args: Record<string, never
|
|
6
|
+
sync(_args: Record<string, never>): Promise<{
|
|
8
7
|
[x: string]: unknown;
|
|
9
8
|
content: ({
|
|
10
9
|
type: "text";
|
|
@@ -22,13 +22,11 @@ let SyncTool = SyncTool_1 = class SyncTool {
|
|
|
22
22
|
constructor(ankiClient) {
|
|
23
23
|
this.ankiClient = ankiClient;
|
|
24
24
|
}
|
|
25
|
-
async sync(_args
|
|
25
|
+
async sync(_args) {
|
|
26
26
|
try {
|
|
27
27
|
this.logger.log("Synchronizing Anki collection with AnkiWeb");
|
|
28
|
-
await context.reportProgress({ progress: 25, total: 100 });
|
|
29
28
|
await this.ankiClient.invoke("sync");
|
|
30
29
|
this.logger.log("Anki sync completed successfully");
|
|
31
|
-
await context.reportProgress({ progress: 100, total: 100 });
|
|
32
30
|
return {
|
|
33
31
|
success: true,
|
|
34
32
|
message: "Successfully synchronized with AnkiWeb",
|
|
@@ -63,7 +61,7 @@ __decorate([
|
|
|
63
61
|
},
|
|
64
62
|
}),
|
|
65
63
|
__metadata("design:type", Function),
|
|
66
|
-
__metadata("design:paramtypes", [Object
|
|
64
|
+
__metadata("design:paramtypes", [Object]),
|
|
67
65
|
__metadata("design:returntype", Promise)
|
|
68
66
|
], SyncTool.prototype, "sync", null);
|
|
69
67
|
exports.SyncTool = SyncTool = SyncTool_1 = __decorate([
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"sync.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/sync.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AACvC,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;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAG9D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAEpD,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;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;;;;oCAsBD;mBA5CU,QAAQ;IADpB,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,QAAQ,CA6CpB"}
|