@mcp-abap-adt/calm-server 0.1.0 → 0.2.1
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/CHANGELOG.md +103 -0
- package/README.md +48 -25
- package/dist/bin/stdio.js +9 -6
- package/dist/bin/stdio.js.map +1 -1
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +7 -1
- package/dist/server/config.js.map +1 -1
- package/dist/server/runStdio.d.ts +2 -4
- package/dist/server/runStdio.d.ts.map +1 -1
- package/dist/server/runStdio.js +15 -5
- package/dist/server/runStdio.js.map +1 -1
- package/dist/server/stderrLogger.d.ts +24 -0
- package/dist/server/stderrLogger.d.ts.map +1 -0
- package/dist/server/stderrLogger.js +44 -0
- package/dist/server/stderrLogger.js.map +1 -0
- package/dist/tools/documents/createDocument.d.ts +5 -0
- package/dist/tools/documents/createDocument.d.ts.map +1 -0
- package/dist/tools/documents/createDocument.js +48 -0
- package/dist/tools/documents/createDocument.js.map +1 -0
- package/dist/tools/documents/deleteDocument.d.ts +10 -0
- package/dist/tools/documents/deleteDocument.d.ts.map +1 -0
- package/dist/tools/documents/deleteDocument.js +35 -0
- package/dist/tools/documents/deleteDocument.js.map +1 -0
- package/dist/tools/documents/index.d.ts +10 -0
- package/dist/tools/documents/index.d.ts.map +1 -1
- package/dist/tools/documents/index.js +21 -1
- package/dist/tools/documents/index.js.map +1 -1
- package/dist/tools/documents/listDocumentStatuses.d.ts +7 -0
- package/dist/tools/documents/listDocumentStatuses.d.ts.map +1 -0
- package/dist/tools/documents/listDocumentStatuses.js +23 -0
- package/dist/tools/documents/listDocumentStatuses.js.map +1 -0
- package/dist/tools/documents/listDocumentTypes.d.ts +7 -0
- package/dist/tools/documents/listDocumentTypes.d.ts.map +1 -0
- package/dist/tools/documents/listDocumentTypes.js +23 -0
- package/dist/tools/documents/listDocumentTypes.js.map +1 -0
- package/dist/tools/documents/updateDocument.d.ts +7 -0
- package/dist/tools/documents/updateDocument.d.ts.map +1 -0
- package/dist/tools/documents/updateDocument.js +43 -0
- package/dist/tools/documents/updateDocument.js.map +1 -0
- package/dist/tools/features/createExternalReference.d.ts +5 -0
- package/dist/tools/features/createExternalReference.d.ts.map +1 -0
- package/dist/tools/features/createExternalReference.js +49 -0
- package/dist/tools/features/createExternalReference.js.map +1 -0
- package/dist/tools/features/deleteExternalReference.d.ts +12 -0
- package/dist/tools/features/deleteExternalReference.d.ts.map +1 -0
- package/dist/tools/features/deleteExternalReference.js +44 -0
- package/dist/tools/features/deleteExternalReference.js.map +1 -0
- package/dist/tools/features/index.d.ts +6 -0
- package/dist/tools/features/index.d.ts.map +1 -1
- package/dist/tools/features/index.js +13 -1
- package/dist/tools/features/index.js.map +1 -1
- package/dist/tools/features/listExternalReferences.d.ts +11 -0
- package/dist/tools/features/listExternalReferences.d.ts.map +1 -0
- package/dist/tools/features/listExternalReferences.js +47 -0
- package/dist/tools/features/listExternalReferences.js.map +1 -0
- package/dist/tools/hierarchy/createHierarchyNode.d.ts +5 -0
- package/dist/tools/hierarchy/createHierarchyNode.d.ts.map +1 -0
- package/dist/tools/hierarchy/createHierarchyNode.js +46 -0
- package/dist/tools/hierarchy/createHierarchyNode.js.map +1 -0
- package/dist/tools/hierarchy/deleteHierarchyNode.d.ts +10 -0
- package/dist/tools/hierarchy/deleteHierarchyNode.d.ts.map +1 -0
- package/dist/tools/hierarchy/deleteHierarchyNode.js +35 -0
- package/dist/tools/hierarchy/deleteHierarchyNode.js.map +1 -0
- package/dist/tools/hierarchy/index.d.ts +6 -0
- package/dist/tools/hierarchy/index.d.ts.map +1 -1
- package/dist/tools/hierarchy/index.js +13 -1
- package/dist/tools/hierarchy/index.js.map +1 -1
- package/dist/tools/hierarchy/listHierarchy.d.ts.map +1 -1
- package/dist/tools/hierarchy/listHierarchy.js +4 -2
- package/dist/tools/hierarchy/listHierarchy.js.map +1 -1
- package/dist/tools/hierarchy/updateHierarchyNode.d.ts +7 -0
- package/dist/tools/hierarchy/updateHierarchyNode.d.ts.map +1 -0
- package/dist/tools/hierarchy/updateHierarchyNode.js +38 -0
- package/dist/tools/hierarchy/updateHierarchyNode.js.map +1 -0
- package/dist/tools/logs/index.d.ts +2 -0
- package/dist/tools/logs/index.d.ts.map +1 -1
- package/dist/tools/logs/index.js +8 -2
- package/dist/tools/logs/index.js.map +1 -1
- package/dist/tools/logs/postLogs.d.ts +10 -0
- package/dist/tools/logs/postLogs.d.ts.map +1 -0
- package/dist/tools/logs/postLogs.js +58 -0
- package/dist/tools/logs/postLogs.js.map +1 -0
- package/dist/tools/projects/createProject.d.ts +5 -0
- package/dist/tools/projects/createProject.d.ts.map +1 -0
- package/dist/tools/projects/createProject.js +42 -0
- package/dist/tools/projects/createProject.js.map +1 -0
- package/dist/tools/projects/getProgram.d.ts +7 -0
- package/dist/tools/projects/getProgram.d.ts.map +1 -0
- package/dist/tools/projects/getProgram.js +32 -0
- package/dist/tools/projects/getProgram.js.map +1 -0
- package/dist/tools/projects/index.d.ts +10 -0
- package/dist/tools/projects/index.d.ts.map +1 -1
- package/dist/tools/projects/index.js +21 -1
- package/dist/tools/projects/index.js.map +1 -1
- package/dist/tools/projects/listPrograms.d.ts +10 -0
- package/dist/tools/projects/listPrograms.d.ts.map +1 -0
- package/dist/tools/projects/listPrograms.js +36 -0
- package/dist/tools/projects/listPrograms.js.map +1 -0
- package/dist/tools/projects/listTeamMembers.d.ts +11 -0
- package/dist/tools/projects/listTeamMembers.d.ts.map +1 -0
- package/dist/tools/projects/listTeamMembers.js +49 -0
- package/dist/tools/projects/listTeamMembers.js.map +1 -0
- package/dist/tools/projects/listTimeboxes.d.ts +11 -0
- package/dist/tools/projects/listTimeboxes.d.ts.map +1 -0
- package/dist/tools/projects/listTimeboxes.js +49 -0
- package/dist/tools/projects/listTimeboxes.js.map +1 -0
- package/dist/tools/tasks/createTask.d.ts +5 -0
- package/dist/tools/tasks/createTask.d.ts.map +1 -0
- package/dist/tools/tasks/createTask.js +58 -0
- package/dist/tools/tasks/createTask.js.map +1 -0
- package/dist/tools/tasks/createTaskComment.d.ts +7 -0
- package/dist/tools/tasks/createTaskComment.d.ts.map +1 -0
- package/dist/tools/tasks/createTaskComment.js +36 -0
- package/dist/tools/tasks/createTaskComment.js.map +1 -0
- package/dist/tools/tasks/deleteTask.d.ts +10 -0
- package/dist/tools/tasks/deleteTask.d.ts.map +1 -0
- package/dist/tools/tasks/deleteTask.js +35 -0
- package/dist/tools/tasks/deleteTask.js.map +1 -0
- package/dist/tools/tasks/index.d.ts +14 -0
- package/dist/tools/tasks/index.d.ts.map +1 -1
- package/dist/tools/tasks/index.js +29 -1
- package/dist/tools/tasks/index.js.map +1 -1
- package/dist/tools/tasks/listDeliverables.d.ts +11 -0
- package/dist/tools/tasks/listDeliverables.d.ts.map +1 -0
- package/dist/tools/tasks/listDeliverables.js +49 -0
- package/dist/tools/tasks/listDeliverables.js.map +1 -0
- package/dist/tools/tasks/listTaskReferences.d.ts +11 -0
- package/dist/tools/tasks/listTaskReferences.d.ts.map +1 -0
- package/dist/tools/tasks/listTaskReferences.js +46 -0
- package/dist/tools/tasks/listTaskReferences.js.map +1 -0
- package/dist/tools/tasks/listWorkstreams.d.ts +11 -0
- package/dist/tools/tasks/listWorkstreams.d.ts.map +1 -0
- package/dist/tools/tasks/listWorkstreams.js +49 -0
- package/dist/tools/tasks/listWorkstreams.js.map +1 -0
- package/dist/tools/tasks/updateTask.d.ts +7 -0
- package/dist/tools/tasks/updateTask.d.ts.map +1 -0
- package/dist/tools/tasks/updateTask.js +44 -0
- package/dist/tools/tasks/updateTask.js.map +1 -0
- package/dist/tools/testCases/createTestAction.d.ts +5 -0
- package/dist/tools/testCases/createTestAction.d.ts.map +1 -0
- package/dist/tools/testCases/createTestAction.js +54 -0
- package/dist/tools/testCases/createTestAction.js.map +1 -0
- package/dist/tools/testCases/createTestActivity.d.ts +5 -0
- package/dist/tools/testCases/createTestActivity.d.ts.map +1 -0
- package/dist/tools/testCases/createTestActivity.js +46 -0
- package/dist/tools/testCases/createTestActivity.js.map +1 -0
- package/dist/tools/testCases/createTestCase.d.ts +5 -0
- package/dist/tools/testCases/createTestCase.d.ts.map +1 -0
- package/dist/tools/testCases/createTestCase.js +42 -0
- package/dist/tools/testCases/createTestCase.js.map +1 -0
- package/dist/tools/testCases/deleteTestCase.d.ts +10 -0
- package/dist/tools/testCases/deleteTestCase.d.ts.map +1 -0
- package/dist/tools/testCases/deleteTestCase.js +35 -0
- package/dist/tools/testCases/deleteTestCase.js.map +1 -0
- package/dist/tools/testCases/index.d.ts +14 -0
- package/dist/tools/testCases/index.d.ts.map +1 -1
- package/dist/tools/testCases/index.js +29 -1
- package/dist/tools/testCases/index.js.map +1 -1
- package/dist/tools/testCases/listTestActions.d.ts +11 -0
- package/dist/tools/testCases/listTestActions.d.ts.map +1 -0
- package/dist/tools/testCases/listTestActions.js +45 -0
- package/dist/tools/testCases/listTestActions.js.map +1 -0
- package/dist/tools/testCases/listTestActivities.d.ts +11 -0
- package/dist/tools/testCases/listTestActivities.d.ts.map +1 -0
- package/dist/tools/testCases/listTestActivities.js +45 -0
- package/dist/tools/testCases/listTestActivities.js.map +1 -0
- package/dist/tools/testCases/listTestCases.d.ts.map +1 -1
- package/dist/tools/testCases/listTestCases.js +5 -7
- package/dist/tools/testCases/listTestCases.js.map +1 -1
- package/dist/tools/testCases/updateTestCase.d.ts +7 -0
- package/dist/tools/testCases/updateTestCase.d.ts.map +1 -0
- package/dist/tools/testCases/updateTestCase.js +38 -0
- package/dist/tools/testCases/updateTestCase.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,16 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HIERARCHY_GROUP = exports.HIERARCHY_HANDLERS = exports.listHierarchyTool = exports.getHierarchyWithChildrenTool = void 0;
|
|
3
|
+
exports.HIERARCHY_GROUP = exports.HIERARCHY_HANDLERS = exports.updateHierarchyNodeTool = exports.listHierarchyTool = exports.getHierarchyWithChildrenTool = exports.deleteHierarchyNodeTool = exports.createHierarchyNodeTool = void 0;
|
|
4
4
|
const HandlerGroup_1 = require("../../registry/HandlerGroup");
|
|
5
|
+
const createHierarchyNode_1 = require("./createHierarchyNode");
|
|
6
|
+
const deleteHierarchyNode_1 = require("./deleteHierarchyNode");
|
|
5
7
|
const getHierarchyWithChildren_1 = require("./getHierarchyWithChildren");
|
|
6
8
|
const listHierarchy_1 = require("./listHierarchy");
|
|
9
|
+
const updateHierarchyNode_1 = require("./updateHierarchyNode");
|
|
10
|
+
var createHierarchyNode_2 = require("./createHierarchyNode");
|
|
11
|
+
Object.defineProperty(exports, "createHierarchyNodeTool", { enumerable: true, get: function () { return createHierarchyNode_2.createHierarchyNodeTool; } });
|
|
12
|
+
var deleteHierarchyNode_2 = require("./deleteHierarchyNode");
|
|
13
|
+
Object.defineProperty(exports, "deleteHierarchyNodeTool", { enumerable: true, get: function () { return deleteHierarchyNode_2.deleteHierarchyNodeTool; } });
|
|
7
14
|
var getHierarchyWithChildren_2 = require("./getHierarchyWithChildren");
|
|
8
15
|
Object.defineProperty(exports, "getHierarchyWithChildrenTool", { enumerable: true, get: function () { return getHierarchyWithChildren_2.getHierarchyWithChildrenTool; } });
|
|
9
16
|
var listHierarchy_2 = require("./listHierarchy");
|
|
10
17
|
Object.defineProperty(exports, "listHierarchyTool", { enumerable: true, get: function () { return listHierarchy_2.listHierarchyTool; } });
|
|
18
|
+
var updateHierarchyNode_2 = require("./updateHierarchyNode");
|
|
19
|
+
Object.defineProperty(exports, "updateHierarchyNodeTool", { enumerable: true, get: function () { return updateHierarchyNode_2.updateHierarchyNodeTool; } });
|
|
11
20
|
exports.HIERARCHY_HANDLERS = [
|
|
12
21
|
listHierarchy_1.listHierarchyTool,
|
|
13
22
|
getHierarchyWithChildren_1.getHierarchyWithChildrenTool,
|
|
23
|
+
createHierarchyNode_1.createHierarchyNodeTool,
|
|
24
|
+
updateHierarchyNode_1.updateHierarchyNodeTool,
|
|
25
|
+
deleteHierarchyNode_1.deleteHierarchyNodeTool,
|
|
14
26
|
];
|
|
15
27
|
exports.HIERARCHY_GROUP = new HandlerGroup_1.HandlerGroup('hierarchy', exports.HIERARCHY_HANDLERS);
|
|
16
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/hierarchy/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,yEAA0E;AAC1E,mDAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/hierarchy/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,+DAAgE;AAChE,+DAAgE;AAChE,yEAA0E;AAC1E,mDAAoD;AACpD,+DAAgE;AAGhE,6DAAgE;AAAvD,8HAAA,uBAAuB,OAAA;AAKhC,6DAAgE;AAAvD,8HAAA,uBAAuB,OAAA;AAKhC,uEAA0E;AAAjE,wIAAA,4BAA4B,OAAA;AAErC,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAE1B,6DAAgE;AAAvD,8HAAA,uBAAuB,OAAA;AAEnB,QAAA,kBAAkB,GAAiC;IAC9D,iCAAiB;IACjB,uDAA4B;IAC5B,6CAAuB;IACvB,6CAAuB;IACvB,6CAAuB;CACxB,CAAC;AAEW,QAAA,eAAe,GAAG,IAAI,2BAAY,CAC7C,WAAW,EACX,0BAAkB,CACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listHierarchy.d.ts","sourceRoot":"","sources":["../../../src/tools/hierarchy/listHierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"listHierarchy.d.ts","sourceRoot":"","sources":["../../../src/tools/hierarchy/listHierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAc,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,aAAa,EAKnB,MAAM,aAAa,CAAC;AAarB,QAAA,MAAM,cAAc,mKAYV,CAAC;AACX,KAAK,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAqDD,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAC/C,kBAAkB,EAClB,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAIvC,CAAC"}
|
|
@@ -3,13 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.listHierarchyTool = void 0;
|
|
4
4
|
const calm_client_1 = require("@mcp-abap-adt/calm-client");
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
|
+
// `parentNodeUuid` and `rootNodeUuid` were previously in DEFAULT_FIELDS
|
|
7
|
+
// but HierarchyNodes doesn't expose either — sandbox returns 400 on
|
|
8
|
+
// $select. Kept in ALLOWED_FIELDS so a caller can opt in against a
|
|
9
|
+
// tenant that does expose them.
|
|
6
10
|
const DEFAULT_FIELDS = [
|
|
7
11
|
'uuid',
|
|
8
12
|
'displayId',
|
|
9
13
|
'title',
|
|
10
14
|
'hierarchyLevel',
|
|
11
|
-
'parentNodeUuid',
|
|
12
|
-
'rootNodeUuid',
|
|
13
15
|
];
|
|
14
16
|
const ALLOWED_FIELDS = [
|
|
15
17
|
'uuid',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listHierarchy.js","sourceRoot":"","sources":["../../../src/tools/hierarchy/listHierarchy.ts"],"names":[],"mappings":";;;AAAA,2DAA4E;AAM5E,uCAQqB;AAErB,MAAM,cAAc,GAAG;IACrB,MAAM;IACN,WAAW;IACX,OAAO;IACP,gBAAgB;
|
|
1
|
+
{"version":3,"file":"listHierarchy.js","sourceRoot":"","sources":["../../../src/tools/hierarchy/listHierarchy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IHierarchyNode, IUpdateHierarchyNodeParams } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
export interface IUpdateHierarchyNodeArgs extends IUpdateHierarchyNodeParams {
|
|
4
|
+
uuid: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const updateHierarchyNodeTool: ICalmHandlerEntry<IUpdateHierarchyNodeArgs, IHierarchyNode>;
|
|
7
|
+
//# sourceMappingURL=updateHierarchyNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateHierarchyNode.d.ts","sourceRoot":"","sources":["../../../src/tools/hierarchy/updateHierarchyNode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,IAAI,EAAE,MAAM,CAAC;CACd;AAoCD,eAAO,MAAM,uBAAuB,EAAE,iBAAiB,CACrD,wBAAwB,EACxB,cAAc,CAIf,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateHierarchyNodeTool = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const definition = {
|
|
6
|
+
name: 'calm_hierarchy_update_node',
|
|
7
|
+
description: 'Update fields on an existing hierarchy node (PATCH — only fields you pass are modified). Destructive. Identify the node by `uuid`. Returns the updated node.',
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['uuid'],
|
|
11
|
+
properties: {
|
|
12
|
+
uuid: { type: 'string', description: 'Hierarchy node UUID.' },
|
|
13
|
+
title: { type: 'string', description: 'New title.' },
|
|
14
|
+
description: { type: 'string', description: 'New description.' },
|
|
15
|
+
sequence: { type: 'integer', description: 'New sibling ordering.' },
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
const handler = async (ctx, args) => {
|
|
20
|
+
if (!args?.uuid) {
|
|
21
|
+
throw new utils_1.CalmToolError({
|
|
22
|
+
code: 'INVALID_ARGUMENT',
|
|
23
|
+
message: 'uuid is required',
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
const { uuid, ...patch } = args;
|
|
27
|
+
try {
|
|
28
|
+
return await ctx.calm.getHierarchy().update(uuid, patch);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.updateHierarchyNodeTool = {
|
|
35
|
+
toolDefinition: definition,
|
|
36
|
+
handler,
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=updateHierarchyNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateHierarchyNode.js","sourceRoot":"","sources":["../../../src/tools/hierarchy/updateHierarchyNode.ts"],"names":[],"mappings":";;;AASA,uCAAiE;AAMjE,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,8JAA8J;IAChK,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC7D,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE;YACpD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAChE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;SACpE;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAGT,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,uBAAuB,GAGhC;IACF,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -2,6 +2,8 @@ import { HandlerGroup } from '../../registry/HandlerGroup';
|
|
|
2
2
|
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
3
|
export type { IGetLogsArgs, IGetLogsResult } from './getLogs';
|
|
4
4
|
export { getLogsTool } from './getLogs';
|
|
5
|
+
export type { IPostLogsArgs, IPostLogsResult } from './postLogs';
|
|
6
|
+
export { postLogsTool } from './postLogs';
|
|
5
7
|
export declare const LOGS_HANDLERS: readonly ICalmHandlerEntry[];
|
|
6
8
|
export declare const LOGS_GROUP: HandlerGroup;
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/logs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAI9D,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,SAAS,iBAAiB,EAGrD,CAAC;AAEF,eAAO,MAAM,UAAU,cAA0C,CAAC"}
|
package/dist/tools/logs/index.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LOGS_GROUP = exports.LOGS_HANDLERS = exports.getLogsTool = void 0;
|
|
3
|
+
exports.LOGS_GROUP = exports.LOGS_HANDLERS = exports.postLogsTool = exports.getLogsTool = void 0;
|
|
4
4
|
const HandlerGroup_1 = require("../../registry/HandlerGroup");
|
|
5
5
|
const getLogs_1 = require("./getLogs");
|
|
6
|
+
const postLogs_1 = require("./postLogs");
|
|
6
7
|
var getLogs_2 = require("./getLogs");
|
|
7
8
|
Object.defineProperty(exports, "getLogsTool", { enumerable: true, get: function () { return getLogs_2.getLogsTool; } });
|
|
8
|
-
|
|
9
|
+
var postLogs_2 = require("./postLogs");
|
|
10
|
+
Object.defineProperty(exports, "postLogsTool", { enumerable: true, get: function () { return postLogs_2.postLogsTool; } });
|
|
11
|
+
exports.LOGS_HANDLERS = [
|
|
12
|
+
getLogs_1.getLogsTool,
|
|
13
|
+
postLogs_1.postLogsTool,
|
|
14
|
+
];
|
|
9
15
|
exports.LOGS_GROUP = new HandlerGroup_1.HandlerGroup('logs', exports.LOGS_HANDLERS);
|
|
10
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/logs/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,uCAAwC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/logs/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,uCAAwC;AACxC,yCAA0C;AAG1C,qCAAwC;AAA/B,sGAAA,WAAW,OAAA;AAEpB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AAER,QAAA,aAAa,GAAiC;IACzD,qBAAW;IACX,uBAAY;CACb,CAAC;AAEW,QAAA,UAAU,GAAG,IAAI,2BAAY,CAAC,MAAM,EAAE,qBAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IPostLogsParams } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
export interface IPostLogsArgs extends IPostLogsParams {
|
|
4
|
+
records: unknown;
|
|
5
|
+
}
|
|
6
|
+
export interface IPostLogsResult {
|
|
7
|
+
result: unknown;
|
|
8
|
+
}
|
|
9
|
+
export declare const postLogsTool: ICalmHandlerEntry<IPostLogsArgs, IPostLogsResult>;
|
|
10
|
+
//# sourceMappingURL=postLogs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postLogs.d.ts","sourceRoot":"","sources":["../../../src/tools/logs/postLogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;CACjB;AA0DD,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,aAAa,EAAE,eAAe,CAG1E,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postLogsTool = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const definition = {
|
|
6
|
+
name: 'calm_logs_post',
|
|
7
|
+
description: "Post inbound log records to Cloud ALM Logs (OpenTelemetry-style). Destructive. Requires `useCase` and `serviceId` (routing keys) plus a `records` payload (caller-defined shape — the Logs API does not enforce a schema). Returns the server's response wrapped under `result`.",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['useCase', 'serviceId', 'records'],
|
|
11
|
+
properties: {
|
|
12
|
+
useCase: {
|
|
13
|
+
type: 'string',
|
|
14
|
+
description: 'Routing key — Cloud ALM use-case identifier.',
|
|
15
|
+
},
|
|
16
|
+
serviceId: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
description: 'Routing key — id of the emitting service.',
|
|
19
|
+
},
|
|
20
|
+
version: { type: 'string', description: 'Optional schema version.' },
|
|
21
|
+
dev: {
|
|
22
|
+
type: 'boolean',
|
|
23
|
+
description: 'Optional dev-mode flag (passed through as a query param).',
|
|
24
|
+
},
|
|
25
|
+
tag: { type: 'string', description: 'Optional free-form tag.' },
|
|
26
|
+
records: {
|
|
27
|
+
description: 'Log payload. Shape is caller-defined; pass an array, an object, or whatever the receiving use-case expects.',
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const handler = async (ctx, args) => {
|
|
33
|
+
if (!args?.useCase || !args?.serviceId) {
|
|
34
|
+
throw new utils_1.CalmToolError({
|
|
35
|
+
code: 'INVALID_ARGUMENT',
|
|
36
|
+
message: 'useCase and serviceId are required',
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (args.records === undefined) {
|
|
40
|
+
throw new utils_1.CalmToolError({
|
|
41
|
+
code: 'INVALID_ARGUMENT',
|
|
42
|
+
message: 'records is required',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const { records, ...params } = args;
|
|
46
|
+
try {
|
|
47
|
+
const result = await ctx.calm.getLogs().post(params, records);
|
|
48
|
+
return { result };
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.postLogsTool = {
|
|
55
|
+
toolDefinition: definition,
|
|
56
|
+
handler,
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=postLogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postLogs.js","sourceRoot":"","sources":["../../../src/tools/logs/postLogs.ts"],"names":[],"mappings":";;;AAMA,uCAAiE;AAUjE,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,kRAAkR;IACpR,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC;QAC7C,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8CAA8C;aAC5D;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2CAA2C;aACzD;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACpE,GAAG,EAAE;gBACH,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,2DAA2D;aAC9D;YACD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;YAC/D,OAAO,EAAE;gBACP,WAAW,EACT,6GAA6G;aAChH;SACF;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAoD,KAAK,EACpE,GAAG,EACH,IAAI,EACJ,EAAE;IACF,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACvC,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,oCAAoC;SAC9C,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,qBAAqB;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,YAAY,GAAsD;IAC7E,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ICreateProjectParams, IProject } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
export type ICreateProjectArgs = ICreateProjectParams;
|
|
4
|
+
export declare const createProjectTool: ICalmHandlerEntry<ICreateProjectArgs, IProject>;
|
|
5
|
+
//# sourceMappingURL=createProject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProject.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/createProject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAwCtD,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAC/C,kBAAkB,EAClB,QAAQ,CAIT,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createProjectTool = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const definition = {
|
|
6
|
+
name: 'calm_projects_create',
|
|
7
|
+
description: 'Create a new Cloud ALM project. Destructive. Requires `name`; `description` and `programId` are optional. Returns the newly created project (including the server-generated id).',
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['name'],
|
|
11
|
+
properties: {
|
|
12
|
+
name: { type: 'string', description: 'Project name.' },
|
|
13
|
+
description: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Optional long-form description.',
|
|
16
|
+
},
|
|
17
|
+
programId: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'Optional parent program id.',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const handler = async (ctx, args) => {
|
|
25
|
+
if (!args?.name) {
|
|
26
|
+
throw new utils_1.CalmToolError({
|
|
27
|
+
code: 'INVALID_ARGUMENT',
|
|
28
|
+
message: 'name is required',
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
try {
|
|
32
|
+
return await ctx.calm.getProjects().create(args);
|
|
33
|
+
}
|
|
34
|
+
catch (err) {
|
|
35
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.createProjectTool = {
|
|
39
|
+
toolDefinition: definition,
|
|
40
|
+
handler,
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=createProject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProject.js","sourceRoot":"","sources":["../../../src/tools/projects/createProject.ts"],"names":[],"mappings":";;;AAMA,uCAAiE;AAIjE,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EACT,kLAAkL;IACpL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE;YACtD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;SACF;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAAkD,KAAK,EAClE,GAAG,EACH,IAAI,EACJ,EAAE;IACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,kBAAkB;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,iBAAiB,GAG1B;IACF,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IProgram } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
export interface IGetProgramArgs {
|
|
4
|
+
id: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const getProgramTool: ICalmHandlerEntry<IGetProgramArgs, IProgram>;
|
|
7
|
+
//# sourceMappingURL=getProgram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProgram.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/getProgram.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AA8BD,eAAO,MAAM,cAAc,EAAE,iBAAiB,CAAC,eAAe,EAAE,QAAQ,CAGvE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getProgramTool = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const definition = {
|
|
6
|
+
name: 'calm_projects_get_program',
|
|
7
|
+
description: 'Fetch a Cloud ALM program by id. A program is the parent organisational unit that groups one or more projects.',
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object',
|
|
10
|
+
required: ['id'],
|
|
11
|
+
properties: { id: { type: 'string', description: 'Program id.' } },
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const handler = async (ctx, args) => {
|
|
15
|
+
if (!args?.id) {
|
|
16
|
+
throw new utils_1.CalmToolError({
|
|
17
|
+
code: 'INVALID_ARGUMENT',
|
|
18
|
+
message: 'id is required',
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
return await ctx.calm.getProjects().getProgram(args.id);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.getProgramTool = {
|
|
29
|
+
toolDefinition: definition,
|
|
30
|
+
handler,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=getProgram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getProgram.js","sourceRoot":"","sources":["../../../src/tools/projects/getProgram.ts"],"names":[],"mappings":";;;AAMA,uCAAiE;AAMjE,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,gHAAgH;IAClH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,IAAI,CAAC;QAChB,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;KACnE;CACF,CAAC;AAEF,MAAM,OAAO,GAA+C,KAAK,EAC/D,GAAG,EACH,IAAI,EACJ,EAAE;IACF,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,cAAc,GAAiD;IAC1E,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { HandlerGroup } from '../../registry/HandlerGroup';
|
|
2
2
|
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
export type { ICreateProjectArgs } from './createProject';
|
|
4
|
+
export { createProjectTool } from './createProject';
|
|
5
|
+
export type { IGetProgramArgs } from './getProgram';
|
|
6
|
+
export { getProgramTool } from './getProgram';
|
|
3
7
|
export type { IGetProjectArgs } from './getProject';
|
|
4
8
|
export { getProjectTool } from './getProject';
|
|
9
|
+
export type { IListProgramsArgs } from './listPrograms';
|
|
10
|
+
export { listProgramsTool } from './listPrograms';
|
|
5
11
|
export type { IListProjectsArgs } from './listProjects';
|
|
6
12
|
export { listProjectsTool } from './listProjects';
|
|
13
|
+
export type { IListTeamMembersArgs } from './listTeamMembers';
|
|
14
|
+
export { listTeamMembersTool } from './listTeamMembers';
|
|
15
|
+
export type { IListTimeboxesArgs } from './listTimeboxes';
|
|
16
|
+
export { listTimeboxesTool } from './listTimeboxes';
|
|
7
17
|
export declare const PROJECTS_HANDLERS: readonly ICalmHandlerEntry[];
|
|
8
18
|
export declare const PROJECTS_GROUP: HandlerGroup;
|
|
9
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAS9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAE,SAAS,iBAAiB,EAQzD,CAAC;AAEF,eAAO,MAAM,cAAc,cAAkD,CAAC"}
|
|
@@ -1,16 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PROJECTS_GROUP = exports.PROJECTS_HANDLERS = exports.listProjectsTool = exports.getProjectTool = void 0;
|
|
3
|
+
exports.PROJECTS_GROUP = exports.PROJECTS_HANDLERS = exports.listTimeboxesTool = exports.listTeamMembersTool = exports.listProjectsTool = exports.listProgramsTool = exports.getProjectTool = exports.getProgramTool = exports.createProjectTool = void 0;
|
|
4
4
|
const HandlerGroup_1 = require("../../registry/HandlerGroup");
|
|
5
|
+
const createProject_1 = require("./createProject");
|
|
6
|
+
const getProgram_1 = require("./getProgram");
|
|
5
7
|
const getProject_1 = require("./getProject");
|
|
8
|
+
const listPrograms_1 = require("./listPrograms");
|
|
6
9
|
const listProjects_1 = require("./listProjects");
|
|
10
|
+
const listTeamMembers_1 = require("./listTeamMembers");
|
|
11
|
+
const listTimeboxes_1 = require("./listTimeboxes");
|
|
12
|
+
var createProject_2 = require("./createProject");
|
|
13
|
+
Object.defineProperty(exports, "createProjectTool", { enumerable: true, get: function () { return createProject_2.createProjectTool; } });
|
|
14
|
+
var getProgram_2 = require("./getProgram");
|
|
15
|
+
Object.defineProperty(exports, "getProgramTool", { enumerable: true, get: function () { return getProgram_2.getProgramTool; } });
|
|
7
16
|
var getProject_2 = require("./getProject");
|
|
8
17
|
Object.defineProperty(exports, "getProjectTool", { enumerable: true, get: function () { return getProject_2.getProjectTool; } });
|
|
18
|
+
var listPrograms_2 = require("./listPrograms");
|
|
19
|
+
Object.defineProperty(exports, "listProgramsTool", { enumerable: true, get: function () { return listPrograms_2.listProgramsTool; } });
|
|
9
20
|
var listProjects_2 = require("./listProjects");
|
|
10
21
|
Object.defineProperty(exports, "listProjectsTool", { enumerable: true, get: function () { return listProjects_2.listProjectsTool; } });
|
|
22
|
+
var listTeamMembers_2 = require("./listTeamMembers");
|
|
23
|
+
Object.defineProperty(exports, "listTeamMembersTool", { enumerable: true, get: function () { return listTeamMembers_2.listTeamMembersTool; } });
|
|
24
|
+
var listTimeboxes_2 = require("./listTimeboxes");
|
|
25
|
+
Object.defineProperty(exports, "listTimeboxesTool", { enumerable: true, get: function () { return listTimeboxes_2.listTimeboxesTool; } });
|
|
11
26
|
exports.PROJECTS_HANDLERS = [
|
|
12
27
|
listProjects_1.listProjectsTool,
|
|
13
28
|
getProject_1.getProjectTool,
|
|
29
|
+
createProject_1.createProjectTool,
|
|
30
|
+
listPrograms_1.listProgramsTool,
|
|
31
|
+
getProgram_1.getProgramTool,
|
|
32
|
+
listTeamMembers_1.listTeamMembersTool,
|
|
33
|
+
listTimeboxes_1.listTimeboxesTool,
|
|
14
34
|
];
|
|
15
35
|
exports.PROJECTS_GROUP = new HandlerGroup_1.HandlerGroup('projects', exports.PROJECTS_HANDLERS);
|
|
16
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/projects/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,6CAA8C;AAC9C,iDAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/projects/index.ts"],"names":[],"mappings":";;;AAAA,8DAA2D;AAE3D,mDAAoD;AACpD,6CAA8C;AAC9C,6CAA8C;AAC9C,iDAAkD;AAClD,iDAAkD;AAClD,uDAAwD;AACxD,mDAAoD;AAGpD,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAE1B,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAEvB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AAEvB,+CAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AAEzB,+CAAkD;AAAzC,gHAAA,gBAAgB,OAAA;AAEzB,qDAAwD;AAA/C,sHAAA,mBAAmB,OAAA;AAE5B,iDAAoD;AAA3C,kHAAA,iBAAiB,OAAA;AAEb,QAAA,iBAAiB,GAAiC;IAC7D,+BAAgB;IAChB,2BAAc;IACd,iCAAiB;IACjB,+BAAgB;IAChB,2BAAc;IACd,qCAAmB;IACnB,iCAAiB;CAClB,CAAC;AAEW,QAAA,cAAc,GAAG,IAAI,2BAAY,CAAC,UAAU,EAAE,yBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type IProgram } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
import { type IListResponse } from '../../utils';
|
|
4
|
+
export interface IListProgramsArgs {
|
|
5
|
+
limit?: number;
|
|
6
|
+
offset?: number;
|
|
7
|
+
withCount?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const listProgramsTool: ICalmHandlerEntry<IListProgramsArgs, IListResponse<IProgram>>;
|
|
10
|
+
//# sourceMappingURL=listPrograms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listPrograms.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/listPrograms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,aAAa,EAInB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgCD,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAC9C,iBAAiB,EACjB,aAAa,CAAC,QAAQ,CAAC,CAIxB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listProgramsTool = void 0;
|
|
4
|
+
const calm_client_1 = require("@mcp-abap-adt/calm-client");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const definition = {
|
|
7
|
+
name: 'calm_projects_list_programs',
|
|
8
|
+
description: 'List Cloud ALM programs (the parent organisational unit grouping projects). Paginated; pair with calm_projects_get_program for detail.',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
type: 'object',
|
|
11
|
+
properties: {
|
|
12
|
+
limit: { type: 'integer', minimum: 1, maximum: utils_1.MAX_LIST_LIMIT },
|
|
13
|
+
offset: { type: 'integer', minimum: 0 },
|
|
14
|
+
withCount: { type: 'boolean' },
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const handler = async (ctx, args) => {
|
|
19
|
+
const limit = (0, utils_1.clampListLimit)(args?.limit);
|
|
20
|
+
const offset = args?.offset && args.offset > 0 ? Math.floor(args.offset) : 0;
|
|
21
|
+
let query = calm_client_1.ODataQuery.new().top(limit).skip(offset);
|
|
22
|
+
if (args?.withCount)
|
|
23
|
+
query = query.count();
|
|
24
|
+
try {
|
|
25
|
+
const collection = await ctx.calm.getProjects().listPrograms(query);
|
|
26
|
+
return (0, utils_1.toListResponse)(collection, { limit, offset });
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.listProgramsTool = {
|
|
33
|
+
toolDefinition: definition,
|
|
34
|
+
handler,
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=listPrograms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listPrograms.js","sourceRoot":"","sources":["../../../src/tools/projects/listPrograms.ts"],"names":[],"mappings":";;;AAAA,2DAAsE;AAMtE,uCAMqB;AAQrB,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,wIAAwI;IAC1I,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAc,EAAE;YAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;YACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/B;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAGT,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,IAAI,KAAK,GAAG,wBAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,IAAA,sBAAc,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,gBAAgB,GAGzB;IACF,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ITeamMember } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
import { type IListResponse } from '../../utils';
|
|
4
|
+
export interface IListTeamMembersArgs {
|
|
5
|
+
projectId: string;
|
|
6
|
+
limit?: number;
|
|
7
|
+
offset?: number;
|
|
8
|
+
withCount?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const listTeamMembersTool: ICalmHandlerEntry<IListTeamMembersArgs, IListResponse<ITeamMember>>;
|
|
11
|
+
//# sourceMappingURL=listTeamMembers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listTeamMembers.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/listTeamMembers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6CD,eAAO,MAAM,mBAAmB,EAAE,iBAAiB,CACjD,oBAAoB,EACpB,aAAa,CAAC,WAAW,CAAC,CAI3B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listTeamMembersTool = void 0;
|
|
4
|
+
const calm_client_1 = require("@mcp-abap-adt/calm-client");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const definition = {
|
|
7
|
+
name: 'calm_projects_list_team_members',
|
|
8
|
+
description: 'List the team members assigned to a Cloud ALM project. Requires `projectId`. Returns user ids, names, and roles per the project assignment table.',
|
|
9
|
+
inputSchema: {
|
|
10
|
+
type: 'object',
|
|
11
|
+
required: ['projectId'],
|
|
12
|
+
properties: {
|
|
13
|
+
projectId: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Project id (required scope).',
|
|
16
|
+
},
|
|
17
|
+
limit: { type: 'integer', minimum: 1, maximum: utils_1.MAX_LIST_LIMIT },
|
|
18
|
+
offset: { type: 'integer', minimum: 0 },
|
|
19
|
+
withCount: { type: 'boolean' },
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const handler = async (ctx, args) => {
|
|
24
|
+
if (!args?.projectId) {
|
|
25
|
+
throw new utils_1.CalmToolError({
|
|
26
|
+
code: 'INVALID_ARGUMENT',
|
|
27
|
+
message: 'projectId is required',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
const limit = (0, utils_1.clampListLimit)(args.limit);
|
|
31
|
+
const offset = args.offset && args.offset > 0 ? Math.floor(args.offset) : 0;
|
|
32
|
+
let query = calm_client_1.ODataQuery.new().top(limit).skip(offset);
|
|
33
|
+
if (args.withCount)
|
|
34
|
+
query = query.count();
|
|
35
|
+
try {
|
|
36
|
+
const collection = await ctx.calm
|
|
37
|
+
.getProjects()
|
|
38
|
+
.listTeamMembers(args.projectId, query);
|
|
39
|
+
return (0, utils_1.toListResponse)(collection, { limit, offset });
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw (0, utils_1.mapCalmErrorForTool)(err);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.listTeamMembersTool = {
|
|
46
|
+
toolDefinition: definition,
|
|
47
|
+
handler,
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=listTeamMembers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listTeamMembers.js","sourceRoot":"","sources":["../../../src/tools/projects/listTeamMembers.ts"],"names":[],"mappings":";;;AAAA,2DAAyE;AAMzE,uCAOqB;AASrB,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,iCAAiC;IACvC,WAAW,EACT,mJAAmJ;IACrJ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8BAA8B;aAC5C;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAc,EAAE;YAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;YACvC,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC/B;KACF;CACF,CAAC;AAEF,MAAM,OAAO,GAGT,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACtB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,qBAAa,CAAC;YACtB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,sBAAc,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,wBAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,IAAI;aAC9B,WAAW,EAAE;aACb,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,IAAA,sBAAc,EAAC,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAC;IACjC,CAAC;AACH,CAAC,CAAC;AAEW,QAAA,mBAAmB,GAG5B;IACF,cAAc,EAAE,UAAU;IAC1B,OAAO;CACR,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ITimebox } from '@mcp-abap-adt/calm-client';
|
|
2
|
+
import type { ICalmHandlerEntry } from '../../registry/types';
|
|
3
|
+
import { type IListResponse } from '../../utils';
|
|
4
|
+
export interface IListTimeboxesArgs {
|
|
5
|
+
projectId: string;
|
|
6
|
+
limit?: number;
|
|
7
|
+
offset?: number;
|
|
8
|
+
withCount?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const listTimeboxesTool: ICalmHandlerEntry<IListTimeboxesArgs, IListResponse<ITimebox>>;
|
|
11
|
+
//# sourceMappingURL=listTimeboxes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listTimeboxes.d.ts","sourceRoot":"","sources":["../../../src/tools/projects/listTimeboxes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6CD,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,CAC/C,kBAAkB,EAClB,aAAa,CAAC,QAAQ,CAAC,CAIxB,CAAC"}
|