whiteboard-mcp-server 2.12.0 → 2.14.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/README.md +18 -0
- package/dist/api-client.d.ts +100 -3
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +80 -6
- package/dist/api-client.js.map +1 -1
- package/dist/index.js +258 -23
- package/dist/index.js.map +1 -1
- package/dist/tools/add-ticket-relation.d.ts +18 -0
- package/dist/tools/add-ticket-relation.d.ts.map +1 -0
- package/dist/tools/add-ticket-relation.js +13 -0
- package/dist/tools/add-ticket-relation.js.map +1 -0
- package/dist/tools/bulk-resolve-paper.d.ts +3 -3
- package/dist/tools/bulk-resolve-paper.d.ts.map +1 -1
- package/dist/tools/bulk-resolve-paper.js +4 -2
- package/dist/tools/bulk-resolve-paper.js.map +1 -1
- package/dist/tools/bulk-resolve.d.ts +3 -3
- package/dist/tools/bulk-resolve.d.ts.map +1 -1
- package/dist/tools/bulk-resolve.js +4 -2
- package/dist/tools/bulk-resolve.js.map +1 -1
- package/dist/tools/create-ticket-comment.d.ts +15 -0
- package/dist/tools/create-ticket-comment.d.ts.map +1 -0
- package/dist/tools/create-ticket-comment.js +10 -0
- package/dist/tools/create-ticket-comment.js.map +1 -0
- package/dist/tools/create-ticket.d.ts +51 -0
- package/dist/tools/create-ticket.d.ts.map +1 -0
- package/dist/tools/create-ticket.js +55 -0
- package/dist/tools/create-ticket.js.map +1 -0
- package/dist/tools/delete-ticket-comment.d.ts +15 -0
- package/dist/tools/delete-ticket-comment.d.ts.map +1 -0
- package/dist/tools/delete-ticket-comment.js +10 -0
- package/dist/tools/delete-ticket-comment.js.map +1 -0
- package/dist/tools/delete-ticket.d.ts +12 -0
- package/dist/tools/delete-ticket.d.ts.map +1 -0
- package/dist/tools/delete-ticket.js +9 -0
- package/dist/tools/delete-ticket.js.map +1 -0
- package/dist/tools/get-comments.d.ts.map +1 -1
- package/dist/tools/get-comments.js +3 -2
- package/dist/tools/get-comments.js.map +1 -1
- package/dist/tools/get-paper-comments.d.ts.map +1 -1
- package/dist/tools/get-paper-comments.js +3 -2
- package/dist/tools/get-paper-comments.js.map +1 -1
- package/dist/tools/import-md.d.ts +2 -2
- package/dist/tools/list-ticket-comments.d.ts +12 -0
- package/dist/tools/list-ticket-comments.d.ts.map +1 -0
- package/dist/tools/list-ticket-comments.js +18 -0
- package/dist/tools/list-ticket-comments.js.map +1 -0
- package/dist/tools/list-ticket-relations.d.ts +12 -0
- package/dist/tools/list-ticket-relations.d.ts.map +1 -0
- package/dist/tools/list-ticket-relations.js +19 -0
- package/dist/tools/list-ticket-relations.js.map +1 -0
- package/dist/tools/list-tickets.d.ts +24 -0
- package/dist/tools/list-tickets.d.ts.map +1 -0
- package/dist/tools/list-tickets.js +52 -0
- package/dist/tools/list-tickets.js.map +1 -0
- package/dist/tools/list-workspace-members.d.ts +12 -0
- package/dist/tools/list-workspace-members.d.ts.map +1 -0
- package/dist/tools/list-workspace-members.js +22 -0
- package/dist/tools/list-workspace-members.js.map +1 -0
- package/dist/tools/read-ticket.d.ts +12 -0
- package/dist/tools/read-ticket.d.ts.map +1 -0
- package/dist/tools/read-ticket.js +31 -0
- package/dist/tools/read-ticket.js.map +1 -0
- package/dist/tools/remove-ticket-relation.d.ts +15 -0
- package/dist/tools/remove-ticket-relation.d.ts.map +1 -0
- package/dist/tools/remove-ticket-relation.js +10 -0
- package/dist/tools/remove-ticket-relation.js.map +1 -0
- package/dist/tools/resolve-paper-thread.d.ts +3 -3
- package/dist/tools/resolve-paper-thread.d.ts.map +1 -1
- package/dist/tools/resolve-paper-thread.js +4 -2
- package/dist/tools/resolve-paper-thread.js.map +1 -1
- package/dist/tools/resolve-thread-id.d.ts +7 -0
- package/dist/tools/resolve-thread-id.d.ts.map +1 -0
- package/dist/tools/resolve-thread-id.js +23 -0
- package/dist/tools/resolve-thread-id.js.map +1 -0
- package/dist/tools/resolve-thread.d.ts +3 -3
- package/dist/tools/resolve-thread.d.ts.map +1 -1
- package/dist/tools/resolve-thread.js +4 -2
- package/dist/tools/resolve-thread.js.map +1 -1
- package/dist/tools/update-ticket-comment.d.ts +18 -0
- package/dist/tools/update-ticket-comment.d.ts.map +1 -0
- package/dist/tools/update-ticket-comment.js +11 -0
- package/dist/tools/update-ticket-comment.js.map +1 -0
- package/dist/tools/update-ticket.d.ts +54 -0
- package/dist/tools/update-ticket.d.ts.map +1 -0
- package/dist/tools/update-ticket.js +46 -0
- package/dist/tools/update-ticket.js.map +1 -0
- package/package.json +1 -1
- package/dist/tools/kb-reflect.d.ts +0 -15
- package/dist/tools/kb-reflect.d.ts.map +0 -1
- package/dist/tools/kb-reflect.js +0 -14
- package/dist/tools/kb-reflect.js.map +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const createTicketCommentSchema = z.object({
|
|
3
|
+
ticketId: z.string().uuid().describe('The UUID of the ticket'),
|
|
4
|
+
content: z.string().min(1).describe('Comment content'),
|
|
5
|
+
});
|
|
6
|
+
export async function createTicketComment(client, input) {
|
|
7
|
+
const c = await client.createTicketComment(input.ticketId, input.content);
|
|
8
|
+
return `Comment added (ID: ${c.id}).`;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=create-ticket-comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ticket-comment.js","sourceRoot":"","sources":["../../src/tools/create-ticket-comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACvD,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA+B;IAE/B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,OAAO,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const createTicketSchema: z.ZodObject<{
|
|
4
|
+
title: z.ZodString;
|
|
5
|
+
description: z.ZodOptional<z.ZodString>;
|
|
6
|
+
status: z.ZodOptional<z.ZodEnum<["backlog", "planned", "todo", "doing", "done", "wont", "closed"]>>;
|
|
7
|
+
priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
|
|
8
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
9
|
+
label: z.ZodString;
|
|
10
|
+
color: z.ZodString;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
label: string;
|
|
13
|
+
color: string;
|
|
14
|
+
}, {
|
|
15
|
+
label: string;
|
|
16
|
+
color: string;
|
|
17
|
+
}>, "many">>;
|
|
18
|
+
assigneeId: z.ZodOptional<z.ZodString>;
|
|
19
|
+
startDate: z.ZodOptional<z.ZodString>;
|
|
20
|
+
dueDate: z.ZodOptional<z.ZodString>;
|
|
21
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, "strip", z.ZodTypeAny, {
|
|
23
|
+
title: string;
|
|
24
|
+
workspaceId?: string | undefined;
|
|
25
|
+
tags?: {
|
|
26
|
+
label: string;
|
|
27
|
+
color: string;
|
|
28
|
+
}[] | undefined;
|
|
29
|
+
status?: "backlog" | "planned" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
30
|
+
description?: string | undefined;
|
|
31
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
32
|
+
assigneeId?: string | undefined;
|
|
33
|
+
startDate?: string | undefined;
|
|
34
|
+
dueDate?: string | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
title: string;
|
|
37
|
+
workspaceId?: string | undefined;
|
|
38
|
+
tags?: {
|
|
39
|
+
label: string;
|
|
40
|
+
color: string;
|
|
41
|
+
}[] | undefined;
|
|
42
|
+
status?: "backlog" | "planned" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
43
|
+
description?: string | undefined;
|
|
44
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
45
|
+
assigneeId?: string | undefined;
|
|
46
|
+
startDate?: string | undefined;
|
|
47
|
+
dueDate?: string | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export type CreateTicketInput = z.infer<typeof createTicketSchema>;
|
|
50
|
+
export declare function createTicket(client: ApiClient, input: CreateTicketInput): Promise<string>;
|
|
51
|
+
//# sourceMappingURL=create-ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ticket.d.ts","sourceRoot":"","sources":["../../src/tools/create-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmC7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const createTicketSchema = z.object({
|
|
3
|
+
title: z.string().min(1).max(500).describe('Ticket title (required)'),
|
|
4
|
+
description: z.string().optional().describe('Markdown description'),
|
|
5
|
+
status: z
|
|
6
|
+
.enum(['backlog', 'planned', 'todo', 'doing', 'done', 'wont', 'closed'])
|
|
7
|
+
.optional()
|
|
8
|
+
.describe('Status (default: backlog)'),
|
|
9
|
+
priority: z
|
|
10
|
+
.enum(['low', 'medium', 'high', 'critical'])
|
|
11
|
+
.optional()
|
|
12
|
+
.describe('Priority (default: medium)'),
|
|
13
|
+
tags: z
|
|
14
|
+
.array(z.object({
|
|
15
|
+
label: z.string().min(1).max(50).describe('Tag label'),
|
|
16
|
+
color: z
|
|
17
|
+
.string()
|
|
18
|
+
.max(20)
|
|
19
|
+
.describe('Tag color (red, orange, yellow, green, blue, purple, pink, gray)'),
|
|
20
|
+
}))
|
|
21
|
+
.optional()
|
|
22
|
+
.describe('Tags'),
|
|
23
|
+
assigneeId: z
|
|
24
|
+
.string()
|
|
25
|
+
.uuid()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe('Assignee member UUID (use list_workspace_members to resolve a name)'),
|
|
28
|
+
startDate: z.string().optional().describe('Start date (YYYY-MM-DD)'),
|
|
29
|
+
dueDate: z.string().optional().describe('Due date (YYYY-MM-DD)'),
|
|
30
|
+
workspaceId: z
|
|
31
|
+
.string()
|
|
32
|
+
.uuid()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('Workspace ID (defaults to active workspace)'),
|
|
35
|
+
});
|
|
36
|
+
export async function createTicket(client, input) {
|
|
37
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
38
|
+
const t = await client.createTicket({ ...input, workspaceId });
|
|
39
|
+
const num = t.number != null ? `#${t.number}` : '';
|
|
40
|
+
const lines = [
|
|
41
|
+
`Ticket ${num} "${t.title}" created.`,
|
|
42
|
+
'',
|
|
43
|
+
`- **ID**: ${t.id}`,
|
|
44
|
+
`- **Status**: ${t.status}`,
|
|
45
|
+
`- **Priority**: ${t.priority}`,
|
|
46
|
+
];
|
|
47
|
+
if (t.assignee)
|
|
48
|
+
lines.push(`- **Assignee**: ${t.assignee.name || t.assignee.email}`);
|
|
49
|
+
if (t.startDate)
|
|
50
|
+
lines.push(`- **Start**: ${t.startDate}`);
|
|
51
|
+
if (t.dueDate)
|
|
52
|
+
lines.push(`- **Due**: ${t.dueDate}`);
|
|
53
|
+
return lines.join('\n');
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=create-ticket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-ticket.js","sourceRoot":"","sources":["../../src/tools/create-ticket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const deleteTicketCommentSchema: z.ZodObject<{
|
|
4
|
+
ticketId: z.ZodString;
|
|
5
|
+
commentId: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
ticketId: string;
|
|
8
|
+
commentId: string;
|
|
9
|
+
}, {
|
|
10
|
+
ticketId: string;
|
|
11
|
+
commentId: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type DeleteTicketCommentInput = z.infer<typeof deleteTicketCommentSchema>;
|
|
14
|
+
export declare function deleteTicketComment(client: ApiClient, input: DeleteTicketCommentInput): Promise<string>;
|
|
15
|
+
//# sourceMappingURL=delete-ticket-comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-ticket-comment.d.ts","sourceRoot":"","sources":["../../src/tools/delete-ticket-comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,yBAAyB;;;;;;;;;EAGpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const deleteTicketCommentSchema = z.object({
|
|
3
|
+
ticketId: z.string().uuid().describe('The UUID of the ticket'),
|
|
4
|
+
commentId: z.string().uuid().describe('The UUID of the comment to delete'),
|
|
5
|
+
});
|
|
6
|
+
export async function deleteTicketComment(client, input) {
|
|
7
|
+
await client.deleteTicketComment(input.ticketId, input.commentId);
|
|
8
|
+
return `Comment ${input.commentId} deleted.`;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=delete-ticket-comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-ticket-comment.js","sourceRoot":"","sources":["../../src/tools/delete-ticket-comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAC9D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC3E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA+B;IAE/B,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,WAAW,KAAK,CAAC,SAAS,WAAW,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const deleteTicketSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
id: string;
|
|
7
|
+
}, {
|
|
8
|
+
id: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type DeleteTicketInput = z.infer<typeof deleteTicketSchema>;
|
|
11
|
+
export declare function deleteTicket(client: ApiClient, input: DeleteTicketInput): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=delete-ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-ticket.d.ts","sourceRoot":"","sources":["../../src/tools/delete-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,kBAAkB;;;;;;EAE7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const deleteTicketSchema = z.object({
|
|
3
|
+
id: z.string().uuid().describe('The UUID of the ticket to delete'),
|
|
4
|
+
});
|
|
5
|
+
export async function deleteTicket(client, input) {
|
|
6
|
+
await client.deleteTicket(input.id);
|
|
7
|
+
return `Ticket ${input.id} has been deleted.`;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=delete-ticket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-ticket.js","sourceRoot":"","sources":["../../src/tools/delete-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;CACnE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,KAAwB;IAExB,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,OAAO,UAAU,KAAK,CAAC,EAAE,oBAAoB,CAAC;AAChD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-comments.d.ts","sourceRoot":"","sources":["../../src/tools/get-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"get-comments.d.ts","sourceRoot":"","sources":["../../src/tools/get-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
|
|
@@ -24,8 +24,9 @@ export async function getComments(client, input) {
|
|
|
24
24
|
const originalText = thread.anchor.originalText
|
|
25
25
|
? `"${thread.anchor.originalText.substring(0, 50)}${thread.anchor.originalText.length > 50 ? '...' : ''}"`
|
|
26
26
|
: '(no text anchor)';
|
|
27
|
-
|
|
28
|
-
lines.push(
|
|
27
|
+
const shortId = thread.threadNumber != null ? `#${thread.threadNumber}` : '(no number)';
|
|
28
|
+
lines.push(`## Thread ${shortId} ${status}`);
|
|
29
|
+
lines.push(`**ID**: ${thread.id} · **Short**: ${shortId}`);
|
|
29
30
|
lines.push(`**On text**: ${originalText}`);
|
|
30
31
|
lines.push(`**Started by**: ${thread.createdBy.name || thread.createdBy.email}`);
|
|
31
32
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-comments.js","sourceRoot":"","sources":["../../src/tools/get-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACtE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACrG,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,KAAuB;IAEvB,oCAAoC;IACpC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,KAAK;QACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC;IAEZ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,2BAA2B,KAAK,CAAC,IAAI,IAAI,CAAC;IAC7G,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,kBAAkB,KAAK,CAAC,IAAI,GAAG;QAC/B,EAAE;QACF,SAAS,eAAe,CAAC,MAAM,qBAAqB;QACpD,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG;YAC1G,CAAC,CAAC,kBAAkB,CAAC;QAEvB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-comments.js","sourceRoot":"","sources":["../../src/tools/get-comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-paper-comments.d.ts","sourceRoot":"","sources":["../../src/tools/get-paper-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"get-paper-comments.d.ts","sourceRoot":"","sources":["../../src/tools/get-paper-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CA6CjB"}
|
|
@@ -23,8 +23,9 @@ export async function getPaperComments(client, input) {
|
|
|
23
23
|
const originalText = thread.anchor.originalText
|
|
24
24
|
? `"${thread.anchor.originalText.substring(0, 50)}${thread.anchor.originalText.length > 50 ? '...' : ''}"`
|
|
25
25
|
: '(no text anchor)';
|
|
26
|
-
|
|
27
|
-
lines.push(
|
|
26
|
+
const shortId = thread.threadNumber != null ? `#${thread.threadNumber}` : '(no number)';
|
|
27
|
+
lines.push(`## Thread ${shortId} ${status}`);
|
|
28
|
+
lines.push(`**ID**: ${thread.id} · **Short**: ${shortId}`);
|
|
28
29
|
lines.push(`**On text**: ${originalText}`);
|
|
29
30
|
lines.push(`**Started by**: ${thread.createdBy.name || thread.createdBy.email}`);
|
|
30
31
|
lines.push('');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-paper-comments.js","sourceRoot":"","sources":["../../src/tools/get-paper-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACvE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACrG,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,KAAK,KAAK;QACrD,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClC,CAAC,CAAC,OAAO,CAAC;IAEZ,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,MAAM,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,4BAA4B,KAAK,CAAC,IAAI,IAAI,CAAC;IAC9G,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,wBAAwB,KAAK,CAAC,IAAI,GAAG;QACrC,EAAE;QACF,SAAS,eAAe,CAAC,MAAM,qBAAqB;QACpD,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;YAC7C,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG;YAC1G,CAAC,CAAC,kBAAkB,CAAC;QAEvB,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-paper-comments.js","sourceRoot":"","sources":["../../src/tools/get-paper-comments.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,13 @@ export declare const importMdSchema: z.ZodObject<{
|
|
|
5
5
|
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["note", "paper"]>>>;
|
|
6
6
|
slug: z.ZodOptional<z.ZodString>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
|
-
type: "
|
|
8
|
+
type: "note" | "paper";
|
|
9
9
|
file_path: string;
|
|
10
10
|
slug?: string | undefined;
|
|
11
11
|
}, {
|
|
12
12
|
file_path: string;
|
|
13
13
|
slug?: string | undefined;
|
|
14
|
-
type?: "
|
|
14
|
+
type?: "note" | "paper" | undefined;
|
|
15
15
|
}>;
|
|
16
16
|
export type ImportMdInput = z.infer<typeof importMdSchema>;
|
|
17
17
|
export declare function importMd(client: ApiClient, input: ImportMdInput, frontendUrl?: string): Promise<string>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const listTicketCommentsSchema: z.ZodObject<{
|
|
4
|
+
ticketId: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
ticketId: string;
|
|
7
|
+
}, {
|
|
8
|
+
ticketId: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type ListTicketCommentsInput = z.infer<typeof listTicketCommentsSchema>;
|
|
11
|
+
export declare function listTicketComments(client: ApiClient, input: ListTicketCommentsInput): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=list-ticket-comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-ticket-comments.d.ts","sourceRoot":"","sources":["../../src/tools/list-ticket-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,wBAAwB;;;;;;EAEnC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE/E,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const listTicketCommentsSchema = z.object({
|
|
3
|
+
ticketId: z.string().uuid().describe('The UUID of the ticket'),
|
|
4
|
+
});
|
|
5
|
+
export async function listTicketComments(client, input) {
|
|
6
|
+
const comments = await client.listTicketComments(input.ticketId);
|
|
7
|
+
if (comments.length === 0)
|
|
8
|
+
return `No comments on ticket ${input.ticketId}.`;
|
|
9
|
+
const lines = [`Found ${comments.length} comment(s):`, ''];
|
|
10
|
+
for (const c of comments) {
|
|
11
|
+
const author = c.author ? c.author.name || c.author.email : c.authorId;
|
|
12
|
+
lines.push(`- **${author}** (${new Date(c.createdAt).toLocaleString()}) — ID: ${c.id}`);
|
|
13
|
+
lines.push(` ${c.content.replace(/\n/g, '\n ')}`);
|
|
14
|
+
lines.push('');
|
|
15
|
+
}
|
|
16
|
+
return lines.join('\n');
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=list-ticket-comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-ticket-comments.js","sourceRoot":"","sources":["../../src/tools/list-ticket-comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC/D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAiB,EACjB,KAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,yBAAyB,KAAK,CAAC,QAAQ,GAAG,CAAC;IAE7E,MAAM,KAAK,GAAG,CAAC,SAAS,QAAQ,CAAC,MAAM,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const listTicketRelationsSchema: z.ZodObject<{
|
|
4
|
+
ticketId: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
ticketId: string;
|
|
7
|
+
}, {
|
|
8
|
+
ticketId: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type ListTicketRelationsInput = z.infer<typeof listTicketRelationsSchema>;
|
|
11
|
+
export declare function listTicketRelations(client: ApiClient, input: ListTicketRelationsInput): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=list-ticket-relations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-ticket-relations.d.ts","sourceRoot":"","sources":["../../src/tools/list-ticket-relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,yBAAyB;;;;;;EAEpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAEjF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAajB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const listTicketRelationsSchema = z.object({
|
|
3
|
+
ticketId: z.string().uuid().describe('The UUID of the ticket'),
|
|
4
|
+
});
|
|
5
|
+
export async function listTicketRelations(client, input) {
|
|
6
|
+
const relations = await client.listTicketRelations(input.ticketId);
|
|
7
|
+
if (relations.length === 0)
|
|
8
|
+
return `No relations on ticket ${input.ticketId}.`;
|
|
9
|
+
const lines = [`Found ${relations.length} relation(s):`, ''];
|
|
10
|
+
for (const r of relations) {
|
|
11
|
+
const t = r.ticket;
|
|
12
|
+
const num = t.number != null ? `#${t.number}` : '';
|
|
13
|
+
lines.push(`- **${r.relationType}** → ${num} ${t.title} (${t.status})`);
|
|
14
|
+
lines.push(` Relation ID: ${r.id} · Ticket ID: ${t.id}`);
|
|
15
|
+
lines.push('');
|
|
16
|
+
}
|
|
17
|
+
return lines.join('\n');
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=list-ticket-relations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-ticket-relations.js","sourceRoot":"","sources":["../../src/tools/list-ticket-relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC/D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA+B;IAE/B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,0BAA0B,KAAK,CAAC,QAAQ,GAAG,CAAC;IAE/E,MAAM,KAAK,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,eAAe,EAAE,EAAE,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,QAAQ,GAAG,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const listTicketsSchema: z.ZodObject<{
|
|
4
|
+
filter: z.ZodOptional<z.ZodString>;
|
|
5
|
+
sort: z.ZodOptional<z.ZodString>;
|
|
6
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
8
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
9
|
+
}, "strip", z.ZodTypeAny, {
|
|
10
|
+
sort?: string | undefined;
|
|
11
|
+
filter?: string | undefined;
|
|
12
|
+
workspaceId?: string | undefined;
|
|
13
|
+
page?: number | undefined;
|
|
14
|
+
limit?: number | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
sort?: string | undefined;
|
|
17
|
+
filter?: string | undefined;
|
|
18
|
+
workspaceId?: string | undefined;
|
|
19
|
+
page?: number | undefined;
|
|
20
|
+
limit?: number | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export type ListTicketsInput = z.infer<typeof listTicketsSchema>;
|
|
23
|
+
export declare function listTickets(client: ApiClient, input: ListTicketsInput): Promise<string>;
|
|
24
|
+
//# sourceMappingURL=list-tickets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-tickets.d.ts","sourceRoot":"","sources":["../../src/tools/list-tickets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;EA0B5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,wBAAsB,WAAW,CAC/B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const listTicketsSchema = z.object({
|
|
3
|
+
filter: z
|
|
4
|
+
.string()
|
|
5
|
+
.optional()
|
|
6
|
+
.describe('Filter DSL, e.g. "status=todo priority>=high assignee=me tag=bug". Fields: status, priority, assignee (me|none|name|uuid), owner (me|name|uuid), tag. assignee/owner name matching is exact and case-insensitive on the member\'s full name (not email) — use a UUID otherwise. Operators: = != >= <=. Leftover text is free-text search on title/description.'),
|
|
7
|
+
sort: z
|
|
8
|
+
.string()
|
|
9
|
+
.optional()
|
|
10
|
+
.describe('Sort as "field:asc|desc". Fields: title, status, priority, createdAt, updatedAt, dueDate, startDate, position.'),
|
|
11
|
+
page: z.number().int().positive().optional().describe('Page number (default: 1)'),
|
|
12
|
+
limit: z
|
|
13
|
+
.number()
|
|
14
|
+
.int()
|
|
15
|
+
.positive()
|
|
16
|
+
.max(500)
|
|
17
|
+
.optional()
|
|
18
|
+
.describe('Items per page (default: 200, max: 500)'),
|
|
19
|
+
workspaceId: z
|
|
20
|
+
.string()
|
|
21
|
+
.uuid()
|
|
22
|
+
.optional()
|
|
23
|
+
.describe('Workspace ID (defaults to active workspace)'),
|
|
24
|
+
});
|
|
25
|
+
export async function listTickets(client, input) {
|
|
26
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
27
|
+
const response = await client.listTickets({
|
|
28
|
+
workspaceId,
|
|
29
|
+
filter: input.filter,
|
|
30
|
+
sort: input.sort,
|
|
31
|
+
page: input.page,
|
|
32
|
+
limit: input.limit,
|
|
33
|
+
});
|
|
34
|
+
if (response.items.length === 0) {
|
|
35
|
+
return `No tickets found${input.filter ? ` for filter "${input.filter}"` : ''}.`;
|
|
36
|
+
}
|
|
37
|
+
const lines = [
|
|
38
|
+
`Found ${response.total} ticket(s) (page ${response.page}/${response.totalPages}):`,
|
|
39
|
+
'',
|
|
40
|
+
];
|
|
41
|
+
for (const t of response.items) {
|
|
42
|
+
const num = t.number != null ? `#${t.number}` : '(no #)';
|
|
43
|
+
const assignee = t.assignee ? t.assignee.name || t.assignee.email : 'unassigned';
|
|
44
|
+
const tags = t.tags?.length ? ` [${t.tags.map((tg) => tg.label).join(', ')}]` : '';
|
|
45
|
+
lines.push(`- ${num} **${t.title}** — ${t.status}, ${t.priority}${tags}`);
|
|
46
|
+
lines.push(` Assignee: ${assignee}${t.startDate ? ` · Start: ${t.startDate}` : ''}${t.dueDate ? ` · Due: ${t.dueDate}` : ''}`);
|
|
47
|
+
lines.push(` ID: ${t.id}`);
|
|
48
|
+
lines.push('');
|
|
49
|
+
}
|
|
50
|
+
return lines.join('\n');
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=list-tickets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-tickets.js","sourceRoot":"","sources":["../../src/tools/list-tickets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gWAAgW,CACjW;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gHAAgH,CACjH;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACjF,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yCAAyC,CAAC;IACtD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiB,EACjB,KAAuB;IAEvB,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;QACxC,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,mBAAmB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACnF,CAAC;IAED,MAAM,KAAK,GAAG;QACZ,SAAS,QAAQ,CAAC,KAAK,oBAAoB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,IAAI;QACnF,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;QACjF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CACR,eAAe,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACpH,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const listWorkspaceMembersSchema: z.ZodObject<{
|
|
4
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
workspaceId?: string | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
workspaceId?: string | undefined;
|
|
9
|
+
}>;
|
|
10
|
+
export type ListWorkspaceMembersInput = z.infer<typeof listWorkspaceMembersSchema>;
|
|
11
|
+
export declare function listWorkspaceMembers(client: ApiClient, input: ListWorkspaceMembersInput): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=list-workspace-members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-workspace-members.d.ts","sourceRoot":"","sources":["../../src/tools/list-workspace-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,0BAA0B;;;;;;EAMrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAYjB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const listWorkspaceMembersSchema = z.object({
|
|
3
|
+
workspaceId: z
|
|
4
|
+
.string()
|
|
5
|
+
.uuid()
|
|
6
|
+
.optional()
|
|
7
|
+
.describe('Workspace ID (defaults to active workspace)'),
|
|
8
|
+
});
|
|
9
|
+
export async function listWorkspaceMembers(client, input) {
|
|
10
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
11
|
+
const members = await client.getWorkspaceMembers(workspaceId);
|
|
12
|
+
if (members.length === 0)
|
|
13
|
+
return 'No members in this workspace.';
|
|
14
|
+
const lines = [`Found ${members.length} member(s):`, ''];
|
|
15
|
+
for (const m of members) {
|
|
16
|
+
lines.push(`- **${m.name || m.email}** (${m.role})`);
|
|
17
|
+
lines.push(` Email: ${m.email} · ID: ${m.id}`);
|
|
18
|
+
lines.push('');
|
|
19
|
+
}
|
|
20
|
+
return lines.join('\n');
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=list-workspace-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-workspace-members.js","sourceRoot":"","sources":["../../src/tools/list-workspace-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,6CAA6C,CAAC;CAC3D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAiB,EACjB,KAAgC;IAEhC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,+BAA+B,CAAC;IAEjE,MAAM,KAAK,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,aAAa,EAAE,EAAE,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const readTicketSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
}, "strip", z.ZodTypeAny, {
|
|
6
|
+
id: string;
|
|
7
|
+
}, {
|
|
8
|
+
id: string;
|
|
9
|
+
}>;
|
|
10
|
+
export type ReadTicketInput = z.infer<typeof readTicketSchema>;
|
|
11
|
+
export declare function readTicket(client: ApiClient, input: ReadTicketInput): Promise<string>;
|
|
12
|
+
//# sourceMappingURL=read-ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-ticket.d.ts","sourceRoot":"","sources":["../../src/tools/read-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,gBAAgB;;;;;;EAE3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const readTicketSchema = z.object({
|
|
3
|
+
id: z.string().uuid().describe('The UUID of the ticket to read'),
|
|
4
|
+
});
|
|
5
|
+
export async function readTicket(client, input) {
|
|
6
|
+
const t = await client.getTicket(input.id);
|
|
7
|
+
const num = t.number != null ? `#${t.number}` : '(no #)';
|
|
8
|
+
const assignee = t.assignee ? t.assignee.name || t.assignee.email : 'unassigned';
|
|
9
|
+
const owner = t.owner ? t.owner.name || t.owner.email : t.ownerId;
|
|
10
|
+
const tags = t.tags?.length ? t.tags.map((tg) => tg.label).join(', ') : 'none';
|
|
11
|
+
const lines = [
|
|
12
|
+
`# ${num} ${t.title}`,
|
|
13
|
+
'',
|
|
14
|
+
`- **Status**: ${t.status}${t.pinned ? ' (pinned)' : ''}`,
|
|
15
|
+
`- **Priority**: ${t.priority}`,
|
|
16
|
+
`- **Assignee**: ${assignee}${t.assigneeId ? ` (${t.assigneeId})` : ''}`,
|
|
17
|
+
`- **Owner**: ${owner}`,
|
|
18
|
+
`- **Tags**: ${tags}`,
|
|
19
|
+
`- **Start date**: ${t.startDate ?? '—'}`,
|
|
20
|
+
`- **Due date**: ${t.dueDate ?? '—'}`,
|
|
21
|
+
`- **ID**: ${t.id}`,
|
|
22
|
+
`- **Created**: ${new Date(t.createdAt).toLocaleString()}`,
|
|
23
|
+
`- **Updated**: ${new Date(t.updatedAt).toLocaleString()}`,
|
|
24
|
+
'',
|
|
25
|
+
'## Description',
|
|
26
|
+
'',
|
|
27
|
+
t.description || '_(empty)_',
|
|
28
|
+
];
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=read-ticket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-ticket.js","sourceRoot":"","sources":["../../src/tools/read-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;CACjE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAiB,EACjB,KAAsB;IAEtB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IACjF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAE/E,MAAM,KAAK,GAAG;QACZ,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,EAAE;QACrB,EAAE;QACF,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE;QACzD,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QAC/B,mBAAmB,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACxE,gBAAgB,KAAK,EAAE;QACvB,eAAe,IAAI,EAAE;QACrB,qBAAqB,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;QACzC,mBAAmB,CAAC,CAAC,OAAO,IAAI,GAAG,EAAE;QACrC,aAAa,CAAC,CAAC,EAAE,EAAE;QACnB,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC1D,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE;QAC1D,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,CAAC,CAAC,WAAW,IAAI,WAAW;KAC7B,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const removeTicketRelationSchema: z.ZodObject<{
|
|
4
|
+
ticketId: z.ZodString;
|
|
5
|
+
relationId: z.ZodString;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
ticketId: string;
|
|
8
|
+
relationId: string;
|
|
9
|
+
}, {
|
|
10
|
+
ticketId: string;
|
|
11
|
+
relationId: string;
|
|
12
|
+
}>;
|
|
13
|
+
export type RemoveTicketRelationInput = z.infer<typeof removeTicketRelationSchema>;
|
|
14
|
+
export declare function removeTicketRelation(client: ApiClient, input: RemoveTicketRelationInput): Promise<string>;
|
|
15
|
+
//# sourceMappingURL=remove-ticket-relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-ticket-relation.d.ts","sourceRoot":"","sources":["../../src/tools/remove-ticket-relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,0BAA0B;;;;;;;;;EAGrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEnF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const removeTicketRelationSchema = z.object({
|
|
3
|
+
ticketId: z.string().uuid().describe('The UUID of the ticket the relation belongs to'),
|
|
4
|
+
relationId: z.string().uuid().describe('The UUID of the relation to remove'),
|
|
5
|
+
});
|
|
6
|
+
export async function removeTicketRelation(client, input) {
|
|
7
|
+
await client.removeTicketRelation(input.ticketId, input.relationId);
|
|
8
|
+
return `Relation ${input.relationId} removed.`;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=remove-ticket-relation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove-ticket-relation.js","sourceRoot":"","sources":["../../src/tools/remove-ticket-relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACtF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC7E,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAiB,EACjB,KAAgC;IAEhC,MAAM,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACpE,OAAO,YAAY,KAAK,CAAC,UAAU,WAAW,CAAC;AACjD,CAAC"}
|