@nestia/sdk 12.0.0-dev.20260612.2 → 12.0.0-dev.20260619.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.
Files changed (93) hide show
  1. package/assets/bundle/distribute/package.json +1 -1
  2. package/lib/factories/ExpressionFactory.d.ts +9 -0
  3. package/lib/factories/ExpressionFactory.js +16 -0
  4. package/lib/factories/ExpressionFactory.js.map +1 -0
  5. package/lib/factories/IdentifierFactory.d.ts +22 -0
  6. package/lib/factories/IdentifierFactory.js +50 -0
  7. package/lib/factories/IdentifierFactory.js.map +1 -0
  8. package/lib/factories/LiteralFactory.d.ts +9 -0
  9. package/lib/factories/LiteralFactory.js +48 -0
  10. package/lib/factories/LiteralFactory.js.map +1 -0
  11. package/lib/factories/StatementFactory.d.ts +14 -0
  12. package/lib/factories/StatementFactory.js +20 -0
  13. package/lib/factories/StatementFactory.js.map +1 -0
  14. package/lib/factories/TypeFactory.d.ts +24 -0
  15. package/lib/factories/TypeFactory.js +27 -0
  16. package/lib/factories/TypeFactory.js.map +1 -0
  17. package/lib/generates/CloneGenerator.js +2 -2
  18. package/lib/generates/CloneGenerator.js.map +1 -1
  19. package/lib/generates/internal/E2eFileProgrammer.js +30 -29
  20. package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
  21. package/lib/generates/internal/FilePrinter.d.ts +2 -2
  22. package/lib/generates/internal/FilePrinter.js +14 -25
  23. package/lib/generates/internal/FilePrinter.js.map +1 -1
  24. package/lib/generates/internal/ImportDictionary.d.ts +1 -1
  25. package/lib/generates/internal/ImportDictionary.js +10 -9
  26. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  27. package/lib/generates/internal/SdkAliasCollection.d.ts +12 -12
  28. package/lib/generates/internal/SdkAliasCollection.js +23 -25
  29. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  30. package/lib/generates/internal/SdkFileProgrammer.js +2 -2
  31. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  32. package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
  33. package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
  34. package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
  35. package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
  36. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +45 -48
  37. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  38. package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
  39. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +61 -60
  40. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  41. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
  42. package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
  43. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  44. package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
  45. package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
  46. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +50 -48
  47. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  48. package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +1 -1
  49. package/lib/generates/internal/SdkMcpRouteProgrammer.js +54 -53
  50. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  51. package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
  52. package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
  53. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  54. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
  55. package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
  56. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  57. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
  58. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
  59. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  60. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
  61. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
  62. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  63. package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
  64. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +34 -40
  65. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  66. package/lib/transform.d.ts +5 -9
  67. package/lib/transform.js +8 -31
  68. package/lib/transform.js.map +1 -1
  69. package/package.json +11 -11
  70. package/src/factories/ExpressionFactory.ts +23 -0
  71. package/src/factories/IdentifierFactory.ts +84 -0
  72. package/src/factories/LiteralFactory.ts +54 -0
  73. package/src/factories/StatementFactory.ts +56 -0
  74. package/src/factories/TypeFactory.ts +27 -0
  75. package/src/generates/CloneGenerator.ts +8 -7
  76. package/src/generates/internal/E2eFileProgrammer.ts +59 -53
  77. package/src/generates/internal/FilePrinter.ts +28 -36
  78. package/src/generates/internal/ImportDictionary.ts +19 -21
  79. package/src/generates/internal/SdkAliasCollection.ts +55 -49
  80. package/src/generates/internal/SdkFileProgrammer.ts +4 -7
  81. package/src/generates/internal/SdkHttpCloneProgrammer.ts +11 -13
  82. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +90 -101
  83. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -166
  84. package/src/generates/internal/SdkHttpParameterProgrammer.ts +15 -17
  85. package/src/generates/internal/SdkHttpRouteProgrammer.ts +1 -1
  86. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +121 -130
  87. package/src/generates/internal/SdkMcpRouteProgrammer.ts +135 -140
  88. package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
  89. package/src/generates/internal/SdkTypeTagProgrammer.ts +13 -17
  90. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +124 -130
  91. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +17 -15
  92. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +112 -139
  93. package/src/transform.ts +14 -45
@@ -1,11 +1,15 @@
1
1
  import {
2
- IdentifierFactory,
3
- Node,
2
+ type Expression,
3
+ type Node,
4
4
  NodeFlags,
5
+ type ObjectLiteralElement,
6
+ type ParameterDeclaration,
7
+ type Statement,
5
8
  SyntaxKind,
6
- TypeScriptFactory,
7
- } from "@nestia/factory";
9
+ factory,
10
+ } from "@ttsc/factory";
8
11
 
12
+ import { IdentifierFactory } from "../../factories/IdentifierFactory";
9
13
  import { INestiaProject } from "../../structures/INestiaProject";
10
14
  import { ITypedMcpRoute } from "../../structures/ITypedMcpRoute";
11
15
  import { FilePrinter } from "./FilePrinter";
@@ -35,7 +39,7 @@ export namespace SdkMcpRouteProgrammer {
35
39
  (_project: INestiaProject) =>
36
40
  (importer: ImportDictionary) =>
37
41
  (route: ITypedMcpRoute): Node => {
38
- const clientType = TypeScriptFactory.createTypeReferenceNode(
42
+ const clientType = factory.createTypeReferenceNode(
39
43
  importer.external({
40
44
  declaration: true,
41
45
  file: "@modelcontextprotocol/sdk/client/index.js",
@@ -61,14 +65,14 @@ export namespace SdkMcpRouteProgrammer {
61
65
  });
62
66
 
63
67
  const inputRef: Node = route.input
64
- ? TypeScriptFactory.createTypeReferenceNode(`${route.name}.Input`)
65
- : TypeScriptFactory.createTypeLiteralNode([]);
66
- const outputRef: Node = TypeScriptFactory.createTypeReferenceNode(
68
+ ? factory.createTypeReferenceNode(`${route.name}.Input`)
69
+ : factory.createTypeLiteralNode([]);
70
+ const outputRef: Node = factory.createTypeReferenceNode(
67
71
  `${route.name}.Output`,
68
72
  );
69
73
 
70
- const params: Node[] = [
71
- TypeScriptFactory.createParameterDeclaration(
74
+ const params: ParameterDeclaration[] = [
75
+ factory.createParameterDeclaration(
72
76
  undefined,
73
77
  undefined,
74
78
  "client",
@@ -79,7 +83,7 @@ export namespace SdkMcpRouteProgrammer {
79
83
  ];
80
84
  if (route.input)
81
85
  params.push(
82
- TypeScriptFactory.createParameterDeclaration(
86
+ factory.createParameterDeclaration(
83
87
  undefined,
84
88
  undefined,
85
89
  "args",
@@ -89,55 +93,53 @@ export namespace SdkMcpRouteProgrammer {
89
93
  ),
90
94
  );
91
95
 
92
- const toolNameExpr = TypeScriptFactory.createPropertyAccessExpression(
93
- TypeScriptFactory.createPropertyAccessExpression(
94
- TypeScriptFactory.createIdentifier(route.name),
96
+ const toolNameExpr = factory.createPropertyAccessExpression(
97
+ factory.createPropertyAccessExpression(
98
+ factory.createIdentifier(route.name),
95
99
  "METADATA",
96
100
  ),
97
101
  "tool",
98
102
  );
99
103
 
100
- const callToolParams: Node[] = [
101
- TypeScriptFactory.createPropertyAssignment("name", toolNameExpr),
104
+ const callToolParams: ObjectLiteralElement[] = [
105
+ factory.createPropertyAssignment("name", toolNameExpr),
102
106
  ];
103
107
  if (route.input)
104
108
  callToolParams.push(
105
- TypeScriptFactory.createPropertyAssignment(
109
+ factory.createPropertyAssignment(
106
110
  "arguments",
107
- TypeScriptFactory.createAsExpression(
108
- TypeScriptFactory.createAsExpression(
109
- TypeScriptFactory.createIdentifier("args"),
110
- TypeScriptFactory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
111
+ factory.createAsExpression(
112
+ factory.createAsExpression(
113
+ factory.createIdentifier("args"),
114
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
111
115
  ),
112
- TypeScriptFactory.createTypeReferenceNode("Record", [
113
- TypeScriptFactory.createKeywordTypeNode(
114
- SyntaxKind.StringKeyword,
115
- ),
116
- TypeScriptFactory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
116
+ factory.createTypeReferenceNode("Record", [
117
+ factory.createKeywordTypeNode(SyntaxKind.StringKeyword),
118
+ factory.createKeywordTypeNode(SyntaxKind.AnyKeyword),
117
119
  ]),
118
120
  ),
119
121
  ),
120
122
  );
121
123
 
122
- const body = TypeScriptFactory.createBlock(
124
+ const body = factory.createBlock(
123
125
  [
124
- TypeScriptFactory.createVariableStatement(
126
+ factory.createVariableStatement(
125
127
  undefined,
126
- TypeScriptFactory.createVariableDeclarationList(
128
+ factory.createVariableDeclarationList(
127
129
  [
128
- TypeScriptFactory.createVariableDeclaration(
130
+ factory.createVariableDeclaration(
129
131
  "raw",
130
132
  undefined,
131
133
  undefined,
132
- TypeScriptFactory.createAwaitExpression(
133
- TypeScriptFactory.createCallExpression(
134
- TypeScriptFactory.createPropertyAccessExpression(
135
- TypeScriptFactory.createIdentifier("client"),
134
+ factory.createAwaitExpression(
135
+ factory.createCallExpression(
136
+ factory.createPropertyAccessExpression(
137
+ factory.createIdentifier("client"),
136
138
  "callTool",
137
139
  ),
138
140
  undefined,
139
141
  [
140
- TypeScriptFactory.createObjectLiteralExpression(
142
+ factory.createObjectLiteralExpression(
141
143
  callToolParams,
142
144
  true,
143
145
  ),
@@ -149,12 +151,12 @@ export namespace SdkMcpRouteProgrammer {
149
151
  NodeFlags.Const,
150
152
  ),
151
153
  ),
152
- TypeScriptFactory.createIfStatement(
153
- TypeScriptFactory.createCallExpression(
154
- TypeScriptFactory.createPropertyAccessExpression(
155
- TypeScriptFactory.createPropertyAccessExpression(
156
- TypeScriptFactory.createPropertyAccessExpression(
157
- TypeScriptFactory.createIdentifier("Object"),
154
+ factory.createIfStatement(
155
+ factory.createCallExpression(
156
+ factory.createPropertyAccessExpression(
157
+ factory.createPropertyAccessExpression(
158
+ factory.createPropertyAccessExpression(
159
+ factory.createIdentifier("Object"),
158
160
  "prototype",
159
161
  ),
160
162
  "hasOwnProperty",
@@ -163,8 +165,8 @@ export namespace SdkMcpRouteProgrammer {
163
165
  ),
164
166
  undefined,
165
167
  [
166
- TypeScriptFactory.createIdentifier("raw"),
167
- TypeScriptFactory.createStringLiteral("toolResult"),
168
+ factory.createIdentifier("raw"),
169
+ factory.createStringLiteral("toolResult"),
168
170
  ],
169
171
  ),
170
172
  throwToolError(
@@ -172,74 +174,70 @@ export namespace SdkMcpRouteProgrammer {
172
174
  '" returned a legacy (pre-2024-11-05) compatibility result',
173
175
  ),
174
176
  ),
175
- TypeScriptFactory.createVariableStatement(
177
+ factory.createVariableStatement(
176
178
  undefined,
177
- TypeScriptFactory.createVariableDeclarationList(
179
+ factory.createVariableDeclarationList(
178
180
  [
179
- TypeScriptFactory.createVariableDeclaration(
181
+ factory.createVariableDeclaration(
180
182
  "result",
181
183
  undefined,
182
- TypeScriptFactory.createTypeReferenceNode(
183
- callToolResultTypeName,
184
- ),
185
- TypeScriptFactory.createAsExpression(
186
- TypeScriptFactory.createIdentifier("raw"),
187
- TypeScriptFactory.createTypeReferenceNode(
188
- callToolResultTypeName,
189
- ),
184
+ factory.createTypeReferenceNode(callToolResultTypeName),
185
+ factory.createAsExpression(
186
+ factory.createIdentifier("raw"),
187
+ factory.createTypeReferenceNode(callToolResultTypeName),
190
188
  ),
191
189
  ),
192
190
  ],
193
191
  NodeFlags.Const,
194
192
  ),
195
193
  ),
196
- TypeScriptFactory.createIfStatement(
197
- TypeScriptFactory.createBinaryExpression(
198
- TypeScriptFactory.createPropertyAccessExpression(
199
- TypeScriptFactory.createIdentifier("result"),
194
+ factory.createIfStatement(
195
+ factory.createBinaryExpression(
196
+ factory.createPropertyAccessExpression(
197
+ factory.createIdentifier("result"),
200
198
  "isError",
201
199
  ),
202
- TypeScriptFactory.createToken(SyntaxKind.EqualsEqualsEqualsToken),
203
- TypeScriptFactory.createTrue(),
200
+ factory.createToken(SyntaxKind.EqualsEqualsEqualsToken),
201
+ factory.createTrue(),
204
202
  ),
205
203
  throwToolError(toolNameExpr, '" returned isError'),
206
204
  ),
207
205
  ...(isVoid
208
- ? [TypeScriptFactory.createReturnStatement()]
206
+ ? [factory.createReturnStatement()]
209
207
  : [
210
- TypeScriptFactory.createVariableStatement(
208
+ factory.createVariableStatement(
211
209
  undefined,
212
- TypeScriptFactory.createVariableDeclarationList(
210
+ factory.createVariableDeclarationList(
213
211
  [
214
- TypeScriptFactory.createVariableDeclaration(
212
+ factory.createVariableDeclaration(
215
213
  "first",
216
214
  undefined,
217
215
  undefined,
218
- TypeScriptFactory.createCallExpression(
219
- TypeScriptFactory.createPropertyAccessExpression(
220
- TypeScriptFactory.createPropertyAccessExpression(
221
- TypeScriptFactory.createIdentifier("result"),
216
+ factory.createCallExpression(
217
+ factory.createPropertyAccessExpression(
218
+ factory.createPropertyAccessExpression(
219
+ factory.createIdentifier("result"),
222
220
  "content",
223
221
  ),
224
222
  "find",
225
223
  ),
226
224
  undefined,
227
225
  [
228
- TypeScriptFactory.createArrowFunction(
226
+ factory.createArrowFunction(
229
227
  undefined,
230
228
  undefined,
231
229
  [IdentifierFactory.parameter("entry")],
232
230
  undefined,
233
231
  undefined,
234
- TypeScriptFactory.createBinaryExpression(
235
- TypeScriptFactory.createPropertyAccessExpression(
236
- TypeScriptFactory.createIdentifier("entry"),
232
+ factory.createBinaryExpression(
233
+ factory.createPropertyAccessExpression(
234
+ factory.createIdentifier("entry"),
237
235
  "type",
238
236
  ),
239
- TypeScriptFactory.createToken(
237
+ factory.createToken(
240
238
  SyntaxKind.EqualsEqualsEqualsToken,
241
239
  ),
242
- TypeScriptFactory.createStringLiteral("text"),
240
+ factory.createStringLiteral("text"),
243
241
  ),
244
242
  ),
245
243
  ],
@@ -249,38 +247,34 @@ export namespace SdkMcpRouteProgrammer {
249
247
  NodeFlags.Const,
250
248
  ),
251
249
  ),
252
- TypeScriptFactory.createIfStatement(
253
- TypeScriptFactory.createBinaryExpression(
254
- TypeScriptFactory.createIdentifier("first"),
255
- TypeScriptFactory.createToken(
256
- SyntaxKind.EqualsEqualsEqualsToken,
257
- ),
258
- TypeScriptFactory.createIdentifier("undefined"),
250
+ factory.createIfStatement(
251
+ factory.createBinaryExpression(
252
+ factory.createIdentifier("first"),
253
+ factory.createToken(SyntaxKind.EqualsEqualsEqualsToken),
254
+ factory.createIdentifier("undefined"),
259
255
  ),
260
256
  throwToolError(toolNameExpr, '" returned no text content'),
261
257
  ),
262
- TypeScriptFactory.createIfStatement(
263
- TypeScriptFactory.createBinaryExpression(
264
- TypeScriptFactory.createPropertyAccessExpression(
265
- TypeScriptFactory.createIdentifier("first"),
258
+ factory.createIfStatement(
259
+ factory.createBinaryExpression(
260
+ factory.createPropertyAccessExpression(
261
+ factory.createIdentifier("first"),
266
262
  "type",
267
263
  ),
268
- TypeScriptFactory.createToken(
269
- SyntaxKind.EqualsEqualsEqualsToken,
270
- ),
271
- TypeScriptFactory.createStringLiteral("text"),
264
+ factory.createToken(SyntaxKind.EqualsEqualsEqualsToken),
265
+ factory.createStringLiteral("text"),
272
266
  ),
273
- TypeScriptFactory.createReturnStatement(
274
- TypeScriptFactory.createAsExpression(
275
- TypeScriptFactory.createCallExpression(
276
- TypeScriptFactory.createPropertyAccessExpression(
277
- TypeScriptFactory.createIdentifier("JSON"),
267
+ factory.createReturnStatement(
268
+ factory.createAsExpression(
269
+ factory.createCallExpression(
270
+ factory.createPropertyAccessExpression(
271
+ factory.createIdentifier("JSON"),
278
272
  "parse",
279
273
  ),
280
274
  undefined,
281
275
  [
282
- TypeScriptFactory.createPropertyAccessExpression(
283
- TypeScriptFactory.createIdentifier("first"),
276
+ factory.createPropertyAccessExpression(
277
+ factory.createIdentifier("first"),
284
278
  "text",
285
279
  ),
286
280
  ],
@@ -295,16 +289,16 @@ export namespace SdkMcpRouteProgrammer {
295
289
  true,
296
290
  );
297
291
 
298
- return TypeScriptFactory.createFunctionDeclaration(
292
+ return factory.createFunctionDeclaration(
299
293
  [
300
- TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword),
301
- TypeScriptFactory.createModifier(SyntaxKind.AsyncKeyword),
294
+ factory.createModifier(SyntaxKind.ExportKeyword),
295
+ factory.createModifier(SyntaxKind.AsyncKeyword),
302
296
  ],
303
297
  undefined,
304
298
  route.name,
305
299
  undefined,
306
300
  params,
307
- TypeScriptFactory.createTypeReferenceNode("Promise", [outputRef]),
301
+ factory.createTypeReferenceNode("Promise", [outputRef]),
308
302
  body,
309
303
  );
310
304
  };
@@ -313,21 +307,21 @@ export namespace SdkMcpRouteProgrammer {
313
307
  (_project: INestiaProject) =>
314
308
  (importer: ImportDictionary) =>
315
309
  (route: ITypedMcpRoute): Node => {
316
- const statements: Node[] = [];
310
+ const statements: Statement[] = [];
317
311
 
318
312
  if (route.input)
319
313
  statements.push(
320
- TypeScriptFactory.createTypeAliasDeclaration(
321
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
314
+ factory.createTypeAliasDeclaration(
315
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
322
316
  "Input",
323
317
  undefined,
324
- TypeScriptFactory.createTypeReferenceNode(route.input.type.name),
318
+ factory.createTypeReferenceNode(route.input.type.name),
325
319
  ),
326
320
  );
327
321
 
328
322
  const outputType: Node =
329
323
  !isVoidReturn(route) && route.returnType !== null
330
- ? TypeScriptFactory.createTypeReferenceNode(
324
+ ? factory.createTypeReferenceNode(
331
325
  importer.external({
332
326
  declaration: true,
333
327
  file: "typia",
@@ -335,15 +329,15 @@ export namespace SdkMcpRouteProgrammer {
335
329
  name: "Primitive",
336
330
  }),
337
331
  [
338
- TypeScriptFactory.createTypeReferenceNode(
332
+ factory.createTypeReferenceNode(
339
333
  unwrapPromise(route.returnType.name),
340
334
  ),
341
335
  ],
342
336
  )
343
- : TypeScriptFactory.createKeywordTypeNode(SyntaxKind.VoidKeyword);
337
+ : factory.createKeywordTypeNode(SyntaxKind.VoidKeyword);
344
338
  statements.push(
345
- TypeScriptFactory.createTypeAliasDeclaration(
346
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
339
+ factory.createTypeAliasDeclaration(
340
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
347
341
  "Output",
348
342
  undefined,
349
343
  outputType,
@@ -351,43 +345,41 @@ export namespace SdkMcpRouteProgrammer {
351
345
  );
352
346
 
353
347
  statements.push(
354
- TypeScriptFactory.createVariableStatement(
355
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
356
- TypeScriptFactory.createVariableDeclarationList(
348
+ factory.createVariableStatement(
349
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
350
+ factory.createVariableDeclarationList(
357
351
  [
358
- TypeScriptFactory.createVariableDeclaration(
352
+ factory.createVariableDeclaration(
359
353
  "METADATA",
360
354
  undefined,
361
355
  undefined,
362
- TypeScriptFactory.createAsExpression(
363
- TypeScriptFactory.createObjectLiteralExpression(
356
+ factory.createAsExpression(
357
+ factory.createObjectLiteralExpression(
364
358
  [
365
- TypeScriptFactory.createPropertyAssignment(
359
+ factory.createPropertyAssignment(
366
360
  "protocol",
367
- TypeScriptFactory.createStringLiteral("mcp"),
361
+ factory.createStringLiteral("mcp"),
368
362
  ),
369
- TypeScriptFactory.createPropertyAssignment(
363
+ factory.createPropertyAssignment(
370
364
  "tool",
371
- TypeScriptFactory.createStringLiteral(route.toolName),
365
+ factory.createStringLiteral(route.toolName),
372
366
  ),
373
- TypeScriptFactory.createPropertyAssignment(
367
+ factory.createPropertyAssignment(
374
368
  "title",
375
369
  route.title === null
376
- ? TypeScriptFactory.createNull()
377
- : TypeScriptFactory.createStringLiteral(route.title),
370
+ ? factory.createNull()
371
+ : factory.createStringLiteral(route.title),
378
372
  ),
379
- TypeScriptFactory.createPropertyAssignment(
373
+ factory.createPropertyAssignment(
380
374
  "description",
381
375
  route.toolDescription === null
382
- ? TypeScriptFactory.createNull()
383
- : TypeScriptFactory.createStringLiteral(
384
- route.toolDescription,
385
- ),
376
+ ? factory.createNull()
377
+ : factory.createStringLiteral(route.toolDescription),
386
378
  ),
387
379
  ],
388
380
  true,
389
381
  ),
390
- TypeScriptFactory.createTypeReferenceNode("const"),
382
+ factory.createTypeReferenceNode("const"),
391
383
  ),
392
384
  ),
393
385
  ],
@@ -396,10 +388,10 @@ export namespace SdkMcpRouteProgrammer {
396
388
  ),
397
389
  );
398
390
 
399
- return TypeScriptFactory.createModuleDeclaration(
400
- [TypeScriptFactory.createModifier(SyntaxKind.ExportKeyword)],
401
- TypeScriptFactory.createIdentifier(route.name),
402
- TypeScriptFactory.createModuleBlock(statements),
391
+ return factory.createModuleDeclaration(
392
+ [factory.createModifier(SyntaxKind.ExportKeyword)],
393
+ factory.createIdentifier(route.name),
394
+ factory.createModuleBlock(statements),
403
395
  NodeFlags.Namespace,
404
396
  );
405
397
  };
@@ -431,18 +423,21 @@ export namespace SdkMcpRouteProgrammer {
431
423
  const isVoidName = (name: string): boolean =>
432
424
  name === "void" || name === "undefined";
433
425
 
434
- const throwToolError = (toolNameExpr: Node, suffix: string): Node =>
435
- TypeScriptFactory.createThrowStatement(
436
- TypeScriptFactory.createNewExpression(
437
- TypeScriptFactory.createIdentifier("Error"),
426
+ const throwToolError = (
427
+ toolNameExpr: Expression,
428
+ suffix: string,
429
+ ): Statement =>
430
+ factory.createThrowStatement(
431
+ factory.createNewExpression(
432
+ factory.createIdentifier("Error"),
438
433
  undefined,
439
434
  [
440
- TypeScriptFactory.createTemplateExpression(
441
- TypeScriptFactory.createTemplateHead('MCP tool "'),
435
+ factory.createTemplateExpression(
436
+ factory.createTemplateHead('MCP tool "'),
442
437
  [
443
- TypeScriptFactory.createTemplateSpan(
438
+ factory.createTemplateSpan(
444
439
  toolNameExpr,
445
- TypeScriptFactory.createTemplateTail(suffix),
440
+ factory.createTemplateTail(suffix),
446
441
  ),
447
442
  ],
448
443
  ),