@botuyo/mcp 0.2.16 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +2 -0
- package/dist/client.js +10 -0
- package/dist/client.js.map +1 -1
- package/dist/tools/associate_knowledge.d.ts +4 -0
- package/dist/tools/associate_knowledge.js +32 -0
- package/dist/tools/associate_knowledge.js.map +1 -0
- package/dist/tools/delete_agent.d.ts +10 -0
- package/dist/tools/delete_agent.js +56 -0
- package/dist/tools/delete_agent.js.map +1 -0
- package/dist/tools/delete_knowledge_doc.d.ts +4 -0
- package/dist/tools/delete_knowledge_doc.js +18 -0
- package/dist/tools/delete_knowledge_doc.js.map +1 -0
- package/dist/tools/index.js +12 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list_knowledge_docs.d.ts +4 -0
- package/dist/tools/list_knowledge_docs.js +22 -0
- package/dist/tools/list_knowledge_docs.js.map +1 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export declare class BotuyoApiClient {
|
|
|
29
29
|
post<T = any>(path: string, data: unknown): Promise<T>;
|
|
30
30
|
/** Make an authenticated PUT request */
|
|
31
31
|
put<T = any>(path: string, data: unknown): Promise<T>;
|
|
32
|
+
/** Make an authenticated DELETE request */
|
|
33
|
+
delete<T = any>(path: string): Promise<T>;
|
|
32
34
|
private handleResponse;
|
|
33
35
|
private parseJson;
|
|
34
36
|
}
|
package/dist/client.js
CHANGED
|
@@ -67,6 +67,16 @@ export class BotuyoApiClient {
|
|
|
67
67
|
});
|
|
68
68
|
return this.handleResponse(res);
|
|
69
69
|
}
|
|
70
|
+
/** Make an authenticated DELETE request */
|
|
71
|
+
async delete(path) {
|
|
72
|
+
const res = await fetch(`${this.config.apiUrl}${path}`, {
|
|
73
|
+
method: 'DELETE',
|
|
74
|
+
headers: {
|
|
75
|
+
Authorization: `Bearer ${this.config.token}`
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return this.handleResponse(res);
|
|
79
|
+
}
|
|
70
80
|
async handleResponse(res) {
|
|
71
81
|
const json = await this.parseJson(res);
|
|
72
82
|
// Detect expired token
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { BotuyoApiClient } from '../client.js';
|
|
3
|
+
export declare const ASSOCIATE_KNOWLEDGE_TOOL: Tool;
|
|
4
|
+
export declare function associateKnowledgeHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const ASSOCIATE_KNOWLEDGE_TOOL = {
|
|
2
|
+
name: 'associate_knowledge_to_agent',
|
|
3
|
+
description: 'Associates (links) knowledge base document IDs to an agent. Replaces the current list of knowledgeDocumentIds on the agent. Use list_knowledge_documents to get valid document IDs.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
agentId: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
description: 'The MongoDB ID of the agent to update'
|
|
10
|
+
},
|
|
11
|
+
documentIds: {
|
|
12
|
+
type: 'array',
|
|
13
|
+
items: { type: 'string' },
|
|
14
|
+
description: 'Array of knowledge document IDs to associate with the agent. Pass an empty array to remove all.'
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
required: ['agentId', 'documentIds']
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export async function associateKnowledgeHandler(client, args) {
|
|
21
|
+
const agentId = args.agentId;
|
|
22
|
+
const documentIds = args.documentIds;
|
|
23
|
+
if (!agentId)
|
|
24
|
+
throw new Error('agentId is required');
|
|
25
|
+
if (!Array.isArray(documentIds))
|
|
26
|
+
throw new Error('documentIds must be an array');
|
|
27
|
+
// Use the MCP agent update endpoint to set knowledgeDocumentIds
|
|
28
|
+
return client.put(`/api/v1/mcp/agents/${agentId}`, {
|
|
29
|
+
knowledgeDocumentIds: documentIds
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=associate_knowledge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"associate_knowledge.js","sourceRoot":"","sources":["../../src/tools/associate_knowledge.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,qLAAqL;IAClM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,iGAAiG;aAC/G;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;KACrC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAuB,EAAE,IAA6B;IACpG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAA;IACtC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAuB,CAAA;IAEhD,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAEhF,gEAAgE;IAChE,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,EAAE;QACjD,oBAAoB,EAAE,WAAW;KAClC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { BotuyoApiClient } from '../client.js';
|
|
3
|
+
export declare const DELETE_AGENT_TOOL: Tool;
|
|
4
|
+
export declare function deleteAgentHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<{
|
|
5
|
+
error: string;
|
|
6
|
+
} | {
|
|
7
|
+
success: boolean;
|
|
8
|
+
message: string;
|
|
9
|
+
error?: undefined;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export const DELETE_AGENT_TOOL = {
|
|
2
|
+
name: 'delete_agent',
|
|
3
|
+
description: 'Delete an agent (soft delete). This action is IRREVERSIBLE — the agent will be deactivated and hidden.\n\n' +
|
|
4
|
+
'⚠️ IMPORTANT: This tool requires explicit confirmation. You MUST set `confirm` to true AND provide the exact agent name in `confirmName` to proceed.\n\n' +
|
|
5
|
+
'Requires role: owner, admin, or developer.',
|
|
6
|
+
inputSchema: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
agentId: {
|
|
10
|
+
type: 'string',
|
|
11
|
+
description: 'The MongoDB ID of the agent to delete'
|
|
12
|
+
},
|
|
13
|
+
confirm: {
|
|
14
|
+
type: 'boolean',
|
|
15
|
+
description: 'Must be true to confirm deletion. If false or missing, the deletion will be rejected.'
|
|
16
|
+
},
|
|
17
|
+
confirmName: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'The exact name of the agent to delete (for safety confirmation). Must match the actual agent name.'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
required: ['agentId', 'confirm', 'confirmName']
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
export async function deleteAgentHandler(client, args) {
|
|
26
|
+
const { agentId, confirm, confirmName } = args;
|
|
27
|
+
if (!confirm) {
|
|
28
|
+
return {
|
|
29
|
+
error: 'Deletion not confirmed. Set confirm=true and provide the agent name in confirmName to proceed.'
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
if (!confirmName || typeof confirmName !== 'string' || confirmName.trim().length === 0) {
|
|
33
|
+
return {
|
|
34
|
+
error: 'Safety check failed: you must provide the exact agent name in confirmName to confirm deletion.'
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// First, get the agent to verify the name matches
|
|
38
|
+
const agent = (await client.get(`/api/v1/mcp/agents/${agentId}`));
|
|
39
|
+
const actualName = agent?.data?.name || agent?.name;
|
|
40
|
+
if (!actualName) {
|
|
41
|
+
return { error: `Agent ${agentId} not found.` };
|
|
42
|
+
}
|
|
43
|
+
if (actualName.trim() !== confirmName.trim()) {
|
|
44
|
+
return {
|
|
45
|
+
error: `Name mismatch: you provided "${confirmName}" but the agent is named "${actualName}". Please provide the exact name to confirm deletion.`
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
// Confirmed — proceed with deletion
|
|
49
|
+
const result = await client.delete(`/api/v1/mcp/agents/${agentId}`);
|
|
50
|
+
return {
|
|
51
|
+
success: true,
|
|
52
|
+
message: `Agent "${actualName}" (${agentId}) has been deleted.`,
|
|
53
|
+
...result
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=delete_agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_agent.js","sourceRoot":"","sources":["../../src/tools/delete_agent.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,4GAA4G;QAC5G,0JAA0J;QAC1J,4CAA4C;IAC9C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uCAAuC;aACrD;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,uFAAuF;aACrG;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,oGAAoG;aACvG;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC;KAChD;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAuB,EAAE,IAA6B;IAC7F,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;IAE9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,KAAK,EAAE,gGAAgG;SACxG,CAAA;IACH,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvF,OAAO;YACL,KAAK,EACH,gGAAgG;SACnG,CAAA;IACH,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,OAAiB,EAAE,CAAC,CAAQ,CAAA;IAClF,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,CAAA;IAEnD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,KAAK,EAAE,SAAS,OAAO,aAAa,EAAE,CAAA;IACjD,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,EAAE,KAAM,WAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,gCAAgC,WAAW,6BAA6B,UAAU,uDAAuD;SACjJ,CAAA;IACH,CAAC;IAED,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,sBAAsB,OAAiB,EAAE,CAAC,CAAA;IAE7E,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,UAAU,UAAU,MAAM,OAAO,qBAAqB;QAC/D,GAAI,MAAiB;KACtB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { BotuyoApiClient } from '../client.js';
|
|
3
|
+
export declare const DELETE_KNOWLEDGE_DOC_TOOL: Tool;
|
|
4
|
+
export declare function deleteKnowledgeDocHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const DELETE_KNOWLEDGE_DOC_TOOL = {
|
|
2
|
+
name: 'delete_knowledge_document',
|
|
3
|
+
description: 'Deletes a knowledge base document and all its chunks from the current tenant.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
documentId: { type: 'string', description: 'The ID of the document to delete' },
|
|
8
|
+
},
|
|
9
|
+
required: ['documentId']
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export async function deleteKnowledgeDocHandler(client, args) {
|
|
13
|
+
const documentId = args.documentId;
|
|
14
|
+
if (!documentId)
|
|
15
|
+
throw new Error('documentId is required');
|
|
16
|
+
return client.delete(`/api/knowledge/documents/${documentId}`);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=delete_knowledge_doc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete_knowledge_doc.js","sourceRoot":"","sources":["../../src/tools/delete_knowledge_doc.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,yBAAyB,GAAS;IAC7C,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,+EAA+E;IAC5F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;SAChF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,MAAuB,EAAE,IAA6B;IACpG,MAAM,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAA;IAC5C,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAA;AAChE,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -17,6 +17,10 @@ import { IMPORT_AGENT_JSON_TOOL, importAgentJsonHandler } from './import_agent_j
|
|
|
17
17
|
import { LIST_TEMPLATES_TOOL, listTemplatesHandler } from './list_templates.js';
|
|
18
18
|
import { CREATE_FROM_TEMPLATE_TOOL, createFromTemplateHandler } from './create_from_template.js';
|
|
19
19
|
import { EXAMPLE_AGENT_TOOL, exampleAgentHandler } from './example_agent.js';
|
|
20
|
+
import { DELETE_AGENT_TOOL, deleteAgentHandler } from './delete_agent.js';
|
|
21
|
+
import { LIST_KNOWLEDGE_DOCS_TOOL, listKnowledgeDocsHandler } from './list_knowledge_docs.js';
|
|
22
|
+
import { DELETE_KNOWLEDGE_DOC_TOOL, deleteKnowledgeDocHandler } from './delete_knowledge_doc.js';
|
|
23
|
+
import { ASSOCIATE_KNOWLEDGE_TOOL, associateKnowledgeHandler } from './associate_knowledge.js';
|
|
20
24
|
export const ALL_TOOLS = [
|
|
21
25
|
LIST_AGENTS_TOOL,
|
|
22
26
|
GET_AGENT_TOOL,
|
|
@@ -33,6 +37,10 @@ export const ALL_TOOLS = [
|
|
|
33
37
|
LIST_TEMPLATES_TOOL,
|
|
34
38
|
CREATE_FROM_TEMPLATE_TOOL,
|
|
35
39
|
EXAMPLE_AGENT_TOOL,
|
|
40
|
+
DELETE_AGENT_TOOL,
|
|
41
|
+
LIST_KNOWLEDGE_DOCS_TOOL,
|
|
42
|
+
DELETE_KNOWLEDGE_DOC_TOOL,
|
|
43
|
+
ASSOCIATE_KNOWLEDGE_TOOL,
|
|
36
44
|
];
|
|
37
45
|
export const TOOL_HANDLERS = {
|
|
38
46
|
list_agents: listAgentsHandler,
|
|
@@ -50,5 +58,9 @@ export const TOOL_HANDLERS = {
|
|
|
50
58
|
list_templates: listTemplatesHandler,
|
|
51
59
|
create_from_template: createFromTemplateHandler,
|
|
52
60
|
example_agent: exampleAgentHandler,
|
|
61
|
+
delete_agent: deleteAgentHandler,
|
|
62
|
+
list_knowledge_documents: listKnowledgeDocsHandler,
|
|
63
|
+
delete_knowledge_document: deleteKnowledgeDocHandler,
|
|
64
|
+
associate_knowledge_to_agent: associateKnowledgeHandler,
|
|
53
65
|
};
|
|
54
66
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,8BAA8B;AAC9B,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAChG,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAE9F,MAAM,CAAC,MAAM,SAAS,GAAW;IAC/B,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,yBAAyB;IACzB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,mBAAmB;IACnB,yBAAyB;IACzB,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;CACzB,CAAA;AAID,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,eAAe;IAC1B,gBAAgB,EAAE,qBAAqB;IACvC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,gBAAgB;IACtC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAmB;IAClC,aAAa,EAAE,mBAAmB;IAClC,iBAAiB,EAAE,sBAAsB;IACzC,iBAAiB,EAAE,sBAAsB;IACzC,cAAc,EAAE,oBAAoB;IACpC,oBAAoB,EAAE,yBAAyB;IAC/C,aAAa,EAAE,mBAAkC;IACjD,YAAY,EAAE,kBAAkB;IAChC,wBAAwB,EAAE,wBAAwB;IAClD,yBAAyB,EAAE,yBAAyB;IACpD,4BAA4B,EAAE,yBAAyB;CACxD,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import type { BotuyoApiClient } from '../client.js';
|
|
3
|
+
export declare const LIST_KNOWLEDGE_DOCS_TOOL: Tool;
|
|
4
|
+
export declare function listKnowledgeDocsHandler(client: BotuyoApiClient, args: Record<string, unknown>): Promise<any>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const LIST_KNOWLEDGE_DOCS_TOOL = {
|
|
2
|
+
name: 'list_knowledge_documents',
|
|
3
|
+
description: 'Lists all knowledge base documents for the current tenant. Returns document id, name, type, status, chunks count, and file size.',
|
|
4
|
+
inputSchema: {
|
|
5
|
+
type: 'object',
|
|
6
|
+
properties: {
|
|
7
|
+
limit: { type: 'number', description: 'Maximum number of documents to return (default: 50)' },
|
|
8
|
+
offset: { type: 'number', description: 'Number of documents to skip for pagination (default: 0)' },
|
|
9
|
+
},
|
|
10
|
+
required: []
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export async function listKnowledgeDocsHandler(client, args) {
|
|
14
|
+
const params = new URLSearchParams();
|
|
15
|
+
if (args.limit)
|
|
16
|
+
params.append('limit', String(args.limit));
|
|
17
|
+
if (args.offset)
|
|
18
|
+
params.append('offset', String(args.offset));
|
|
19
|
+
const query = params.toString() ? `?${params.toString()}` : '';
|
|
20
|
+
return client.get(`/api/knowledge/documents${query}`);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=list_knowledge_docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list_knowledge_docs.js","sourceRoot":"","sources":["../../src/tools/list_knowledge_docs.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,wBAAwB,GAAS;IAC5C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,kIAAkI;IAC/I,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qDAAqD,EAAE;YAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;SACnG;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAuB,EAAE,IAA6B;IACnG,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAA;IACpC,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1D,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAA;AACvD,CAAC"}
|