@jrmc/adonis-mcp 1.0.0-alpha.9 → 1.0.0-beta.2
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 +811 -26
- 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/commands/make/prompt.d.ts +16 -0
- package/build/commands/make/prompt.d.ts.map +1 -0
- package/build/commands/make/prompt.js +33 -0
- package/build/commands/make/resource.d.ts +16 -0
- package/build/commands/make/resource.d.ts.map +1 -0
- package/build/commands/make/resource.js +33 -0
- package/build/commands/make/tool.d.ts.map +1 -1
- package/build/commands/make/tool.js +0 -2
- package/build/configure.d.ts.map +1 -1
- package/build/configure.js +7 -0
- package/build/index.d.ts +2 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/providers/mcp_provider.d.ts +3 -0
- package/build/providers/mcp_provider.d.ts.map +1 -1
- package/build/providers/mcp_provider.js +35 -12
- package/build/src/define_config.d.ts.map +1 -1
- package/build/src/define_config.js +0 -3
- package/build/src/enums/error.d.ts.map +1 -1
- package/build/src/enums/error.js +0 -1
- package/build/src/request.d.ts +1 -1
- package/build/src/response.d.ts +24 -23
- package/build/src/response.d.ts.map +1 -1
- package/build/src/response.js +49 -13
- package/build/src/server/annotations/annotations.d.ts +10 -0
- package/build/src/server/annotations/annotations.d.ts.map +1 -0
- package/build/src/server/annotations/annotations.js +9 -0
- package/build/src/server/annotations/audience.d.ts +22 -0
- package/build/src/server/annotations/audience.d.ts.map +1 -0
- package/build/src/server/annotations/audience.js +28 -0
- package/build/src/server/annotations/is_destructive.d.ts +17 -0
- package/build/src/server/annotations/is_destructive.d.ts.map +1 -0
- package/build/src/server/annotations/is_destructive.js +24 -0
- package/build/src/server/annotations/is_idempotent.d.ts +17 -0
- package/build/src/server/annotations/is_idempotent.d.ts.map +1 -0
- package/build/src/server/annotations/is_idempotent.js +24 -0
- package/build/src/server/annotations/is_open_world.d.ts +17 -0
- package/build/src/server/annotations/is_open_world.d.ts.map +1 -0
- package/build/src/server/annotations/is_open_world.js +24 -0
- package/build/src/server/annotations/is_read_only.d.ts +17 -0
- package/build/src/server/annotations/is_read_only.d.ts.map +1 -0
- package/build/src/server/annotations/is_read_only.js +24 -0
- package/build/src/server/annotations/last_modified.d.ts +21 -0
- package/build/src/server/annotations/last_modified.d.ts.map +1 -0
- package/build/src/server/annotations/last_modified.js +28 -0
- package/build/src/server/annotations/priority.d.ts +21 -0
- package/build/src/server/annotations/priority.d.ts.map +1 -0
- package/build/src/server/annotations/priority.js +31 -0
- package/build/src/server/annotations/tool_annotations.d.ts +11 -0
- package/build/src/server/annotations/tool_annotations.d.ts.map +1 -0
- package/build/src/server/annotations/tool_annotations.js +10 -0
- package/build/src/server/contents/audio.d.ts +24 -0
- package/build/src/server/contents/audio.d.ts.map +1 -0
- package/build/src/server/contents/audio.js +57 -0
- package/build/src/server/contents/blob.d.ts +20 -0
- package/build/src/server/contents/blob.d.ts.map +1 -0
- package/build/src/server/contents/blob.js +42 -0
- package/build/src/server/contents/embedded_resource.d.ts +25 -0
- package/build/src/server/contents/embedded_resource.d.ts.map +1 -0
- package/build/src/server/contents/embedded_resource.js +72 -0
- package/build/src/server/contents/error.d.ts +15 -0
- package/build/src/server/contents/error.d.ts.map +1 -0
- package/build/src/server/contents/error.js +16 -0
- package/build/src/server/contents/image.d.ts +24 -0
- package/build/src/server/contents/image.d.ts.map +1 -0
- package/build/src/server/contents/image.js +57 -0
- package/build/src/server/contents/resource_link.d.ts +22 -0
- package/build/src/server/contents/resource_link.d.ts.map +1 -0
- package/build/src/server/contents/resource_link.js +55 -0
- package/build/src/server/contents/structured.d.ts +20 -0
- package/build/src/server/contents/structured.d.ts.map +1 -0
- package/build/src/server/contents/structured.js +26 -0
- package/build/src/server/contents/text.d.ts +24 -0
- package/build/src/server/contents/text.d.ts.map +1 -0
- package/build/src/server/contents/text.js +61 -0
- package/build/src/server/context.d.ts +11 -6
- package/build/src/server/context.d.ts.map +1 -1
- package/build/src/server/context.js +30 -2
- package/build/src/server/contracts/content.d.ts +16 -0
- package/build/src/server/contracts/content.d.ts.map +1 -0
- package/build/src/server/contracts/content.js +8 -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/server/contracts/response.d.ts +26 -0
- package/build/src/server/contracts/response.d.ts.map +1 -0
- package/build/src/{types → server/contracts}/transport.d.ts +2 -2
- package/build/src/server/contracts/transport.d.ts.map +1 -0
- package/build/src/server/contracts/transport.js +7 -0
- package/build/src/server/controllers/mcp_controller.d.ts.map +1 -1
- package/build/src/server/controllers/mcp_controller.js +0 -3
- package/build/src/server/exceptions/jsonrpc_exception.d.ts +6 -5
- package/build/src/server/exceptions/jsonrpc_exception.d.ts.map +1 -1
- package/build/src/server/exceptions/jsonrpc_exception.js +18 -9
- package/build/src/server/methods/call_tool.d.ts +2 -2
- package/build/src/server/methods/call_tool.d.ts.map +1 -1
- package/build/src/server/methods/call_tool.js +42 -17
- package/build/src/server/methods/completion.d.ts +12 -0
- package/build/src/server/methods/completion.d.ts.map +1 -0
- package/build/src/server/methods/completion.js +45 -0
- package/build/src/server/methods/get_prompt.d.ts +2 -2
- package/build/src/server/methods/get_prompt.d.ts.map +1 -1
- package/build/src/server/methods/get_prompt.js +55 -2
- package/build/src/server/methods/initialize.d.ts +2 -2
- package/build/src/server/methods/initialize.d.ts.map +1 -1
- package/build/src/server/methods/initialize.js +4 -1
- package/build/src/server/methods/list_prompts.d.ts +2 -2
- package/build/src/server/methods/list_prompts.d.ts.map +1 -1
- package/build/src/server/methods/list_prompts.js +24 -3
- 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 +34 -0
- package/build/src/server/methods/list_resources.d.ts +2 -2
- package/build/src/server/methods/list_resources.d.ts.map +1 -1
- package/build/src/server/methods/list_resources.js +24 -3
- package/build/src/server/methods/list_tools.d.ts +2 -2
- package/build/src/server/methods/list_tools.d.ts.map +1 -1
- package/build/src/server/methods/list_tools.js +5 -17
- package/build/src/server/methods/ping.d.ts +2 -2
- package/build/src/server/methods/ping.d.ts.map +1 -1
- package/build/src/server/methods/ping.js +1 -1
- package/build/src/server/methods/read_resource.d.ts +2 -2
- package/build/src/server/methods/read_resource.d.ts.map +1 -1
- package/build/src/server/methods/read_resource.js +20 -2
- package/build/src/server/pagination/cursor_paginator.d.ts +2 -4
- package/build/src/server/pagination/cursor_paginator.d.ts.map +1 -1
- package/build/src/server/pagination/cursor_paginator.js +11 -11
- package/build/src/server/prompt.d.ts +27 -0
- package/build/src/server/prompt.d.ts.map +1 -0
- package/build/src/server/prompt.js +32 -0
- package/build/src/server/resource.d.ts +23 -0
- package/build/src/server/resource.d.ts.map +1 -0
- package/build/src/server/resource.js +40 -0
- package/build/src/server/tool.d.ts +19 -9
- package/build/src/server/tool.d.ts.map +1 -1
- package/build/src/server/tool.js +21 -0
- package/build/src/server/transports/fake_transport.d.ts +19 -1
- package/build/src/server/transports/fake_transport.d.ts.map +1 -1
- package/build/src/server/transports/fake_transport.js +28 -1
- package/build/src/server/transports/http_transport.d.ts +4 -3
- package/build/src/server/transports/http_transport.d.ts.map +1 -1
- package/build/src/server/transports/http_transport.js +14 -9
- package/build/src/server/transports/stdio_transport.d.ts +2 -2
- package/build/src/server/transports/stdio_transport.d.ts.map +1 -1
- package/build/src/server/transports/stdio_transport.js +0 -3
- package/build/src/server.d.ts +4 -3
- package/build/src/server.d.ts.map +1 -1
- package/build/src/server.js +15 -9
- package/build/src/types/config.d.ts +1 -0
- package/build/src/types/config.d.ts.map +1 -1
- package/build/src/types/content.d.ts +35 -0
- package/build/src/types/content.d.ts.map +1 -0
- package/build/src/types/content.js +7 -0
- package/build/src/types/context.d.ts +30 -18
- package/build/src/types/context.d.ts.map +1 -1
- package/build/src/types/jsonrpc.d.ts +406 -0
- package/build/src/types/jsonrpc.d.ts.map +1 -0
- package/build/src/types/jsonrpc.js +7 -0
- package/build/src/types/request.d.ts +3 -37
- package/build/src/types/request.d.ts.map +1 -1
- package/build/src/types/response.d.ts +10 -39
- package/build/src/types/response.d.ts.map +1 -1
- package/build/src/utils/find_resource_pattern.d.ts +19 -0
- package/build/src/utils/find_resource_pattern.d.ts.map +1 -0
- package/build/src/utils/find_resource_pattern.js +35 -0
- package/build/src/utils/stdio.d.ts +2 -3
- package/build/src/utils/stdio.d.ts.map +1 -1
- package/build/src/utils/stdio.js +7 -7
- 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 +241 -0
- package/build/stubs/config.ts.stub +0 -1
- package/build/stubs/make/mcp/prompts/main.ts.stub +32 -16
- package/build/stubs/make/mcp/resources/main.ts.stub +13 -19
- package/build/stubs/make/mcp/tools/main.ts.stub +11 -13
- package/build/stubs/make/middleware/mcp_middleware.ts.stub +48 -0
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -4
- package/build/src/types/notification.d.ts +0 -14
- package/build/src/types/notification.d.ts.map +0 -1
- package/build/src/types/transport.d.ts.map +0 -1
- /package/build/src/{types/notification.js → server/contracts/context.js} +0 -0
- /package/build/src/{types/transport.js → server/contracts/response.js} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Tool } from '../tool.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
export function isDestructive(destructive = true) {
|
|
10
|
+
return function (constructor) {
|
|
11
|
+
return class extends constructor {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
if (!(this instanceof Tool)) {
|
|
15
|
+
throw createError('@isDestructive decorator can only be applied to Tool classes', 'E_TOOL_DECORATOR');
|
|
16
|
+
}
|
|
17
|
+
if (!this.annotations) {
|
|
18
|
+
this.annotations = {};
|
|
19
|
+
}
|
|
20
|
+
this.annotations.destructiveHint = destructive;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolAnnotations } from '../../types/jsonrpc.js';
|
|
8
|
+
export declare function isIdempotent(idempotent?: true | false): <T extends {
|
|
9
|
+
new (...args: any[]): {
|
|
10
|
+
annotations?: ToolAnnotations;
|
|
11
|
+
};
|
|
12
|
+
}>(constructor: T) => {
|
|
13
|
+
new (...args: any[]): {
|
|
14
|
+
annotations?: ToolAnnotations;
|
|
15
|
+
};
|
|
16
|
+
} & T;
|
|
17
|
+
//# sourceMappingURL=is_idempotent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is_idempotent.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/is_idempotent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAK7D,wBAAgB,YAAY,CAAC,UAAU,GAAE,IAAI,GAAG,KAAY,IACzC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,WAAW,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,EACpF,aAAa,CAAC;kBAGS,GAAG,EAAE;sBAJqC,eAAe;;MAmBnF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Tool } from '../tool.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
export function isIdempotent(idempotent = true) {
|
|
10
|
+
return function (constructor) {
|
|
11
|
+
return class extends constructor {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
if (!(this instanceof Tool)) {
|
|
15
|
+
throw createError('@isIdempotent decorator can only be applied to Tool classes', 'E_TOOL_DECORATOR');
|
|
16
|
+
}
|
|
17
|
+
if (!this.annotations) {
|
|
18
|
+
this.annotations = {};
|
|
19
|
+
}
|
|
20
|
+
this.annotations.idempotentHint = idempotent;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolAnnotations } from '../../types/jsonrpc.js';
|
|
8
|
+
export declare function isOpenWorld(openWorld?: true | false): <T extends {
|
|
9
|
+
new (...args: any[]): {
|
|
10
|
+
annotations?: ToolAnnotations;
|
|
11
|
+
};
|
|
12
|
+
}>(constructor: T) => {
|
|
13
|
+
new (...args: any[]): {
|
|
14
|
+
annotations?: ToolAnnotations;
|
|
15
|
+
};
|
|
16
|
+
} & T;
|
|
17
|
+
//# sourceMappingURL=is_open_world.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is_open_world.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/is_open_world.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAK7D,wBAAgB,WAAW,CAAC,SAAS,GAAE,IAAI,GAAG,KAAY,IACvC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,WAAW,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,EACpF,aAAa,CAAC;kBAGS,GAAG,EAAE;sBAJqC,eAAe;;MAmBnF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Tool } from '../tool.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
export function isOpenWorld(openWorld = true) {
|
|
10
|
+
return function (constructor) {
|
|
11
|
+
return class extends constructor {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
if (!(this instanceof Tool)) {
|
|
15
|
+
throw createError('@isOpenWorld decorator can only be applied to Tool classes', 'E_TOOL_DECORATOR');
|
|
16
|
+
}
|
|
17
|
+
if (!this.annotations) {
|
|
18
|
+
this.annotations = {};
|
|
19
|
+
}
|
|
20
|
+
this.annotations.openWorldHint = openWorld;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolAnnotations } from '../../types/jsonrpc.js';
|
|
8
|
+
export declare function isReadOnly(readonly?: true | false): <T extends {
|
|
9
|
+
new (...args: any[]): {
|
|
10
|
+
annotations?: ToolAnnotations;
|
|
11
|
+
};
|
|
12
|
+
}>(constructor: T) => {
|
|
13
|
+
new (...args: any[]): {
|
|
14
|
+
annotations?: ToolAnnotations;
|
|
15
|
+
};
|
|
16
|
+
} & T;
|
|
17
|
+
//# sourceMappingURL=is_read_only.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is_read_only.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/is_read_only.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAK7D,wBAAgB,UAAU,CAAC,QAAQ,GAAE,IAAI,GAAG,KAAY,IACrC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,WAAW,CAAC,EAAE,eAAe,CAAA;KAAE,CAAA;CAAE,EACpF,aAAa,CAAC;kBAGS,GAAG,EAAE;sBAJqC,eAAe;;MAmBnF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Tool } from '../tool.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
export function isReadOnly(readonly = true) {
|
|
10
|
+
return function (constructor) {
|
|
11
|
+
return class extends constructor {
|
|
12
|
+
constructor(...args) {
|
|
13
|
+
super(...args);
|
|
14
|
+
if (!(this instanceof Tool)) {
|
|
15
|
+
throw createError('@isReadOnly decorator can only be applied to Tool classes', 'E_TOOL_DECORATOR');
|
|
16
|
+
}
|
|
17
|
+
if (!this.annotations) {
|
|
18
|
+
this.annotations = {};
|
|
19
|
+
}
|
|
20
|
+
this.annotations.readOnlyHint = readonly;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Annotations } from '../../types/jsonrpc.js';
|
|
8
|
+
/**
|
|
9
|
+
* Decorator to indicate when a resource was last updated
|
|
10
|
+
* @param lastModified - An ISO 8601 timestamp string showing when the resource was last updated
|
|
11
|
+
*/
|
|
12
|
+
export declare function lastModified(lastModified: string): <T extends {
|
|
13
|
+
new (...args: any[]): {
|
|
14
|
+
annotations?: Annotations;
|
|
15
|
+
};
|
|
16
|
+
}>(constructor: T) => {
|
|
17
|
+
new (...args: any[]): {
|
|
18
|
+
annotations?: Annotations;
|
|
19
|
+
};
|
|
20
|
+
} & T;
|
|
21
|
+
//# sourceMappingURL=last_modified.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"last_modified.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/last_modified.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKzD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,IAC9B,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAA;CAAE,EAChF,aAAa,CAAC;kBAGS,GAAG,EAAE;sBAJqC,WAAW;;MAmB/E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Resource } from '../resource.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
/**
|
|
10
|
+
* Decorator to indicate when a resource was last updated
|
|
11
|
+
* @param lastModified - An ISO 8601 timestamp string showing when the resource was last updated
|
|
12
|
+
*/
|
|
13
|
+
export function lastModified(lastModified) {
|
|
14
|
+
return function (constructor) {
|
|
15
|
+
return class extends constructor {
|
|
16
|
+
constructor(...args) {
|
|
17
|
+
super(...args);
|
|
18
|
+
if (!(this instanceof Resource)) {
|
|
19
|
+
throw createError('@lastModified decorator can only be applied to Resource classes', 'E_RESOURCE_DECORATOR');
|
|
20
|
+
}
|
|
21
|
+
if (!this.annotations) {
|
|
22
|
+
this.annotations = {};
|
|
23
|
+
}
|
|
24
|
+
this.annotations.lastModified = lastModified;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Annotations } from '../../types/jsonrpc.js';
|
|
8
|
+
/**
|
|
9
|
+
* Decorator to indicate resource importance
|
|
10
|
+
* @param priority - A numerical score between 0.0 and 1.0 indicating resource importance
|
|
11
|
+
*/
|
|
12
|
+
export declare function priority(priority: number): <T extends {
|
|
13
|
+
new (...args: any[]): {
|
|
14
|
+
annotations?: Annotations;
|
|
15
|
+
};
|
|
16
|
+
}>(constructor: T) => {
|
|
17
|
+
new (...args: any[]): {
|
|
18
|
+
annotations?: Annotations;
|
|
19
|
+
};
|
|
20
|
+
} & T;
|
|
21
|
+
//# sourceMappingURL=priority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/priority.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKzD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAKtB,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG;QAAE,WAAW,CAAC,EAAE,WAAW,CAAA;KAAE,CAAA;CAAE,EAChF,aAAa,CAAC;kBAGS,GAAG,EAAE;sBAJqC,WAAW;;MAmB/E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { Resource } from '../resource.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
/**
|
|
10
|
+
* Decorator to indicate resource importance
|
|
11
|
+
* @param priority - A numerical score between 0.0 and 1.0 indicating resource importance
|
|
12
|
+
*/
|
|
13
|
+
export function priority(priority) {
|
|
14
|
+
if (priority < 0 || priority > 1) {
|
|
15
|
+
throw new Error('Priority must be a number between 0.0 and 1.0');
|
|
16
|
+
}
|
|
17
|
+
return function (constructor) {
|
|
18
|
+
return class extends constructor {
|
|
19
|
+
constructor(...args) {
|
|
20
|
+
super(...args);
|
|
21
|
+
if (!(this instanceof Resource)) {
|
|
22
|
+
throw createError('@priority decorator can only be applied to Resource classes', 'E_RESOURCE_DECORATOR');
|
|
23
|
+
}
|
|
24
|
+
if (!this.annotations) {
|
|
25
|
+
this.annotations = {};
|
|
26
|
+
}
|
|
27
|
+
this.annotations.priority = priority;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
export { isReadOnly } from './is_read_only.js';
|
|
8
|
+
export { isDestructive } from './is_destructive.js';
|
|
9
|
+
export { isIdempotent } from './is_idempotent.js';
|
|
10
|
+
export { isOpenWorld } from './is_open_world.js';
|
|
11
|
+
//# sourceMappingURL=tool_annotations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool_annotations.d.ts","sourceRoot":"","sources":["../../../../src/server/annotations/tool_annotations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
export { isReadOnly } from './is_read_only.js';
|
|
8
|
+
export { isDestructive } from './is_destructive.js';
|
|
9
|
+
export { isIdempotent } from './is_idempotent.js';
|
|
10
|
+
export { isOpenWorld } from './is_open_world.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
|
+
import type { AudioContent } from '../../types/jsonrpc.js';
|
|
9
|
+
import type { Tool } from '../tool.js';
|
|
10
|
+
import type { Prompt } from '../prompt.js';
|
|
11
|
+
import type { Resource } from '../resource.js';
|
|
12
|
+
import Role from '../../enums/role.js';
|
|
13
|
+
export default class Audio implements Content {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(data: string, mimeType: string);
|
|
16
|
+
toTool(_tool: Tool): Promise<AudioContent>;
|
|
17
|
+
toPrompt(_prompt: Prompt): Promise<AudioContent>;
|
|
18
|
+
toResource(_resource: Resource): Promise<never>;
|
|
19
|
+
asAssistant(): this;
|
|
20
|
+
asUser(): this;
|
|
21
|
+
get role(): Role;
|
|
22
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/audio.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,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
8
|
+
import Role from '../../enums/role.js';
|
|
9
|
+
export default class Audio {
|
|
10
|
+
#data;
|
|
11
|
+
#mimeType;
|
|
12
|
+
#meta;
|
|
13
|
+
#role;
|
|
14
|
+
constructor(data, mimeType) {
|
|
15
|
+
this.#data = data;
|
|
16
|
+
this.#mimeType = mimeType;
|
|
17
|
+
this.#role = Role.USER;
|
|
18
|
+
}
|
|
19
|
+
async toTool(_tool) {
|
|
20
|
+
return this.#mergeMeta({
|
|
21
|
+
type: 'audio',
|
|
22
|
+
data: this.#data,
|
|
23
|
+
mimeType: this.#mimeType,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async toPrompt(_prompt) {
|
|
27
|
+
return this.#mergeMeta({
|
|
28
|
+
type: 'audio',
|
|
29
|
+
data: this.#data,
|
|
30
|
+
mimeType: this.#mimeType,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async toResource(_resource) {
|
|
34
|
+
throw createError('Audio content may not be used in resources.', 'E_AUDIO_NOT_SUPPORTED');
|
|
35
|
+
}
|
|
36
|
+
asAssistant() {
|
|
37
|
+
this.#role = Role.ASSISTANT;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
asUser() {
|
|
41
|
+
this.#role = Role.USER;
|
|
42
|
+
return this;
|
|
43
|
+
}
|
|
44
|
+
get role() {
|
|
45
|
+
return this.#role;
|
|
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
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
|
+
import type { BlobResourceContents } from '../../types/jsonrpc.js';
|
|
9
|
+
import type { Resource } from '../resource.js';
|
|
10
|
+
import type { Tool } from '../tool.js';
|
|
11
|
+
import type { Prompt } from '../prompt.js';
|
|
12
|
+
export default class Blob implements Content {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(text: string | Buffer);
|
|
15
|
+
toTool(_tool: Tool): Promise<never>;
|
|
16
|
+
toPrompt(_prompt: Prompt): Promise<never>;
|
|
17
|
+
toResource(resource: Resource): Promise<BlobResourceContents>;
|
|
18
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=blob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/blob.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAG1C,MAAM,CAAC,OAAO,OAAO,IAAK,YAAW,OAAO;;gBAI9B,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ3B,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IAInC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAIzC,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY9C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
8
|
+
export default class Blob {
|
|
9
|
+
#text;
|
|
10
|
+
#meta;
|
|
11
|
+
constructor(text) {
|
|
12
|
+
if (typeof text === 'string') {
|
|
13
|
+
this.#text = Buffer.from(text).toString('base64');
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.#text = text.toString('base64');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async toTool(_tool) {
|
|
20
|
+
throw createError('Blob content may not be used in tools.', 'E_BLOB_NOT_SUPPORTED');
|
|
21
|
+
}
|
|
22
|
+
async toPrompt(_prompt) {
|
|
23
|
+
throw createError('Blob content may not be used in prompts.', 'E_BLOB_NOT_SUPPORTED');
|
|
24
|
+
}
|
|
25
|
+
async toResource(resource) {
|
|
26
|
+
return this.#mergeMeta({
|
|
27
|
+
blob: this.#text,
|
|
28
|
+
uri: resource.uri,
|
|
29
|
+
mimeType: resource.mimeType,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
withMeta(meta) {
|
|
33
|
+
this.#meta = meta;
|
|
34
|
+
return this;
|
|
35
|
+
}
|
|
36
|
+
#mergeMeta(object) {
|
|
37
|
+
if (this.#meta) {
|
|
38
|
+
return { ...object, _meta: this.#meta };
|
|
39
|
+
}
|
|
40
|
+
return object;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
|
+
import type { EmbeddedResource as EmbeddedResourceContent } from '../../types/jsonrpc.js';
|
|
9
|
+
import type { Tool } from '../tool.js';
|
|
10
|
+
import type { Prompt } from '../prompt.js';
|
|
11
|
+
import type { Resource } from '../resource.js';
|
|
12
|
+
import type { ResourceContext } from '../../types/context.js';
|
|
13
|
+
export default class EmbeddedResource implements Content {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(uri: string);
|
|
16
|
+
preProcess(ctx: ResourceContext): Promise<this>;
|
|
17
|
+
toTool(_tool: Tool): Promise<EmbeddedResourceContent>;
|
|
18
|
+
toPrompt(_prompt: Prompt): Promise<EmbeddedResourceContent>;
|
|
19
|
+
toResource(_resource: Resource): Promise<never>;
|
|
20
|
+
asAssistant(): this;
|
|
21
|
+
asUser(): this;
|
|
22
|
+
get role(): "user" | "assistant";
|
|
23
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=embedded_resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_resource.d.ts","sourceRoot":"","sources":["../../../../src/server/contents/embedded_resource.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAK7D,MAAM,CAAC,OAAO,OAAO,gBAAiB,YAAW,OAAO;;gBAQ1C,GAAG,EAAE,MAAM;IAKjB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYrD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAY3D,UAAU,CAAC,SAAS,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAOrD,WAAW,IAAI,IAAI;IAKnB,MAAM,IAAI,IAAI;IAKd,IAAI,IAAI,yBAEP;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAY9C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
8
|
+
import { findResource } from '../../utils/find_resource_pattern.js';
|
|
9
|
+
export default class EmbeddedResource {
|
|
10
|
+
#uri;
|
|
11
|
+
#resource;
|
|
12
|
+
#role;
|
|
13
|
+
#meta;
|
|
14
|
+
#ctx;
|
|
15
|
+
constructor(uri) {
|
|
16
|
+
this.#uri = uri;
|
|
17
|
+
this.#role = 'user';
|
|
18
|
+
}
|
|
19
|
+
async preProcess(ctx) {
|
|
20
|
+
this.#ctx = ctx;
|
|
21
|
+
this.#resource = await findResource({
|
|
22
|
+
uri: this.#uri,
|
|
23
|
+
resourceList: ctx.resources,
|
|
24
|
+
ctx,
|
|
25
|
+
});
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
async toTool(_tool) {
|
|
29
|
+
if (!this.#resource) {
|
|
30
|
+
throw createError('Resource not found.', 'E_RESOURCE_NOT_FOUND');
|
|
31
|
+
}
|
|
32
|
+
const content = await this.#resource.handle(this.#ctx);
|
|
33
|
+
return this.#mergeMeta({
|
|
34
|
+
type: 'resource',
|
|
35
|
+
resource: await content.toResource(this.#resource),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
async toPrompt(_prompt) {
|
|
39
|
+
if (!this.#resource) {
|
|
40
|
+
throw createError('Resource not found.', 'E_RESOURCE_NOT_FOUND');
|
|
41
|
+
}
|
|
42
|
+
const content = await this.#resource.handle(this.#ctx);
|
|
43
|
+
return this.#mergeMeta({
|
|
44
|
+
type: 'resource',
|
|
45
|
+
resource: await content.toResource(this.#resource),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async toResource(_resource) {
|
|
49
|
+
throw createError('Embedded resource content may not be used in resources.', 'E_EMBEDDED_RESOURCE_NOT_SUPPORTED');
|
|
50
|
+
}
|
|
51
|
+
asAssistant() {
|
|
52
|
+
this.#role = 'assistant';
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
asUser() {
|
|
56
|
+
this.#role = 'user';
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
get role() {
|
|
60
|
+
return this.#role;
|
|
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
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
|
+
import type { Prompt } from '../prompt.js';
|
|
9
|
+
import type { Resource } from '../resource.js';
|
|
10
|
+
import Text from './text.js';
|
|
11
|
+
export default class Error extends Text implements Content {
|
|
12
|
+
toPrompt(_prompt: Prompt): never;
|
|
13
|
+
toResource(_resource: Resource): never;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=error.d.ts.map
|
|
@@ -0,0 +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,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import Text from './text.js';
|
|
8
|
+
import { createError } from '@adonisjs/core/exceptions';
|
|
9
|
+
export default class Error extends Text {
|
|
10
|
+
toPrompt(_prompt) {
|
|
11
|
+
throw createError('Error content may not be used in prompts.', 'E_ERROR_NOT_SUPPORTED');
|
|
12
|
+
}
|
|
13
|
+
toResource(_resource) {
|
|
14
|
+
throw createError('Error content may not be used in resources.', 'E_ERROR_NOT_SUPPORTED');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jrmc/adonis-mcp
|
|
3
|
+
*
|
|
4
|
+
* @license MIT
|
|
5
|
+
* @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
|
|
6
|
+
*/
|
|
7
|
+
import type { Content } from '../contracts/content.js';
|
|
8
|
+
import type { ImageContent } from '../../types/jsonrpc.js';
|
|
9
|
+
import type { Tool } from '../tool.js';
|
|
10
|
+
import type { Prompt } from '../prompt.js';
|
|
11
|
+
import type { Resource } from '../resource.js';
|
|
12
|
+
import Role from '../../enums/role.js';
|
|
13
|
+
export default class Image implements Content {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(data: string, mimeType: string);
|
|
16
|
+
toTool(_tool: Tool): Promise<ImageContent>;
|
|
17
|
+
toPrompt(_prompt: Prompt): Promise<ImageContent>;
|
|
18
|
+
toResource(_resource: Resource): Promise<never>;
|
|
19
|
+
asAssistant(): this;
|
|
20
|
+
asUser(): this;
|
|
21
|
+
get role(): Role;
|
|
22
|
+
withMeta(meta: Record<string, unknown>): this;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +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,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC1C,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"}
|