@brxce/mcp-server 1.1.8 → 1.1.10

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.
Files changed (56) hide show
  1. package/dist/config/environment.d.ts +0 -2
  2. package/dist/config/environment.d.ts.map +1 -1
  3. package/dist/config/environment.js +20 -2
  4. package/dist/config/environment.js.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +76 -90
  7. package/dist/index.js.map +1 -1
  8. package/dist/tools/attachment-tool.d.ts +4 -0
  9. package/dist/tools/attachment-tool.d.ts.map +1 -0
  10. package/dist/tools/attachment-tool.js +253 -0
  11. package/dist/tools/attachment-tool.js.map +1 -0
  12. package/dist/tools/daily-report-tool.d.ts +4 -0
  13. package/dist/tools/daily-report-tool.d.ts.map +1 -0
  14. package/dist/tools/daily-report-tool.js +59 -0
  15. package/dist/tools/daily-report-tool.js.map +1 -0
  16. package/dist/tools/goal-progress-tool.d.ts +4 -0
  17. package/dist/tools/goal-progress-tool.d.ts.map +1 -0
  18. package/dist/tools/goal-progress-tool.js +50 -0
  19. package/dist/tools/goal-progress-tool.js.map +1 -0
  20. package/dist/tools/invitation-tool.d.ts.map +1 -1
  21. package/dist/tools/invitation-tool.js +6 -4
  22. package/dist/tools/invitation-tool.js.map +1 -1
  23. package/dist/tools/recurring-tool.d.ts +7 -0
  24. package/dist/tools/recurring-tool.d.ts.map +1 -0
  25. package/dist/tools/recurring-tool.js +258 -0
  26. package/dist/tools/recurring-tool.js.map +1 -0
  27. package/dist/tools/worknode-complete-tool.d.ts.map +1 -1
  28. package/dist/tools/worknode-complete-tool.js +30 -0
  29. package/dist/tools/worknode-complete-tool.js.map +1 -1
  30. package/dist/tools/worknode-create-tool.d.ts.map +1 -1
  31. package/dist/tools/worknode-create-tool.js +75 -13
  32. package/dist/tools/worknode-create-tool.js.map +1 -1
  33. package/dist/tools/worknode-detail-tool.d.ts.map +1 -1
  34. package/dist/tools/worknode-detail-tool.js +39 -0
  35. package/dist/tools/worknode-detail-tool.js.map +1 -1
  36. package/dist/tools/worknode-filter-tool.d.ts +4 -0
  37. package/dist/tools/worknode-filter-tool.d.ts.map +1 -0
  38. package/dist/tools/worknode-filter-tool.js +112 -0
  39. package/dist/tools/worknode-filter-tool.js.map +1 -0
  40. package/dist/tools/worknode-tag-relations-tool.d.ts.map +1 -1
  41. package/dist/tools/worknode-tag-relations-tool.js +10 -3
  42. package/dist/tools/worknode-tag-relations-tool.js.map +1 -1
  43. package/dist/tools/worknode-tag-tool.d.ts.map +1 -1
  44. package/dist/tools/worknode-tag-tool.js +42 -12
  45. package/dist/tools/worknode-tag-tool.js.map +1 -1
  46. package/dist/tools/worknode-update-tool.d.ts.map +1 -1
  47. package/dist/tools/worknode-update-tool.js +20 -9
  48. package/dist/tools/worknode-update-tool.js.map +1 -1
  49. package/dist/tools/workspace-delta-tool.d.ts +7 -0
  50. package/dist/tools/workspace-delta-tool.d.ts.map +1 -0
  51. package/dist/tools/workspace-delta-tool.js +83 -0
  52. package/dist/tools/workspace-delta-tool.js.map +1 -0
  53. package/dist/tools/workspace-statistics-tool.d.ts.map +1 -1
  54. package/dist/tools/workspace-statistics-tool.js +2 -1
  55. package/dist/tools/workspace-statistics-tool.js.map +1 -1
  56. package/package.json +1 -1
@@ -7,8 +7,6 @@ export interface EnvironmentConfig {
7
7
  authToken?: string;
8
8
  refreshToken?: string;
9
9
  debug: boolean;
10
- /** True when AUTH_TOKEN is a bot_ prefixed API key */
11
- isBotToken: boolean;
12
10
  }
13
11
  export declare function loadEnvironment(): EnvironmentConfig;
14
12
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAC;CACrB;AA8BD,wBAAgB,eAAe,IAAI,iBAAiB,CAWnD"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC;CAChB;AAgDD,wBAAgB,eAAe,IAAI,iBAAiB,CAYnD"}
@@ -31,15 +31,33 @@ function resolveApiUrl() {
31
31
  // Priority 4: npm 패키지 기본값 = prod
32
32
  return API_URLS.prod;
33
33
  }
34
+ /**
35
+ * Parse a CLI argument value from process.argv.
36
+ * Supports both `--key value` and `--key=value` forms.
37
+ */
38
+ function parseCliArg(key) {
39
+ const prefix = `--${key}=`;
40
+ for (let i = 2; i < process.argv.length; i++) {
41
+ const arg = process.argv[i];
42
+ if (arg === `--${key}` && i + 1 < process.argv.length) {
43
+ return process.argv[i + 1];
44
+ }
45
+ if (arg?.startsWith(prefix)) {
46
+ return arg.slice(prefix.length);
47
+ }
48
+ }
49
+ return undefined;
50
+ }
34
51
  export function loadEnvironment() {
35
52
  const backendUrl = resolveApiUrl();
36
- const authToken = process.env.AUTH_TOKEN;
53
+ // AUTH_TOKEN: env var first, then CLI --token fallback (for SSH environments where
54
+ // .mcp.json env vars may not propagate to the spawned MCP process — #938)
55
+ const authToken = process.env.AUTH_TOKEN ?? parseCliArg('token');
37
56
  return {
38
57
  backendUrl,
39
58
  authToken,
40
59
  refreshToken: process.env.REFRESH_TOKEN,
41
60
  debug: process.env.DEBUG === 'true' || process.env.MCP_DEBUG === 'true',
42
- isBotToken: authToken?.startsWith('bot_') ?? false,
43
61
  };
44
62
  }
45
63
  //# sourceMappingURL=environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AACd,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,8BAA8B;IACrC,IAAI,EAAE,+EAA+E;CAC7E,CAAC;AAWX;;;;;;GAMG;AACH,SAAS,aAAa;IACpB,wBAAwB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,iCAAiC;IACjC,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACzC,OAAO;QACL,UAAU;QACV,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACvC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;QACvE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK;KACnD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc;AACd,MAAM,QAAQ,GAAG;IACf,KAAK,EAAE,8BAA8B;IACrC,IAAI,EAAE,+EAA+E;CAC7E,CAAC;AASX;;;;;;GAMG;AACH,SAAS,aAAa;IACpB,wBAAwB;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;IAClC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAED,iCAAiC;IACjC,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,mFAAmF;IACnF,0EAA0E;IAC1E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACjE,OAAO;QACL,UAAU;QACV,SAAS;QACT,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;QACvC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;KACxE,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAuEA,wBAAsB,SAAS,kBAsO9B;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBAG/C;AAED,eAAO,MAAM,gBAAgB,eAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA4DA,wBAAsB,SAAS,kBAwN9B;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,OAAO,iBAG/C;AAED,eAAO,MAAM,gBAAgB,eAAiC,CAAA"}
package/dist/index.js CHANGED
@@ -8,7 +8,6 @@ import { getErrorMessage } from './utils/error-utils.js';
8
8
  import { registerUserResource } from './resources/user-resource.js';
9
9
  import { registerWorkspaceResource } from './resources/workspace-resource.js';
10
10
  import { registerWorkspaceMembersResource } from './resources/workspace-members-resource.js';
11
- import { createBotScopedServer } from './utils/bot-scoped-server.js';
12
11
  import { registerWorkspaceTreeTool } from './tools/workspace-tree-tool.js';
13
12
  import { registerWorknodeSubtreeTool } from './tools/worknode-subtree-tool.js';
14
13
  import { registerWorknodeDetailTool } from './tools/worknode-detail-tool.js';
@@ -41,10 +40,10 @@ import { registerWorknodeDeleteTool } from './tools/worknode-delete-tool.js';
41
40
  import { registerWorknodePermanentDeleteTool } from './tools/worknode-permanent-delete-tool.js';
42
41
  import { registerCommentTools } from './tools/comment-tool.js';
43
42
  import { registerMeetingDeleteTool } from './tools/meeting-delete-tool.js';
44
- import { registerNotificationListTool, registerNotificationMarkReadTool, registerGetUnreadCountsTool, registerMarkAllNotificationsReadTool, registerDeleteNotificationTool, } from './tools/notification-tool.js';
43
+ import { registerNotificationListTool, registerNotificationMarkReadTool, registerGetUnreadCountsTool, registerMarkAllNotificationsReadTool, registerDeleteNotificationTool } from './tools/notification-tool.js';
45
44
  import { registerCriteriaTools } from './tools/criteria-tool.js';
46
- import { registerCreateInvitationTool, registerListInvitationsTool, registerAcceptInvitationTool, registerDeclineInvitationTool, } from './tools/invitation-tool.js';
47
- import { registerAddWorkspaceMemberTool, registerUpdateMemberRoleTool, registerRemoveWorkspaceMemberTool, } from './tools/workspace-member-tool.js';
45
+ import { registerCreateInvitationTool, registerListInvitationsTool, registerAcceptInvitationTool, registerDeclineInvitationTool } from './tools/invitation-tool.js';
46
+ import { registerAddWorkspaceMemberTool, registerUpdateMemberRoleTool, registerRemoveWorkspaceMemberTool } from './tools/workspace-member-tool.js';
48
47
  import { registerUserSearchTool } from './tools/user-search-tool.js';
49
48
  import { registerWorknodeHistoryTool } from './tools/worknode-history-tool.js';
50
49
  import { registerWorknodeByMemberTool } from './tools/worknode-by-member-tool.js';
@@ -52,7 +51,12 @@ import { registerWorknodeBatchTool } from './tools/worknode-batch-tool.js';
52
51
  import { registerBatchAssignTool } from './tools/batch-assign-tool.js';
53
52
  import { registerMyWorkTool } from './tools/my-work-tool.js';
54
53
  import { registerGlobalOverviewTool } from './tools/global-overview-tool.js';
55
- import { registerBotTools } from './tools/bot-tool.js';
54
+ import { registerWorknodeFilterTool } from './tools/worknode-filter-tool.js';
55
+ import { registerRecurringTools } from './tools/recurring-tool.js';
56
+ import { registerWorkspaceDeltaTool } from './tools/workspace-delta-tool.js';
57
+ import { registerAttachmentTools } from './tools/attachment-tool.js';
58
+ import { registerGoalProgressTool } from './tools/goal-progress-tool.js';
59
+ import { registerDailyReportTool } from './tools/daily-report-tool.js';
56
60
  export async function bootstrap() {
57
61
  // Always log environment variables for debugging
58
62
  console.error('[MCP] Environment variables:');
@@ -69,31 +73,7 @@ export async function bootstrap() {
69
73
  });
70
74
  // Extract user information from auth token
71
75
  let currentUserId;
72
- if (config.authToken && config.isBotToken) {
73
- // Bot token (bot_ prefix): resolve identity by calling backend /users/me
74
- console.error('[MCP] Bot API key detected, resolving identity via backend...');
75
- try {
76
- const res = await fetch(`${config.backendUrl}/users/me`, {
77
- headers: { Authorization: `Bearer ${config.authToken}` },
78
- });
79
- if (!res.ok) {
80
- throw new Error(`Bot authentication failed: HTTP ${res.status}`);
81
- }
82
- const body = await res.json();
83
- if (body.data?.id) {
84
- currentUserId = body.data.id;
85
- console.error(`[MCP] Bot authenticated: userId=${currentUserId}, userType=${body.data.userType}`);
86
- }
87
- else {
88
- throw new Error('Bot authentication failed: no user ID in response');
89
- }
90
- }
91
- catch (error) {
92
- console.error('[MCP] Failed to resolve bot identity:', getErrorMessage(error));
93
- throw error;
94
- }
95
- }
96
- else if (config.authToken) {
76
+ if (config.authToken) {
97
77
  // JWT token: decode locally
98
78
  try {
99
79
  const decoded = jwt.decode(config.authToken);
@@ -127,80 +107,83 @@ export async function bootstrap() {
127
107
  tools: {},
128
108
  },
129
109
  });
130
- // For bot sessions, wrap server to filter tool registration by scope
131
- const toolServer = config.isBotToken ? createBotScopedServer(server) : server;
132
- if (config.isBotToken) {
133
- console.error('[MCP] Bot session: tool scope filtering enabled');
134
- }
135
110
  // Register resources
136
111
  registerUserResource(server, apiClient);
137
112
  registerWorkspaceResource(server, apiClient);
138
113
  registerWorkspaceMembersResource(server, apiClient);
139
- // Register tools (toolServer filters for bot sessions)
114
+ // Register tools
140
115
  // Workspace tools
141
- registerWorkspaceListTool(toolServer, apiClient);
142
- registerWorkspaceMembersListTool(toolServer, apiClient);
143
- registerWorkspaceStatisticsTool(toolServer, apiClient);
144
- registerWorkspaceTreeTool(toolServer, apiClient);
145
- registerWorkspaceInboxTool(toolServer, apiClient);
146
- registerWorkspaceAsciiExportTool(toolServer, apiClient);
147
- registerGlobalOverviewTool(toolServer, apiClient);
116
+ registerWorkspaceListTool(server, apiClient);
117
+ registerWorkspaceMembersListTool(server, apiClient);
118
+ registerWorkspaceStatisticsTool(server, apiClient);
119
+ registerWorkspaceTreeTool(server, apiClient);
120
+ registerWorkspaceInboxTool(server, apiClient);
121
+ registerWorkspaceAsciiExportTool(server, apiClient);
122
+ registerGlobalOverviewTool(server, apiClient);
123
+ registerGoalProgressTool(server, apiClient);
124
+ registerDailyReportTool(server, apiClient);
148
125
  // WorkNode tools
149
- registerWorknodeSubtreeTool(toolServer, apiClient);
150
- registerWorknodeDetailTool(toolServer, apiClient);
151
- registerWorknodeCreateTool(toolServer, apiClient);
152
- registerWorknodeUpdateTool(toolServer, apiClient);
153
- registerWorknodeReadTool(toolServer, apiClient);
154
- registerWorknodeArchiveTools(toolServer, apiClient);
155
- registerWorknodePlanOrganizeTool(toolServer, apiClient);
156
- registerWorknodeCompleteTool(toolServer, apiClient);
157
- registerWorknodeMoveTool(toolServer, apiClient);
158
- registerWorknodeDeleteTool(toolServer, apiClient);
159
- registerWorknodePermanentDeleteTool(toolServer, apiClient);
160
- registerWorknodeHistoryTool(toolServer, apiClient);
161
- registerWorknodeByMemberTool(toolServer, apiClient);
162
- registerWorknodeBatchTool(toolServer, apiClient);
163
- registerBatchAssignTool(toolServer, apiClient);
164
- registerMyWorkTool(toolServer, apiClient);
126
+ registerWorknodeSubtreeTool(server, apiClient);
127
+ registerWorknodeDetailTool(server, apiClient);
128
+ registerWorknodeCreateTool(server, apiClient);
129
+ registerWorknodeUpdateTool(server, apiClient);
130
+ registerWorknodeReadTool(server, apiClient);
131
+ registerWorknodeArchiveTools(server, apiClient);
132
+ registerWorknodePlanOrganizeTool(server, apiClient);
133
+ registerWorknodeCompleteTool(server, apiClient);
134
+ registerWorknodeMoveTool(server, apiClient);
135
+ registerWorknodeDeleteTool(server, apiClient);
136
+ registerWorknodePermanentDeleteTool(server, apiClient);
137
+ registerWorknodeHistoryTool(server, apiClient);
138
+ registerWorknodeByMemberTool(server, apiClient);
139
+ registerWorknodeBatchTool(server, apiClient);
140
+ registerBatchAssignTool(server, apiClient);
141
+ registerMyWorkTool(server, apiClient);
165
142
  // Tag tools
166
- registerTagCategoryTools(toolServer, apiClient);
167
- registerTagTools(toolServer, apiClient);
168
- registerWorknodeTagTools(toolServer, apiClient);
169
- registerWorknodeTagRelationsTool(toolServer, apiClient);
170
- registerTagSearchTools(toolServer, apiClient);
171
- registerTagChangesTool(toolServer, apiClient);
143
+ registerTagCategoryTools(server, apiClient);
144
+ registerTagTools(server, apiClient);
145
+ registerWorknodeTagTools(server, apiClient);
146
+ registerWorknodeTagRelationsTool(server, apiClient);
147
+ registerTagSearchTools(server, apiClient);
148
+ registerTagChangesTool(server, apiClient);
172
149
  // Meeting tools
173
- registerMeetingCreateTool(toolServer, apiClient);
174
- registerMeetingListTools(toolServer, apiClient);
175
- registerMeetingUpdateTool(toolServer, apiClient);
176
- registerMeetingDeleteTool(toolServer, apiClient);
177
- registerMeetingNotesTools(toolServer, apiClient);
178
- registerMeetingDecisionsTools(toolServer, apiClient);
179
- registerMeetingAgendaTools(toolServer, apiClient);
180
- registerMeetingAgendaNotesTools(toolServer, apiClient);
150
+ registerMeetingCreateTool(server, apiClient);
151
+ registerMeetingListTools(server, apiClient);
152
+ registerMeetingUpdateTool(server, apiClient);
153
+ registerMeetingDeleteTool(server, apiClient);
154
+ registerMeetingNotesTools(server, apiClient);
155
+ registerMeetingDecisionsTools(server, apiClient);
156
+ registerMeetingAgendaTools(server, apiClient);
157
+ registerMeetingAgendaNotesTools(server, apiClient);
181
158
  // Comment tools
182
- registerCommentTools(toolServer, apiClient);
159
+ registerCommentTools(server, apiClient);
183
160
  // Criteria tools
184
- registerCriteriaTools(toolServer, apiClient);
161
+ registerCriteriaTools(server, apiClient);
185
162
  // Notification tools
186
- registerNotificationListTool(toolServer, apiClient);
187
- registerNotificationMarkReadTool(toolServer, apiClient);
188
- registerGetUnreadCountsTool(toolServer, apiClient);
189
- registerMarkAllNotificationsReadTool(toolServer, apiClient);
190
- registerDeleteNotificationTool(toolServer, apiClient);
163
+ registerNotificationListTool(server, apiClient);
164
+ registerNotificationMarkReadTool(server, apiClient);
165
+ registerGetUnreadCountsTool(server, apiClient);
166
+ registerMarkAllNotificationsReadTool(server, apiClient);
167
+ registerDeleteNotificationTool(server, apiClient);
191
168
  // Invitation tools
192
- registerCreateInvitationTool(toolServer, apiClient);
193
- registerListInvitationsTool(toolServer, apiClient);
194
- registerAcceptInvitationTool(toolServer, apiClient);
195
- registerDeclineInvitationTool(toolServer, apiClient);
169
+ registerCreateInvitationTool(server, apiClient);
170
+ registerListInvitationsTool(server, apiClient);
171
+ registerAcceptInvitationTool(server, apiClient);
172
+ registerDeclineInvitationTool(server, apiClient);
196
173
  // Workspace member tools
197
- registerAddWorkspaceMemberTool(toolServer, apiClient);
198
- registerUpdateMemberRoleTool(toolServer, apiClient);
199
- registerRemoveWorkspaceMemberTool(toolServer, apiClient);
200
- // Bot management tools
201
- registerBotTools(toolServer, apiClient);
174
+ registerAddWorkspaceMemberTool(server, apiClient);
175
+ registerUpdateMemberRoleTool(server, apiClient);
176
+ registerRemoveWorkspaceMemberTool(server, apiClient);
202
177
  // User search tools
203
- registerUserSearchTool(toolServer, apiClient);
178
+ registerUserSearchTool(server, apiClient);
179
+ // Attachment tools
180
+ registerAttachmentTools(server, apiClient);
181
+ // WorkNode filter tool
182
+ registerWorknodeFilterTool(server, apiClient);
183
+ // Recurring tools
184
+ registerRecurringTools(server, apiClient);
185
+ // Workspace delta tool
186
+ registerWorkspaceDeltaTool(server, apiClient);
204
187
  if (config.debug) {
205
188
  console.error('[MCP] Resources registered:');
206
189
  console.error(' - user://me (user + workspaces + members)');
@@ -258,6 +241,9 @@ export async function bootstrap() {
258
241
  console.error(' - brxce_batch_actions');
259
242
  console.error(' - brxce_my_work');
260
243
  console.error(' - brxce_permanent_delete_worknode');
244
+ console.error(' - brxce_list_attachments');
245
+ console.error(' - brxce_upload_attachment');
246
+ console.error(' - brxce_download_attachment');
261
247
  }
262
248
  const transport = new StdioServerTransport();
263
249
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,GAAG,MAAM,cAAc,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AAC7E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAA;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAA;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAA;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,2BAA2B,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAA;AAChN,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAA;AACnK,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAA;AAClJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,iDAAiD;IACjD,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IAC7C,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IACxD,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC1E,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAEhC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAChD,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE;QACpC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC7C,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC,CAAA;IAEF,2CAA2C;IAC3C,IAAI,aAAiC,CAAA;IAErC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAmC,CAAA;YAC9E,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;YACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,aAAa,GAAG,WAAW,CAAA;gBAC3B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CAAC,6BAA6B,aAAa,EAAE,CAAC,CAAA;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,UAAU;QAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;QAChB,YAAY,EAAE;YACZ,SAAS,EAAE;gBACT,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;aAClB;YACD,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAA;IAEF,qBAAqB;IACrB,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvC,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEnD,iBAAiB;IACjB,kBAAkB;IAClB,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnD,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAClD,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnD,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE1C,iBAAiB;IACjB,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnD,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,mCAAmC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACtD,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC1C,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAErC,YAAY;IACZ,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnD,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACzC,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEzC,gBAAgB;IAChB,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC3C,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5C,6BAA6B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAChD,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC7C,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAElD,gBAAgB;IAChB,oBAAoB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEvC,iBAAiB;IACjB,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAExC,qBAAqB;IACrB,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,gCAAgC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACnD,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,oCAAoC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACvD,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEjD,mBAAmB;IACnB,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC9C,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,6BAA6B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEhD,yBAAyB;IACzB,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACjD,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC/C,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEpD,oBAAoB;IACpB,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEzC,mBAAmB;IACnB,uBAAuB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE1C,uBAAuB;IACvB,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE7C,kBAAkB;IAClB,sBAAsB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAEzC,uBAAuB;IACvB,0BAA0B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAE7C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC5D,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAA;QACtD,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACrC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACnD,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QACzC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;QACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC/C,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACjD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAClD,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAClD,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC1C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAC7C,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QACxC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAClC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACpD,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAC5C,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE/B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAc;IAC9C,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAA;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ApiClient } from '../services/api-client.js';
3
+ export declare function registerAttachmentTools(server: McpServer, apiClient: ApiClient): void;
4
+ //# sourceMappingURL=attachment-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-tool.d.ts","sourceRoot":"","sources":["../../src/tools/attachment-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqP3D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAmJ9E"}
@@ -0,0 +1,253 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { z } from 'zod';
3
+ import { workspaceContext } from '../services/workspace-context.js';
4
+ import { getErrorMessage } from '../utils/error-utils.js';
5
+ function textResponse(text, isError = false) {
6
+ return {
7
+ content: [{ type: 'text', text }],
8
+ ...(isError ? { isError: true } : {}),
9
+ };
10
+ }
11
+ async function resolveWorknode(apiClient, nodeId, providedWorkspaceId) {
12
+ const resolvedWorkspaceId = workspaceContext.resolveWorkspaceId(providedWorkspaceId, nodeId);
13
+ const response = await apiClient.post('/mcp/worknodes/read', {
14
+ query: nodeId,
15
+ workspaceId: resolvedWorkspaceId ?? undefined,
16
+ limit: 1,
17
+ });
18
+ const node = response.data?.nodes?.[0];
19
+ if (!response.success || !node) {
20
+ throw new Error(response.message || `WorkNode not found: ${nodeId}`);
21
+ }
22
+ return {
23
+ id: node.id,
24
+ title: node.title,
25
+ displayId: node.displayId,
26
+ };
27
+ }
28
+ async function fetchAttachments(apiClient, worknodeId) {
29
+ const response = await apiClient.get(`/worknodes/${encodeURIComponent(worknodeId)}/attachments/urls`);
30
+ if (!response.success) {
31
+ throw new Error(response.message || 'Failed to load attachments');
32
+ }
33
+ return response.data?.attachments ?? [];
34
+ }
35
+ function decodeBase64Payload(base64Data) {
36
+ const normalized = base64Data.replace(/^data:[^;]+;base64,/, '');
37
+ return Buffer.from(normalized, 'base64');
38
+ }
39
+ function deriveFilenameFromUrl(sourceUrl) {
40
+ const pathname = new URL(sourceUrl).pathname;
41
+ const filename = pathname.split('/').filter(Boolean).pop();
42
+ return filename ? decodeURIComponent(filename) : null;
43
+ }
44
+ async function loadUploadSource(args) {
45
+ const { filename, contentType, base64Data, sourceUrl } = args;
46
+ if (!base64Data && !sourceUrl) {
47
+ throw new Error('base64Data or sourceUrl is required');
48
+ }
49
+ if (base64Data && sourceUrl) {
50
+ throw new Error('Provide either base64Data or sourceUrl, not both');
51
+ }
52
+ if (base64Data) {
53
+ if (!filename) {
54
+ throw new Error('filename is required when using base64Data');
55
+ }
56
+ if (!contentType) {
57
+ throw new Error('contentType is required when using base64Data');
58
+ }
59
+ return {
60
+ buffer: decodeBase64Payload(base64Data),
61
+ filename,
62
+ contentType,
63
+ };
64
+ }
65
+ const response = await fetch(sourceUrl);
66
+ if (!response.ok) {
67
+ throw new Error(`Failed to download source URL: HTTP ${response.status}`);
68
+ }
69
+ const resolvedContentType = contentType || response.headers.get('content-type') || undefined;
70
+ if (!resolvedContentType) {
71
+ throw new Error('contentType is required when source URL does not provide one');
72
+ }
73
+ const resolvedFilename = filename || deriveFilenameFromUrl(sourceUrl);
74
+ if (!resolvedFilename) {
75
+ throw new Error('filename is required when it cannot be derived from sourceUrl');
76
+ }
77
+ const arrayBuffer = await response.arrayBuffer();
78
+ return {
79
+ buffer: Buffer.from(arrayBuffer),
80
+ filename: resolvedFilename,
81
+ contentType: resolvedContentType,
82
+ };
83
+ }
84
+ async function uploadAttachmentBytes(uploadUrl, contentType, buffer) {
85
+ const arrayBuffer = buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
86
+ const response = await fetch(uploadUrl, {
87
+ method: 'PUT',
88
+ headers: { 'Content-Type': contentType },
89
+ body: new Blob([arrayBuffer], { type: contentType }),
90
+ });
91
+ if (!response.ok) {
92
+ const errorText = typeof response.text === 'function' ? await response.text() : '';
93
+ throw new Error(`Failed to upload attachment bytes: HTTP ${response.status}${errorText ? ` ${errorText}` : ''}`);
94
+ }
95
+ }
96
+ function formatAttachmentList(node, attachments) {
97
+ let result = '## Attachments\n\n';
98
+ result += `- WorkNode: ${node.title || node.id}\n`;
99
+ result += `- Node ID: ${node.id}\n`;
100
+ if (node.displayId != null) {
101
+ result += `- Display ID: #${String(node.displayId).replace(/^#/, '')}\n`;
102
+ }
103
+ result += `- Count: ${attachments.length}\n\n`;
104
+ if (attachments.length === 0) {
105
+ result += 'No attachments found.';
106
+ return result;
107
+ }
108
+ attachments.forEach((attachment, index) => {
109
+ result += `${index + 1}. ${attachment.name}\n`;
110
+ result += ` - attachmentId: ${attachment.id}\n`;
111
+ result += ` - type: ${attachment.type}\n`;
112
+ result += ` - size: ${attachment.size}\n`;
113
+ result += ` - path: ${attachment.path}\n`;
114
+ result += ` - url: ${attachment.url}\n`;
115
+ });
116
+ return result;
117
+ }
118
+ function formatAttachmentDownload(node, attachment) {
119
+ let result = '## Attachment Download\n\n';
120
+ result += `- WorkNode: ${node.title || node.id}\n`;
121
+ result += `- Node ID: ${node.id}\n`;
122
+ if (node.displayId != null) {
123
+ result += `- Display ID: #${String(node.displayId).replace(/^#/, '')}\n`;
124
+ }
125
+ result += `- attachmentId: ${attachment.id}\n`;
126
+ result += `- name: ${attachment.name}\n`;
127
+ result += `- type: ${attachment.type}\n`;
128
+ result += `- size: ${attachment.size}\n`;
129
+ result += `- path: ${attachment.path}\n`;
130
+ result += `- url: ${attachment.url}\n`;
131
+ return result;
132
+ }
133
+ function formatAttachmentUpload(node, attachment) {
134
+ let result = '## Attachment Uploaded\n\n';
135
+ result += `- WorkNode: ${node.title || node.id}\n`;
136
+ result += `- Node ID: ${node.id}\n`;
137
+ if (node.displayId != null) {
138
+ result += `- Display ID: #${String(node.displayId).replace(/^#/, '')}\n`;
139
+ }
140
+ result += `- attachmentId: ${attachment.id}\n`;
141
+ result += `- name: ${attachment.name}\n`;
142
+ result += `- type: ${attachment.type}\n`;
143
+ result += `- size: ${attachment.size}\n`;
144
+ result += `- path: ${attachment.path}\n`;
145
+ result += `- url: ${attachment.url}\n`;
146
+ return result;
147
+ }
148
+ export function registerAttachmentTools(server, apiClient) {
149
+ server.registerTool('brxce_list_attachments', {
150
+ description: `List attachments for a WorkNode and return fresh signed URLs.
151
+
152
+ Params: nodeId (required), workspaceId (required when using displayId)
153
+ Returns: attachment metadata with direct download URLs.`,
154
+ inputSchema: {
155
+ nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
156
+ workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
157
+ },
158
+ }, async (args) => {
159
+ const { nodeId, workspaceId } = args;
160
+ try {
161
+ const node = await resolveWorknode(apiClient, nodeId, workspaceId);
162
+ const attachments = await fetchAttachments(apiClient, node.id);
163
+ return textResponse(formatAttachmentList(node, attachments));
164
+ }
165
+ catch (error) {
166
+ return textResponse(`Error listing attachments: ${getErrorMessage(error)}`, true);
167
+ }
168
+ });
169
+ server.registerTool('brxce_download_attachment', {
170
+ description: `Return a direct download URL for an attachment on a WorkNode.
171
+
172
+ Params: nodeId (required), attachmentId or path (required), workspaceId (required when using displayId)
173
+ Returns: attachment metadata with a fresh direct URL.`,
174
+ inputSchema: {
175
+ nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
176
+ workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
177
+ attachmentId: z.string().optional().describe('Attachment ID to download'),
178
+ path: z.string().optional().describe('Attachment storage path to download'),
179
+ },
180
+ }, async (args) => {
181
+ const { nodeId, workspaceId, attachmentId, path } = args;
182
+ try {
183
+ if (!attachmentId && !path) {
184
+ throw new Error('attachmentId or path is required');
185
+ }
186
+ const node = await resolveWorknode(apiClient, nodeId, workspaceId);
187
+ const attachments = await fetchAttachments(apiClient, node.id);
188
+ const attachment = attachments.find((item) => {
189
+ if (attachmentId) {
190
+ return item.id === attachmentId;
191
+ }
192
+ return item.path === path;
193
+ });
194
+ if (!attachment) {
195
+ throw new Error('Attachment not found');
196
+ }
197
+ return textResponse(formatAttachmentDownload(node, attachment));
198
+ }
199
+ catch (error) {
200
+ return textResponse(`Error downloading attachment: ${getErrorMessage(error)}`, true);
201
+ }
202
+ });
203
+ server.registerTool('brxce_upload_attachment', {
204
+ description: `Upload an attachment to a WorkNode using base64 content or a source URL.
205
+
206
+ Params: nodeId (required), workspaceId (required when using displayId), filename/contentType (required for base64), and either base64Data or sourceUrl.
207
+ Returns: saved attachment metadata with a fresh direct URL.`,
208
+ inputSchema: {
209
+ nodeId: z.string().describe('WorkNode ID (UUID or displayId like #123 or 123)'),
210
+ workspaceId: z.string().uuid().optional().describe('Workspace ID (required when using displayId format)'),
211
+ filename: z.string().optional().describe('Original filename. Required for base64 uploads, optional for sourceUrl uploads'),
212
+ contentType: z.string().optional().describe('MIME type. Required for base64 uploads, optional for sourceUrl uploads when response headers include it'),
213
+ base64Data: z.string().optional().describe('Base64 encoded file data'),
214
+ sourceUrl: z.string().url().optional().describe('Source URL to fetch and upload'),
215
+ },
216
+ }, async (args) => {
217
+ const { nodeId, workspaceId, filename, contentType, base64Data, sourceUrl } = args;
218
+ try {
219
+ if (!base64Data && !sourceUrl) {
220
+ throw new Error('base64Data or sourceUrl is required');
221
+ }
222
+ if (base64Data && sourceUrl) {
223
+ throw new Error('Provide either base64Data or sourceUrl, not both');
224
+ }
225
+ const node = await resolveWorknode(apiClient, nodeId, workspaceId);
226
+ const source = await loadUploadSource({ filename, contentType, base64Data, sourceUrl });
227
+ const uploadUrlResponse = await apiClient.post(`/worknodes/${encodeURIComponent(node.id)}/attachments/upload-url`, {
228
+ filename: source.filename,
229
+ contentType: source.contentType,
230
+ size: source.buffer.length,
231
+ });
232
+ if (!uploadUrlResponse.success || !uploadUrlResponse.data) {
233
+ throw new Error(uploadUrlResponse.message || 'Failed to create upload URL');
234
+ }
235
+ await uploadAttachmentBytes(uploadUrlResponse.data.uploadUrl, source.contentType, source.buffer);
236
+ const confirmResponse = await apiClient.post(`/worknodes/${encodeURIComponent(node.id)}/attachments/confirm`, {
237
+ path: uploadUrlResponse.data.path,
238
+ filename: source.filename,
239
+ contentType: source.contentType,
240
+ size: source.buffer.length,
241
+ });
242
+ const attachment = confirmResponse.data?.attachment;
243
+ if (!confirmResponse.success || !attachment) {
244
+ throw new Error(confirmResponse.message || 'Failed to confirm uploaded attachment');
245
+ }
246
+ return textResponse(formatAttachmentUpload(node, attachment));
247
+ }
248
+ catch (error) {
249
+ return textResponse(`Error uploading attachment: ${getErrorMessage(error)}`, true);
250
+ }
251
+ });
252
+ }
253
+ //# sourceMappingURL=attachment-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-tool.js","sourceRoot":"","sources":["../../src/tools/attachment-tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqD1D,SAAS,YAAY,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IACjD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAoB,EACpB,MAAc,EACd,mBAA4B;IAE5B,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAuB,qBAAqB,EAAE;QACjF,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,mBAAmB,IAAI,SAAS;QAC7C,KAAK,EAAE,CAAC;KACT,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,uBAAuB,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,SAAoB,EAAE,UAAkB;IACtE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAAyB,cAAc,kBAAkB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC9H,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,4BAA4B,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAkB;IAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,IAK/B;IACC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE9D,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO;YACL,MAAM,EAAE,mBAAmB,CAAC,UAAU,CAAC;YACvC,QAAQ;YACR,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAmB,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,mBAAmB,GAAG,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC;IAC7F,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,IAAI,qBAAqB,CAAC,SAAmB,CAAC,CAAC;IAChF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAChC,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,mBAAmB;KACjC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,WAAmB,EAAE,MAAc;IACzF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CACrC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CACvB,CAAC;IAEjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE;QACxC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAiE,EACjE,WAA+B;IAE/B,IAAI,MAAM,GAAG,oBAAoB,CAAC;IAClC,MAAM,IAAI,eAAe,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC;IACnD,MAAM,IAAI,cAAc,IAAI,CAAC,EAAE,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD,MAAM,IAAI,YAAY,WAAW,CAAC,MAAM,MAAM,CAAC;IAE/C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,uBAAuB,CAAC;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC;QAC/C,MAAM,IAAI,sBAAsB,UAAU,CAAC,EAAE,IAAI,CAAC;QAClD,MAAM,IAAI,cAAc,UAAU,CAAC,IAAI,IAAI,CAAC;QAC5C,MAAM,IAAI,cAAc,UAAU,CAAC,IAAI,IAAI,CAAC;QAC5C,MAAM,IAAI,cAAc,UAAU,CAAC,IAAI,IAAI,CAAC;QAC5C,MAAM,IAAI,aAAa,UAAU,CAAC,GAAG,IAAI,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAiE,EACjE,UAA4B;IAE5B,IAAI,MAAM,GAAG,4BAA4B,CAAC;IAC1C,MAAM,IAAI,eAAe,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC;IACnD,MAAM,IAAI,cAAc,IAAI,CAAC,EAAE,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD,MAAM,IAAI,mBAAmB,UAAU,CAAC,EAAE,IAAI,CAAC;IAC/C,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,UAAU,UAAU,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAiE,EACjE,UAA4B;IAE5B,IAAI,MAAM,GAAG,4BAA4B,CAAC;IAC1C,MAAM,IAAI,eAAe,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC;IACnD,MAAM,IAAI,cAAc,IAAI,CAAC,EAAE,IAAI,CAAC;IACpC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC;IACD,MAAM,IAAI,mBAAmB,UAAU,CAAC,EAAE,IAAI,CAAC;IAC/C,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,WAAW,UAAU,CAAC,IAAI,IAAI,CAAC;IACzC,MAAM,IAAI,UAAU,UAAU,CAAC,GAAG,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,SAAoB;IAC7E,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE;;;wDAGqC;QAClD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;SACnG;KACT,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAgD,CAAC;QAEjF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAE/D,OAAO,YAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC,8BAA8B,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACpF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,2BAA2B,EAC3B;QACE,WAAW,EAAE;;;sDAGmC;QAChD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACzG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SACrE;KACT,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAKnD,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC3C,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC;gBAClC,CAAC;gBACD,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,YAAY,CAAC,wBAAwB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC,iCAAiC,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,yBAAyB,EACzB;QACE,WAAW,EAAE;;;4DAGyC;QACtD,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YACzG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gFAAgF,CAAC;YAC1H,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yGAAyG,CAAC;YACtJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACtE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;SAC3E;KACT,EACD,KAAK,EAAE,IAAyB,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAO7E,CAAC;QAEF,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAExF,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,IAAI,CAC5C,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAClE;gBACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;aAC3B,CACF,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjG,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,IAAI,CAC1C,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,EAC/D;gBACE,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;aAC3B,CACF,CAAC;YAEF,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC;YACpD,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,OAAO,IAAI,uCAAuC,CAAC,CAAC;YACtF,CAAC;YAED,OAAO,YAAY,CAAC,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC,+BAA+B,eAAe,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACrF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ApiClient } from '../services/api-client.js';
3
+ export declare function registerDailyReportTool(server: McpServer, apiClient: ApiClient): void;
4
+ //# sourceMappingURL=daily-report-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daily-report-tool.d.ts","sourceRoot":"","sources":["../../src/tools/daily-report-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AA+B1D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,QAiE9E"}