anki-mcp-http 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +5 -19
- package/README.md +74 -35
- package/dist/anki-config.service.d.ts +2 -2
- package/dist/anki-config.service.js +4 -4
- package/dist/app.module.d.ts +1 -1
- package/dist/app.module.js +7 -7
- package/dist/app.module.js.map +1 -1
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.js +4 -4
- package/dist/cli.js +13 -13
- package/dist/cli.js.map +1 -1
- package/dist/http/guards/origin-validation.guard.d.ts +1 -1
- package/dist/http/guards/origin-validation.guard.js +5 -5
- package/dist/main-http.js +3 -3
- package/dist/main-http.js.map +1 -1
- package/dist/main-stdio.js +2 -2
- package/dist/mcp/clients/__mocks__/anki-connect.client.js +1 -1
- package/dist/mcp/clients/anki-connect.client.d.ts +1 -1
- package/dist/mcp/clients/anki-connect.client.js +7 -7
- package/dist/mcp/config/anki-config.interface.js +1 -1
- package/dist/mcp/primitives/essential/index.d.ts +26 -26
- package/dist/mcp/primitives/essential/index.js +1 -4
- package/dist/mcp/primitives/essential/index.js.map +1 -1
- package/dist/mcp/primitives/essential/prompts/review-session.prompt.js +5 -5
- package/dist/mcp/primitives/essential/prompts/review-session.prompt.js.map +1 -1
- package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/index.js +10 -8
- package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/index.js.map +1 -1
- package/dist/mcp/primitives/essential/resources/system-info.resource.js +12 -12
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +3 -3
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +27 -30
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js +15 -15
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +3 -3
- package/dist/mcp/primitives/essential/tools/create-model.tool.js +20 -18
- package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +22 -22
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js +14 -14
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +17 -15
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js +10 -10
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js +3 -3
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.js +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js +3 -3
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js +7 -7
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/index.d.ts +5 -5
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.d.ts +3 -3
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +23 -17
- 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 +2 -2
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +20 -17
- 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 +3 -3
- package/dist/mcp/primitives/essential/tools/model-names.tool.js +13 -11
- package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js +11 -11
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js +19 -19
- 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 -2
- package/dist/mcp/primitives/essential/tools/present-card.tool.js +11 -11
- package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +19 -14
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +3 -3
- package/dist/mcp/primitives/essential/tools/sync.tool.js +8 -8
- 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 -2
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +19 -19
- 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 +3 -3
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +32 -32
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/index.d.ts +17 -17
- package/dist/mcp/primitives/gui/index.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +2 -2
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +22 -22
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +15 -14
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +3 -3
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +13 -13
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +12 -12
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +2 -2
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +15 -12
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +2 -2
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +13 -12
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +2 -2
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +18 -15
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +15 -14
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +15 -15
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +15 -15
- 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 +3 -3
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +15 -15
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
- package/dist/mcp/types/anki.types.d.ts +2 -2
- package/dist/mcp/utils/anki.utils.d.ts +3 -3
- package/dist/mcp/utils/anki.utils.js +42 -38
- package/dist/mcp/utils/anki.utils.js.map +1 -1
- package/dist/mcp/utils/markdown.utils.js +16 -12
- package/dist/mcp/utils/markdown.utils.js.map +1 -1
- package/dist/mcp/utils/mcpb-workarounds.js +2 -2
- package/dist/mcp/utils/mcpb-workarounds.js.map +1 -1
- package/dist/services/ngrok.service.js +30 -30
- package/dist/services/ngrok.service.js.map +1 -1
- package/dist/test-fixtures/mock-data.d.ts +2 -2
- package/dist/test-fixtures/mock-data.js +46 -46
- package/dist/test-fixtures/mock-data.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +12 -7
|
@@ -4,66 +4,66 @@ exports.mockErrors = exports.mockQueries = exports.mockCards = exports.mockDecks
|
|
|
4
4
|
exports.mockNotes = {
|
|
5
5
|
spanish: {
|
|
6
6
|
noteId: 1502298033753,
|
|
7
|
-
modelName:
|
|
7
|
+
modelName: "Basic",
|
|
8
8
|
fields: {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Front: { value: "¿Cómo estás?", order: 0 },
|
|
10
|
+
Back: { value: "How are you?", order: 1 },
|
|
11
11
|
},
|
|
12
|
-
tags: [
|
|
12
|
+
tags: ["spanish", "greetings"],
|
|
13
13
|
cards: [1502298033754],
|
|
14
|
-
mod: 1234567890
|
|
14
|
+
mod: 1234567890,
|
|
15
15
|
},
|
|
16
16
|
japanese: {
|
|
17
17
|
noteId: 1502298033757,
|
|
18
|
-
modelName:
|
|
18
|
+
modelName: "Basic (and reversed card)",
|
|
19
19
|
fields: {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
Front: { value: "こんにちは", order: 0 },
|
|
21
|
+
Back: { value: "Hello", order: 1 },
|
|
22
22
|
},
|
|
23
|
-
tags: [
|
|
23
|
+
tags: ["japanese", "greetings"],
|
|
24
24
|
cards: [1502298033758, 1502298033759],
|
|
25
|
-
mod: 1234567890
|
|
25
|
+
mod: 1234567890,
|
|
26
26
|
},
|
|
27
27
|
withHtml: {
|
|
28
28
|
noteId: 1502298033760,
|
|
29
|
-
modelName:
|
|
29
|
+
modelName: "Basic",
|
|
30
30
|
fields: {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
Front: { value: "<b>Bold text</b> and <i>italic</i>", order: 0 },
|
|
32
|
+
Back: { value: "<ul><li>Item 1</li><li>Item 2</li></ul>", order: 1 },
|
|
33
33
|
},
|
|
34
|
-
tags: [
|
|
34
|
+
tags: ["test", "html"],
|
|
35
35
|
cards: [1502298033761],
|
|
36
|
-
mod: 1234567890
|
|
37
|
-
}
|
|
36
|
+
mod: 1234567890,
|
|
37
|
+
},
|
|
38
38
|
};
|
|
39
39
|
exports.mockDecks = {
|
|
40
40
|
withStats: {
|
|
41
|
-
|
|
41
|
+
"1651445861967": {
|
|
42
42
|
deck_id: 1651445861967,
|
|
43
|
-
name:
|
|
43
|
+
name: "Spanish",
|
|
44
44
|
new_count: 20,
|
|
45
45
|
learn_count: 5,
|
|
46
46
|
review_count: 10,
|
|
47
|
-
total_in_deck: 150
|
|
47
|
+
total_in_deck: 150,
|
|
48
48
|
},
|
|
49
|
-
|
|
49
|
+
"1651445861968": {
|
|
50
50
|
deck_id: 1651445861968,
|
|
51
|
-
name:
|
|
51
|
+
name: "Japanese::JLPT N5",
|
|
52
52
|
new_count: 50,
|
|
53
53
|
learn_count: 10,
|
|
54
54
|
review_count: 25,
|
|
55
|
-
total_in_deck: 500
|
|
56
|
-
}
|
|
55
|
+
total_in_deck: 500,
|
|
56
|
+
},
|
|
57
57
|
},
|
|
58
|
-
names: [
|
|
58
|
+
names: ["Default", "Spanish", "Japanese::JLPT N5", "French::Beginner"],
|
|
59
59
|
};
|
|
60
60
|
exports.mockCards = {
|
|
61
61
|
dueCard: {
|
|
62
62
|
cardId: 1502298033754,
|
|
63
63
|
noteId: 1502298033753,
|
|
64
|
-
deckName:
|
|
65
|
-
question:
|
|
66
|
-
answer:
|
|
64
|
+
deckName: "Spanish",
|
|
65
|
+
question: "¿Cómo estás?",
|
|
66
|
+
answer: "How are you?",
|
|
67
67
|
due: 1,
|
|
68
68
|
interval: 1,
|
|
69
69
|
factor: 2500,
|
|
@@ -71,14 +71,14 @@ exports.mockCards = {
|
|
|
71
71
|
lapses: 0,
|
|
72
72
|
type: 2,
|
|
73
73
|
queue: 2,
|
|
74
|
-
modelName:
|
|
74
|
+
modelName: "Basic",
|
|
75
75
|
},
|
|
76
76
|
newCard: {
|
|
77
77
|
cardId: 1502298033758,
|
|
78
78
|
noteId: 1502298033757,
|
|
79
|
-
deckName:
|
|
80
|
-
question:
|
|
81
|
-
answer:
|
|
79
|
+
deckName: "Japanese::JLPT N5",
|
|
80
|
+
question: "こんにちは",
|
|
81
|
+
answer: "Hello",
|
|
82
82
|
due: 0,
|
|
83
83
|
interval: 0,
|
|
84
84
|
factor: 2500,
|
|
@@ -86,27 +86,27 @@ exports.mockCards = {
|
|
|
86
86
|
lapses: 0,
|
|
87
87
|
type: 0,
|
|
88
88
|
queue: 0,
|
|
89
|
-
modelName:
|
|
90
|
-
}
|
|
89
|
+
modelName: "Basic (and reversed card)",
|
|
90
|
+
},
|
|
91
91
|
};
|
|
92
92
|
exports.mockQueries = {
|
|
93
93
|
valid: {
|
|
94
|
-
allDue:
|
|
95
|
-
deckSpecific:
|
|
96
|
-
withTag:
|
|
97
|
-
combined:
|
|
98
|
-
frontSearch:
|
|
94
|
+
allDue: "is:due",
|
|
95
|
+
deckSpecific: "deck:Spanish",
|
|
96
|
+
withTag: "tag:greetings",
|
|
97
|
+
combined: "deck:Spanish tag:spanish",
|
|
98
|
+
frontSearch: "front:Cómo",
|
|
99
99
|
},
|
|
100
100
|
invalid: {
|
|
101
|
-
malformed:
|
|
102
|
-
unknownOperator:
|
|
103
|
-
}
|
|
101
|
+
malformed: "deck:",
|
|
102
|
+
unknownOperator: "invalid:query",
|
|
103
|
+
},
|
|
104
104
|
};
|
|
105
105
|
exports.mockErrors = {
|
|
106
|
-
networkError: new Error(
|
|
107
|
-
permissionError: new Error(
|
|
108
|
-
notFoundError: new Error(
|
|
109
|
-
ankiNotRunning: new Error(
|
|
110
|
-
invalidQuery: new Error(
|
|
106
|
+
networkError: new Error("fetch failed"),
|
|
107
|
+
permissionError: new Error("Permission denied"),
|
|
108
|
+
notFoundError: new Error("Note not found"),
|
|
109
|
+
ankiNotRunning: new Error("Cannot connect to Anki. Please ensure Anki is running and AnkiConnect plugin is installed."),
|
|
110
|
+
invalidQuery: new Error("Invalid query syntax"),
|
|
111
111
|
};
|
|
112
112
|
//# sourceMappingURL=mock-data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../src/test-fixtures/mock-data.ts"],"names":[],"mappings":";;;AAIa,QAAA,SAAS,GAAG;IACvB,OAAO,EAAE;QACP,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE;YACN,
|
|
1
|
+
{"version":3,"file":"mock-data.js","sourceRoot":"","sources":["../../src/test-fixtures/mock-data.ts"],"names":[],"mappings":"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"}
|