@common-stack/server-core 7.2.1-alpha.36 → 7.2.1-alpha.39

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.
@@ -0,0 +1,522 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Generate Zod schemas for ALL service interfaces (CommonJS version)
4
+ *
5
+ * This script can be run from:
6
+ * 1. Local project: node scripts/generateAllServiceSchemas.cjs
7
+ * 2. As npm script: Add to package.json scripts and run via npm/yarn
8
+ * 3. From node_modules: npx @common-stack/server-core generateAllServiceSchemas
9
+ *
10
+ * Configuration is loaded from cdecode-config.json in the project root.
11
+ * All paths in the config are relative to the project root.
12
+ *
13
+ * @example package.json script
14
+ * "scripts": {
15
+ * "generateSchemas": "node node_modules/@common-stack/server-core/lib/moleculer-generation/generateAllServiceSchemas.cjs"
16
+ * }
17
+ */
18
+
19
+ const fs = require('fs');
20
+ const path = require('path');
21
+ const ts = require('typescript');
22
+
23
+ // Determine the project root - use current working directory (where the command is run)
24
+ // This works whether the script is in local scripts/ or node_modules/
25
+ const projectRoot = process.cwd();
26
+
27
+ // Load configuration from cdecode-config.json in the project root
28
+ const configPath = path.join(projectRoot, 'cdecode-config.json');
29
+ let serviceConfig = {};
30
+
31
+ if (fs.existsSync(configPath)) {
32
+ try {
33
+ const fullConfig = JSON.parse(fs.readFileSync(configPath, 'utf8'));
34
+ serviceConfig = fullConfig.serviceSchemas || {};
35
+ console.log('✅ Loaded configuration from cdecode-config.json');
36
+ } catch (error) {
37
+ console.warn('⚠️ Could not parse cdecode-config.json, using defaults');
38
+ }
39
+ } else {
40
+ console.warn('⚠️ cdecode-config.json not found in project root, using defaults');
41
+ }
42
+
43
+ // Apply configuration with defaults (all paths relative to project root)
44
+ const SERVICES_DIR = path.join(projectRoot, serviceConfig.servicesDir || 'packages/common/src/services');
45
+ const OUTPUT_FILE = path.join(
46
+ projectRoot,
47
+ serviceConfig.outputFile || 'packages/common/src/generated/service-schemas.ts',
48
+ );
49
+
50
+ // Validate that SERVICES_DIR exists
51
+ if (!fs.existsSync(SERVICES_DIR)) {
52
+ console.error(`❌ Error: Services directory not found: ${SERVICES_DIR}`);
53
+ console.error(` Current working directory: ${projectRoot}`);
54
+ console.error(` Expected path (from config): ${serviceConfig.servicesDir || 'packages/common/src/services'}`);
55
+ console.error('\n Make sure:');
56
+ console.error(' 1. You are running this script from the project root');
57
+ console.error(' 2. The servicesDir path in cdecode-config.json is correct');
58
+ process.exit(1);
59
+ }
60
+
61
+ const SKIP_SERVICES = serviceConfig.skipServices || [
62
+ 'AuthBackendClient',
63
+ 'PubSub',
64
+ 'RedisCacheManager',
65
+ 'InngestClient',
66
+ 'JSONContributionRegistry',
67
+ 'PageStore',
68
+ 'PublisherEventService',
69
+ ];
70
+ const KNOWN_ENUMS = serviceConfig.knownEnums || [];
71
+ const CONST_ENUM_SCHEMAS = serviceConfig.constEnumSchemas || ['ConfigurationTarget', 'ConfigurationScope'];
72
+
73
+ /**
74
+ * Calculate relative path from outputFile to graphqlSchemasPath
75
+ */
76
+ function calculateRelativeImportPath() {
77
+ if (!serviceConfig.outputFile || !serviceConfig.graphqlSchemasPath) {
78
+ return './generated-zod-schemas';
79
+ }
80
+
81
+ const outputDir = path.dirname(path.join(projectRoot, serviceConfig.outputFile));
82
+ const graphqlSchemaPath = path.join(projectRoot, serviceConfig.graphqlSchemasPath);
83
+
84
+ // Calculate relative path
85
+ const relativePath = path.relative(outputDir, graphqlSchemaPath);
86
+
87
+ // Remove .ts extension and ensure it starts with ./
88
+ const withoutExt = relativePath.replace(/\.ts$/, '');
89
+ return withoutExt.startsWith('.') ? withoutExt : `./${withoutExt}`;
90
+ }
91
+
92
+ const GRAPHQL_SCHEMAS_IMPORT_PATH = calculateRelativeImportPath();
93
+
94
+ /**
95
+ * Dynamically discover all available GraphQL Zod schemas from graphql-zod-schemas.ts
96
+ * This scans for exported schema functions and extracts their type names
97
+ */
98
+ function discoverGraphQLZodTypes() {
99
+ const graphqlSchemaFile = serviceConfig.graphqlSchemasPath
100
+ ? path.join(projectRoot, serviceConfig.graphqlSchemasPath)
101
+ : path.join(projectRoot, 'packages/common/src/generated/generated-zod-schemas.ts');
102
+
103
+ // Check if file exists
104
+ if (!fs.existsSync(graphqlSchemaFile)) {
105
+ console.warn('⚠️ graphql-zod-schemas.ts not found, using empty set for GraphQL types');
106
+ return new Set();
107
+ }
108
+
109
+ const content = fs.readFileSync(graphqlSchemaFile, 'utf8');
110
+ const graphqlTypes = new Set();
111
+
112
+ // Match all exported schema function names
113
+ // Pattern: export function SomeTypeInputSchema() or export function SomeTypeSchema()
114
+ const schemaFunctionPattern = /export function ([A-Z][a-zA-Z0-9]+)Schema\(\)/g;
115
+ let match;
116
+
117
+ while ((match = schemaFunctionPattern.exec(content)) !== null) {
118
+ const schemaName = match[1];
119
+
120
+ // Convert schema function name back to interface name
121
+ // Examples:
122
+ // - UserTokenInputSchema -> IUserTokenInput
123
+ // - UserAuth0UpdateFieldsSchema -> IUserAuth0UpdateFields
124
+ // - ConfigurationNodeInputSchema -> IConfigurationNodeInput
125
+
126
+ // Skip enum schemas (they don't have 'Input' suffix typically and are in CONST_ENUM_SCHEMAS)
127
+ if (CONST_ENUM_SCHEMAS.includes(schemaName)) {
128
+ continue;
129
+ }
130
+
131
+ // Add 'I' prefix to convert to interface name
132
+ const interfaceName = 'I' + schemaName;
133
+ graphqlTypes.add(interfaceName);
134
+ }
135
+
136
+ return graphqlTypes;
137
+ }
138
+
139
+ // Dynamically discover available GraphQL Zod types
140
+ const GRAPHQL_ZOD_TYPES = discoverGraphQLZodTypes();
141
+
142
+ function findServiceInterfaces() {
143
+ const files = fs.readdirSync(SERVICES_DIR).filter((f) => f.endsWith('.ts') && f !== 'index.ts');
144
+ const services = [];
145
+
146
+ files.forEach((file) => {
147
+ const content = fs.readFileSync(path.join(SERVICES_DIR, file), 'utf8');
148
+ const interfaceMatch = content.match(/export interface (I[A-Z][a-zA-Z0-9]*Service)/);
149
+
150
+ if (interfaceMatch) {
151
+ const serviceName = interfaceMatch[1];
152
+ if (!SKIP_SERVICES.includes(serviceName.replace(/^I/, ''))) {
153
+ services.push({
154
+ name: serviceName,
155
+ file: file,
156
+ path: path.join(SERVICES_DIR, file),
157
+ });
158
+ }
159
+ }
160
+ });
161
+
162
+ return services;
163
+ }
164
+
165
+ /**
166
+ * Parse a TypeScript source file and extract method signatures from an interface
167
+ */
168
+ function parseServiceInterface(filePath, interfaceName) {
169
+ const sourceCode = fs.readFileSync(filePath, 'utf8');
170
+ const sourceFile = ts.createSourceFile(filePath, sourceCode, ts.ScriptTarget.Latest, true);
171
+
172
+ const methods = [];
173
+ const usedEnums = new Set();
174
+
175
+ function visit(node) {
176
+ if (ts.isInterfaceDeclaration(node) && node.name.text === interfaceName) {
177
+ node.members.forEach((member) => {
178
+ if (ts.isMethodSignature(member) && member.name) {
179
+ const methodName = member.name.getText(sourceFile);
180
+ const parameters = [];
181
+
182
+ if (member.parameters) {
183
+ member.parameters.forEach((param) => {
184
+ const paramName = param.name.getText(sourceFile);
185
+ const paramType = param.type ? param.type.getText(sourceFile) : 'any';
186
+ const isOptional = !!param.questionToken;
187
+
188
+ // Skip destructured parameters - treat the whole param as passthrough object
189
+ if (ts.isObjectBindingPattern(param.name)) {
190
+ // This is a destructured parameter like { user, accessToken }
191
+ // Use the type instead
192
+ parameters.push({
193
+ name: '_destructured',
194
+ type: paramType,
195
+ isOptional,
196
+ isDestructured: true,
197
+ });
198
+ return;
199
+ }
200
+
201
+ // Check if type is a known enum or const enum
202
+ KNOWN_ENUMS.forEach((enumName) => {
203
+ if (paramType.includes(enumName)) {
204
+ usedEnums.add(enumName);
205
+ }
206
+ });
207
+ CONST_ENUM_SCHEMAS.forEach((enumName) => {
208
+ if (paramType.includes(enumName)) {
209
+ usedEnums.add(enumName);
210
+ }
211
+ });
212
+
213
+ parameters.push({
214
+ name: paramName,
215
+ type: paramType,
216
+ isOptional,
217
+ });
218
+ });
219
+ }
220
+
221
+ methods.push({
222
+ name: methodName,
223
+ parameters,
224
+ });
225
+ }
226
+ });
227
+ }
228
+
229
+ ts.forEachChild(node, visit);
230
+ }
231
+
232
+ visit(sourceFile);
233
+ return { methods, usedEnums: Array.from(usedEnums) };
234
+ }
235
+
236
+ /**
237
+ * Generate Zod schema string for a parameter type
238
+ */
239
+ function generateZodType(paramType, isOptional, paramName = '') {
240
+ let zodType;
241
+
242
+ // Handle union types like "string | null | undefined"
243
+ if (paramType.includes('|')) {
244
+ const types = paramType.split('|').map(t => t.trim());
245
+ const hasNull = types.includes('null');
246
+ const hasUndefined = types.includes('undefined');
247
+ const nonNullableTypes = types.filter(t => t !== 'null' && t !== 'undefined');
248
+
249
+ if (nonNullableTypes.length === 1) {
250
+ // Single non-nullable type with null/undefined
251
+ zodType = generateZodType(nonNullableTypes[0], false, paramName);
252
+ if (hasNull || hasUndefined) {
253
+ return `${zodType}.optional().nullable()`;
254
+ }
255
+ return zodType;
256
+ } else if (nonNullableTypes.length > 1) {
257
+ // Multiple types - create union
258
+ const schemas = nonNullableTypes.map(t => generateZodType(t, false, paramName));
259
+ zodType = `z.union([${schemas.join(', ')}])`;
260
+ if (hasNull || hasUndefined) {
261
+ return `${zodType}.optional().nullable()`;
262
+ }
263
+ return zodType;
264
+ }
265
+ }
266
+
267
+ // Handle array types
268
+ if (paramType.includes('[]')) {
269
+ const innerType = paramType.replace('[]', '').trim();
270
+ const innerZodType = generateZodType(innerType, false, paramName);
271
+ zodType = `z.array(${innerZodType})`;
272
+ }
273
+ // Handle known enums
274
+ else if (KNOWN_ENUMS.some((e) => paramType.includes(e))) {
275
+ const enumName = KNOWN_ENUMS.find((e) => paramType.includes(e));
276
+ zodType = `z.nativeEnum(${enumName})`;
277
+ }
278
+ // Handle const enums (use schema functions from graphql-zod-schemas)
279
+ else if (CONST_ENUM_SCHEMAS.some((e) => paramType.includes(e))) {
280
+ const enumName = CONST_ENUM_SCHEMAS.find((e) => paramType.includes(e));
281
+ zodType = `${enumName}Schema()`;
282
+ }
283
+ // Handle primitive types
284
+ else if (paramType === 'string') {
285
+ zodType = 'z.string()';
286
+ } else if (paramType === 'number') {
287
+ zodType = 'z.number()';
288
+ } else if (paramType === 'boolean') {
289
+ zodType = 'z.boolean()';
290
+ } else if (paramType === 'any') {
291
+ zodType = 'z.any()';
292
+ }
293
+ // Handle Date
294
+ else if (paramType === 'Date') {
295
+ zodType = 'z.date()';
296
+ }
297
+ // Check if it's a GraphQL type with existing Zod schema
298
+ else if (GRAPHQL_ZOD_TYPES.has(paramType)) {
299
+ // Use the GraphQL-generated schema function
300
+ const schemaName = paramType.replace(/^I/, '') + 'Schema';
301
+ zodType = `${schemaName}()`;
302
+ }
303
+ // Handle Promise types (return type, not for validation)
304
+ else if (paramType.startsWith('Promise<')) {
305
+ zodType = 'z.any()';
306
+ }
307
+ // Use reusable schemas for common parameter names
308
+ else if (paramName === 'context' || paramName === 'userContext') {
309
+ zodType = 'ContextSchema';
310
+ } else if (paramName === 'resource') {
311
+ zodType = 'ResourceSchema';
312
+ } else if (paramName === 'options' || paramName === 'paginationOptions') {
313
+ zodType = 'OptionsSchema';
314
+ } else if (paramName === 'data' || paramName === 'updateData') {
315
+ zodType = 'DataSchema';
316
+ } else if (paramName === 'input') {
317
+ zodType = 'InputSchema';
318
+ } else if (paramName === 'filter' || paramName === 'criteria' || paramName === 'additionalFilters') {
319
+ zodType = 'FilterSchema';
320
+ } else if (paramName === 'where') {
321
+ zodType = 'WhereSchema';
322
+ } else if (paramName === 'request') {
323
+ zodType = 'RequestSchema';
324
+ }
325
+ // Default: treat as object
326
+ else {
327
+ zodType = 'PassthroughObjectSchema';
328
+ }
329
+
330
+ return isOptional ? `${zodType}.optional()` : zodType;
331
+ }
332
+
333
+ function generateServiceSchemas() {
334
+ const services = findServiceInterfaces();
335
+
336
+ console.log(`\n🔍 Found ${services.length} service interfaces\n`);
337
+
338
+ // Parse all services and collect used enums and GraphQL types
339
+ const allUsedEnums = new Set();
340
+ const allUsedGraphQLTypes = new Set();
341
+ const allUsedConstEnumSchemas = new Set(); // Track const enum schemas
342
+ const servicesWithMethods = [];
343
+
344
+ services.forEach((service) => {
345
+ const { methods, usedEnums } = parseServiceInterface(service.path, service.name);
346
+ usedEnums.forEach((e) => {
347
+ if (CONST_ENUM_SCHEMAS.includes(e)) {
348
+ allUsedConstEnumSchemas.add(e);
349
+ } else {
350
+ allUsedEnums.add(e);
351
+ }
352
+ });
353
+
354
+ // Track which GraphQL types are actually used
355
+ methods.forEach((method) => {
356
+ method.parameters.forEach((param) => {
357
+ if (GRAPHQL_ZOD_TYPES.has(param.type)) {
358
+ allUsedGraphQLTypes.add(param.type);
359
+ }
360
+ // Check in array types
361
+ if (param.type.includes('[]')) {
362
+ const innerType = param.type.replace('[]', '').trim();
363
+ if (GRAPHQL_ZOD_TYPES.has(innerType)) {
364
+ allUsedGraphQLTypes.add(innerType);
365
+ }
366
+ }
367
+ });
368
+ });
369
+
370
+ servicesWithMethods.push({
371
+ ...service,
372
+ methods,
373
+ });
374
+ });
375
+
376
+ // Start generating output
377
+ let output = `// AUTO-GENERATED FILE - DO NOT EDIT
378
+ // Generated from service interfaces in packages/common/src/services/
379
+ // Run: yarn generateGraphql to regenerate
380
+
381
+ import { z } from 'zod';
382
+ `;
383
+
384
+ // Import GraphQL Zod schemas (including const enum schemas)
385
+ const allGraphQLSchemas = new Set([...allUsedGraphQLTypes, ...allUsedConstEnumSchemas]);
386
+ if (allGraphQLSchemas.size > 0) {
387
+ output += `\n// Import GraphQL-generated Zod schemas for detailed validation\nimport {\n`;
388
+ allGraphQLSchemas.forEach((typeName) => {
389
+ const schemaName = typeName.replace(/^I/, '') + 'Schema';
390
+ output += ` ${schemaName},\n`;
391
+ });
392
+ output += `} from '${GRAPHQL_SCHEMAS_IMPORT_PATH}';\n`;
393
+ }
394
+
395
+ // Import used enums (only regular enums, not const enums)
396
+ if (allUsedEnums.size > 0) {
397
+ output += `\n// Import enums\nimport {\n`;
398
+ allUsedEnums.forEach((enumName) => {
399
+ output += ` ${enumName},\n`;
400
+ });
401
+ output += `} from 'common/server';\n`;
402
+ }
403
+
404
+ output += `
405
+ /**
406
+ * Centralized Zod schemas for all service interfaces
407
+ *
408
+ * Each service has its schemas exported as {ServiceName}Schemas
409
+ * Use with zodSchemasToMoleculer() for Moleculer parameter validation
410
+ *
411
+ * Example:
412
+ * \`\`\`typescript
413
+ * import { AccountServiceSchemas, zodSchemasToMoleculer } from 'common/server';
414
+ * const paramOverrides = zodSchemasToMoleculer(AccountServiceSchemas);
415
+ * \`\`\`
416
+ */
417
+
418
+ // Reusable schemas for common parameter types
419
+ const PassthroughObjectSchema = z.object({}).passthrough();
420
+ const ContextSchema = PassthroughObjectSchema;
421
+ const ResourceSchema = PassthroughObjectSchema;
422
+ const OptionsSchema = PassthroughObjectSchema;
423
+ const DataSchema = PassthroughObjectSchema;
424
+ const InputSchema = PassthroughObjectSchema;
425
+ const FilterSchema = PassthroughObjectSchema;
426
+ const WhereSchema = PassthroughObjectSchema;
427
+ const RequestSchema = PassthroughObjectSchema;
428
+
429
+ `;
430
+
431
+ // Generate schemas for each service
432
+ servicesWithMethods.forEach((service) => {
433
+ const schemaName = service.name.replace(/^I/, '').replace(/Service$/, 'Service');
434
+ const serviceName = service.name.replace(/^I/, ''); // e.g., "TagService"
435
+
436
+ output += `/**
437
+ * Zod schemas for ${service.name}
438
+ * Source: ${service.file}
439
+ */
440
+ export const ${schemaName}Schemas = {
441
+ /** Moleculer service topic/name - safe for minification */
442
+ topic: '${serviceName}' as const,
443
+ `;
444
+
445
+ if (service.methods.length === 0) {
446
+ output += ` // No methods found\n`;
447
+ } else {
448
+ // Group methods by name to handle overloads (keep last signature)
449
+ const methodMap = new Map();
450
+ service.methods.forEach((method) => {
451
+ methodMap.set(method.name, method);
452
+ });
453
+
454
+ // Generate schemas for unique methods
455
+ methodMap.forEach((method, methodName) => {
456
+ if (method.parameters.length === 0) {
457
+ output += ` ${methodName}: PassthroughObjectSchema,\n`;
458
+ } else {
459
+ // Check if this method has only destructured params
460
+ const hasOnlyDestructured = method.parameters.length === 1 && method.parameters[0].isDestructured;
461
+
462
+ if (hasOnlyDestructured) {
463
+ // For destructured params, use the type directly
464
+ const param = method.parameters[0];
465
+ const zodType = generateZodType(param.type, param.isOptional, param.name);
466
+ output += ` ${methodName}: ${zodType},\n`;
467
+ } else {
468
+ output += ` ${methodName}: z.object({\n`;
469
+ method.parameters.forEach((param) => {
470
+ if (!param.isDestructured) {
471
+ const zodType = generateZodType(param.type, param.isOptional, param.name);
472
+ output += ` ${param.name}: ${zodType},\n`;
473
+ }
474
+ });
475
+ output += ` }),\n`;
476
+ }
477
+ }
478
+ });
479
+ }
480
+
481
+ output += `};\n\n`;
482
+ });
483
+
484
+ // Generate aggregated export with explicit type annotation to avoid TS7056 error
485
+ output += `/**
486
+ * All service schemas aggregated
487
+ * Type annotation prevents TypeScript from inferring overly complex types
488
+ */
489
+ export const AllServiceSchemas: Record<string, Record<string, any>> = {\n`;
490
+
491
+ servicesWithMethods.forEach((service) => {
492
+ const schemaName = service.name.replace(/^I/, '').replace(/Service$/, 'Service');
493
+ output += ` ${service.name}: ${schemaName}Schemas,\n`;
494
+ });
495
+
496
+ output += `};\n`;
497
+
498
+ // Write the file
499
+ fs.writeFileSync(OUTPUT_FILE, output, 'utf8');
500
+
501
+ console.log(`✅ Generated schemas for ${services.length} services`);
502
+
503
+ // Count total methods
504
+ const totalMethods = servicesWithMethods.reduce((sum, s) => sum + s.methods.length, 0);
505
+ console.log(`📊 Total methods: ${totalMethods}`);
506
+ console.log(`📝 Output: ${path.relative(process.cwd(), OUTPUT_FILE)}\n`);
507
+
508
+ return services.length;
509
+ }
510
+
511
+ // Export for CommonJS
512
+ module.exports = { generateServiceSchemas };
513
+
514
+ // CLI execution
515
+ if (require.main === module) {
516
+ try {
517
+ generateServiceSchemas();
518
+ } catch (error) {
519
+ console.error('❌ Error generating service schemas:', error);
520
+ process.exit(1);
521
+ }
522
+ }
@@ -37,6 +37,17 @@ export interface EnforcedServiceSchema<TService> extends Omit<ServiceSchema, 'ac
37
37
  * Params are inferred from TypeScript function signatures with optional fine-grained control
38
38
  */
39
39
  export type AutoInferredActionConfig<TService> = {
40
+ /**
41
+ * Optional: Service topic/name for Moleculer actions
42
+ * Automatically extracted from schemas if using generateAllServiceSchemas.js pattern
43
+ * This makes service names minification-safe and centralized
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * topic: 'TagService' // Or extracted from TagServiceSchemas.topic
48
+ * ```
49
+ */
50
+ topic?: string;
40
51
  /**
41
52
  * Optional: Override param schemas for specific methods
42
53
  * Use this when you need custom Moleculer validation beyond the default 'object' type
@@ -1 +1 @@
1
- {"version":3,"file":"typedMoleculerService.js","sources":["../../src/moleculer-generation/typedMoleculerService.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typedMoleculerService.js","sources":["../../src/moleculer-generation/typedMoleculerService.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -28,10 +28,13 @@ export type AutoProxyServiceConfig<TService> = {
28
28
  /**
29
29
  * Zod schemas for method parameters
30
30
  * Maps method names to their Zod schema objects
31
+ * May include a 'topic' string property for service name
31
32
  */
32
33
  schemas: Partial<{
33
34
  [K in ProxyServiceMethods<TService>]: z.ZodObject<any>;
34
- }>;
35
+ }> & {
36
+ topic?: string;
37
+ };
35
38
  /**
36
39
  * Optional: Override the action name for specific methods
37
40
  * By default, action name is the method name
@@ -54,22 +57,22 @@ export type AutoProxyServiceConfig<TService> = {
54
57
  * Auto-generate proxy service methods from service interface and Zod schemas
55
58
  * Returns the proxy instance cast to the service type for type safety
56
59
  *
60
+ * Automatically extracts the 'topic' property from schemas for service identification.
61
+ *
57
62
  * @example
58
63
  * ```typescript
59
- * export class TagProxyService extends BaseProxyService2<ITagModel> {
64
+ * export class TagProxyService {
60
65
  * protected logger: CdmLogger.ILogger;
61
- * protected topic = MoleculerTopics.Tag;
66
+ * // No need to define topic manually - extracted from schemas automatically
62
67
  *
63
68
  * constructor(
64
- * @inject(SERVER_TYPES.ITagRepository) protected tagRepository: ITagRepository,
65
69
  * @inject(CommonType.MOLECULER_BROKER) broker: ServiceBroker,
66
70
  * @inject('Logger') logger: CdmLogger.ILogger,
67
71
  * ) {
68
- * super(broker, logger);
69
72
  * this.logger = logger.child({ className: 'TagProxyService' });
70
73
  *
71
- * // 🎉 Auto-generate all proxy methods - just pass interface type and schemas!
72
- * return generateProxyMethods<ITagService>(this, TagServiceSchemas);
74
+ * // 🎉 Auto-generate all proxy methods - topic extracted automatically!
75
+ * generateProxyMethods<ITagService>(this, TagServiceSchemas, broker, this.logger);
73
76
  * }
74
77
  * }
75
78
  * ```
@@ -51,22 +51,22 @@ function addProxyBase(proxyInstance, broker, logger) {
51
51
  * Auto-generate proxy service methods from service interface and Zod schemas
52
52
  * Returns the proxy instance cast to the service type for type safety
53
53
  *
54
+ * Automatically extracts the 'topic' property from schemas for service identification.
55
+ *
54
56
  * @example
55
57
  * ```typescript
56
- * export class TagProxyService extends BaseProxyService2<ITagModel> {
58
+ * export class TagProxyService {
57
59
  * protected logger: CdmLogger.ILogger;
58
- * protected topic = MoleculerTopics.Tag;
60
+ * // No need to define topic manually - extracted from schemas automatically
59
61
  *
60
62
  * constructor(
61
- * @inject(SERVER_TYPES.ITagRepository) protected tagRepository: ITagRepository,
62
63
  * @inject(CommonType.MOLECULER_BROKER) broker: ServiceBroker,
63
64
  * @inject('Logger') logger: CdmLogger.ILogger,
64
65
  * ) {
65
- * super(broker, logger);
66
66
  * this.logger = logger.child({ className: 'TagProxyService' });
67
67
  *
68
- * // 🎉 Auto-generate all proxy methods - just pass interface type and schemas!
69
- * return generateProxyMethods<ITagService>(this, TagServiceSchemas);
68
+ * // 🎉 Auto-generate all proxy methods - topic extracted automatically!
69
+ * generateProxyMethods<ITagService>(this, TagServiceSchemas, broker, this.logger);
70
70
  * }
71
71
  * }
72
72
  * ```
@@ -77,6 +77,21 @@ function generateProxyMethods(proxyInstance, schemasOrConfig, broker, logger) {
77
77
  ? schemasOrConfig
78
78
  : { schemas: schemasOrConfig };
79
79
  const { schemas, include, exclude, actionNameOverrides } = config;
80
+ // Extract topic from schemas if present (minification-safe pattern)
81
+ const topic = schemas.topic;
82
+ if (topic && typeof topic === 'string') {
83
+ // Set topic on proxy instance for callAction method
84
+ Object.defineProperty(proxyInstance, 'topic', {
85
+ value: topic,
86
+ writable: false,
87
+ enumerable: false,
88
+ configurable: false,
89
+ });
90
+ }
91
+ else if (!proxyInstance.topic) {
92
+ // Fallback: If topic not in schemas and not already set, warn
93
+ logger.warn('[ProxyService] No topic found in schemas or instance. Actions may fail.');
94
+ }
80
95
  // Add base proxy functionality (broker, logger, callAction)
81
96
  addProxyBase(proxyInstance, broker, logger);
82
97
  // Get all method names from the schemas object (primary source of truth)
@@ -1 +1 @@
1
- {"version":3,"file":"typedProxyService.js","sources":["../../src/moleculer-generation/typedProxyService.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typedProxyService.js","sources":["../../src/moleculer-generation/typedProxyService.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -27,17 +27,19 @@ export declare function zodToMoleculerParams(zodSchema: z.ZodObject<any>): Recor
27
27
  /**
28
28
  * Batch converts multiple Zod schemas to Moleculer parameter schemas
29
29
  *
30
- * @param schemas - Object mapping method names to Zod schemas
30
+ * @param schemas - Object mapping method names to Zod schemas (may include a 'topic' string property)
31
31
  * @returns Object mapping method names to Moleculer parameter schemas
32
32
  *
33
33
  * @example
34
34
  * ```typescript
35
35
  * const schemas = {
36
+ * topic: 'MyService' as const, // Auto-generated, will be skipped
36
37
  * findById: z.object({ id: z.string() }),
37
38
  * update: z.object({ id: z.string(), data: z.object({}) }),
38
39
  * };
39
40
  *
40
41
  * const moleculerSchemas = zodSchemasToMoleculer(schemas);
42
+ * // Returns only the Zod schemas, 'topic' property is filtered out
41
43
  * ```
42
44
  */
43
- export declare function zodSchemasToMoleculer(schemas: Record<string, z.ZodObject<any>>): Record<string, Record<string, any>>;
45
+ export declare function zodSchemasToMoleculer(schemas: Record<string, z.ZodObject<any> | string>): Record<string, Record<string, any>>;
@@ -92,22 +92,28 @@ function zodTypeToMoleculer(zodType) {
92
92
  /**
93
93
  * Batch converts multiple Zod schemas to Moleculer parameter schemas
94
94
  *
95
- * @param schemas - Object mapping method names to Zod schemas
95
+ * @param schemas - Object mapping method names to Zod schemas (may include a 'topic' string property)
96
96
  * @returns Object mapping method names to Moleculer parameter schemas
97
97
  *
98
98
  * @example
99
99
  * ```typescript
100
100
  * const schemas = {
101
+ * topic: 'MyService' as const, // Auto-generated, will be skipped
101
102
  * findById: z.object({ id: z.string() }),
102
103
  * update: z.object({ id: z.string(), data: z.object({}) }),
103
104
  * };
104
105
  *
105
106
  * const moleculerSchemas = zodSchemasToMoleculer(schemas);
107
+ * // Returns only the Zod schemas, 'topic' property is filtered out
106
108
  * ```
107
109
  */
108
110
  function zodSchemasToMoleculer(schemas) {
109
111
  const result = {};
110
112
  for (const [methodName, schema] of Object.entries(schemas)) {
113
+ // Skip non-Zod properties (like 'topic' string constant)
114
+ if (typeof schema === 'string' || methodName === 'topic') {
115
+ continue;
116
+ }
111
117
  result[methodName] = zodToMoleculerParams(schema);
112
118
  }
113
119
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"zodToMoleculer.js","sources":["../../src/moleculer-generation/zodToMoleculer.ts"],"sourcesContent":[null],"names":[],"mappings":"oBAAA;AACA;;;;;;AAMG;AAIH;;;;;;;;;;;;;;;;AAgBG;AACG,SAAU,oBAAoB,CAAC,SAA2B,EAAA;AAC5D,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC5B,MAAM,MAAM,GAAwB,EAAE,CAAC;AAEvC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC9C,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAqB,CAAC,CAAC;KAC3D;AAED,IAAA,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;AAEG;AACH,SAAS,kBAAkB,CAAC,OAAqB,EAAA;;AAE7C,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,EAAE;QAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAyB,CAAC,CAAC;AAC5E,QAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YAC/B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC9C;QACD,OAAO,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;KAC3C;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,EAAE;QAClC,OAAO,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,SAAyB,CAAC,CAAC;KACpE;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAC;KACnB;AACD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAC;KACnB;AACD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,UAAU,EAAE;AACjC,QAAA,OAAO,SAAS,CAAC;KACpB;AACD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE;AAC9B,QAAA,OAAO,MAAM,CAAC;KACjB;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,QAAQ,EAAE;AAC/B,QAAA,OAAO,OAAO,CAAC;KAClB;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;QACzD,OAAO,QAAQ,CAAC;KACnB;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE;AAChC,QAAA,OAAO,QAAQ,CAAC;KACnB;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,QAAQ,EAAE;AAC/B,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAChC,QAAA,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;AAC1B,YAAA,IAAI,EAAE,MAAM,YAAY,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE;AACvE,gBAAA,OAAO,kBAAkB,CAAC,MAAsB,CAAC,CAAC;aACrD;SACJ;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;;AAGD,IAAA,IAAI,OAAO,YAAY,CAAC,CAAC,MAAM,EAAE;AAC7B,QAAA,OAAO,KAAK,CAAC;KAChB;;AAGD,IAAA,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;;;AAeG;AACG,SAAU,qBAAqB,CAAC,OAAyC,EAAA;IAC3E,MAAM,MAAM,GAAwC,EAAE,CAAC;AAEvD,IAAA,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACxD,MAAM,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;KACrD;AAED,IAAA,OAAO,MAAM,CAAC;AAClB"}
1
+ {"version":3,"file":"zodToMoleculer.js","sources":["../../src/moleculer-generation/zodToMoleculer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/server-core",
3
- "version": "7.2.1-alpha.36",
3
+ "version": "7.2.1-alpha.39",
4
4
  "description": "common core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -34,7 +34,7 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "gitHead": "277ab010c99e2a40873351b991c96224c8499851",
37
+ "gitHead": "d6688e728527d5adb2f1947516463d504e94ef11",
38
38
  "typescript": {
39
39
  "definition": "lib/index.d.ts"
40
40
  }