@ui5/mcp-server 0.1.5 → 0.2.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/CHANGELOG.md +34 -0
- package/README.md +2 -1
- package/lib/registerTools.d.ts +64 -30
- package/lib/registerTools.js +15 -9
- package/lib/registerTools.js.map +1 -1
- package/lib/server.js +1 -0
- package/lib/server.js.map +1 -1
- package/lib/tools/create_integration_card/schema.d.ts +8 -1
- package/lib/tools/create_ui5_app/schema.d.ts +11 -31
- package/lib/tools/get_api_reference/schema.d.ts +1 -7
- package/lib/tools/get_project_info/schema.d.ts +14 -58
- package/lib/tools/get_typescript_conversion_guidelines/index.d.ts +3 -0
- package/lib/tools/get_typescript_conversion_guidelines/index.js +29 -0
- package/lib/tools/get_typescript_conversion_guidelines/index.js.map +1 -0
- package/lib/tools/get_typescript_conversion_guidelines/typescriptConversionGuidelines.d.ts +1 -0
- package/lib/tools/get_typescript_conversion_guidelines/typescriptConversionGuidelines.js +66 -0
- package/lib/tools/get_typescript_conversion_guidelines/typescriptConversionGuidelines.js.map +1 -0
- package/lib/tools/get_version_info/schema.d.ts +13 -47
- package/lib/tools/run_ui5_linter/index.js +0 -3
- package/lib/tools/run_ui5_linter/index.js.map +1 -1
- package/lib/tools/run_ui5_linter/schema.d.ts +18 -276
- package/lib/utils/ui5Framework.d.ts +4 -1
- package/npm-shrinkwrap.json +660 -148
- package/package.json +12 -12
- package/resources/template-js/webapp/view/Main.view.xml +2 -2
- package/resources/template-ts/webapp/view/Main.view.xml +2 -2
- package/resources/typescript_conversion_guidelines.md +990 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.2.0](https://github.com/UI5/mcp-server/compare/v0.1.6...v0.2.0) (2025-12-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* Update node engines version range: ^20.17.0 || >=22.9.0 ([#156](https://github.com/UI5/mcp-server/issues/156))
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* Add tool with JavaScript to TypeScript conversion guidelines ([#137](https://github.com/UI5/mcp-server/issues/137)) ([52d7169](https://github.com/UI5/mcp-server/commit/52d7169b6d4dccaddf52ff32ea5f8056a221be06))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Dependencies
|
|
16
|
+
|
|
17
|
+
* Bump @modelcontextprotocol/sdk from 1.24.2 to 1.24.3 ([ae346e4](https://github.com/UI5/mcp-server/commit/ae346e4910da4bfc1692ac09efb09ad2dd95b802))
|
|
18
|
+
* Bump make-fetch-happen from 14.0.3 to 15.0.3 ([#116](https://github.com/UI5/mcp-server/issues/116)) ([a9aa08a](https://github.com/UI5/mcp-server/commit/a9aa08aac55d2af7c03a02e632b6dfab29738b09))
|
|
19
|
+
* Update node engines version range: ^20.17.0 || >=22.9.0 ([#156](https://github.com/UI5/mcp-server/issues/156)) ([6a84d44](https://github.com/UI5/mcp-server/commit/6a84d443963525e5f0cc24292a50aa90c843c87c))
|
|
20
|
+
|
|
21
|
+
## [0.1.6](https://github.com/UI5/mcp-server/compare/v0.1.5...v0.1.6) (2025-12-03)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Bug Fixes
|
|
25
|
+
|
|
26
|
+
* Add dot prefix to event handlers in application templates ([#142](https://github.com/UI5/mcp-server/issues/142)) ([d554850](https://github.com/UI5/mcp-server/commit/d55485099f4c55e864cae3bb2038df299113bc30))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Dependencies
|
|
30
|
+
|
|
31
|
+
* Bump @modelcontextprotocol/sdk from 1.20.2 to 1.24.2 ([3e44813](https://github.com/UI5/mcp-server/commit/3e448132c9fb102fcda456c4af7f5956adb433b6))
|
|
32
|
+
* Bump @ui5/project from 4.0.8 to 4.0.9 ([bca8f7a](https://github.com/UI5/mcp-server/commit/bca8f7ab80825eae39859f70f346150ca9f5d9b4))
|
|
33
|
+
* Bump body-parser from 2.2.0 to 2.2.1 ([f0f43cb](https://github.com/UI5/mcp-server/commit/f0f43cb78b51c0b53ed6cbc0d025437f64c47696))
|
|
34
|
+
* Bump execa from 9.6.0 to 9.6.1 ([f6fc3c8](https://github.com/UI5/mcp-server/commit/f6fc3c85b36993cb45d3547ef3e66a3e2dfb548f))
|
|
35
|
+
* Bump zod from 3.25.76 to 4.1.13 ([7db5273](https://github.com/UI5/mcp-server/commit/7db5273e3afd60ac26aa3458b7eeb59f955be3f2))
|
|
36
|
+
|
|
3
37
|
## [0.1.5](https://github.com/UI5/mcp-server/compare/v0.1.4...v0.1.5) (2025-11-26)
|
|
4
38
|
|
|
5
39
|
|
package/README.md
CHANGED
|
@@ -29,12 +29,13 @@ The UI5 [Model Context Protocol](https://modelcontextprotocol.io/) server offers
|
|
|
29
29
|
- `get_project_info`: Extracts metadata and configuration from a UI5 project.
|
|
30
30
|
- `get_version_info`: Retrieves version information for the UI5 framework.
|
|
31
31
|
- `run_ui5_linter`: Integrates with [`@ui5/linter`](https://github.com/UI5/linter) to analyze and report issues in UI5 code.
|
|
32
|
+
- `get_typescript_conversion_guidelines`: Provides guidelines for converting UI5 applications and controls from JavaScript to TypeScript.
|
|
32
33
|
- `get_integration_cards_guidelines`: Provides access to UI Integration Cards development best practices.
|
|
33
34
|
- `create_integration_card`: Scaffolds a new UI Integration Card.
|
|
34
35
|
|
|
35
36
|
## Requirements
|
|
36
37
|
|
|
37
|
-
- [Node.js](https://nodejs.org/) Version v20.
|
|
38
|
+
- [Node.js](https://nodejs.org/) Version v20.17.0, v22.9.0 or higher
|
|
38
39
|
- [npm](https://www.npmjs.com/) Version v8.0.0 or higher
|
|
39
40
|
- An MCP client such as VS Code, Cline, or any other MCP-compatible client
|
|
40
41
|
|
package/lib/registerTools.d.ts
CHANGED
|
@@ -12,130 +12,164 @@ export declare function _processResponse({ content, structuredContent }: CallToo
|
|
|
12
12
|
[x: string]: unknown;
|
|
13
13
|
};
|
|
14
14
|
content: ({
|
|
15
|
-
[x: string]: unknown;
|
|
16
15
|
type: "text";
|
|
17
16
|
text: string;
|
|
17
|
+
annotations?: {
|
|
18
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
19
|
+
priority?: number | undefined;
|
|
20
|
+
lastModified?: string | undefined;
|
|
21
|
+
} | undefined;
|
|
18
22
|
_meta?: {
|
|
19
23
|
[x: string]: unknown;
|
|
20
24
|
} | undefined;
|
|
21
25
|
} | {
|
|
22
|
-
[x: string]: unknown;
|
|
23
26
|
type: "image";
|
|
24
27
|
data: string;
|
|
25
28
|
mimeType: string;
|
|
29
|
+
annotations?: {
|
|
30
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
31
|
+
priority?: number | undefined;
|
|
32
|
+
lastModified?: string | undefined;
|
|
33
|
+
} | undefined;
|
|
26
34
|
_meta?: {
|
|
27
35
|
[x: string]: unknown;
|
|
28
36
|
} | undefined;
|
|
29
37
|
} | {
|
|
30
|
-
[x: string]: unknown;
|
|
31
38
|
type: "audio";
|
|
32
39
|
data: string;
|
|
33
40
|
mimeType: string;
|
|
41
|
+
annotations?: {
|
|
42
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
43
|
+
priority?: number | undefined;
|
|
44
|
+
lastModified?: string | undefined;
|
|
45
|
+
} | undefined;
|
|
34
46
|
_meta?: {
|
|
35
47
|
[x: string]: unknown;
|
|
36
48
|
} | undefined;
|
|
37
49
|
} | {
|
|
38
|
-
|
|
50
|
+
uri: string;
|
|
39
51
|
name: string;
|
|
40
52
|
type: "resource_link";
|
|
41
|
-
uri: string;
|
|
42
|
-
title?: string | undefined;
|
|
43
53
|
description?: string | undefined;
|
|
54
|
+
mimeType?: string | undefined;
|
|
55
|
+
annotations?: {
|
|
56
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
57
|
+
priority?: number | undefined;
|
|
58
|
+
lastModified?: string | undefined;
|
|
59
|
+
} | undefined;
|
|
44
60
|
_meta?: {
|
|
45
61
|
[x: string]: unknown;
|
|
46
62
|
} | undefined;
|
|
47
|
-
mimeType?: string | undefined;
|
|
48
63
|
icons?: {
|
|
49
|
-
[x: string]: unknown;
|
|
50
64
|
src: string;
|
|
51
65
|
mimeType?: string | undefined;
|
|
52
66
|
sizes?: string[] | undefined;
|
|
53
67
|
}[] | undefined;
|
|
68
|
+
title?: string | undefined;
|
|
54
69
|
} | {
|
|
55
|
-
[x: string]: unknown;
|
|
56
70
|
type: "resource";
|
|
57
71
|
resource: {
|
|
58
|
-
[x: string]: unknown;
|
|
59
|
-
text: string;
|
|
60
72
|
uri: string;
|
|
73
|
+
text: string;
|
|
74
|
+
mimeType?: string | undefined;
|
|
61
75
|
_meta?: {
|
|
62
76
|
[x: string]: unknown;
|
|
63
77
|
} | undefined;
|
|
64
|
-
mimeType?: string | undefined;
|
|
65
78
|
} | {
|
|
66
|
-
[x: string]: unknown;
|
|
67
|
-
blob: string;
|
|
68
79
|
uri: string;
|
|
80
|
+
blob: string;
|
|
81
|
+
mimeType?: string | undefined;
|
|
69
82
|
_meta?: {
|
|
70
83
|
[x: string]: unknown;
|
|
71
84
|
} | undefined;
|
|
72
|
-
mimeType?: string | undefined;
|
|
73
85
|
};
|
|
86
|
+
annotations?: {
|
|
87
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
88
|
+
priority?: number | undefined;
|
|
89
|
+
lastModified?: string | undefined;
|
|
90
|
+
} | undefined;
|
|
74
91
|
_meta?: {
|
|
75
92
|
[x: string]: unknown;
|
|
76
93
|
} | undefined;
|
|
77
94
|
})[];
|
|
78
95
|
} | {
|
|
79
96
|
content: ({
|
|
80
|
-
[x: string]: unknown;
|
|
81
97
|
type: "text";
|
|
82
98
|
text: string;
|
|
99
|
+
annotations?: {
|
|
100
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
101
|
+
priority?: number | undefined;
|
|
102
|
+
lastModified?: string | undefined;
|
|
103
|
+
} | undefined;
|
|
83
104
|
_meta?: {
|
|
84
105
|
[x: string]: unknown;
|
|
85
106
|
} | undefined;
|
|
86
107
|
} | {
|
|
87
|
-
[x: string]: unknown;
|
|
88
108
|
type: "image";
|
|
89
109
|
data: string;
|
|
90
110
|
mimeType: string;
|
|
111
|
+
annotations?: {
|
|
112
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
113
|
+
priority?: number | undefined;
|
|
114
|
+
lastModified?: string | undefined;
|
|
115
|
+
} | undefined;
|
|
91
116
|
_meta?: {
|
|
92
117
|
[x: string]: unknown;
|
|
93
118
|
} | undefined;
|
|
94
119
|
} | {
|
|
95
|
-
[x: string]: unknown;
|
|
96
120
|
type: "audio";
|
|
97
121
|
data: string;
|
|
98
122
|
mimeType: string;
|
|
123
|
+
annotations?: {
|
|
124
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
125
|
+
priority?: number | undefined;
|
|
126
|
+
lastModified?: string | undefined;
|
|
127
|
+
} | undefined;
|
|
99
128
|
_meta?: {
|
|
100
129
|
[x: string]: unknown;
|
|
101
130
|
} | undefined;
|
|
102
131
|
} | {
|
|
103
|
-
|
|
132
|
+
uri: string;
|
|
104
133
|
name: string;
|
|
105
134
|
type: "resource_link";
|
|
106
|
-
uri: string;
|
|
107
|
-
title?: string | undefined;
|
|
108
135
|
description?: string | undefined;
|
|
136
|
+
mimeType?: string | undefined;
|
|
137
|
+
annotations?: {
|
|
138
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
139
|
+
priority?: number | undefined;
|
|
140
|
+
lastModified?: string | undefined;
|
|
141
|
+
} | undefined;
|
|
109
142
|
_meta?: {
|
|
110
143
|
[x: string]: unknown;
|
|
111
144
|
} | undefined;
|
|
112
|
-
mimeType?: string | undefined;
|
|
113
145
|
icons?: {
|
|
114
|
-
[x: string]: unknown;
|
|
115
146
|
src: string;
|
|
116
147
|
mimeType?: string | undefined;
|
|
117
148
|
sizes?: string[] | undefined;
|
|
118
149
|
}[] | undefined;
|
|
150
|
+
title?: string | undefined;
|
|
119
151
|
} | {
|
|
120
|
-
[x: string]: unknown;
|
|
121
152
|
type: "resource";
|
|
122
153
|
resource: {
|
|
123
|
-
[x: string]: unknown;
|
|
124
|
-
text: string;
|
|
125
154
|
uri: string;
|
|
155
|
+
text: string;
|
|
156
|
+
mimeType?: string | undefined;
|
|
126
157
|
_meta?: {
|
|
127
158
|
[x: string]: unknown;
|
|
128
159
|
} | undefined;
|
|
129
|
-
mimeType?: string | undefined;
|
|
130
160
|
} | {
|
|
131
|
-
[x: string]: unknown;
|
|
132
|
-
blob: string;
|
|
133
161
|
uri: string;
|
|
162
|
+
blob: string;
|
|
163
|
+
mimeType?: string | undefined;
|
|
134
164
|
_meta?: {
|
|
135
165
|
[x: string]: unknown;
|
|
136
166
|
} | undefined;
|
|
137
|
-
mimeType?: string | undefined;
|
|
138
167
|
};
|
|
168
|
+
annotations?: {
|
|
169
|
+
audience?: ("user" | "assistant")[] | undefined;
|
|
170
|
+
priority?: number | undefined;
|
|
171
|
+
lastModified?: string | undefined;
|
|
172
|
+
} | undefined;
|
|
139
173
|
_meta?: {
|
|
140
174
|
[x: string]: unknown;
|
|
141
175
|
} | undefined;
|
package/lib/registerTools.js
CHANGED
|
@@ -7,6 +7,7 @@ import registerGetGuidelinesTool from "./tools/get_guidelines/index.js";
|
|
|
7
7
|
import registerGetVersionInfoTool from "./tools/get_version_info/index.js";
|
|
8
8
|
import registerGetIntegrationCardsGuidelinesTool from "./tools/get_integration_cards_guidelines/index.js";
|
|
9
9
|
import registerCreateIntegrationCardTool from "./tools/create_integration_card/index.js";
|
|
10
|
+
import registerGetTypescriptConversionGuidelinesTool from "./tools/get_typescript_conversion_guidelines/index.js";
|
|
10
11
|
export default function (server, context, options) {
|
|
11
12
|
const registerTool = (name, config, callback) => {
|
|
12
13
|
if (!options.useStructuredContentInResponse) {
|
|
@@ -16,8 +17,11 @@ export default function (server, context, options) {
|
|
|
16
17
|
// @ts-expect-error -- Generic type handling
|
|
17
18
|
return server.registerTool(name, config, async (...args) => {
|
|
18
19
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
// @ts-expect-error -- Generic type handling
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- Generic type handling
|
|
22
|
+
const toolResult = callback(...args);
|
|
23
|
+
const response = await Promise.resolve(toolResult);
|
|
24
|
+
return _processResponse(response, options);
|
|
21
25
|
}
|
|
22
26
|
catch (error) {
|
|
23
27
|
handleError(error);
|
|
@@ -33,19 +37,21 @@ export default function (server, context, options) {
|
|
|
33
37
|
registerGetVersionInfoTool(registerTool, context);
|
|
34
38
|
registerGetIntegrationCardsGuidelinesTool(registerTool, context);
|
|
35
39
|
registerCreateIntegrationCardTool(registerTool, context);
|
|
40
|
+
registerGetTypescriptConversionGuidelinesTool(registerTool, context);
|
|
36
41
|
}
|
|
37
42
|
export function _processResponse({ content, structuredContent }, options) {
|
|
38
43
|
if (!options.useResourcesInResponse) {
|
|
39
44
|
content = content.map((item) => {
|
|
40
45
|
if (item.type === "resource") {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
if ("text" in item.resource && typeof item.resource.text === "string") {
|
|
47
|
+
return {
|
|
48
|
+
type: "text",
|
|
49
|
+
text: item.resource.text,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw new Error(`Unable to convert resource without text content to text content: ${JSON.stringify(item)}`);
|
|
44
54
|
}
|
|
45
|
-
return {
|
|
46
|
-
type: "text",
|
|
47
|
-
text,
|
|
48
|
-
};
|
|
49
55
|
}
|
|
50
56
|
return item;
|
|
51
57
|
});
|
package/lib/registerTools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerTools.js","sourceRoot":"","sources":["../src/registerTools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,wBAAwB,MAAM,iCAAiC,CAAC;AACvE,OAAO,qBAAqB,MAAM,iCAAiC,CAAC;AACpE,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AACpE,OAAO,yBAAyB,MAAM,iCAAiC,CAAC;AACxE,OAAO,0BAA0B,MAAM,mCAAmC,CAAC;AAC3E,OAAO,yCAAyC,MAAM,mDAAmD,CAAC;AAC1G,OAAO,iCAAiC,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"registerTools.js","sourceRoot":"","sources":["../src/registerTools.ts"],"names":[],"mappings":"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"}
|
package/lib/server.js
CHANGED
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAG/E,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,kCAAkC,EAAC,MAAM,oCAAoC,CAAC;AAE3G,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AACpD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEhC,MAAM,CAAC,OAAO,OAAO,MAAM;IAClB,MAAM,CAAY;IAClB,OAAO,CAAU;IAEzB;QACC,IAAI,8BAA8B,GAAG,IAAI,CAAC;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACjF,8BAA8B,GAAG,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,sBAAsB,GAAG,IAAI,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YACxE,sBAAsB,GAAG,KAAK,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC3B,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,12 @@ export type SupportedCardType = typeof supportedCardTypes[number];
|
|
|
4
4
|
export declare const inputSchema: {
|
|
5
5
|
basePath: z.ZodString;
|
|
6
6
|
cardFolderName: z.ZodDefault<z.ZodString>;
|
|
7
|
-
cardType: z.ZodDefault<z.ZodEnum<
|
|
7
|
+
cardType: z.ZodDefault<z.ZodEnum<{
|
|
8
|
+
Analytical: "Analytical";
|
|
9
|
+
Calendar: "Calendar";
|
|
10
|
+
List: "List";
|
|
11
|
+
Object: "Object";
|
|
12
|
+
Table: "Table";
|
|
13
|
+
Timeline: "Timeline";
|
|
14
|
+
}>>;
|
|
8
15
|
};
|
|
@@ -4,12 +4,15 @@ export declare const createAppSchema: {
|
|
|
4
4
|
appNamespace: z.ZodString;
|
|
5
5
|
basePath: z.ZodString;
|
|
6
6
|
createAppDirectory: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
7
|
-
framework: z.ZodDefault<z.ZodOptional<z.ZodEnum<
|
|
7
|
+
framework: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
OpenUI5: "OpenUI5";
|
|
9
|
+
SAPUI5: "SAPUI5";
|
|
10
|
+
}>>>;
|
|
8
11
|
frameworkVersion: z.ZodOptional<z.ZodString>;
|
|
9
12
|
author: z.ZodOptional<z.ZodString>;
|
|
10
13
|
oDataV4Url: z.ZodOptional<z.ZodString>;
|
|
11
14
|
oDataEntitySet: z.ZodOptional<z.ZodString>;
|
|
12
|
-
entityProperties: z.ZodOptional<z.ZodArray<z.ZodString
|
|
15
|
+
entityProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
13
16
|
initializeGitRepository: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
17
|
runNpmInstall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
15
18
|
typescript: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -18,42 +21,19 @@ export declare const createAppSchemaObject: z.ZodObject<{
|
|
|
18
21
|
appNamespace: z.ZodString;
|
|
19
22
|
basePath: z.ZodString;
|
|
20
23
|
createAppDirectory: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
21
|
-
framework: z.ZodDefault<z.ZodOptional<z.ZodEnum<
|
|
24
|
+
framework: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
25
|
+
OpenUI5: "OpenUI5";
|
|
26
|
+
SAPUI5: "SAPUI5";
|
|
27
|
+
}>>>;
|
|
22
28
|
frameworkVersion: z.ZodOptional<z.ZodString>;
|
|
23
29
|
author: z.ZodOptional<z.ZodString>;
|
|
24
30
|
oDataV4Url: z.ZodOptional<z.ZodString>;
|
|
25
31
|
oDataEntitySet: z.ZodOptional<z.ZodString>;
|
|
26
|
-
entityProperties: z.ZodOptional<z.ZodArray<z.ZodString
|
|
32
|
+
entityProperties: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
33
|
initializeGitRepository: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
28
34
|
runNpmInstall: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
29
35
|
typescript: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
30
|
-
},
|
|
31
|
-
appNamespace: string;
|
|
32
|
-
basePath: string;
|
|
33
|
-
createAppDirectory: boolean;
|
|
34
|
-
framework: "OpenUI5" | "SAPUI5";
|
|
35
|
-
initializeGitRepository: boolean;
|
|
36
|
-
runNpmInstall: boolean;
|
|
37
|
-
typescript: boolean;
|
|
38
|
-
frameworkVersion?: string | undefined;
|
|
39
|
-
author?: string | undefined;
|
|
40
|
-
oDataV4Url?: string | undefined;
|
|
41
|
-
oDataEntitySet?: string | undefined;
|
|
42
|
-
entityProperties?: string[] | undefined;
|
|
43
|
-
}, {
|
|
44
|
-
appNamespace: string;
|
|
45
|
-
basePath: string;
|
|
46
|
-
createAppDirectory?: boolean | undefined;
|
|
47
|
-
framework?: "OpenUI5" | "SAPUI5" | undefined;
|
|
48
|
-
frameworkVersion?: string | undefined;
|
|
49
|
-
author?: string | undefined;
|
|
50
|
-
oDataV4Url?: string | undefined;
|
|
51
|
-
oDataEntitySet?: string | undefined;
|
|
52
|
-
entityProperties?: string[] | undefined;
|
|
53
|
-
initializeGitRepository?: boolean | undefined;
|
|
54
|
-
runNpmInstall?: boolean | undefined;
|
|
55
|
-
typescript?: boolean | undefined;
|
|
56
|
-
}>;
|
|
36
|
+
}, z.z.core.$strip>;
|
|
57
37
|
/**
|
|
58
38
|
* Parameters for creating a basic UI5 application.
|
|
59
39
|
*
|
|
@@ -6,11 +6,5 @@ export declare const inputSchema: {
|
|
|
6
6
|
export declare const inputSchemaObject: z.ZodObject<{
|
|
7
7
|
projectDir: z.ZodString;
|
|
8
8
|
query: z.ZodString;
|
|
9
|
-
},
|
|
10
|
-
query: string;
|
|
11
|
-
projectDir: string;
|
|
12
|
-
}, {
|
|
13
|
-
query: string;
|
|
14
|
-
projectDir: string;
|
|
15
|
-
}>;
|
|
9
|
+
}, z.core.$strip>;
|
|
16
10
|
export type GetApiReferenceParams = z.infer<typeof inputSchemaObject>;
|
|
@@ -4,84 +4,40 @@ export declare const inputSchema: {
|
|
|
4
4
|
};
|
|
5
5
|
export declare const inputSchemaObject: z.ZodObject<{
|
|
6
6
|
projectDir: z.ZodString;
|
|
7
|
-
},
|
|
8
|
-
projectDir: string;
|
|
9
|
-
}, {
|
|
10
|
-
projectDir: string;
|
|
11
|
-
}>;
|
|
7
|
+
}, z.core.$strip>;
|
|
12
8
|
export declare const outputSchema: {
|
|
13
9
|
projectDir: z.ZodString;
|
|
14
10
|
projectName: z.ZodString;
|
|
15
11
|
projectType: z.ZodString;
|
|
16
|
-
frameworkName: z.ZodOptional<z.ZodEnum<
|
|
12
|
+
frameworkName: z.ZodOptional<z.ZodEnum<{
|
|
13
|
+
OpenUI5: "OpenUI5";
|
|
14
|
+
SAPUI5: "SAPUI5";
|
|
15
|
+
}>>;
|
|
17
16
|
frameworkVersion: z.ZodOptional<z.ZodString>;
|
|
18
|
-
frameworkLibraries: z.ZodOptional<z.ZodArray<z.ZodString
|
|
17
|
+
frameworkLibraries: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
19
18
|
versionInfo: z.ZodOptional<z.ZodObject<{
|
|
20
19
|
supportStatus: z.ZodString;
|
|
21
20
|
isLts: z.ZodOptional<z.ZodBoolean>;
|
|
22
21
|
latestVersion: z.ZodString;
|
|
23
22
|
latestLtsVersion: z.ZodOptional<z.ZodString>;
|
|
24
|
-
},
|
|
25
|
-
supportStatus: string;
|
|
26
|
-
latestVersion: string;
|
|
27
|
-
isLts?: boolean | undefined;
|
|
28
|
-
latestLtsVersion?: string | undefined;
|
|
29
|
-
}, {
|
|
30
|
-
supportStatus: string;
|
|
31
|
-
latestVersion: string;
|
|
32
|
-
isLts?: boolean | undefined;
|
|
33
|
-
latestLtsVersion?: string | undefined;
|
|
34
|
-
}>>;
|
|
23
|
+
}, z.core.$strip>>;
|
|
35
24
|
};
|
|
36
25
|
export declare const outputSchemaObject: z.ZodObject<{
|
|
37
26
|
projectDir: z.ZodString;
|
|
38
27
|
projectName: z.ZodString;
|
|
39
28
|
projectType: z.ZodString;
|
|
40
|
-
frameworkName: z.ZodOptional<z.ZodEnum<
|
|
29
|
+
frameworkName: z.ZodOptional<z.ZodEnum<{
|
|
30
|
+
OpenUI5: "OpenUI5";
|
|
31
|
+
SAPUI5: "SAPUI5";
|
|
32
|
+
}>>;
|
|
41
33
|
frameworkVersion: z.ZodOptional<z.ZodString>;
|
|
42
|
-
frameworkLibraries: z.ZodOptional<z.ZodArray<z.ZodString
|
|
34
|
+
frameworkLibraries: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
43
35
|
versionInfo: z.ZodOptional<z.ZodObject<{
|
|
44
36
|
supportStatus: z.ZodString;
|
|
45
37
|
isLts: z.ZodOptional<z.ZodBoolean>;
|
|
46
38
|
latestVersion: z.ZodString;
|
|
47
39
|
latestLtsVersion: z.ZodOptional<z.ZodString>;
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
latestVersion: string;
|
|
51
|
-
isLts?: boolean | undefined;
|
|
52
|
-
latestLtsVersion?: string | undefined;
|
|
53
|
-
}, {
|
|
54
|
-
supportStatus: string;
|
|
55
|
-
latestVersion: string;
|
|
56
|
-
isLts?: boolean | undefined;
|
|
57
|
-
latestLtsVersion?: string | undefined;
|
|
58
|
-
}>>;
|
|
59
|
-
}, "strip", z.ZodTypeAny, {
|
|
60
|
-
projectDir: string;
|
|
61
|
-
projectName: string;
|
|
62
|
-
projectType: string;
|
|
63
|
-
frameworkName?: "OpenUI5" | "SAPUI5" | undefined;
|
|
64
|
-
frameworkVersion?: string | undefined;
|
|
65
|
-
frameworkLibraries?: string[] | undefined;
|
|
66
|
-
versionInfo?: {
|
|
67
|
-
supportStatus: string;
|
|
68
|
-
latestVersion: string;
|
|
69
|
-
isLts?: boolean | undefined;
|
|
70
|
-
latestLtsVersion?: string | undefined;
|
|
71
|
-
} | undefined;
|
|
72
|
-
}, {
|
|
73
|
-
projectDir: string;
|
|
74
|
-
projectName: string;
|
|
75
|
-
projectType: string;
|
|
76
|
-
frameworkName?: "OpenUI5" | "SAPUI5" | undefined;
|
|
77
|
-
frameworkVersion?: string | undefined;
|
|
78
|
-
frameworkLibraries?: string[] | undefined;
|
|
79
|
-
versionInfo?: {
|
|
80
|
-
supportStatus: string;
|
|
81
|
-
latestVersion: string;
|
|
82
|
-
isLts?: boolean | undefined;
|
|
83
|
-
latestLtsVersion?: string | undefined;
|
|
84
|
-
} | undefined;
|
|
85
|
-
}>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
}, z.core.$strip>;
|
|
86
42
|
export type GetProjectInfoParams = z.infer<typeof inputSchemaObject>;
|
|
87
43
|
export type GetProjectInfoResult = z.infer<typeof outputSchemaObject>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getTypescriptConversionGuidelines } from "./typescriptConversionGuidelines.js";
|
|
2
|
+
import { getLogger } from "@ui5/logger";
|
|
3
|
+
const log = getLogger("tools:get_typescript_conversion_guidelines");
|
|
4
|
+
export default function registerTool(registerTool, _context) {
|
|
5
|
+
registerTool("get_typescript_conversion_guidelines", {
|
|
6
|
+
description: "This tool MUST be called once before converting a " +
|
|
7
|
+
"UI5 (SAPUI5/OpenUI5) project from JavaScript to TypeScript. " +
|
|
8
|
+
"The instructions provided by this tool MUST be followed to ensure " +
|
|
9
|
+
"that the project setup and code is correctly converted.",
|
|
10
|
+
annotations: {
|
|
11
|
+
title: "Get TypeScript Conversion Guidelines",
|
|
12
|
+
readOnlyHint: true,
|
|
13
|
+
idempotentHint: true,
|
|
14
|
+
openWorldHint: false,
|
|
15
|
+
},
|
|
16
|
+
}, async () => {
|
|
17
|
+
log.info("Retrieving TypeScript conversion guidelines...");
|
|
18
|
+
const guidelines = await getTypescriptConversionGuidelines();
|
|
19
|
+
return {
|
|
20
|
+
content: [
|
|
21
|
+
{
|
|
22
|
+
type: "text",
|
|
23
|
+
text: guidelines,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/get_typescript_conversion_guidelines/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iCAAiC,EAAC,MAAM,qCAAqC,CAAC;AACtF,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAItC,MAAM,GAAG,GAAG,SAAS,CAAC,4CAA4C,CAAC,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,YAA0B,EAAE,QAAiB;IACjF,YAAY,CAAC,sCAAsC,EAAE;QACpD,WAAW,EAAE,oDAAoD;YAChE,8DAA8D;YAC9D,oEAAoE;YACpE,yDAAyD;QAC1D,WAAW,EAAE;YACZ,KAAK,EAAE,sCAAsC;YAC7C,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACpB;KACD,EAAE,KAAK,IAAI,EAAE;QACb,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,MAAM,iCAAiC,EAAE,CAAC;QAC7D,OAAO;YACN,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBAChB;aACD;SACD,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getTypescriptConversionGuidelines(): Promise<string>;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import https from "https";
|
|
3
|
+
const typescriptConversionGuidelinesFileUrl = new URL("../../../resources/typescript_conversion_guidelines.md", import.meta.url);
|
|
4
|
+
async function getLatestVersion(packageName) {
|
|
5
|
+
return new Promise((resolve, reject) => {
|
|
6
|
+
https
|
|
7
|
+
.get(`https://registry.npmjs.org/${packageName}`, (res) => {
|
|
8
|
+
let data = "";
|
|
9
|
+
res.on("data", (chunk) => {
|
|
10
|
+
data += chunk;
|
|
11
|
+
});
|
|
12
|
+
res.on("end", () => {
|
|
13
|
+
try {
|
|
14
|
+
const json = JSON.parse(data);
|
|
15
|
+
resolve(json["dist-tags"].latest);
|
|
16
|
+
}
|
|
17
|
+
catch (_err) {
|
|
18
|
+
reject(new Error(`Failed to parse response for package ${packageName}`));
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
})
|
|
22
|
+
.on("error", (err) => {
|
|
23
|
+
reject(err);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
async function getLatestVersions(dependencies) {
|
|
28
|
+
const packageNames = Object.keys(dependencies);
|
|
29
|
+
const versionPromises = packageNames.map((packageName) => {
|
|
30
|
+
return getLatestVersion(packageName).catch((_error) => {
|
|
31
|
+
return dependencies[packageName];
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const versions = await Promise.all(versionPromises);
|
|
35
|
+
const latestVersions = {};
|
|
36
|
+
packageNames.forEach((packageName, index) => {
|
|
37
|
+
latestVersions[packageName] = versions[index];
|
|
38
|
+
});
|
|
39
|
+
return latestVersions;
|
|
40
|
+
}
|
|
41
|
+
const getLatestDevDependencies = async () => {
|
|
42
|
+
const packages = await getLatestVersions({
|
|
43
|
+
"@ui5/cli": "^4",
|
|
44
|
+
"typescript": "^5",
|
|
45
|
+
"typescript-eslint": "^8",
|
|
46
|
+
"ui5-middleware-livereload": "^3",
|
|
47
|
+
"ui5-tooling-transpile": "^3",
|
|
48
|
+
});
|
|
49
|
+
return {
|
|
50
|
+
devDependencies: packages,
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
const getLatestTsInterfaceGeneratorVersion = async () => {
|
|
54
|
+
const version = await getLatestVersion("@ui5/ts-interface-generator").catch(() => {
|
|
55
|
+
return "^0";
|
|
56
|
+
});
|
|
57
|
+
return version;
|
|
58
|
+
};
|
|
59
|
+
export async function getTypescriptConversionGuidelines() {
|
|
60
|
+
let guidelines = await readFile(typescriptConversionGuidelinesFileUrl, { encoding: "utf-8" });
|
|
61
|
+
guidelines = guidelines
|
|
62
|
+
.replace("{{dependencies}}", JSON.stringify(await getLatestDevDependencies(), null, 3))
|
|
63
|
+
.replace("{{ts-interface-generator-version}}", await getLatestTsInterfaceGeneratorVersion());
|
|
64
|
+
return guidelines;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=typescriptConversionGuidelines.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typescriptConversionGuidelines.js","sourceRoot":"","sources":["../../../src/tools/get_typescript_conversion_guidelines/typescriptConversionGuidelines.ts"],"names":[],"mappings":"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"}
|