@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 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.11.x, v22.0.0, or higher
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
 
@@ -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
- [x: string]: unknown;
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
- [x: string]: unknown;
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;
@@ -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
- const res = await Promise.resolve(callback(...args));
20
- return _processResponse(res, options);
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
- let text = item.resource.text;
42
- if (item.resource.title && typeof item.resource.title === "string") {
43
- text = `# ${item.resource.title}\n\n${text}`;
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
  });
@@ -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;AASzF,MAAM,CAAC,OAAO,WAAW,MAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC7E,MAAM,YAAY,GAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC7D,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC;YAC7C,uFAAuF;YACvF,OAAO,MAAM,CAAC,YAAY,CAAC;QAC5B,CAAC;QACD,4CAA4C;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACJ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBACrD,OAAO,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,iGAAiG;IACjG,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEjD,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE7C,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE1C,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE/C,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEhD,0BAA0B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAElD,yCAAyC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEjE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAiB,EAAE,OAAgB;IAC9F,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAc,CAAC;gBACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACpE,IAAI,GAAG,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,EAAE,CAAC;gBAC9C,CAAC;gBACD,OAAO;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI;iBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,IAAI,OAAO,CAAC,8BAA8B,EAAE,CAAC;QACjE,OAAO;YACN,iBAAiB;YACjB,OAAO;SACP,CAAC;IACH,CAAC;IACD,OAAO;QACN,OAAO;KACP,CAAC;AACH,CAAC"}
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;AACzF,OAAO,6CAA6C,MAAM,uDAAuD,CAAC;AASlH,MAAM,CAAC,OAAO,WAAW,MAAiB,EAAE,OAAgB,EAAE,OAAgB;IAC7E,MAAM,YAAY,GAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAC7D,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC;YAC7C,uFAAuF;YACvF,OAAO,MAAM,CAAC,YAAY,CAAC;QAC5B,CAAC;QACD,4CAA4C;QAC5C,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACJ,4CAA4C;gBAC5C,0FAA0F;gBAC1F,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACnD,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,WAAW,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,iGAAiG;IACjG,yBAAyB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEjD,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE7C,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE1C,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAE/C,wBAAwB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEhD,0BAA0B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAElD,yCAAyC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEjE,iCAAiC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAEzD,6CAA6C,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAiB,EAAE,OAAgB;IAC9F,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;QACrC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACvE,OAAO;wBACN,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;qBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CACd,oEAAoE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC1F,CAAC;gBACH,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,iBAAiB,IAAI,OAAO,CAAC,8BAA8B,EAAE,CAAC;QACjE,OAAO;YACN,iBAAiB;YACjB,OAAO;SACP,CAAC;IACH,CAAC;IACD,OAAO;QACN,OAAO;KACP,CAAC;AACH,CAAC"}
package/lib/server.js CHANGED
@@ -24,6 +24,7 @@ export default class Server {
24
24
  this.server = new McpServer({
25
25
  name: "UI5",
26
26
  version: PKG_VERSION,
27
+ }, {
27
28
  capabilities: {
28
29
  tools: {},
29
30
  },
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
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<["Analytical", "Calendar", "List", "Object", "Table", "Timeline"]>>;
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<["OpenUI5", "SAPUI5"]>>>;
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, "many">>;
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<["OpenUI5", "SAPUI5"]>>>;
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, "many">>;
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
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
- }, "strip", z.ZodTypeAny, {
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<["OpenUI5", "SAPUI5"]>>;
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, "many">>;
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
- }, "strip", z.ZodTypeAny, {
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<["OpenUI5", "SAPUI5"]>>;
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, "many">>;
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
- }, "strip", z.ZodTypeAny, {
49
- supportStatus: string;
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,3 @@
1
+ import Context from "../../Context.js";
2
+ import { RegisterTool } from "../../registerTools.js";
3
+ export default function registerTool(registerTool: RegisterTool, _context: Context): void;
@@ -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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"}