@cyanheads/mcp-ts-core 0.5.3 → 0.6.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/CLAUDE.md +41 -2
- package/README.md +1 -1
- package/changelog/0.1.x/0.1.0.md +78 -0
- package/changelog/0.1.x/0.1.1.md +28 -0
- package/changelog/0.1.x/0.1.10.md +32 -0
- package/changelog/0.1.x/0.1.11.md +51 -0
- package/changelog/0.1.x/0.1.12.md +21 -0
- package/changelog/0.1.x/0.1.13.md +16 -0
- package/changelog/0.1.x/0.1.14.md +20 -0
- package/changelog/0.1.x/0.1.15.md +24 -0
- package/changelog/0.1.x/0.1.16.md +17 -0
- package/changelog/0.1.x/0.1.17.md +14 -0
- package/changelog/0.1.x/0.1.18.md +18 -0
- package/changelog/0.1.x/0.1.19.md +19 -0
- package/changelog/0.1.x/0.1.2.md +25 -0
- package/changelog/0.1.x/0.1.20.md +21 -0
- package/changelog/0.1.x/0.1.21.md +17 -0
- package/changelog/0.1.x/0.1.22.md +28 -0
- package/changelog/0.1.x/0.1.23.md +23 -0
- package/changelog/0.1.x/0.1.24.md +17 -0
- package/changelog/0.1.x/0.1.25.md +16 -0
- package/changelog/0.1.x/0.1.26.md +22 -0
- package/changelog/0.1.x/0.1.27.md +30 -0
- package/changelog/0.1.x/0.1.28.md +16 -0
- package/changelog/0.1.x/0.1.29.md +19 -0
- package/changelog/0.1.x/0.1.3.md +22 -0
- package/changelog/0.1.x/0.1.4.md +17 -0
- package/changelog/0.1.x/0.1.5.md +25 -0
- package/changelog/0.1.x/0.1.6.md +26 -0
- package/changelog/0.1.x/0.1.7.md +29 -0
- package/changelog/0.1.x/0.1.8.md +33 -0
- package/changelog/0.1.x/0.1.9.md +19 -0
- package/changelog/0.2.x/0.2.0.md +32 -0
- package/changelog/0.2.x/0.2.1.md +12 -0
- package/changelog/0.2.x/0.2.10.md +38 -0
- package/changelog/0.2.x/0.2.11.md +29 -0
- package/changelog/0.2.x/0.2.12.md +31 -0
- package/changelog/0.2.x/0.2.2.md +19 -0
- package/changelog/0.2.x/0.2.3.md +15 -0
- package/changelog/0.2.x/0.2.4.md +24 -0
- package/changelog/0.2.x/0.2.5.md +27 -0
- package/changelog/0.2.x/0.2.6.md +23 -0
- package/changelog/0.2.x/0.2.7.md +23 -0
- package/changelog/0.2.x/0.2.8.md +12 -0
- package/changelog/0.2.x/0.2.9.md +25 -0
- package/changelog/0.3.x/0.3.0.md +45 -0
- package/changelog/0.3.x/0.3.1.md +16 -0
- package/changelog/0.3.x/0.3.2.md +24 -0
- package/changelog/0.3.x/0.3.3.md +31 -0
- package/changelog/0.3.x/0.3.4.md +31 -0
- package/changelog/0.3.x/0.3.5.md +32 -0
- package/changelog/0.3.x/0.3.6.md +48 -0
- package/changelog/0.3.x/0.3.7.md +23 -0
- package/changelog/0.3.x/0.3.8.md +21 -0
- package/changelog/0.4.x/0.4.0.md +38 -0
- package/changelog/0.4.x/0.4.1.md +31 -0
- package/changelog/0.5.x/0.5.0.md +29 -0
- package/changelog/0.5.x/0.5.1.md +18 -0
- package/changelog/0.5.x/0.5.2.md +38 -0
- package/changelog/0.5.x/0.5.3.md +26 -0
- package/changelog/0.5.x/0.5.4.md +29 -0
- package/changelog/0.6.x/0.6.0.md +39 -0
- package/changelog/unreleased.md +40 -0
- package/dist/cli/init.js +1 -0
- package/dist/cli/init.js.map +1 -1
- package/dist/core/app.d.ts +13 -3
- package/dist/core/app.d.ts.map +1 -1
- package/dist/core/app.js +20 -13
- package/dist/core/app.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/serverManifest.d.ts +237 -0
- package/dist/core/serverManifest.d.ts.map +1 -0
- package/dist/core/serverManifest.js +310 -0
- package/dist/core/serverManifest.js.map +1 -0
- package/dist/core/worker.d.ts.map +1 -1
- package/dist/core/worker.js +2 -2
- package/dist/core/worker.js.map +1 -1
- package/dist/linter/rules/landing-rules.d.ts +15 -0
- package/dist/linter/rules/landing-rules.d.ts.map +1 -0
- package/dist/linter/rules/landing-rules.js +125 -0
- package/dist/linter/rules/landing-rules.js.map +1 -0
- package/dist/linter/types.d.ts +5 -2
- package/dist/linter/types.d.ts.map +1 -1
- package/dist/linter/validate.d.ts.map +1 -1
- package/dist/linter/validate.js +26 -2
- package/dist/linter/validate.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts +4 -3
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +47 -26
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTypes.d.ts +0 -12
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/landing-page.d.ts +48 -0
- package/dist/mcp-server/transports/http/landing-page.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/landing-page.js +912 -0
- package/dist/mcp-server/transports/http/landing-page.js.map +1 -0
- package/dist/mcp-server/transports/http/serverCard.d.ts +67 -0
- package/dist/mcp-server/transports/http/serverCard.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/serverCard.js +91 -0
- package/dist/mcp-server/transports/http/serverCard.js.map +1 -0
- package/dist/mcp-server/transports/manager.d.ts +3 -3
- package/dist/mcp-server/transports/manager.d.ts.map +1 -1
- package/dist/mcp-server/transports/manager.js +4 -4
- package/dist/mcp-server/transports/manager.js.map +1 -1
- package/dist/utils/formatting/html.d.ts +76 -0
- package/dist/utils/formatting/html.d.ts.map +1 -0
- package/dist/utils/formatting/html.js +111 -0
- package/dist/utils/formatting/html.js.map +1 -0
- package/dist/utils/formatting/index.d.ts +1 -0
- package/dist/utils/formatting/index.d.ts.map +1 -1
- package/dist/utils/formatting/index.js +1 -0
- package/dist/utils/formatting/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +5 -1
- package/scripts/build-changelog.ts +222 -0
- package/scripts/devcheck.ts +19 -4
- package/scripts/tree.ts +3 -0
- package/skills/add-app-tool/SKILL.md +2 -4
- package/skills/add-prompt/SKILL.md +2 -4
- package/skills/add-resource/SKILL.md +2 -4
- package/skills/add-service/SKILL.md +2 -4
- package/skills/add-tool/SKILL.md +6 -5
- package/skills/api-context/SKILL.md +2 -2
- package/skills/api-linter/SKILL.md +391 -0
- package/skills/api-services/SKILL.md +1 -1
- package/skills/api-services/references/graph.md +1 -1
- package/skills/api-utils/SKILL.md +1 -1
- package/skills/api-utils/references/parsing.md +1 -1
- package/skills/api-utils/references/security.md +1 -1
- package/skills/design-mcp-server/SKILL.md +2 -2
- package/skills/maintenance/SKILL.md +12 -11
- package/skills/polish-docs-meta/SKILL.md +24 -9
- package/skills/release/SKILL.md +21 -7
- package/skills/setup/SKILL.md +4 -8
- package/templates/AGENTS.md +23 -1
- package/templates/CLAUDE.md +23 -1
- package/templates/changelog/unreleased.md +40 -0
- package/templates/package.json +3 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/landing-page.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Builds the SEP-1649 MCP Server Card served at
|
|
3
|
+
* `/.well-known/mcp.json`. Machine-readable discovery document so clients
|
|
4
|
+
* can learn a server's capabilities, endpoints, and auth requirements
|
|
5
|
+
* before initiating a full `initialize` handshake.
|
|
6
|
+
*
|
|
7
|
+
* Sibling of the `/mcp` status JSON (bespoke, back-compat) and `/` landing page
|
|
8
|
+
* (human HTML) — all three are pure functions of the same `ServerManifest`.
|
|
9
|
+
*
|
|
10
|
+
* @see https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649
|
|
11
|
+
* @module src/mcp-server/transports/http/serverCard
|
|
12
|
+
*/
|
|
13
|
+
import type { Context } from 'hono';
|
|
14
|
+
import type { ServerManifest } from '../../../core/serverManifest.js';
|
|
15
|
+
/** Shape of the SEP-1649 Server Card document. */
|
|
16
|
+
export interface ServerCard {
|
|
17
|
+
/** JSON Schema identifier — hint to validators. */
|
|
18
|
+
$schema?: string;
|
|
19
|
+
authentication: ServerCardAuth;
|
|
20
|
+
capabilities: {
|
|
21
|
+
tools: boolean;
|
|
22
|
+
resources: boolean;
|
|
23
|
+
prompts: boolean;
|
|
24
|
+
logging: boolean;
|
|
25
|
+
};
|
|
26
|
+
/** Human-facing documentation URL (e.g. GitHub README or project homepage). */
|
|
27
|
+
documentation?: string;
|
|
28
|
+
endpoints: {
|
|
29
|
+
/** Streamable HTTP endpoint URL. */
|
|
30
|
+
streamable_http?: string;
|
|
31
|
+
};
|
|
32
|
+
/** SEP-2133 extensions advertised in server capabilities. */
|
|
33
|
+
extensions?: Record<string, object>;
|
|
34
|
+
/** Timestamp this card was built (ISO 8601). */
|
|
35
|
+
generated_at: string;
|
|
36
|
+
mcp_version: string;
|
|
37
|
+
server_description?: string;
|
|
38
|
+
server_name: string;
|
|
39
|
+
server_version: string;
|
|
40
|
+
}
|
|
41
|
+
export type ServerCardAuth = {
|
|
42
|
+
required: false;
|
|
43
|
+
type: 'none';
|
|
44
|
+
} | {
|
|
45
|
+
required: true;
|
|
46
|
+
type: 'jwt';
|
|
47
|
+
resource_identifier?: string;
|
|
48
|
+
} | {
|
|
49
|
+
required: true;
|
|
50
|
+
type: 'oauth';
|
|
51
|
+
authorization_servers?: string[];
|
|
52
|
+
audience?: string;
|
|
53
|
+
resource_identifier?: string;
|
|
54
|
+
jwks_uri?: string;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Build the SEP-1649 Server Card from the manifest + request origin.
|
|
58
|
+
* Pure — same inputs produce the same output.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildServerCard(manifest: ServerManifest, origin: string): ServerCard;
|
|
61
|
+
/**
|
|
62
|
+
* Hono route handler for `GET /.well-known/mcp.json`.
|
|
63
|
+
* Sets SEP-1649-recommended headers: `Content-Type`, `X-Content-Type-Options`,
|
|
64
|
+
* `Cache-Control`, CORS.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createServerCardHandler(manifest: ServerManifest): (c: Context) => Response;
|
|
67
|
+
//# sourceMappingURL=serverCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverCard.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI/D,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE;QACZ,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE;QACT,oCAAoC;QACpC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAwBpF;AA4BD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,IACtD,GAAG,OAAO,KAAG,QAAQ,CAoB9B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Builds the SEP-1649 MCP Server Card served at
|
|
3
|
+
* `/.well-known/mcp.json`. Machine-readable discovery document so clients
|
|
4
|
+
* can learn a server's capabilities, endpoints, and auth requirements
|
|
5
|
+
* before initiating a full `initialize` handshake.
|
|
6
|
+
*
|
|
7
|
+
* Sibling of the `/mcp` status JSON (bespoke, back-compat) and `/` landing page
|
|
8
|
+
* (human HTML) — all three are pure functions of the same `ServerManifest`.
|
|
9
|
+
*
|
|
10
|
+
* @see https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649
|
|
11
|
+
* @module src/mcp-server/transports/http/serverCard
|
|
12
|
+
*/
|
|
13
|
+
import { logger } from '../../../utils/internal/logger.js';
|
|
14
|
+
import { requestContextService } from '../../../utils/internal/requestContext.js';
|
|
15
|
+
/**
|
|
16
|
+
* Build the SEP-1649 Server Card from the manifest + request origin.
|
|
17
|
+
* Pure — same inputs produce the same output.
|
|
18
|
+
*/
|
|
19
|
+
export function buildServerCard(manifest, origin) {
|
|
20
|
+
const streamableEndpoint = `${origin.replace(/\/$/, '')}${manifest.transport.endpointPath}`;
|
|
21
|
+
const card = {
|
|
22
|
+
mcp_version: manifest.protocol.latestVersion,
|
|
23
|
+
server_name: manifest.server.name,
|
|
24
|
+
server_version: manifest.server.version,
|
|
25
|
+
...(manifest.server.description && { server_description: manifest.server.description }),
|
|
26
|
+
endpoints: {
|
|
27
|
+
...(manifest.transport.type === 'http' && { streamable_http: streamableEndpoint }),
|
|
28
|
+
},
|
|
29
|
+
capabilities: {
|
|
30
|
+
tools: manifest.capabilities.tools,
|
|
31
|
+
resources: manifest.capabilities.resources,
|
|
32
|
+
prompts: manifest.capabilities.prompts,
|
|
33
|
+
logging: manifest.capabilities.logging,
|
|
34
|
+
},
|
|
35
|
+
authentication: buildAuthSection(manifest),
|
|
36
|
+
...(manifest.extensions && { extensions: manifest.extensions }),
|
|
37
|
+
...(manifest.server.homepage && { documentation: manifest.server.homepage }),
|
|
38
|
+
generated_at: manifest.builtAt,
|
|
39
|
+
};
|
|
40
|
+
return card;
|
|
41
|
+
}
|
|
42
|
+
function buildAuthSection(manifest) {
|
|
43
|
+
switch (manifest.auth.mode) {
|
|
44
|
+
case 'oauth':
|
|
45
|
+
return {
|
|
46
|
+
required: true,
|
|
47
|
+
type: 'oauth',
|
|
48
|
+
...(manifest.auth.oauthIssuer && { authorization_servers: [manifest.auth.oauthIssuer] }),
|
|
49
|
+
...(manifest.auth.oauthAudience && { audience: manifest.auth.oauthAudience }),
|
|
50
|
+
...(manifest.auth.resourceIdentifier && {
|
|
51
|
+
resource_identifier: manifest.auth.resourceIdentifier,
|
|
52
|
+
}),
|
|
53
|
+
...(manifest.auth.jwksUri && { jwks_uri: manifest.auth.jwksUri }),
|
|
54
|
+
};
|
|
55
|
+
case 'jwt':
|
|
56
|
+
return {
|
|
57
|
+
required: true,
|
|
58
|
+
type: 'jwt',
|
|
59
|
+
...(manifest.auth.resourceIdentifier && {
|
|
60
|
+
resource_identifier: manifest.auth.resourceIdentifier,
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
default:
|
|
64
|
+
return { required: false, type: 'none' };
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Hono route handler for `GET /.well-known/mcp.json`.
|
|
69
|
+
* Sets SEP-1649-recommended headers: `Content-Type`, `X-Content-Type-Options`,
|
|
70
|
+
* `Cache-Control`, CORS.
|
|
71
|
+
*/
|
|
72
|
+
export function createServerCardHandler(manifest) {
|
|
73
|
+
return (c) => {
|
|
74
|
+
const context = requestContextService.createRequestContext({
|
|
75
|
+
operation: 'serverCardHandler',
|
|
76
|
+
});
|
|
77
|
+
const origin = new URL(c.req.url).origin;
|
|
78
|
+
const card = buildServerCard(manifest, origin);
|
|
79
|
+
logger.debug('Serving SEP-1649 Server Card.', {
|
|
80
|
+
...context,
|
|
81
|
+
origin,
|
|
82
|
+
authMode: manifest.auth.mode,
|
|
83
|
+
});
|
|
84
|
+
c.header('Content-Type', 'application/json; charset=utf-8');
|
|
85
|
+
c.header('X-Content-Type-Options', 'nosniff');
|
|
86
|
+
c.header('Cache-Control', 'public, max-age=3600');
|
|
87
|
+
c.header('Access-Control-Allow-Origin', '*');
|
|
88
|
+
return c.json(card);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=serverCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverCard.js","sourceRoot":"","sources":["../../../../src/mcp-server/transports/http/serverCard.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
6
|
import type { AppConfig as AppConfigType } from '../../config/index.js';
|
|
7
|
+
import type { ServerManifest } from '../../core/serverManifest.js';
|
|
7
8
|
import type { TaskManager } from '../../mcp-server/tasks/core/taskManager.js';
|
|
8
|
-
import type { ServerMeta } from '../../mcp-server/transports/http/httpTypes.js';
|
|
9
9
|
import type { TransportServer } from '../../mcp-server/transports/ITransport.js';
|
|
10
10
|
import type { logger as LoggerType } from '../../utils/internal/logger.js';
|
|
11
11
|
export declare class TransportManager {
|
|
@@ -13,11 +13,11 @@ export declare class TransportManager {
|
|
|
13
13
|
private logger;
|
|
14
14
|
private createMcpServer;
|
|
15
15
|
private taskManager;
|
|
16
|
-
private
|
|
16
|
+
private manifest;
|
|
17
17
|
private serverInstance;
|
|
18
18
|
private shutdown;
|
|
19
19
|
private heartbeat;
|
|
20
|
-
constructor(config: AppConfigType, logger: typeof LoggerType, createMcpServer: () => Promise<McpServer>, taskManager: TaskManager,
|
|
20
|
+
constructor(config: AppConfigType, logger: typeof LoggerType, createMcpServer: () => Promise<McpServer>, taskManager: TaskManager, manifest: ServerManifest);
|
|
21
21
|
start(): Promise<void>;
|
|
22
22
|
stop(signal: string): Promise<void>;
|
|
23
23
|
getServer(): TransportServer | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/transports/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/transports/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAK7E,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIvE,qBAAa,gBAAgB;IAMzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IATlB,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAA6D;IAC7E,OAAO,CAAC,SAAS,CAAiC;gBAGxC,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,OAAO,UAAU,EACzB,eAAe,EAAE,MAAM,OAAO,CAAC,SAAS,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,cAAc;IAG5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDtB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzC,SAAS,IAAI,eAAe,GAAG,IAAI;CAGpC"}
|
|
@@ -8,16 +8,16 @@ export class TransportManager {
|
|
|
8
8
|
logger;
|
|
9
9
|
createMcpServer;
|
|
10
10
|
taskManager;
|
|
11
|
-
|
|
11
|
+
manifest;
|
|
12
12
|
serverInstance = null;
|
|
13
13
|
shutdown = null;
|
|
14
14
|
heartbeat = null;
|
|
15
|
-
constructor(config, logger, createMcpServer, taskManager,
|
|
15
|
+
constructor(config, logger, createMcpServer, taskManager, manifest) {
|
|
16
16
|
this.config = config;
|
|
17
17
|
this.logger = logger;
|
|
18
18
|
this.createMcpServer = createMcpServer;
|
|
19
19
|
this.taskManager = taskManager;
|
|
20
|
-
this.
|
|
20
|
+
this.manifest = manifest;
|
|
21
21
|
}
|
|
22
22
|
async start() {
|
|
23
23
|
const context = requestContextService.createRequestContext({
|
|
@@ -28,7 +28,7 @@ export class TransportManager {
|
|
|
28
28
|
if (this.config.mcpTransportType === 'http') {
|
|
29
29
|
// HTTP: pass factory so each request gets a fresh McpServer+transport pair
|
|
30
30
|
// (SDK 1.26.0 security fix — GHSA-345p-7cg4-v4c7)
|
|
31
|
-
const handle = await startHttpTransport(this.createMcpServer, context, this.
|
|
31
|
+
const handle = await startHttpTransport(this.createMcpServer, context, this.manifest);
|
|
32
32
|
this.serverInstance = handle.server;
|
|
33
33
|
this.shutdown = (ctx) => handle.stop(ctx);
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/mcp-server/transports/manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/mcp-server/transports/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `html` tagged-template utility with unconditional HTML-escaping
|
|
3
|
+
* of interpolated values. Designed as the safe default for any server-rendered
|
|
4
|
+
* markup in the framework — the landing page, MCP App UI surfaces, ad-hoc
|
|
5
|
+
* diagnostic pages. Same ergonomics as Hono's `html` / lit-html's `html`, but
|
|
6
|
+
* deliberately small and dependency-free.
|
|
7
|
+
*
|
|
8
|
+
* ## Safety model
|
|
9
|
+
*
|
|
10
|
+
* Every interpolation is escaped against the five HTML entity characters
|
|
11
|
+
* (`&`, `<`, `>`, `"`, `'`) by default. Escape hatches exist for
|
|
12
|
+
* caller-vetted strings via {@link unsafeRaw} and for pre-built fragments via
|
|
13
|
+
* {@link SafeHtml} (returned from nested `html` calls).
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { html } from '@cyanheads/mcp-ts-core/utils';
|
|
17
|
+
*
|
|
18
|
+
* const userInput = '<script>alert(1)</script>';
|
|
19
|
+
* const page = html`<p>Hi ${userInput}</p>`;
|
|
20
|
+
* page.toString();
|
|
21
|
+
* // <p>Hi <script>alert(1)</script></p>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @module utils/formatting/html
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Opaque wrapper indicating a value has already been escaped (or is a
|
|
28
|
+
* caller-vetted literal). The `html` template tag unwraps this type without
|
|
29
|
+
* re-escaping, so fragments compose cleanly.
|
|
30
|
+
*/
|
|
31
|
+
export declare class SafeHtml {
|
|
32
|
+
readonly value: string;
|
|
33
|
+
constructor(value: string);
|
|
34
|
+
toString(): string;
|
|
35
|
+
}
|
|
36
|
+
/** Interpolable types accepted by the `html` tag. */
|
|
37
|
+
export type HtmlInterpolation = SafeHtml | string | number | boolean | null | undefined | HtmlInterpolation[];
|
|
38
|
+
/**
|
|
39
|
+
* Escape the five HTML entity characters. Exported for callers that need to
|
|
40
|
+
* produce escaped output outside of the `html` tagged template (e.g. when
|
|
41
|
+
* building attribute strings that require further manipulation).
|
|
42
|
+
*/
|
|
43
|
+
export declare function escapeHtml(value: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Wrap a caller-vetted string as `SafeHtml`, skipping auto-escape.
|
|
46
|
+
*
|
|
47
|
+
* Only use on values you control end-to-end — not on anything sourced from
|
|
48
|
+
* config, user input, or upstream APIs. The auto-escape is the default
|
|
49
|
+
* for a reason.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* const icon = unsafeRaw('<svg>…</svg>');
|
|
54
|
+
* html`<span class="icon">${icon}</span>`;
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare function unsafeRaw(value: string): SafeHtml;
|
|
58
|
+
/**
|
|
59
|
+
* Tagged template that concatenates static literal parts with auto-escaped
|
|
60
|
+
* interpolations, producing a `SafeHtml` fragment. Nest freely — a
|
|
61
|
+
* `SafeHtml` interpolation is passed through without re-escaping.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* const card = html`
|
|
66
|
+
* <article>
|
|
67
|
+
* <h3>${tool.name}</h3>
|
|
68
|
+
* <p>${tool.description}</p>
|
|
69
|
+
* </article>
|
|
70
|
+
* `;
|
|
71
|
+
*
|
|
72
|
+
* const page = html`<main>${[card, card]}</main>`;
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function html(strings: TemplateStringsArray, ...values: HtmlInterpolation[]): SafeHtml;
|
|
76
|
+
//# sourceMappingURL=html.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;GAIG;AACH,qBAAa,QAAQ;aACS,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IACzC,QAAQ,IAAI,MAAM;CAGnB;AAED,qDAAqD;AACrD,MAAM,MAAM,iBAAiB,GACzB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,iBAAiB,EAAE,CAAC;AAUxB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAEjD;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAS5F"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `html` tagged-template utility with unconditional HTML-escaping
|
|
3
|
+
* of interpolated values. Designed as the safe default for any server-rendered
|
|
4
|
+
* markup in the framework — the landing page, MCP App UI surfaces, ad-hoc
|
|
5
|
+
* diagnostic pages. Same ergonomics as Hono's `html` / lit-html's `html`, but
|
|
6
|
+
* deliberately small and dependency-free.
|
|
7
|
+
*
|
|
8
|
+
* ## Safety model
|
|
9
|
+
*
|
|
10
|
+
* Every interpolation is escaped against the five HTML entity characters
|
|
11
|
+
* (`&`, `<`, `>`, `"`, `'`) by default. Escape hatches exist for
|
|
12
|
+
* caller-vetted strings via {@link unsafeRaw} and for pre-built fragments via
|
|
13
|
+
* {@link SafeHtml} (returned from nested `html` calls).
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* import { html } from '@cyanheads/mcp-ts-core/utils';
|
|
17
|
+
*
|
|
18
|
+
* const userInput = '<script>alert(1)</script>';
|
|
19
|
+
* const page = html`<p>Hi ${userInput}</p>`;
|
|
20
|
+
* page.toString();
|
|
21
|
+
* // <p>Hi <script>alert(1)</script></p>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @module utils/formatting/html
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Opaque wrapper indicating a value has already been escaped (or is a
|
|
28
|
+
* caller-vetted literal). The `html` template tag unwraps this type without
|
|
29
|
+
* re-escaping, so fragments compose cleanly.
|
|
30
|
+
*/
|
|
31
|
+
export class SafeHtml {
|
|
32
|
+
value;
|
|
33
|
+
constructor(value) {
|
|
34
|
+
this.value = value;
|
|
35
|
+
}
|
|
36
|
+
toString() {
|
|
37
|
+
return this.value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const ENTITY_MAP = {
|
|
41
|
+
'&': '&',
|
|
42
|
+
'<': '<',
|
|
43
|
+
'>': '>',
|
|
44
|
+
'"': '"',
|
|
45
|
+
"'": ''',
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Escape the five HTML entity characters. Exported for callers that need to
|
|
49
|
+
* produce escaped output outside of the `html` tagged template (e.g. when
|
|
50
|
+
* building attribute strings that require further manipulation).
|
|
51
|
+
*/
|
|
52
|
+
export function escapeHtml(value) {
|
|
53
|
+
return value.replace(/[&<>"']/g, (ch) => ENTITY_MAP[ch] ?? ch);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Wrap a caller-vetted string as `SafeHtml`, skipping auto-escape.
|
|
57
|
+
*
|
|
58
|
+
* Only use on values you control end-to-end — not on anything sourced from
|
|
59
|
+
* config, user input, or upstream APIs. The auto-escape is the default
|
|
60
|
+
* for a reason.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const icon = unsafeRaw('<svg>…</svg>');
|
|
65
|
+
* html`<span class="icon">${icon}</span>`;
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export function unsafeRaw(value) {
|
|
69
|
+
return new SafeHtml(value);
|
|
70
|
+
}
|
|
71
|
+
function stringify(value) {
|
|
72
|
+
if (value === null || value === undefined || value === false)
|
|
73
|
+
return '';
|
|
74
|
+
if (value === true)
|
|
75
|
+
return '';
|
|
76
|
+
if (value instanceof SafeHtml)
|
|
77
|
+
return value.value;
|
|
78
|
+
if (Array.isArray(value))
|
|
79
|
+
return value.map(stringify).join('');
|
|
80
|
+
if (typeof value === 'number')
|
|
81
|
+
return String(value);
|
|
82
|
+
return escapeHtml(String(value));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Tagged template that concatenates static literal parts with auto-escaped
|
|
86
|
+
* interpolations, producing a `SafeHtml` fragment. Nest freely — a
|
|
87
|
+
* `SafeHtml` interpolation is passed through without re-escaping.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* const card = html`
|
|
92
|
+
* <article>
|
|
93
|
+
* <h3>${tool.name}</h3>
|
|
94
|
+
* <p>${tool.description}</p>
|
|
95
|
+
* </article>
|
|
96
|
+
* `;
|
|
97
|
+
*
|
|
98
|
+
* const page = html`<main>${[card, card]}</main>`;
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
export function html(strings, ...values) {
|
|
102
|
+
let out = '';
|
|
103
|
+
for (let i = 0; i < strings.length; i++) {
|
|
104
|
+
out += strings[i] ?? '';
|
|
105
|
+
if (i < values.length) {
|
|
106
|
+
out += stringify(values[i]);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return new SafeHtml(out);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html.js","sourceRoot":"","sources":["../../../src/utils/formatting/html.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH;;;;GAIG;AACH,MAAM,OAAO,QAAQ;IACS;IAA5B,YAA4B,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAC7C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAYD,MAAM,UAAU,GAA2B;IACzC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,KAAwB;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACxE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IAC9B,IAAI,KAAK,YAAY,QAAQ;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,OAA6B,EAAE,GAAG,MAA2B;IAChF,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAsB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module utils/formatting
|
|
4
4
|
*/
|
|
5
5
|
export { type DiffFormat, DiffFormatter, type DiffFormatterOptions, diffFormatter, } from './diffFormatter.js';
|
|
6
|
+
export { escapeHtml, type HtmlInterpolation, html, SafeHtml, unsafeRaw, } from './html.js';
|
|
6
7
|
export { MarkdownBuilder, markdown } from './markdownBuilder.js';
|
|
7
8
|
export { type Alignment, TableFormatter, type TableFormatterOptions, type TableStyle, tableFormatter, } from './tableFormatter.js';
|
|
8
9
|
export { TreeFormatter, type TreeFormatterOptions, type TreeNode, type TreeStyle, treeFormatter, } from './treeFormatter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,aAAa,EACb,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,KAAK,SAAS,EACd,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/formatting/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,aAAa,EACb,KAAK,oBAAoB,EACzB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EACtB,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EACL,KAAK,SAAS,EACd,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module utils/formatting
|
|
4
4
|
*/
|
|
5
5
|
export { DiffFormatter, diffFormatter, } from './diffFormatter.js';
|
|
6
|
+
export { escapeHtml, html, SafeHtml, unsafeRaw, } from './html.js';
|
|
6
7
|
export { MarkdownBuilder, markdown } from './markdownBuilder.js';
|
|
7
8
|
export { TableFormatter, tableFormatter, } from './tableFormatter.js';
|
|
8
9
|
export { TreeFormatter, treeFormatter, } from './treeFormatter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/formatting/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,aAAa,EAEb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAEL,cAAc,EAGd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EAIb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/formatting/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,aAAa,EAEb,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,UAAU,EAEV,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAEL,cAAc,EAGd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EAIb,aAAa,GACd,MAAM,oBAAoB,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @fileoverview Unified barrel export for all utility modules.
|
|
3
3
|
* @module utils
|
|
4
4
|
*/
|
|
5
|
-
export { type Alignment, type DiffFormat, DiffFormatter, type DiffFormatterOptions, diffFormatter, MarkdownBuilder, markdown, TableFormatter, type TableFormatterOptions, type TableStyle, TreeFormatter, type TreeFormatterOptions, type TreeNode, type TreeStyle, tableFormatter, treeFormatter, } from './formatting/index.js';
|
|
5
|
+
export { type Alignment, type DiffFormat, DiffFormatter, type DiffFormatterOptions, diffFormatter, escapeHtml, type HtmlInterpolation, html, MarkdownBuilder, markdown, SafeHtml, TableFormatter, type TableFormatterOptions, type TableStyle, TreeFormatter, type TreeFormatterOptions, type TreeNode, type TreeStyle, tableFormatter, treeFormatter, unsafeRaw, } from './formatting/index.js';
|
|
6
6
|
export { arrayBufferToBase64, base64ToString, stringToBase64 } from './internal/encoding.js';
|
|
7
7
|
export { ErrorHandler } from './internal/error-handler/errorHandler.js';
|
|
8
8
|
export type { BaseErrorMapping, ErrorContext, ErrorHandlerOptions, ErrorMapping, } from './internal/error-handler/types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,aAAa,EACb,KAAK,oBAAoB,EACzB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module utils
|
|
4
4
|
*/
|
|
5
5
|
// Formatting
|
|
6
|
-
export { DiffFormatter, diffFormatter, MarkdownBuilder, markdown, TableFormatter, TreeFormatter, tableFormatter, treeFormatter, } from './formatting/index.js';
|
|
6
|
+
export { DiffFormatter, diffFormatter, escapeHtml, html, MarkdownBuilder, markdown, SafeHtml, TableFormatter, TreeFormatter, tableFormatter, treeFormatter, unsafeRaw, } from './formatting/index.js';
|
|
7
7
|
// Encoding
|
|
8
8
|
export { arrayBufferToBase64, base64ToString, stringToBase64 } from './internal/encoding.js';
|
|
9
9
|
// Error handler
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,aAAa;AACb,OAAO,EAGL,aAAa,EAEb,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EAGd,aAAa,EAIb,cAAc,EACd,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/mcp-ts-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-core",
|
|
5
5
|
"description": "Agent-native TypeScript framework for building MCP servers. Build tools, not infrastructure. Declarative definitions with auth, multi-backend storage, OpenTelemetry, and first-class support for Node.js and Cloudflare Workers.",
|
|
6
6
|
"main": "dist/core/index.js",
|
|
7
7
|
"types": "dist/core/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
|
+
"changelog/",
|
|
9
10
|
"dist/",
|
|
11
|
+
"scripts/build-changelog.ts",
|
|
10
12
|
"scripts/build.ts",
|
|
11
13
|
"scripts/check-docs-sync.ts",
|
|
12
14
|
"scripts/clean.ts",
|
|
@@ -142,6 +144,8 @@
|
|
|
142
144
|
"test:coverage": "bunx vitest run --coverage",
|
|
143
145
|
"audit": "bun audit",
|
|
144
146
|
"audit:fix": "bun audit --fix",
|
|
147
|
+
"changelog:build": "bun run scripts/build-changelog.ts",
|
|
148
|
+
"changelog:check": "bun run scripts/build-changelog.ts --check",
|
|
145
149
|
"publish-mcp": "bunx mcp-publisher publish"
|
|
146
150
|
},
|
|
147
151
|
"resolutions": {
|