@edicarlos.lds/businessmap-mcp 2.3.0 → 3.1.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.
Files changed (144) hide show
  1. package/CONTRIBUTING.md +73 -0
  2. package/README.md +24 -4
  3. package/SECURITY.md +36 -0
  4. package/dist/client/businessmap-client.d.ts +17 -100
  5. package/dist/client/businessmap-client.d.ts.map +1 -1
  6. package/dist/client/businessmap-client.js +63 -283
  7. package/dist/client/businessmap-client.js.map +1 -1
  8. package/dist/client/businessmap-error.d.ts +16 -0
  9. package/dist/client/businessmap-error.d.ts.map +1 -0
  10. package/dist/client/businessmap-error.js +43 -0
  11. package/dist/client/businessmap-error.js.map +1 -0
  12. package/dist/client/modules/board-client.d.ts.map +1 -1
  13. package/dist/client/modules/board-client.js +16 -2
  14. package/dist/client/modules/board-client.js.map +1 -1
  15. package/dist/client/modules/card-client.d.ts +19 -5
  16. package/dist/client/modules/card-client.d.ts.map +1 -1
  17. package/dist/client/modules/card-client.js +61 -13
  18. package/dist/client/modules/card-client.js.map +1 -1
  19. package/dist/client/modules/custom-field-client.js +1 -1
  20. package/dist/client/modules/custom-field-client.js.map +1 -1
  21. package/dist/client/modules/doc-client.d.ts +44 -0
  22. package/dist/client/modules/doc-client.d.ts.map +1 -0
  23. package/dist/client/modules/doc-client.js +73 -0
  24. package/dist/client/modules/doc-client.js.map +1 -0
  25. package/dist/client/modules/index.d.ts +1 -0
  26. package/dist/client/modules/index.d.ts.map +1 -1
  27. package/dist/client/modules/index.js +1 -0
  28. package/dist/client/modules/index.js.map +1 -1
  29. package/dist/config/environment.d.ts +3 -0
  30. package/dist/config/environment.d.ts.map +1 -1
  31. package/dist/config/environment.js +60 -1
  32. package/dist/config/environment.js.map +1 -1
  33. package/dist/index.d.ts +1 -1
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +19 -9
  36. package/dist/index.js.map +1 -1
  37. package/dist/schemas/card-schemas.d.ts +111 -85
  38. package/dist/schemas/card-schemas.d.ts.map +1 -1
  39. package/dist/schemas/card-schemas.js +39 -162
  40. package/dist/schemas/card-schemas.js.map +1 -1
  41. package/dist/schemas/common-schemas.d.ts +10 -4
  42. package/dist/schemas/common-schemas.d.ts.map +1 -1
  43. package/dist/schemas/common-schemas.js +25 -0
  44. package/dist/schemas/common-schemas.js.map +1 -1
  45. package/dist/schemas/doc-schemas.d.ts +176 -0
  46. package/dist/schemas/doc-schemas.d.ts.map +1 -0
  47. package/dist/schemas/doc-schemas.js +141 -0
  48. package/dist/schemas/doc-schemas.js.map +1 -0
  49. package/dist/schemas/index.d.ts +1 -0
  50. package/dist/schemas/index.d.ts.map +1 -1
  51. package/dist/schemas/index.js +1 -0
  52. package/dist/schemas/index.js.map +1 -1
  53. package/dist/schemas/setup-schemas.d.ts +418 -0
  54. package/dist/schemas/setup-schemas.d.ts.map +1 -1
  55. package/dist/schemas/setup-schemas.js +30 -7
  56. package/dist/schemas/setup-schemas.js.map +1 -1
  57. package/dist/schemas/workspace-schemas.d.ts +3 -0
  58. package/dist/schemas/workspace-schemas.d.ts.map +1 -1
  59. package/dist/schemas/workspace-schemas.js +6 -0
  60. package/dist/schemas/workspace-schemas.js.map +1 -1
  61. package/dist/server/http.d.ts +7 -1
  62. package/dist/server/http.d.ts.map +1 -1
  63. package/dist/server/http.js +140 -31
  64. package/dist/server/http.js.map +1 -1
  65. package/dist/server/mcp-server.d.ts.map +1 -1
  66. package/dist/server/mcp-server.js +2 -1
  67. package/dist/server/mcp-server.js.map +1 -1
  68. package/dist/server/resources/board-resources.js +2 -2
  69. package/dist/server/resources/board-resources.js.map +1 -1
  70. package/dist/server/resources/card-resources.d.ts.map +1 -1
  71. package/dist/server/resources/card-resources.js +26 -2
  72. package/dist/server/resources/card-resources.js.map +1 -1
  73. package/dist/server/resources/workspace-resources.js +1 -1
  74. package/dist/server/resources/workspace-resources.js.map +1 -1
  75. package/dist/server/tools/base-tool.d.ts +39 -0
  76. package/dist/server/tools/base-tool.d.ts.map +1 -1
  77. package/dist/server/tools/base-tool.js +130 -0
  78. package/dist/server/tools/base-tool.js.map +1 -1
  79. package/dist/server/tools/board-tools.d.ts +0 -13
  80. package/dist/server/tools/board-tools.d.ts.map +1 -1
  81. package/dist/server/tools/board-tools.js +168 -257
  82. package/dist/server/tools/board-tools.js.map +1 -1
  83. package/dist/server/tools/card-tools.d.ts +6 -42
  84. package/dist/server/tools/card-tools.d.ts.map +1 -1
  85. package/dist/server/tools/card-tools.js +506 -702
  86. package/dist/server/tools/card-tools.js.map +1 -1
  87. package/dist/server/tools/custom-field-tools.d.ts +1 -2
  88. package/dist/server/tools/custom-field-tools.d.ts.map +1 -1
  89. package/dist/server/tools/custom-field-tools.js +8 -16
  90. package/dist/server/tools/custom-field-tools.js.map +1 -1
  91. package/dist/server/tools/doc-tools.d.ts +15 -0
  92. package/dist/server/tools/doc-tools.d.ts.map +1 -0
  93. package/dist/server/tools/doc-tools.js +307 -0
  94. package/dist/server/tools/doc-tools.js.map +1 -0
  95. package/dist/server/tools/index.d.ts +1 -0
  96. package/dist/server/tools/index.d.ts.map +1 -1
  97. package/dist/server/tools/index.js +1 -0
  98. package/dist/server/tools/index.js.map +1 -1
  99. package/dist/server/tools/setup-tools.d.ts +13 -2
  100. package/dist/server/tools/setup-tools.d.ts.map +1 -1
  101. package/dist/server/tools/setup-tools.js +145 -96
  102. package/dist/server/tools/setup-tools.js.map +1 -1
  103. package/dist/server/tools/user-tools.d.ts +0 -4
  104. package/dist/server/tools/user-tools.d.ts.map +1 -1
  105. package/dist/server/tools/user-tools.js +36 -65
  106. package/dist/server/tools/user-tools.js.map +1 -1
  107. package/dist/server/tools/utility-tools.d.ts +0 -2
  108. package/dist/server/tools/utility-tools.d.ts.map +1 -1
  109. package/dist/server/tools/utility-tools.js +15 -28
  110. package/dist/server/tools/utility-tools.js.map +1 -1
  111. package/dist/server/tools/workflow-tools.d.ts +0 -8
  112. package/dist/server/tools/workflow-tools.d.ts.map +1 -1
  113. package/dist/server/tools/workflow-tools.js +84 -139
  114. package/dist/server/tools/workflow-tools.js.map +1 -1
  115. package/dist/server/tools/workspace-tools.d.ts +0 -4
  116. package/dist/server/tools/workspace-tools.d.ts.map +1 -1
  117. package/dist/server/tools/workspace-tools.js +35 -65
  118. package/dist/server/tools/workspace-tools.js.map +1 -1
  119. package/dist/types/base.d.ts +1 -0
  120. package/dist/types/base.d.ts.map +1 -1
  121. package/dist/types/card.d.ts +21 -5
  122. package/dist/types/card.d.ts.map +1 -1
  123. package/dist/types/doc.d.ts +96 -0
  124. package/dist/types/doc.d.ts.map +1 -0
  125. package/dist/types/doc.js +3 -0
  126. package/dist/types/doc.js.map +1 -0
  127. package/dist/types/index.d.ts +1 -0
  128. package/dist/types/index.d.ts.map +1 -1
  129. package/dist/types/index.js +1 -0
  130. package/dist/types/index.js.map +1 -1
  131. package/dist/types/workspace.d.ts +1 -0
  132. package/dist/types/workspace.d.ts.map +1 -1
  133. package/dist/utils/logger.d.ts +7 -12
  134. package/dist/utils/logger.d.ts.map +1 -1
  135. package/dist/utils/logger.js +73 -10
  136. package/dist/utils/logger.js.map +1 -1
  137. package/dist/utils/request-context.d.ts +7 -0
  138. package/dist/utils/request-context.d.ts.map +1 -0
  139. package/dist/utils/request-context.js +9 -0
  140. package/dist/utils/request-context.js.map +1 -0
  141. package/docs/LOGGING.md +15 -0
  142. package/docs/MIDDLEWARE.md +26 -4
  143. package/docs/TOOLS.md +43 -8
  144. package/package.json +4 -1
@@ -1,68 +1,96 @@
1
- import { configureBoardStructureSchema, createBoardsInWorkspaceSchema, } from '../../schemas/index.js';
1
+ import { configureBoardStructureSchema, createBoardsInWorkspaceSchema, createWorkspacesAndBoardsSchema, } from '../../schemas/index.js';
2
2
  import { logger } from '../../utils/logger.js';
3
- import { createErrorResponse, createSuccessResponse } from './base-tool.js';
3
+ import { WRITE, registerTool } from './base-tool.js';
4
4
  export class SetupToolHandler {
5
5
  registerTools(server, client, readOnlyMode) {
6
- if (!readOnlyMode) {
7
- this.registerCreateBoardsInWorkspace(server, client);
8
- this.registerConfigureBoardStructure(server, client);
6
+ if (readOnlyMode) {
7
+ return;
9
8
  }
10
- }
11
- registerCreateBoardsInWorkspace(server, client) {
12
- server.registerTool('create_boards_in_workspace', {
13
- title: 'Create Boards in Workspace',
14
- description: 'Create one or more boards (max 3) with their full structure (workflows, renamed default columns, extra columns and lanes) in an existing workspace, in a single batch call',
15
- inputSchema: createBoardsInWorkspaceSchema.shape,
16
- annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
17
- }, async ({ workspace_id, boards }) => {
18
- try {
9
+ registerTool(server, {
10
+ name: 'create_workspaces_and_boards',
11
+ title: 'Create Workspaces and Boards',
12
+ description: 'Create one or more workspaces (max 3) together with their boards and full board structure (workflows, renamed default columns, extra columns and lanes) in a single batch call',
13
+ schema: createWorkspacesAndBoardsSchema,
14
+ annotations: WRITE,
15
+ errorContext: 'creating workspaces and boards',
16
+ handler: async ({ workspaces }) => {
19
17
  const reports = [];
20
- for (const boardConfig of boards) {
21
- const report = { name: boardConfig.name, workflows: [] };
22
- try {
23
- const board = await client.createBoard({
24
- name: boardConfig.name,
25
- workspace_id,
26
- ...(boardConfig.description && { description: boardConfig.description }),
27
- });
28
- if (board.board_id === undefined) {
29
- throw new Error('Board was created but the API did not return a board_id');
30
- }
31
- report.board_id = board.board_id;
32
- for (const workflowConfig of boardConfig.workflows ?? []) {
33
- report.workflows.push(await this.applyWorkflowConfig(client, board.board_id, workflowConfig));
34
- }
35
- }
36
- catch (error) {
37
- report.error = error instanceof Error ? error.message : 'Unknown error';
38
- }
39
- reports.push(report);
18
+ for (const workspaceConfig of workspaces) {
19
+ reports.push(await this.createWorkspaceWithBoards(client, workspaceConfig));
40
20
  }
41
- return createSuccessResponse({ workspace_id, boards: reports });
42
- }
43
- catch (error) {
44
- return createErrorResponse(error, 'creating boards in workspace');
45
- }
21
+ return { workspaces: reports };
22
+ },
46
23
  });
47
- }
48
- registerConfigureBoardStructure(server, client) {
49
- server.registerTool('configure_board_structure', {
24
+ registerTool(server, {
25
+ name: 'create_boards_in_workspace',
26
+ title: 'Create Boards in Workspace',
27
+ description: 'Create one or more boards (max 3) with their full structure (workflows, renamed default columns, extra columns and lanes) in an existing workspace, in a single batch call',
28
+ schema: createBoardsInWorkspaceSchema,
29
+ annotations: WRITE,
30
+ errorContext: 'creating boards in workspace',
31
+ handler: async ({ workspace_id, boards }) => {
32
+ const reports = await this.createBoardsWithStructure(client, workspace_id, boards);
33
+ return { workspace_id, boards: reports };
34
+ },
35
+ });
36
+ registerTool(server, {
37
+ name: 'configure_board_structure',
50
38
  title: 'Configure Board Structure',
51
39
  description: 'Configure the structure of an existing board in a single batch call: create or rename workflows, rename the built-in Requested/In Progress/Done columns, and add extra columns and lanes',
52
- inputSchema: configureBoardStructureSchema.shape,
53
- annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false },
54
- }, async ({ board_id, workflows }) => {
55
- try {
40
+ schema: configureBoardStructureSchema,
41
+ annotations: WRITE,
42
+ errorContext: 'configuring board structure',
43
+ handler: async ({ board_id, workflows }) => {
56
44
  const reports = [];
57
45
  for (const workflowConfig of workflows) {
58
46
  reports.push(await this.applyWorkflowConfig(client, board_id, workflowConfig));
59
47
  }
60
- return createSuccessResponse({ board_id, workflows: reports });
48
+ return { board_id, workflows: reports };
49
+ },
50
+ });
51
+ }
52
+ async createWorkspaceWithBoards(client, workspaceConfig) {
53
+ const report = { name: workspaceConfig.name, boards: [] };
54
+ try {
55
+ const workspace = await client.workspaces.createWorkspace({
56
+ name: workspaceConfig.name,
57
+ ...(workspaceConfig.type !== undefined && { type: workspaceConfig.type }),
58
+ });
59
+ if (workspace.workspace_id === undefined) {
60
+ throw new Error('Workspace was created but the API did not return a workspace_id');
61
+ }
62
+ report.workspace_id = workspace.workspace_id;
63
+ report.boards = await this.createBoardsWithStructure(client, workspace.workspace_id, workspaceConfig.boards ?? []);
64
+ }
65
+ catch (error) {
66
+ report.error = errorMessage(error);
67
+ }
68
+ return report;
69
+ }
70
+ async createBoardsWithStructure(client, workspaceId, boards) {
71
+ const reports = [];
72
+ for (const boardConfig of boards) {
73
+ const report = { name: boardConfig.name, workflows: [] };
74
+ try {
75
+ const board = await client.boards.createBoard({
76
+ name: boardConfig.name,
77
+ workspace_id: workspaceId,
78
+ ...(boardConfig.description && { description: boardConfig.description }),
79
+ });
80
+ if (board.board_id === undefined) {
81
+ throw new Error('Board was created but the API did not return a board_id');
82
+ }
83
+ report.board_id = board.board_id;
84
+ for (const workflowConfig of boardConfig.workflows ?? []) {
85
+ report.workflows.push(await this.applyWorkflowConfig(client, board.board_id, workflowConfig));
86
+ }
61
87
  }
62
88
  catch (error) {
63
- return createErrorResponse(error, 'configuring board structure');
89
+ report.error = errorMessage(error);
64
90
  }
65
- });
91
+ reports.push(report);
92
+ }
93
+ return reports;
66
94
  }
67
95
  async applyWorkflowConfig(client, boardId, config) {
68
96
  const report = {
@@ -72,14 +100,28 @@ export class SetupToolHandler {
72
100
  created_lanes: [],
73
101
  errors: [],
74
102
  };
103
+ const workflowId = await this.resolveWorkflow(client, boardId, config, report);
104
+ if (workflowId === undefined) {
105
+ return report;
106
+ }
107
+ const columnIdsByName = await this.renameDefaultColumns(client, boardId, workflowId, config, report);
108
+ await this.createColumns(client, boardId, workflowId, config, columnIdsByName, report);
109
+ await this.createLanes(client, boardId, workflowId, config, report);
110
+ if (report.errors.length > 0) {
111
+ logger.warn(`Board ${boardId} structure setup finished with ${report.errors.length} error(s)`);
112
+ }
113
+ return report;
114
+ }
115
+ /** Resolve the target workflow: create a new one or rename an existing one */
116
+ async resolveWorkflow(client, boardId, config, report) {
75
117
  let workflowId = config.workflow_id;
76
118
  try {
77
119
  if (workflowId === undefined) {
78
120
  if (config.type === undefined) {
79
121
  report.errors.push('Provide workflow_id (existing) or type (to create a new workflow).');
80
- return report;
122
+ return undefined;
81
123
  }
82
- const workflow = await client.createWorkflow(boardId, {
124
+ const workflow = await client.workflows.createWorkflow(boardId, {
83
125
  type: config.type,
84
126
  ...(config.name && { name: config.name }),
85
127
  });
@@ -87,37 +129,49 @@ export class SetupToolHandler {
87
129
  report.created = true;
88
130
  }
89
131
  else if (config.name) {
90
- await client.updateWorkflow(boardId, workflowId, { name: config.name });
132
+ await client.workflows.updateWorkflow(boardId, workflowId, { name: config.name });
91
133
  }
92
134
  report.workflow_id = workflowId;
135
+ return workflowId;
93
136
  }
94
137
  catch (error) {
95
- report.errors.push(`workflow: ${error instanceof Error ? error.message : 'Unknown error'}`);
96
- return report;
138
+ report.errors.push(`workflow: ${errorMessage(error)}`);
139
+ return undefined;
97
140
  }
98
- // Map of column name -> column_id for parent resolution (existing + created)
141
+ }
142
+ /**
143
+ * Rename the built-in section columns and return a name -> column_id map of the
144
+ * workflow's existing columns (used for parent resolution when creating sub-columns)
145
+ */
146
+ async renameDefaultColumns(client, boardId, workflowId, config, report) {
99
147
  const columnIdsByName = new Map();
100
- if (config.default_columns?.length || config.columns?.some((c) => c.parent_column_name)) {
101
- try {
102
- const structure = await client.getCurrentBoardStructure(boardId);
103
- for (const [columnId, column] of Object.entries(structure.columns)) {
104
- if (column.workflow_id === workflowId) {
105
- columnIdsByName.set(column.name, Number(columnId));
106
- // Rename built-in columns by section (top-level columns only)
107
- const rename = config.default_columns?.find((dc) => dc.section === column.section && !column.parent_column_id);
108
- if (rename && !report.renamed_default_columns.includes(rename.name)) {
109
- await client.updateColumn(boardId, Number(columnId), { name: rename.name });
110
- columnIdsByName.delete(column.name);
111
- columnIdsByName.set(rename.name, Number(columnId));
112
- report.renamed_default_columns.push(rename.name);
113
- }
114
- }
148
+ if (!config.default_columns?.length && !config.columns?.some((c) => c.parent_column_name)) {
149
+ return columnIdsByName;
150
+ }
151
+ try {
152
+ const structure = await client.boards.getCurrentBoardStructure(boardId);
153
+ for (const [columnId, column] of Object.entries(structure.columns)) {
154
+ if (column.workflow_id !== workflowId) {
155
+ continue;
156
+ }
157
+ columnIdsByName.set(column.name, Number(columnId));
158
+ // Rename built-in columns by section (top-level columns only)
159
+ const rename = config.default_columns?.find((dc) => dc.section === column.section && !column.parent_column_id);
160
+ if (rename && !report.renamed_default_columns.includes(rename.name)) {
161
+ await client.boards.updateColumn(boardId, Number(columnId), { name: rename.name });
162
+ columnIdsByName.delete(column.name);
163
+ columnIdsByName.set(rename.name, Number(columnId));
164
+ report.renamed_default_columns.push(rename.name);
115
165
  }
116
- }
117
- catch (error) {
118
- report.errors.push(`default_columns: ${error instanceof Error ? error.message : 'Unknown error'}`);
119
166
  }
120
167
  }
168
+ catch (error) {
169
+ report.errors.push(`default_columns: ${errorMessage(error)}`);
170
+ }
171
+ return columnIdsByName;
172
+ }
173
+ /** Create the extra columns (main or sub-columns resolved by parent name) */
174
+ async createColumns(client, boardId, workflowId, config, columnIdsByName, report) {
121
175
  for (const column of config.columns ?? []) {
122
176
  try {
123
177
  const parentColumnId = column.parent_column_name
@@ -127,34 +181,30 @@ export class SetupToolHandler {
127
181
  report.errors.push(`column "${column.name}": parent column "${column.parent_column_name}" not found`);
128
182
  continue;
129
183
  }
130
- const created = await client.createColumn(boardId, parentColumnId !== undefined
131
- ? {
132
- parent_column_id: parentColumnId,
133
- position: column.position ?? 0,
134
- name: column.name,
135
- ...(column.limit !== undefined && { limit: column.limit }),
136
- ...(column.description && { description: column.description }),
137
- }
138
- : {
139
- workflow_id: workflowId,
140
- section: column.section ?? 3,
141
- position: column.position ?? 0,
142
- name: column.name,
143
- ...(column.limit !== undefined && { limit: column.limit }),
144
- ...(column.description && { description: column.description }),
145
- });
184
+ const sharedFields = {
185
+ position: column.position ?? 0,
186
+ name: column.name,
187
+ ...(column.limit !== undefined && { limit: column.limit }),
188
+ ...(column.description && { description: column.description }),
189
+ };
190
+ const created = await client.boards.createColumn(boardId, parentColumnId !== undefined
191
+ ? { parent_column_id: parentColumnId, ...sharedFields }
192
+ : { workflow_id: workflowId, section: column.section ?? 3, ...sharedFields });
146
193
  if (created.column_id !== undefined) {
147
194
  columnIdsByName.set(column.name, created.column_id);
148
195
  }
149
196
  report.created_columns.push(column.name);
150
197
  }
151
198
  catch (error) {
152
- report.errors.push(`column "${column.name}": ${error instanceof Error ? error.message : 'Unknown error'}`);
199
+ report.errors.push(`column "${column.name}": ${errorMessage(error)}`);
153
200
  }
154
201
  }
202
+ }
203
+ /** Create the extra lanes */
204
+ async createLanes(client, boardId, workflowId, config, report) {
155
205
  for (const lane of config.lanes ?? []) {
156
206
  try {
157
- await client.createLane(boardId, {
207
+ await client.boards.createLane(boardId, {
158
208
  workflow_id: workflowId,
159
209
  position: lane.position ?? 0,
160
210
  name: lane.name,
@@ -163,13 +213,12 @@ export class SetupToolHandler {
163
213
  report.created_lanes.push(lane.name);
164
214
  }
165
215
  catch (error) {
166
- report.errors.push(`lane "${lane.name}": ${error instanceof Error ? error.message : 'Unknown error'}`);
216
+ report.errors.push(`lane "${lane.name}": ${errorMessage(error)}`);
167
217
  }
168
218
  }
169
- if (report.errors.length > 0) {
170
- logger.warn(`Board ${boardId} structure setup finished with ${report.errors.length} error(s)`);
171
- }
172
- return report;
173
219
  }
174
220
  }
221
+ function errorMessage(error) {
222
+ return error instanceof Error ? error.message : 'Unknown error';
223
+ }
175
224
  //# sourceMappingURL=setup-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-tools.js","sourceRoot":"","sources":["../../../src/server/tools/setup-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-tools.js","sourceRoot":"","sources":["../../../src/server/tools/setup-tools.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,5 @@ import { BusinessMapClient } from '../../client/businessmap-client.js';
3
3
  import { BaseToolHandler } from './base-tool.js';
4
4
  export declare class UserToolHandler implements BaseToolHandler {
5
5
  registerTools(server: McpServer, client: BusinessMapClient, readOnlyMode: boolean): void;
6
- private registerListUsers;
7
- private registerGetUser;
8
- private registerGetCurrentUser;
9
- private registerInviteUser;
10
6
  }
11
7
  //# sourceMappingURL=user-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/user-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAOvE,OAAO,EAAE,eAAe,EAA8C,MAAM,gBAAgB,CAAC;AAE7F,qBAAa,eAAgB,YAAW,eAAe;IACrD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAUxF,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,kBAAkB;CAuB3B"}
1
+ {"version":3,"file":"user-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/user-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAOvE,OAAO,EAAE,eAAe,EAAkC,MAAM,gBAAgB,CAAC;AAEjF,qBAAa,eAAgB,YAAW,eAAe;IACrD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;CAmDzF"}
@@ -1,80 +1,51 @@
1
1
  import { getCurrentUserSchema, getUserSchema, inviteUserSchema, listUsersSchema, } from '../../schemas/user-schemas.js';
2
- import { createErrorResponse, createSuccessResponse } from './base-tool.js';
2
+ import { READ_ONLY, WRITE, registerTool } from './base-tool.js';
3
3
  export class UserToolHandler {
4
4
  registerTools(server, client, readOnlyMode) {
5
- this.registerListUsers(server, client);
6
- this.registerGetUser(server, client);
7
- this.registerGetCurrentUser(server, client);
8
- if (!readOnlyMode) {
9
- this.registerInviteUser(server, client);
10
- }
11
- }
12
- registerListUsers(server, client) {
13
- server.registerTool('list_users', {
5
+ registerTool(server, {
6
+ name: 'list_users',
14
7
  title: 'List Users',
15
8
  description: 'Get a list of all users',
16
- inputSchema: listUsersSchema.shape,
17
- annotations: { readOnlyHint: true, idempotentHint: true },
18
- }, async () => {
19
- try {
20
- const users = await client.getUsers();
21
- return createSuccessResponse(users);
22
- }
23
- catch (error) {
24
- return createErrorResponse(error, 'fetching users');
25
- }
9
+ schema: listUsersSchema,
10
+ annotations: READ_ONLY,
11
+ errorContext: 'fetching users',
12
+ handler: () => client.users.getUsers(),
26
13
  });
27
- }
28
- registerGetUser(server, client) {
29
- server.registerTool('get_user', {
14
+ registerTool(server, {
15
+ name: 'get_user',
30
16
  title: 'Get User',
31
17
  description: 'Get details of a specific user',
32
- inputSchema: getUserSchema.shape,
33
- annotations: { readOnlyHint: true, idempotentHint: true },
34
- }, async ({ user_id }) => {
35
- try {
36
- const user = await client.getUser(user_id);
37
- return createSuccessResponse(user);
38
- }
39
- catch (error) {
40
- return createErrorResponse(error, 'fetching user');
41
- }
18
+ schema: getUserSchema,
19
+ annotations: READ_ONLY,
20
+ errorContext: 'fetching user',
21
+ handler: ({ user_id }) => client.users.getUser(user_id),
42
22
  });
43
- }
44
- registerGetCurrentUser(server, client) {
45
- server.registerTool('get_current_user', {
23
+ registerTool(server, {
24
+ name: 'get_current_user',
46
25
  title: 'Get Current User',
47
26
  description: 'Get details of the current logged user',
48
- inputSchema: getCurrentUserSchema.shape,
49
- annotations: { readOnlyHint: true, idempotentHint: true },
50
- }, async () => {
51
- try {
52
- const currentUser = await client.getCurrentUser();
53
- return createSuccessResponse(currentUser);
54
- }
55
- catch (error) {
56
- return createErrorResponse(error, 'fetching current user');
57
- }
58
- });
59
- }
60
- registerInviteUser(server, client) {
61
- server.registerTool('invite_user', {
62
- title: 'Invite User',
63
- description: 'Add and invite a new user by email. Sends an invitation email with a link to set their password and log in.',
64
- inputSchema: inviteUserSchema.shape,
65
- }, async ({ email, do_not_send_confirmation_email }) => {
66
- try {
67
- const params = { email };
68
- if (do_not_send_confirmation_email !== undefined) {
69
- params['do_not_send_confirmation_email'] = do_not_send_confirmation_email;
70
- }
71
- const user = await client.inviteUser(params);
72
- return createSuccessResponse(user, 'User invited successfully:');
73
- }
74
- catch (error) {
75
- return createErrorResponse(error, 'inviting user');
76
- }
27
+ schema: getCurrentUserSchema,
28
+ annotations: READ_ONLY,
29
+ errorContext: 'fetching current user',
30
+ handler: () => client.users.getCurrentUser(),
77
31
  });
32
+ if (!readOnlyMode) {
33
+ registerTool(server, {
34
+ name: 'invite_user',
35
+ title: 'Invite User',
36
+ description: 'Add and invite a new user by email. Sends an invitation email with a link to set their password and log in.',
37
+ schema: inviteUserSchema,
38
+ annotations: WRITE,
39
+ errorContext: 'inviting user',
40
+ successMessage: 'User invited successfully:',
41
+ handler: ({ email, do_not_send_confirmation_email }) => client.users.inviteUser({
42
+ email,
43
+ ...(do_not_send_confirmation_email !== undefined && {
44
+ do_not_send_confirmation_email,
45
+ }),
46
+ }),
47
+ });
48
+ }
78
49
  }
79
50
  }
80
51
  //# sourceMappingURL=user-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user-tools.js","sourceRoot":"","sources":["../../../src/server/tools/user-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user-tools.js","sourceRoot":"","sources":["../../../src/server/tools/user-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAmB,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjF,MAAM,OAAO,eAAe;IAC1B,aAAa,CAAC,MAAiB,EAAE,MAAyB,EAAE,YAAqB;QAC/E,YAAY,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,yBAAyB;YACtC,MAAM,EAAE,eAAe;YACvB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,gBAAgB;YAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,gCAAgC;YAC7C,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,eAAe;YAC7B,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;SACxD,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,oBAAoB;YAC5B,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,uBAAuB;YACrC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,YAAY,CAAC,MAAM,EAAE;gBACnB,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,aAAa;gBACpB,WAAW,EACT,6GAA6G;gBAC/G,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,eAAe;gBAC7B,cAAc,EAAE,4BAA4B;gBAC5C,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,EAAE,EAAE,CACrD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;oBACtB,KAAK;oBACL,GAAG,CAAC,8BAA8B,KAAK,SAAS,IAAI;wBAClD,8BAA8B;qBAC/B,CAAC;iBACH,CAAC;aACL,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -3,7 +3,5 @@ import { BusinessMapClient } from '../../client/businessmap-client.js';
3
3
  import { BaseToolHandler } from './base-tool.js';
4
4
  export declare class UtilityToolHandler implements BaseToolHandler {
5
5
  registerTools(server: McpServer, client: BusinessMapClient): void;
6
- private registerHealthCheck;
7
- private registerGetApiInfo;
8
6
  }
9
7
  //# sourceMappingURL=utility-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utility-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/utility-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAA8C,MAAM,gBAAgB,CAAC;AAE7F,qBAAa,kBAAmB,YAAW,eAAe;IACxD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAKjE,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,kBAAkB;CAoB3B"}
1
+ {"version":3,"file":"utility-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/utility-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,eAAe,EAA2B,MAAM,gBAAgB,CAAC;AAE1E,qBAAa,kBAAmB,YAAW,eAAe;IACxD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CA+BlE"}
@@ -1,19 +1,16 @@
1
1
  import { getApiInfoSchema, healthCheckSchema } from '../../schemas/utility-schemas.js';
2
- import { createErrorResponse, createSuccessResponse } from './base-tool.js';
2
+ import { READ_ONLY, registerTool } from './base-tool.js';
3
3
  export class UtilityToolHandler {
4
4
  registerTools(server, client) {
5
- this.registerHealthCheck(server, client);
6
- this.registerGetApiInfo(server, client);
7
- }
8
- registerHealthCheck(server, client) {
9
- server.registerTool('health_check', {
5
+ registerTool(server, {
6
+ name: 'health_check',
10
7
  title: 'Health Check',
11
8
  description: 'Check the connection to BusinessMap API',
12
- inputSchema: healthCheckSchema.shape,
13
- annotations: { readOnlyHint: true, idempotentHint: true },
14
- }, async () => {
15
- try {
16
- const isHealthy = await client.healthCheck();
9
+ schema: healthCheckSchema,
10
+ annotations: READ_ONLY,
11
+ errorContext: 'health check failed',
12
+ handler: async () => {
13
+ const isHealthy = await client.utility.healthCheck();
17
14
  return {
18
15
  content: [
19
16
  {
@@ -22,26 +19,16 @@ export class UtilityToolHandler {
22
19
  },
23
20
  ],
24
21
  };
25
- }
26
- catch (error) {
27
- return createErrorResponse(error, 'health check failed');
28
- }
22
+ },
29
23
  });
30
- }
31
- registerGetApiInfo(server, client) {
32
- server.registerTool('get_api_info', {
24
+ registerTool(server, {
25
+ name: 'get_api_info',
33
26
  title: 'Get API Info',
34
27
  description: 'Get information about the BusinessMap API',
35
- inputSchema: getApiInfoSchema.shape,
36
- annotations: { readOnlyHint: true, idempotentHint: true },
37
- }, async () => {
38
- try {
39
- const apiInfo = await client.getApiInfo();
40
- return createSuccessResponse(apiInfo);
41
- }
42
- catch (error) {
43
- return createErrorResponse(error, 'fetching API info');
44
- }
28
+ schema: getApiInfoSchema,
29
+ annotations: READ_ONLY,
30
+ errorContext: 'fetching API info',
31
+ handler: () => client.utility.getApiInfo(),
45
32
  });
46
33
  }
47
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utility-tools.js","sourceRoot":"","sources":["../../../src/server/tools/utility-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAmB,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAE7F,MAAM,OAAO,kBAAkB;IAC7B,aAAa,CAAC,MAAiB,EAAE,MAAyB;QACxD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEO,mBAAmB,CAAC,MAAiB,EAAE,MAAyB;QACtE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,yCAAyC;YACtD,WAAW,EAAE,iBAAiB,CAAC,KAAK;YACpC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1D,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC7C,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,2BAA2B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;yBACvE;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,MAAiB,EAAE,MAAyB;QACrE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;YACE,KAAK,EAAE,cAAc;YACrB,WAAW,EACT,2CAA2C;YAC7C,WAAW,EAAE,gBAAgB,CAAC,KAAK;YACnC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SAC1D,EACD,KAAK,IAAI,EAAE;YACT,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"utility-tools.js","sourceRoot":"","sources":["../../../src/server/tools/utility-tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EAAmB,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1E,MAAM,OAAO,kBAAkB;IAC7B,aAAa,CAAC,MAAiB,EAAE,MAAyB;QACxD,YAAY,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,yCAAyC;YACtD,MAAM,EAAE,iBAAiB;YACzB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,qBAAqB;YACnC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACrD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,2BAA2B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE;yBACvE;qBACF;iBACF,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,YAAY,CAAC,MAAM,EAAE;YACnB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,cAAc;YACrB,WAAW,EAAE,2CAA2C;YACxD,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,SAAS;YACtB,YAAY,EAAE,mBAAmB;YACjC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -3,13 +3,5 @@ import { BusinessMapClient } from '../../client/businessmap-client.js';
3
3
  import { BaseToolHandler } from './base-tool.js';
4
4
  export declare class WorkflowToolHandler implements BaseToolHandler {
5
5
  registerTools(server: McpServer, client: BusinessMapClient, readOnlyMode: boolean): void;
6
- private registerListWorkflows;
7
- private registerGetWorkflow;
8
- private registerCreateWorkflow;
9
- private registerUpdateWorkflow;
10
- private registerLinkRelatedWorkflow;
11
- private registerUnlinkRelatedWorkflow;
12
- private registerGetWorkflowCycleTimeColumns;
13
- private registerGetWorkflowEffectiveCycleTimeColumns;
14
6
  }
15
7
  //# sourceMappingURL=workflow-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/workflow-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAYvE,OAAO,EAAE,eAAe,EAA8C,MAAM,gBAAgB,CAAC;AAE7F,qBAAa,mBAAoB,YAAW,eAAe;IACzD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;IAcxF,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,sBAAsB;IA2B9B,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,mCAAmC;IAoB3C,OAAO,CAAC,4CAA4C;CA+BrD"}
1
+ {"version":3,"file":"workflow-tools.d.ts","sourceRoot":"","sources":["../../../src/server/tools/workflow-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAWvE,OAAO,EACL,eAAe,EAMhB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,mBAAoB,YAAW,eAAe;IACzD,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,GAAG,IAAI;CAoHzF"}