@sap-ux/fiori-mcp-server 0.0.4 → 0.0.6
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/dist/server.d.ts +4 -0
- package/dist/server.js +20 -4
- package/dist/telemetry/index.d.ts +68 -0
- package/dist/telemetry/index.js +146 -0
- package/dist/tools/execute-functionality.d.ts +2 -2
- package/dist/tools/functionalities/functionalities.d.ts +58 -1
- package/dist/tools/functionalities/generate-fiori-ui-app/command.d.ts +2 -2
- package/dist/tools/get-functionality-details.js +1 -1
- package/dist/tools/index.js +44 -10
- package/dist/tools/utils.d.ts +10 -0
- package/dist/tools/utils.js +49 -1
- package/dist/types/basic.d.ts +123 -0
- package/dist/types/basic.js +108 -0
- package/dist/types/index.d.ts +38 -0
- package/dist/{types.js → types/index.js} +1 -1
- package/dist/types/input.d.ts +29 -0
- package/dist/types/input.js +77 -0
- package/dist/types/output.d.ts +125 -0
- package/dist/types/output.js +97 -0
- package/package.json +11 -7
- package/dist/tools/input-schema/execute-functionality.json +0 -28
- package/dist/tools/input-schema/get-functionality-details.json +0 -24
- package/dist/tools/input-schema/index.d.ts +0 -5
- package/dist/tools/input-schema/index.js +0 -15
- package/dist/tools/input-schema/list-fiori-apps.json +0 -12
- package/dist/tools/input-schema/list-functionality.json +0 -10
- package/dist/tools/output-schema/execute-functionality.json +0 -39
- package/dist/tools/output-schema/get-functionality-details.json +0 -166
- package/dist/tools/output-schema/index.d.ts +0 -5
- package/dist/tools/output-schema/index.js +0 -15
- package/dist/tools/output-schema/list-fiori-apps.json +0 -41
- package/dist/tools/output-schema/list-functionality.json +0 -37
- package/dist/types.d.ts +0 -174
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as zod from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Interface representing a Fiori application
|
|
4
|
+
*/
|
|
5
|
+
export declare const FioriAppSchema: zod.ZodObject<{
|
|
6
|
+
name: zod.ZodString;
|
|
7
|
+
appPath: zod.ZodString;
|
|
8
|
+
projectPath: zod.ZodString;
|
|
9
|
+
projectType: zod.ZodEnum<{
|
|
10
|
+
EDMXBackend: "EDMXBackend";
|
|
11
|
+
CAPJava: "CAPJava";
|
|
12
|
+
CAPNodejs: "CAPNodejs";
|
|
13
|
+
}>;
|
|
14
|
+
odataVersion: zod.ZodString;
|
|
15
|
+
}, zod.z.core.$strip>;
|
|
16
|
+
/**
|
|
17
|
+
* Type for functionality id
|
|
18
|
+
*/
|
|
19
|
+
export declare const FunctionalityIdSchema: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
20
|
+
export type Test = zod.infer<typeof FunctionalityIdSchema>;
|
|
21
|
+
/**
|
|
22
|
+
* Schema representing a functionality
|
|
23
|
+
*/
|
|
24
|
+
export declare const FunctionalitySchema: zod.ZodObject<{
|
|
25
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
26
|
+
description: zod.ZodString;
|
|
27
|
+
}, zod.z.core.$strip>;
|
|
28
|
+
/**
|
|
29
|
+
* Schema for a Parameter
|
|
30
|
+
*/
|
|
31
|
+
declare const BaseParameterSchema: zod.ZodObject<{
|
|
32
|
+
id: zod.ZodString;
|
|
33
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
34
|
+
type: zod.ZodEnum<{
|
|
35
|
+
string: "string";
|
|
36
|
+
number: "number";
|
|
37
|
+
boolean: "boolean";
|
|
38
|
+
object: "object";
|
|
39
|
+
array: "array";
|
|
40
|
+
}>;
|
|
41
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
42
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
43
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
44
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
45
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
46
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
47
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
48
|
+
}, zod.z.core.$strip>;
|
|
49
|
+
export declare const ParameterSchema: zod.ZodObject<{
|
|
50
|
+
id: zod.ZodString;
|
|
51
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
52
|
+
type: zod.ZodEnum<{
|
|
53
|
+
string: "string";
|
|
54
|
+
number: "number";
|
|
55
|
+
boolean: "boolean";
|
|
56
|
+
object: "object";
|
|
57
|
+
array: "array";
|
|
58
|
+
}>;
|
|
59
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
60
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
61
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
62
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
63
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
64
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
65
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
66
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
67
|
+
id: zod.ZodString;
|
|
68
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
69
|
+
type: zod.ZodEnum<{
|
|
70
|
+
string: "string";
|
|
71
|
+
number: "number";
|
|
72
|
+
boolean: "boolean";
|
|
73
|
+
object: "object";
|
|
74
|
+
array: "array";
|
|
75
|
+
}>;
|
|
76
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
77
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
78
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
79
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
80
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
81
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
82
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
83
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
84
|
+
id: zod.ZodString;
|
|
85
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
86
|
+
type: zod.ZodEnum<{
|
|
87
|
+
string: "string";
|
|
88
|
+
number: "number";
|
|
89
|
+
boolean: "boolean";
|
|
90
|
+
object: "object";
|
|
91
|
+
array: "array";
|
|
92
|
+
}>;
|
|
93
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
94
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
95
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
96
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
97
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
98
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
99
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
100
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
101
|
+
id: zod.ZodString;
|
|
102
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
103
|
+
type: zod.ZodEnum<{
|
|
104
|
+
string: "string";
|
|
105
|
+
number: "number";
|
|
106
|
+
boolean: "boolean";
|
|
107
|
+
object: "object";
|
|
108
|
+
array: "array";
|
|
109
|
+
}>;
|
|
110
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
111
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
112
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
113
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
114
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
115
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
116
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
117
|
+
}, zod.z.core.$strip>>>;
|
|
118
|
+
}, zod.z.core.$strip>>>;
|
|
119
|
+
}, zod.z.core.$strip>>>;
|
|
120
|
+
}, zod.z.core.$strip>;
|
|
121
|
+
export type Parameter = zod.infer<typeof BaseParameterSchema>;
|
|
122
|
+
export {};
|
|
123
|
+
//# sourceMappingURL=basic.d.ts.map
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ParameterSchema = exports.FunctionalitySchema = exports.FunctionalityIdSchema = exports.FioriAppSchema = void 0;
|
|
37
|
+
const zod = __importStar(require("zod"));
|
|
38
|
+
/**
|
|
39
|
+
* Interface representing a Fiori application
|
|
40
|
+
*/
|
|
41
|
+
exports.FioriAppSchema = zod.object({
|
|
42
|
+
/** Name of the Fiori application */
|
|
43
|
+
name: zod
|
|
44
|
+
.string()
|
|
45
|
+
.describe("Name of the Fiori application. Usually derived from the `sap.app/id` field in the application's manifest.json."),
|
|
46
|
+
/** Path to the Fiori application */
|
|
47
|
+
appPath: zod.string().describe("Absolute path to the Fiori application's root directory."),
|
|
48
|
+
/** Path to project */
|
|
49
|
+
projectPath: zod
|
|
50
|
+
.string()
|
|
51
|
+
.describe('Absolute path to the root directory of the project containing this Fiori application. For EDMXBackend (standalone) projects, this is the same as `appPath`. For CAP projects, this points to the CAP project root, which may contain multiple Fiori applications.'),
|
|
52
|
+
/** Type of the Fiori project */
|
|
53
|
+
projectType: zod
|
|
54
|
+
.enum(['EDMXBackend', 'CAPJava', 'CAPNodejs'])
|
|
55
|
+
.describe('Type of project the application belongs to.'),
|
|
56
|
+
/** OData version of the Fiori application */
|
|
57
|
+
odataVersion: zod.string().describe("OData protocol version used by the application's main service.")
|
|
58
|
+
});
|
|
59
|
+
/**
|
|
60
|
+
* Type for functionality id
|
|
61
|
+
*/
|
|
62
|
+
exports.FunctionalityIdSchema = zod.union([zod.string(), zod.array(zod.union([zod.string(), zod.number()]))]);
|
|
63
|
+
/**
|
|
64
|
+
* Schema representing a functionality
|
|
65
|
+
*/
|
|
66
|
+
exports.FunctionalitySchema = zod.object({
|
|
67
|
+
functionalityId: exports.FunctionalityIdSchema.describe('Identifier to pass as the `functionalityId` parameter when calling `get-functionality-details` or `execute-functionality`'),
|
|
68
|
+
description: zod.string()
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Schema for a Parameter
|
|
72
|
+
*/
|
|
73
|
+
const BaseParameterSchema = zod.object({
|
|
74
|
+
/** ID of the parameter */
|
|
75
|
+
id: zod.string(),
|
|
76
|
+
/** Name of the parameter */
|
|
77
|
+
name: zod.string().optional(),
|
|
78
|
+
/** Type of the parameter */
|
|
79
|
+
type: zod.enum(['string', 'number', 'boolean', 'array', 'object']),
|
|
80
|
+
/** Whether the parameter is required */
|
|
81
|
+
required: zod.boolean().optional(),
|
|
82
|
+
/** Description of the parameter */
|
|
83
|
+
description: zod.string().optional(),
|
|
84
|
+
/** Default value of the parameter */
|
|
85
|
+
defaultValue: zod.unknown().optional(),
|
|
86
|
+
/** Possible options for the parameter */
|
|
87
|
+
options: zod.array(zod.union([zod.string(), zod.number(), zod.boolean(), zod.null()])).optional(),
|
|
88
|
+
/** Current value of the parameter */
|
|
89
|
+
currentValue: zod.unknown().optional(),
|
|
90
|
+
/** Examples for the parameter */
|
|
91
|
+
examples: zod.array(zod.string()).optional(),
|
|
92
|
+
/** Regex pattern to validate the value of this parameter */
|
|
93
|
+
pattern: zod.string().optional()
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* Parameters with nesting
|
|
97
|
+
*/
|
|
98
|
+
const NestedParameterSchema = BaseParameterSchema.extend({
|
|
99
|
+
parameters: zod
|
|
100
|
+
.array(BaseParameterSchema.extend({
|
|
101
|
+
parameters: zod.array(BaseParameterSchema).optional()
|
|
102
|
+
}))
|
|
103
|
+
.optional()
|
|
104
|
+
});
|
|
105
|
+
exports.ParameterSchema = BaseParameterSchema.extend({
|
|
106
|
+
parameters: zod.array(NestedParameterSchema).optional()
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=basic.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type * as zod from 'zod';
|
|
2
|
+
import type { ApplicationAccess } from '@sap-ux/project-access';
|
|
3
|
+
import type { FioriAppSchema, FunctionalityIdSchema, FunctionalitySchema, ParameterSchema } from './basic';
|
|
4
|
+
import type { ExecuteFunctionalityInputSchema, GetFunctionalityDetailsInputSchema, ListFioriAppsInputSchema, ListFunctionalitiesInputSchema } from './input';
|
|
5
|
+
import type { ExecuteFunctionalityOutputSchema, GetFunctionalityDetailsOutputSchema, ListFioriAppsOutputSchema, ListFunctionalitiesOutputSchema } from './output';
|
|
6
|
+
export type FioriApp = zod.infer<typeof FioriAppSchema>;
|
|
7
|
+
export type FunctionalityId = zod.infer<typeof FunctionalityIdSchema>;
|
|
8
|
+
export type Parameter = zod.infer<typeof ParameterSchema>;
|
|
9
|
+
export type Functionality = zod.infer<typeof FunctionalitySchema>;
|
|
10
|
+
export type ListFioriAppsInput = zod.infer<typeof ListFioriAppsInputSchema>;
|
|
11
|
+
export type ListFioriAppsOutput = zod.infer<typeof ListFioriAppsOutputSchema>;
|
|
12
|
+
export type ListFunctionalitiesInput = zod.infer<typeof ListFunctionalitiesInputSchema>;
|
|
13
|
+
export type ListFunctionalitiesOutput = zod.infer<typeof ListFunctionalitiesOutputSchema>;
|
|
14
|
+
export type GetFunctionalityDetailsInput = zod.infer<typeof GetFunctionalityDetailsInputSchema>;
|
|
15
|
+
export type GetFunctionalityDetailsOutput = zod.infer<typeof GetFunctionalityDetailsOutputSchema>;
|
|
16
|
+
export type ExecuteFunctionalityInput = zod.infer<typeof ExecuteFunctionalityInputSchema>;
|
|
17
|
+
export type ExecuteFunctionalityOutput = zod.infer<typeof ExecuteFunctionalityOutputSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Interface for functionality handlers
|
|
20
|
+
*/
|
|
21
|
+
export interface FunctionalityHandlers {
|
|
22
|
+
/** Handler for getting functionality details */
|
|
23
|
+
getFunctionalityDetails: (params: GetFunctionalityDetailsInput) => Promise<GetFunctionalityDetailsOutput>;
|
|
24
|
+
/** Handler for executing functionality */
|
|
25
|
+
executeFunctionality: (params: ExecuteFunctionalityInput) => Promise<ExecuteFunctionalityOutput>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Interface representing application details
|
|
29
|
+
*/
|
|
30
|
+
export interface Appdetails {
|
|
31
|
+
/** Root path of the application */
|
|
32
|
+
root: string;
|
|
33
|
+
/** ID of the application */
|
|
34
|
+
appId: string;
|
|
35
|
+
/** Access details for the application */
|
|
36
|
+
applicationAccess?: ApplicationAccess;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as zod from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Input interface for the 'list-fiori-apps' functionality
|
|
4
|
+
*/
|
|
5
|
+
export declare const ListFioriAppsInputSchema: zod.ZodObject<{
|
|
6
|
+
searchPath: zod.ZodArray<zod.ZodString>;
|
|
7
|
+
}, zod.z.core.$strip>;
|
|
8
|
+
/**
|
|
9
|
+
* Input interface for the 'list-functionality' functionality
|
|
10
|
+
*/
|
|
11
|
+
export declare const ListFunctionalitiesInputSchema: zod.ZodObject<{
|
|
12
|
+
appPath: zod.ZodString;
|
|
13
|
+
}, zod.z.core.$strip>;
|
|
14
|
+
/**
|
|
15
|
+
* Input interface for the 'get-functionality-details' functionality
|
|
16
|
+
*/
|
|
17
|
+
export declare const GetFunctionalityDetailsInputSchema: zod.ZodObject<{
|
|
18
|
+
appPath: zod.ZodString;
|
|
19
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
20
|
+
}, zod.z.core.$strip>;
|
|
21
|
+
/**
|
|
22
|
+
* Input interface for the 'execute-functionality' functionality
|
|
23
|
+
*/
|
|
24
|
+
export declare const ExecuteFunctionalityInputSchema: zod.ZodObject<{
|
|
25
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
26
|
+
parameters: zod.ZodRecord<zod.ZodString, zod.ZodUnknown>;
|
|
27
|
+
appPath: zod.ZodString;
|
|
28
|
+
}, zod.z.core.$strip>;
|
|
29
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ExecuteFunctionalityInputSchema = exports.GetFunctionalityDetailsInputSchema = exports.ListFunctionalitiesInputSchema = exports.ListFioriAppsInputSchema = void 0;
|
|
37
|
+
const zod = __importStar(require("zod"));
|
|
38
|
+
const basic_1 = require("./basic");
|
|
39
|
+
/**
|
|
40
|
+
* Input interface for the 'list-fiori-apps' functionality
|
|
41
|
+
*/
|
|
42
|
+
exports.ListFioriAppsInputSchema = zod.object({
|
|
43
|
+
/** Array of paths to search for Fiori applications */
|
|
44
|
+
searchPath: zod
|
|
45
|
+
.array(zod.string())
|
|
46
|
+
.describe('Path to search for Fiori applications (defaults to current directory). If VSCode - list of VS Code workspace folder paths(`workspace.workspaceFolders`)')
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Input interface for the 'list-functionality' functionality
|
|
50
|
+
*/
|
|
51
|
+
exports.ListFunctionalitiesInputSchema = zod.object({
|
|
52
|
+
/** Path to the Fiori application */
|
|
53
|
+
appPath: zod
|
|
54
|
+
.string()
|
|
55
|
+
.describe('Path to the root folder of the Fiori application (where package.json and ui5.yaml reside). Path should be an absolute path.')
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* Input interface for the 'get-functionality-details' functionality
|
|
59
|
+
*/
|
|
60
|
+
exports.GetFunctionalityDetailsInputSchema = zod.object({
|
|
61
|
+
/** Path to the Fiori application */
|
|
62
|
+
appPath: zod.string().describe('Path to the Fiori application. Path should be an absolute path.'),
|
|
63
|
+
/** ID or array of IDs of the functionality(ies) */
|
|
64
|
+
functionalityId: basic_1.FunctionalityIdSchema.describe('The ID of the functionality to get details for')
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Input interface for the 'execute-functionality' functionality
|
|
68
|
+
*/
|
|
69
|
+
exports.ExecuteFunctionalityInputSchema = zod.object({
|
|
70
|
+
/** ID or array of IDs of the functionality(ies) to execute */
|
|
71
|
+
functionalityId: basic_1.FunctionalityIdSchema.describe('The ID of the functionality to execute'),
|
|
72
|
+
/** Parameters for the functionality execution */
|
|
73
|
+
parameters: zod.record(zod.string(), zod.unknown()).describe('Parameters for the functionality execution'),
|
|
74
|
+
/** Path to the Fiori application */
|
|
75
|
+
appPath: zod.string().describe('Path to the Fiori application. Path should be an absolute path.')
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as zod from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Output interface for the 'list-fiori-apps' functionality
|
|
4
|
+
*/
|
|
5
|
+
export declare const ListFioriAppsOutputSchema: zod.ZodObject<{
|
|
6
|
+
applications: zod.ZodArray<zod.ZodObject<{
|
|
7
|
+
name: zod.ZodString;
|
|
8
|
+
appPath: zod.ZodString;
|
|
9
|
+
projectPath: zod.ZodString;
|
|
10
|
+
projectType: zod.ZodEnum<{
|
|
11
|
+
EDMXBackend: "EDMXBackend";
|
|
12
|
+
CAPJava: "CAPJava";
|
|
13
|
+
CAPNodejs: "CAPNodejs";
|
|
14
|
+
}>;
|
|
15
|
+
odataVersion: zod.ZodString;
|
|
16
|
+
}, zod.z.core.$strip>>;
|
|
17
|
+
}, zod.z.core.$strip>;
|
|
18
|
+
/**
|
|
19
|
+
* Output interface for the 'list-functionality' functionality
|
|
20
|
+
*/
|
|
21
|
+
export declare const ListFunctionalitiesOutputSchema: zod.ZodObject<{
|
|
22
|
+
applicationPath: zod.ZodString;
|
|
23
|
+
functionalities: zod.ZodArray<zod.ZodObject<{
|
|
24
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
25
|
+
description: zod.ZodString;
|
|
26
|
+
}, zod.z.core.$strip>>;
|
|
27
|
+
}, zod.z.core.$strip>;
|
|
28
|
+
/**
|
|
29
|
+
* Output interface for the 'get-functionality-details' functionality
|
|
30
|
+
*/
|
|
31
|
+
export declare const GetFunctionalityDetailsOutputSchema: zod.ZodObject<{
|
|
32
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
33
|
+
name: zod.ZodString;
|
|
34
|
+
description: zod.ZodString;
|
|
35
|
+
technicalDescription: zod.ZodOptional<zod.ZodString>;
|
|
36
|
+
parameters: zod.ZodArray<zod.ZodObject<{
|
|
37
|
+
id: zod.ZodString;
|
|
38
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
39
|
+
type: zod.ZodEnum<{
|
|
40
|
+
string: "string";
|
|
41
|
+
number: "number";
|
|
42
|
+
boolean: "boolean";
|
|
43
|
+
object: "object";
|
|
44
|
+
array: "array";
|
|
45
|
+
}>;
|
|
46
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
47
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
48
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
49
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
50
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
51
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
52
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
53
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
54
|
+
id: zod.ZodString;
|
|
55
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
56
|
+
type: zod.ZodEnum<{
|
|
57
|
+
string: "string";
|
|
58
|
+
number: "number";
|
|
59
|
+
boolean: "boolean";
|
|
60
|
+
object: "object";
|
|
61
|
+
array: "array";
|
|
62
|
+
}>;
|
|
63
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
64
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
65
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
66
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
67
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
68
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
69
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
70
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
71
|
+
id: zod.ZodString;
|
|
72
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
73
|
+
type: zod.ZodEnum<{
|
|
74
|
+
string: "string";
|
|
75
|
+
number: "number";
|
|
76
|
+
boolean: "boolean";
|
|
77
|
+
object: "object";
|
|
78
|
+
array: "array";
|
|
79
|
+
}>;
|
|
80
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
81
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
82
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
83
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
84
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
85
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
86
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
87
|
+
parameters: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
|
|
88
|
+
id: zod.ZodString;
|
|
89
|
+
name: zod.ZodOptional<zod.ZodString>;
|
|
90
|
+
type: zod.ZodEnum<{
|
|
91
|
+
string: "string";
|
|
92
|
+
number: "number";
|
|
93
|
+
boolean: "boolean";
|
|
94
|
+
object: "object";
|
|
95
|
+
array: "array";
|
|
96
|
+
}>;
|
|
97
|
+
required: zod.ZodOptional<zod.ZodBoolean>;
|
|
98
|
+
description: zod.ZodOptional<zod.ZodString>;
|
|
99
|
+
defaultValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
100
|
+
options: zod.ZodOptional<zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber, zod.ZodBoolean, zod.ZodNull]>>>;
|
|
101
|
+
currentValue: zod.ZodOptional<zod.ZodUnknown>;
|
|
102
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
103
|
+
pattern: zod.ZodOptional<zod.ZodString>;
|
|
104
|
+
}, zod.z.core.$strip>>>;
|
|
105
|
+
}, zod.z.core.$strip>>>;
|
|
106
|
+
}, zod.z.core.$strip>>>;
|
|
107
|
+
}, zod.z.core.$strip>>;
|
|
108
|
+
prerequisites: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
109
|
+
impact: zod.ZodOptional<zod.ZodString>;
|
|
110
|
+
examples: zod.ZodOptional<zod.ZodArray<zod.ZodString>>;
|
|
111
|
+
pageName: zod.ZodOptional<zod.ZodString>;
|
|
112
|
+
}, zod.z.core.$strip>;
|
|
113
|
+
/**
|
|
114
|
+
* Output interface for the 'execute-functionality' functionality
|
|
115
|
+
*/
|
|
116
|
+
export declare const ExecuteFunctionalityOutputSchema: zod.ZodObject<{
|
|
117
|
+
functionalityId: zod.ZodUnion<readonly [zod.ZodString, zod.ZodArray<zod.ZodUnion<readonly [zod.ZodString, zod.ZodNumber]>>]>;
|
|
118
|
+
status: zod.ZodString;
|
|
119
|
+
message: zod.ZodString;
|
|
120
|
+
parameters: zod.ZodUnknown;
|
|
121
|
+
appPath: zod.ZodString;
|
|
122
|
+
changes: zod.ZodArray<zod.ZodString>;
|
|
123
|
+
timestamp: zod.ZodString;
|
|
124
|
+
}, zod.z.core.$strip>;
|
|
125
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ExecuteFunctionalityOutputSchema = exports.GetFunctionalityDetailsOutputSchema = exports.ListFunctionalitiesOutputSchema = exports.ListFioriAppsOutputSchema = void 0;
|
|
37
|
+
const zod = __importStar(require("zod"));
|
|
38
|
+
const basic_1 = require("./basic");
|
|
39
|
+
/**
|
|
40
|
+
* Output interface for the 'list-fiori-apps' functionality
|
|
41
|
+
*/
|
|
42
|
+
exports.ListFioriAppsOutputSchema = zod.object({
|
|
43
|
+
/** Array of found Fiori applications */
|
|
44
|
+
applications: zod.array(basic_1.FioriAppSchema)
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Output interface for the 'list-functionality' functionality
|
|
48
|
+
*/
|
|
49
|
+
exports.ListFunctionalitiesOutputSchema = zod.object({
|
|
50
|
+
/** Path to the Fiori application */
|
|
51
|
+
applicationPath: zod.string(),
|
|
52
|
+
/** Array of available functionalities */
|
|
53
|
+
functionalities: zod.array(basic_1.FunctionalitySchema)
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Output interface for the 'get-functionality-details' functionality
|
|
57
|
+
*/
|
|
58
|
+
exports.GetFunctionalityDetailsOutputSchema = zod.object({
|
|
59
|
+
/** ID of the functionality */
|
|
60
|
+
functionalityId: basic_1.FunctionalityIdSchema.describe('Identifier to pass as the `functionalityId` parameter when calling `get-functionality-details` or `execute-functionality`'),
|
|
61
|
+
/** Name of the functionality */
|
|
62
|
+
name: zod.string(),
|
|
63
|
+
/** Description of the functionality */
|
|
64
|
+
description: zod.string(),
|
|
65
|
+
/** Technical description of the functionality */
|
|
66
|
+
technicalDescription: zod.string().optional(),
|
|
67
|
+
/** Array of parameters for the functionality */
|
|
68
|
+
parameters: zod.array(basic_1.ParameterSchema),
|
|
69
|
+
/** Array of prerequisites for the functionality */
|
|
70
|
+
prerequisites: zod.array(zod.string()).optional(),
|
|
71
|
+
/** Impact of the functionality */
|
|
72
|
+
impact: zod.string().optional(),
|
|
73
|
+
/** Array of examples for the functionality */
|
|
74
|
+
examples: zod.array(zod.string()).optional(),
|
|
75
|
+
/** Name of the page associated with the functionality */
|
|
76
|
+
pageName: zod.string().optional()
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Output interface for the 'execute-functionality' functionality
|
|
80
|
+
*/
|
|
81
|
+
exports.ExecuteFunctionalityOutputSchema = zod.object({
|
|
82
|
+
/** ID or array of IDs of the executed functionality(ies) */
|
|
83
|
+
functionalityId: basic_1.FunctionalityIdSchema,
|
|
84
|
+
/** Status of the execution */
|
|
85
|
+
status: zod.string(),
|
|
86
|
+
/** Message describing the execution result */
|
|
87
|
+
message: zod.string(),
|
|
88
|
+
/** Parameters used in the execution */
|
|
89
|
+
parameters: zod.unknown(),
|
|
90
|
+
/** Path to the Fiori application */
|
|
91
|
+
appPath: zod.string(),
|
|
92
|
+
/** Array of changes made during the execution */
|
|
93
|
+
changes: zod.array(zod.string()),
|
|
94
|
+
/** Timestamp of the execution */
|
|
95
|
+
timestamp: zod.string()
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=output.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap-ux/fiori-mcp-server",
|
|
3
3
|
"description": "SAP Fiori - Model Context Protocol (MCP) server",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"SAP Fiori tools",
|
|
7
7
|
"SAP Fiori elements",
|
|
@@ -30,20 +30,24 @@
|
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/json-schema": "7.0.5",
|
|
32
32
|
"@types/mem-fs": "1.1.2",
|
|
33
|
-
"@sap-ux/
|
|
34
|
-
"@sap-ux/odata-entity-model": "0.3.1",
|
|
33
|
+
"@sap-ux/i18n": "0.3.3",
|
|
35
34
|
"@sap-ux/odata-annotation-core-types": "0.4.5",
|
|
36
|
-
"@sap-ux/
|
|
35
|
+
"@sap-ux/odata-entity-model": "0.3.1",
|
|
36
|
+
"@sap-ux/text-document-utils": "0.3.1"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@modelcontextprotocol/sdk": "1.17.4",
|
|
40
|
-
"@sap/ux-specification": "1.136.4",
|
|
41
40
|
"@sap-ux/annotation-converter": "0.10.3",
|
|
41
|
+
"@sap/ux-specification": "1.136.4",
|
|
42
42
|
"i18next": "25.3.0",
|
|
43
|
+
"os-name": "4.0.1",
|
|
43
44
|
"zod": "4.1.5",
|
|
44
|
-
"@sap-ux/
|
|
45
|
+
"@sap-ux/btp-utils": "1.1.1",
|
|
45
46
|
"@sap-ux/fiori-annotation-api": "0.6.17",
|
|
46
|
-
"@sap-ux/nodejs-utils": "0.2.3"
|
|
47
|
+
"@sap-ux/nodejs-utils": "0.2.3",
|
|
48
|
+
"@sap-ux/project-access": "1.30.13",
|
|
49
|
+
"@sap-ux/feature-toggle": "0.3.1",
|
|
50
|
+
"@sap-ux/telemetry": "0.6.19"
|
|
47
51
|
},
|
|
48
52
|
"engines": {
|
|
49
53
|
"node": ">=20.x"
|