@paperclipai/mcp-server 2026.824.1 → 2026.825.0-beta.1
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/tools.d.ts +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +24 -24
- package/package.json +7 -4
package/dist/tools.d.ts
CHANGED
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QACnD,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC,CAAC;CACJ;AAmND,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,cAAc,EAAE,CA6YlF"}
|
package/dist/tools.js
CHANGED
|
@@ -22,25 +22,25 @@ function parseOptionalJson(raw) {
|
|
|
22
22
|
return undefined;
|
|
23
23
|
return JSON.parse(raw);
|
|
24
24
|
}
|
|
25
|
-
const companyIdOptional = z.string().
|
|
26
|
-
const agentIdOptional = z.string().
|
|
25
|
+
const companyIdOptional = z.string().guid().optional().nullable();
|
|
26
|
+
const agentIdOptional = z.string().guid().optional().nullable();
|
|
27
27
|
const issueIdSchema = z.string().min(1);
|
|
28
28
|
const projectIdSchema = z.string().min(1);
|
|
29
|
-
const goalIdSchema = z.string().
|
|
30
|
-
const approvalIdSchema = z.string().
|
|
29
|
+
const goalIdSchema = z.string().guid();
|
|
30
|
+
const approvalIdSchema = z.string().guid();
|
|
31
31
|
const documentKeySchema = z.string().trim().min(1).max(64);
|
|
32
32
|
const listIssuesSchema = z.object({
|
|
33
33
|
companyId: companyIdOptional,
|
|
34
34
|
status: z.string().optional(),
|
|
35
|
-
projectId: z.string().
|
|
36
|
-
assigneeAgentId: z.string().
|
|
37
|
-
participantAgentId: z.string().
|
|
35
|
+
projectId: z.string().guid().optional(),
|
|
36
|
+
assigneeAgentId: z.string().guid().optional(),
|
|
37
|
+
participantAgentId: z.string().guid().optional(),
|
|
38
38
|
assigneeUserId: z.string().optional(),
|
|
39
39
|
touchedByUserId: z.string().optional(),
|
|
40
40
|
inboxArchivedByUserId: z.string().optional(),
|
|
41
41
|
unreadForUserId: z.string().optional(),
|
|
42
|
-
labelId: z.string().
|
|
43
|
-
executionWorkspaceId: z.string().
|
|
42
|
+
labelId: z.string().guid().optional(),
|
|
43
|
+
executionWorkspaceId: z.string().guid().optional(),
|
|
44
44
|
originKind: z.string().optional(),
|
|
45
45
|
originId: z.string().optional(),
|
|
46
46
|
includeRoutineExecutions: z.boolean().optional(),
|
|
@@ -49,7 +49,7 @@ const listIssuesSchema = z.object({
|
|
|
49
49
|
});
|
|
50
50
|
const listCommentsSchema = z.object({
|
|
51
51
|
issueId: issueIdSchema,
|
|
52
|
-
after: z.string().
|
|
52
|
+
after: z.string().guid().optional(),
|
|
53
53
|
order: z.enum(["asc", "desc"]).optional(),
|
|
54
54
|
limit: z.number().int().positive().max(500).optional(),
|
|
55
55
|
});
|
|
@@ -60,7 +60,7 @@ const upsertDocumentToolSchema = z.object({
|
|
|
60
60
|
format: z.enum(["markdown"]).default("markdown"),
|
|
61
61
|
body: z.string().max(524288),
|
|
62
62
|
changeSummary: z.string().trim().max(500).nullable().optional(),
|
|
63
|
-
baseRevisionId: z.string().
|
|
63
|
+
baseRevisionId: z.string().guid().nullable().optional(),
|
|
64
64
|
});
|
|
65
65
|
const createIssueToolSchema = z.object({
|
|
66
66
|
companyId: companyIdOptional,
|
|
@@ -79,8 +79,8 @@ const addCommentToolSchema = z.object({
|
|
|
79
79
|
const createSuggestTasksToolSchema = z.object({
|
|
80
80
|
issueId: issueIdSchema,
|
|
81
81
|
idempotencyKey: z.string().trim().max(255).nullable().optional(),
|
|
82
|
-
sourceCommentId: z.string().
|
|
83
|
-
sourceRunId: z.string().
|
|
82
|
+
sourceCommentId: z.string().guid().nullable().optional(),
|
|
83
|
+
sourceRunId: z.string().guid().nullable().optional(),
|
|
84
84
|
title: z.string().trim().max(240).nullable().optional(),
|
|
85
85
|
summary: z.string().trim().max(1000).nullable().optional(),
|
|
86
86
|
continuationPolicy: issueThreadInteractionContinuationPolicySchema.optional().default("wake_assignee"),
|
|
@@ -89,8 +89,8 @@ const createSuggestTasksToolSchema = z.object({
|
|
|
89
89
|
const createAskUserQuestionsToolSchema = z.object({
|
|
90
90
|
issueId: issueIdSchema,
|
|
91
91
|
idempotencyKey: z.string().trim().max(255).nullable().optional(),
|
|
92
|
-
sourceCommentId: z.string().
|
|
93
|
-
sourceRunId: z.string().
|
|
92
|
+
sourceCommentId: z.string().guid().nullable().optional(),
|
|
93
|
+
sourceRunId: z.string().guid().nullable().optional(),
|
|
94
94
|
title: z.string().trim().max(240).nullable().optional(),
|
|
95
95
|
summary: z.string().trim().max(1000).nullable().optional(),
|
|
96
96
|
continuationPolicy: issueThreadInteractionContinuationPolicySchema.optional().default("wake_assignee"),
|
|
@@ -99,8 +99,8 @@ const createAskUserQuestionsToolSchema = z.object({
|
|
|
99
99
|
const createRequestConfirmationToolSchema = z.object({
|
|
100
100
|
issueId: issueIdSchema,
|
|
101
101
|
idempotencyKey: z.string().trim().max(255).nullable().optional(),
|
|
102
|
-
sourceCommentId: z.string().
|
|
103
|
-
sourceRunId: z.string().
|
|
102
|
+
sourceCommentId: z.string().guid().nullable().optional(),
|
|
103
|
+
sourceRunId: z.string().guid().nullable().optional(),
|
|
104
104
|
title: z.string().trim().max(240).nullable().optional(),
|
|
105
105
|
summary: z.string().trim().max(1000).nullable().optional(),
|
|
106
106
|
continuationPolicy: issueThreadInteractionContinuationPolicySchema.optional().default("none"),
|
|
@@ -109,8 +109,8 @@ const createRequestConfirmationToolSchema = z.object({
|
|
|
109
109
|
const createRequestCheckboxConfirmationToolSchema = z.object({
|
|
110
110
|
issueId: issueIdSchema,
|
|
111
111
|
idempotencyKey: z.string().trim().max(255).nullable().optional(),
|
|
112
|
-
sourceCommentId: z.string().
|
|
113
|
-
sourceRunId: z.string().
|
|
112
|
+
sourceCommentId: z.string().guid().nullable().optional(),
|
|
113
|
+
sourceRunId: z.string().guid().nullable().optional(),
|
|
114
114
|
title: z.string().trim().max(240).nullable().optional(),
|
|
115
115
|
summary: z.string().trim().max(1000).nullable().optional(),
|
|
116
116
|
continuationPolicy: issueThreadInteractionContinuationPolicySchema.optional().default("wake_assignee"),
|
|
@@ -132,7 +132,7 @@ const apiRequestSchema = z.object({
|
|
|
132
132
|
});
|
|
133
133
|
const workspaceRuntimeControlTargetSchema = z.object({
|
|
134
134
|
workspaceCommandId: z.string().min(1).optional().nullable(),
|
|
135
|
-
runtimeServiceId: z.string().
|
|
135
|
+
runtimeServiceId: z.string().guid().optional().nullable(),
|
|
136
136
|
serviceIndex: z.number().int().nonnegative().optional().nullable(),
|
|
137
137
|
});
|
|
138
138
|
const issueWorkspaceRuntimeControlSchema = z.object({
|
|
@@ -141,7 +141,7 @@ const issueWorkspaceRuntimeControlSchema = z.object({
|
|
|
141
141
|
}).merge(workspaceRuntimeControlTargetSchema);
|
|
142
142
|
const waitForIssueWorkspaceServiceSchema = z.object({
|
|
143
143
|
issueId: issueIdSchema,
|
|
144
|
-
runtimeServiceId: z.string().
|
|
144
|
+
runtimeServiceId: z.string().guid().optional().nullable(),
|
|
145
145
|
serviceName: z.string().min(1).optional().nullable(),
|
|
146
146
|
timeoutSeconds: z.number().int().positive().max(300).optional(),
|
|
147
147
|
});
|
|
@@ -201,7 +201,7 @@ export function createToolDefinitions(client) {
|
|
|
201
201
|
return client.requestJson("GET", `/companies/${companyId}/issues${qs ? `?${qs}` : ""}`);
|
|
202
202
|
}),
|
|
203
203
|
makeTool("paperclipGetIssue", "Get a single issue by UUID or identifier", z.object({ issueId: issueIdSchema }), async ({ issueId }) => client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}`)),
|
|
204
|
-
makeTool("paperclipGetHeartbeatContext", "Get compact heartbeat context for an issue", z.object({ issueId: issueIdSchema, wakeCommentId: z.string().
|
|
204
|
+
makeTool("paperclipGetHeartbeatContext", "Get compact heartbeat context for an issue", z.object({ issueId: issueIdSchema, wakeCommentId: z.string().guid().optional() }), async ({ issueId, wakeCommentId }) => {
|
|
205
205
|
const qs = wakeCommentId ? `?wakeCommentId=${encodeURIComponent(wakeCommentId)}` : "";
|
|
206
206
|
return client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/heartbeat-context${qs}`);
|
|
207
207
|
}),
|
|
@@ -216,7 +216,7 @@ export function createToolDefinitions(client) {
|
|
|
216
216
|
const qs = params.toString();
|
|
217
217
|
return client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/comments${qs ? `?${qs}` : ""}`);
|
|
218
218
|
}),
|
|
219
|
-
makeTool("paperclipGetComment", "Get a specific issue comment by id", z.object({ issueId: issueIdSchema, commentId: z.string().
|
|
219
|
+
makeTool("paperclipGetComment", "Get a specific issue comment by id", z.object({ issueId: issueIdSchema, commentId: z.string().guid() }), async ({ issueId, commentId }) => client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/comments/${encodeURIComponent(commentId)}`)),
|
|
220
220
|
makeTool("paperclipListIssueApprovals", "List approvals linked to an issue", z.object({ issueId: issueIdSchema }), async ({ issueId }) => client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/approvals`)),
|
|
221
221
|
makeTool("paperclipListDocuments", "List issue documents", z.object({ issueId: issueIdSchema }), async ({ issueId }) => client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/documents`)),
|
|
222
222
|
makeTool("paperclipGetDocument", "Get one issue document by key", z.object({ issueId: issueIdSchema, key: documentKeySchema }), async ({ issueId, key }) => client.requestJson("GET", `/issues/${encodeURIComponent(issueId)}/documents/${encodeURIComponent(key)}`)),
|
|
@@ -305,7 +305,7 @@ export function createToolDefinitions(client) {
|
|
|
305
305
|
makeTool("paperclipRestoreIssueDocumentRevision", "Restore a prior revision of an issue document", z.object({
|
|
306
306
|
issueId: issueIdSchema,
|
|
307
307
|
key: documentKeySchema,
|
|
308
|
-
revisionId: z.string().
|
|
308
|
+
revisionId: z.string().guid(),
|
|
309
309
|
}), async ({ issueId, key, revisionId }) => client.requestJson("POST", `/issues/${encodeURIComponent(issueId)}/documents/${encodeURIComponent(key)}/revisions/${encodeURIComponent(revisionId)}/restore`, { body: {} })),
|
|
310
310
|
makeTool("paperclipLinkIssueApproval", "Link an approval to an issue", z.object({ issueId: issueIdSchema }).merge(linkIssueApprovalSchema), async ({ issueId, approvalId }) => client.requestJson("POST", `/issues/${encodeURIComponent(issueId)}/approvals`, {
|
|
311
311
|
body: { approvalId },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paperclipai/mcp-server",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.825.0-beta.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"homepage": "https://github.com/paperclipai/paperclip",
|
|
6
6
|
"bugs": {
|
|
@@ -30,14 +30,17 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
33
|
-
"@paperclipai/shared": "2026.
|
|
34
|
-
"zod": "^
|
|
33
|
+
"@paperclipai/shared": "2026.825.0-beta.1",
|
|
34
|
+
"zod": "^4.4.3"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@types/node": "^
|
|
37
|
+
"@types/node": "^24.0.0",
|
|
38
38
|
"typescript": "^5.7.3",
|
|
39
39
|
"vitest": "^4.1.10"
|
|
40
40
|
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=24.11.0"
|
|
43
|
+
},
|
|
41
44
|
"scripts": {
|
|
42
45
|
"build": "tsc",
|
|
43
46
|
"clean": "rm -rf dist",
|