@aiquants/html-to-markdown 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +100 -18
- package/dist/{core-CVMYjtlI.cjs → core-D2dlEt1l.cjs} +1 -1
- package/dist/{core-DOzMLPij.js → core-DU_246Q7.js} +52 -14
- package/dist/index.cjs +1 -1
- package/dist/index.js +8 -2
- package/dist/main.cjs +1 -1
- package/dist/main.js +1 -1
- package/dist/mcp-server-CpmnW1p8.js +283 -0
- package/dist/mcp-server-D4Mj1IQ9.cjs +1 -0
- package/dist/mcp-server-streamable-Bu7QAr3W.cjs +1 -0
- package/dist/mcp-server-streamable-CQD5zK30.js +7538 -0
- package/dist/mcp-streamable.cjs +2 -0
- package/dist/mcp-streamable.js +6 -0
- package/dist/mcp.cjs +2 -0
- package/dist/mcp.js +13 -0
- package/dist/src/core.d.ts +4 -4
- package/dist/src/index.d.ts +2 -0
- package/dist/src/mcp-server-streamable.d.ts +74 -0
- package/dist/src/mcp-server.d.ts +57 -0
- package/dist/src/mcp-streamable.d.ts +6 -0
- package/dist/src/mcp.d.ts +6 -0
- package/dist/src/types.d.ts +5 -0
- package/dist/src/version.d.ts +9 -0
- package/dist/tests/core-unified.test.d.ts +5 -0
- package/dist/tests/coverage-complete.test.d.ts +5 -0
- package/dist/tests/mcp-unified.test.d.ts +5 -0
- package/dist/tests/plugins-unified.test.d.ts +5 -0
- package/dist/tests/test-client.d.ts +4 -0
- package/dist/version-BRVBmpor.js +11318 -0
- package/dist/version-DTaUKNBS.cjs +1 -0
- package/mcp.json +14 -0
- package/package.json +27 -10
- package/dist/tests/100-percent-final.test.d.ts +0 -1
- package/dist/tests/absolute-final-coverage.test.d.ts +0 -1
- package/dist/tests/browser-100.test.d.ts +0 -1
- package/dist/tests/browser-coverage.test.d.ts +0 -1
- package/dist/tests/browser.test.d.ts +0 -1
- package/dist/tests/cli.test.d.ts +0 -1
- package/dist/tests/converter-coverage.test.d.ts +0 -1
- package/dist/tests/converter.test.d.ts +0 -1
- package/dist/tests/core.test.d.ts +0 -1
- package/dist/tests/coverage-edge-cases.test.d.ts +0 -1
- package/dist/tests/direct-coverage.test.d.ts +0 -1
- package/dist/tests/final-100-percent.test.d.ts +0 -1
- package/dist/tests/final-coverage.test.d.ts +0 -1
- package/dist/tests/i18n.test.d.ts +0 -1
- package/dist/tests/index.test.d.ts +0 -1
- package/dist/tests/line-70-coverage.test.d.ts +0 -1
- package/dist/tests/main.test.d.ts +0 -1
- package/dist/tests/plugins.test.d.ts +0 -1
- package/dist/tests/readme-usage.test.d.ts +0 -1
- package/dist/tests/rehype-absolute-links-coverage.test.d.ts +0 -1
- package/dist/tests/rehype-absolute-links.test.d.ts +0 -1
- package/dist/tests/rehype-named-anchors.test.d.ts +0 -1
- package/dist/tests/rehype-sanitize-html-coverage.test.d.ts +0 -1
- package/dist/tests/rehype-sanitize-html.test.d.ts +0 -1
- package/dist/tests/rehype-wikipedia-footnotes.test.d.ts +0 -1
- package/dist/tests/types.test.d.ts +0 -1
- package/dist/tests/ultimate-coverage.test.d.ts +0 -1
- /package/dist/tests/{100-percent-coverage.test.d.ts → entry-points-error.test.d.ts} +0 -0
package/dist/mcp.cjs
ADDED
package/dist/mcp.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Window } from "happy-dom";
|
|
3
|
+
const window = new Window();
|
|
4
|
+
Object.assign(global, {
|
|
5
|
+
document: window.document,
|
|
6
|
+
window,
|
|
7
|
+
self: window
|
|
8
|
+
});
|
|
9
|
+
import { r as runMcpServer } from "./mcp-server-CpmnW1p8.js";
|
|
10
|
+
runMcpServer().catch((error) => {
|
|
11
|
+
console.error("Failed to start MCP server:", error);
|
|
12
|
+
process.exit(1);
|
|
13
|
+
});
|
package/dist/src/core.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { HtmlToMarkdownOptions } from './types.js';
|
|
2
2
|
/**
|
|
3
|
-
* Converts the HTML content of a given URL to Markdown.
|
|
4
|
-
* 指定されたURL
|
|
3
|
+
* Converts the HTML content of a given URL or HTML string to Markdown.
|
|
4
|
+
* 指定されたURLまたはHTML文字列のHTMLコンテンツをMarkdownに変換します。
|
|
5
5
|
*
|
|
6
|
-
* @param
|
|
6
|
+
* @param urlOrHtml The URL of the web page to convert or HTML string when using htmlContent option. / 変換対象のWebページのURLまたはhtmlContentオプション使用時のHTML文字列。
|
|
7
7
|
* @param options Options for the conversion process. / 変換プロセスのオプション。
|
|
8
8
|
* @returns A promise that resolves to an object containing the HTML and Markdown strings. / HTMLとMarkdown文字列を含むオブジェクトを解決するPromise。
|
|
9
9
|
*/
|
|
10
|
-
export declare const htmlToMarkdown: (
|
|
10
|
+
export declare const htmlToMarkdown: (urlOrHtml: string, options?: HtmlToMarkdownOptions) => Promise<{
|
|
11
11
|
html: string;
|
|
12
12
|
markdown: string;
|
|
13
13
|
}>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -5,3 +5,5 @@
|
|
|
5
5
|
export { htmlToMarkdown } from './core.js';
|
|
6
6
|
export { getMessage } from './i18n.js';
|
|
7
7
|
export type { HtmlToMarkdownOptions } from './types.js';
|
|
8
|
+
export { createMcpServer, runMcpServer } from './mcp-server.js';
|
|
9
|
+
export { createStreamableMcpServer, runStreamableMcpServer } from './mcp-server-streamable.ts';
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
import { CallToolResult, Progress, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The context for a tool call.
|
|
5
|
+
* ツール呼び出しのコンテキスト
|
|
6
|
+
*/
|
|
7
|
+
export type ToolContext<T = unknown> = {
|
|
8
|
+
[toolName: string]: T;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Arguments for HTML to Markdown conversion tool.
|
|
12
|
+
* HTML から Markdown への変換ツールの引数
|
|
13
|
+
*/
|
|
14
|
+
interface HtmlToMarkdownArgs {
|
|
15
|
+
url?: string;
|
|
16
|
+
html_content?: string;
|
|
17
|
+
locale?: "en-US" | "ja-JP";
|
|
18
|
+
output_format?: "markdown" | "html" | "both";
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extended Tool interface with handler function.
|
|
22
|
+
* ハンドラー関数を含む拡張 Tool インターフェース
|
|
23
|
+
*/
|
|
24
|
+
interface ExtendedTool extends Tool {
|
|
25
|
+
handler: (args: HtmlToMarkdownArgs, context: ToolContext<HtmlToMarkdownArgs>) => AsyncGenerator<Progress | {
|
|
26
|
+
type: "result";
|
|
27
|
+
result: CallToolResult;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Streamable MCP Server for HTML to Markdown conversion.
|
|
32
|
+
* HTML から Markdown への変換を行う streamable MCP サーバー
|
|
33
|
+
*/
|
|
34
|
+
export declare class StreamableHtmlToMarkdownMcpServer {
|
|
35
|
+
private server;
|
|
36
|
+
private transport;
|
|
37
|
+
readonly tools: ExtendedTool[];
|
|
38
|
+
private readonly version;
|
|
39
|
+
constructor();
|
|
40
|
+
/**
|
|
41
|
+
* Get the underlying MCP server instance.
|
|
42
|
+
* 内部の MCP サーバーインスタンスを取得します。
|
|
43
|
+
*/
|
|
44
|
+
getServer(): Server;
|
|
45
|
+
/**
|
|
46
|
+
* Setup request handlers for the streamable MCP server.
|
|
47
|
+
* streamable MCP サーバーのリクエストハンドラーを設定
|
|
48
|
+
*/
|
|
49
|
+
setupRequestHandlers(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Handle HTML to Markdown conversion tool call with streamable support.
|
|
52
|
+
* streamable サポート付きの HTML から Markdown への変換ツール呼び出しを処理
|
|
53
|
+
*/
|
|
54
|
+
handleHtmlToMarkdown(args: HtmlToMarkdownArgs, _context: ToolContext<HtmlToMarkdownArgs>): AsyncGenerator<Progress | {
|
|
55
|
+
type: "result";
|
|
56
|
+
result: CallToolResult;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Start the streamable MCP server.
|
|
60
|
+
* streamable MCP サーバーを開始
|
|
61
|
+
*/
|
|
62
|
+
start(host?: string, port?: number): Promise<void>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create and start streamable MCP server instance.
|
|
66
|
+
* streamable MCP サーバーインスタンスを作成して開始
|
|
67
|
+
*/
|
|
68
|
+
export declare const createStreamableMcpServer: () => StreamableHtmlToMarkdownMcpServer;
|
|
69
|
+
/**
|
|
70
|
+
* Main function to run streamable MCP server.
|
|
71
|
+
* streamable MCP サーバーを実行するメイン関数
|
|
72
|
+
*/
|
|
73
|
+
export declare const runStreamableMcpServer: () => Promise<void>;
|
|
74
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Arguments for HTML to Markdown conversion tool.
|
|
4
|
+
* HTML から Markdown への変換ツールの引数
|
|
5
|
+
*/
|
|
6
|
+
interface HtmlToMarkdownArgs {
|
|
7
|
+
url?: string;
|
|
8
|
+
html_content?: string;
|
|
9
|
+
locale?: "en-US" | "ja-JP";
|
|
10
|
+
output_format?: "markdown" | "html" | "both";
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validate and parse arguments for HTML to Markdown conversion.
|
|
14
|
+
* HTML から Markdown への変換の引数を検証・解析
|
|
15
|
+
*/
|
|
16
|
+
export declare function parseHtmlToMarkdownArgs(args: HtmlToMarkdownArgs | undefined): HtmlToMarkdownArgs;
|
|
17
|
+
/**
|
|
18
|
+
* MCP Server for HTML to Markdown conversion.
|
|
19
|
+
* HTML から Markdown への変換を行う MCP サーバー
|
|
20
|
+
*/
|
|
21
|
+
export declare class HtmlToMarkdownMcpServer {
|
|
22
|
+
server: Server;
|
|
23
|
+
private readonly version;
|
|
24
|
+
constructor();
|
|
25
|
+
/**
|
|
26
|
+
* Setup tool handlers for the MCP server.
|
|
27
|
+
* MCP サーバーのツールハンドラーを設定
|
|
28
|
+
*/
|
|
29
|
+
setupToolHandlers(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Handle HTML to Markdown conversion tool call.
|
|
32
|
+
* HTML から Markdown への変換ツール呼び出しを処理
|
|
33
|
+
*/
|
|
34
|
+
handleHtmlToMarkdown(args: HtmlToMarkdownArgs | undefined): Promise<{
|
|
35
|
+
content: {
|
|
36
|
+
type: string;
|
|
37
|
+
text: string;
|
|
38
|
+
}[];
|
|
39
|
+
isError: boolean;
|
|
40
|
+
}>;
|
|
41
|
+
/**
|
|
42
|
+
* Start the MCP server.
|
|
43
|
+
* MCP サーバーを開始
|
|
44
|
+
*/
|
|
45
|
+
start(): Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Create and start MCP server instance.
|
|
49
|
+
* MCP サーバーインスタンスを作成して開始
|
|
50
|
+
*/
|
|
51
|
+
export declare const createMcpServer: () => HtmlToMarkdownMcpServer;
|
|
52
|
+
/**
|
|
53
|
+
* Main function to run MCP server.
|
|
54
|
+
* MCP サーバーを実行するメイン関数
|
|
55
|
+
*/
|
|
56
|
+
export declare const runMcpServer: () => Promise<void>;
|
|
57
|
+
export {};
|
package/dist/src/types.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export interface HtmlToMarkdownOptions {
|
|
|
14
14
|
* ブラウザコンテキストで使用するロケール。デフォルトは 'en-US' です。
|
|
15
15
|
*/
|
|
16
16
|
locale?: string;
|
|
17
|
+
/**
|
|
18
|
+
* HTML content as a string instead of fetching from URL.
|
|
19
|
+
* URL から取得する代わりに HTML コンテンツを文字列として直接指定します。
|
|
20
|
+
*/
|
|
21
|
+
htmlContent?: string;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* Message keys for i18n.
|