castor-mcp 0.6.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/LICENSE +21 -0
- package/README.md +77 -0
- package/build/api-catalog.d.ts +27 -0
- package/build/api-catalog.js +76 -0
- package/build/api-catalog.js.map +1 -0
- package/build/confluence-client.d.ts +33 -0
- package/build/confluence-client.js +65 -0
- package/build/confluence-client.js.map +1 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +137 -0
- package/build/index.js.map +1 -0
- package/build/resource-definitions.d.ts +10 -0
- package/build/resource-definitions.js +75 -0
- package/build/resource-definitions.js.map +1 -0
- package/build/tool-definitions.d.ts +19 -0
- package/build/tool-definitions.js +1811 -0
- package/build/tool-definitions.js.map +1 -0
- package/build/tools/admin-users-groups.d.ts +114 -0
- package/build/tools/admin-users-groups.js +150 -0
- package/build/tools/admin-users-groups.js.map +1 -0
- package/build/tools/admin.d.ts +12 -0
- package/build/tools/admin.js +30 -0
- package/build/tools/admin.js.map +1 -0
- package/build/tools/args.d.ts +2 -0
- package/build/tools/args.js +12 -0
- package/build/tools/args.js.map +1 -0
- package/build/tools/attachments.d.ts +138 -0
- package/build/tools/attachments.js +170 -0
- package/build/tools/attachments.js.map +1 -0
- package/build/tools/backup-restore.d.ts +144 -0
- package/build/tools/backup-restore.js +223 -0
- package/build/tools/backup-restore.js.map +1 -0
- package/build/tools/bulk-pages.d.ts +103 -0
- package/build/tools/bulk-pages.js +111 -0
- package/build/tools/bulk-pages.js.map +1 -0
- package/build/tools/color-schemes.d.ts +72 -0
- package/build/tools/color-schemes.js +121 -0
- package/build/tools/color-schemes.js.map +1 -0
- package/build/tools/content-structure.d.ts +164 -0
- package/build/tools/content-structure.js +220 -0
- package/build/tools/content-structure.js.map +1 -0
- package/build/tools/content.d.ts +194 -0
- package/build/tools/content.js +246 -0
- package/build/tools/content.js.map +1 -0
- package/build/tools/errors.d.ts +3 -0
- package/build/tools/errors.js +55 -0
- package/build/tools/errors.js.map +1 -0
- package/build/tools/index-management.d.ts +30 -0
- package/build/tools/index-management.js +64 -0
- package/build/tools/index-management.js.map +1 -0
- package/build/tools/labels.d.ts +108 -0
- package/build/tools/labels.js +160 -0
- package/build/tools/labels.js.map +1 -0
- package/build/tools/permissions.d.ts +554 -0
- package/build/tools/permissions.js +194 -0
- package/build/tools/permissions.js.map +1 -0
- package/build/tools/spaces-admin.d.ts +225 -0
- package/build/tools/spaces-admin.js +288 -0
- package/build/tools/spaces-admin.js.map +1 -0
- package/build/tools/spaces-pages.d.ts +103 -0
- package/build/tools/spaces-pages.js +150 -0
- package/build/tools/spaces-pages.js.map +1 -0
- package/build/tools/system.d.ts +42 -0
- package/build/tools/system.js +101 -0
- package/build/tools/system.js.map +1 -0
- package/build/tools/users-groups.d.ts +216 -0
- package/build/tools/users-groups.js +274 -0
- package/build/tools/users-groups.js.map +1 -0
- package/build/tools/webhooks.d.ts +105 -0
- package/build/tools/webhooks.js +124 -0
- package/build/tools/webhooks.js.map +1 -0
- package/build/version.d.ts +7 -0
- package/build/version.js +17 -0
- package/build/version.js.map +1 -0
- package/docs/api-catalog.yaml +2388 -0
- package/package.json +59 -0
- package/skills/content.md +85 -0
- package/skills/instance-maintenance.md +59 -0
- package/skills/permissions.md +47 -0
- package/skills/spaces-admin.md +59 -0
- package/skills/spaces-pages.md +24 -0
- package/skills/system.md +34 -0
- package/skills/users-groups.md +55 -0
- package/skills/webhooks.md +25 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withConfluenceErrorHandling } from "./errors.js";
|
|
3
|
+
import { jsonDetailBlock, MAX_LIST_RESULTS } from "./spaces-pages.js";
|
|
4
|
+
export const AdminGetAuditRecordsArgsSchema = z.object({});
|
|
5
|
+
export async function adminGetAuditRecords(client, _args) {
|
|
6
|
+
return withConfluenceErrorHandling(async () => {
|
|
7
|
+
const response = await client.get("/rest/api/audit");
|
|
8
|
+
const records = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
9
|
+
return {
|
|
10
|
+
content: [
|
|
11
|
+
{ type: "text", text: `✅ ${records.length} audit record(s) retrieved` },
|
|
12
|
+
jsonDetailBlock(records),
|
|
13
|
+
],
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export const AdminGetClusterNodeStatusesArgsSchema = z.object({});
|
|
18
|
+
export async function adminGetClusterNodeStatuses(client, _args) {
|
|
19
|
+
return withConfluenceErrorHandling(async () => {
|
|
20
|
+
const response = await client.get("/rest/api/cluster/nodes");
|
|
21
|
+
const nodes = response.data.results ?? response.data;
|
|
22
|
+
const count = Array.isArray(nodes) ? nodes.length : (response.data.results ?? []).length;
|
|
23
|
+
return {
|
|
24
|
+
content: [
|
|
25
|
+
{ type: "text", text: `✅ ${count} cluster node(s) retrieved` },
|
|
26
|
+
jsonDetailBlock(nodes),
|
|
27
|
+
],
|
|
28
|
+
};
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export const GetInstanceMetricsArgsSchema = z.object({});
|
|
32
|
+
export async function getInstanceMetrics(client, _args) {
|
|
33
|
+
return withConfluenceErrorHandling(async () => {
|
|
34
|
+
const response = await client.get("/rest/api/instance-metrics");
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{ type: "text", text: "✅ Instance metrics retrieved" },
|
|
38
|
+
jsonDetailBlock(response.data),
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
export const AdminListLongTasksArgsSchema = z.object({});
|
|
44
|
+
export async function adminListLongTasks(client, _args) {
|
|
45
|
+
return withConfluenceErrorHandling(async () => {
|
|
46
|
+
const response = await client.get("/rest/api/longtask");
|
|
47
|
+
const tasks = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
48
|
+
return {
|
|
49
|
+
content: [
|
|
50
|
+
{ type: "text", text: `✅ ${tasks.length} long-running task(s) retrieved` },
|
|
51
|
+
jsonDetailBlock(tasks),
|
|
52
|
+
],
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export const AdminGetLongTaskArgsSchema = z.object({ id: z.string().min(1) });
|
|
57
|
+
export async function adminGetLongTask(client, args) {
|
|
58
|
+
return withConfluenceErrorHandling(async () => {
|
|
59
|
+
const response = await client.get(`/rest/api/longtask/${encodeURIComponent(args.id)}`);
|
|
60
|
+
return {
|
|
61
|
+
content: [
|
|
62
|
+
{ type: "text", text: `✅ Long-running task ${args.id} retrieved` },
|
|
63
|
+
jsonDetailBlock(response.data),
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export const SearchEntitiesArgsSchema = z.object({
|
|
69
|
+
cql: z.string().min(1),
|
|
70
|
+
limit: z.number().int().positive().max(MAX_LIST_RESULTS).optional(),
|
|
71
|
+
includeArchivedSpaces: z.boolean().optional(),
|
|
72
|
+
});
|
|
73
|
+
export async function searchEntities(client, args) {
|
|
74
|
+
return withConfluenceErrorHandling(async () => {
|
|
75
|
+
const response = await client.get("/rest/api/search", {
|
|
76
|
+
cql: args.cql,
|
|
77
|
+
limit: args.limit,
|
|
78
|
+
includeArchivedSpaces: args.includeArchivedSpaces,
|
|
79
|
+
});
|
|
80
|
+
const results = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
81
|
+
return {
|
|
82
|
+
content: [
|
|
83
|
+
{ type: "text", text: `✅ ${results.length} result(s) found` },
|
|
84
|
+
jsonDetailBlock(results),
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
export const GetServerInformationArgsSchema = z.object({});
|
|
90
|
+
export async function getServerInformation(client, _args) {
|
|
91
|
+
return withConfluenceErrorHandling(async () => {
|
|
92
|
+
const response = await client.get("/rest/api/server-information");
|
|
93
|
+
return {
|
|
94
|
+
content: [
|
|
95
|
+
{ type: "text", text: "✅ Server information retrieved" },
|
|
96
|
+
jsonDetailBlock(response.data),
|
|
97
|
+
],
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ConfluenceClient } from "../confluence-client.js";
|
|
3
|
+
import { ToolResult } from "./spaces-pages.js";
|
|
4
|
+
export declare const GetAccessModeArgsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
5
|
+
export type GetAccessModeArgs = z.infer<typeof GetAccessModeArgsSchema>;
|
|
6
|
+
export declare function getAccessMode(client: ConfluenceClient, _args: GetAccessModeArgs): Promise<ToolResult>;
|
|
7
|
+
export declare const ListGroupsArgsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
8
|
+
export type ListGroupsArgs = z.infer<typeof ListGroupsArgsSchema>;
|
|
9
|
+
export declare function listGroups(client: ConfluenceClient, _args: ListGroupsArgs): Promise<ToolResult>;
|
|
10
|
+
export declare const GetGroupArgsSchema: z.ZodObject<{
|
|
11
|
+
groupName: z.ZodString;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
groupName: string;
|
|
14
|
+
}, {
|
|
15
|
+
groupName: string;
|
|
16
|
+
}>;
|
|
17
|
+
export type GetGroupArgs = z.infer<typeof GetGroupArgsSchema>;
|
|
18
|
+
export declare function getGroup(client: ConfluenceClient, args: GetGroupArgs): Promise<ToolResult>;
|
|
19
|
+
export declare const GetGroupAncestorsArgsSchema: z.ZodObject<{
|
|
20
|
+
groupName: z.ZodString;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
groupName: string;
|
|
23
|
+
}, {
|
|
24
|
+
groupName: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type GetGroupAncestorsArgs = z.infer<typeof GetGroupAncestorsArgsSchema>;
|
|
27
|
+
export declare function getGroupAncestors(client: ConfluenceClient, args: GetGroupAncestorsArgs): Promise<ToolResult>;
|
|
28
|
+
export declare const GetGroupNestedMembersArgsSchema: z.ZodObject<{
|
|
29
|
+
groupName: z.ZodString;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
groupName: string;
|
|
32
|
+
}, {
|
|
33
|
+
groupName: string;
|
|
34
|
+
}>;
|
|
35
|
+
export type GetGroupNestedMembersArgs = z.infer<typeof GetGroupNestedMembersArgsSchema>;
|
|
36
|
+
export declare function getGroupNestedMembers(client: ConfluenceClient, args: GetGroupNestedMembersArgs): Promise<ToolResult>;
|
|
37
|
+
export declare const GetGroupParentsArgsSchema: z.ZodObject<{
|
|
38
|
+
groupName: z.ZodString;
|
|
39
|
+
}, "strip", z.ZodTypeAny, {
|
|
40
|
+
groupName: string;
|
|
41
|
+
}, {
|
|
42
|
+
groupName: string;
|
|
43
|
+
}>;
|
|
44
|
+
export type GetGroupParentsArgs = z.infer<typeof GetGroupParentsArgsSchema>;
|
|
45
|
+
export declare function getGroupParents(client: ConfluenceClient, args: GetGroupParentsArgs): Promise<ToolResult>;
|
|
46
|
+
export declare const GetGroupMembersArgsSchema: z.ZodObject<{
|
|
47
|
+
groupName: z.ZodString;
|
|
48
|
+
}, "strip", z.ZodTypeAny, {
|
|
49
|
+
groupName: string;
|
|
50
|
+
}, {
|
|
51
|
+
groupName: string;
|
|
52
|
+
}>;
|
|
53
|
+
export type GetGroupMembersArgs = z.infer<typeof GetGroupMembersArgsSchema>;
|
|
54
|
+
export declare function getGroupMembers(client: ConfluenceClient, args: GetGroupMembersArgs): Promise<ToolResult>;
|
|
55
|
+
export declare const GetUserArgsSchema: z.ZodEffects<z.ZodObject<{
|
|
56
|
+
username: z.ZodOptional<z.ZodString>;
|
|
57
|
+
key: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, "strip", z.ZodTypeAny, {
|
|
59
|
+
key?: string | undefined;
|
|
60
|
+
username?: string | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
key?: string | undefined;
|
|
63
|
+
username?: string | undefined;
|
|
64
|
+
}>, {
|
|
65
|
+
key?: string | undefined;
|
|
66
|
+
username?: string | undefined;
|
|
67
|
+
}, {
|
|
68
|
+
key?: string | undefined;
|
|
69
|
+
username?: string | undefined;
|
|
70
|
+
}>;
|
|
71
|
+
export type GetUserArgs = z.infer<typeof GetUserArgsSchema>;
|
|
72
|
+
export declare function getUser(client: ConfluenceClient, args: GetUserArgs): Promise<ToolResult>;
|
|
73
|
+
export declare const AddUserToGroupArgsSchema: z.ZodObject<{
|
|
74
|
+
username: z.ZodString;
|
|
75
|
+
groupName: z.ZodString;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
groupName: string;
|
|
78
|
+
username: string;
|
|
79
|
+
}, {
|
|
80
|
+
groupName: string;
|
|
81
|
+
username: string;
|
|
82
|
+
}>;
|
|
83
|
+
export type AddUserToGroupArgs = z.infer<typeof AddUserToGroupArgsSchema>;
|
|
84
|
+
export declare function addUserToGroup(client: ConfluenceClient, args: AddUserToGroupArgs): Promise<ToolResult>;
|
|
85
|
+
export declare const RemoveUserFromGroupArgsSchema: z.ZodObject<{
|
|
86
|
+
username: z.ZodString;
|
|
87
|
+
groupName: z.ZodString;
|
|
88
|
+
}, "strip", z.ZodTypeAny, {
|
|
89
|
+
groupName: string;
|
|
90
|
+
username: string;
|
|
91
|
+
}, {
|
|
92
|
+
groupName: string;
|
|
93
|
+
username: string;
|
|
94
|
+
}>;
|
|
95
|
+
export type RemoveUserFromGroupArgs = z.infer<typeof RemoveUserFromGroupArgsSchema>;
|
|
96
|
+
export declare function removeUserFromGroup(client: ConfluenceClient, args: RemoveUserFromGroupArgs): Promise<ToolResult>;
|
|
97
|
+
export declare const GetAnonymousUserInfoArgsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
98
|
+
export type GetAnonymousUserInfoArgs = z.infer<typeof GetAnonymousUserInfoArgsSchema>;
|
|
99
|
+
export declare function getAnonymousUserInfo(client: ConfluenceClient, _args: GetAnonymousUserInfoArgs): Promise<ToolResult>;
|
|
100
|
+
export declare const GetCurrentUserArgsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
101
|
+
export type GetCurrentUserArgs = z.infer<typeof GetCurrentUserArgsSchema>;
|
|
102
|
+
export declare function getCurrentUser(client: ConfluenceClient, _args: GetCurrentUserArgs): Promise<ToolResult>;
|
|
103
|
+
export declare const UpdateCurrentUserArgsSchema: z.ZodObject<{
|
|
104
|
+
fullName: z.ZodOptional<z.ZodString>;
|
|
105
|
+
email: z.ZodOptional<z.ZodString>;
|
|
106
|
+
currentPassword: z.ZodOptional<z.ZodString>;
|
|
107
|
+
}, "strip", z.ZodTypeAny, {
|
|
108
|
+
fullName?: string | undefined;
|
|
109
|
+
email?: string | undefined;
|
|
110
|
+
currentPassword?: string | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
fullName?: string | undefined;
|
|
113
|
+
email?: string | undefined;
|
|
114
|
+
currentPassword?: string | undefined;
|
|
115
|
+
}>;
|
|
116
|
+
export type UpdateCurrentUserArgs = z.infer<typeof UpdateCurrentUserArgsSchema>;
|
|
117
|
+
export declare function updateCurrentUser(client: ConfluenceClient, args: UpdateCurrentUserArgs): Promise<ToolResult>;
|
|
118
|
+
export declare const ChangeCurrentUserPasswordArgsSchema: z.ZodObject<{
|
|
119
|
+
oldPassword: z.ZodString;
|
|
120
|
+
newPassword: z.ZodString;
|
|
121
|
+
}, "strip", z.ZodTypeAny, {
|
|
122
|
+
oldPassword: string;
|
|
123
|
+
newPassword: string;
|
|
124
|
+
}, {
|
|
125
|
+
oldPassword: string;
|
|
126
|
+
newPassword: string;
|
|
127
|
+
}>;
|
|
128
|
+
export type ChangeCurrentUserPasswordArgs = z.infer<typeof ChangeCurrentUserPasswordArgsSchema>;
|
|
129
|
+
export declare function changeCurrentUserPassword(client: ConfluenceClient, args: ChangeCurrentUserPasswordArgs): Promise<ToolResult>;
|
|
130
|
+
export declare const ListUsersArgsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
131
|
+
export type ListUsersArgs = z.infer<typeof ListUsersArgsSchema>;
|
|
132
|
+
export declare function listUsers(client: ConfluenceClient, _args: ListUsersArgs): Promise<ToolResult>;
|
|
133
|
+
export declare const GetUserGroupsArgsSchema: z.ZodEffects<z.ZodObject<{
|
|
134
|
+
username: z.ZodOptional<z.ZodString>;
|
|
135
|
+
key: z.ZodOptional<z.ZodString>;
|
|
136
|
+
}, "strip", z.ZodTypeAny, {
|
|
137
|
+
key?: string | undefined;
|
|
138
|
+
username?: string | undefined;
|
|
139
|
+
}, {
|
|
140
|
+
key?: string | undefined;
|
|
141
|
+
username?: string | undefined;
|
|
142
|
+
}>, {
|
|
143
|
+
key?: string | undefined;
|
|
144
|
+
username?: string | undefined;
|
|
145
|
+
}, {
|
|
146
|
+
key?: string | undefined;
|
|
147
|
+
username?: string | undefined;
|
|
148
|
+
}>;
|
|
149
|
+
export type GetUserGroupsArgs = z.infer<typeof GetUserGroupsArgsSchema>;
|
|
150
|
+
export declare function getUserGroups(client: ConfluenceClient, args: GetUserGroupsArgs): Promise<ToolResult>;
|
|
151
|
+
export declare const UpdateUserSettingsArgsSchema: z.ZodObject<{
|
|
152
|
+
username: z.ZodString;
|
|
153
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
username: string;
|
|
156
|
+
locale?: string | undefined;
|
|
157
|
+
}, {
|
|
158
|
+
username: string;
|
|
159
|
+
locale?: string | undefined;
|
|
160
|
+
}>;
|
|
161
|
+
export type UpdateUserSettingsArgs = z.infer<typeof UpdateUserSettingsArgsSchema>;
|
|
162
|
+
export declare function updateUserSettings(client: ConfluenceClient, args: UpdateUserSettingsArgs): Promise<ToolResult>;
|
|
163
|
+
export declare const RemoveContentWatcherArgsSchema: z.ZodObject<{
|
|
164
|
+
contentId: z.ZodString;
|
|
165
|
+
}, "strip", z.ZodTypeAny, {
|
|
166
|
+
contentId: string;
|
|
167
|
+
}, {
|
|
168
|
+
contentId: string;
|
|
169
|
+
}>;
|
|
170
|
+
export type RemoveContentWatcherArgs = z.infer<typeof RemoveContentWatcherArgsSchema>;
|
|
171
|
+
export declare function removeContentWatcher(client: ConfluenceClient, args: RemoveContentWatcherArgs): Promise<ToolResult>;
|
|
172
|
+
export declare const IsWatchingContentArgsSchema: z.ZodObject<{
|
|
173
|
+
contentId: z.ZodString;
|
|
174
|
+
}, "strip", z.ZodTypeAny, {
|
|
175
|
+
contentId: string;
|
|
176
|
+
}, {
|
|
177
|
+
contentId: string;
|
|
178
|
+
}>;
|
|
179
|
+
export type IsWatchingContentArgs = z.infer<typeof IsWatchingContentArgsSchema>;
|
|
180
|
+
export declare function isWatchingContent(client: ConfluenceClient, args: IsWatchingContentArgs): Promise<ToolResult>;
|
|
181
|
+
export declare const AddContentWatcherArgsSchema: z.ZodObject<{
|
|
182
|
+
contentId: z.ZodString;
|
|
183
|
+
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
contentId: string;
|
|
185
|
+
}, {
|
|
186
|
+
contentId: string;
|
|
187
|
+
}>;
|
|
188
|
+
export type AddContentWatcherArgs = z.infer<typeof AddContentWatcherArgsSchema>;
|
|
189
|
+
export declare function addContentWatcher(client: ConfluenceClient, args: AddContentWatcherArgs): Promise<ToolResult>;
|
|
190
|
+
export declare const RemoveSpaceWatcherArgsSchema: z.ZodObject<{
|
|
191
|
+
spaceKey: z.ZodString;
|
|
192
|
+
}, "strip", z.ZodTypeAny, {
|
|
193
|
+
spaceKey: string;
|
|
194
|
+
}, {
|
|
195
|
+
spaceKey: string;
|
|
196
|
+
}>;
|
|
197
|
+
export type RemoveSpaceWatcherArgs = z.infer<typeof RemoveSpaceWatcherArgsSchema>;
|
|
198
|
+
export declare function removeSpaceWatcher(client: ConfluenceClient, args: RemoveSpaceWatcherArgs): Promise<ToolResult>;
|
|
199
|
+
export declare const IsWatchingSpaceArgsSchema: z.ZodObject<{
|
|
200
|
+
spaceKey: z.ZodString;
|
|
201
|
+
}, "strip", z.ZodTypeAny, {
|
|
202
|
+
spaceKey: string;
|
|
203
|
+
}, {
|
|
204
|
+
spaceKey: string;
|
|
205
|
+
}>;
|
|
206
|
+
export type IsWatchingSpaceArgs = z.infer<typeof IsWatchingSpaceArgsSchema>;
|
|
207
|
+
export declare function isWatchingSpace(client: ConfluenceClient, args: IsWatchingSpaceArgs): Promise<ToolResult>;
|
|
208
|
+
export declare const AddSpaceWatcherArgsSchema: z.ZodObject<{
|
|
209
|
+
spaceKey: z.ZodString;
|
|
210
|
+
}, "strip", z.ZodTypeAny, {
|
|
211
|
+
spaceKey: string;
|
|
212
|
+
}, {
|
|
213
|
+
spaceKey: string;
|
|
214
|
+
}>;
|
|
215
|
+
export type AddSpaceWatcherArgs = z.infer<typeof AddSpaceWatcherArgsSchema>;
|
|
216
|
+
export declare function addSpaceWatcher(client: ConfluenceClient, args: AddSpaceWatcherArgs): Promise<ToolResult>;
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { withConfluenceErrorHandling } from "./errors.js";
|
|
3
|
+
import { jsonDetailBlock, MAX_LIST_RESULTS } from "./spaces-pages.js";
|
|
4
|
+
export const GetAccessModeArgsSchema = z.object({});
|
|
5
|
+
export async function getAccessMode(client, _args) {
|
|
6
|
+
return withConfluenceErrorHandling(async () => {
|
|
7
|
+
const response = await client.get("/rest/api/accessmode");
|
|
8
|
+
return {
|
|
9
|
+
content: [
|
|
10
|
+
{ type: "text", text: "✅ Access mode status retrieved" },
|
|
11
|
+
jsonDetailBlock(response.data),
|
|
12
|
+
],
|
|
13
|
+
};
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export const ListGroupsArgsSchema = z.object({});
|
|
17
|
+
export async function listGroups(client, _args) {
|
|
18
|
+
return withConfluenceErrorHandling(async () => {
|
|
19
|
+
const response = await client.get("/rest/api/group");
|
|
20
|
+
const groups = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
21
|
+
return {
|
|
22
|
+
content: [
|
|
23
|
+
{ type: "text", text: `✅ ${groups.length} group(s) visible` },
|
|
24
|
+
jsonDetailBlock(groups),
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
export const GetGroupArgsSchema = z.object({ groupName: z.string().min(1) });
|
|
30
|
+
export async function getGroup(client, args) {
|
|
31
|
+
return withConfluenceErrorHandling(async () => {
|
|
32
|
+
const response = await client.get(`/rest/api/group/${encodeURIComponent(args.groupName)}`);
|
|
33
|
+
return {
|
|
34
|
+
content: [
|
|
35
|
+
{ type: "text", text: `✅ Group "${args.groupName}" retrieved` },
|
|
36
|
+
jsonDetailBlock(response.data),
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
export const GetGroupAncestorsArgsSchema = z.object({ groupName: z.string().min(1) });
|
|
42
|
+
export async function getGroupAncestors(client, args) {
|
|
43
|
+
return withConfluenceErrorHandling(async () => {
|
|
44
|
+
const response = await client.get(`/rest/api/group/${encodeURIComponent(args.groupName)}/groupancestor`);
|
|
45
|
+
return {
|
|
46
|
+
content: [
|
|
47
|
+
{ type: "text", text: `✅ Ancestor groups of "${args.groupName}" retrieved` },
|
|
48
|
+
jsonDetailBlock(response.data),
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
export const GetGroupNestedMembersArgsSchema = z.object({ groupName: z.string().min(1) });
|
|
54
|
+
export async function getGroupNestedMembers(client, args) {
|
|
55
|
+
return withConfluenceErrorHandling(async () => {
|
|
56
|
+
const response = await client.get(`/rest/api/group/${encodeURIComponent(args.groupName)}/groupmember`);
|
|
57
|
+
return {
|
|
58
|
+
content: [
|
|
59
|
+
{ type: "text", text: `✅ Nested members of "${args.groupName}" retrieved` },
|
|
60
|
+
jsonDetailBlock(response.data),
|
|
61
|
+
],
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export const GetGroupParentsArgsSchema = z.object({ groupName: z.string().min(1) });
|
|
66
|
+
export async function getGroupParents(client, args) {
|
|
67
|
+
return withConfluenceErrorHandling(async () => {
|
|
68
|
+
const response = await client.get(`/rest/api/group/${encodeURIComponent(args.groupName)}/groupparent`);
|
|
69
|
+
return {
|
|
70
|
+
content: [
|
|
71
|
+
{ type: "text", text: `✅ Parent groups of "${args.groupName}" retrieved` },
|
|
72
|
+
jsonDetailBlock(response.data),
|
|
73
|
+
],
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
export const GetGroupMembersArgsSchema = z.object({ groupName: z.string().min(1) });
|
|
78
|
+
export async function getGroupMembers(client, args) {
|
|
79
|
+
return withConfluenceErrorHandling(async () => {
|
|
80
|
+
const response = await client.get(`/rest/api/group/${encodeURIComponent(args.groupName)}/member`);
|
|
81
|
+
const members = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
82
|
+
return {
|
|
83
|
+
content: [
|
|
84
|
+
{ type: "text", text: `✅ ${members.length} member(s) of group "${args.groupName}"` },
|
|
85
|
+
jsonDetailBlock(members),
|
|
86
|
+
],
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
export const GetUserArgsSchema = z
|
|
91
|
+
.object({ username: z.string().optional(), key: z.string().optional() })
|
|
92
|
+
.refine((a) => a.username || a.key, { message: "Provide either username or key." });
|
|
93
|
+
export async function getUser(client, args) {
|
|
94
|
+
return withConfluenceErrorHandling(async () => {
|
|
95
|
+
const response = await client.get("/rest/api/user", { username: args.username, key: args.key });
|
|
96
|
+
return {
|
|
97
|
+
content: [
|
|
98
|
+
{ type: "text", text: `✅ User "${response.data.username ?? args.username ?? args.key}" retrieved` },
|
|
99
|
+
jsonDetailBlock(response.data),
|
|
100
|
+
],
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
export const AddUserToGroupArgsSchema = z.object({ username: z.string().min(1), groupName: z.string().min(1) });
|
|
105
|
+
export async function addUserToGroup(client, args) {
|
|
106
|
+
return withConfluenceErrorHandling(async () => {
|
|
107
|
+
await client.put(`/rest/api/user/${encodeURIComponent(args.username)}/group/${encodeURIComponent(args.groupName)}`);
|
|
108
|
+
return {
|
|
109
|
+
content: [{ type: "text", text: `✅ User "${args.username}" added to group "${args.groupName}"` }],
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
export const RemoveUserFromGroupArgsSchema = z.object({ username: z.string().min(1), groupName: z.string().min(1) });
|
|
114
|
+
export async function removeUserFromGroup(client, args) {
|
|
115
|
+
return withConfluenceErrorHandling(async () => {
|
|
116
|
+
await client.delete(`/rest/api/user/${encodeURIComponent(args.username)}/group/${encodeURIComponent(args.groupName)}`);
|
|
117
|
+
return {
|
|
118
|
+
content: [{ type: "text", text: `✅ User "${args.username}" removed from group "${args.groupName}"` }],
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
export const GetAnonymousUserInfoArgsSchema = z.object({});
|
|
123
|
+
export async function getAnonymousUserInfo(client, _args) {
|
|
124
|
+
return withConfluenceErrorHandling(async () => {
|
|
125
|
+
const response = await client.get("/rest/api/user/anonymous");
|
|
126
|
+
return {
|
|
127
|
+
content: [
|
|
128
|
+
{ type: "text", text: "✅ Anonymous user info retrieved" },
|
|
129
|
+
jsonDetailBlock(response.data),
|
|
130
|
+
],
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
export const GetCurrentUserArgsSchema = z.object({});
|
|
135
|
+
export async function getCurrentUser(client, _args) {
|
|
136
|
+
return withConfluenceErrorHandling(async () => {
|
|
137
|
+
const response = await client.get("/rest/api/user/current");
|
|
138
|
+
return {
|
|
139
|
+
content: [
|
|
140
|
+
{ type: "text", text: `✅ Current user "${response.data.username}" retrieved` },
|
|
141
|
+
jsonDetailBlock(response.data),
|
|
142
|
+
],
|
|
143
|
+
};
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export const UpdateCurrentUserArgsSchema = z.object({
|
|
147
|
+
fullName: z.string().optional(),
|
|
148
|
+
email: z.string().optional(),
|
|
149
|
+
currentPassword: z.string().optional().describe("Required by Confluence when changing email."),
|
|
150
|
+
});
|
|
151
|
+
export async function updateCurrentUser(client, args) {
|
|
152
|
+
return withConfluenceErrorHandling(async () => {
|
|
153
|
+
const response = await client.put("/rest/api/user/current", {
|
|
154
|
+
fullName: args.fullName,
|
|
155
|
+
email: args.email,
|
|
156
|
+
currentPassword: args.currentPassword,
|
|
157
|
+
});
|
|
158
|
+
return {
|
|
159
|
+
content: [
|
|
160
|
+
{ type: "text", text: "✅ Current user updated" },
|
|
161
|
+
jsonDetailBlock(response.data),
|
|
162
|
+
],
|
|
163
|
+
};
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
export const ChangeCurrentUserPasswordArgsSchema = z.object({
|
|
167
|
+
oldPassword: z.string().min(1),
|
|
168
|
+
newPassword: z.string().min(1),
|
|
169
|
+
});
|
|
170
|
+
export async function changeCurrentUserPassword(client, args) {
|
|
171
|
+
return withConfluenceErrorHandling(async () => {
|
|
172
|
+
await client.post("/rest/api/user/current/password", {
|
|
173
|
+
oldPassword: args.oldPassword,
|
|
174
|
+
newPassword: args.newPassword,
|
|
175
|
+
});
|
|
176
|
+
return { content: [{ type: "text", text: "✅ Current user's password changed" }] };
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
export const ListUsersArgsSchema = z.object({});
|
|
180
|
+
export async function listUsers(client, _args) {
|
|
181
|
+
return withConfluenceErrorHandling(async () => {
|
|
182
|
+
const response = await client.get("/rest/api/user/list");
|
|
183
|
+
const users = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
184
|
+
return {
|
|
185
|
+
content: [
|
|
186
|
+
{ type: "text", text: `✅ ${users.length} registered user(s) visible` },
|
|
187
|
+
jsonDetailBlock(users),
|
|
188
|
+
],
|
|
189
|
+
};
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
export const GetUserGroupsArgsSchema = z
|
|
193
|
+
.object({ username: z.string().optional(), key: z.string().optional() })
|
|
194
|
+
.refine((a) => a.username || a.key, { message: "Provide either username or key." });
|
|
195
|
+
export async function getUserGroups(client, args) {
|
|
196
|
+
return withConfluenceErrorHandling(async () => {
|
|
197
|
+
const response = await client.get("/rest/api/user/memberof", { username: args.username, key: args.key });
|
|
198
|
+
const groups = (response.data.results ?? []).slice(0, MAX_LIST_RESULTS);
|
|
199
|
+
return {
|
|
200
|
+
content: [
|
|
201
|
+
{ type: "text", text: `✅ ${groups.length} group(s) for user "${args.username ?? args.key}"` },
|
|
202
|
+
jsonDetailBlock(groups),
|
|
203
|
+
],
|
|
204
|
+
};
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
export const UpdateUserSettingsArgsSchema = z.object({
|
|
208
|
+
username: z.string().min(1),
|
|
209
|
+
locale: z.string().optional().describe('e.g. "en_GB".'),
|
|
210
|
+
});
|
|
211
|
+
export async function updateUserSettings(client, args) {
|
|
212
|
+
return withConfluenceErrorHandling(async () => {
|
|
213
|
+
const response = await client.put("/rest/api/user/settings", { username: args.username, locale: args.locale });
|
|
214
|
+
return {
|
|
215
|
+
content: [
|
|
216
|
+
{ type: "text", text: `✅ Settings for user "${args.username}" updated` },
|
|
217
|
+
jsonDetailBlock(response.data),
|
|
218
|
+
],
|
|
219
|
+
};
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
export const RemoveContentWatcherArgsSchema = z.object({ contentId: z.string().min(1) });
|
|
223
|
+
export async function removeContentWatcher(client, args) {
|
|
224
|
+
return withConfluenceErrorHandling(async () => {
|
|
225
|
+
await client.delete(`/rest/api/user/watch/content/${encodeURIComponent(args.contentId)}`);
|
|
226
|
+
return { content: [{ type: "text", text: `✅ Stopped watching content ${args.contentId}` }] };
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
export const IsWatchingContentArgsSchema = z.object({ contentId: z.string().min(1) });
|
|
230
|
+
export async function isWatchingContent(client, args) {
|
|
231
|
+
return withConfluenceErrorHandling(async () => {
|
|
232
|
+
const response = await client.get(`/rest/api/user/watch/content/${encodeURIComponent(args.contentId)}`);
|
|
233
|
+
return {
|
|
234
|
+
content: [
|
|
235
|
+
{ type: "text", text: `✅ Watch status for content ${args.contentId} retrieved` },
|
|
236
|
+
jsonDetailBlock(response.data),
|
|
237
|
+
],
|
|
238
|
+
};
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
export const AddContentWatcherArgsSchema = z.object({ contentId: z.string().min(1) });
|
|
242
|
+
export async function addContentWatcher(client, args) {
|
|
243
|
+
return withConfluenceErrorHandling(async () => {
|
|
244
|
+
await client.post(`/rest/api/user/watch/content/${encodeURIComponent(args.contentId)}`);
|
|
245
|
+
return { content: [{ type: "text", text: `✅ Now watching content ${args.contentId}` }] };
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
export const RemoveSpaceWatcherArgsSchema = z.object({ spaceKey: z.string().min(1) });
|
|
249
|
+
export async function removeSpaceWatcher(client, args) {
|
|
250
|
+
return withConfluenceErrorHandling(async () => {
|
|
251
|
+
await client.delete(`/rest/api/user/watch/space/${encodeURIComponent(args.spaceKey)}`);
|
|
252
|
+
return { content: [{ type: "text", text: `✅ Stopped watching space ${args.spaceKey}` }] };
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
export const IsWatchingSpaceArgsSchema = z.object({ spaceKey: z.string().min(1) });
|
|
256
|
+
export async function isWatchingSpace(client, args) {
|
|
257
|
+
return withConfluenceErrorHandling(async () => {
|
|
258
|
+
const response = await client.get(`/rest/api/user/watch/space/${encodeURIComponent(args.spaceKey)}`);
|
|
259
|
+
return {
|
|
260
|
+
content: [
|
|
261
|
+
{ type: "text", text: `✅ Watch status for space ${args.spaceKey} retrieved` },
|
|
262
|
+
jsonDetailBlock(response.data),
|
|
263
|
+
],
|
|
264
|
+
};
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
export const AddSpaceWatcherArgsSchema = z.object({ spaceKey: z.string().min(1) });
|
|
268
|
+
export async function addSpaceWatcher(client, args) {
|
|
269
|
+
return withConfluenceErrorHandling(async () => {
|
|
270
|
+
await client.post(`/rest/api/user/watch/space/${encodeURIComponent(args.spaceKey)}`);
|
|
271
|
+
return { content: [{ type: "text", text: `✅ Now watching space ${args.spaceKey}` }] };
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=users-groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users-groups.js","sourceRoot":"","sources":["../../src/tools/users-groups.ts"],"names":[],"mappings":"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"}
|