@jrmc/adonis-mcp 1.0.0-alpha.13 → 1.0.0-alpha.15
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 +223 -21
- package/build/commands/commands.json +1 -1
- package/build/commands/inspector.d.ts +16 -0
- package/build/commands/inspector.d.ts.map +1 -0
- package/build/commands/inspector.js +54 -0
- package/build/src/response.d.ts +2 -2
- package/build/src/response.d.ts.map +1 -1
- package/build/src/response.js +4 -4
- package/build/src/server/contents/audio.d.ts +3 -2
- package/build/src/server/contents/audio.d.ts.map +1 -1
- package/build/src/server/contents/audio.js +16 -9
- package/build/src/server/contents/blob.d.ts +2 -1
- package/build/src/server/contents/blob.d.ts.map +1 -1
- package/build/src/server/contents/blob.js +13 -2
- package/build/src/server/contents/embedded_resource.d.ts +2 -1
- package/build/src/server/contents/embedded_resource.d.ts.map +1 -1
- package/build/src/server/contents/embedded_resource.js +21 -10
- package/build/src/server/contents/error.d.ts +1 -1
- package/build/src/server/contents/error.d.ts.map +1 -1
- package/build/src/server/contents/image.d.ts +3 -2
- package/build/src/server/contents/image.d.ts.map +1 -1
- package/build/src/server/contents/image.js +16 -9
- package/build/src/server/contents/resource_link.d.ts +4 -2
- package/build/src/server/contents/resource_link.d.ts.map +1 -1
- package/build/src/server/contents/resource_link.js +20 -9
- package/build/src/server/contents/structured.d.ts +1 -1
- package/build/src/server/contents/structured.d.ts.map +1 -1
- package/build/src/server/contents/text.d.ts +2 -1
- package/build/src/server/contents/text.d.ts.map +1 -1
- package/build/src/server/contents/text.js +18 -7
- package/build/src/server/context.d.ts +5 -1
- package/build/src/server/context.d.ts.map +1 -1
- package/build/src/server/context.js +26 -0
- package/build/src/server/{content.d.ts → contracts/content.d.ts} +4 -4
- package/build/src/server/contracts/content.d.ts.map +1 -0
- package/build/src/server/contracts/context.d.ts +29 -0
- package/build/src/server/contracts/context.d.ts.map +1 -0
- package/build/src/{types → server/contracts}/transport.d.ts +1 -1
- package/build/src/server/contracts/transport.d.ts.map +1 -0
- package/build/src/server/contracts/transport.js +7 -0
- package/build/src/server/methods/call_tool.d.ts +1 -1
- package/build/src/server/methods/call_tool.d.ts.map +1 -1
- package/build/src/server/methods/get_prompt.d.ts +1 -1
- package/build/src/server/methods/get_prompt.d.ts.map +1 -1
- package/build/src/server/methods/initialize.d.ts +1 -1
- package/build/src/server/methods/initialize.d.ts.map +1 -1
- package/build/src/server/methods/list_prompts.d.ts +1 -1
- package/build/src/server/methods/list_prompts.d.ts.map +1 -1
- package/build/src/server/methods/list_prompts.js +1 -16
- package/build/src/server/methods/list_resource_templates.d.ts +12 -0
- package/build/src/server/methods/list_resource_templates.d.ts.map +1 -0
- package/build/src/server/methods/list_resource_templates.js +31 -0
- package/build/src/server/methods/list_resources.d.ts +1 -1
- package/build/src/server/methods/list_resources.d.ts.map +1 -1
- package/build/src/server/methods/list_resources.js +2 -9
- package/build/src/server/methods/list_tools.d.ts +1 -1
- package/build/src/server/methods/list_tools.d.ts.map +1 -1
- package/build/src/server/methods/list_tools.js +1 -16
- package/build/src/server/methods/ping.d.ts +1 -1
- package/build/src/server/methods/ping.d.ts.map +1 -1
- package/build/src/server/methods/read_resource.d.ts +1 -1
- package/build/src/server/methods/read_resource.d.ts.map +1 -1
- package/build/src/server/methods/read_resource.js +7 -7
- package/build/src/server/prompt.d.ts +13 -9
- package/build/src/server/prompt.d.ts.map +1 -1
- package/build/src/server/prompt.js +17 -0
- package/build/src/server/resource.d.ts +9 -8
- package/build/src/server/resource.d.ts.map +1 -1
- package/build/src/server/resource.js +23 -0
- package/build/src/server/tool.d.ts +13 -9
- package/build/src/server/tool.d.ts.map +1 -1
- package/build/src/server/tool.js +17 -0
- package/build/src/server/transports/fake_transport.d.ts +2 -2
- package/build/src/server/transports/fake_transport.d.ts.map +1 -1
- package/build/src/server/transports/http_transport.d.ts +2 -2
- package/build/src/server/transports/http_transport.d.ts.map +1 -1
- package/build/src/server/transports/stdio_transport.d.ts +1 -1
- package/build/src/server/transports/stdio_transport.d.ts.map +1 -1
- package/build/src/server.d.ts +2 -1
- package/build/src/server.d.ts.map +1 -1
- package/build/src/server.js +1 -0
- package/build/src/types/content.d.ts +14 -10
- package/build/src/types/content.d.ts.map +1 -1
- package/build/src/types/context.d.ts +9 -22
- package/build/src/types/context.d.ts.map +1 -1
- package/build/src/types/method.d.ts +1 -1
- package/build/src/types/method.d.ts.map +1 -1
- package/build/src/utils/find_resource_pattern.d.ts +13 -0
- package/build/src/utils/find_resource_pattern.d.ts.map +1 -0
- package/build/src/utils/find_resource_pattern.js +29 -0
- package/build/src/utils/uri_template.d.ts +25 -0
- package/build/src/utils/uri_template.d.ts.map +1 -0
- package/build/src/utils/uri_template.js +240 -0
- package/build/stubs/make/mcp/prompts/main.ts.stub +3 -4
- package/build/stubs/make/mcp/resources/main.ts.stub +1 -1
- package/build/stubs/make/mcp/tools/main.ts.stub +3 -5
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/build/src/server/content.d.ts.map +0 -1
- package/build/src/types/transport.d.ts.map +0 -1
- /package/build/src/server/{content.js → contracts/content.js} +0 -0
- /package/build/src/{types/transport.js → server/contracts/context.js} +0 -0
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
7
|
import { createError } from '@adonisjs/core/exceptions';
|
|
8
|
+
import { findResource } from '../../utils/find_resource_pattern.js';
|
|
8
9
|
export default class EmbeddedResource {
|
|
9
10
|
#uri;
|
|
10
11
|
#resource;
|
|
11
12
|
#role;
|
|
13
|
+
#meta;
|
|
12
14
|
#ctx;
|
|
13
15
|
constructor(uri) {
|
|
14
16
|
this.#uri = uri;
|
|
@@ -16,12 +18,11 @@ export default class EmbeddedResource {
|
|
|
16
18
|
}
|
|
17
19
|
async preProcess(resourceList, ctx) {
|
|
18
20
|
this.#ctx = ctx;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.#resource = new Resource();
|
|
21
|
+
this.#resource = await findResource({
|
|
22
|
+
uri: this.#uri,
|
|
23
|
+
resourceList,
|
|
24
|
+
ctx
|
|
25
|
+
});
|
|
25
26
|
return this;
|
|
26
27
|
}
|
|
27
28
|
async toTool(_tool) {
|
|
@@ -29,20 +30,20 @@ export default class EmbeddedResource {
|
|
|
29
30
|
throw createError('Resource not found.', 'E_RESOURCE_NOT_FOUND');
|
|
30
31
|
}
|
|
31
32
|
const content = await this.#resource.handle(this.#ctx);
|
|
32
|
-
return {
|
|
33
|
+
return this.#mergeMeta({
|
|
33
34
|
type: 'resource',
|
|
34
35
|
resource: await content.toResource(this.#resource),
|
|
35
|
-
};
|
|
36
|
+
});
|
|
36
37
|
}
|
|
37
38
|
async toPrompt(_prompt) {
|
|
38
39
|
if (!this.#resource) {
|
|
39
40
|
throw createError('Resource not found.', 'E_RESOURCE_NOT_FOUND');
|
|
40
41
|
}
|
|
41
42
|
const content = await this.#resource.handle(this.#ctx);
|
|
42
|
-
return {
|
|
43
|
+
return this.#mergeMeta({
|
|
43
44
|
type: 'resource',
|
|
44
45
|
resource: await content.toResource(this.#resource),
|
|
45
|
-
};
|
|
46
|
+
});
|
|
46
47
|
}
|
|
47
48
|
async toResource(_resource) {
|
|
48
49
|
throw createError('Embedded resource content may not be used in resources.', 'E_EMBEDDED_RESOURCE_NOT_SUPPORTED');
|
|
@@ -58,4 +59,14 @@ export default class EmbeddedResource {
|
|
|
58
59
|
get role() {
|
|
59
60
|
return this.#role;
|
|
60
61
|
}
|
|
62
|
+
withMeta(meta) {
|
|
63
|
+
this.#meta = meta;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
#mergeMeta(object) {
|
|
67
|
+
if (this.#meta) {
|
|
68
|
+
return { ...object, _meta: this.#meta };
|
|
69
|
+
}
|
|
70
|
+
return object;
|
|
71
|
+
}
|
|
61
72
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { Content } from '../content.js';
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
8
|
import type { AnyPrompt as Prompt } from '../prompt.js';
|
|
9
9
|
import type { Resource } from '../resource.js';
|
|
10
10
|
import Text from './text.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAA;AAG5B,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,IAAK,YAAW,OAAO;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAIhC,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,KAAK;CAGvC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { Content } from '../content.js';
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
8
|
import type { ImageContent } from '../../types/jsonrpc.js';
|
|
9
9
|
import type { AnyTool as Tool } from '../tool.js';
|
|
10
10
|
import type { AnyPrompt as Prompt } from '../prompt.js';
|
|
@@ -12,12 +12,13 @@ import type { Resource } from '../resource.js';
|
|
|
12
12
|
import Role from '../../enums/role.js';
|
|
13
13
|
export default class Image implements Content {
|
|
14
14
|
#private;
|
|
15
|
-
constructor(data: string, mimeType: string
|
|
15
|
+
constructor(data: string, mimeType: string);
|
|
16
16
|
toTool(_tool: Tool): Promise<ImageContent>;
|
|
17
17
|
toPrompt(_prompt: Prompt): Promise<ImageContent>;
|
|
18
18
|
toResource(_resource: Resource): Promise<never>;
|
|
19
19
|
asAssistant(): this;
|
|
20
20
|
asUser(): this;
|
|
21
21
|
get role(): Role;
|
|
22
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=image.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,IAAI,MAAM,qBAAqB,CAAA;AAEtC,MAAM,CAAC,OAAO,OAAO,KAAM,YAAW,OAAO;;gBAM/B,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAMpC,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAQ1C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQhD,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAIrD,WAAW,IAAI,IAAI;IAKnB,MAAM,IAAI,IAAI;IAKd,IAAI,IAAI,SAEP;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY9C"}
|
|
@@ -10,28 +10,25 @@ export default class Image {
|
|
|
10
10
|
#data;
|
|
11
11
|
#mimeType;
|
|
12
12
|
#role;
|
|
13
|
-
#
|
|
14
|
-
constructor(data, mimeType
|
|
13
|
+
#meta;
|
|
14
|
+
constructor(data, mimeType) {
|
|
15
15
|
this.#data = data;
|
|
16
16
|
this.#mimeType = mimeType;
|
|
17
|
-
this.#_meta = _meta;
|
|
18
17
|
this.#role = Role.USER;
|
|
19
18
|
}
|
|
20
19
|
async toTool(_tool) {
|
|
21
|
-
return {
|
|
20
|
+
return this.#mergeMeta({
|
|
22
21
|
type: 'image',
|
|
23
22
|
data: this.#data,
|
|
24
23
|
mimeType: this.#mimeType,
|
|
25
|
-
|
|
26
|
-
};
|
|
24
|
+
});
|
|
27
25
|
}
|
|
28
26
|
async toPrompt(_prompt) {
|
|
29
|
-
return {
|
|
27
|
+
return this.#mergeMeta({
|
|
30
28
|
type: 'image',
|
|
31
29
|
data: this.#data,
|
|
32
30
|
mimeType: this.#mimeType,
|
|
33
|
-
|
|
34
|
-
};
|
|
31
|
+
});
|
|
35
32
|
}
|
|
36
33
|
async toResource(_resource) {
|
|
37
34
|
throw createError('Image content may not be used in resources.', 'E_IMAGE_NOT_SUPPORTED');
|
|
@@ -47,4 +44,14 @@ export default class Image {
|
|
|
47
44
|
get role() {
|
|
48
45
|
return this.#role;
|
|
49
46
|
}
|
|
47
|
+
withMeta(meta) {
|
|
48
|
+
this.#meta = meta;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
#mergeMeta(object) {
|
|
52
|
+
if (this.#meta) {
|
|
53
|
+
return { ...object, _meta: this.#meta };
|
|
54
|
+
}
|
|
55
|
+
return object;
|
|
56
|
+
}
|
|
50
57
|
}
|
|
@@ -4,18 +4,20 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { Content } from '../content.js';
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
8
|
import type { ResourceLink as ResourceLinkContent } from '../../types/jsonrpc.js';
|
|
9
9
|
import type { AnyTool as Tool } from '../tool.js';
|
|
10
10
|
import type { AnyPrompt as Prompt } from '../prompt.js';
|
|
11
11
|
import type { Resource } from '../resource.js';
|
|
12
12
|
import type { ResourceList } from '../../types/method.js';
|
|
13
|
+
import type { ResourceContext } from '../../types/context.js';
|
|
13
14
|
export default class ResourceLink implements Content {
|
|
14
15
|
#private;
|
|
15
16
|
constructor(uri: string);
|
|
16
|
-
preProcess(resourceList: ResourceList): Promise<this>;
|
|
17
|
+
preProcess(resourceList: ResourceList, ctx: ResourceContext): Promise<this>;
|
|
17
18
|
toTool(_tool: Tool): Promise<ResourceLinkContent>;
|
|
18
19
|
toPrompt(_prompt: Prompt): Promise<never>;
|
|
19
20
|
toResource(_resource: Resource): Promise<never>;
|
|
21
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
20
22
|
}
|
|
21
23
|
//# sourceMappingURL=resource_link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource_link.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/resource_link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"resource_link.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/resource_link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAK7D,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,OAAO;;gBAKtC,GAAG,EAAE,MAAM;IAKjB,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3E,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBjD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAOzC,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAOrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY9C"}
|
|
@@ -5,27 +5,28 @@
|
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
7
|
import { createError } from '@adonisjs/core/exceptions';
|
|
8
|
+
import { findResource } from '../../utils/find_resource_pattern.js';
|
|
8
9
|
export default class ResourceLink {
|
|
9
10
|
#uri;
|
|
10
11
|
#resource;
|
|
12
|
+
#meta;
|
|
11
13
|
constructor(uri) {
|
|
12
14
|
this.#uri = uri;
|
|
13
15
|
this.#resource = null;
|
|
14
16
|
}
|
|
15
|
-
async preProcess(resourceList) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
this.#resource = new Resource();
|
|
17
|
+
async preProcess(resourceList, ctx) {
|
|
18
|
+
this.#resource = await findResource({
|
|
19
|
+
uri: this.#uri,
|
|
20
|
+
resourceList,
|
|
21
|
+
ctx
|
|
22
|
+
});
|
|
22
23
|
return this;
|
|
23
24
|
}
|
|
24
25
|
async toTool(_tool) {
|
|
25
26
|
if (!this.#resource) {
|
|
26
27
|
throw createError('Resource not found.', 'E_RESOURCE_NOT_FOUND');
|
|
27
28
|
}
|
|
28
|
-
return {
|
|
29
|
+
return this.#mergeMeta({
|
|
29
30
|
type: 'resource_link',
|
|
30
31
|
name: this.#resource.name,
|
|
31
32
|
uri: this.#uri,
|
|
@@ -33,7 +34,7 @@ export default class ResourceLink {
|
|
|
33
34
|
title: this.#resource.title,
|
|
34
35
|
description: this.#resource.description,
|
|
35
36
|
size: this.#resource.size,
|
|
36
|
-
};
|
|
37
|
+
});
|
|
37
38
|
}
|
|
38
39
|
async toPrompt(_prompt) {
|
|
39
40
|
throw createError('Resource link content may not be used in prompts.', 'E_RESOURCE_LINK_NOT_SUPPORTED');
|
|
@@ -41,4 +42,14 @@ export default class ResourceLink {
|
|
|
41
42
|
async toResource(_resource) {
|
|
42
43
|
throw createError('Resource link content may not be used in resources.', 'E_RESOURCE_LINK_NOT_SUPPORTED');
|
|
43
44
|
}
|
|
45
|
+
withMeta(meta) {
|
|
46
|
+
this.#meta = meta;
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
#mergeMeta(object) {
|
|
50
|
+
if (this.#meta) {
|
|
51
|
+
return { ...object, _meta: this.#meta };
|
|
52
|
+
}
|
|
53
|
+
return object;
|
|
54
|
+
}
|
|
44
55
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { Content } from '../content.js';
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
8
|
import type { TextContent } from '../../types/jsonrpc.js';
|
|
9
9
|
import type { Resource } from '../resource.js';
|
|
10
10
|
import type { AnyTool as Tool } from '../tool.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/structured.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"structured.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/structured.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAIvD,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,OAAO;;gBAGpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI3C,IAAI,iBAAiB,4BAEpB;IAEK,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAIzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAOzC,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;CAMtD"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { Content } from '../content.js';
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
8
|
import type { TextContent, TextResourceContents } from '../../types/jsonrpc.js';
|
|
9
9
|
import type { AnyTool as Tool } from '../tool.js';
|
|
10
10
|
import type { AnyPrompt as Prompt } from '../prompt.js';
|
|
@@ -19,5 +19,6 @@ export default class Text implements Content {
|
|
|
19
19
|
asAssistant(): this;
|
|
20
20
|
asUser(): this;
|
|
21
21
|
get role(): Role;
|
|
22
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC/E,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,IAAI,MAAM,qBAAqB,CAAA;AAEtC,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,OAAO;;gBAK9B,IAAI,EAAE,MAAM,GAAG,OAAO;IAS5B,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAOzC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAO/C,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,WAAW,IAAI,IAAI;IAKnB,MAAM,IAAI,IAAI;IAKd,IAAI,IAAI,SAEP;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY9C"}
|
|
@@ -8,6 +8,7 @@ import Role from '../../enums/role.js';
|
|
|
8
8
|
export default class Text {
|
|
9
9
|
#text;
|
|
10
10
|
#role;
|
|
11
|
+
#meta;
|
|
11
12
|
constructor(text) {
|
|
12
13
|
if (typeof text === 'string') {
|
|
13
14
|
this.#text = text;
|
|
@@ -18,23 +19,23 @@ export default class Text {
|
|
|
18
19
|
this.#role = Role.USER;
|
|
19
20
|
}
|
|
20
21
|
async toTool(_tool) {
|
|
21
|
-
return {
|
|
22
|
+
return this.#mergeMeta({
|
|
22
23
|
type: 'text',
|
|
23
24
|
text: this.#text,
|
|
24
|
-
};
|
|
25
|
+
});
|
|
25
26
|
}
|
|
26
27
|
async toPrompt(_prompt) {
|
|
27
|
-
return {
|
|
28
|
+
return this.#mergeMeta({
|
|
28
29
|
type: 'text',
|
|
29
30
|
text: this.#text,
|
|
30
|
-
};
|
|
31
|
+
});
|
|
31
32
|
}
|
|
32
33
|
async toResource(resource) {
|
|
33
|
-
return {
|
|
34
|
+
return this.#mergeMeta({
|
|
34
35
|
text: this.#text,
|
|
35
36
|
uri: resource.uri,
|
|
36
|
-
mimeType: resource.mimeType
|
|
37
|
-
};
|
|
37
|
+
mimeType: resource.mimeType
|
|
38
|
+
});
|
|
38
39
|
}
|
|
39
40
|
asAssistant() {
|
|
40
41
|
this.#role = Role.ASSISTANT;
|
|
@@ -47,4 +48,14 @@ export default class Text {
|
|
|
47
48
|
get role() {
|
|
48
49
|
return this.#role;
|
|
49
50
|
}
|
|
51
|
+
withMeta(meta) {
|
|
52
|
+
this.#meta = meta;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
#mergeMeta(object) {
|
|
56
|
+
if (this.#meta) {
|
|
57
|
+
return { ...object, _meta: this.#meta };
|
|
58
|
+
}
|
|
59
|
+
return object;
|
|
60
|
+
}
|
|
50
61
|
}
|
|
@@ -4,11 +4,13 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { McpContext
|
|
7
|
+
import type { McpContext } from './contracts/context.js';
|
|
8
|
+
import type { ServerContextOptions } from '../types/context.js';
|
|
8
9
|
import type { ToolList, ResourceList, PromptList } from '../types/method.js';
|
|
9
10
|
import type { McpRequest, McpRequestType } from '../types/request.js';
|
|
10
11
|
import type { McpToolResponse, McpResourceResponse, McpPromptResponse } from '../types/response.js';
|
|
11
12
|
export default class ServerContext implements McpContext {
|
|
13
|
+
#private;
|
|
12
14
|
readonly requestType: McpRequestType;
|
|
13
15
|
supportedProtocolVersions: string[];
|
|
14
16
|
serverCapabilities: Record<string, any>;
|
|
@@ -24,5 +26,7 @@ export default class ServerContext implements McpContext {
|
|
|
24
26
|
response: this['requestType'] extends 'resource' ? McpResourceResponse : this['requestType'] extends 'prompt' ? McpPromptResponse : McpToolResponse;
|
|
25
27
|
constructor(options: ServerContextOptions);
|
|
26
28
|
getPerPage(requestedPerPage?: number): number;
|
|
29
|
+
getResources(): Promise<ResourceList>;
|
|
30
|
+
getResourceTemplates(): Promise<ResourceList>;
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/server/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAMnG,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,UAAU;;IACtD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAA;IAEpC,yBAAyB,EAAE,MAAM,EAAE,CAAA;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAA;IACf,SAAS,EAAE,YAAY,CAAA;IACvB,OAAO,EAAE,UAAU,CAAA;IACnB,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,UAAU,GAC5C,mBAAmB,GACnB,IAAI,CAAC,aAAa,CAAC,SAAS,QAAQ,GAClC,iBAAiB,GACjB,eAAe,CAAA;gBAET,OAAO,EAAE,oBAAoB;IAyBzC,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAIvC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAIrC,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC;CA2BpD"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
1
7
|
import Request from '../request.js';
|
|
2
8
|
import McpResponse from '../response.js';
|
|
9
|
+
import { UriTemplate } from '../utils/uri_template.js';
|
|
3
10
|
export default class ServerContext {
|
|
4
11
|
requestType;
|
|
5
12
|
supportedProtocolVersions;
|
|
@@ -42,4 +49,23 @@ export default class ServerContext {
|
|
|
42
49
|
getPerPage(requestedPerPage) {
|
|
43
50
|
return Math.min(requestedPerPage ?? this.defaultPaginationLength, this.maxPaginationLength);
|
|
44
51
|
}
|
|
52
|
+
async getResources() {
|
|
53
|
+
return this.#filterResources({ includeTemplates: false });
|
|
54
|
+
}
|
|
55
|
+
async getResourceTemplates() {
|
|
56
|
+
return this.#filterResources({ includeTemplates: true });
|
|
57
|
+
}
|
|
58
|
+
async #filterResources({ includeTemplates, }) {
|
|
59
|
+
const resourceEntries = Object.entries(this.resources);
|
|
60
|
+
const filteredEntries = await Promise.all(resourceEntries.map(async ([key, resource]) => {
|
|
61
|
+
const { default: Resource } = await import(resource);
|
|
62
|
+
const resourceInstance = new Resource();
|
|
63
|
+
const isTemplate = this.#isResourceTemplate(resourceInstance);
|
|
64
|
+
return (includeTemplates ? isTemplate : !isTemplate) ? [key, resource] : null;
|
|
65
|
+
}));
|
|
66
|
+
return Object.fromEntries(filteredEntries.filter((entry) => entry !== null));
|
|
67
|
+
}
|
|
68
|
+
#isResourceTemplate(resource) {
|
|
69
|
+
return UriTemplate.isTemplate(resource.uri);
|
|
70
|
+
}
|
|
45
71
|
}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
-
import type { ToolResponse, ResourceResponse, PromptResponse } from '
|
|
8
|
-
import type { Resource } from '
|
|
9
|
-
import type { AnyTool as Tool } from '
|
|
10
|
-
import type { AnyPrompt as Prompt } from '
|
|
7
|
+
import type { ToolResponse, ResourceResponse, PromptResponse } from '../../types/response.js';
|
|
8
|
+
import type { Resource } from '../resource.js';
|
|
9
|
+
import type { AnyTool as Tool } from '../tool.js';
|
|
10
|
+
import type { AnyPrompt as Prompt } from '../prompt.js';
|
|
11
11
|
export declare abstract class Content {
|
|
12
12
|
abstract toTool(tool: Tool): ToolResponse;
|
|
13
13
|
abstract toPrompt(prompt: Prompt): PromptResponse;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../src/server/contracts/content.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAEvD,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY;IACzC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc;IACjD,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,gBAAgB;CAC1D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolList, ResourceList, PromptList } from '../../types/method.js';
|
|
8
|
+
import type { McpRequest, McpRequestType } from '../../types/request.js';
|
|
9
|
+
import type { McpResourceResponse, McpToolResponse, McpPromptResponse } from '../../types/response.js';
|
|
10
|
+
export interface McpContext {
|
|
11
|
+
requestType: McpRequestType;
|
|
12
|
+
supportedProtocolVersions: string[];
|
|
13
|
+
serverCapabilities: Record<string, any>;
|
|
14
|
+
serverName: string;
|
|
15
|
+
serverVersion: string;
|
|
16
|
+
instructions: string;
|
|
17
|
+
maxPaginationLength: number;
|
|
18
|
+
defaultPaginationLength: number;
|
|
19
|
+
tools: ToolList;
|
|
20
|
+
resources: ResourceList;
|
|
21
|
+
resourceTemplates?: string[];
|
|
22
|
+
prompts: PromptList;
|
|
23
|
+
request: McpRequest;
|
|
24
|
+
response: this['requestType'] extends 'resource' ? McpResourceResponse : this['requestType'] extends 'prompt' ? McpPromptResponse : McpToolResponse;
|
|
25
|
+
getPerPage(requestedPerPage?: number): number;
|
|
26
|
+
getResources(): Promise<ResourceList>;
|
|
27
|
+
getResourceTemplates(): Promise<ResourceList>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/server/contracts/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACxE,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EAClB,MAAM,yBAAyB,CAAA;AAEhC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,cAAc,CAAA;IAE3B,yBAAyB,EAAE,MAAM,EAAE,CAAA;IACnC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,KAAK,EAAE,QAAQ,CAAA;IACf,SAAS,EAAE,YAAY,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,OAAO,EAAE,UAAU,CAAA;IACnB,OAAO,EAAE,UAAU,CAAA;IACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,UAAU,GAC5C,mBAAmB,GACnB,IAAI,CAAC,aAAa,CAAC,SAAS,QAAQ,GAClC,iBAAiB,GACjB,eAAe,CAAA;IAErB,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC7C,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;IACrC,oBAAoB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAA;CAC9C"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
7
|
import type { McpContext } from './context.js';
|
|
8
|
-
import type { JsonRpcResponse } from '
|
|
8
|
+
import type { JsonRpcResponse } from '../../types/jsonrpc.js';
|
|
9
9
|
export interface Transport {
|
|
10
10
|
bindBouncer?(mcpContext: McpContext): void;
|
|
11
11
|
bindAuth?(mcpContext: McpContext): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../../src/server/contracts/transport.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1C,QAAQ,CAAC,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAA;IACvC,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CACrC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
+
import type { McpContext } from '../contracts/context.js';
|
|
7
8
|
import type { Method } from '../../types/method.js';
|
|
8
|
-
import type { McpContext } from '../../types/context.js';
|
|
9
9
|
export default class CallTool implements Method {
|
|
10
10
|
handle(ctx: McpContext): Promise<import("../../types/jsonrpc.js").JsonRpcResponse>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call_tool.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/call_tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"call_tool.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/call_tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAYnD,MAAM,CAAC,OAAO,OAAO,QAAS,YAAW,MAAM;IACvC,MAAM,CAAC,GAAG,EAAE,UAAU;CAsE7B"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
+
import type { McpContext } from '../contracts/context.js';
|
|
7
8
|
import type { Method } from '../../types/method.js';
|
|
8
|
-
import type { McpContext } from '../../types/context.js';
|
|
9
9
|
export default class GetPrompt implements Method {
|
|
10
10
|
handle(ctx: McpContext): Promise<import("../../types/jsonrpc.js").JsonRpcResponse>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/get_prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"get_prompt.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/get_prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AASnD,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,MAAM;IACxC,MAAM,CAAC,GAAG,EAAE,UAAU;CA+E7B"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
+
import type { McpContext } from '../contracts/context.js';
|
|
7
8
|
import type { Method } from '../../types/method.js';
|
|
8
|
-
import type { McpContext } from '../../types/context.js';
|
|
9
9
|
export default class Initialize implements Method {
|
|
10
10
|
handle(ctx: McpContext): import("../../types/jsonrpc.js").JsonRpcResponse;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/initialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/initialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAMnD,MAAM,CAAC,OAAO,OAAO,UAAW,YAAW,MAAM;IAC/C,MAAM,CAAC,GAAG,EAAE,UAAU;CAgCvB"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
6
|
*/
|
|
7
|
+
import type { McpContext } from '../contracts/context.js';
|
|
7
8
|
import type { Method } from '../../types/method.js';
|
|
8
|
-
import type { McpContext } from '../../types/context.js';
|
|
9
9
|
export default class ListPrompts implements Method {
|
|
10
10
|
handle(ctx: McpContext): Promise<import("../../types/jsonrpc.js").JsonRpcResponse>;
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_prompts.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/list_prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"list_prompts.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/list_prompts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAOnD,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,MAAM;IAC1C,MAAM,CAAC,GAAG,EAAE,UAAU;CAiC7B"}
|
|
@@ -17,22 +17,7 @@ export default class ListPrompts {
|
|
|
17
17
|
try {
|
|
18
18
|
const { default: Prompt } = await import(filepath);
|
|
19
19
|
const prompt = new Prompt();
|
|
20
|
-
|
|
21
|
-
? prompt.schema()
|
|
22
|
-
: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
properties: {},
|
|
25
|
-
};
|
|
26
|
-
return {
|
|
27
|
-
name: prompt.name,
|
|
28
|
-
title: prompt.title,
|
|
29
|
-
description: prompt.description,
|
|
30
|
-
inputSchema: {
|
|
31
|
-
type: schema.type,
|
|
32
|
-
properties: schema.properties,
|
|
33
|
-
required: schema.required ?? [],
|
|
34
|
-
},
|
|
35
|
-
};
|
|
20
|
+
return prompt.toJson();
|
|
36
21
|
}
|
|
37
22
|
catch (error) {
|
|
38
23
|
throw new JsonRpcException(`Error listing prompt`, ErrorCode.InternalError, ctx.request.id, { error });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { McpContext } from '../contracts/context.js';
|
|
8
|
+
import type { Method } from '../../types/method.js';
|
|
9
|
+
export default class ListResourceTemplates implements Method {
|
|
10
|
+
handle(ctx: McpContext): Promise<import("../../types/jsonrpc.js").JsonRpcResponse>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=list_resource_templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list_resource_templates.d.ts","sourceRoot":"","sources":["../../../../src/server/methods/list_resource_templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAOnD,MAAM,CAAC,OAAO,OAAO,qBAAsB,YAAW,MAAM;IACpD,MAAM,CAAC,GAAG,EAAE,UAAU;CAiC7B"}
|