mirror of
https://github.com/alkimake/paperclip.git
synced 2026-06-19 12:10:37 +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 {
|
import {
|
||||||
addIssueCommentSchema,
|
addIssueCommentSchema,
|
||||||
checkoutIssueSchema,
|
checkoutIssueSchema,
|
||||||
|
createApprovalSchema,
|
||||||
createIssueSchema,
|
createIssueSchema,
|
||||||
updateIssueSchema,
|
updateIssueSchema,
|
||||||
upsertIssueDocumentSchema,
|
upsertIssueDocumentSchema,
|
||||||
|
|
@ -113,6 +114,10 @@ const approvalDecisionSchema = z.object({
|
||||||
payloadJson: z.string().optional(),
|
payloadJson: z.string().optional(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const createApprovalToolSchema = z.object({
|
||||||
|
companyId: companyIdOptional,
|
||||||
|
}).merge(createApprovalSchema);
|
||||||
|
|
||||||
const apiRequestSchema = z.object({
|
const apiRequestSchema = z.object({
|
||||||
method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]),
|
method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]),
|
||||||
path: z.string().min(1),
|
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}`);
|
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(
|
makeTool(
|
||||||
"paperclipGetApproval",
|
"paperclipGetApproval",
|
||||||
"Get an approval by id",
|
"Get an approval by id",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue