mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-14 01:50:39 +09:00
feat(mcp): add approval creation tool
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
parent
8cdba3ce18
commit
f1bb175584
1 changed files with 14 additions and 0 deletions
|
|
@ -2,6 +2,7 @@ import { z } from "zod";
|
|||
import {
|
||||
addIssueCommentSchema,
|
||||
checkoutIssueSchema,
|
||||
createApprovalSchema,
|
||||
createIssueSchema,
|
||||
updateIssueSchema,
|
||||
upsertIssueDocumentSchema,
|
||||
|
|
@ -113,6 +114,10 @@ const approvalDecisionSchema = z.object({
|
|||
payloadJson: z.string().optional(),
|
||||
});
|
||||
|
||||
const createApprovalToolSchema = z.object({
|
||||
companyId: companyIdOptional,
|
||||
}).merge(createApprovalSchema);
|
||||
|
||||
const apiRequestSchema = z.object({
|
||||
method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]),
|
||||
path: z.string().min(1),
|
||||
|
|
@ -263,6 +268,15 @@ export function createToolDefinitions(client: PaperclipApiClient): ToolDefinitio
|
|||
return client.requestJson("GET", `/companies/${client.resolveCompanyId(companyId)}/approvals${qs}`);
|
||||
},
|
||||
),
|
||||
makeTool(
|
||||
"paperclipCreateApproval",
|
||||
"Create a board approval request, optionally linked to one or more issues",
|
||||
createApprovalToolSchema,
|
||||
async ({ companyId, ...body }) =>
|
||||
client.requestJson("POST", `/companies/${client.resolveCompanyId(companyId)}/approvals`, {
|
||||
body,
|
||||
}),
|
||||
),
|
||||
makeTool(
|
||||
"paperclipGetApproval",
|
||||
"Get an approval by id",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue