@brxce/mcp-server 1.0.4 → 1.1.2
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 +11 -4
- package/dist/config/environment.d.ts.map +1 -1
- package/dist/config/environment.js +12 -7
- package/dist/config/environment.js.map +1 -1
- package/dist/constants/enums.d.ts +11 -0
- package/dist/constants/enums.d.ts.map +1 -0
- package/dist/constants/enums.js +39 -0
- package/dist/constants/enums.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -8
- package/dist/index.js.map +1 -1
- package/dist/prompts/worknode-prompts.d.ts.map +1 -1
- package/dist/prompts/worknode-prompts.js +5 -4
- package/dist/prompts/worknode-prompts.js.map +1 -1
- package/dist/prompts/workspace-context-prompt.d.ts.map +1 -1
- package/dist/prompts/workspace-context-prompt.js +2 -1
- package/dist/prompts/workspace-context-prompt.js.map +1 -1
- package/dist/resources/user-resource.d.ts.map +1 -1
- package/dist/resources/user-resource.js +2 -1
- package/dist/resources/user-resource.js.map +1 -1
- package/dist/resources/workspace-members-resource.d.ts.map +1 -1
- package/dist/resources/workspace-members-resource.js +2 -1
- package/dist/resources/workspace-members-resource.js.map +1 -1
- package/dist/resources/workspace-resource.d.ts.map +1 -1
- package/dist/resources/workspace-resource.js +2 -1
- package/dist/resources/workspace-resource.js.map +1 -1
- package/dist/services/api-client.d.ts +4 -1
- package/dist/services/api-client.d.ts.map +1 -1
- package/dist/services/api-client.js +21 -7
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/workspace-context.d.ts +56 -0
- package/dist/services/workspace-context.d.ts.map +1 -0
- package/dist/services/workspace-context.js +104 -0
- package/dist/services/workspace-context.js.map +1 -0
- package/dist/tools/comment-tool.d.ts.map +1 -1
- package/dist/tools/comment-tool.js +22 -7
- package/dist/tools/comment-tool.js.map +1 -1
- package/dist/tools/criteria-tool.d.ts.map +1 -1
- package/dist/tools/criteria-tool.js +20 -6
- package/dist/tools/criteria-tool.js.map +1 -1
- package/dist/tools/global-overview-tool.d.ts +4 -0
- package/dist/tools/global-overview-tool.d.ts.map +1 -0
- package/dist/tools/global-overview-tool.js +163 -0
- package/dist/tools/global-overview-tool.js.map +1 -0
- package/dist/tools/invitation-tool.d.ts +8 -0
- package/dist/tools/invitation-tool.d.ts.map +1 -1
- package/dist/tools/invitation-tool.js +266 -10
- package/dist/tools/invitation-tool.js.map +1 -1
- package/dist/tools/meeting-agenda-notes-tool.d.ts +7 -0
- package/dist/tools/meeting-agenda-notes-tool.d.ts.map +1 -0
- package/dist/tools/meeting-agenda-notes-tool.js +326 -0
- package/dist/tools/meeting-agenda-notes-tool.js.map +1 -0
- package/dist/tools/meeting-agenda-tool.d.ts.map +1 -1
- package/dist/tools/meeting-agenda-tool.js +97 -19
- package/dist/tools/meeting-agenda-tool.js.map +1 -1
- package/dist/tools/meeting-create-tool.d.ts.map +1 -1
- package/dist/tools/meeting-create-tool.js +71 -48
- package/dist/tools/meeting-create-tool.js.map +1 -1
- package/dist/tools/meeting-decisions-tool.d.ts.map +1 -1
- package/dist/tools/meeting-decisions-tool.js +94 -18
- package/dist/tools/meeting-decisions-tool.js.map +1 -1
- package/dist/tools/meeting-delete-tool.d.ts.map +1 -1
- package/dist/tools/meeting-delete-tool.js +3 -2
- package/dist/tools/meeting-delete-tool.js.map +1 -1
- package/dist/tools/meeting-list-tool.d.ts.map +1 -1
- package/dist/tools/meeting-list-tool.js +8 -7
- package/dist/tools/meeting-list-tool.js.map +1 -1
- package/dist/tools/meeting-notes-tool.d.ts.map +1 -1
- package/dist/tools/meeting-notes-tool.js +80 -18
- package/dist/tools/meeting-notes-tool.js.map +1 -1
- package/dist/tools/meeting-update-tool.d.ts.map +1 -1
- package/dist/tools/meeting-update-tool.js +4 -3
- package/dist/tools/meeting-update-tool.js.map +1 -1
- package/dist/tools/my-work-tool.d.ts +7 -0
- package/dist/tools/my-work-tool.d.ts.map +1 -0
- package/dist/tools/my-work-tool.js +307 -0
- package/dist/tools/my-work-tool.js.map +1 -0
- package/dist/tools/notification-tool.d.ts +12 -0
- package/dist/tools/notification-tool.d.ts.map +1 -1
- package/dist/tools/notification-tool.js +190 -3
- package/dist/tools/notification-tool.js.map +1 -1
- package/dist/tools/tag-category-tool.d.ts.map +1 -1
- package/dist/tools/tag-category-tool.js +78 -15
- package/dist/tools/tag-category-tool.js.map +1 -1
- package/dist/tools/tag-changes-tool.d.ts +4 -0
- package/dist/tools/tag-changes-tool.d.ts.map +1 -0
- package/dist/tools/tag-changes-tool.js +79 -0
- package/dist/tools/tag-changes-tool.js.map +1 -0
- package/dist/tools/tag-search-tool.d.ts.map +1 -1
- package/dist/tools/tag-search-tool.js +96 -13
- package/dist/tools/tag-search-tool.js.map +1 -1
- package/dist/tools/tag-tool.d.ts.map +1 -1
- package/dist/tools/tag-tool.js +125 -26
- package/dist/tools/tag-tool.js.map +1 -1
- package/dist/tools/tournament-decide-tool.d.ts +4 -0
- package/dist/tools/tournament-decide-tool.d.ts.map +1 -0
- package/dist/tools/tournament-decide-tool.js.map +1 -0
- package/dist/tools/tournament-start-tool.d.ts +4 -0
- package/dist/tools/tournament-start-tool.d.ts.map +1 -0
- package/dist/tools/tournament-start-tool.js.map +1 -0
- package/dist/tools/tournament-status-tool.d.ts +4 -0
- package/dist/tools/tournament-status-tool.d.ts.map +1 -0
- package/dist/tools/tournament-status-tool.js.map +1 -0
- package/dist/tools/tournament-today-tool.d.ts +4 -0
- package/dist/tools/tournament-today-tool.d.ts.map +1 -0
- package/dist/tools/tournament-today-tool.js.map +1 -0
- package/dist/tools/tournament-undo-tool.d.ts +4 -0
- package/dist/tools/tournament-undo-tool.d.ts.map +1 -0
- package/dist/tools/tournament-undo-tool.js.map +1 -0
- package/dist/tools/user-search-tool.d.ts +8 -0
- package/dist/tools/user-search-tool.d.ts.map +1 -0
- package/dist/tools/user-search-tool.js +164 -0
- package/dist/tools/user-search-tool.js.map +1 -0
- package/dist/tools/worknode-archive-tool.d.ts.map +1 -1
- package/dist/tools/worknode-archive-tool.js +11 -8
- package/dist/tools/worknode-archive-tool.js.map +1 -1
- package/dist/tools/worknode-batch-tool.d.ts.map +1 -1
- package/dist/tools/worknode-batch-tool.js +42 -34
- package/dist/tools/worknode-batch-tool.js.map +1 -1
- package/dist/tools/worknode-by-member-tool.d.ts.map +1 -1
- package/dist/tools/worknode-by-member-tool.js +8 -5
- package/dist/tools/worknode-by-member-tool.js.map +1 -1
- package/dist/tools/worknode-complete-tool.d.ts.map +1 -1
- package/dist/tools/worknode-complete-tool.js +16 -4
- package/dist/tools/worknode-complete-tool.js.map +1 -1
- package/dist/tools/worknode-create-tool.d.ts.map +1 -1
- package/dist/tools/worknode-create-tool.js +21 -16
- package/dist/tools/worknode-create-tool.js.map +1 -1
- package/dist/tools/worknode-delete-tool.d.ts.map +1 -1
- package/dist/tools/worknode-delete-tool.js +18 -5
- package/dist/tools/worknode-delete-tool.js.map +1 -1
- package/dist/tools/worknode-history-tool.d.ts.map +1 -1
- package/dist/tools/worknode-history-tool.js +6 -4
- package/dist/tools/worknode-history-tool.js.map +1 -1
- package/dist/tools/worknode-move-tool.d.ts.map +1 -1
- package/dist/tools/worknode-move-tool.js +9 -7
- package/dist/tools/worknode-move-tool.js.map +1 -1
- package/dist/tools/worknode-permanent-delete-tool.d.ts +10 -0
- package/dist/tools/worknode-permanent-delete-tool.d.ts.map +1 -0
- package/dist/tools/worknode-permanent-delete-tool.js +131 -0
- package/dist/tools/worknode-permanent-delete-tool.js.map +1 -0
- package/dist/tools/worknode-plan-organize-tool.d.ts.map +1 -1
- package/dist/tools/worknode-plan-organize-tool.js +2 -1
- package/dist/tools/worknode-plan-organize-tool.js.map +1 -1
- package/dist/tools/worknode-read-tool.d.ts.map +1 -1
- package/dist/tools/worknode-read-tool.js +18 -9
- package/dist/tools/worknode-read-tool.js.map +1 -1
- package/dist/tools/worknode-subtree-tool.d.ts.map +1 -1
- package/dist/tools/worknode-subtree-tool.js +150 -36
- package/dist/tools/worknode-subtree-tool.js.map +1 -1
- package/dist/tools/worknode-tag-relations-tool.d.ts +4 -0
- package/dist/tools/worknode-tag-relations-tool.d.ts.map +1 -0
- package/dist/tools/worknode-tag-relations-tool.js +143 -0
- package/dist/tools/worknode-tag-relations-tool.js.map +1 -0
- package/dist/tools/worknode-tag-tool.d.ts.map +1 -1
- package/dist/tools/worknode-tag-tool.js +115 -18
- package/dist/tools/worknode-tag-tool.js.map +1 -1
- package/dist/tools/worknode-update-tool.d.ts.map +1 -1
- package/dist/tools/worknode-update-tool.js +17 -12
- package/dist/tools/worknode-update-tool.js.map +1 -1
- package/dist/tools/workspace-ascii-export-tool.d.ts.map +1 -1
- package/dist/tools/workspace-ascii-export-tool.js +4 -1
- package/dist/tools/workspace-ascii-export-tool.js.map +1 -1
- package/dist/tools/workspace-inbox-tool.d.ts.map +1 -1
- package/dist/tools/workspace-inbox-tool.js +4 -5
- package/dist/tools/workspace-inbox-tool.js.map +1 -1
- package/dist/tools/workspace-list-tool.d.ts.map +1 -1
- package/dist/tools/workspace-list-tool.js +2 -1
- package/dist/tools/workspace-list-tool.js.map +1 -1
- package/dist/tools/workspace-member-tool.d.ts +8 -0
- package/dist/tools/workspace-member-tool.d.ts.map +1 -1
- package/dist/tools/workspace-member-tool.js +356 -10
- package/dist/tools/workspace-member-tool.js.map +1 -1
- package/dist/tools/workspace-members-list-tool.d.ts.map +1 -1
- package/dist/tools/workspace-members-list-tool.js +5 -3
- package/dist/tools/workspace-members-list-tool.js.map +1 -1
- package/dist/tools/workspace-statistics-tool.d.ts.map +1 -1
- package/dist/tools/workspace-statistics-tool.js +5 -3
- package/dist/tools/workspace-statistics-tool.js.map +1 -1
- package/dist/tools/workspace-tree-tool.d.ts.map +1 -1
- package/dist/tools/workspace-tree-tool.js +29 -9
- package/dist/tools/workspace-tree-tool.js.map +1 -1
- package/dist/utils/error-utils.d.ts +58 -0
- package/dist/utils/error-utils.d.ts.map +1 -0
- package/dist/utils/error-utils.js +118 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +13 -13
|
@@ -6,12 +6,15 @@
|
|
|
6
6
|
* - Error classification and handling
|
|
7
7
|
*/
|
|
8
8
|
import jwt from 'jsonwebtoken';
|
|
9
|
+
import { getErrorMessage } from '../utils/error-utils.js';
|
|
9
10
|
export class ApiClient {
|
|
10
11
|
baseUrl;
|
|
11
12
|
authToken;
|
|
12
13
|
refreshToken;
|
|
13
14
|
timeout;
|
|
14
15
|
maxRetries;
|
|
16
|
+
refreshFailureCount = 0;
|
|
17
|
+
MAX_REFRESH_FAILURES = 3;
|
|
15
18
|
constructor(config) {
|
|
16
19
|
this.baseUrl = config.baseUrl;
|
|
17
20
|
this.authToken = config.authToken;
|
|
@@ -44,11 +47,18 @@ export class ApiClient {
|
|
|
44
47
|
if (response.ok) {
|
|
45
48
|
const data = (await response.json());
|
|
46
49
|
this.authToken = data.accessToken;
|
|
50
|
+
// Reset failure count on successful refresh
|
|
51
|
+
this.refreshFailureCount = 0;
|
|
47
52
|
}
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
catch (error) {
|
|
51
|
-
|
|
56
|
+
this.refreshFailureCount++;
|
|
57
|
+
console.error(`[MCP] Token refresh failed (${this.refreshFailureCount}/${this.MAX_REFRESH_FAILURES})`);
|
|
58
|
+
if (this.refreshFailureCount >= this.MAX_REFRESH_FAILURES) {
|
|
59
|
+
console.error('[MCP] Max refresh attempts reached. Please re-authenticate.');
|
|
60
|
+
this.authToken = undefined;
|
|
61
|
+
}
|
|
52
62
|
}
|
|
53
63
|
}
|
|
54
64
|
/**
|
|
@@ -61,9 +71,9 @@ export class ApiClient {
|
|
|
61
71
|
return await fn();
|
|
62
72
|
}
|
|
63
73
|
catch (error) {
|
|
64
|
-
lastError = error;
|
|
74
|
+
lastError = error instanceof Error ? error : new Error(getErrorMessage(error));
|
|
65
75
|
// Don't retry if error has skipRetry flag (4xx errors)
|
|
66
|
-
if (error.skipRetry) {
|
|
76
|
+
if (error !== null && typeof error === 'object' && 'skipRetry' in error && error.skipRetry) {
|
|
67
77
|
throw error;
|
|
68
78
|
}
|
|
69
79
|
// Don't retry on last attempt
|
|
@@ -93,8 +103,9 @@ export class ApiClient {
|
|
|
93
103
|
}
|
|
94
104
|
catch (error) {
|
|
95
105
|
clearTimeout(timeoutId);
|
|
96
|
-
|
|
97
|
-
error.
|
|
106
|
+
const isAbortError = (error instanceof Error && error.name === 'AbortError') ||
|
|
107
|
+
getErrorMessage(error).includes('AbortError');
|
|
108
|
+
if (isAbortError) {
|
|
98
109
|
throw new Error(`Request timeout after ${timeoutMs}ms`);
|
|
99
110
|
}
|
|
100
111
|
throw error;
|
|
@@ -182,8 +193,11 @@ export class ApiClient {
|
|
|
182
193
|
async put(path, data) {
|
|
183
194
|
return this.request('PUT', path, data);
|
|
184
195
|
}
|
|
185
|
-
async
|
|
186
|
-
return this.request('
|
|
196
|
+
async patch(path, data) {
|
|
197
|
+
return this.request('PATCH', path, data);
|
|
198
|
+
}
|
|
199
|
+
async delete(path, data) {
|
|
200
|
+
return this.request('DELETE', path, data);
|
|
187
201
|
}
|
|
188
202
|
}
|
|
189
203
|
//# sourceMappingURL=api-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/services/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,GAAG,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/services/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Context Service
|
|
3
|
+
*
|
|
4
|
+
* Manages the current workspace context for the MCP server.
|
|
5
|
+
* When a user performs operations within a workspace, the workspaceId is stored
|
|
6
|
+
* so that subsequent operations using displayId can automatically resolve it.
|
|
7
|
+
*
|
|
8
|
+
* This solves the problem where LLM sees displayId (#123) in responses but
|
|
9
|
+
* doesn't know to include workspaceId in follow-up tool calls.
|
|
10
|
+
*/
|
|
11
|
+
declare class WorkspaceContextService {
|
|
12
|
+
private currentWorkspaceId;
|
|
13
|
+
private lastUpdated;
|
|
14
|
+
/**
|
|
15
|
+
* Set the current workspace context
|
|
16
|
+
* Called when a tool operation uses a specific workspace
|
|
17
|
+
*/
|
|
18
|
+
setWorkspace(workspaceId: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Get the current workspace context
|
|
21
|
+
*/
|
|
22
|
+
getWorkspace(): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* Check if a string looks like a displayId (not UUID)
|
|
25
|
+
*/
|
|
26
|
+
isDisplayId(nodeId: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve workspaceId for a tool call
|
|
29
|
+
*
|
|
30
|
+
* If workspaceId is provided, use it and update context.
|
|
31
|
+
* If not provided but nodeId is a displayId, use stored context.
|
|
32
|
+
*
|
|
33
|
+
* @param providedWorkspaceId - The workspaceId provided in the tool call
|
|
34
|
+
* @param nodeId - The node identifier (UUID or displayId)
|
|
35
|
+
* @returns The resolved workspaceId or null
|
|
36
|
+
*/
|
|
37
|
+
resolveWorkspaceId(providedWorkspaceId?: string, nodeId?: string): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve workspaceId for batch operations with multiple nodeIds
|
|
40
|
+
*/
|
|
41
|
+
resolveWorkspaceIdForBatch(providedWorkspaceId?: string, nodeIds?: string[]): string | null;
|
|
42
|
+
/**
|
|
43
|
+
* Clear the current context (e.g., on logout or session end)
|
|
44
|
+
*/
|
|
45
|
+
clear(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get context info for debugging
|
|
48
|
+
*/
|
|
49
|
+
getContextInfo(): {
|
|
50
|
+
workspaceId: string | null;
|
|
51
|
+
lastUpdated: Date | null;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export declare const workspaceContext: WorkspaceContextService;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=workspace-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-context.d.ts","sourceRoot":"","sources":["../../src/services/workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,cAAM,uBAAuB;IAC3B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,WAAW,CAAqB;IAExC;;;OAGG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IASpC;;;;;;;;;OASG;IACH,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAgBhF;;OAEG;IACH,0BAA0B,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI;IAe3F;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,cAAc,IAAI;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE;CAM3E;AAGD,eAAO,MAAM,gBAAgB,yBAAgC,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace Context Service
|
|
3
|
+
*
|
|
4
|
+
* Manages the current workspace context for the MCP server.
|
|
5
|
+
* When a user performs operations within a workspace, the workspaceId is stored
|
|
6
|
+
* so that subsequent operations using displayId can automatically resolve it.
|
|
7
|
+
*
|
|
8
|
+
* This solves the problem where LLM sees displayId (#123) in responses but
|
|
9
|
+
* doesn't know to include workspaceId in follow-up tool calls.
|
|
10
|
+
*/
|
|
11
|
+
// UUID pattern for validation
|
|
12
|
+
const UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
13
|
+
// DisplayId pattern: #123, 123, WS-123, etc.
|
|
14
|
+
const DISPLAY_ID_PATTERN = /^#?\d+$|^[A-Z]+-\d+$/i;
|
|
15
|
+
class WorkspaceContextService {
|
|
16
|
+
currentWorkspaceId = null;
|
|
17
|
+
lastUpdated = null;
|
|
18
|
+
/**
|
|
19
|
+
* Set the current workspace context
|
|
20
|
+
* Called when a tool operation uses a specific workspace
|
|
21
|
+
*/
|
|
22
|
+
setWorkspace(workspaceId) {
|
|
23
|
+
if (workspaceId && UUID_PATTERN.test(workspaceId)) {
|
|
24
|
+
this.currentWorkspaceId = workspaceId;
|
|
25
|
+
this.lastUpdated = new Date();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the current workspace context
|
|
30
|
+
*/
|
|
31
|
+
getWorkspace() {
|
|
32
|
+
return this.currentWorkspaceId;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if a string looks like a displayId (not UUID)
|
|
36
|
+
*/
|
|
37
|
+
isDisplayId(nodeId) {
|
|
38
|
+
if (!nodeId)
|
|
39
|
+
return false;
|
|
40
|
+
const trimmed = nodeId.trim();
|
|
41
|
+
// If it's a UUID, it's not a displayId
|
|
42
|
+
if (UUID_PATTERN.test(trimmed))
|
|
43
|
+
return false;
|
|
44
|
+
// Check if it matches displayId pattern
|
|
45
|
+
return DISPLAY_ID_PATTERN.test(trimmed);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolve workspaceId for a tool call
|
|
49
|
+
*
|
|
50
|
+
* If workspaceId is provided, use it and update context.
|
|
51
|
+
* If not provided but nodeId is a displayId, use stored context.
|
|
52
|
+
*
|
|
53
|
+
* @param providedWorkspaceId - The workspaceId provided in the tool call
|
|
54
|
+
* @param nodeId - The node identifier (UUID or displayId)
|
|
55
|
+
* @returns The resolved workspaceId or null
|
|
56
|
+
*/
|
|
57
|
+
resolveWorkspaceId(providedWorkspaceId, nodeId) {
|
|
58
|
+
// If workspaceId is explicitly provided, use it and update context
|
|
59
|
+
if (providedWorkspaceId && UUID_PATTERN.test(providedWorkspaceId)) {
|
|
60
|
+
this.setWorkspace(providedWorkspaceId);
|
|
61
|
+
return providedWorkspaceId;
|
|
62
|
+
}
|
|
63
|
+
// If nodeId looks like a displayId, try to use stored context
|
|
64
|
+
if (nodeId && this.isDisplayId(nodeId)) {
|
|
65
|
+
return this.currentWorkspaceId;
|
|
66
|
+
}
|
|
67
|
+
// UUID nodeId doesn't need workspaceId for resolution
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Resolve workspaceId for batch operations with multiple nodeIds
|
|
72
|
+
*/
|
|
73
|
+
resolveWorkspaceIdForBatch(providedWorkspaceId, nodeIds) {
|
|
74
|
+
// If workspaceId is explicitly provided, use it and update context
|
|
75
|
+
if (providedWorkspaceId && UUID_PATTERN.test(providedWorkspaceId)) {
|
|
76
|
+
this.setWorkspace(providedWorkspaceId);
|
|
77
|
+
return providedWorkspaceId;
|
|
78
|
+
}
|
|
79
|
+
// Check if any nodeId looks like a displayId
|
|
80
|
+
if (nodeIds && nodeIds.some(id => this.isDisplayId(id))) {
|
|
81
|
+
return this.currentWorkspaceId;
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Clear the current context (e.g., on logout or session end)
|
|
87
|
+
*/
|
|
88
|
+
clear() {
|
|
89
|
+
this.currentWorkspaceId = null;
|
|
90
|
+
this.lastUpdated = null;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get context info for debugging
|
|
94
|
+
*/
|
|
95
|
+
getContextInfo() {
|
|
96
|
+
return {
|
|
97
|
+
workspaceId: this.currentWorkspaceId,
|
|
98
|
+
lastUpdated: this.lastUpdated
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Singleton instance
|
|
103
|
+
export const workspaceContext = new WorkspaceContextService();
|
|
104
|
+
//# sourceMappingURL=workspace-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-context.js","sourceRoot":"","sources":["../../src/services/workspace-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,8BAA8B;AAC9B,MAAM,YAAY,GAAG,4EAA4E,CAAC;AAElG,6CAA6C;AAC7C,MAAM,kBAAkB,GAAG,uBAAuB,CAAC;AAEnD,MAAM,uBAAuB;IACnB,kBAAkB,GAAkB,IAAI,CAAC;IACzC,WAAW,GAAgB,IAAI,CAAC;IAExC;;;OAGG;IACH,YAAY,CAAC,WAAmB;QAC9B,IAAI,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;YACtC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,uCAAuC;QACvC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7C,wCAAwC;QACxC,OAAO,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,mBAA4B,EAAE,MAAe;QAC9D,mEAAmE;QACnE,IAAI,mBAAmB,IAAI,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,8DAA8D;QAC9D,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,mBAA4B,EAAE,OAAkB;QACzE,mEAAmE;QACnE,IAAI,mBAAmB,IAAI,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,6CAA6C;QAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;IACJ,CAAC;CACF;AAED,qBAAqB;AACrB,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment-tool.d.ts","sourceRoot":"","sources":["../../src/tools/comment-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"comment-tool.d.ts","sourceRoot":"","sources":["../../src/tools/comment-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAgN3E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { getErrorMessage } from '../utils/error-utils.js';
|
|
2
3
|
export function registerCommentTools(server, apiClient) {
|
|
3
4
|
// Create Comment
|
|
4
5
|
server.registerTool('brxce_create_comment', {
|
|
@@ -6,7 +7,8 @@ export function registerCommentTools(server, apiClient) {
|
|
|
6
7
|
|
|
7
8
|
Params: nodeId, content, parentCommentId?, mentions[]?`,
|
|
8
9
|
inputSchema: {
|
|
9
|
-
nodeId: z.string().
|
|
10
|
+
nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
|
|
11
|
+
workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
|
|
10
12
|
content: z.string().min(1).describe('Comment content'),
|
|
11
13
|
parentCommentId: z.string().uuid().optional().describe('Parent comment UUID for replies'),
|
|
12
14
|
mentions: z.array(z.string()).optional().describe('User IDs to mention'),
|
|
@@ -19,6 +21,7 @@ Params: nodeId, content, parentCommentId?, mentions[]?`,
|
|
|
19
21
|
content: [
|
|
20
22
|
{ type: 'text', text: `Failed to create comment: ${response.message || 'Unknown error'}` },
|
|
21
23
|
],
|
|
24
|
+
isError: true,
|
|
22
25
|
};
|
|
23
26
|
}
|
|
24
27
|
const { comment } = response.data;
|
|
@@ -30,7 +33,8 @@ Params: nodeId, content, parentCommentId?, mentions[]?`,
|
|
|
30
33
|
}
|
|
31
34
|
catch (error) {
|
|
32
35
|
return {
|
|
33
|
-
content: [{ type: 'text', text: `Error creating comment: ${error
|
|
36
|
+
content: [{ type: 'text', text: `Error creating comment: ${getErrorMessage(error)}` }],
|
|
37
|
+
isError: true,
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
});
|
|
@@ -40,16 +44,22 @@ Params: nodeId, content, parentCommentId?, mentions[]?`,
|
|
|
40
44
|
|
|
41
45
|
Params: nodeId`,
|
|
42
46
|
inputSchema: {
|
|
43
|
-
nodeId: z.string().
|
|
47
|
+
nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
|
|
48
|
+
workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
|
|
44
49
|
},
|
|
45
50
|
}, async (args) => {
|
|
46
51
|
try {
|
|
47
|
-
const
|
|
52
|
+
const queryParams = new URLSearchParams({ nodeId: args.nodeId });
|
|
53
|
+
if (args.workspaceId) {
|
|
54
|
+
queryParams.append('workspaceId', args.workspaceId);
|
|
55
|
+
}
|
|
56
|
+
const response = await apiClient.get(`/mcp/comments/list?${queryParams}`);
|
|
48
57
|
if (!response.success) {
|
|
49
58
|
return {
|
|
50
59
|
content: [
|
|
51
60
|
{ type: 'text', text: `Failed to list comments: ${response.message || 'Unknown error'}` },
|
|
52
61
|
],
|
|
62
|
+
isError: true,
|
|
53
63
|
};
|
|
54
64
|
}
|
|
55
65
|
const { comments, count } = response.data;
|
|
@@ -67,7 +77,8 @@ Params: nodeId`,
|
|
|
67
77
|
}
|
|
68
78
|
catch (error) {
|
|
69
79
|
return {
|
|
70
|
-
content: [{ type: 'text', text: `Error listing comments: ${error
|
|
80
|
+
content: [{ type: 'text', text: `Error listing comments: ${getErrorMessage(error)}` }],
|
|
81
|
+
isError: true,
|
|
71
82
|
};
|
|
72
83
|
}
|
|
73
84
|
});
|
|
@@ -90,6 +101,7 @@ Params: commentId, content?, mentions[]?`,
|
|
|
90
101
|
content: [
|
|
91
102
|
{ type: 'text', text: `Failed to update comment: ${response.message || 'Unknown error'}` },
|
|
92
103
|
],
|
|
104
|
+
isError: true,
|
|
93
105
|
};
|
|
94
106
|
}
|
|
95
107
|
const { comment } = response.data;
|
|
@@ -100,7 +112,8 @@ Params: commentId, content?, mentions[]?`,
|
|
|
100
112
|
}
|
|
101
113
|
catch (error) {
|
|
102
114
|
return {
|
|
103
|
-
content: [{ type: 'text', text: `Error updating comment: ${error
|
|
115
|
+
content: [{ type: 'text', text: `Error updating comment: ${getErrorMessage(error)}` }],
|
|
116
|
+
isError: true,
|
|
104
117
|
};
|
|
105
118
|
}
|
|
106
119
|
});
|
|
@@ -121,6 +134,7 @@ Params: commentId`,
|
|
|
121
134
|
content: [
|
|
122
135
|
{ type: 'text', text: `Failed to delete comment: ${response.message || 'Unknown error'}` },
|
|
123
136
|
],
|
|
137
|
+
isError: true,
|
|
124
138
|
};
|
|
125
139
|
}
|
|
126
140
|
const { deletedAt } = response.data;
|
|
@@ -131,7 +145,8 @@ Params: commentId`,
|
|
|
131
145
|
}
|
|
132
146
|
catch (error) {
|
|
133
147
|
return {
|
|
134
|
-
content: [{ type: 'text', text: `Error deleting comment: ${error
|
|
148
|
+
content: [{ type: 'text', text: `Error deleting comment: ${getErrorMessage(error)}` }],
|
|
149
|
+
isError: true,
|
|
135
150
|
};
|
|
136
151
|
}
|
|
137
152
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment-tool.js","sourceRoot":"","sources":["../../src/tools/comment-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"comment-tool.js","sourceRoot":"","sources":["../../src/tools/comment-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria-tool.d.ts","sourceRoot":"","sources":["../../src/tools/criteria-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"criteria-tool.d.ts","sourceRoot":"","sources":["../../src/tools/criteria-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAuR5E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { getErrorMessage } from '../utils/error-utils.js';
|
|
2
3
|
export function registerCriteriaTools(server, apiClient) {
|
|
3
4
|
// Create Criteria
|
|
4
5
|
server.registerTool('brxce_create_criteria', {
|
|
@@ -8,7 +9,8 @@ Params: nodeId, title, description?, criteriaType?, priority?, measurementType?,
|
|
|
8
9
|
Types: acceptance|exit|success|definition_of_done|business_rule|quality|performance|security
|
|
9
10
|
Priorities: critical|mandatory|important|optional|nice_to_have`,
|
|
10
11
|
inputSchema: {
|
|
11
|
-
nodeId: z.string().
|
|
12
|
+
nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
|
|
13
|
+
workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
|
|
12
14
|
title: z.string().min(1).max(255).describe('Criteria title'),
|
|
13
15
|
description: z.string().optional().describe('Detailed description'),
|
|
14
16
|
criteriaType: z
|
|
@@ -33,6 +35,7 @@ Priorities: critical|mandatory|important|optional|nice_to_have`,
|
|
|
33
35
|
content: [
|
|
34
36
|
{ type: 'text', text: `Failed to create criteria: ${response.message || 'Unknown error'}` },
|
|
35
37
|
],
|
|
38
|
+
isError: true,
|
|
36
39
|
};
|
|
37
40
|
}
|
|
38
41
|
const { criteria } = response.data;
|
|
@@ -47,7 +50,8 @@ Priorities: critical|mandatory|important|optional|nice_to_have`,
|
|
|
47
50
|
}
|
|
48
51
|
catch (error) {
|
|
49
52
|
return {
|
|
50
|
-
content: [{ type: 'text', text: `Error creating criteria: ${error
|
|
53
|
+
content: [{ type: 'text', text: `Error creating criteria: ${getErrorMessage(error)}` }],
|
|
54
|
+
isError: true,
|
|
51
55
|
};
|
|
52
56
|
}
|
|
53
57
|
});
|
|
@@ -57,12 +61,16 @@ Priorities: critical|mandatory|important|optional|nice_to_have`,
|
|
|
57
61
|
|
|
58
62
|
Params: nodeId, completed?`,
|
|
59
63
|
inputSchema: {
|
|
60
|
-
nodeId: z.string().
|
|
64
|
+
nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
|
|
65
|
+
workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
|
|
61
66
|
completed: z.boolean().optional().describe('Filter by completion status'),
|
|
62
67
|
},
|
|
63
68
|
}, async (args) => {
|
|
64
69
|
try {
|
|
65
70
|
const queryParams = new URLSearchParams({ nodeId: args.nodeId });
|
|
71
|
+
if (args.workspaceId) {
|
|
72
|
+
queryParams.append('workspaceId', args.workspaceId);
|
|
73
|
+
}
|
|
66
74
|
if (args.completed !== undefined) {
|
|
67
75
|
queryParams.append('completed', String(args.completed));
|
|
68
76
|
}
|
|
@@ -72,6 +80,7 @@ Params: nodeId, completed?`,
|
|
|
72
80
|
content: [
|
|
73
81
|
{ type: 'text', text: `Failed to list criteria: ${response.message || 'Unknown error'}` },
|
|
74
82
|
],
|
|
83
|
+
isError: true,
|
|
75
84
|
};
|
|
76
85
|
}
|
|
77
86
|
const { criteria, count } = response.data;
|
|
@@ -111,7 +120,8 @@ Params: nodeId, completed?`,
|
|
|
111
120
|
}
|
|
112
121
|
catch (error) {
|
|
113
122
|
return {
|
|
114
|
-
content: [{ type: 'text', text: `Error listing criteria: ${error
|
|
123
|
+
content: [{ type: 'text', text: `Error listing criteria: ${getErrorMessage(error)}` }],
|
|
124
|
+
isError: true,
|
|
115
125
|
};
|
|
116
126
|
}
|
|
117
127
|
});
|
|
@@ -141,6 +151,7 @@ Params: criteriaId, title?, description?, priority?, targetValue?, currentValue?
|
|
|
141
151
|
content: [
|
|
142
152
|
{ type: 'text', text: `Failed to update criteria: ${response.message || 'Unknown error'}` },
|
|
143
153
|
],
|
|
154
|
+
isError: true,
|
|
144
155
|
};
|
|
145
156
|
}
|
|
146
157
|
const { criteria } = response.data;
|
|
@@ -155,7 +166,8 @@ Params: criteriaId, title?, description?, priority?, targetValue?, currentValue?
|
|
|
155
166
|
}
|
|
156
167
|
catch (error) {
|
|
157
168
|
return {
|
|
158
|
-
content: [{ type: 'text', text: `Error updating criteria: ${error
|
|
169
|
+
content: [{ type: 'text', text: `Error updating criteria: ${getErrorMessage(error)}` }],
|
|
170
|
+
isError: true,
|
|
159
171
|
};
|
|
160
172
|
}
|
|
161
173
|
});
|
|
@@ -176,6 +188,7 @@ Params: criteriaId`,
|
|
|
176
188
|
content: [
|
|
177
189
|
{ type: 'text', text: `Failed to delete criteria: ${response.message || 'Unknown error'}` },
|
|
178
190
|
],
|
|
191
|
+
isError: true,
|
|
179
192
|
};
|
|
180
193
|
}
|
|
181
194
|
const { deletedAt } = response.data;
|
|
@@ -186,7 +199,8 @@ Params: criteriaId`,
|
|
|
186
199
|
}
|
|
187
200
|
catch (error) {
|
|
188
201
|
return {
|
|
189
|
-
content: [{ type: 'text', text: `Error deleting criteria: ${error
|
|
202
|
+
content: [{ type: 'text', text: `Error deleting criteria: ${getErrorMessage(error)}` }],
|
|
203
|
+
isError: true,
|
|
190
204
|
};
|
|
191
205
|
}
|
|
192
206
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"criteria-tool.js","sourceRoot":"","sources":["../../src/tools/criteria-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"criteria-tool.js","sourceRoot":"","sources":["../../src/tools/criteria-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import { ApiClient } from '../services/api-client.js';
|
|
3
|
+
export declare function registerGlobalOverviewTool(server: McpServer, apiClient: ApiClient): void;
|
|
4
|
+
//# sourceMappingURL=global-overview-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-overview-tool.d.ts","sourceRoot":"","sources":["../../src/tools/global-overview-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAuErD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAqKjF"}
|