@ankimcp/anki-mcp-server 0.17.0 → 0.18.3
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/dist/mcp/primitives/essential/prompts/review-session.prompt.js +1 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +13 -4
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +89 -29
- 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 +2 -8
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js +1 -0
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +28 -7
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.d.ts +6 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.js +30 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.d.ts +1 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.js +28 -2
- package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +1 -8
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.js +20 -7
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +25 -2
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +9 -0
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +1 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +3 -3
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
- package/dist/mcp/types/anki.types.d.ts +8 -0
- package/dist/mcp/types/anki.types.js.map +1 -1
- package/dist/mcp/utils/deck-hierarchy.utils.d.ts +3 -0
- package/dist/mcp/utils/deck-hierarchy.utils.js +21 -0
- package/dist/mcp/utils/deck-hierarchy.utils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@ let ReviewSessionPrompt = class ReviewSessionPrompt {
|
|
|
34
34
|
1. **Sync First**: Use sync tool to get latest data from AnkiWeb
|
|
35
35
|
2. **Ask About Deck Selection**:
|
|
36
36
|
- Ask the user: "Which deck would you like to review? You can choose a specific deck or review cards from all decks."
|
|
37
|
-
- Use
|
|
37
|
+
- Use listDecks to show available options if needed
|
|
38
38
|
- If user chooses "all" or wants to review everything, use get_due_cards without deck_name parameter
|
|
39
39
|
- If user specifies a deck, use get_due_cards with the deck_name parameter
|
|
40
40
|
3. **Present the Question**: Show the front of the card clearly
|
|
@@ -85,13 +85,14 @@ let AddNoteTool = AddNoteTool_1 = class AddNoteTool {
|
|
|
85
85
|
modelName,
|
|
86
86
|
hint: allowDuplicate
|
|
87
87
|
? "The note could not be created. Check if the model and deck names are correct."
|
|
88
|
-
: "
|
|
88
|
+
: "This note duplicates an existing one. Retry with `allowDuplicate: true` if intentional.",
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
92
92
|
this.logger.log(`Successfully created note with ID: ${noteId}`);
|
|
93
93
|
const fieldCount = Object.keys(fields).length;
|
|
94
94
|
const tagCount = tags ? tags.length : 0;
|
|
95
|
+
const effectiveScope = allowDuplicate ? "none" : duplicateScope || "default";
|
|
95
96
|
return {
|
|
96
97
|
success: true,
|
|
97
98
|
noteId: noteId,
|
|
@@ -101,13 +102,21 @@ let AddNoteTool = AddNoteTool_1 = class AddNoteTool {
|
|
|
101
102
|
details: {
|
|
102
103
|
fieldsAdded: fieldCount,
|
|
103
104
|
tagsAdded: tagCount,
|
|
104
|
-
duplicateCheckScope:
|
|
105
|
+
duplicateCheckScope: effectiveScope,
|
|
105
106
|
},
|
|
106
107
|
};
|
|
107
108
|
}
|
|
108
109
|
catch (error) {
|
|
109
110
|
this.logger.error("Failed to add note", error);
|
|
110
111
|
if (error instanceof Error) {
|
|
112
|
+
const lowerMessage = error.message.toLowerCase();
|
|
113
|
+
if (lowerMessage.includes("duplicate")) {
|
|
114
|
+
return (0, anki_utils_1.createErrorResponse)(error, {
|
|
115
|
+
deckName,
|
|
116
|
+
modelName,
|
|
117
|
+
hint: "This note duplicates an existing one. Retry with `allowDuplicate: true` if intentional.",
|
|
118
|
+
});
|
|
119
|
+
}
|
|
111
120
|
if (error.message.includes("model")) {
|
|
112
121
|
return (0, anki_utils_1.createErrorResponse)(error, {
|
|
113
122
|
deckName,
|
|
@@ -119,7 +128,7 @@ let AddNoteTool = AddNoteTool_1 = class AddNoteTool {
|
|
|
119
128
|
return (0, anki_utils_1.createErrorResponse)(error, {
|
|
120
129
|
deckName,
|
|
121
130
|
modelName,
|
|
122
|
-
hint: "Deck not found. Use
|
|
131
|
+
hint: "Deck not found. Use listDecks tool to see available decks or createDeck to create a new one.",
|
|
123
132
|
});
|
|
124
133
|
}
|
|
125
134
|
if (error.message.includes("field")) {
|
|
@@ -195,7 +204,7 @@ __decorate([
|
|
|
195
204
|
details: zod_1.z.object({
|
|
196
205
|
fieldsAdded: zod_1.z.number(),
|
|
197
206
|
tagsAdded: zod_1.z.number(),
|
|
198
|
-
duplicateCheckScope: zod_1.z.
|
|
207
|
+
duplicateCheckScope: zod_1.z.enum(["deck", "collection", "default", "none"]),
|
|
199
208
|
}),
|
|
200
209
|
}),
|
|
201
210
|
annotations: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -159,7 +159,7 @@ exports.AddNotesTool = AddNotesTool;
|
|
|
159
159
|
__decorate([
|
|
160
160
|
(0, mcp_nest_1.Tool)({
|
|
161
161
|
name: "addNotes",
|
|
162
|
-
description: "Add multiple notes to Anki in a single batch. Up to 100 notes sharing the same deck and model.
|
|
162
|
+
description: "Add multiple notes to Anki in a single batch. Up to 100 notes sharing the same deck and model. Duplicates are skipped individually; validation errors (empty required fields, bad tags) reject the batch. IMPORTANT: Only create notes that were explicitly requested by the user.",
|
|
163
163
|
parameters: zod_1.z.object({
|
|
164
164
|
deckName: zod_1.z.string().min(1).describe("The deck to add all notes to"),
|
|
165
165
|
modelName: zod_1.z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-notes.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"add-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-notes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ const mcp_nest_1 = require("@rekog/mcp-nest");
|
|
|
16
16
|
const zod_1 = require("zod");
|
|
17
17
|
const anki_connect_client_1 = require("../../../../clients/anki-connect.client");
|
|
18
18
|
const anki_utils_1 = require("../../../../utils/anki.utils");
|
|
19
|
+
const deck_hierarchy_utils_1 = require("../../../../utils/deck-hierarchy.utils");
|
|
19
20
|
const stats_utils_1 = require("../../../../utils/stats.utils");
|
|
20
21
|
let CollectionStatsTool = CollectionStatsTool_1 = class CollectionStatsTool {
|
|
21
22
|
ankiClient;
|
|
@@ -28,9 +29,10 @@ let CollectionStatsTool = CollectionStatsTool_1 = class CollectionStatsTool {
|
|
|
28
29
|
const { ease_buckets = [2.0, 2.5, 3.0], interval_buckets = [7, 21, 90] } = params;
|
|
29
30
|
this.logger.log("Getting collection-wide statistics");
|
|
30
31
|
await context.reportProgress({ progress: 10, total: 100 });
|
|
31
|
-
this.logger.log("Fetching deck names...");
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
this.logger.log("Fetching deck names and IDs...");
|
|
33
|
+
const deckNamesAndIds = await this.ankiClient.invoke("deckNamesAndIds", {});
|
|
34
|
+
const deckNames = deckNamesAndIds ? Object.keys(deckNamesAndIds) : [];
|
|
35
|
+
if (deckNames.length === 0) {
|
|
34
36
|
this.logger.log("No decks found in collection");
|
|
35
37
|
const result = {
|
|
36
38
|
total_decks: 0,
|
|
@@ -39,6 +41,7 @@ let CollectionStatsTool = CollectionStatsTool_1 = class CollectionStatsTool {
|
|
|
39
41
|
new: 0,
|
|
40
42
|
learning: 0,
|
|
41
43
|
review: 0,
|
|
44
|
+
other: 0,
|
|
42
45
|
},
|
|
43
46
|
ease: (0, stats_utils_1.computeDistribution)([], { boundaries: ease_buckets }),
|
|
44
47
|
intervals: (0, stats_utils_1.computeDistribution)([], {
|
|
@@ -59,31 +62,60 @@ let CollectionStatsTool = CollectionStatsTool_1 = class CollectionStatsTool {
|
|
|
59
62
|
if (!deckStatsResponse || typeof deckStatsResponse !== "object") {
|
|
60
63
|
throw new Error("Invalid getDeckStats response");
|
|
61
64
|
}
|
|
65
|
+
const perDeckOwnTotal = new Map();
|
|
66
|
+
const perDeckStats = new Map();
|
|
67
|
+
const missingDecks = [];
|
|
68
|
+
for (const deckName of deckNames) {
|
|
69
|
+
const deckId = deckNamesAndIds[deckName];
|
|
70
|
+
const deckStats = deckId != null ? deckStatsResponse[String(deckId)] : undefined;
|
|
71
|
+
if (!deckStats) {
|
|
72
|
+
missingDecks.push(deckName);
|
|
73
|
+
perDeckOwnTotal.set(deckName, 0);
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
perDeckOwnTotal.set(deckName, deckStats.total_in_deck ?? 0);
|
|
77
|
+
perDeckStats.set(deckName, deckStats);
|
|
78
|
+
}
|
|
62
79
|
const per_deck = [];
|
|
80
|
+
for (const deckName of deckNames) {
|
|
81
|
+
const stats = perDeckStats.get(deckName);
|
|
82
|
+
const newCount = stats?.new_count ?? 0;
|
|
83
|
+
const learning = stats?.learn_count ?? 0;
|
|
84
|
+
const review = stats?.review_count ?? 0;
|
|
85
|
+
const total = (0, deck_hierarchy_utils_1.rollupDeckTotal)(deckName, perDeckOwnTotal);
|
|
86
|
+
const other = Math.max(0, total - newCount - learning - review);
|
|
87
|
+
per_deck.push({
|
|
88
|
+
deck: deckName,
|
|
89
|
+
total,
|
|
90
|
+
new: newCount,
|
|
91
|
+
learning,
|
|
92
|
+
review,
|
|
93
|
+
other,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
if (missingDecks.length > 0) {
|
|
97
|
+
this.logger.warn(`getDeckStats did not return stats for ${missingDecks.length} deck(s): ` +
|
|
98
|
+
`${missingDecks.join(", ")}. Filled with zeros.`);
|
|
99
|
+
}
|
|
100
|
+
const rootDeckNames = new Set((0, deck_hierarchy_utils_1.getRootDeckNames)(deckNames));
|
|
63
101
|
const counts = {
|
|
64
102
|
total: 0,
|
|
65
103
|
new: 0,
|
|
66
104
|
learning: 0,
|
|
67
105
|
review: 0,
|
|
106
|
+
other: 0,
|
|
68
107
|
};
|
|
69
|
-
for (const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
per_deck.push({
|
|
78
|
-
deck: deckName,
|
|
79
|
-
...deckCounts,
|
|
80
|
-
});
|
|
81
|
-
counts.total += deckCounts.total;
|
|
82
|
-
counts.new += deckCounts.new;
|
|
83
|
-
counts.learning += deckCounts.learning;
|
|
84
|
-
counts.review += deckCounts.review;
|
|
108
|
+
for (const entry of per_deck) {
|
|
109
|
+
if (!rootDeckNames.has(entry.deck))
|
|
110
|
+
continue;
|
|
111
|
+
counts.total += entry.total;
|
|
112
|
+
counts.new += entry.new;
|
|
113
|
+
counts.learning += entry.learning;
|
|
114
|
+
counts.review += entry.review;
|
|
115
|
+
counts.other += entry.other;
|
|
85
116
|
}
|
|
86
|
-
this.logger.log(`Aggregated counts: ${counts.total} total cards across ${
|
|
117
|
+
this.logger.log(`Aggregated counts: ${counts.total} total cards across ${rootDeckNames.size} root deck(s) ` +
|
|
118
|
+
`(${deckNames.length} total decks including children)`);
|
|
87
119
|
await context.reportProgress({ progress: 40, total: 100 });
|
|
88
120
|
if (counts.total === 0) {
|
|
89
121
|
this.logger.log("Collection is empty (no cards)");
|
|
@@ -177,7 +209,9 @@ __decorate([
|
|
|
177
209
|
(0, mcp_nest_1.Tool)({
|
|
178
210
|
name: "collection_stats",
|
|
179
211
|
description: "Get aggregated statistics across all decks in the collection including card counts, ease factor distribution, and interval distribution. " +
|
|
180
|
-
"
|
|
212
|
+
"Per-deck counts are rolled up over descendants (a parent deck includes its children), matching Anki's deck browser. " +
|
|
213
|
+
"Collection-level `counts` sum the ROOT decks only to avoid double-counting children. " +
|
|
214
|
+
"Invariant: for every deck and for the collection, total === new + learning + review + other. " +
|
|
181
215
|
"Use this to analyze overall collection health and compare deck statistics. " +
|
|
182
216
|
"Ease buckets and interval buckets can be customized to focus on specific ranges.",
|
|
183
217
|
parameters: zod_1.z.object({
|
|
@@ -204,12 +238,32 @@ __decorate([
|
|
|
204
238
|
}),
|
|
205
239
|
outputSchema: zod_1.z.object({
|
|
206
240
|
total_decks: zod_1.z.number(),
|
|
207
|
-
counts: zod_1.z
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
241
|
+
counts: zod_1.z
|
|
242
|
+
.object({
|
|
243
|
+
total: zod_1.z
|
|
244
|
+
.number()
|
|
245
|
+
.describe("Total cards in the collection. Computed as the sum of " +
|
|
246
|
+
"ROOT-deck rolled-up totals (decks without `::` in the name), " +
|
|
247
|
+
"which prevents double-counting children. Invariant: " +
|
|
248
|
+
"total === new + learning + review + other."),
|
|
249
|
+
new: zod_1.z
|
|
250
|
+
.number()
|
|
251
|
+
.describe("New cards (never studied), summed over root decks' rolled-up counts."),
|
|
252
|
+
learning: zod_1.z
|
|
253
|
+
.number()
|
|
254
|
+
.describe("Learning/relearning cards, summed over root decks' rolled-up counts."),
|
|
255
|
+
review: zod_1.z
|
|
256
|
+
.number()
|
|
257
|
+
.describe("Review cards (mature), summed over root decks' rolled-up counts."),
|
|
258
|
+
other: zod_1.z
|
|
259
|
+
.number()
|
|
260
|
+
.describe("Cards not in new/learning/review (typically suspended or buried), " +
|
|
261
|
+
"summed over root decks' rolled-up counts. " +
|
|
262
|
+
"Computed as total - new - learning - review."),
|
|
263
|
+
})
|
|
264
|
+
.describe("Aggregated card counts across the collection. Summed over ROOT " +
|
|
265
|
+
"decks only (names without `::`) so that a parent's rollup is not " +
|
|
266
|
+
"added on top of its children."),
|
|
213
267
|
ease: zod_1.z.object({
|
|
214
268
|
mean: zod_1.z.number(),
|
|
215
269
|
median: zod_1.z.number(),
|
|
@@ -226,13 +280,19 @@ __decorate([
|
|
|
226
280
|
count: zod_1.z.number(),
|
|
227
281
|
buckets: zod_1.z.record(zod_1.z.string(), zod_1.z.number()),
|
|
228
282
|
}),
|
|
229
|
-
per_deck: zod_1.z
|
|
283
|
+
per_deck: zod_1.z
|
|
284
|
+
.array(zod_1.z.object({
|
|
230
285
|
deck: zod_1.z.string(),
|
|
231
286
|
total: zod_1.z.number(),
|
|
232
287
|
new: zod_1.z.number(),
|
|
233
288
|
learning: zod_1.z.number(),
|
|
234
289
|
review: zod_1.z.number(),
|
|
235
|
-
|
|
290
|
+
other: zod_1.z.number(),
|
|
291
|
+
}))
|
|
292
|
+
.describe("Per-deck breakdown with one entry per deck. Each entry's counts " +
|
|
293
|
+
'are rolled up over that deck\'s descendants (entry for "German" ' +
|
|
294
|
+
'includes cards from "German::Verbs"). Invariant per row: ' +
|
|
295
|
+
"total === new + learning + review + other."),
|
|
236
296
|
}),
|
|
237
297
|
annotations: {
|
|
238
298
|
title: "Collection Statistics",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-stats.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collection-stats.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,20 +3,13 @@ export interface CollectionStatsParams {
|
|
|
3
3
|
ease_buckets?: number[];
|
|
4
4
|
interval_buckets?: number[];
|
|
5
5
|
}
|
|
6
|
-
export interface AnkiDeckStatsResponse {
|
|
7
|
-
deck_id: number;
|
|
8
|
-
name: string;
|
|
9
|
-
new_count: number;
|
|
10
|
-
learn_count: number;
|
|
11
|
-
review_count: number;
|
|
12
|
-
total_in_deck: number;
|
|
13
|
-
}
|
|
14
6
|
export interface PerDeckStats {
|
|
15
7
|
deck: string;
|
|
16
8
|
total: number;
|
|
17
9
|
new: number;
|
|
18
10
|
learning: number;
|
|
19
11
|
review: number;
|
|
12
|
+
other: number;
|
|
20
13
|
}
|
|
21
14
|
export interface CollectionStatsResult {
|
|
22
15
|
total_decks: number;
|
|
@@ -25,6 +18,7 @@ export interface CollectionStatsResult {
|
|
|
25
18
|
new: number;
|
|
26
19
|
learning: number;
|
|
27
20
|
review: number;
|
|
21
|
+
other: number;
|
|
28
22
|
};
|
|
29
23
|
ease: DistributionMetrics;
|
|
30
24
|
intervals: DistributionMetrics;
|
|
@@ -1 +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;
|
|
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;IA+BxD,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;AAtDY,wCAAc;AAkCnB;IA7BL,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;YAChC,aAAa,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SACtC,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;SACrB;KACF,CAAC;;;;6CAoBD;yBArDU,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,cAAc,CAsD1B"}
|
|
@@ -50,7 +50,9 @@ exports.DeckStatsTool = DeckStatsTool;
|
|
|
50
50
|
__decorate([
|
|
51
51
|
(0, mcp_nest_1.Tool)({
|
|
52
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.'
|
|
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
|
+
"Counts are rolled up over descendant decks (parent decks include their children), matching Anki's deck browser. " +
|
|
55
|
+
"Invariant: total === new + learning + review + other.",
|
|
54
56
|
parameters: zod_1.z.object({
|
|
55
57
|
deck: zod_1.z.string().describe('Deck name (e.g., "Japanese::JLPT N5")'),
|
|
56
58
|
easeBuckets: zod_1.z
|
|
@@ -67,12 +69,31 @@ __decorate([
|
|
|
67
69
|
outputSchema: zod_1.z.object({
|
|
68
70
|
success: zod_1.z.boolean(),
|
|
69
71
|
deck: zod_1.z.string(),
|
|
70
|
-
counts: zod_1.z
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
counts: zod_1.z
|
|
73
|
+
.object({
|
|
74
|
+
total: zod_1.z
|
|
75
|
+
.number()
|
|
76
|
+
.describe("Total cards in this deck AND all of its descendants. " +
|
|
77
|
+
'Example: stats for "German" include cards in "German::Verbs" ' +
|
|
78
|
+
'and "German::Verbs::Irregular". Invariant: ' +
|
|
79
|
+
"total === new + learning + review + other."),
|
|
80
|
+
new: zod_1.z
|
|
81
|
+
.number()
|
|
82
|
+
.describe("New cards (never studied), rolled up over descendant decks."),
|
|
83
|
+
learning: zod_1.z
|
|
84
|
+
.number()
|
|
85
|
+
.describe("Learning/relearning cards, rolled up over descendant decks."),
|
|
86
|
+
review: zod_1.z
|
|
87
|
+
.number()
|
|
88
|
+
.describe("Review cards (mature), rolled up over descendant decks."),
|
|
89
|
+
other: zod_1.z
|
|
90
|
+
.number()
|
|
91
|
+
.describe("Cards not in new/learning/review (typically suspended or buried), " +
|
|
92
|
+
"rolled up over descendant decks. " +
|
|
93
|
+
"Computed as total - new - learning - review."),
|
|
94
|
+
})
|
|
95
|
+
.describe("Card counts rolled up over the deck and all of its descendants. " +
|
|
96
|
+
"Matches Anki's deck browser behaviour for parent decks."),
|
|
76
97
|
ease: zod_1.z.object({
|
|
77
98
|
mean: zod_1.z.number(),
|
|
78
99
|
median: zod_1.z.number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deck-stats.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/deck-stats.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAC7D,6EAAmE;AAG5D,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":"deck-stats.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/deck-stats.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,10 @@ export interface ChangeDeckResult {
|
|
|
9
9
|
cardsAffected: number;
|
|
10
10
|
targetDeck: string;
|
|
11
11
|
}
|
|
12
|
+
export declare class InvalidCardIdsError extends Error {
|
|
13
|
+
readonly invalidIds: number[];
|
|
14
|
+
readonly totalRequested: number;
|
|
15
|
+
constructor(invalidIds: number[], totalRequested: number);
|
|
16
|
+
private static buildMessage;
|
|
17
|
+
}
|
|
12
18
|
export declare function changeDeck(params: ChangeDeckParams, client: AnkiConnectClient): Promise<ChangeDeckResult>;
|
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InvalidCardIdsError = void 0;
|
|
3
4
|
exports.changeDeck = changeDeck;
|
|
5
|
+
class InvalidCardIdsError extends Error {
|
|
6
|
+
invalidIds;
|
|
7
|
+
totalRequested;
|
|
8
|
+
constructor(invalidIds, totalRequested) {
|
|
9
|
+
super(InvalidCardIdsError.buildMessage(invalidIds, totalRequested));
|
|
10
|
+
this.invalidIds = invalidIds;
|
|
11
|
+
this.totalRequested = totalRequested;
|
|
12
|
+
this.name = "InvalidCardIdsError";
|
|
13
|
+
}
|
|
14
|
+
static buildMessage(ids, total) {
|
|
15
|
+
const MAX_SHOWN = 10;
|
|
16
|
+
const shown = ids.slice(0, MAX_SHOWN).join(", ");
|
|
17
|
+
const suffix = ids.length > MAX_SHOWN ? ` (and ${ids.length - MAX_SHOWN} more)` : "";
|
|
18
|
+
return (`${ids.length} of ${total} card ID(s) do not exist in the Anki ` +
|
|
19
|
+
`collection: [${shown}]${suffix}. No cards were moved.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.InvalidCardIdsError = InvalidCardIdsError;
|
|
4
23
|
async function changeDeck(params, client) {
|
|
5
24
|
const { cards, deck } = params;
|
|
6
25
|
if (!cards || cards.length === 0) {
|
|
@@ -10,6 +29,17 @@ async function changeDeck(params, client) {
|
|
|
10
29
|
throw new Error("deck name cannot be empty");
|
|
11
30
|
}
|
|
12
31
|
const trimmedDeck = deck.trim();
|
|
32
|
+
const cardsInfo = await client.invoke("cardsInfo", { cards });
|
|
33
|
+
const invalidIds = [];
|
|
34
|
+
cards.forEach((id, index) => {
|
|
35
|
+
const info = cardsInfo?.[index];
|
|
36
|
+
if (!info || typeof info.cardId !== "number") {
|
|
37
|
+
invalidIds.push(id);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
if (invalidIds.length > 0) {
|
|
41
|
+
throw new InvalidCardIdsError(invalidIds, cards.length);
|
|
42
|
+
}
|
|
13
43
|
await client.invoke("changeDeck", {
|
|
14
44
|
cards,
|
|
15
45
|
deck: trimmedDeck,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changeDeck.action.js","sourceRoot":"","sources":["../../../../../../../src/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"changeDeck.action.js","sourceRoot":"","sources":["../../../../../../../src/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.ts"],"names":[],"mappings":";;;AAiEA,gCAiDC;AAvFD,MAAa,mBAAoB,SAAQ,KAAK;IAE1B;IACA;IAFlB,YACkB,UAAoB,EACpB,cAAsB;QAEtC,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;QAHpD,eAAU,GAAV,UAAU,CAAU;QACpB,mBAAc,GAAd,cAAc,CAAQ;QAGtC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,GAAa,EAAE,KAAa;QAGtD,MAAM,SAAS,GAAG,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,SAAS,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO,CACL,GAAG,GAAG,CAAC,MAAM,OAAO,KAAK,uCAAuC;YAChE,gBAAgB,KAAK,IAAI,MAAM,wBAAwB,CACxD,CAAC;IACJ,CAAC;CACF;AArBD,kDAqBC;AAiBM,KAAK,UAAU,UAAU,CAC9B,MAAwB,EACxB,MAAyB;IAEzB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAG/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAGD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAIhC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CACnC,WAAW,EACX,EAAE,KAAK,EAAE,CACV,CAAC;IAEF,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAGD,MAAM,MAAM,CAAC,MAAM,CAAO,YAAY,EAAE;QACtC,KAAK;QACL,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,sBAAsB,KAAK,CAAC,MAAM,qBAAqB,WAAW,GAAG;QAC9E,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC"}
|
|
@@ -10,6 +10,16 @@ async function createDeck(params, client) {
|
|
|
10
10
|
if (parts.some((part) => part.trim() === "")) {
|
|
11
11
|
throw new Error("Deck name parts cannot be empty");
|
|
12
12
|
}
|
|
13
|
+
let parentExisted;
|
|
14
|
+
if (parts.length === 2) {
|
|
15
|
+
try {
|
|
16
|
+
const existingDecks = await client.invoke("deckNames");
|
|
17
|
+
parentExisted = existingDecks.includes(parts[0]);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
parentExisted = undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
13
23
|
const deckId = await client.invoke("createDeck", {
|
|
14
24
|
deck: deckName,
|
|
15
25
|
});
|
|
@@ -17,13 +27,21 @@ async function createDeck(params, client) {
|
|
|
17
27
|
const existingDecks = await client.invoke("deckNames");
|
|
18
28
|
const deckExists = existingDecks.includes(deckName);
|
|
19
29
|
if (deckExists) {
|
|
20
|
-
|
|
30
|
+
const result = {
|
|
21
31
|
success: true,
|
|
22
32
|
message: `Deck "${deckName}" already exists`,
|
|
23
33
|
deckName: deckName,
|
|
24
34
|
created: false,
|
|
25
35
|
exists: true,
|
|
26
36
|
};
|
|
37
|
+
if (parts.length === 2) {
|
|
38
|
+
result.parentDeck = parts[0];
|
|
39
|
+
result.childDeck = parts[1];
|
|
40
|
+
if (parentExisted !== undefined) {
|
|
41
|
+
result.parentExisted = parentExisted;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
27
45
|
}
|
|
28
46
|
throw new Error("Failed to create deck - unknown error");
|
|
29
47
|
}
|
|
@@ -37,7 +55,15 @@ async function createDeck(params, client) {
|
|
|
37
55
|
if (parts.length === 2) {
|
|
38
56
|
result.parentDeck = parts[0];
|
|
39
57
|
result.childDeck = parts[1];
|
|
40
|
-
|
|
58
|
+
if (parentExisted !== undefined) {
|
|
59
|
+
result.parentExisted = parentExisted;
|
|
60
|
+
result.message = parentExisted
|
|
61
|
+
? `Found existing parent deck "${parts[0]}"; created child deck "${parts[1]}"`
|
|
62
|
+
: `Created parent deck "${parts[0]}" and child deck "${parts[1]}"`;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
result.message = `Created child deck "${parts[1]}" under parent "${parts[0]}"`;
|
|
66
|
+
}
|
|
41
67
|
}
|
|
42
68
|
return result;
|
|
43
69
|
}
|