@modularizer/plat 0.1.0 → 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.
Files changed (123) hide show
  1. package/dist/args/index.js +1 -1
  2. package/dist/args/validate.js +1 -1
  3. package/dist/args/z2.js +2 -2
  4. package/dist/cli/commands/jwt-cmd.js +1 -1
  5. package/dist/cli/commands/run.js +2 -2
  6. package/dist/cli/index.js +10 -10
  7. package/dist/cli/jwt-helper.js +1 -1
  8. package/dist/cli/proxy.js +1 -1
  9. package/dist/cli/runtime.js +1 -1
  10. package/dist/cli/z2.js +9 -9
  11. package/dist/client/css-transport-plugin.d.ts +19 -0
  12. package/dist/client/css-transport-plugin.d.ts.map +1 -0
  13. package/dist/client/css-transport-plugin.js +78 -0
  14. package/dist/client/css-transport-plugin.js.map +1 -0
  15. package/dist/client/file-transport-plugin.d.ts +4 -1
  16. package/dist/client/file-transport-plugin.d.ts.map +1 -1
  17. package/dist/client/file-transport-plugin.js +2 -2
  18. package/dist/client/file-transport-plugin.js.map +1 -1
  19. package/dist/client/http-transport-plugin.js +1 -1
  20. package/dist/client/index.d.ts +1 -0
  21. package/dist/client/index.d.ts.map +1 -1
  22. package/dist/client/index.js +6 -5
  23. package/dist/client/index.js.map +1 -1
  24. package/dist/client/openapi-client.d.ts +3 -1
  25. package/dist/client/openapi-client.d.ts.map +1 -1
  26. package/dist/client/openapi-client.js +40 -15
  27. package/dist/client/openapi-client.js.map +1 -1
  28. package/dist/client/proxy.js +2 -2
  29. package/dist/client/request-builder.d.ts +3 -2
  30. package/dist/client/request-builder.d.ts.map +1 -1
  31. package/dist/client/request-builder.js.map +1 -1
  32. package/dist/client/rpc-transport-plugin.js +1 -1
  33. package/dist/client/tools.js +1 -1
  34. package/dist/client-entry.d.ts +23 -0
  35. package/dist/client-entry.d.ts.map +1 -0
  36. package/dist/client-entry.js +23 -0
  37. package/dist/client-entry.js.map +1 -0
  38. package/dist/client-server-entry.d.ts +11 -0
  39. package/dist/client-server-entry.d.ts.map +1 -0
  40. package/dist/client-server-entry.js +11 -0
  41. package/dist/client-server-entry.js.map +1 -0
  42. package/dist/client-side-server/bootstrap.d.ts +3 -0
  43. package/dist/client-side-server/bootstrap.d.ts.map +1 -0
  44. package/dist/client-side-server/bootstrap.js +20 -0
  45. package/dist/client-side-server/bootstrap.js.map +1 -0
  46. package/dist/client-side-server/channel.d.ts +8 -0
  47. package/dist/client-side-server/channel.d.ts.map +1 -0
  48. package/dist/client-side-server/channel.js +19 -0
  49. package/dist/client-side-server/channel.js.map +1 -0
  50. package/dist/client-side-server/mqtt-webrtc.d.ts +38 -0
  51. package/dist/client-side-server/mqtt-webrtc.d.ts.map +1 -0
  52. package/dist/client-side-server/mqtt-webrtc.js +328 -0
  53. package/dist/client-side-server/mqtt-webrtc.js.map +1 -0
  54. package/dist/client-side-server/protocol.d.ts +37 -0
  55. package/dist/client-side-server/protocol.d.ts.map +1 -0
  56. package/dist/client-side-server/protocol.js +2 -0
  57. package/dist/client-side-server/protocol.js.map +1 -0
  58. package/dist/client-side-server/runtime.d.ts +57 -0
  59. package/dist/client-side-server/runtime.d.ts.map +1 -0
  60. package/dist/client-side-server/runtime.js +188 -0
  61. package/dist/client-side-server/runtime.js.map +1 -0
  62. package/dist/client-side-server/server.d.ts +34 -0
  63. package/dist/client-side-server/server.d.ts.map +1 -0
  64. package/dist/client-side-server/server.js +210 -0
  65. package/dist/client-side-server/server.js.map +1 -0
  66. package/dist/client-side-server/signaling.d.ts +10 -0
  67. package/dist/client-side-server/signaling.d.ts.map +1 -0
  68. package/dist/client-side-server/signaling.js +19 -0
  69. package/dist/client-side-server/signaling.js.map +1 -0
  70. package/dist/client-side-server/source-analysis.d.ts +29 -0
  71. package/dist/client-side-server/source-analysis.d.ts.map +1 -0
  72. package/dist/client-side-server/source-analysis.js +395 -0
  73. package/dist/client-side-server/source-analysis.js.map +1 -0
  74. package/dist/index.js +7 -7
  75. package/dist/server/auth/index.js +1 -1
  76. package/dist/server/cache/index.js +1 -1
  77. package/dist/server/config/defaults.d.ts.map +1 -1
  78. package/dist/server/config/defaults.js +2 -1
  79. package/dist/server/config/defaults.js.map +1 -1
  80. package/dist/server/config/index.js +4 -4
  81. package/dist/server/config/logger.js +1 -1
  82. package/dist/server/config/types.d.ts +7 -0
  83. package/dist/server/config/types.d.ts.map +1 -1
  84. package/dist/server/core.d.ts +1 -0
  85. package/dist/server/core.d.ts.map +1 -1
  86. package/dist/server/core.js +22 -9
  87. package/dist/server/core.js.map +1 -1
  88. package/dist/server/file-queue-protocol-plugin.js +1 -1
  89. package/dist/server/index.js +15 -15
  90. package/dist/server/rate-limit/index.js +1 -1
  91. package/dist/server/rate-limit/utils.js +1 -1
  92. package/dist/server/rpc-protocol-plugin.js +2 -2
  93. package/dist/server/server.d.ts.map +1 -1
  94. package/dist/server/server.js +15 -14
  95. package/dist/server/server.js.map +1 -1
  96. package/dist/server/token-limit/index.js +1 -1
  97. package/dist/server/token-limit/utils.js +1 -1
  98. package/dist/server/tools.d.ts +3 -21
  99. package/dist/server/tools.d.ts.map +1 -1
  100. package/dist/server/tools.js +17 -82
  101. package/dist/server/tools.js.map +1 -1
  102. package/dist/shared/tools.d.ts +24 -0
  103. package/dist/shared/tools.d.ts.map +1 -0
  104. package/dist/shared/tools.js +86 -0
  105. package/dist/shared/tools.js.map +1 -0
  106. package/dist/spec/decorators.js +1 -1
  107. package/dist/spec/index.js +2 -2
  108. package/dist/types/client-route.d.ts +7 -0
  109. package/dist/types/client-route.d.ts.map +1 -0
  110. package/dist/types/client-route.js +2 -0
  111. package/dist/types/client-route.js.map +1 -0
  112. package/dist/types/client.d.ts +2 -2
  113. package/dist/types/client.d.ts.map +1 -1
  114. package/dist/types/endpoints.d.ts +4 -4
  115. package/dist/types/endpoints.d.ts.map +1 -1
  116. package/dist/types/errors.d.ts +7 -7
  117. package/dist/types/errors.d.ts.map +1 -1
  118. package/dist/types/errors.js.map +1 -1
  119. package/dist/types/index.d.ts +1 -0
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js +9 -8
  122. package/dist/types/index.js.map +1 -1
  123. package/package.json +11 -2
@@ -0,0 +1,395 @@
1
+ export function analyzeClientSideServerSource(ts, source, options = {}) {
2
+ const sourceFile = ts.createSourceFile('client-side-server.ts', source, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
3
+ const interfaces = new Map();
4
+ const typeAliases = new Map();
5
+ const enums = new Map();
6
+ const controllers = [];
7
+ const undecoratedMode = options.undecoratedMode ?? 'POST';
8
+ ts.forEachChild(sourceFile, (node) => {
9
+ if (isKind(ts, node, 'InterfaceDeclaration') && node.name?.text) {
10
+ interfaces.set(node.name.text, node);
11
+ return;
12
+ }
13
+ if (isKind(ts, node, 'TypeAliasDeclaration') && node.name?.text) {
14
+ typeAliases.set(node.name.text, node.type);
15
+ return;
16
+ }
17
+ if (isKind(ts, node, 'EnumDeclaration') && node.name?.text) {
18
+ enums.set(node.name.text, node);
19
+ return;
20
+ }
21
+ if (isKind(ts, node, 'ClassDeclaration') && node.name?.text) {
22
+ controllers.push(analyzeController(ts, node, interfaces, typeAliases, enums, undecoratedMode));
23
+ }
24
+ });
25
+ return { controllers };
26
+ }
27
+ function analyzeController(ts, classNode, interfaces, typeAliases, enums, undecoratedMode) {
28
+ const methods = (classNode.members ?? [])
29
+ .filter((member) => isMethodExposed(ts, member, undecoratedMode))
30
+ .map((method) => analyzeMethod(ts, method, interfaces, typeAliases, enums));
31
+ return {
32
+ name: classNode.name.text,
33
+ methods,
34
+ };
35
+ }
36
+ function analyzeMethod(ts, methodNode, interfaces, typeAliases, enums) {
37
+ const docs = getNodeDoc(ts, methodNode);
38
+ const inputParam = (methodNode.parameters ?? [])[0];
39
+ const inputSchema = inputParam?.type
40
+ ? typeNodeToSchema(ts, inputParam.type, interfaces, typeAliases, enums)
41
+ : undefined;
42
+ const explicitReturnType = unwrapPromiseType(ts, methodNode.type);
43
+ const outputSchema = explicitReturnType
44
+ ? typeNodeToSchema(ts, explicitReturnType, interfaces, typeAliases, enums)
45
+ : inferMethodReturnSchema(ts, methodNode, interfaces, typeAliases, enums);
46
+ return {
47
+ name: methodNode.name.getText ? methodNode.name.getText() : methodNode.name.text,
48
+ summary: docs.summary,
49
+ description: docs.description,
50
+ inputSchema: normalizeObjectSchema(inputSchema),
51
+ outputSchema,
52
+ };
53
+ }
54
+ function isMethodExposed(ts, member, undecoratedMode) {
55
+ if (!isKind(ts, member, 'MethodDeclaration'))
56
+ return false;
57
+ const name = member.name?.getText?.() ?? member.name?.text;
58
+ if (!name || name === 'constructor' || String(name).startsWith('_'))
59
+ return false;
60
+ return Boolean(getHttpDecorator(ts, member)) || undecoratedMode !== 'private';
61
+ }
62
+ function getNodeDoc(_ts, node) {
63
+ const blocks = Array.isArray(node?.jsDoc) ? node.jsDoc : [];
64
+ if (blocks.length === 0)
65
+ return {};
66
+ const raw = blocks
67
+ .map((block) => {
68
+ if (typeof block.comment === 'string')
69
+ return block.comment;
70
+ if (Array.isArray(block.comment)) {
71
+ return block.comment.map((part) => part?.text ?? '').join('');
72
+ }
73
+ return '';
74
+ })
75
+ .join('\n')
76
+ .trim();
77
+ if (!raw)
78
+ return {};
79
+ const paragraphs = raw
80
+ .split(/\n\s*\n/)
81
+ .map((part) => part.trim())
82
+ .filter(Boolean);
83
+ if (paragraphs.length === 0)
84
+ return {};
85
+ return {
86
+ summary: paragraphs[0],
87
+ description: paragraphs.join('\n\n'),
88
+ };
89
+ }
90
+ function inferMethodReturnSchema(ts, methodNode, interfaces, typeAliases, enums) {
91
+ if (!methodNode.body)
92
+ return undefined;
93
+ const returns = [];
94
+ walk(ts, methodNode.body, (node) => {
95
+ if (isKind(ts, node, 'ReturnStatement') && node.expression) {
96
+ const schema = expressionToSchema(ts, node.expression, interfaces, typeAliases, enums);
97
+ if (schema)
98
+ returns.push(schema);
99
+ }
100
+ });
101
+ if (returns.length === 0)
102
+ return undefined;
103
+ if (returns.length === 1)
104
+ return returns[0];
105
+ return mergeSchemas(returns);
106
+ }
107
+ function expressionToSchema(ts, expression, interfaces, typeAliases, enums) {
108
+ if (isKind(ts, expression, 'ObjectLiteralExpression')) {
109
+ const properties = {};
110
+ const required = [];
111
+ for (const prop of expression.properties ?? []) {
112
+ if (isKind(ts, prop, 'PropertyAssignment')) {
113
+ const name = propertyNameText(prop.name);
114
+ if (!name)
115
+ continue;
116
+ const schema = expressionToSchema(ts, prop.initializer, interfaces, typeAliases, enums) ?? {};
117
+ properties[name] = schema;
118
+ required.push(name);
119
+ }
120
+ }
121
+ return {
122
+ type: 'object',
123
+ properties,
124
+ required,
125
+ };
126
+ }
127
+ if (isKind(ts, expression, 'ArrayLiteralExpression')) {
128
+ const items = (expression.elements ?? [])
129
+ .map((element) => expressionToSchema(ts, element, interfaces, typeAliases, enums))
130
+ .filter(Boolean);
131
+ return {
132
+ type: 'array',
133
+ items: items.length <= 1 ? (items[0] ?? {}) : { oneOf: items },
134
+ };
135
+ }
136
+ if (isKind(ts, expression, 'StringLiteral') || isKind(ts, expression, 'NoSubstitutionTemplateLiteral')) {
137
+ return { type: 'string' };
138
+ }
139
+ if (isKind(ts, expression, 'NumericLiteral')) {
140
+ return { type: 'number' };
141
+ }
142
+ if (isKind(ts, expression, 'TrueKeyword') || isKind(ts, expression, 'FalseKeyword')) {
143
+ return { type: 'boolean' };
144
+ }
145
+ if (isKind(ts, expression, 'AsExpression') || isKind(ts, expression, 'ParenthesizedExpression')) {
146
+ return expressionToSchema(ts, expression.expression, interfaces, typeAliases, enums);
147
+ }
148
+ if (expression.kind === ts.SyntaxKind.NullKeyword) {
149
+ return { type: 'null' };
150
+ }
151
+ return undefined;
152
+ }
153
+ function typeNodeToSchema(ts, typeNode, interfaces, typeAliases, enums, seen = new Set()) {
154
+ if (!typeNode)
155
+ return undefined;
156
+ if (isKind(ts, typeNode, 'ParenthesizedType')) {
157
+ return typeNodeToSchema(ts, typeNode.type, interfaces, typeAliases, enums, seen);
158
+ }
159
+ if (isKind(ts, typeNode, 'TypeLiteral')) {
160
+ return membersToObjectSchema(ts, typeNode.members ?? [], interfaces, typeAliases, enums, seen);
161
+ }
162
+ if (isKind(ts, typeNode, 'ArrayType')) {
163
+ return {
164
+ type: 'array',
165
+ items: typeNodeToSchema(ts, typeNode.elementType, interfaces, typeAliases, enums, seen) ?? {},
166
+ };
167
+ }
168
+ if (isKind(ts, typeNode, 'TupleType')) {
169
+ return {
170
+ type: 'array',
171
+ prefixItems: (typeNode.elements ?? []).map((element) => typeNodeToSchema(ts, element, interfaces, typeAliases, enums, seen) ?? {}),
172
+ };
173
+ }
174
+ if (isKind(ts, typeNode, 'UnionType')) {
175
+ const memberSchemas = (typeNode.types ?? [])
176
+ .map((member) => typeNodeToSchema(ts, member, interfaces, typeAliases, enums, new Set(seen)))
177
+ .filter(Boolean);
178
+ const literalValues = memberSchemas
179
+ .map((schema) => Object.prototype.hasOwnProperty.call(schema, 'const') ? schema.const : undefined)
180
+ .filter((value) => value !== undefined);
181
+ if (literalValues.length === memberSchemas.length && literalValues.length > 0) {
182
+ return {
183
+ type: typeof literalValues[0] === 'number' ? 'number' : typeof literalValues[0] === 'boolean' ? 'boolean' : 'string',
184
+ enum: literalValues,
185
+ };
186
+ }
187
+ return { oneOf: memberSchemas };
188
+ }
189
+ if (isKind(ts, typeNode, 'LiteralType')) {
190
+ const literal = literalNodeToValue(ts, typeNode.literal);
191
+ if (literal === undefined)
192
+ return undefined;
193
+ return {
194
+ type: typeof literal === 'number' ? 'number' : typeof literal === 'boolean' ? 'boolean' : 'string',
195
+ const: literal,
196
+ };
197
+ }
198
+ if (isKind(ts, typeNode, 'TypeReference')) {
199
+ const typeName = typeNode.typeName?.getText?.() ?? typeNode.typeName?.text;
200
+ if (!typeName)
201
+ return undefined;
202
+ if (typeName === 'Promise') {
203
+ return typeNodeToSchema(ts, typeNode.typeArguments?.[0], interfaces, typeAliases, enums, seen);
204
+ }
205
+ if (typeName === 'Array') {
206
+ return {
207
+ type: 'array',
208
+ items: typeNodeToSchema(ts, typeNode.typeArguments?.[0], interfaces, typeAliases, enums, seen) ?? {},
209
+ };
210
+ }
211
+ if (typeName === 'Record') {
212
+ return {
213
+ type: 'object',
214
+ additionalProperties: typeNodeToSchema(ts, typeNode.typeArguments?.[1], interfaces, typeAliases, enums, seen) ?? {},
215
+ };
216
+ }
217
+ if (typeName === 'Date') {
218
+ return { type: 'string', format: 'date-time' };
219
+ }
220
+ if (seen.has(typeName)) {
221
+ return { type: 'object' };
222
+ }
223
+ seen.add(typeName);
224
+ if (interfaces.has(typeName)) {
225
+ const schema = membersToObjectSchema(ts, interfaces.get(typeName).members ?? [], interfaces, typeAliases, enums, seen);
226
+ seen.delete(typeName);
227
+ return schema;
228
+ }
229
+ if (typeAliases.has(typeName)) {
230
+ const schema = typeNodeToSchema(ts, typeAliases.get(typeName), interfaces, typeAliases, enums, seen);
231
+ seen.delete(typeName);
232
+ return schema;
233
+ }
234
+ if (enums.has(typeName)) {
235
+ const schema = enumToSchema(ts, enums.get(typeName));
236
+ seen.delete(typeName);
237
+ return schema;
238
+ }
239
+ seen.delete(typeName);
240
+ return { type: 'object' };
241
+ }
242
+ switch (typeNode.kind) {
243
+ case ts.SyntaxKind.StringKeyword:
244
+ return { type: 'string' };
245
+ case ts.SyntaxKind.NumberKeyword:
246
+ return { type: 'number' };
247
+ case ts.SyntaxKind.BooleanKeyword:
248
+ return { type: 'boolean' };
249
+ case ts.SyntaxKind.NullKeyword:
250
+ return { type: 'null' };
251
+ case ts.SyntaxKind.AnyKeyword:
252
+ case ts.SyntaxKind.UnknownKeyword:
253
+ return {};
254
+ case ts.SyntaxKind.VoidKeyword:
255
+ return undefined;
256
+ default:
257
+ return { type: 'object' };
258
+ }
259
+ }
260
+ function membersToObjectSchema(ts, members, interfaces, typeAliases, enums, seen) {
261
+ const properties = {};
262
+ const required = [];
263
+ for (const member of members) {
264
+ if (!isKind(ts, member, 'PropertySignature') && !isKind(ts, member, 'PropertyDeclaration')) {
265
+ continue;
266
+ }
267
+ const name = propertyNameText(member.name);
268
+ if (!name)
269
+ continue;
270
+ const schema = typeNodeToSchema(ts, member.type, interfaces, typeAliases, enums, new Set(seen)) ?? {};
271
+ properties[name] = schema;
272
+ if (!member.questionToken) {
273
+ required.push(name);
274
+ }
275
+ }
276
+ return {
277
+ type: 'object',
278
+ properties,
279
+ required,
280
+ };
281
+ }
282
+ function enumToSchema(ts, enumNode) {
283
+ const values = (enumNode.members ?? [])
284
+ .map((member) => {
285
+ if (member.initializer) {
286
+ return literalNodeToValue(ts, member.initializer);
287
+ }
288
+ return member.name?.text;
289
+ })
290
+ .filter((value) => value !== undefined);
291
+ return {
292
+ type: values.every((value) => typeof value === 'number') ? 'number' : 'string',
293
+ enum: values,
294
+ };
295
+ }
296
+ function unwrapPromiseType(ts, typeNode) {
297
+ if (!typeNode || !isKind(ts, typeNode, 'TypeReference'))
298
+ return typeNode;
299
+ const typeName = typeNode.typeName?.getText?.() ?? typeNode.typeName?.text;
300
+ if (typeName === 'Promise' && typeNode.typeArguments?.length) {
301
+ return typeNode.typeArguments[0];
302
+ }
303
+ return typeNode;
304
+ }
305
+ function hasDecorator(ts, node, name) {
306
+ return getDecorators(ts, node).some((decorator) => decoratorName(decorator) === name);
307
+ }
308
+ function getHttpDecorator(ts, node) {
309
+ return getDecorators(ts, node)
310
+ .map((decorator) => decoratorName(decorator))
311
+ .find((name) => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'].includes(name ?? ''));
312
+ }
313
+ function getDecorators(ts, node) {
314
+ if (typeof ts.canHaveDecorators === 'function' && typeof ts.getDecorators === 'function' && ts.canHaveDecorators(node)) {
315
+ return [...(ts.getDecorators(node) ?? [])];
316
+ }
317
+ return [...(node.decorators ?? [])];
318
+ }
319
+ function decoratorName(decorator) {
320
+ const expression = decorator.expression ?? decorator;
321
+ if (!expression)
322
+ return undefined;
323
+ if (expression.expression?.text)
324
+ return expression.expression.text;
325
+ if (expression.expression?.getText)
326
+ return expression.expression.getText();
327
+ if (expression.text)
328
+ return expression.text;
329
+ if (expression.getText)
330
+ return expression.getText();
331
+ return undefined;
332
+ }
333
+ function propertyNameText(nameNode) {
334
+ if (!nameNode)
335
+ return undefined;
336
+ if (typeof nameNode.text === 'string')
337
+ return nameNode.text;
338
+ if (typeof nameNode.getText === 'function') {
339
+ return nameNode.getText().replace(/^['"]|['"]$/g, '');
340
+ }
341
+ return undefined;
342
+ }
343
+ function literalNodeToValue(ts, node) {
344
+ if (!node)
345
+ return undefined;
346
+ if (isKind(ts, node, 'StringLiteral') || isKind(ts, node, 'NoSubstitutionTemplateLiteral')) {
347
+ return node.text;
348
+ }
349
+ if (isKind(ts, node, 'NumericLiteral')) {
350
+ return Number(node.text);
351
+ }
352
+ if (isKind(ts, node, 'TrueKeyword'))
353
+ return true;
354
+ if (isKind(ts, node, 'FalseKeyword'))
355
+ return false;
356
+ return undefined;
357
+ }
358
+ function mergeSchemas(schemas) {
359
+ if (schemas.every((schema) => schema.type === 'object' && schema.properties)) {
360
+ const properties = {};
361
+ const presence = new Map();
362
+ for (const schema of schemas) {
363
+ for (const [name, propertySchema] of Object.entries(schema.properties ?? {})) {
364
+ properties[name] = propertySchema;
365
+ presence.set(name, (presence.get(name) ?? 0) + 1);
366
+ }
367
+ }
368
+ const required = Array.from(presence.entries())
369
+ .filter(([, count]) => count === schemas.length)
370
+ .map(([name]) => name);
371
+ return { type: 'object', properties, required };
372
+ }
373
+ return { oneOf: schemas };
374
+ }
375
+ function normalizeObjectSchema(schema) {
376
+ if (!schema)
377
+ return undefined;
378
+ if (schema.type === 'object') {
379
+ return {
380
+ type: 'object',
381
+ properties: schema.properties ?? {},
382
+ required: schema.required ?? [],
383
+ ...(schema.additionalProperties !== undefined ? { additionalProperties: schema.additionalProperties } : {}),
384
+ };
385
+ }
386
+ return schema;
387
+ }
388
+ function isKind(ts, node, kindName) {
389
+ return Boolean(node && node.kind === ts.SyntaxKind[kindName]);
390
+ }
391
+ function walk(ts, node, visitor) {
392
+ visitor(node);
393
+ ts.forEachChild(node, (child) => walk(ts, child, visitor));
394
+ }
395
+ //# sourceMappingURL=source-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-analysis.js","sourceRoot":"","sources":["../../src/client-side-server/source-analysis.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- export * from './args';
2
- export * from './rpc';
3
- export * from './spec';
4
- export * from './client';
5
- export * from './server';
6
- export * from './types';
7
- export { runCli } from './cli/runtime';
1
+ export * from './args/index.js';
2
+ export * from './rpc.js';
3
+ export * from './spec/index.js';
4
+ export * from './client/index.js';
5
+ export * from './server/index.js';
6
+ export * from './types/index.js';
7
+ export { runCli } from './cli/runtime.js';
8
8
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export { createJwtAuth, signToken, signRefreshToken } from './jwt';
1
+ export { createJwtAuth, signToken, signRefreshToken } from './jwt.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export * from './utils';
1
+ export * from './utils.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/server/config/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI3C,eAAO,MAAM,eAAe,EAAE,iBA0B7B,CAAA"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/server/config/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAI3C,eAAO,MAAM,eAAe,EAAE,iBA2B7B,CAAA"}
@@ -1,5 +1,6 @@
1
- import { defaultLogger } from "./logger";
1
+ import { defaultLogger } from "./logger.js";
2
2
  export const DEFAULT_OPTIONS = {
3
+ undecoratedMode: 'POST',
3
4
  errorExposure: 'message',
4
5
  serializers: {},
5
6
  cors: false,
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/server/config/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAGtC,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,aAAa;IACrB,uEAAuE;IACvE,qBAAqB,EAAE,GAAG,EAAE,6CAA6C;IACzE,wBAAwB,EAAE,EAAE,EAAE,0BAA0B;IACxD,cAAc,EAAE;QACZ,mEAAmE;QACnE,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,KAAK;KAChB;IACD,gBAAgB,EAAE,EAAE,EAAE,kCAAkC;IACxD,KAAK,EAAE;QACH,IAAI,EAAE,WAAW;KACpB;IACD,SAAS,EAAE,KAAK;CACnB,CAAA"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/server/config/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAA;AAGtC,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,EAAE;IACX,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,aAAa;IACrB,uEAAuE;IACvE,qBAAqB,EAAE,GAAG,EAAE,6CAA6C;IACzE,wBAAwB,EAAE,EAAE,EAAE,0BAA0B;IACxD,cAAc,EAAE;QACZ,mEAAmE;QACnE,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,KAAK;KAChB;IACD,gBAAgB,EAAE,EAAE,EAAE,kCAAkC;IACxD,KAAK,EAAE;QACH,IAAI,EAAE,WAAW;KACpB;IACD,SAAS,EAAE,KAAK;CACnB,CAAA"}
@@ -1,5 +1,5 @@
1
- export * from './logger';
2
- export * from './defaults';
3
- export * from './types';
4
- export * from './bucket';
1
+ export * from './logger.js';
2
+ export * from './defaults.js';
3
+ export * from './types.js';
4
+ export * from './bucket.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- export { defaultLogger, getLogger } from "../../logging";
1
+ export { defaultLogger, getLogger } from "../../logging.js";
2
2
  //# sourceMappingURL=logger.js.map
@@ -21,6 +21,13 @@ export interface FileQueueOptions {
21
21
  archive?: string | false;
22
22
  }
23
23
  export interface PLATServerOptions {
24
+ /**
25
+ * How to treat undecorated public instance methods during registration.
26
+ * - 'POST': expose undecorated public methods as POST routes (default)
27
+ * - 'GET': expose undecorated public methods as GET routes
28
+ * - 'private': require route decorators for exposure
29
+ */
30
+ undecoratedMode?: 'GET' | 'POST' | 'private';
24
31
  /**
25
32
  * How much error information to expose to clients
26
33
  * - 'none': only { error: 'Internal server error' }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/config/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { PLATServerResolvedOperation } from './transports';
2
2
  import { PLATOperationRegistry } from './operation-registry';
3
3
  interface PLATServerCoreOptions {
4
+ undecoratedMode?: 'GET' | 'POST' | 'private';
4
5
  allowedMethodPrefixes?: '*' | string[];
5
6
  disAllowedMethodPrefixes?: string[];
6
7
  validateRouteOpts?: (opts: Record<string, any>, methodName: string, path: string) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,UAAU,qBAAqB;IAC7B,qBAAqB,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAAA;IACtC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1G;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,2BAA2B,CAAA;IACtC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClD;AAID,qBAAa,cAAc;IAEvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;gBADN,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB;IAGtC,mBAAmB,CAAC,GAAG,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,6BAA6B,EAAE;IAsH7F,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,kBAAkB;CA+C3B"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/server/core.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAE5D,UAAU,qBAAqB;IAC7B,eAAe,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAA;IAC5C,qBAAqB,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,CAAA;IACtC,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;IACnC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1G;AAED,UAAU,oBAAoB;IAC5B,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,2BAA2B,CAAA;IACtC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3D,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClD;AAID,qBAAa,cAAc;IAEvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;gBADN,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,oBAAoB;IAGtC,mBAAmB,CAAC,GAAG,iBAAiB,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,GAAG,6BAA6B,EAAE;IAqH7F,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,aAAa;IAyCrB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,kBAAkB;CA+C3B"}
@@ -1,6 +1,6 @@
1
- import { createToolDefinition } from './tools';
2
- import { generateRouteVariants } from './routing';
3
- import { ensureRouteMeta, getControllerMeta, pendingRoutes, ROUTE_METADATA_KEY } from '../spec';
1
+ import { createToolDefinition } from './tools.js';
2
+ import { generateRouteVariants } from './routing.js';
3
+ import { ensureControllerMeta, ensureRouteMeta, getControllerMeta, pendingRoutes, ROUTE_METADATA_KEY } from '../spec/index.js';
4
4
  const RESERVED_METHOD_NAMES = ['tools', 'routes', 'endpoints', 'help', 'openapi'];
5
5
  export class PLATServerCore {
6
6
  options;
@@ -12,10 +12,11 @@ export class PLATServerCore {
12
12
  registerControllers(...ControllerClasses) {
13
13
  const registered = [];
14
14
  for (const ControllerClass of ControllerClasses) {
15
- const meta = getControllerMeta(ControllerClass);
16
- if (!meta) {
17
- throw new Error(`${ControllerClass.name} is not decorated with @Controller`);
18
- }
15
+ const meta = getControllerMeta(ControllerClass) ?? ensureControllerMeta(ControllerClass);
16
+ if (!meta.basePath)
17
+ meta.basePath = ControllerClass.name;
18
+ if (!meta.tag)
19
+ meta.tag = meta.basePath || ControllerClass.name;
19
20
  const instance = new ControllerClass();
20
21
  const controllerTag = meta.tag || meta.basePath || ControllerClass.name;
21
22
  const lowerControllerTag = controllerTag.toLowerCase();
@@ -117,9 +118,12 @@ export class PLATServerCore {
117
118
  }
118
119
  collectRoutes(ControllerClass, freshMeta) {
119
120
  const routes = new Map();
121
+ const undecoratedMode = this.options.undecoratedMode ?? 'POST';
120
122
  for (const key of Object.getOwnPropertyNames(ControllerClass.prototype)) {
121
123
  if (key === 'constructor')
122
124
  continue;
125
+ if (key.startsWith('_'))
126
+ continue;
123
127
  const method = ControllerClass.prototype[key];
124
128
  if (typeof method !== 'function')
125
129
  continue;
@@ -127,12 +131,21 @@ export class PLATServerCore {
127
131
  if (routeData) {
128
132
  routes.set(key, { method: routeData.httpMethod });
129
133
  }
134
+ else if (undecoratedMode !== 'private') {
135
+ routes.set(key, { method: undecoratedMode });
136
+ }
130
137
  }
131
138
  if (freshMeta) {
132
139
  for (const [key, routeMeta] of freshMeta.routes.entries()) {
133
- if (!routeMeta.method)
140
+ const keyName = String(key);
141
+ const prototypeMethod = ControllerClass.prototype?.[keyName];
142
+ if (typeof prototypeMethod !== 'function' || keyName === 'constructor' || keyName.startsWith('_')) {
143
+ continue;
144
+ }
145
+ const inferredMethod = routeMeta.method ?? (undecoratedMode !== 'private' ? undecoratedMode : undefined);
146
+ if (!inferredMethod)
134
147
  continue;
135
- routes.set(key, { method: routeMeta.method });
148
+ routes.set(key, { method: inferredMethod });
136
149
  if (this.options.validateRouteOpts && routeMeta.opts) {
137
150
  const result = this.options.validateRouteOpts(routeMeta.opts, String(key), routeMeta.path);
138
151
  if (result && typeof result === 'object' && 'then' in result) {