anki-mcp-http 0.14.0 → 0.15.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/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +11 -0
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +18 -2
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +18 -0
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js +21 -2
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +42 -6
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +10 -0
- package/dist/mcp/primitives/essential/tools/create-model.tool.js +16 -1
- package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +1 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.js +3 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.d.ts +5 -1
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js +73 -3
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +20 -0
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +20 -4
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +7 -0
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js +16 -4
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +13 -0
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js +24 -4
- 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 +13 -0
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +24 -4
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +7 -0
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js +16 -4
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.d.ts +3 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +16 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +8 -0
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +16 -3
- 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 +10 -0
- package/dist/mcp/primitives/essential/tools/model-names.tool.js +24 -4
- package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +13 -0
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js +20 -2
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +11 -0
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js +24 -2
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +5 -0
- package/dist/mcp/primitives/essential/tools/present-card.tool.js +27 -10
- package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +11 -0
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +20 -2
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- 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 +43 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +4 -0
- package/dist/mcp/primitives/essential/tools/sync.tool.js +12 -2
- package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js +15 -2
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +14 -0
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +20 -1
- 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 +10 -0
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +17 -2
- 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 +7 -0
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +14 -2
- 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 +7 -0
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +14 -2
- 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 +13 -0
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +28 -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 +4 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +11 -2
- 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 +5 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +12 -2
- 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 +5 -0
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +12 -2
- 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 +6 -0
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +13 -2
- 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 +6 -0
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +15 -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 +5 -0
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +14 -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 +5 -0
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +14 -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 +5 -0
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +14 -4
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -17
|
@@ -43,14 +43,14 @@ let DeleteNotesTool = DeleteNotesTool_1 = class DeleteNotesTool {
|
|
|
43
43
|
if (validNoteIds.length === 0) {
|
|
44
44
|
this.logger.warn("No valid notes found to delete");
|
|
45
45
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
46
|
-
return
|
|
46
|
+
return {
|
|
47
47
|
success: true,
|
|
48
48
|
deletedCount: 0,
|
|
49
49
|
notFoundCount: notes.length,
|
|
50
50
|
requestedIds: notes,
|
|
51
51
|
message: "No notes were deleted (none of the provided IDs were valid)",
|
|
52
52
|
hint: "The notes may have already been deleted or the IDs are invalid",
|
|
53
|
-
}
|
|
53
|
+
};
|
|
54
54
|
}
|
|
55
55
|
const totalCards = validNotes.reduce((sum, note) => sum + (note.cards?.length || 0), 0);
|
|
56
56
|
await context.reportProgress({ progress: 50, total: 100 });
|
|
@@ -62,7 +62,7 @@ let DeleteNotesTool = DeleteNotesTool_1 = class DeleteNotesTool {
|
|
|
62
62
|
const message = notFoundCount > 0
|
|
63
63
|
? `Successfully deleted ${validNoteIds.length} note(s) and ${totalCards} card(s). ${notFoundCount} note(s) were not found.`
|
|
64
64
|
: `Successfully deleted ${validNoteIds.length} note(s) and ${totalCards} card(s)`;
|
|
65
|
-
return
|
|
65
|
+
return {
|
|
66
66
|
success: true,
|
|
67
67
|
deletedCount: validNoteIds.length,
|
|
68
68
|
deletedNoteIds: validNoteIds,
|
|
@@ -72,7 +72,7 @@ let DeleteNotesTool = DeleteNotesTool_1 = class DeleteNotesTool {
|
|
|
72
72
|
message: message,
|
|
73
73
|
warning: "These notes and cards have been permanently deleted",
|
|
74
74
|
hint: "Consider syncing with AnkiWeb to propagate deletions to other devices",
|
|
75
|
-
}
|
|
75
|
+
};
|
|
76
76
|
}
|
|
77
77
|
catch (error) {
|
|
78
78
|
this.logger.error("Failed to delete notes", error);
|
|
@@ -108,6 +108,22 @@ __decorate([
|
|
|
108
108
|
.boolean()
|
|
109
109
|
.describe("Must be set to true to confirm you want to permanently delete these notes and their cards"),
|
|
110
110
|
}),
|
|
111
|
+
outputSchema: zod_1.z.object({
|
|
112
|
+
success: zod_1.z.boolean(),
|
|
113
|
+
deletedCount: zod_1.z.number(),
|
|
114
|
+
deletedNoteIds: zod_1.z.array(zod_1.z.number()).optional(),
|
|
115
|
+
cardsDeleted: zod_1.z.number().optional(),
|
|
116
|
+
notFoundCount: zod_1.z.number(),
|
|
117
|
+
requestedIds: zod_1.z.array(zod_1.z.number()),
|
|
118
|
+
message: zod_1.z.string(),
|
|
119
|
+
warning: zod_1.z.string().optional(),
|
|
120
|
+
hint: zod_1.z.string().optional(),
|
|
121
|
+
}),
|
|
122
|
+
annotations: {
|
|
123
|
+
readOnlyHint: false,
|
|
124
|
+
destructiveHint: true,
|
|
125
|
+
idempotentHint: false,
|
|
126
|
+
},
|
|
111
127
|
}),
|
|
112
128
|
__metadata("design:type", Function),
|
|
113
129
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -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,
|
|
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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"}
|
|
@@ -101,5 +101,12 @@ export declare class FindNotesTool {
|
|
|
101
101
|
[x: string]: unknown;
|
|
102
102
|
} | undefined;
|
|
103
103
|
isError?: boolean | undefined;
|
|
104
|
+
} | {
|
|
105
|
+
success: boolean;
|
|
106
|
+
noteIds: number[];
|
|
107
|
+
count: number;
|
|
108
|
+
query: string;
|
|
109
|
+
message: string;
|
|
110
|
+
hint: string;
|
|
104
111
|
}>;
|
|
105
112
|
}
|
|
@@ -33,18 +33,18 @@ let FindNotesTool = FindNotesTool_1 = class FindNotesTool {
|
|
|
33
33
|
if (!noteIds || noteIds.length === 0) {
|
|
34
34
|
this.logger.log("No notes found matching the query");
|
|
35
35
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
36
|
-
return
|
|
36
|
+
return {
|
|
37
37
|
success: true,
|
|
38
38
|
noteIds: [],
|
|
39
39
|
count: 0,
|
|
40
40
|
query: query,
|
|
41
41
|
message: "No notes found matching the search criteria",
|
|
42
42
|
hint: "Try a broader search query or check your deck/tag names",
|
|
43
|
-
}
|
|
43
|
+
};
|
|
44
44
|
}
|
|
45
45
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
46
46
|
this.logger.log(`Found ${noteIds.length} notes matching the query`);
|
|
47
|
-
return
|
|
47
|
+
return {
|
|
48
48
|
success: true,
|
|
49
49
|
noteIds: noteIds,
|
|
50
50
|
count: noteIds.length,
|
|
@@ -53,7 +53,7 @@ let FindNotesTool = FindNotesTool_1 = class FindNotesTool {
|
|
|
53
53
|
hint: noteIds.length > 100
|
|
54
54
|
? "Large result set. Consider using notesInfo with smaller batches for detailed information."
|
|
55
55
|
: "Use notesInfo tool to get detailed information about these notes",
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
}
|
|
58
58
|
catch (error) {
|
|
59
59
|
this.logger.error("Failed to search for notes", error);
|
|
@@ -94,6 +94,18 @@ __decorate([
|
|
|
94
94
|
'"is:due", "is:new", "is:review", "front:text", "back:text", or combine with spaces for AND, ' +
|
|
95
95
|
"OR for alternatives. Empty string returns all notes."),
|
|
96
96
|
}),
|
|
97
|
+
outputSchema: zod_1.z.object({
|
|
98
|
+
success: zod_1.z.boolean(),
|
|
99
|
+
noteIds: zod_1.z.array(zod_1.z.number()),
|
|
100
|
+
count: zod_1.z.number(),
|
|
101
|
+
query: zod_1.z.string(),
|
|
102
|
+
message: zod_1.z.string(),
|
|
103
|
+
hint: zod_1.z.string().optional(),
|
|
104
|
+
}),
|
|
105
|
+
annotations: {
|
|
106
|
+
readOnlyHint: true,
|
|
107
|
+
destructiveHint: false,
|
|
108
|
+
},
|
|
97
109
|
}),
|
|
98
110
|
__metadata("design:type", Function),
|
|
99
111
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -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,
|
|
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,6 +1,7 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
|
|
4
|
+
import { SimplifiedCard } from "@/mcp/types/anki.types";
|
|
4
5
|
declare const CardStateEnum: z.ZodEnum<{
|
|
5
6
|
new: "new";
|
|
6
7
|
learning: "learning";
|
|
@@ -112,6 +113,18 @@ export declare class GetCardsTool {
|
|
|
112
113
|
[x: string]: unknown;
|
|
113
114
|
} | undefined;
|
|
114
115
|
isError?: boolean | undefined;
|
|
116
|
+
} | {
|
|
117
|
+
success: boolean;
|
|
118
|
+
message: string;
|
|
119
|
+
cards: never[];
|
|
120
|
+
total: number;
|
|
121
|
+
returned?: undefined;
|
|
122
|
+
} | {
|
|
123
|
+
success: boolean;
|
|
124
|
+
cards: SimplifiedCard[];
|
|
125
|
+
total: number;
|
|
126
|
+
returned: number;
|
|
127
|
+
message: string;
|
|
115
128
|
}>;
|
|
116
129
|
}
|
|
117
130
|
export {};
|
|
@@ -48,12 +48,12 @@ let GetCardsTool = GetCardsTool_1 = class GetCardsTool {
|
|
|
48
48
|
if (cardIds.length === 0) {
|
|
49
49
|
this.logger.log(`No ${card_state} cards found`);
|
|
50
50
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
51
|
-
return
|
|
51
|
+
return {
|
|
52
52
|
success: true,
|
|
53
53
|
message: `No ${card_state} cards found`,
|
|
54
54
|
cards: [],
|
|
55
55
|
total: 0,
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
}
|
|
58
58
|
await context.reportProgress({ progress: 50, total: 100 });
|
|
59
59
|
const selectedCardIds = cardIds.slice(0, cardLimit);
|
|
@@ -75,13 +75,13 @@ let GetCardsTool = GetCardsTool_1 = class GetCardsTool {
|
|
|
75
75
|
});
|
|
76
76
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
77
77
|
this.logger.log(`Retrieved ${cards.length} ${card_state} cards out of ${cardIds.length} total`);
|
|
78
|
-
return
|
|
78
|
+
return {
|
|
79
79
|
success: true,
|
|
80
80
|
cards,
|
|
81
81
|
total: cardIds.length,
|
|
82
82
|
returned: cards.length,
|
|
83
83
|
message: `Found ${cardIds.length} ${card_state} cards, returning ${cards.length}`,
|
|
84
|
-
}
|
|
84
|
+
};
|
|
85
85
|
}
|
|
86
86
|
catch (error) {
|
|
87
87
|
this.logger.error(`Failed to get ${card_state || "due"} cards`, error);
|
|
@@ -107,6 +107,26 @@ __decorate([
|
|
|
107
107
|
.default(10)
|
|
108
108
|
.describe("Maximum number of cards to return"),
|
|
109
109
|
}),
|
|
110
|
+
outputSchema: zod_1.z.object({
|
|
111
|
+
success: zod_1.z.boolean(),
|
|
112
|
+
cards: zod_1.z.array(zod_1.z.object({
|
|
113
|
+
cardId: zod_1.z.number(),
|
|
114
|
+
front: zod_1.z.string(),
|
|
115
|
+
back: zod_1.z.string(),
|
|
116
|
+
deckName: zod_1.z.string(),
|
|
117
|
+
modelName: zod_1.z.string(),
|
|
118
|
+
due: zod_1.z.number(),
|
|
119
|
+
interval: zod_1.z.number(),
|
|
120
|
+
factor: zod_1.z.number(),
|
|
121
|
+
})),
|
|
122
|
+
total: zod_1.z.number(),
|
|
123
|
+
returned: zod_1.z.number().optional(),
|
|
124
|
+
message: zod_1.z.string(),
|
|
125
|
+
}),
|
|
126
|
+
annotations: {
|
|
127
|
+
readOnlyHint: true,
|
|
128
|
+
destructiveHint: false,
|
|
129
|
+
},
|
|
110
130
|
}),
|
|
111
131
|
__metadata("design:type", Function),
|
|
112
132
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -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,
|
|
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;IA8CxD,AAAN,KAAK,CAAC,QAAQ,CACZ,EACE,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,KAAK,GAC0D,EACjE,OAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,WAAW,UAAU,qBAAqB,SAAS,IAAI,KAAK,YAAY,SAAS,EAAE,CACpF,CAAC;YACF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,gBAAgB,GACpB,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,IAAI,KAAK,GAAG,GAAG,gBAAgB,GAAG,UAAU,EAAE,CAAC;YAE/C,IAAI,SAAS,EAAE,CAAC;gBAEd,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACvD,KAAK,GAAG,SAAS,eAAe,KAAK,KAAK,EAAE,CAAC;YAC/C,CAAC;YAGD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAW,WAAW,EAAE;gBAClE,KAAK;aACN,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,cAAc,CAAC,CAAC;gBAChD,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,MAAM,UAAU,cAAc;oBACvC,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,CAAC;iBACT,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAGpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAa,WAAW,EAAE;gBACtE,KAAK,EAAE,eAAe;aACvB,CAAC,CAAC;YAGH,MAAM,KAAK,GAAqB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAA,+BAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAExD,OAAO;oBACL,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;oBACnC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;oBAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;iBAC5B,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,aAAa,KAAK,CAAC,MAAM,IAAI,UAAU,iBAAiB,OAAO,CAAC,MAAM,QAAQ,CAC/E,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,OAAO,EAAE,SAAS,OAAO,CAAC,MAAM,IAAI,UAAU,qBAAqB,KAAK,CAAC,MAAM,EAAE;aAClF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,UAAU,IAAI,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvE,OAAO,IAAA,gCAAmB,EAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAA;AAzIY,oCAAY;AAiDjB;IA5CL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,WAAW;QACjB,WAAW,EACT,+NAA+N;QACjO,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,OAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,mFAAmF,CACpF;YACH,UAAU,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAC/C,yKAAyK,CAC1K;YACD,KAAK,EAAE,OAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,mCAAmC,CAAC;SACjD,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,OAAC,CAAC,KAAK,CACZ,OAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;gBAClB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;gBAChB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;gBACrB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;gBACf,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;gBACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;aACnB,CAAC,CACH;YACD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;YACjB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;SACpB,CAAC;QACF,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;SACvB;KACF,CAAC;;;;4CAwFD;uBAxIU,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,YAAY,CAyIxB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
2
|
import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
|
|
3
|
+
import { SimplifiedCard } from "@/mcp/types/anki.types";
|
|
3
4
|
export declare class GetDueCardsTool {
|
|
4
5
|
private readonly ankiClient;
|
|
5
6
|
private readonly logger;
|
|
@@ -104,5 +105,17 @@ export declare class GetDueCardsTool {
|
|
|
104
105
|
[x: string]: unknown;
|
|
105
106
|
} | undefined;
|
|
106
107
|
isError?: boolean | undefined;
|
|
108
|
+
} | {
|
|
109
|
+
success: boolean;
|
|
110
|
+
message: string;
|
|
111
|
+
cards: never[];
|
|
112
|
+
total: number;
|
|
113
|
+
returned?: undefined;
|
|
114
|
+
} | {
|
|
115
|
+
success: boolean;
|
|
116
|
+
cards: SimplifiedCard[];
|
|
117
|
+
total: number;
|
|
118
|
+
returned: number;
|
|
119
|
+
message: string;
|
|
107
120
|
}>;
|
|
108
121
|
}
|
|
@@ -45,12 +45,12 @@ let GetDueCardsTool = GetDueCardsTool_1 = class GetDueCardsTool {
|
|
|
45
45
|
if (cardIds.length === 0) {
|
|
46
46
|
this.logger.log("No due cards found");
|
|
47
47
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
48
|
-
return
|
|
48
|
+
return {
|
|
49
49
|
success: true,
|
|
50
50
|
message: "No cards are due for review",
|
|
51
51
|
cards: [],
|
|
52
52
|
total: 0,
|
|
53
|
-
}
|
|
53
|
+
};
|
|
54
54
|
}
|
|
55
55
|
await context.reportProgress({ progress: 50, total: 100 });
|
|
56
56
|
const selectedCardIds = cardIds.slice(0, cardLimit);
|
|
@@ -72,13 +72,13 @@ let GetDueCardsTool = GetDueCardsTool_1 = class GetDueCardsTool {
|
|
|
72
72
|
});
|
|
73
73
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
74
74
|
this.logger.log(`Retrieved ${dueCards.length} due cards out of ${cardIds.length} total`);
|
|
75
|
-
return
|
|
75
|
+
return {
|
|
76
76
|
success: true,
|
|
77
77
|
cards: dueCards,
|
|
78
78
|
total: cardIds.length,
|
|
79
79
|
returned: dueCards.length,
|
|
80
80
|
message: `Found ${cardIds.length} due cards, returning ${dueCards.length}`,
|
|
81
|
-
}
|
|
81
|
+
};
|
|
82
82
|
}
|
|
83
83
|
catch (error) {
|
|
84
84
|
this.logger.error("Failed to get due cards", error);
|
|
@@ -111,6 +111,26 @@ __decorate([
|
|
|
111
111
|
.default(false)
|
|
112
112
|
.describe("Include new cards (never seen before). Default: false"),
|
|
113
113
|
}),
|
|
114
|
+
outputSchema: zod_1.z.object({
|
|
115
|
+
success: zod_1.z.boolean(),
|
|
116
|
+
cards: zod_1.z.array(zod_1.z.object({
|
|
117
|
+
cardId: zod_1.z.number(),
|
|
118
|
+
front: zod_1.z.string(),
|
|
119
|
+
back: zod_1.z.string(),
|
|
120
|
+
deckName: zod_1.z.string(),
|
|
121
|
+
modelName: zod_1.z.string(),
|
|
122
|
+
due: zod_1.z.number(),
|
|
123
|
+
interval: zod_1.z.number(),
|
|
124
|
+
factor: zod_1.z.number(),
|
|
125
|
+
})),
|
|
126
|
+
total: zod_1.z.number(),
|
|
127
|
+
returned: zod_1.z.number().optional(),
|
|
128
|
+
message: zod_1.z.string(),
|
|
129
|
+
}),
|
|
130
|
+
annotations: {
|
|
131
|
+
readOnlyHint: true,
|
|
132
|
+
destructiveHint: false,
|
|
133
|
+
},
|
|
114
134
|
}),
|
|
115
135
|
__metadata("design:type", Function),
|
|
116
136
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-due-cards.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-due-cards.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AAEtE,
|
|
1
|
+
{"version":3,"file":"get-due-cards.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-due-cards.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,5 +101,12 @@ export declare class GetTagsTool {
|
|
|
101
101
|
[x: string]: unknown;
|
|
102
102
|
} | undefined;
|
|
103
103
|
isError?: boolean | undefined;
|
|
104
|
+
} | {
|
|
105
|
+
message: string;
|
|
106
|
+
filtered?: boolean | undefined;
|
|
107
|
+
totalUnfiltered?: number | undefined;
|
|
108
|
+
success: boolean;
|
|
109
|
+
tags: string[];
|
|
110
|
+
total: number;
|
|
104
111
|
}>;
|
|
105
112
|
}
|
|
@@ -31,12 +31,12 @@ let GetTagsTool = GetTagsTool_1 = class GetTagsTool {
|
|
|
31
31
|
if (!allTags || allTags.length === 0) {
|
|
32
32
|
this.logger.log("No tags found");
|
|
33
33
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
34
|
-
return
|
|
34
|
+
return {
|
|
35
35
|
success: true,
|
|
36
36
|
message: "No tags found in Anki collection",
|
|
37
37
|
tags: [],
|
|
38
38
|
total: 0,
|
|
39
|
-
}
|
|
39
|
+
};
|
|
40
40
|
}
|
|
41
41
|
let tags = allTags;
|
|
42
42
|
if (pattern) {
|
|
@@ -45,7 +45,7 @@ let GetTagsTool = GetTagsTool_1 = class GetTagsTool {
|
|
|
45
45
|
}
|
|
46
46
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
47
47
|
this.logger.log(`Found ${tags.length} tags${pattern ? ` (filtered from ${allTags.length})` : ""}`);
|
|
48
|
-
return
|
|
48
|
+
return {
|
|
49
49
|
success: true,
|
|
50
50
|
tags: tags,
|
|
51
51
|
total: tags.length,
|
|
@@ -53,7 +53,7 @@ let GetTagsTool = GetTagsTool_1 = class GetTagsTool {
|
|
|
53
53
|
message: pattern
|
|
54
54
|
? `Found ${tags.length} tags matching "${pattern}" (${allTags.length} total)`
|
|
55
55
|
: `Found ${tags.length} tags`,
|
|
56
|
-
}
|
|
56
|
+
};
|
|
57
57
|
}
|
|
58
58
|
catch (error) {
|
|
59
59
|
this.logger.error("Failed to retrieve tags", error);
|
|
@@ -74,6 +74,18 @@ __decorate([
|
|
|
74
74
|
.optional()
|
|
75
75
|
.describe("Optional filter pattern - returns only tags containing this string (case-insensitive)"),
|
|
76
76
|
}),
|
|
77
|
+
outputSchema: zod_1.z.object({
|
|
78
|
+
success: zod_1.z.boolean(),
|
|
79
|
+
tags: zod_1.z.array(zod_1.z.string()),
|
|
80
|
+
total: zod_1.z.number(),
|
|
81
|
+
message: zod_1.z.string(),
|
|
82
|
+
filtered: zod_1.z.boolean().optional(),
|
|
83
|
+
totalUnfiltered: zod_1.z.number().optional(),
|
|
84
|
+
}),
|
|
85
|
+
annotations: {
|
|
86
|
+
readOnlyHint: true,
|
|
87
|
+
destructiveHint: false,
|
|
88
|
+
},
|
|
77
89
|
}),
|
|
78
90
|
__metadata("design:type", Function),
|
|
79
91
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tags.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-tags.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"get-tags.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/get-tags.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
2
|
import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
|
|
3
|
+
import { type GetMediaFilesNamesResult } from "./actions/getMediaFilesNames.action";
|
|
4
|
+
import { type DeleteMediaFileResult } from "./actions/deleteMediaFile.action";
|
|
3
5
|
export declare class MediaActionsTool {
|
|
4
6
|
private readonly ankiClient;
|
|
5
7
|
private readonly logger;
|
|
@@ -107,5 +109,5 @@ export declare class MediaActionsTool {
|
|
|
107
109
|
[x: string]: unknown;
|
|
108
110
|
} | undefined;
|
|
109
111
|
isError?: boolean | undefined;
|
|
110
|
-
}>;
|
|
112
|
+
} | GetMediaFilesNamesResult | DeleteMediaFileResult>;
|
|
111
113
|
}
|
|
@@ -72,7 +72,7 @@ let MediaActionsTool = MediaActionsTool_1 = class MediaActionsTool {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
this.logger.log(`Successfully executed ${params.action}`);
|
|
75
|
-
return
|
|
75
|
+
return result;
|
|
76
76
|
}
|
|
77
77
|
catch (error) {
|
|
78
78
|
this.logger.error(`Failed to execute ${params.action}`, error);
|
|
@@ -129,6 +129,21 @@ Perfect for workflows like ElevenLabs TTS → Anki audio flashcards.`,
|
|
|
129
129
|
.optional()
|
|
130
130
|
.describe('[getMediaFilesNames only] Filter pattern (e.g., "*.mp3")'),
|
|
131
131
|
}),
|
|
132
|
+
outputSchema: zod_1.z.object({
|
|
133
|
+
success: zod_1.z.boolean(),
|
|
134
|
+
filename: zod_1.z.string().optional(),
|
|
135
|
+
message: zod_1.z.string(),
|
|
136
|
+
prefixedWithUnderscore: zod_1.z.boolean().optional(),
|
|
137
|
+
data: zod_1.z.string().nullable().optional(),
|
|
138
|
+
found: zod_1.z.boolean().optional(),
|
|
139
|
+
files: zod_1.z.array(zod_1.z.string()).optional(),
|
|
140
|
+
count: zod_1.z.number().optional(),
|
|
141
|
+
pattern: zod_1.z.string().optional(),
|
|
142
|
+
}),
|
|
143
|
+
annotations: {
|
|
144
|
+
readOnlyHint: false,
|
|
145
|
+
destructiveHint: true,
|
|
146
|
+
},
|
|
132
147
|
}),
|
|
133
148
|
__metadata("design:type", Function),
|
|
134
149
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaActions.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,iFAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"mediaActions.tool.js","sourceRoot":"","sources":["../../../../../../src/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,5 +101,13 @@ export declare class ModelFieldNamesTool {
|
|
|
101
101
|
[x: string]: unknown;
|
|
102
102
|
} | undefined;
|
|
103
103
|
isError?: boolean | undefined;
|
|
104
|
+
} | {
|
|
105
|
+
success: boolean;
|
|
106
|
+
modelName: string;
|
|
107
|
+
fieldNames: string[];
|
|
108
|
+
total: number;
|
|
109
|
+
message: string;
|
|
110
|
+
example?: Record<string, string>;
|
|
111
|
+
hint?: string;
|
|
104
112
|
}>;
|
|
105
113
|
}
|
|
@@ -41,13 +41,13 @@ let ModelFieldNamesTool = ModelFieldNamesTool_1 = class ModelFieldNamesTool {
|
|
|
41
41
|
if (fieldNames.length === 0) {
|
|
42
42
|
this.logger.warn(`No fields found for model: ${modelName}`);
|
|
43
43
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
44
|
-
return
|
|
44
|
+
return {
|
|
45
45
|
success: true,
|
|
46
46
|
modelName: modelName,
|
|
47
47
|
fieldNames: [],
|
|
48
48
|
total: 0,
|
|
49
49
|
message: `Model "${modelName}" has no fields`,
|
|
50
|
-
}
|
|
50
|
+
};
|
|
51
51
|
}
|
|
52
52
|
await context.reportProgress({ progress: 100, total: 100 });
|
|
53
53
|
this.logger.log(`Found ${fieldNames.length} fields for model ${modelName}`);
|
|
@@ -85,7 +85,7 @@ let ModelFieldNamesTool = ModelFieldNamesTool_1 = class ModelFieldNamesTool {
|
|
|
85
85
|
response.hint =
|
|
86
86
|
"Use these field names as keys when creating notes with addNote tool";
|
|
87
87
|
}
|
|
88
|
-
return
|
|
88
|
+
return response;
|
|
89
89
|
}
|
|
90
90
|
catch (error) {
|
|
91
91
|
this.logger.error(`Failed to retrieve field names for model ${modelName}`, error);
|
|
@@ -107,6 +107,19 @@ __decorate([
|
|
|
107
107
|
.min(1)
|
|
108
108
|
.describe("The name of the model/note type to get fields for"),
|
|
109
109
|
}),
|
|
110
|
+
outputSchema: zod_1.z.object({
|
|
111
|
+
success: zod_1.z.boolean(),
|
|
112
|
+
modelName: zod_1.z.string(),
|
|
113
|
+
fieldNames: zod_1.z.array(zod_1.z.string()),
|
|
114
|
+
total: zod_1.z.number(),
|
|
115
|
+
message: zod_1.z.string(),
|
|
116
|
+
example: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
117
|
+
hint: zod_1.z.string().optional(),
|
|
118
|
+
}),
|
|
119
|
+
annotations: {
|
|
120
|
+
readOnlyHint: true,
|
|
121
|
+
destructiveHint: false,
|
|
122
|
+
},
|
|
110
123
|
}),
|
|
111
124
|
__metadata("design:type", Function),
|
|
112
125
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-field-names.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/model-field-names.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"model-field-names.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/model-field-names.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AACtE,0DAA6D;AAMtD,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;IA0BxD,AAAN,KAAK,CAAC,eAAe,CACnB,EAAE,SAAS,EAAyB,EACpC,OAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAC7C,iBAAiB,EACjB;gBACE,SAAS,EAAE,SAAS;aACrB,CACF,CAAC;YAEF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;gBAClD,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5D,OAAO,IAAA,gCAAmB,EACxB,IAAI,KAAK,CAAC,UAAU,SAAS,aAAa,CAAC,EAC3C;oBACE,SAAS,EAAE,SAAS;oBACpB,IAAI,EAAE,6CAA6C;iBACpD,CACF,CAAC;YACJ,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;gBAC5D,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,EAAE;oBACd,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,UAAU,SAAS,iBAAiB;iBAC9C,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,SAAS,UAAU,CAAC,MAAM,qBAAqB,SAAS,EAAE,CAC3D,CAAC;YAGF,IAAI,aAAiD,CAAC;YACtD,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAE/C,IACE,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChC,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EACpC,CAAC;gBACD,aAAa,GAAG;oBACd,KAAK,EAAE,yBAAyB;oBAChC,IAAI,EAAE,yBAAyB;iBAChC,CAAC;YACJ,CAAC;iBAAM,IACL,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;gBACD,aAAa,GAAG;oBACd,KAAK,EAAE,wBAAwB;oBAC/B,IAAI,EAAE,yBAAyB;iBAChC,CAAC;YACJ,CAAC;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5C,aAAa,GAAG;oBACd,IAAI,EAAE,iEAAiE;oBACvE,KAAK,EAAE,iCAAiC;iBACzC,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAQV;gBACF,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,SAAS;gBACpB,UAAU,EAAE,UAAU;gBACtB,KAAK,EAAE,UAAU,CAAC,MAAM;gBACxB,OAAO,EAAE,UAAU,SAAS,SAAS,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;aACpG,CAAC;YAEF,IAAI,aAAa,EAAE,CAAC;gBAClB,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC;gBACjC,QAAQ,CAAC,IAAI;oBACX,qEAAqE,CAAC;YAC1E,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,4CAA4C,SAAS,EAAE,EACvD,KAAK,CACN,CAAC;YACF,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,yDAAyD;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAzIY,kDAAmB;AA6BxB;IAxBL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,mIAAmI;QACrI,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,OAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,mDAAmD,CAAC;SACjE,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;YACrB,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;YACjB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACpD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC;QACF,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;SACvB;KACF,CAAC;;;;0DA4GD;8BAxIU,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,mBAAmB,CAyI/B"}
|
|
@@ -99,5 +99,15 @@ export declare class ModelNamesTool {
|
|
|
99
99
|
[x: string]: unknown;
|
|
100
100
|
} | undefined;
|
|
101
101
|
isError?: boolean | undefined;
|
|
102
|
+
} | {
|
|
103
|
+
success: boolean;
|
|
104
|
+
modelNames: string[];
|
|
105
|
+
total: number;
|
|
106
|
+
message: string;
|
|
107
|
+
commonTypes: {
|
|
108
|
+
basic: string | null;
|
|
109
|
+
basicReversed: string | null;
|
|
110
|
+
cloze: string | null;
|
|
111
|
+
};
|
|
102
112
|
}>;
|
|
103
113
|
}
|