@neilinger/businessmap-mcp 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +563 -0
- package/dist/client/businessmap-client.d.ts +160 -0
- package/dist/client/businessmap-client.d.ts.map +1 -0
- package/dist/client/businessmap-client.js +325 -0
- package/dist/client/businessmap-client.js.map +1 -0
- package/dist/client/modules/base-client.d.ts +34 -0
- package/dist/client/modules/base-client.d.ts.map +1 -0
- package/dist/client/modules/base-client.js +20 -0
- package/dist/client/modules/base-client.js.map +1 -0
- package/dist/client/modules/board-client.d.ts +82 -0
- package/dist/client/modules/board-client.d.ts.map +1 -0
- package/dist/client/modules/board-client.js +137 -0
- package/dist/client/modules/board-client.js.map +1 -0
- package/dist/client/modules/card-client.d.ts +201 -0
- package/dist/client/modules/card-client.d.ts.map +1 -0
- package/dist/client/modules/card-client.js +251 -0
- package/dist/client/modules/card-client.js.map +1 -0
- package/dist/client/modules/custom-field-client.d.ts +62 -0
- package/dist/client/modules/custom-field-client.d.ts.map +1 -0
- package/dist/client/modules/custom-field-client.js +47 -0
- package/dist/client/modules/custom-field-client.js.map +1 -0
- package/dist/client/modules/index.d.ts +9 -0
- package/dist/client/modules/index.d.ts.map +1 -0
- package/dist/client/modules/index.js +9 -0
- package/dist/client/modules/index.js.map +1 -0
- package/dist/client/modules/user-client.d.ts +17 -0
- package/dist/client/modules/user-client.d.ts.map +1 -0
- package/dist/client/modules/user-client.js +25 -0
- package/dist/client/modules/user-client.js.map +1 -0
- package/dist/client/modules/utility-client.d.ts +12 -0
- package/dist/client/modules/utility-client.d.ts.map +1 -0
- package/dist/client/modules/utility-client.js +51 -0
- package/dist/client/modules/utility-client.js.map +1 -0
- package/dist/client/modules/workflow-client.d.ts +13 -0
- package/dist/client/modules/workflow-client.d.ts.map +1 -0
- package/dist/client/modules/workflow-client.js +18 -0
- package/dist/client/modules/workflow-client.js.map +1 -0
- package/dist/client/modules/workspace-client.d.ts +47 -0
- package/dist/client/modules/workspace-client.d.ts.map +1 -0
- package/dist/client/modules/workspace-client.js +88 -0
- package/dist/client/modules/workspace-client.js.map +1 -0
- package/dist/config/environment.d.ts +19 -0
- package/dist/config/environment.d.ts.map +1 -0
- package/dist/config/environment.js +65 -0
- package/dist/config/environment.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/board-schemas.d.ts +133 -0
- package/dist/schemas/board-schemas.d.ts.map +1 -0
- package/dist/schemas/board-schemas.js +95 -0
- package/dist/schemas/board-schemas.js.map +1 -0
- package/dist/schemas/bulk-schemas.d.ts +154 -0
- package/dist/schemas/bulk-schemas.d.ts.map +1 -0
- package/dist/schemas/bulk-schemas.js +69 -0
- package/dist/schemas/bulk-schemas.js.map +1 -0
- package/dist/schemas/card-schemas.d.ts +1309 -0
- package/dist/schemas/card-schemas.d.ts.map +1 -0
- package/dist/schemas/card-schemas.js +518 -0
- package/dist/schemas/card-schemas.js.map +1 -0
- package/dist/schemas/common-schemas.d.ts +47 -0
- package/dist/schemas/common-schemas.d.ts.map +1 -0
- package/dist/schemas/common-schemas.js +53 -0
- package/dist/schemas/common-schemas.js.map +1 -0
- package/dist/schemas/custom-field-schemas.d.ts +155 -0
- package/dist/schemas/custom-field-schemas.d.ts.map +1 -0
- package/dist/schemas/custom-field-schemas.js +78 -0
- package/dist/schemas/custom-field-schemas.js.map +1 -0
- package/dist/schemas/index.d.ts +9 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +10 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/user-schemas.d.ts +11 -0
- package/dist/schemas/user-schemas.d.ts.map +1 -0
- package/dist/schemas/user-schemas.js +10 -0
- package/dist/schemas/user-schemas.js.map +1 -0
- package/dist/schemas/utility-schemas.d.ts +4 -0
- package/dist/schemas/utility-schemas.d.ts.map +1 -0
- package/dist/schemas/utility-schemas.js +6 -0
- package/dist/schemas/utility-schemas.js.map +1 -0
- package/dist/schemas/workflow-schemas.d.ts +22 -0
- package/dist/schemas/workflow-schemas.d.ts.map +1 -0
- package/dist/schemas/workflow-schemas.js +12 -0
- package/dist/schemas/workflow-schemas.js.map +1 -0
- package/dist/schemas/workspace-schemas.d.ts +40 -0
- package/dist/schemas/workspace-schemas.d.ts.map +1 -0
- package/dist/schemas/workspace-schemas.js +23 -0
- package/dist/schemas/workspace-schemas.js.map +1 -0
- package/dist/server/mcp-server.d.ts +14 -0
- package/dist/server/mcp-server.d.ts.map +1 -0
- package/dist/server/mcp-server.js +54 -0
- package/dist/server/mcp-server.js.map +1 -0
- package/dist/server/tools/base-tool.d.ts +34 -0
- package/dist/server/tools/base-tool.d.ts.map +1 -0
- package/dist/server/tools/base-tool.js +30 -0
- package/dist/server/tools/base-tool.js.map +1 -0
- package/dist/server/tools/board-tools.d.ts +25 -0
- package/dist/server/tools/board-tools.d.ts.map +1 -0
- package/dist/server/tools/board-tools.js +347 -0
- package/dist/server/tools/board-tools.js.map +1 -0
- package/dist/server/tools/card-tools.d.ts +33 -0
- package/dist/server/tools/card-tools.d.ts.map +1 -0
- package/dist/server/tools/card-tools.js +543 -0
- package/dist/server/tools/card-tools.js.map +1 -0
- package/dist/server/tools/custom-field-tools.d.ts +13 -0
- package/dist/server/tools/custom-field-tools.d.ts.map +1 -0
- package/dist/server/tools/custom-field-tools.js +181 -0
- package/dist/server/tools/custom-field-tools.js.map +1 -0
- package/dist/server/tools/index.d.ts +9 -0
- package/dist/server/tools/index.d.ts.map +1 -0
- package/dist/server/tools/index.js +9 -0
- package/dist/server/tools/index.js.map +1 -0
- package/dist/server/tools/user-tools.d.ts +10 -0
- package/dist/server/tools/user-tools.d.ts.map +1 -0
- package/dist/server/tools/user-tools.js +55 -0
- package/dist/server/tools/user-tools.js.map +1 -0
- package/dist/server/tools/utility-tools.d.ts +9 -0
- package/dist/server/tools/utility-tools.d.ts.map +1 -0
- package/dist/server/tools/utility-tools.js +46 -0
- package/dist/server/tools/utility-tools.js.map +1 -0
- package/dist/server/tools/workflow-tools.d.ts +9 -0
- package/dist/server/tools/workflow-tools.d.ts.map +1 -0
- package/dist/server/tools/workflow-tools.js +55 -0
- package/dist/server/tools/workflow-tools.js.map +1 -0
- package/dist/server/tools/workspace-tools.d.ts +14 -0
- package/dist/server/tools/workspace-tools.d.ts.map +1 -0
- package/dist/server/tools/workspace-tools.js +179 -0
- package/dist/server/tools/workspace-tools.js.map +1 -0
- package/dist/services/confirmation-builder.d.ts +60 -0
- package/dist/services/confirmation-builder.d.ts.map +1 -0
- package/dist/services/confirmation-builder.js +170 -0
- package/dist/services/confirmation-builder.js.map +1 -0
- package/dist/services/dependency-analyzer.d.ts +90 -0
- package/dist/services/dependency-analyzer.d.ts.map +1 -0
- package/dist/services/dependency-analyzer.js +220 -0
- package/dist/services/dependency-analyzer.js.map +1 -0
- package/dist/types/base.d.ts +22 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +3 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/board.d.ts +129 -0
- package/dist/types/board.d.ts.map +1 -0
- package/dist/types/board.js +3 -0
- package/dist/types/board.js.map +1 -0
- package/dist/types/card.d.ts +414 -0
- package/dist/types/card.d.ts.map +1 -0
- package/dist/types/card.js +3 -0
- package/dist/types/card.js.map +1 -0
- package/dist/types/custom-field.d.ts +17 -0
- package/dist/types/custom-field.d.ts.map +1 -0
- package/dist/types/custom-field.js +3 -0
- package/dist/types/custom-field.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lane.d.ts +16 -0
- package/dist/types/lane.d.ts.map +1 -0
- package/dist/types/lane.js +3 -0
- package/dist/types/lane.js.map +1 -0
- package/dist/types/user.d.ts +32 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +3 -0
- package/dist/types/user.js.map +1 -0
- package/dist/types/workflow.d.ts +8 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +2 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/types/workspace.d.ts +11 -0
- package/dist/types/workspace.d.ts.map +1 -0
- package/dist/types/workspace.js +3 -0
- package/dist/types/workspace.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ApiResponse, CustomField } from '../../types/index.js';
|
|
2
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
3
|
+
export declare class CustomFieldClient extends BaseClientModuleImpl {
|
|
4
|
+
/**
|
|
5
|
+
* List all custom field definitions
|
|
6
|
+
*/
|
|
7
|
+
listCustomFields(params?: {
|
|
8
|
+
page?: number;
|
|
9
|
+
page_size?: number;
|
|
10
|
+
field_type?: string;
|
|
11
|
+
}): Promise<ApiResponse<CustomField[]>>;
|
|
12
|
+
/**
|
|
13
|
+
* List custom fields for a specific board
|
|
14
|
+
*/
|
|
15
|
+
listBoardCustomFields(boardId: number): Promise<CustomField[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Get a specific custom field by ID
|
|
18
|
+
*/
|
|
19
|
+
getCustomField(customFieldId: number): Promise<CustomField>;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new custom field
|
|
22
|
+
*/
|
|
23
|
+
createCustomField(params: {
|
|
24
|
+
board_id: number;
|
|
25
|
+
name: string;
|
|
26
|
+
field_type: string;
|
|
27
|
+
description?: string;
|
|
28
|
+
is_required?: boolean;
|
|
29
|
+
position?: number;
|
|
30
|
+
options?: Array<{
|
|
31
|
+
value: string;
|
|
32
|
+
color: string;
|
|
33
|
+
}>;
|
|
34
|
+
validation?: {
|
|
35
|
+
min?: number;
|
|
36
|
+
max?: number;
|
|
37
|
+
};
|
|
38
|
+
}): Promise<CustomField>;
|
|
39
|
+
/**
|
|
40
|
+
* Update an existing custom field
|
|
41
|
+
*/
|
|
42
|
+
updateCustomField(customFieldId: number, params: {
|
|
43
|
+
name?: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
is_required?: boolean;
|
|
46
|
+
position?: number;
|
|
47
|
+
options?: Array<{
|
|
48
|
+
id?: number;
|
|
49
|
+
value: string;
|
|
50
|
+
color: string;
|
|
51
|
+
}>;
|
|
52
|
+
validation?: {
|
|
53
|
+
min?: number;
|
|
54
|
+
max?: number;
|
|
55
|
+
};
|
|
56
|
+
}): Promise<CustomField>;
|
|
57
|
+
/**
|
|
58
|
+
* Delete a custom field
|
|
59
|
+
*/
|
|
60
|
+
deleteCustomField(customFieldId: number): Promise<void>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=custom-field-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-field-client.d.ts","sourceRoot":"","sources":["../../../src/client/modules/custom-field-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,qBAAa,iBAAkB,SAAQ,oBAAoB;IACzD;;OAEG;IACG,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC;IAOvC;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOpE;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjE;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAC9B,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAClD,UAAU,CAAC,EAAE;YACX,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GAAG,OAAO,CAAC,WAAW,CAAC;IAQxB;;OAEG;IACG,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/D,UAAU,CAAC,EAAE;YACX,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GACA,OAAO,CAAC,WAAW,CAAC;IAQvB;;OAEG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export class CustomFieldClient extends BaseClientModuleImpl {
|
|
3
|
+
/**
|
|
4
|
+
* List all custom field definitions
|
|
5
|
+
*/
|
|
6
|
+
async listCustomFields(params) {
|
|
7
|
+
const response = await this.http.get('/custom_fields', {
|
|
8
|
+
params,
|
|
9
|
+
});
|
|
10
|
+
return response.data;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* List custom fields for a specific board
|
|
14
|
+
*/
|
|
15
|
+
async listBoardCustomFields(boardId) {
|
|
16
|
+
const response = await this.http.get(`/boards/${boardId}/custom_fields`);
|
|
17
|
+
return response.data.data;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get a specific custom field by ID
|
|
21
|
+
*/
|
|
22
|
+
async getCustomField(customFieldId) {
|
|
23
|
+
const response = await this.http.get(`/custom_fields/${customFieldId}`);
|
|
24
|
+
return response.data.data;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a new custom field
|
|
28
|
+
*/
|
|
29
|
+
async createCustomField(params) {
|
|
30
|
+
const response = await this.http.post(`/boards/${params.board_id}/custom_fields`, params);
|
|
31
|
+
return response.data.data;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Update an existing custom field
|
|
35
|
+
*/
|
|
36
|
+
async updateCustomField(customFieldId, params) {
|
|
37
|
+
const response = await this.http.patch(`/custom_fields/${customFieldId}`, params);
|
|
38
|
+
return response.data.data;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Delete a custom field
|
|
42
|
+
*/
|
|
43
|
+
async deleteCustomField(customFieldId) {
|
|
44
|
+
await this.http.delete(`/custom_fields/${customFieldId}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=custom-field-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-field-client.js","sourceRoot":"","sources":["../../../src/client/modules/custom-field-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,OAAO,iBAAkB,SAAQ,oBAAoB;IACzD;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAItB;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,gBAAgB,EAAE;YACjF,MAAM;SACP,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAe;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,WAAW,OAAO,gBAAgB,CACnC,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,aAAqB;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,kBAAkB,aAAa,EAAE,CAClC,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAYvB;QACC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CACnC,WAAW,MAAM,CAAC,QAAQ,gBAAgB,EAC1C,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,MAUC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CACpC,kBAAkB,aAAa,EAAE,EACjC,MAAM,CACP,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,aAAa,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BaseClientModule, BaseClientModuleImpl, HttpClientConfig } from './base-client.js';
|
|
2
|
+
export { BoardClient } from './board-client.js';
|
|
3
|
+
export { CardClient, CardFilters } from './card-client.js';
|
|
4
|
+
export { CustomFieldClient } from './custom-field-client.js';
|
|
5
|
+
export { UserClient } from './user-client.js';
|
|
6
|
+
export { UtilityClient } from './utility-client.js';
|
|
7
|
+
export { WorkflowClient } from './workflow-client.js';
|
|
8
|
+
export { WorkspaceClient } from './workspace-client.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export { BoardClient } from './board-client.js';
|
|
3
|
+
export { CardClient } from './card-client.js';
|
|
4
|
+
export { CustomFieldClient } from './custom-field-client.js';
|
|
5
|
+
export { UserClient } from './user-client.js';
|
|
6
|
+
export { UtilityClient } from './utility-client.js';
|
|
7
|
+
export { WorkflowClient } from './workflow-client.js';
|
|
8
|
+
export { WorkspaceClient } from './workspace-client.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/modules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,oBAAoB,EAAoB,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CurrentUser, User } from '../../types/index.js';
|
|
2
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
3
|
+
export declare class UserClient extends BaseClientModuleImpl {
|
|
4
|
+
/**
|
|
5
|
+
* Get all users
|
|
6
|
+
*/
|
|
7
|
+
getUsers(): Promise<User[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Get a specific user by ID
|
|
10
|
+
*/
|
|
11
|
+
getUser(userId: number): Promise<User>;
|
|
12
|
+
/**
|
|
13
|
+
* Get current logged user data
|
|
14
|
+
*/
|
|
15
|
+
getCurrentUser(): Promise<CurrentUser>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=user-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-client.d.ts","sourceRoot":"","sources":["../../../src/client/modules/user-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,qBAAa,UAAW,SAAQ,oBAAoB;IAClD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAKjC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;CAI7C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export class UserClient extends BaseClientModuleImpl {
|
|
3
|
+
/**
|
|
4
|
+
* Get all users
|
|
5
|
+
*/
|
|
6
|
+
async getUsers() {
|
|
7
|
+
const response = await this.http.get('/users');
|
|
8
|
+
return response.data.data;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get a specific user by ID
|
|
12
|
+
*/
|
|
13
|
+
async getUser(userId) {
|
|
14
|
+
const response = await this.http.get(`/users/${userId}`);
|
|
15
|
+
return response.data.data;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get current logged user data
|
|
19
|
+
*/
|
|
20
|
+
async getCurrentUser() {
|
|
21
|
+
const response = await this.http.get('/me');
|
|
22
|
+
return response.data.data;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=user-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-client.js","sourceRoot":"","sources":["../../../src/client/modules/user-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,OAAO,UAAW,SAAQ,oBAAoB;IAClD;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;QACpE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,UAAU,MAAM,EAAE,CAAC,CAAC;QAC5E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAA2B,KAAK,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export declare class UtilityClient extends BaseClientModuleImpl {
|
|
3
|
+
/**
|
|
4
|
+
* Check if the API is healthy and accessible
|
|
5
|
+
*/
|
|
6
|
+
healthCheck(): Promise<boolean>;
|
|
7
|
+
/**
|
|
8
|
+
* Get API information (with fallback for official API)
|
|
9
|
+
*/
|
|
10
|
+
getApiInfo(): Promise<any>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=utility-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility-client.d.ts","sourceRoot":"","sources":["../../../src/client/modules/utility-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,qBAAa,aAAc,SAAQ,oBAAoB;IACrD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAcrC;;OAEG;IACG,UAAU;CAyBjB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createLoggerSync } from '@toolprint/mcp-logger';
|
|
2
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
3
|
+
const logger = createLoggerSync({ level: 'info' });
|
|
4
|
+
export class UtilityClient extends BaseClientModuleImpl {
|
|
5
|
+
/**
|
|
6
|
+
* Check if the API is healthy and accessible
|
|
7
|
+
*/
|
|
8
|
+
async healthCheck() {
|
|
9
|
+
try {
|
|
10
|
+
// Use /me endpoint as health check since /health may not exist
|
|
11
|
+
await this.http.get('/me');
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
// Log the actual error for debugging
|
|
16
|
+
logger.error('Health check failed', {
|
|
17
|
+
error: error instanceof Error ? error.message : 'Unknown error'
|
|
18
|
+
});
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get API information (with fallback for official API)
|
|
24
|
+
*/
|
|
25
|
+
async getApiInfo() {
|
|
26
|
+
try {
|
|
27
|
+
// Tentativa de usar /info (que não existe na API oficial)
|
|
28
|
+
const response = await this.http.get('/info');
|
|
29
|
+
return response.data;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
// Fallback: verificar conectividade com /me
|
|
33
|
+
logger.warn('Endpoint /info not available, testing connectivity via /me');
|
|
34
|
+
try {
|
|
35
|
+
await this.http.get('/me');
|
|
36
|
+
return {
|
|
37
|
+
message: 'API is responding (fallback test)',
|
|
38
|
+
endpoint: '/me',
|
|
39
|
+
status: 'healthy',
|
|
40
|
+
note: 'Endpoint /info does not exist in official BusinessMap API',
|
|
41
|
+
api_version: 'v2',
|
|
42
|
+
documentation: 'https://rdsaude.kanbanize.com/openapi/#/',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
catch (fallbackError) {
|
|
46
|
+
throw new Error(`API connection failed: ${fallbackError instanceof Error ? fallbackError.message : 'Unknown error'}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=utility-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utility-client.js","sourceRoot":"","sources":["../../../src/client/modules/utility-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAEnD,MAAM,OAAO,aAAc,SAAQ,oBAAoB;IACrD;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,+DAA+D;YAC/D,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qCAAqC;YACrC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;gBAClC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAChE,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4CAA4C;YAC5C,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,mCAAmC;oBAC5C,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,2DAA2D;oBACjE,WAAW,EAAE,IAAI;oBACjB,aAAa,EAAE,0CAA0C;iBAC1D,CAAC;YACJ,CAAC;YAAC,OAAO,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CACb,0BAA0B,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { WorkflowCycleTimeColumn } from '../../types/index.js';
|
|
2
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
3
|
+
export declare class WorkflowClient extends BaseClientModuleImpl {
|
|
4
|
+
/**
|
|
5
|
+
* Get workflow's cycle time columns
|
|
6
|
+
*/
|
|
7
|
+
getWorkflowCycleTimeColumns(boardId: number, workflowId: number): Promise<WorkflowCycleTimeColumn[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Get workflow's effective cycle time columns
|
|
10
|
+
*/
|
|
11
|
+
getWorkflowEffectiveCycleTimeColumns(boardId: number, workflowId: number): Promise<WorkflowCycleTimeColumn[]>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=workflow-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-client.d.ts","sourceRoot":"","sources":["../../../src/client/modules/workflow-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,qBAAa,cAAe,SAAQ,oBAAoB;IACtD;;OAEG;IACG,2BAA2B,CAC/B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAOrC;;OAEG;IACG,oCAAoC,CACxC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,uBAAuB,EAAE,CAAC;CAMtC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export class WorkflowClient extends BaseClientModuleImpl {
|
|
3
|
+
/**
|
|
4
|
+
* Get workflow's cycle time columns
|
|
5
|
+
*/
|
|
6
|
+
async getWorkflowCycleTimeColumns(boardId, workflowId) {
|
|
7
|
+
const response = await this.http.get(`/boards/${boardId}/workflows/${workflowId}/cycleTimeColumns`);
|
|
8
|
+
return response.data.data;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get workflow's effective cycle time columns
|
|
12
|
+
*/
|
|
13
|
+
async getWorkflowEffectiveCycleTimeColumns(boardId, workflowId) {
|
|
14
|
+
const response = await this.http.get(`/boards/${boardId}/workflows/${workflowId}/effectiveCycleTimeColumns`);
|
|
15
|
+
return response.data.data;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=workflow-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-client.js","sourceRoot":"","sources":["../../../src/client/modules/workflow-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,OAAO,cAAe,SAAQ,oBAAoB;IACtD;;OAEG;IACH,KAAK,CAAC,2BAA2B,CAC/B,OAAe,EACf,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,WAAW,OAAO,cAAc,UAAU,mBAAmB,CAC9D,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oCAAoC,CACxC,OAAe,EACf,UAAkB;QAElB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,WAAW,OAAO,cAAc,UAAU,4BAA4B,CACvE,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { CreateWorkspaceParams, Workspace } from '../../types/index.js';
|
|
2
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
3
|
+
export declare class WorkspaceClient extends BaseClientModuleImpl {
|
|
4
|
+
/**
|
|
5
|
+
* Get all workspaces
|
|
6
|
+
*/
|
|
7
|
+
getWorkspaces(): Promise<Workspace[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Get a specific workspace by ID
|
|
10
|
+
*/
|
|
11
|
+
getWorkspace(workspaceId: number): Promise<Workspace>;
|
|
12
|
+
/**
|
|
13
|
+
* Create a new workspace
|
|
14
|
+
*/
|
|
15
|
+
createWorkspace(params: CreateWorkspaceParams): Promise<Workspace>;
|
|
16
|
+
/**
|
|
17
|
+
* Update an existing workspace
|
|
18
|
+
*/
|
|
19
|
+
updateWorkspace(workspaceId: number, params: Partial<CreateWorkspaceParams>): Promise<Workspace>;
|
|
20
|
+
/**
|
|
21
|
+
* Archive a workspace (soft delete)
|
|
22
|
+
* @param workspaceId - The ID of the workspace to archive
|
|
23
|
+
* @remarks API does not support permanent deletion (DELETE returns 405). Only archiving is available.
|
|
24
|
+
*/
|
|
25
|
+
archiveWorkspace(workspaceId: number): Promise<Workspace>;
|
|
26
|
+
/**
|
|
27
|
+
* Bulk archive workspaces (T057)
|
|
28
|
+
* Archives multiple workspaces sequentially
|
|
29
|
+
*/
|
|
30
|
+
bulkArchiveWorkspaces(workspaceIds: number[]): Promise<Array<{
|
|
31
|
+
id: number;
|
|
32
|
+
success: boolean;
|
|
33
|
+
workspace?: Workspace;
|
|
34
|
+
error?: string;
|
|
35
|
+
}>>;
|
|
36
|
+
/**
|
|
37
|
+
* Bulk update workspaces (T061)
|
|
38
|
+
* Updates multiple workspaces sequentially with the same changes
|
|
39
|
+
*/
|
|
40
|
+
bulkUpdateWorkspaces(workspaceIds: number[], updates: Partial<CreateWorkspaceParams>): Promise<Array<{
|
|
41
|
+
id: number;
|
|
42
|
+
success: boolean;
|
|
43
|
+
workspace?: Workspace;
|
|
44
|
+
error?: string;
|
|
45
|
+
}>>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=workspace-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-client.d.ts","sourceRoot":"","sources":["../../../src/client/modules/workspace-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,qBAAqB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,qBAAa,eAAgB,SAAQ,oBAAoB;IACvD;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK3C;;OAEG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAK3D;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC;IAMxE;;OAEG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACrC,OAAO,CAAC,SAAS,CAAC;IASrB;;;;OAIG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAU/D;;;OAGG;IACG,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoB5I;;;OAGG;IACG,oBAAoB,CACxB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACtC,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAmB3F"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { BaseClientModuleImpl } from './base-client.js';
|
|
2
|
+
export class WorkspaceClient extends BaseClientModuleImpl {
|
|
3
|
+
/**
|
|
4
|
+
* Get all workspaces
|
|
5
|
+
*/
|
|
6
|
+
async getWorkspaces() {
|
|
7
|
+
const response = await this.http.get('/workspaces');
|
|
8
|
+
return response.data.data;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get a specific workspace by ID
|
|
12
|
+
*/
|
|
13
|
+
async getWorkspace(workspaceId) {
|
|
14
|
+
const response = await this.http.get(`/workspaces/${workspaceId}`);
|
|
15
|
+
return response.data.data;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a new workspace
|
|
19
|
+
*/
|
|
20
|
+
async createWorkspace(params) {
|
|
21
|
+
this.checkReadOnlyMode('create workspace');
|
|
22
|
+
const response = await this.http.post('/workspaces', params);
|
|
23
|
+
return response.data.data;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Update an existing workspace
|
|
27
|
+
*/
|
|
28
|
+
async updateWorkspace(workspaceId, params) {
|
|
29
|
+
this.checkReadOnlyMode('update workspace');
|
|
30
|
+
const response = await this.http.patch(`/workspaces/${workspaceId}`, params);
|
|
31
|
+
return response.data.data;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Archive a workspace (soft delete)
|
|
35
|
+
* @param workspaceId - The ID of the workspace to archive
|
|
36
|
+
* @remarks API does not support permanent deletion (DELETE returns 405). Only archiving is available.
|
|
37
|
+
*/
|
|
38
|
+
async archiveWorkspace(workspaceId) {
|
|
39
|
+
this.checkReadOnlyMode('archive workspace');
|
|
40
|
+
const response = await this.http.patch(`/workspaces/${workspaceId}`, { is_archived: 1 });
|
|
41
|
+
return response.data.data;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Bulk archive workspaces (T057)
|
|
45
|
+
* Archives multiple workspaces sequentially
|
|
46
|
+
*/
|
|
47
|
+
async bulkArchiveWorkspaces(workspaceIds) {
|
|
48
|
+
this.checkReadOnlyMode('bulk archive workspaces');
|
|
49
|
+
const results = [];
|
|
50
|
+
for (const id of workspaceIds) {
|
|
51
|
+
try {
|
|
52
|
+
const workspace = await this.archiveWorkspace(id);
|
|
53
|
+
results.push({ id, success: true, workspace });
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
results.push({
|
|
57
|
+
id,
|
|
58
|
+
success: false,
|
|
59
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return results;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Bulk update workspaces (T061)
|
|
67
|
+
* Updates multiple workspaces sequentially with the same changes
|
|
68
|
+
*/
|
|
69
|
+
async bulkUpdateWorkspaces(workspaceIds, updates) {
|
|
70
|
+
this.checkReadOnlyMode('bulk update workspaces');
|
|
71
|
+
const results = [];
|
|
72
|
+
for (const id of workspaceIds) {
|
|
73
|
+
try {
|
|
74
|
+
const workspace = await this.updateWorkspace(id, updates);
|
|
75
|
+
results.push({ id, success: true, workspace });
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
results.push({
|
|
79
|
+
id,
|
|
80
|
+
success: false,
|
|
81
|
+
error: error instanceof Error ? error.message : 'Unknown error',
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return results;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=workspace-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-client.js","sourceRoot":"","sources":["../../../src/client/modules/workspace-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BusinessMapConfig } from '../types/index.js';
|
|
2
|
+
export interface EnvironmentConfig {
|
|
3
|
+
businessMap: BusinessMapConfig;
|
|
4
|
+
server: {
|
|
5
|
+
name: string;
|
|
6
|
+
version: string;
|
|
7
|
+
port?: number;
|
|
8
|
+
};
|
|
9
|
+
transport: {
|
|
10
|
+
sse: boolean;
|
|
11
|
+
streamableHttp: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare function getRequiredEnvVar(name: string): string;
|
|
15
|
+
export declare function getBooleanEnvVar(name: string, defaultValue?: boolean): boolean;
|
|
16
|
+
export declare function getNumberEnvVar(name: string, defaultValue?: number): number | undefined;
|
|
17
|
+
export declare const config: EnvironmentConfig;
|
|
18
|
+
export declare function validateConfig(): void;
|
|
19
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOtD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,SAAS,EAAE;QACT,GAAG,EAAE,OAAO,CAAC;QACb,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAIrF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQvF;AAED,eAAO,MAAM,MAAM,EAAE,iBAgBpB,CAAC;AAEF,wBAAgB,cAAc,IAAI,IAAI,CAmBrC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import dotenv from 'dotenv';
|
|
2
|
+
import { createLoggerSync } from '@toolprint/mcp-logger';
|
|
3
|
+
// Load environment variables
|
|
4
|
+
dotenv.config();
|
|
5
|
+
const logger = createLoggerSync({ level: 'info' });
|
|
6
|
+
export function getRequiredEnvVar(name) {
|
|
7
|
+
const value = process.env[name];
|
|
8
|
+
if (!value) {
|
|
9
|
+
throw new Error(`Required environment variable ${name} is not set`);
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
export function getBooleanEnvVar(name, defaultValue = false) {
|
|
14
|
+
const value = process.env[name];
|
|
15
|
+
if (value === undefined)
|
|
16
|
+
return defaultValue;
|
|
17
|
+
return value.toLowerCase() === 'true';
|
|
18
|
+
}
|
|
19
|
+
export function getNumberEnvVar(name, defaultValue) {
|
|
20
|
+
const value = process.env[name];
|
|
21
|
+
if (value === undefined)
|
|
22
|
+
return defaultValue;
|
|
23
|
+
const parsed = parseInt(value, 10);
|
|
24
|
+
if (isNaN(parsed)) {
|
|
25
|
+
throw new Error(`Environment variable ${name} must be a valid number`);
|
|
26
|
+
}
|
|
27
|
+
return parsed;
|
|
28
|
+
}
|
|
29
|
+
export const config = {
|
|
30
|
+
businessMap: {
|
|
31
|
+
apiUrl: getRequiredEnvVar('BUSINESSMAP_API_URL'),
|
|
32
|
+
apiToken: getRequiredEnvVar('BUSINESSMAP_API_TOKEN'),
|
|
33
|
+
defaultWorkspaceId: getNumberEnvVar('BUSINESSMAP_DEFAULT_WORKSPACE_ID'),
|
|
34
|
+
readOnlyMode: getBooleanEnvVar('BUSINESSMAP_READ_ONLY_MODE', false),
|
|
35
|
+
},
|
|
36
|
+
server: {
|
|
37
|
+
name: process.env.MCP_SERVER_NAME || 'businessmap-mcp',
|
|
38
|
+
version: process.env.MCP_SERVER_VERSION || '1.0.0',
|
|
39
|
+
port: getNumberEnvVar('PORT'),
|
|
40
|
+
},
|
|
41
|
+
transport: {
|
|
42
|
+
sse: getBooleanEnvVar('SSE', false),
|
|
43
|
+
streamableHttp: getBooleanEnvVar('STREAMABLE_HTTP', true),
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
export function validateConfig() {
|
|
47
|
+
// Validate API URL format
|
|
48
|
+
try {
|
|
49
|
+
new URL(config.businessMap.apiUrl);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
throw new Error('BUSINESSMAP_API_URL must be a valid URL');
|
|
53
|
+
}
|
|
54
|
+
// Validate API token is not empty
|
|
55
|
+
if (!config.businessMap.apiToken.trim()) {
|
|
56
|
+
throw new Error('BUSINESSMAP_API_TOKEN cannot be empty');
|
|
57
|
+
}
|
|
58
|
+
logger.info('Configuration validated', {
|
|
59
|
+
serverName: config.server.name,
|
|
60
|
+
serverVersion: config.server.version,
|
|
61
|
+
apiUrl: config.businessMap.apiUrl,
|
|
62
|
+
readOnlyMode: config.businessMap.readOnlyMode
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/config/environment.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,6BAA6B;AAC7B,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,MAAM,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAenD,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,aAAa,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,eAAwB,KAAK;IAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC7C,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAAqB;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,yBAAyB,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAsB;IACvC,WAAW,EAAE;QACX,MAAM,EAAE,iBAAiB,CAAC,qBAAqB,CAAC;QAChD,QAAQ,EAAE,iBAAiB,CAAC,uBAAuB,CAAC;QACpD,kBAAkB,EAAE,eAAe,CAAC,kCAAkC,CAAC;QACvE,YAAY,EAAE,gBAAgB,CAAC,4BAA4B,EAAE,KAAK,CAAC;KACpE;IACD,MAAM,EAAE;QACN,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;QACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO;QAClD,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC;KAC9B;IACD,SAAS,EAAE;QACT,GAAG,EAAE,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;QACnC,cAAc,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC;KAC1D;CACF,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,0BAA0B;IAC1B,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;QACrC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO;QACpC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;QACjC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,YAAY;KAC9C,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|