@lovelybunch/mcp 1.0.75-alpha.1 → 1.0.75-alpha.11
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/dist/architecture-context-tool.d.ts +1 -1
- package/dist/architecture-context-tool.d.ts.map +1 -1
- package/dist/events-tool.d.ts +1 -1
- package/dist/events-tool.d.ts.map +1 -1
- package/dist/fetch-tool.d.ts +53 -0
- package/dist/fetch-tool.d.ts.map +1 -0
- package/dist/fetch-tool.js +87 -0
- package/dist/fetch-tool.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/knowledge-tool.d.ts +1 -1
- package/dist/knowledge-tool.d.ts.map +1 -1
- package/dist/knowledge-tool.js +2 -2
- package/dist/knowledge-tool.js.map +1 -1
- package/dist/project-context-tool.d.ts +1 -1
- package/dist/project-context-tool.d.ts.map +1 -1
- package/dist/proposals-tool.d.ts +0 -5
- package/dist/proposals-tool.d.ts.map +1 -1
- package/dist/proposals-tool.js +179 -56
- package/dist/proposals-tool.js.map +1 -1
- package/dist/resources-tool.d.ts +3 -0
- package/dist/resources-tool.d.ts.map +1 -0
- package/dist/resources-tool.js +76 -0
- package/dist/resources-tool.js.map +1 -0
- package/dist/role-context-tool.d.ts +1 -1
- package/dist/role-context-tool.d.ts.map +1 -1
- package/dist/tasks-tool.d.ts +31 -0
- package/dist/tasks-tool.d.ts.map +1 -0
- package/dist/tasks-tool.js +165 -0
- package/dist/tasks-tool.js.map +1 -0
- package/dist/url-reader-tool.d.ts +7 -0
- package/dist/url-reader-tool.d.ts.map +1 -0
- package/dist/url-reader-tool.js +24 -0
- package/dist/url-reader-tool.js.map +1 -0
- package/package.json +3 -3
- package/src/architecture-context-tool.ts +1 -1
- package/src/events-tool.test.ts +28 -0
- package/src/events-tool.ts +1 -1
- package/src/index.ts +3 -2
- package/src/knowledge-tool.test.ts +137 -0
- package/src/knowledge-tool.ts +3 -3
- package/src/project-context-tool.ts +1 -1
- package/src/resources-tool.test.ts +137 -0
- package/src/resources-tool.ts +77 -0
- package/src/role-context-tool.ts +1 -1
- package/src/tasks-tool.test.ts +109 -0
- package/src/tasks-tool.ts +176 -0
- package/tsconfig.json +1 -1
- package/vitest.config.ts +4 -4
- package/src/proposals-tool.ts +0 -175
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Architecture Context tool for MCP - READ + WRITE
|
|
3
3
|
* Allows the AI assistant to read and update the architecture document (.nut/context/architecture.md)
|
|
4
4
|
*/
|
|
5
|
-
import type { MCPTool } from './
|
|
5
|
+
import type { MCPTool } from './tasks-tool.js';
|
|
6
6
|
/**
|
|
7
7
|
* Architecture context tool for AI assistant.
|
|
8
8
|
* Read and update the core architecture document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture-context-tool.d.ts","sourceRoot":"","sources":["../src/architecture-context-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"architecture-context-tool.d.ts","sourceRoot":"","sources":["../src/architecture-context-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,OA0BrC,CAAA"}
|
package/dist/events-tool.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Events tool for MCP - READ ONLY
|
|
3
3
|
* Allows the AI assistant to read recent activity/events from the Coconut instance
|
|
4
4
|
*/
|
|
5
|
-
import type { MCPTool } from './
|
|
5
|
+
import type { MCPTool } from './tasks-tool.js';
|
|
6
6
|
/**
|
|
7
7
|
* Read-only events tool for AI assistant.
|
|
8
8
|
* Returns recent activity events, most recent first.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-tool.d.ts","sourceRoot":"","sources":["../src/events-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"events-tool.d.ts","sourceRoot":"","sources":["../src/events-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,OAuBxB,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch Tool - Enables the AI to retrieve content from URLs
|
|
3
|
+
*
|
|
4
|
+
* Security considerations:
|
|
5
|
+
* - Only HTTP/HTTPS protocols allowed
|
|
6
|
+
* - Blocks private/internal IP ranges
|
|
7
|
+
* - Response size limited to prevent memory issues
|
|
8
|
+
* - Timeout to prevent hanging requests
|
|
9
|
+
*/
|
|
10
|
+
export declare const fetchTool: {
|
|
11
|
+
name: string;
|
|
12
|
+
description: string;
|
|
13
|
+
parameters: {
|
|
14
|
+
type: string;
|
|
15
|
+
properties: {
|
|
16
|
+
url: {
|
|
17
|
+
type: string;
|
|
18
|
+
description: string;
|
|
19
|
+
};
|
|
20
|
+
method: {
|
|
21
|
+
type: string;
|
|
22
|
+
enum: string[];
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
headers: {
|
|
26
|
+
type: string;
|
|
27
|
+
description: string;
|
|
28
|
+
additionalProperties: {
|
|
29
|
+
type: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
body: {
|
|
33
|
+
type: string;
|
|
34
|
+
description: string;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
required: string[];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export declare const FETCH_CONFIG: {
|
|
41
|
+
MAX_RESPONSE_SIZE: number;
|
|
42
|
+
TIMEOUT_MS: number;
|
|
43
|
+
BLOCKED_HOSTNAMES: string[];
|
|
44
|
+
BLOCKED_IP_PREFIXES: string[];
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Validate that a URL is safe to fetch
|
|
48
|
+
*/
|
|
49
|
+
export declare function validateFetchUrl(url: string): {
|
|
50
|
+
valid: boolean;
|
|
51
|
+
error?: string;
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=fetch-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-tool.d.ts","sourceRoot":"","sources":["../src/fetch-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrB,CAAA;AAGD,eAAO,MAAM,YAAY;;;;;CAoBxB,CAAA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA0BhF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fetch Tool - Enables the AI to retrieve content from URLs
|
|
3
|
+
*
|
|
4
|
+
* Security considerations:
|
|
5
|
+
* - Only HTTP/HTTPS protocols allowed
|
|
6
|
+
* - Blocks private/internal IP ranges
|
|
7
|
+
* - Response size limited to prevent memory issues
|
|
8
|
+
* - Timeout to prevent hanging requests
|
|
9
|
+
*/
|
|
10
|
+
export const fetchTool = {
|
|
11
|
+
name: 'fetch_url',
|
|
12
|
+
description: 'Fetch content from a URL. Use this to retrieve web pages, API responses, documentation, or any publicly accessible content. Returns the text/HTML/JSON content from the URL.',
|
|
13
|
+
parameters: {
|
|
14
|
+
type: 'object',
|
|
15
|
+
properties: {
|
|
16
|
+
url: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
description: 'The URL to fetch (must be http:// or https://)'
|
|
19
|
+
},
|
|
20
|
+
method: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
enum: ['GET', 'POST'],
|
|
23
|
+
description: 'HTTP method to use. Defaults to GET.'
|
|
24
|
+
},
|
|
25
|
+
headers: {
|
|
26
|
+
type: 'object',
|
|
27
|
+
description: 'Optional HTTP headers to include in the request',
|
|
28
|
+
additionalProperties: { type: 'string' }
|
|
29
|
+
},
|
|
30
|
+
body: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'Optional request body for POST requests'
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
required: ['url']
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
// Configuration constants
|
|
39
|
+
export const FETCH_CONFIG = {
|
|
40
|
+
MAX_RESPONSE_SIZE: 100000, // 100KB max response
|
|
41
|
+
TIMEOUT_MS: 30000, // 30 second timeout
|
|
42
|
+
BLOCKED_HOSTNAMES: [
|
|
43
|
+
'localhost',
|
|
44
|
+
'127.0.0.1',
|
|
45
|
+
'0.0.0.0',
|
|
46
|
+
'::1'
|
|
47
|
+
],
|
|
48
|
+
BLOCKED_IP_PREFIXES: [
|
|
49
|
+
'10.', // Private class A
|
|
50
|
+
'172.16.', '172.17.', '172.18.', '172.19.', // Private class B
|
|
51
|
+
'172.20.', '172.21.', '172.22.', '172.23.',
|
|
52
|
+
'172.24.', '172.25.', '172.26.', '172.27.',
|
|
53
|
+
'172.28.', '172.29.', '172.30.', '172.31.',
|
|
54
|
+
'192.168.', // Private class C
|
|
55
|
+
'169.254.', // Link-local
|
|
56
|
+
'fc00:', 'fd00:', // IPv6 private
|
|
57
|
+
'fe80:' // IPv6 link-local
|
|
58
|
+
]
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Validate that a URL is safe to fetch
|
|
62
|
+
*/
|
|
63
|
+
export function validateFetchUrl(url) {
|
|
64
|
+
try {
|
|
65
|
+
const parsed = new URL(url);
|
|
66
|
+
// Only allow HTTP/HTTPS
|
|
67
|
+
if (!['http:', 'https:'].includes(parsed.protocol)) {
|
|
68
|
+
return { valid: false, error: `Protocol '${parsed.protocol}' not allowed. Only http:// and https:// are supported.` };
|
|
69
|
+
}
|
|
70
|
+
// Block localhost and loopback
|
|
71
|
+
const hostname = parsed.hostname.toLowerCase();
|
|
72
|
+
if (FETCH_CONFIG.BLOCKED_HOSTNAMES.includes(hostname)) {
|
|
73
|
+
return { valid: false, error: 'Requests to localhost/loopback addresses are not allowed.' };
|
|
74
|
+
}
|
|
75
|
+
// Block private IP ranges
|
|
76
|
+
for (const prefix of FETCH_CONFIG.BLOCKED_IP_PREFIXES) {
|
|
77
|
+
if (hostname.startsWith(prefix)) {
|
|
78
|
+
return { valid: false, error: 'Requests to private/internal IP addresses are not allowed.' };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { valid: true };
|
|
82
|
+
}
|
|
83
|
+
catch (err) {
|
|
84
|
+
return { valid: false, error: `Invalid URL: ${err instanceof Error ? err.message : 'parse error'}` };
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=fetch-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-tool.js","sourceRoot":"","sources":["../src/fetch-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,8KAA8K;IAC3L,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gDAAgD;aAC9D;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,sCAAsC;aACpD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iDAAiD;gBAC9D,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yCAAyC;aACvD;SACF;QACD,QAAQ,EAAE,CAAC,KAAK,CAAC;KAClB;CACF,CAAA;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,MAAM,EAAE,qBAAqB;IAChD,UAAU,EAAE,KAAK,EAAE,oBAAoB;IACvC,iBAAiB,EAAE;QACjB,WAAW;QACX,WAAW;QACX,SAAS;QACT,KAAK;KACN;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB;QAC9D,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC1C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC1C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QAC1C,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,aAAa;QACzB,OAAO,EAAE,OAAO,EAAE,eAAe;QACjC,OAAO,CAAC,kBAAkB;KAC3B;CACF,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAE3B,wBAAwB;QACxB,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,MAAM,CAAC,QAAQ,yDAAyD,EAAE,CAAA;QACvH,CAAC;QAED,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC9C,IAAI,YAAY,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2DAA2D,EAAE,CAAA;QAC7F,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAA;YAC9F,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAA;IACtG,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { tasksTool, tasksReadOnlyTool, tasksFullTool, listTasksTool, validateTaskData, createToolCall } from './tasks-tool.js';
|
|
2
2
|
export { eventsTool } from './events-tool.js';
|
|
3
3
|
export { projectContextTool } from './project-context-tool.js';
|
|
4
4
|
export { architectureContextTool } from './architecture-context-tool.js';
|
|
5
5
|
export { roleContextTool } from './role-context-tool.js';
|
|
6
6
|
export { knowledgeTool, createKnowledgeToolCall, normalizeKnowledgeMetadata, buildKnowledgeActionPayload } from './knowledge-tool.js';
|
|
7
7
|
export type { KnowledgeActionPayload, KnowledgeActionType, KnowledgeDocument, KnowledgeDocumentMetadata } from './knowledge-tool.js';
|
|
8
|
-
export
|
|
8
|
+
export { resourcesTool } from './resources-tool.js';
|
|
9
|
+
export type { MCPTool, MCPToolCall } from './tasks-tool.js';
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9H,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { tasksTool, tasksReadOnlyTool, tasksFullTool, listTasksTool, validateTaskData, createToolCall } from './tasks-tool.js';
|
|
2
2
|
export { eventsTool } from './events-tool.js';
|
|
3
3
|
export { projectContextTool } from './project-context-tool.js';
|
|
4
4
|
export { architectureContextTool } from './architecture-context-tool.js';
|
|
5
5
|
export { roleContextTool } from './role-context-tool.js';
|
|
6
6
|
export { knowledgeTool, createKnowledgeToolCall, normalizeKnowledgeMetadata, buildKnowledgeActionPayload } from './knowledge-tool.js';
|
|
7
|
+
export { resourcesTool } from './resources-tool.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAC9H,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,qBAAqB,CAAA;AAO5B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
|
package/dist/knowledge-tool.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-tool.d.ts","sourceRoot":"","sources":["../src/knowledge-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"knowledge-tool.d.ts","sourceRoot":"","sources":["../src/knowledge-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE3D,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAErD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,mBAAmB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,yBAAyB,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,yBAAyB,CAAA;IACnC,OAAO,EAAE,MAAM,CAAA;CAChB;AA2BD,eAAO,MAAM,aAAa,EAAE,OAoC3B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAQrG;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,yBAAyB,GAAG,IAAI,GAAG,yBAAyB,CAWjH;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,GAAG,sBAAsB,CAMjG"}
|
package/dist/knowledge-tool.js
CHANGED
|
@@ -8,7 +8,7 @@ const metadataSchema = {
|
|
|
8
8
|
category: { type: 'string', description: 'High-level category for grouping documents' },
|
|
9
9
|
tags: { type: 'array', items: { type: 'string' }, description: 'Keyword tags to aid discovery' },
|
|
10
10
|
sources: { type: 'array', items: { type: 'string' }, description: 'URLs or references that informed this knowledge' },
|
|
11
|
-
related: { type: 'array', items: { type: 'string' }, description: 'Paths to related docs (e.g.
|
|
11
|
+
related: { type: 'array', items: { type: 'string' }, description: 'Paths to related docs (e.g. tasks, specs)' },
|
|
12
12
|
owner: {
|
|
13
13
|
type: 'object',
|
|
14
14
|
properties: {
|
|
@@ -24,7 +24,7 @@ const metadataSchema = {
|
|
|
24
24
|
};
|
|
25
25
|
export const knowledgeTool = {
|
|
26
26
|
name: 'knowledge_documents',
|
|
27
|
-
description: 'Manage knowledge base markdown documents stored in .nut/
|
|
27
|
+
description: 'Manage knowledge base markdown documents stored in .nut/knowledge. IMPORTANT: When searching for documents by topic or keyword, always use the query parameter to filter results server-side. The returned count reflects filtered results.',
|
|
28
28
|
parameters: {
|
|
29
29
|
type: 'object',
|
|
30
30
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge-tool.js","sourceRoot":"","sources":["../src/knowledge-tool.ts"],"names":[],"mappings":"AAuCA,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kEAAkE;IAC/E,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;QACtF,wFAAwF;QACxF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;QAC7E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;QACvF,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE;QAChG,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE;QACrH,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"knowledge-tool.js","sourceRoot":"","sources":["../src/knowledge-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Project Context tool for MCP - READ + WRITE
|
|
3
3
|
* Allows the AI assistant to read and update the project definition document (.nut/context/project.md)
|
|
4
4
|
*/
|
|
5
|
-
import type { MCPTool } from './
|
|
5
|
+
import type { MCPTool } from './tasks-tool.js';
|
|
6
6
|
/**
|
|
7
7
|
* Project context tool for AI assistant.
|
|
8
8
|
* Read and update the core project definition document.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-context-tool.d.ts","sourceRoot":"","sources":["../src/project-context-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project-context-tool.d.ts","sourceRoot":"","sources":["../src/project-context-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,OA0BhC,CAAA"}
|
package/dist/proposals-tool.d.ts
CHANGED
|
@@ -21,11 +21,6 @@ export declare const proposalsTool: MCPTool;
|
|
|
21
21
|
* Creating proposals should be done by coding agents (Claude Code, Cursor, etc.) or via the UI.
|
|
22
22
|
*/
|
|
23
23
|
export declare const proposalsReadOnlyTool: MCPTool;
|
|
24
|
-
/**
|
|
25
|
-
* Full CRUD proposals tool that includes create and update operations.
|
|
26
|
-
* Uses Zod schemas for validation.
|
|
27
|
-
*/
|
|
28
|
-
export declare const proposalsFullTool: MCPTool;
|
|
29
24
|
export declare function validateProposalData(data: any): Partial<ChangeProposal>;
|
|
30
25
|
export declare function createToolCall(operation: string, args: any): MCPToolCall;
|
|
31
26
|
//# sourceMappingURL=proposals-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposals-tool.d.ts","sourceRoot":"","sources":["../src/proposals-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"proposals-tool.d.ts","sourceRoot":"","sources":["../src/proposals-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,oBAAoB,CAAC,EAAE,OAAO,CAAA;KAC/B,CAAA;CACF;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC/B;AAED,eAAO,MAAM,iBAAiB,EAAE,OAiC/B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,OA8J3B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,OA+CnC,CAAA;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAkBvE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,WAAW,CAQxE"}
|
package/dist/proposals-tool.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
import { proposalJsonSchemas } from '@lovelybunch/core';
|
|
2
|
-
// Use pre-computed JSON schemas from core
|
|
3
|
-
const filtersProperties = proposalJsonSchemas.filters;
|
|
4
|
-
const createProperties = proposalJsonSchemas.create;
|
|
5
|
-
const updateProperties = proposalJsonSchemas.update;
|
|
6
|
-
const createRequired = proposalJsonSchemas.createRequired;
|
|
7
1
|
export const listProposalsTool = {
|
|
8
2
|
name: "list_proposals",
|
|
9
3
|
description: "List all change proposals with metadata only (title, ID, status, priority, tags)",
|
|
@@ -13,7 +7,27 @@ export const listProposalsTool = {
|
|
|
13
7
|
filters: {
|
|
14
8
|
type: "object",
|
|
15
9
|
description: "Optional filters for the proposal list",
|
|
16
|
-
properties:
|
|
10
|
+
properties: {
|
|
11
|
+
status: {
|
|
12
|
+
type: "string",
|
|
13
|
+
enum: ["draft", "proposed", "in-review", "code-complete", "approved", "merged", "rejected"],
|
|
14
|
+
description: "Filter by proposal status"
|
|
15
|
+
},
|
|
16
|
+
priority: {
|
|
17
|
+
type: "string",
|
|
18
|
+
enum: ["low", "medium", "high", "critical"],
|
|
19
|
+
description: "Filter by priority level"
|
|
20
|
+
},
|
|
21
|
+
tags: {
|
|
22
|
+
type: "array",
|
|
23
|
+
items: { type: "string" },
|
|
24
|
+
description: "Filter by tags"
|
|
25
|
+
},
|
|
26
|
+
search: {
|
|
27
|
+
type: "string",
|
|
28
|
+
description: "Search query for proposal content"
|
|
29
|
+
}
|
|
30
|
+
}
|
|
17
31
|
}
|
|
18
32
|
}
|
|
19
33
|
}
|
|
@@ -33,18 +47,145 @@ export const proposalsTool = {
|
|
|
33
47
|
type: "string",
|
|
34
48
|
description: "Proposal ID (required for get, update, delete operations)"
|
|
35
49
|
},
|
|
36
|
-
// Filters for list operation - auto-generated from Zod schema
|
|
37
50
|
filters: {
|
|
38
51
|
type: "object",
|
|
39
52
|
description: "Filters for list operation. Use search to find proposals by keyword - results are filtered server-side for accuracy.",
|
|
40
|
-
properties:
|
|
53
|
+
properties: {
|
|
54
|
+
status: {
|
|
55
|
+
type: "string",
|
|
56
|
+
enum: ["draft", "proposed", "in-review", "code-complete", "approved", "merged", "rejected"],
|
|
57
|
+
description: "Filter by proposal status"
|
|
58
|
+
},
|
|
59
|
+
author: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "Filter by author name or email"
|
|
62
|
+
},
|
|
63
|
+
priority: {
|
|
64
|
+
type: "string",
|
|
65
|
+
enum: ["low", "medium", "high", "critical"],
|
|
66
|
+
description: "Filter by priority level"
|
|
67
|
+
},
|
|
68
|
+
tags: {
|
|
69
|
+
type: "array",
|
|
70
|
+
items: { type: "string" },
|
|
71
|
+
description: "Filter by tags"
|
|
72
|
+
},
|
|
73
|
+
search: {
|
|
74
|
+
type: "string",
|
|
75
|
+
description: "Search query to filter proposals by intent, content, author, or tags. Always use this when looking for proposals about a specific topic."
|
|
76
|
+
}
|
|
77
|
+
}
|
|
41
78
|
},
|
|
42
|
-
// Proposal data for create operation - auto-generated from Zod schema
|
|
43
79
|
proposal: {
|
|
44
80
|
type: "object",
|
|
45
|
-
description: "Proposal data for create/update operations
|
|
46
|
-
properties:
|
|
47
|
-
|
|
81
|
+
description: "Proposal data for create/update operations",
|
|
82
|
+
properties: {
|
|
83
|
+
intent: {
|
|
84
|
+
type: "string",
|
|
85
|
+
description: "Brief description of what the proposal aims to achieve"
|
|
86
|
+
},
|
|
87
|
+
content: {
|
|
88
|
+
type: "string",
|
|
89
|
+
description: "Detailed content of the proposal"
|
|
90
|
+
},
|
|
91
|
+
author: {
|
|
92
|
+
type: "object",
|
|
93
|
+
description: "Author information",
|
|
94
|
+
properties: {
|
|
95
|
+
id: { type: "string" },
|
|
96
|
+
name: { type: "string" },
|
|
97
|
+
email: { type: "string" },
|
|
98
|
+
role: { type: "string" },
|
|
99
|
+
type: { type: "string", enum: ["human", "agent"] }
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
planSteps: {
|
|
103
|
+
type: "array",
|
|
104
|
+
description: "Implementation plan steps. Each item may be a string (description) or an object with fields.",
|
|
105
|
+
items: {
|
|
106
|
+
oneOf: [
|
|
107
|
+
{ type: "string", description: "Step description" },
|
|
108
|
+
{
|
|
109
|
+
type: "object",
|
|
110
|
+
properties: {
|
|
111
|
+
id: { type: "string", description: "Step identifier (optional)" },
|
|
112
|
+
description: { type: "string", description: "Human-readable step description" },
|
|
113
|
+
status: { type: "string", enum: ["pending", "in-progress", "completed", "failed"], description: "Execution status" },
|
|
114
|
+
command: { type: "string", description: "Optional command to execute" },
|
|
115
|
+
expectedOutcome: { type: "string", description: "Expected outcome of the step" }
|
|
116
|
+
},
|
|
117
|
+
required: ["description"]
|
|
118
|
+
}
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
evidence: {
|
|
123
|
+
type: "array",
|
|
124
|
+
items: { type: "string" },
|
|
125
|
+
description: "Supporting evidence"
|
|
126
|
+
},
|
|
127
|
+
policies: {
|
|
128
|
+
type: "array",
|
|
129
|
+
items: { type: "string" },
|
|
130
|
+
description: "Related policies"
|
|
131
|
+
},
|
|
132
|
+
featureFlags: {
|
|
133
|
+
type: "array",
|
|
134
|
+
items: { type: "string" },
|
|
135
|
+
description: "Feature flags needed"
|
|
136
|
+
},
|
|
137
|
+
experiments: {
|
|
138
|
+
type: "array",
|
|
139
|
+
items: { type: "string" },
|
|
140
|
+
description: "A/B tests or experiments"
|
|
141
|
+
},
|
|
142
|
+
telemetryContracts: {
|
|
143
|
+
type: "array",
|
|
144
|
+
items: { type: "string" },
|
|
145
|
+
description: "Telemetry contracts"
|
|
146
|
+
},
|
|
147
|
+
releasePlan: {
|
|
148
|
+
type: "object",
|
|
149
|
+
description: "Release strategy",
|
|
150
|
+
properties: {
|
|
151
|
+
strategy: {
|
|
152
|
+
type: "string",
|
|
153
|
+
enum: ["immediate", "gradual", "scheduled", "gated"]
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
status: {
|
|
158
|
+
type: "string",
|
|
159
|
+
enum: ["draft", "proposed", "in-review", "code-complete", "approved", "merged", "rejected"],
|
|
160
|
+
description: "Current status of the proposal"
|
|
161
|
+
},
|
|
162
|
+
metadata: {
|
|
163
|
+
type: "object",
|
|
164
|
+
description: "Additional metadata",
|
|
165
|
+
properties: {
|
|
166
|
+
tags: {
|
|
167
|
+
type: "array",
|
|
168
|
+
items: { type: "string" },
|
|
169
|
+
description: "Tags for categorization"
|
|
170
|
+
},
|
|
171
|
+
priority: {
|
|
172
|
+
type: "string",
|
|
173
|
+
enum: ["low", "medium", "high", "critical"],
|
|
174
|
+
description: "Priority level"
|
|
175
|
+
},
|
|
176
|
+
reviewers: {
|
|
177
|
+
type: "array",
|
|
178
|
+
items: { type: "string" },
|
|
179
|
+
description: "List of reviewers"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
productSpecRef: {
|
|
184
|
+
type: "string",
|
|
185
|
+
description: "Reference to related product specification"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
required: ["intent", "content"]
|
|
48
189
|
}
|
|
49
190
|
},
|
|
50
191
|
required: ["operation"]
|
|
@@ -70,52 +211,34 @@ export const proposalsReadOnlyTool = {
|
|
|
70
211
|
type: "string",
|
|
71
212
|
description: "Proposal ID (required for get operation)"
|
|
72
213
|
},
|
|
73
|
-
// Filters auto-generated from Zod schema
|
|
74
214
|
filters: {
|
|
75
215
|
type: "object",
|
|
76
216
|
description: "Filters for list operation. Use search to find proposals by keyword.",
|
|
77
|
-
properties:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
filters: {
|
|
103
|
-
type: "object",
|
|
104
|
-
description: "Filters for list operation",
|
|
105
|
-
properties: filtersProperties
|
|
106
|
-
},
|
|
107
|
-
// For create - all fields from CreateProposalInputSchema
|
|
108
|
-
proposal: {
|
|
109
|
-
type: "object",
|
|
110
|
-
description: "Proposal data for create operation",
|
|
111
|
-
properties: createProperties,
|
|
112
|
-
required: [...createRequired]
|
|
113
|
-
},
|
|
114
|
-
// For update - partial fields from UpdateProposalInputSchema
|
|
115
|
-
updates: {
|
|
116
|
-
type: "object",
|
|
117
|
-
description: "Fields to update (for update operation). At least one field required.",
|
|
118
|
-
properties: updateProperties
|
|
217
|
+
properties: {
|
|
218
|
+
status: {
|
|
219
|
+
type: "string",
|
|
220
|
+
enum: ["draft", "proposed", "in-review", "code-complete", "approved", "merged", "rejected"],
|
|
221
|
+
description: "Filter by proposal status"
|
|
222
|
+
},
|
|
223
|
+
author: {
|
|
224
|
+
type: "string",
|
|
225
|
+
description: "Filter by author name or email"
|
|
226
|
+
},
|
|
227
|
+
priority: {
|
|
228
|
+
type: "string",
|
|
229
|
+
enum: ["low", "medium", "high", "critical"],
|
|
230
|
+
description: "Filter by priority level"
|
|
231
|
+
},
|
|
232
|
+
tags: {
|
|
233
|
+
type: "array",
|
|
234
|
+
items: { type: "string" },
|
|
235
|
+
description: "Filter by tags"
|
|
236
|
+
},
|
|
237
|
+
search: {
|
|
238
|
+
type: "string",
|
|
239
|
+
description: "Search query to filter proposals by intent, content, author, or tags"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
119
242
|
}
|
|
120
243
|
},
|
|
121
244
|
required: ["operation"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposals-tool.js","sourceRoot":"","sources":["../src/proposals-tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proposals-tool.js","sourceRoot":"","sources":["../src/proposals-tool.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAC,MAAM,iBAAiB,GAAY;IACxC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,kFAAkF;IAC/F,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;gBACrD,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;wBAC3F,WAAW,EAAE,2BAA2B;qBACzC;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;wBAC3C,WAAW,EAAE,0BAA0B;qBACxC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,gBAAgB;qBAC9B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACjD;iBACF;aACF;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,uOAAuO;IACpP,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;gBACnD,WAAW,EAAE,uCAAuC;aACrD;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sHAAsH;gBACnI,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;wBAC3F,WAAW,EAAE,2BAA2B;qBACzC;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;qBAC9C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;wBAC3C,WAAW,EAAE,0BAA0B;qBACxC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,gBAAgB;qBAC9B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0IAA0I;qBACxJ;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;gBACzD,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kCAAkC;qBAChD;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oBAAoB;wBACjC,UAAU,EAAE;4BACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;yBACnD;qBACF;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,8FAA8F;wBAC3G,KAAK,EAAE;4BACL,KAAK,EAAE;gCACL,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gCACnD;oCACE,IAAI,EAAE,QAAQ;oCACd,UAAU,EAAE;wCACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;wCACjE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;wCAC/E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE;wCACpH,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;wCACvE,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;qCACjF;oCACD,QAAQ,EAAE,CAAC,aAAa,CAAC;iCAC1B;6BACF;yBACF;qBACF;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,qBAAqB;qBACnC;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,kBAAkB;qBAChC;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,sBAAsB;qBACpC;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,0BAA0B;qBACxC;oBACD,kBAAkB,EAAE;wBAClB,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,qBAAqB;qBACnC;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kBAAkB;wBAC/B,UAAU,EAAE;4BACV,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC;6BACrD;yBACF;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;wBAC3F,WAAW,EAAE,gCAAgC;qBAC9C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qBAAqB;wBAClC,UAAU,EAAE;4BACV,IAAI,EAAE;gCACJ,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,WAAW,EAAE,yBAAyB;6BACvC;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;gCAC3C,WAAW,EAAE,gBAAgB;6BAC9B;4BACD,SAAS,EAAE;gCACT,IAAI,EAAE,OAAO;gCACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gCACzB,WAAW,EAAE,mBAAmB;6BACjC;yBACF;qBACF;oBACD,cAAc,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC1D;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAChC;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAY;IAC5C,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,4QAA4Q;IACzR,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;gBACrB,WAAW,EAAE,kHAAkH;aAChI;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0CAA0C;aACxD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sEAAsE;gBACnF,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC;wBAC3F,WAAW,EAAE,2BAA2B;qBACzC;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;qBAC9C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;wBAC3C,WAAW,EAAE,0BAA0B;qBACxC;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,gBAAgB;qBAC9B;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sEAAsE;qBACpF;iBACF;aACF;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;CACF,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAS;IAC5C,MAAM,QAAQ,GAA4B,EAAE,CAAA;IAE5C,IAAI,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9C,IAAI,IAAI,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IACjD,IAAI,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9C,IAAI,IAAI,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IACvD,IAAI,IAAI,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,IAAI,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,IAAI,CAAC,YAAY;QAAE,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IAChE,IAAI,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC7D,IAAI,IAAI,CAAC,kBAAkB;QAAE,QAAQ,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAA;IAClF,IAAI,IAAI,CAAC,WAAW;QAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IAC7D,IAAI,IAAI,CAAC,MAAM;QAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC9C,IAAI,IAAI,CAAC,QAAQ;QAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IACpD,IAAI,IAAI,CAAC,cAAc;QAAE,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;IAEtE,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,IAAS;IACzD,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE;YACT,SAAS;YACT,GAAG,IAAI;SACR;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources-tool.d.ts","sourceRoot":"","sources":["../src/resources-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAE9C,eAAO,MAAM,aAAa,EAAE,OA0E3B,CAAA"}
|