whiteboard-mcp-server 2.13.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 +99 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +80 -0
- package/dist/api-client.js.map +1 -1
- package/dist/index.js +258 -1
- 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/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/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/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 @@
|
|
|
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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const updateTicketCommentSchema: z.ZodObject<{
|
|
4
|
+
ticketId: z.ZodString;
|
|
5
|
+
commentId: z.ZodString;
|
|
6
|
+
content: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
content: string;
|
|
9
|
+
ticketId: string;
|
|
10
|
+
commentId: string;
|
|
11
|
+
}, {
|
|
12
|
+
content: string;
|
|
13
|
+
ticketId: string;
|
|
14
|
+
commentId: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type UpdateTicketCommentInput = z.infer<typeof updateTicketCommentSchema>;
|
|
17
|
+
export declare function updateTicketComment(client: ApiClient, input: UpdateTicketCommentInput): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=update-ticket-comment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-ticket-comment.d.ts","sourceRoot":"","sources":["../../src/tools/update-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;;;;;;;;;;;;EAIpC,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,CAOjB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const updateTicketCommentSchema = 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 update'),
|
|
5
|
+
content: z.string().min(1).describe('New comment content'),
|
|
6
|
+
});
|
|
7
|
+
export async function updateTicketComment(client, input) {
|
|
8
|
+
const c = await client.updateTicketComment(input.ticketId, input.commentId, input.content);
|
|
9
|
+
return `Comment ${c.id} updated.`;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=update-ticket-comment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-ticket-comment.js","sourceRoot":"","sources":["../../src/tools/update-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;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAC3D,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA+B;IAE/B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CACxC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,OAAO,CACd,CAAC;IACF,OAAO,WAAW,CAAC,CAAC,EAAE,WAAW,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const updateTicketSchema: z.ZodObject<{
|
|
4
|
+
id: z.ZodString;
|
|
5
|
+
title: z.ZodOptional<z.ZodString>;
|
|
6
|
+
description: z.ZodOptional<z.ZodString>;
|
|
7
|
+
status: z.ZodOptional<z.ZodEnum<["backlog", "planned", "todo", "doing", "done", "wont", "closed"]>>;
|
|
8
|
+
priority: z.ZodOptional<z.ZodEnum<["low", "medium", "high", "critical"]>>;
|
|
9
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
10
|
+
label: z.ZodString;
|
|
11
|
+
color: z.ZodString;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
label: string;
|
|
14
|
+
color: string;
|
|
15
|
+
}, {
|
|
16
|
+
label: string;
|
|
17
|
+
color: string;
|
|
18
|
+
}>, "many">>;
|
|
19
|
+
assigneeId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
startDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
dueDate: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
22
|
+
pinned: z.ZodOptional<z.ZodBoolean>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
id: string;
|
|
25
|
+
tags?: {
|
|
26
|
+
label: string;
|
|
27
|
+
color: string;
|
|
28
|
+
}[] | undefined;
|
|
29
|
+
status?: "backlog" | "planned" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
30
|
+
title?: string | undefined;
|
|
31
|
+
description?: string | undefined;
|
|
32
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
33
|
+
assigneeId?: string | null | undefined;
|
|
34
|
+
startDate?: string | null | undefined;
|
|
35
|
+
dueDate?: string | null | undefined;
|
|
36
|
+
pinned?: boolean | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
id: string;
|
|
39
|
+
tags?: {
|
|
40
|
+
label: string;
|
|
41
|
+
color: string;
|
|
42
|
+
}[] | undefined;
|
|
43
|
+
status?: "backlog" | "planned" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
44
|
+
title?: string | undefined;
|
|
45
|
+
description?: string | undefined;
|
|
46
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
47
|
+
assigneeId?: string | null | undefined;
|
|
48
|
+
startDate?: string | null | undefined;
|
|
49
|
+
dueDate?: string | null | undefined;
|
|
50
|
+
pinned?: boolean | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
export type UpdateTicketInput = z.infer<typeof updateTicketSchema>;
|
|
53
|
+
export declare function updateTicket(client: ApiClient, input: UpdateTicketInput): Promise<string>;
|
|
54
|
+
//# sourceMappingURL=update-ticket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-ticket.d.ts","sourceRoot":"","sources":["../../src/tools/update-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC7B,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,CAMjB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const updateTicketSchema = z.object({
|
|
3
|
+
id: z.string().uuid().describe('The UUID of the ticket to update'),
|
|
4
|
+
title: z.string().min(1).max(500).optional().describe('New title'),
|
|
5
|
+
description: z.string().optional().describe('New markdown description'),
|
|
6
|
+
status: z
|
|
7
|
+
.enum(['backlog', 'planned', 'todo', 'doing', 'done', 'wont', 'closed'])
|
|
8
|
+
.optional()
|
|
9
|
+
.describe('New status'),
|
|
10
|
+
priority: z
|
|
11
|
+
.enum(['low', 'medium', 'high', 'critical'])
|
|
12
|
+
.optional()
|
|
13
|
+
.describe('New priority'),
|
|
14
|
+
tags: z
|
|
15
|
+
.array(z.object({
|
|
16
|
+
label: z.string().min(1).max(50),
|
|
17
|
+
color: z.string().max(20),
|
|
18
|
+
}))
|
|
19
|
+
.optional()
|
|
20
|
+
.describe('Replace the ticket tags'),
|
|
21
|
+
assigneeId: z
|
|
22
|
+
.string()
|
|
23
|
+
.uuid()
|
|
24
|
+
.nullable()
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Assignee member UUID, or null to unassign'),
|
|
27
|
+
startDate: z
|
|
28
|
+
.string()
|
|
29
|
+
.nullable()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Start date (YYYY-MM-DD) or null to clear'),
|
|
32
|
+
dueDate: z
|
|
33
|
+
.string()
|
|
34
|
+
.nullable()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Due date (YYYY-MM-DD) or null to clear'),
|
|
37
|
+
pinned: z.boolean().optional().describe('Pin/unpin the ticket'),
|
|
38
|
+
});
|
|
39
|
+
export async function updateTicket(client, input) {
|
|
40
|
+
const { id, ...rest } = input;
|
|
41
|
+
const t = await client.updateTicket(id, rest);
|
|
42
|
+
const num = t.number != null ? `#${t.number}` : '';
|
|
43
|
+
const assignee = t.assignee ? t.assignee.name || t.assignee.email : 'unassigned';
|
|
44
|
+
return `Ticket ${num} "${t.title}" updated — status: ${t.status}, priority: ${t.priority}, assignee: ${assignee}.`;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=update-ticket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-ticket.js","sourceRoot":"","sources":["../../src/tools/update-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;IAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;IAClE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACvE,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;SACvE,QAAQ,EAAE;SACV,QAAQ,CAAC,YAAY,CAAC;IACzB,QAAQ,EAAE,CAAC;SACR,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;SAC3C,QAAQ,EAAE;SACV,QAAQ,CAAC,cAAc,CAAC;IAC3B,IAAI,EAAE,CAAC;SACJ,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;KAC1B,CAAC,CACH;SACA,QAAQ,EAAE;SACV,QAAQ,CAAC,yBAAyB,CAAC;IACtC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,2CAA2C,CAAC;IACxD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CAChE,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAiB,EACjB,KAAwB;IAExB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,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,OAAO,UAAU,GAAG,KAAK,CAAC,CAAC,KAAK,uBAAuB,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,QAAQ,eAAe,QAAQ,GAAG,CAAC;AACrH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ApiClient } from '../api-client.js';
|
|
3
|
-
export declare const kbReflectSchema: z.ZodObject<{
|
|
4
|
-
query: z.ZodString;
|
|
5
|
-
workspaceId: z.ZodOptional<z.ZodString>;
|
|
6
|
-
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
query: string;
|
|
8
|
-
workspaceId?: string | undefined;
|
|
9
|
-
}, {
|
|
10
|
-
query: string;
|
|
11
|
-
workspaceId?: string | undefined;
|
|
12
|
-
}>;
|
|
13
|
-
export type KbReflectInput = z.infer<typeof kbReflectSchema>;
|
|
14
|
-
export declare function kbReflect(client: ApiClient, input: KbReflectInput): Promise<string>;
|
|
15
|
-
//# sourceMappingURL=kb-reflect.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kb-reflect.d.ts","sourceRoot":"","sources":["../../src/tools/kb-reflect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,eAAe;;;;;;;;;EAG1B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE7D,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,CASjB"}
|
package/dist/tools/kb-reflect.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const kbReflectSchema = z.object({
|
|
3
|
-
query: z.string().describe('Question to reason about using the knowledge base'),
|
|
4
|
-
workspaceId: z.string().uuid().optional().describe('Workspace ID to reflect on (defaults to your default workspace)'),
|
|
5
|
-
});
|
|
6
|
-
export async function kbReflect(client, input) {
|
|
7
|
-
const workspaceId = input.workspaceId ?? await client.getDefaultWorkspaceId() ?? undefined;
|
|
8
|
-
if (!workspaceId) {
|
|
9
|
-
return 'Error: No workspace ID provided and no default workspace found.';
|
|
10
|
-
}
|
|
11
|
-
const response = await client.kbReflect(workspaceId, input.query);
|
|
12
|
-
return response.response || 'No response from knowledge base.';
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=kb-reflect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kb-reflect.js","sourceRoot":"","sources":["../../src/tools/kb-reflect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;CACtH,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAiB,EACjB,KAAqB;IAErB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,MAAM,MAAM,CAAC,qBAAqB,EAAE,IAAI,SAAS,CAAC;IAC3F,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,iEAAiE,CAAC;IAC3E,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAElE,OAAO,QAAQ,CAAC,QAAQ,IAAI,kCAAkC,CAAC;AACjE,CAAC"}
|