@xiedada/nodemw-mcp-server 0.0.1 → 0.0.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/LICENSE +24 -166
- package/README.md +124 -145
- package/dist/index.js +36 -63
- package/dist/index.js.map +7 -1
- package/package.json +5 -11
- package/dist/common/nodemwBot.d.ts +0 -21
- package/dist/common/nodemwBot.d.ts.map +0 -1
- package/dist/common/nodemwBot.js +0 -62
- package/dist/common/nodemwBot.js.map +0 -1
- package/dist/common/utils.d.ts +0 -7
- package/dist/common/utils.d.ts.map +0 -1
- package/dist/common/utils.js +0 -38
- package/dist/common/utils.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/server.d.ts +0 -4
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -9
- package/dist/server.js.map +0 -1
- package/dist/tools/editing/add-flow-topic.d.ts +0 -3
- package/dist/tools/editing/add-flow-topic.d.ts.map +0 -1
- package/dist/tools/editing/add-flow-topic.js +0 -25
- package/dist/tools/editing/add-flow-topic.js.map +0 -1
- package/dist/tools/editing/append.d.ts +0 -3
- package/dist/tools/editing/append.d.ts.map +0 -1
- package/dist/tools/editing/append.js +0 -26
- package/dist/tools/editing/append.js.map +0 -1
- package/dist/tools/editing/create-account.d.ts +0 -3
- package/dist/tools/editing/create-account.d.ts.map +0 -1
- package/dist/tools/editing/create-account.js +0 -24
- package/dist/tools/editing/create-account.js.map +0 -1
- package/dist/tools/editing/delete.d.ts +0 -3
- package/dist/tools/editing/delete.d.ts.map +0 -1
- package/dist/tools/editing/delete.js +0 -25
- package/dist/tools/editing/delete.js.map +0 -1
- package/dist/tools/editing/edit.d.ts +0 -3
- package/dist/tools/editing/edit.d.ts.map +0 -1
- package/dist/tools/editing/edit.js +0 -27
- package/dist/tools/editing/edit.js.map +0 -1
- package/dist/tools/editing/move.d.ts +0 -3
- package/dist/tools/editing/move.d.ts.map +0 -1
- package/dist/tools/editing/move.js +0 -26
- package/dist/tools/editing/move.js.map +0 -1
- package/dist/tools/editing/prepend.d.ts +0 -3
- package/dist/tools/editing/prepend.d.ts.map +0 -1
- package/dist/tools/editing/prepend.js +0 -26
- package/dist/tools/editing/prepend.js.map +0 -1
- package/dist/tools/editing/protect.d.ts +0 -3
- package/dist/tools/editing/protect.d.ts.map +0 -1
- package/dist/tools/editing/protect.js +0 -37
- package/dist/tools/editing/protect.js.map +0 -1
- package/dist/tools/editing/purge.d.ts +0 -3
- package/dist/tools/editing/purge.d.ts.map +0 -1
- package/dist/tools/editing/purge.js +0 -23
- package/dist/tools/editing/purge.js.map +0 -1
- package/dist/tools/editing/send-email.d.ts +0 -3
- package/dist/tools/editing/send-email.d.ts.map +0 -1
- package/dist/tools/editing/send-email.js +0 -25
- package/dist/tools/editing/send-email.js.map +0 -1
- package/dist/tools/editing/upload-by-url.d.ts +0 -3
- package/dist/tools/editing/upload-by-url.d.ts.map +0 -1
- package/dist/tools/editing/upload-by-url.js +0 -26
- package/dist/tools/editing/upload-by-url.js.map +0 -1
- package/dist/tools/editing/upload.d.ts +0 -3
- package/dist/tools/editing/upload.d.ts.map +0 -1
- package/dist/tools/editing/upload.js +0 -27
- package/dist/tools/editing/upload.js.map +0 -1
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -105
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/ro/expand-templates.d.ts +0 -3
- package/dist/tools/ro/expand-templates.d.ts.map +0 -1
- package/dist/tools/ro/expand-templates.js +0 -28
- package/dist/tools/ro/expand-templates.js.map +0 -1
- package/dist/tools/ro/get-all-pages.d.ts +0 -3
- package/dist/tools/ro/get-all-pages.d.ts.map +0 -1
- package/dist/tools/ro/get-all-pages.js +0 -30
- package/dist/tools/ro/get-all-pages.js.map +0 -1
- package/dist/tools/ro/get-article-categories.d.ts +0 -3
- package/dist/tools/ro/get-article-categories.d.ts.map +0 -1
- package/dist/tools/ro/get-article-categories.js +0 -27
- package/dist/tools/ro/get-article-categories.js.map +0 -1
- package/dist/tools/ro/get-article-info.d.ts +0 -3
- package/dist/tools/ro/get-article-info.d.ts.map +0 -1
- package/dist/tools/ro/get-article-info.js +0 -35
- package/dist/tools/ro/get-article-info.js.map +0 -1
- package/dist/tools/ro/get-article-properties.d.ts +0 -3
- package/dist/tools/ro/get-article-properties.d.ts.map +0 -1
- package/dist/tools/ro/get-article-properties.js +0 -26
- package/dist/tools/ro/get-article-properties.js.map +0 -1
- package/dist/tools/ro/get-article-revisions.d.ts +0 -3
- package/dist/tools/ro/get-article-revisions.d.ts.map +0 -1
- package/dist/tools/ro/get-article-revisions.js +0 -29
- package/dist/tools/ro/get-article-revisions.js.map +0 -1
- package/dist/tools/ro/get-article.d.ts +0 -3
- package/dist/tools/ro/get-article.d.ts.map +0 -1
- package/dist/tools/ro/get-article.js +0 -54
- package/dist/tools/ro/get-article.js.map +0 -1
- package/dist/tools/ro/get-backlinks.d.ts +0 -3
- package/dist/tools/ro/get-backlinks.d.ts.map +0 -1
- package/dist/tools/ro/get-backlinks.js +0 -27
- package/dist/tools/ro/get-backlinks.js.map +0 -1
- package/dist/tools/ro/get-categories.d.ts +0 -3
- package/dist/tools/ro/get-categories.d.ts.map +0 -1
- package/dist/tools/ro/get-categories.js +0 -27
- package/dist/tools/ro/get-categories.js.map +0 -1
- package/dist/tools/ro/get-external-links.d.ts +0 -3
- package/dist/tools/ro/get-external-links.d.ts.map +0 -1
- package/dist/tools/ro/get-external-links.js +0 -27
- package/dist/tools/ro/get-external-links.js.map +0 -1
- package/dist/tools/ro/get-image-info.d.ts +0 -3
- package/dist/tools/ro/get-image-info.d.ts.map +0 -1
- package/dist/tools/ro/get-image-info.js +0 -29
- package/dist/tools/ro/get-image-info.js.map +0 -1
- package/dist/tools/ro/get-image-usage.d.ts +0 -3
- package/dist/tools/ro/get-image-usage.d.ts.map +0 -1
- package/dist/tools/ro/get-image-usage.js +0 -27
- package/dist/tools/ro/get-image-usage.js.map +0 -1
- package/dist/tools/ro/get-images-from-article.d.ts +0 -3
- package/dist/tools/ro/get-images-from-article.d.ts.map +0 -1
- package/dist/tools/ro/get-images-from-article.js +0 -27
- package/dist/tools/ro/get-images-from-article.js.map +0 -1
- package/dist/tools/ro/get-images.d.ts +0 -3
- package/dist/tools/ro/get-images.d.ts.map +0 -1
- package/dist/tools/ro/get-images.js +0 -43
- package/dist/tools/ro/get-images.js.map +0 -1
- package/dist/tools/ro/get-log.d.ts +0 -3
- package/dist/tools/ro/get-log.d.ts.map +0 -1
- package/dist/tools/ro/get-log.js +0 -46
- package/dist/tools/ro/get-log.js.map +0 -1
- package/dist/tools/ro/get-mediawiki-version.d.ts +0 -3
- package/dist/tools/ro/get-mediawiki-version.d.ts.map +0 -1
- package/dist/tools/ro/get-mediawiki-version.js +0 -20
- package/dist/tools/ro/get-mediawiki-version.js.map +0 -1
- package/dist/tools/ro/get-pages-by-prefix.d.ts +0 -3
- package/dist/tools/ro/get-pages-by-prefix.d.ts.map +0 -1
- package/dist/tools/ro/get-pages-by-prefix.js +0 -27
- package/dist/tools/ro/get-pages-by-prefix.js.map +0 -1
- package/dist/tools/ro/get-pages-in-category.d.ts +0 -3
- package/dist/tools/ro/get-pages-in-category.d.ts.map +0 -1
- package/dist/tools/ro/get-pages-in-category.js +0 -29
- package/dist/tools/ro/get-pages-in-category.js.map +0 -1
- package/dist/tools/ro/get-pages-in-namespace.d.ts +0 -3
- package/dist/tools/ro/get-pages-in-namespace.d.ts.map +0 -1
- package/dist/tools/ro/get-pages-in-namespace.js +0 -27
- package/dist/tools/ro/get-pages-in-namespace.js.map +0 -1
- package/dist/tools/ro/get-pages-transcluding.d.ts +0 -3
- package/dist/tools/ro/get-pages-transcluding.d.ts.map +0 -1
- package/dist/tools/ro/get-pages-transcluding.js +0 -32
- package/dist/tools/ro/get-pages-transcluding.js.map +0 -1
- package/dist/tools/ro/get-query-page.d.ts +0 -3
- package/dist/tools/ro/get-query-page.d.ts.map +0 -1
- package/dist/tools/ro/get-query-page.js +0 -27
- package/dist/tools/ro/get-query-page.js.map +0 -1
- package/dist/tools/ro/get-recent-changes.d.ts +0 -3
- package/dist/tools/ro/get-recent-changes.d.ts.map +0 -1
- package/dist/tools/ro/get-recent-changes.js +0 -43
- package/dist/tools/ro/get-recent-changes.js.map +0 -1
- package/dist/tools/ro/get-site-info.d.ts +0 -3
- package/dist/tools/ro/get-site-info.d.ts.map +0 -1
- package/dist/tools/ro/get-site-info.js +0 -23
- package/dist/tools/ro/get-site-info.js.map +0 -1
- package/dist/tools/ro/get-site-stats.d.ts +0 -3
- package/dist/tools/ro/get-site-stats.d.ts.map +0 -1
- package/dist/tools/ro/get-site-stats.js +0 -20
- package/dist/tools/ro/get-site-stats.js.map +0 -1
- package/dist/tools/ro/get-user-contribs.d.ts +0 -3
- package/dist/tools/ro/get-user-contribs.d.ts.map +0 -1
- package/dist/tools/ro/get-user-contribs.js +0 -39
- package/dist/tools/ro/get-user-contribs.js.map +0 -1
- package/dist/tools/ro/get-users.d.ts +0 -3
- package/dist/tools/ro/get-users.d.ts.map +0 -1
- package/dist/tools/ro/get-users.js +0 -29
- package/dist/tools/ro/get-users.js.map +0 -1
- package/dist/tools/ro/parse.d.ts +0 -3
- package/dist/tools/ro/parse.d.ts.map +0 -1
- package/dist/tools/ro/parse.js +0 -37
- package/dist/tools/ro/parse.js.map +0 -1
- package/dist/tools/ro/search.d.ts +0 -3
- package/dist/tools/ro/search.d.ts.map +0 -1
- package/dist/tools/ro/search.js +0 -32
- package/dist/tools/ro/search.js.map +0 -1
- package/dist/tools/ro/whoami.d.ts +0 -3
- package/dist/tools/ro/whoami.d.ts.map +0 -1
- package/dist/tools/ro/whoami.js +0 -20
- package/dist/tools/ro/whoami.js.map +0 -1
- package/dist/tools/ro/whoare.d.ts +0 -3
- package/dist/tools/ro/whoare.d.ts.map +0 -1
- package/dist/tools/ro/whoare.js +0 -19
- package/dist/tools/ro/whoare.js.map +0 -1
- package/dist/tools/ro/whois.d.ts +0 -3
- package/dist/tools/ro/whois.d.ts.map +0 -1
- package/dist/tools/ro/whois.js +0 -26
- package/dist/tools/ro/whois.js.map +0 -1
package/dist/common/nodemwBot.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import Bot from 'nodemw';
|
|
2
|
-
import { USER_AGENT } from '../server.js';
|
|
3
|
-
let botInstance = null;
|
|
4
|
-
let serverConfig = null;
|
|
5
|
-
export function initServerConfig(config) {
|
|
6
|
-
serverConfig = config;
|
|
7
|
-
}
|
|
8
|
-
export async function getBot() {
|
|
9
|
-
if (botInstance) {
|
|
10
|
-
return botInstance;
|
|
11
|
-
}
|
|
12
|
-
if (!serverConfig) {
|
|
13
|
-
throw new Error('Server not configured. Use --server to specify the MediaWiki server.');
|
|
14
|
-
}
|
|
15
|
-
const { server, endpoint, protocol, port, proxy, userAgent, concurrency, debug, username, password, token, domain, dryRun } = serverConfig;
|
|
16
|
-
botInstance = new Bot({
|
|
17
|
-
server,
|
|
18
|
-
protocol: protocol || 'https',
|
|
19
|
-
port,
|
|
20
|
-
path: endpoint,
|
|
21
|
-
proxy,
|
|
22
|
-
userAgent: userAgent || USER_AGENT,
|
|
23
|
-
concurrency,
|
|
24
|
-
debug,
|
|
25
|
-
username: username || undefined,
|
|
26
|
-
password: password || undefined,
|
|
27
|
-
domain,
|
|
28
|
-
// @ts-expect-error: dryRun is supported by nodemw at runtime but missing from BotOptions types
|
|
29
|
-
dryRun
|
|
30
|
-
});
|
|
31
|
-
if (username && password) {
|
|
32
|
-
await new Promise((resolve, reject) => {
|
|
33
|
-
botInstance.logIn((err) => {
|
|
34
|
-
if (err) {
|
|
35
|
-
reject(err);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
resolve();
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
return botInstance;
|
|
44
|
-
}
|
|
45
|
-
export function clearBotCache() {
|
|
46
|
-
botInstance = null;
|
|
47
|
-
}
|
|
48
|
-
export function promisifyBotMethod(bot, method, ...args) {
|
|
49
|
-
return new Promise((resolve, reject) => {
|
|
50
|
-
const callback = (err, result) => {
|
|
51
|
-
if (err) {
|
|
52
|
-
reject(err);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
resolve(result);
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
59
|
-
bot[method](...args, callback);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=nodemwBot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nodemwBot.js","sourceRoot":"","sources":["../../src/common/nodemwBot.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,QAAQ,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAkB1C,IAAI,WAAW,GAAe,IAAI,CAAC;AACnC,IAAI,YAAY,GAAwB,IAAI,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,MAAoB;IACpD,YAAY,GAAG,MAAM,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM;IAC3B,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,EACL,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,GAAG,YAAY,CAAC;IAEjB,WAAW,GAAG,IAAI,GAAG,CAAC;QACrB,MAAM;QACN,QAAQ,EAAE,QAAQ,IAAI,OAAO;QAC7B,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,KAAK;QACL,SAAS,EAAE,SAAS,IAAI,UAAU;QAClC,WAAW;QACX,KAAK;QACL,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,QAAQ,EAAE,QAAQ,IAAI,SAAS;QAC/B,MAAM;QACN,+FAA+F;QAC/F,MAAM;KACN,CAAC,CAAC;IAEH,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,WAAY,CAAC,KAAK,CAAC,CAAC,GAAiB,EAAE,EAAE;gBACxC,IAAI,GAAG,EAAE,CAAC;oBACT,MAAM,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,aAAa;IAC5B,WAAW,GAAG,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,GAAQ,EACR,MAAc,EACd,GAAG,IAAe;IAElB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,MAAS,EAAE,EAAE;YACjD,IAAI,GAAG,EAAE,CAAC;gBACT,MAAM,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC;QAEF,8DAA8D;QAC7D,GAAW,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/common/utils.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import Bot = require('nodemw');
|
|
2
|
-
import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
export declare function promisifyBotMethod<T>(bot: Bot, method: string, ...args: unknown[]): Promise<T>;
|
|
4
|
-
export declare function isNonNullish<T>(value: T | null | undefined): value is T;
|
|
5
|
-
export declare function jsonResult(data: unknown): CallToolResult;
|
|
6
|
-
export declare function errorResult(message: string, error?: Error): CallToolResult;
|
|
7
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,GAAG,QAAQ,QAAQ,CAAC,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,wBAAgB,kBAAkB,CAAC,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,GAAG,IAAI,EAAE,OAAO,EAAE,GAChB,OAAO,CAAC,CAAC,CAAC,CAaZ;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC7B,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,SAAS,GACzB,KAAK,IAAI,CAAC,CAEZ;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAOxD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,cAAc,CAW1E"}
|
package/dist/common/utils.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export function promisifyBotMethod(bot, method, ...args) {
|
|
2
|
-
return new Promise((resolve, reject) => {
|
|
3
|
-
const callback = (err, result) => {
|
|
4
|
-
if (err) {
|
|
5
|
-
reject(err);
|
|
6
|
-
}
|
|
7
|
-
else {
|
|
8
|
-
resolve(result);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
12
|
-
bot[method](...args, callback);
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
export function isNonNullish(value) {
|
|
16
|
-
return value !== null && value !== undefined;
|
|
17
|
-
}
|
|
18
|
-
export function jsonResult(data) {
|
|
19
|
-
return {
|
|
20
|
-
content: [{
|
|
21
|
-
type: 'text',
|
|
22
|
-
text: JSON.stringify(data, null, 2)
|
|
23
|
-
}]
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export function errorResult(message, error) {
|
|
27
|
-
return {
|
|
28
|
-
content: [{
|
|
29
|
-
type: 'text',
|
|
30
|
-
text: JSON.stringify({
|
|
31
|
-
error: message,
|
|
32
|
-
details: error?.message
|
|
33
|
-
}, null, 2)
|
|
34
|
-
}],
|
|
35
|
-
isError: true
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/common/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/common/utils.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,kBAAkB,CACjC,GAAQ,EACR,MAAc,EACd,GAAG,IAAe;IAElB,OAAO,IAAI,OAAO,CAAE,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;QACzC,MAAM,QAAQ,GAAG,CAAE,GAAiB,EAAE,MAAS,EAAG,EAAE;YACnD,IAAK,GAAG,EAAG,CAAC;gBACX,MAAM,CAAE,GAAG,CAAE,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAE,MAAM,CAAE,CAAC;YACnB,CAAC;QACF,CAAC,CAAC;QAEF,8DAA8D;QAC5D,GAAY,CAAE,MAAM,CAAE,CAAE,GAAG,IAAI,EAAE,QAAQ,CAAE,CAAC;IAC/C,CAAC,CAAE,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAC3B,KAA2B;IAE3B,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAa;IACvC,OAAO;QACN,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;aACnC,CAAC;KACF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,KAAa;IACzD,OAAO;QACN,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,KAAK,EAAE,OAAO;iBACvB,EAAE,IAAI,EAAE,CAAC,CAAC;aACX,CAAC;QACF,OAAO,EAAE,IAAI;KACb,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
DELETED
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/dist/server.d.ts
DELETED
package/dist/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,eAAO,MAAM,UAAU,0BAA0B,CAAC;AAElD,wBAAgB,YAAY,IAAI,SAAS,CAQxC"}
|
package/dist/server.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
export const USER_AGENT = 'nodemw-mcp-server/1.0';
|
|
3
|
-
export function createServer() {
|
|
4
|
-
return new McpServer({
|
|
5
|
-
name: 'nodemw-mcp-server',
|
|
6
|
-
version: '1.0.0'
|
|
7
|
-
}, { capabilities: { tools: {} } });
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAElD,MAAM,UAAU,YAAY;IAC3B,OAAO,IAAI,SAAS,CACnB;QACC,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,OAAO;KAChB,EACD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAC/B,CAAC;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-flow-topic.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/add-flow-topic.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,gBAAgB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBpE"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function addFlowTopicTool(server) {
|
|
5
|
-
return server.tool('add-flow-topic', 'Add a new Flow topic to a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title to add topic to'),
|
|
7
|
-
subject: z.string().describe('Topic subject'),
|
|
8
|
-
content: z.string().describe('Topic content in wikitext'),
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Add Flow topic',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: false
|
|
13
|
-
}, async (params) => handleAddFlowTopicTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handleAddFlowTopicTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const result = await promisifyBotMethod(bot, 'addFlowTopic', params.title, params.subject, params.content);
|
|
19
|
-
return jsonResult(result);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
return errorResult('Failed to add Flow topic', error);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=add-flow-topic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"add-flow-topic.js","sourceRoot":"","sources":["../../../src/tools/editing/add-flow-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,gBAAgB,CAAE,MAAiB;IAClD,OAAO,MAAM,CAAC,IAAI,CACjB,gBAAgB,EAChB,+DAA+D,EAC/D;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,4BAA4B,CAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,2BAA2B,CAAE;KAC3D,EACD;QACC,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,sBAAsB,CAAE,MAAM,CAAE,CACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CACpC,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,cAAc,EACd,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CACd,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/append.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,UAAU,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB9D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function appendTool(server) {
|
|
5
|
-
return server.tool('append', 'Append content to a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title'),
|
|
7
|
-
content: z.string().describe('Content to append'),
|
|
8
|
-
summary: z.string().describe('Edit summary')
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Append to page',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: true
|
|
13
|
-
}, async (params) => handleAppendTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handleAppendTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
|
|
19
|
-
await promisifyBotMethod(bot, 'append', params.title, params.content, prefixedSummary);
|
|
20
|
-
return jsonResult({ success: true, title: params.title });
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
return errorResult('Failed to append to page', error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=append.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"append.js","sourceRoot":"","sources":["../../../src/tools/editing/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,UAAU,CAAE,MAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CACjB,QAAQ,EACR,yDAAyD,EACzD;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,YAAY,CAAE;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,mBAAmB,CAAE;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,gBAAgB;QACvB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,gBAAgB,CAAE,MAAM,CAAE,CAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,kBAAkB,CACvB,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-account.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/create-account.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,iBAAiB,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAerE"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function createAccountTool(server) {
|
|
5
|
-
return server.tool('create-account', 'Create a new MediaWiki user account (requires authentication)', {
|
|
6
|
-
username: z.string().describe('New account username'),
|
|
7
|
-
password: z.string().describe('New account password'),
|
|
8
|
-
}, {
|
|
9
|
-
title: 'Create user account',
|
|
10
|
-
readOnlyHint: false,
|
|
11
|
-
destructiveHint: false
|
|
12
|
-
}, async (params) => handleCreateAccountTool(params));
|
|
13
|
-
}
|
|
14
|
-
async function handleCreateAccountTool(params) {
|
|
15
|
-
try {
|
|
16
|
-
const bot = await getBot();
|
|
17
|
-
const result = await promisifyBotMethod(bot, 'createAccount', params.username, params.password);
|
|
18
|
-
return jsonResult(result);
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
return errorResult('Failed to create account', error);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=create-account.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-account.js","sourceRoot":"","sources":["../../../src/tools/editing/create-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,iBAAiB,CAAE,MAAiB;IACnD,OAAO,MAAM,CAAC,IAAI,CACjB,gBAAgB,EAChB,+DAA+D,EAC/D;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;QACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;KACvD,EACD;QACC,KAAK,EAAE,qBAAqB;QAC5B,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,uBAAuB,CAAE,MAAM,CAAE,CACrD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,MAGC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,eAAe,EACf,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,0BAA0B,EAAE,KAAc,CAAC,CAAC;IAChE,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,UAAU,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAe9D"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function deleteTool(server) {
|
|
5
|
-
return server.tool('delete', 'Delete a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title to delete'),
|
|
7
|
-
reason: z.string().describe('Reason for deletion'),
|
|
8
|
-
}, {
|
|
9
|
-
title: 'Delete page',
|
|
10
|
-
readOnlyHint: false,
|
|
11
|
-
destructiveHint: true
|
|
12
|
-
}, async (params) => handleDeleteTool(params));
|
|
13
|
-
}
|
|
14
|
-
async function handleDeleteTool(params) {
|
|
15
|
-
try {
|
|
16
|
-
const bot = await getBot();
|
|
17
|
-
const prefixedReason = `[nodemw-mcp] ${params.reason}`;
|
|
18
|
-
const result = await promisifyBotMethod(bot, 'delete', params.title, prefixedReason);
|
|
19
|
-
return jsonResult(result);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
return errorResult('Failed to delete page', error);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/tools/editing/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,UAAU,CAAE,MAAiB;IAC5C,OAAO,MAAM,CAAC,IAAI,CACjB,QAAQ,EACR,8CAA8C,EAC9C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,sBAAsB,CAAE;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,qBAAqB,CAAE;KACpD,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,gBAAgB,CAAE,MAAM,CAAE,CAC9C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,MAGC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAItC,GAAG,EACH,QAAQ,EACR,MAAM,CAAC,KAAK,EACZ,cAAc,CACd,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,QAAQ,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAiB5D"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function editTool(server) {
|
|
5
|
-
return server.tool('edit', 'Edit a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title to edit'),
|
|
7
|
-
content: z.string().describe('New content for the page'),
|
|
8
|
-
summary: z.string().describe('Edit summary'),
|
|
9
|
-
minor: z.boolean().optional().default(false).describe('Mark as minor edit')
|
|
10
|
-
}, {
|
|
11
|
-
title: 'Edit page',
|
|
12
|
-
readOnlyHint: false,
|
|
13
|
-
destructiveHint: true
|
|
14
|
-
}, async (params) => handleEditTool(params));
|
|
15
|
-
}
|
|
16
|
-
async function handleEditTool(params) {
|
|
17
|
-
try {
|
|
18
|
-
const bot = await getBot();
|
|
19
|
-
const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
|
|
20
|
-
const result = await promisifyBotMethod(bot, 'edit', params.title, params.content, prefixedSummary, params.minor || false);
|
|
21
|
-
return jsonResult(result);
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
return errorResult('Failed to edit page', error);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/editing/edit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,QAAQ,CAAE,MAAiB;IAC1C,OAAO,MAAM,CAAC,IAAI,CACjB,MAAM,EACN,4CAA4C,EAC5C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QAClD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,0BAA0B,CAAE;QAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;QAC9C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAE,KAAK,CAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;KAC/E,EACD;QACC,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,cAAc,CAAE,MAAM,CAAE,CAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAKC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,EACf,MAAM,CAAC,KAAK,IAAI,KAAK,CACrB,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/move.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,QAAQ,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB5D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function moveTool(server) {
|
|
5
|
-
return server.tool('move', 'Move (rename) a wiki page (requires authentication)', {
|
|
6
|
-
from: z.string().describe('Current page title'),
|
|
7
|
-
to: z.string().describe('New page title'),
|
|
8
|
-
summary: z.string().describe('Move summary'),
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Move page',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: true
|
|
13
|
-
}, async (params) => handleMoveTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handleMoveTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
|
|
19
|
-
const result = await promisifyBotMethod(bot, 'move', params.from, params.to, prefixedSummary);
|
|
20
|
-
return jsonResult(result);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
return errorResult('Failed to move page', error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=move.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"move.js","sourceRoot":"","sources":["../../../src/tools/editing/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,QAAQ,CAAE,MAAiB;IAC1C,OAAO,MAAM,CAAC,IAAI,CACjB,MAAM,EACN,qDAAqD,EACrD;QACC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QACjD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,gBAAgB,CAAE;QAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,cAAc,CAAE,MAAM,CAAE,CAC5C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC5B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAKtC,GAAG,EACH,MAAM,EACN,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,qBAAqB,EAAE,KAAc,CAAC,CAAC;IAC3D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepend.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/prepend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,WAAW,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgB/D"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function prependTool(server) {
|
|
5
|
-
return server.tool('prepend', 'Prepend content to a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title to prepend to'),
|
|
7
|
-
content: z.string().describe('Content to prepend'),
|
|
8
|
-
summary: z.string().describe('Edit summary'),
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Prepend to page',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: true
|
|
13
|
-
}, async (params) => handlePrependTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handlePrependTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const prefixedSummary = `[nodemw-mcp] ${params.summary}`;
|
|
19
|
-
const result = await promisifyBotMethod(bot, 'prepend', params.title, params.content, prefixedSummary);
|
|
20
|
-
return jsonResult(result);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
return errorResult('Failed to prepend to page', error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=prepend.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepend.js","sourceRoot":"","sources":["../../../src/tools/editing/prepend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAE,MAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CACjB,SAAS,EACT,0DAA0D,EAC1D;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,0BAA0B,CAAE;QACxD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,oBAAoB,CAAE;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,cAAc,CAAE;KAC9C,EACD;QACC,KAAK,EAAE,iBAAiB;QACxB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,iBAAiB,CAAE,MAAM,CAAE,CAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,gBAAgB,MAAM,CAAC,OAAO,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAMtC,GAAG,EACH,SAAS,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,OAAO,EACd,eAAe,CACf,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,2BAA2B,EAAE,KAAc,CAAC,CAAC;IACjE,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protect.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/protect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,WAAW,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAuB/D"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function protectTool(server) {
|
|
5
|
-
return server.tool('protect', 'Protect a wiki page (requires authentication)', {
|
|
6
|
-
title: z.string().describe('Page title to protect'),
|
|
7
|
-
protections: z.array(z.object({
|
|
8
|
-
type: z.string().describe('Action type (e.g., edit, move)'),
|
|
9
|
-
level: z.string().optional().default('all').describe('Protection level (e.g., sysop, autoconfirmed)'),
|
|
10
|
-
expiry: z.string().optional().describe('Expiry time (e.g., 1 week, never)')
|
|
11
|
-
})).describe('Protection settings'),
|
|
12
|
-
reason: z.string().optional().describe('Reason for protection'),
|
|
13
|
-
cascade: z.boolean().optional().default(false).describe('Apply cascade protection')
|
|
14
|
-
}, {
|
|
15
|
-
title: 'Protect page',
|
|
16
|
-
readOnlyHint: false,
|
|
17
|
-
destructiveHint: true
|
|
18
|
-
}, async (params) => handleProtectTool(params));
|
|
19
|
-
}
|
|
20
|
-
async function handleProtectTool(params) {
|
|
21
|
-
try {
|
|
22
|
-
const bot = await getBot();
|
|
23
|
-
const options = {};
|
|
24
|
-
if (params.reason) {
|
|
25
|
-
options.reason = `[nodemw-mcp] ${params.reason}`;
|
|
26
|
-
}
|
|
27
|
-
if (params.cascade) {
|
|
28
|
-
options.cascade = params.cascade;
|
|
29
|
-
}
|
|
30
|
-
const result = await promisifyBotMethod(bot, 'protect', params.title, params.protections, options);
|
|
31
|
-
return jsonResult(result);
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
return errorResult('Failed to protect page', error);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=protect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"protect.js","sourceRoot":"","sources":["../../../src/tools/editing/protect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,WAAW,CAAE,MAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CACjB,SAAS,EACT,+CAA+C,EAC/C;QACC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,uBAAuB,CAAE;QACrD,WAAW,EAAE,CAAC,CAAC,KAAK,CACnB,CAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,gCAAgC,CAAE;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAE,+CAA+C,CAAE;YACvG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,mCAAmC,CAAE;SAC7E,CAAC,CACF,CAAC,QAAQ,CAAE,qBAAqB,CAAE;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAE,uBAAuB,CAAE;QACjE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAE,0BAA0B,CAAE;KACrF,EACD;QACC,KAAK,EAAE,cAAc;QACrB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,IAAI;KACF,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,iBAAiB,CAAE,MAAM,CAAE,CAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC/B,MAKC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,GAAG,gBAAgB,MAAM,CAAC,MAAM,EAAE,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAItC,GAAG,EACH,SAAS,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,WAAW,EAClB,OAAO,CACP,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,wBAAwB,EAAE,KAAc,CAAC,CAAC;IAC9D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purge.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/purge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,SAAS,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAc7D"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function purgeTool(server) {
|
|
5
|
-
return server.tool('purge', 'Purge cache for wiki pages', {
|
|
6
|
-
titles: z.union([z.string(), z.array(z.string())]).describe('Page title(s) or category to purge'),
|
|
7
|
-
}, {
|
|
8
|
-
title: 'Purge pages',
|
|
9
|
-
readOnlyHint: false,
|
|
10
|
-
destructiveHint: false
|
|
11
|
-
}, async (params) => handlePurgeTool(params));
|
|
12
|
-
}
|
|
13
|
-
async function handlePurgeTool(params) {
|
|
14
|
-
try {
|
|
15
|
-
const bot = await getBot();
|
|
16
|
-
const result = await promisifyBotMethod(bot, 'purge', params.titles);
|
|
17
|
-
return jsonResult(result);
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
return errorResult('Failed to purge pages', error);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=purge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"purge.js","sourceRoot":"","sources":["../../../src/tools/editing/purge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,SAAS,CAAE,MAAiB;IAC3C,OAAO,MAAM,CAAC,IAAI,CACjB,OAAO,EACP,4BAA4B,EAC5B;QACC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAE,oCAAoC,CAAE;KACnG,EACD;QACC,KAAK,EAAE,aAAa;QACpB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,eAAe,CAAE,MAAM,CAAE,CAC7C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,MAEC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACtC,GAAG,EACH,OAAO,EACP,MAAM,CAAC,MAAM,CACb,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,uBAAuB,EAAE,KAAc,CAAC,CAAC;IAC7D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send-email.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/send-email.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,aAAa,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBjE"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function sendEmailTool(server) {
|
|
5
|
-
return server.tool('send-email', 'Send email to a wiki user (requires authentication)', {
|
|
6
|
-
username: z.string().describe('Username to email'),
|
|
7
|
-
subject: z.string().describe('Email subject'),
|
|
8
|
-
text: z.string().describe('Email content'),
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Send email',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: false
|
|
13
|
-
}, async (params) => handleSendEmailTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handleSendEmailTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const result = await promisifyBotMethod(bot, 'sendEmail', params.username, params.subject, params.text);
|
|
19
|
-
return jsonResult(result);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
return errorResult('Failed to send email', error);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=send-email.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send-email.js","sourceRoot":"","sources":["../../../src/tools/editing/send-email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,UAAU,aAAa,CAAE,MAAiB;IAC/C,OAAO,MAAM,CAAC,IAAI,CACjB,YAAY,EACZ,qDAAqD,EACrD;QACC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,mBAAmB,CAAE;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAE,eAAe,CAAE;KAC5C,EACD;QACC,KAAK,EAAE,YAAY;QACnB,YAAY,EAAE,KAAK;QACnB,eAAe,EAAE,KAAK;KACH,EACpB,KAAK,EAAG,MAAM,EAAG,EAAE,CAAC,mBAAmB,CAAE,MAAM,CAAE,CACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,MAIC;IAED,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAGtC,GAAG,EACH,WAAW,EACX,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,IAAI,CACX,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAQ,KAAK,EAAG,CAAC;QAClB,OAAO,WAAW,CAAC,sBAAsB,EAAE,KAAc,CAAC,CAAC;IAC5D,CAAC;AACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload-by-url.d.ts","sourceRoot":"","sources":["../../../src/tools/editing/upload-by-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAKzF,wBAAgB,eAAe,CAAE,MAAM,EAAE,SAAS,GAAI,cAAc,CAgBnE"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { getBot, promisifyBotMethod } from '../../common/nodemwBot.js';
|
|
3
|
-
import { jsonResult, errorResult } from '../../common/utils.js';
|
|
4
|
-
export function uploadByUrlTool(server) {
|
|
5
|
-
return server.tool('upload-by-url', 'Upload a file to wiki from URL (requires authentication)', {
|
|
6
|
-
filename: z.string().describe('Destination filename on wiki'),
|
|
7
|
-
url: z.string().url().describe('Source URL to download file from'),
|
|
8
|
-
summary: z.string().optional().describe('Upload summary'),
|
|
9
|
-
}, {
|
|
10
|
-
title: 'Upload file by URL',
|
|
11
|
-
readOnlyHint: false,
|
|
12
|
-
destructiveHint: false
|
|
13
|
-
}, async (params) => handleUploadByUrlTool(params));
|
|
14
|
-
}
|
|
15
|
-
async function handleUploadByUrlTool(params) {
|
|
16
|
-
try {
|
|
17
|
-
const bot = await getBot();
|
|
18
|
-
const prefixedSummary = params.summary ? `[nodemw-mcp] ${params.summary}` : '[nodemw-mcp] File upload from URL';
|
|
19
|
-
const result = await promisifyBotMethod(bot, 'uploadByUrl', params.filename, params.url, prefixedSummary);
|
|
20
|
-
return jsonResult(result);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
return errorResult('Failed to upload file by URL', error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=upload-by-url.js.map
|