@solidstarters/solid-core 1.2.184 → 1.2.185
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/dist/config/iam.config.d.ts +2 -0
- package/dist/config/iam.config.d.ts.map +1 -1
- package/dist/config/iam.config.js +1 -0
- package/dist/config/iam.config.js.map +1 -1
- package/dist/interfaces.d.ts +9 -1
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +3 -2
- package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +48 -48
- package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +10 -0
- package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts.map +1 -0
- package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.js +35 -0
- package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.js.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts +16 -0
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.d.ts.map +1 -0
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js +74 -0
- package/dist/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.js.map +1 -0
- package/dist/services/model-metadata.service.js +4 -4
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +4 -2
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/solid-ts-morph.service.d.ts +5 -0
- package/dist/services/solid-ts-morph.service.d.ts.map +1 -1
- package/dist/services/solid-ts-morph.service.js +21 -0
- package/dist/services/solid-ts-morph.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +4 -0
- package/dist/solid-core.module.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config/iam.config.ts +2 -1
- package/src/interfaces.ts +12 -1
- package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +4 -3
- package/src/seeders/seed-data/solid-core-metadata.json +48 -48
- package/src/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.ts +34 -0
- package/src/services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service.ts +69 -0
- package/src/services/model-metadata.service.ts +4 -4
- package/src/services/setting.service.ts +4 -2
- package/src/services/solid-ts-morph.service.ts +37 -0
- package/src/solid-core.module.ts +6 -1
|
@@ -3,6 +3,7 @@ import { Injectable, Logger } from "@nestjs/common";
|
|
|
3
3
|
import { join, dirname, normalize, isAbsolute, basename } from "node:path";
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
5
5
|
import { Project, Node, ObjectLiteralExpression, ArrayLiteralExpression, QuoteKind, IndentationText } from "ts-morph";
|
|
6
|
+
import { MethodDeclarationStructure, StructureKind } from "ts-morph";
|
|
6
7
|
|
|
7
8
|
type Bucket = "providers" | "exports";
|
|
8
9
|
|
|
@@ -260,4 +261,40 @@ export class SolidTsMorphService {
|
|
|
260
261
|
this.logger.log(`Staged provider registration in: ${this.rel(abs)} (${registerIn.join(", ")})`);
|
|
261
262
|
return { staged: true };
|
|
262
263
|
}
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
addMethodToExistingClass(
|
|
267
|
+
filePath: string,
|
|
268
|
+
className: string,
|
|
269
|
+
methodName: string,
|
|
270
|
+
methodCode: string,
|
|
271
|
+
): { staged: boolean; overwritten: boolean; skipped: boolean } {
|
|
272
|
+
const abs = this.resolveRepoPath(filePath);
|
|
273
|
+
if (!existsSync(abs))
|
|
274
|
+
throw new Error(`addMethodToExistingClass: File not found at ${filePath}`);
|
|
275
|
+
|
|
276
|
+
const existing = this.project.getSourceFile(abs);
|
|
277
|
+
const sourceFile = existing
|
|
278
|
+
? existing
|
|
279
|
+
: this.project.createSourceFile(abs, readFileSync(abs, "utf8"), { overwrite: true });
|
|
280
|
+
|
|
281
|
+
const targetClass = sourceFile.getClass(className);
|
|
282
|
+
if (!targetClass)
|
|
283
|
+
throw new Error(`addMethodToExistingClass: Class ${className} not found in ${filePath}`);
|
|
284
|
+
|
|
285
|
+
const existingMethod = targetClass.getMethod(methodName);
|
|
286
|
+
if (existingMethod) {
|
|
287
|
+
|
|
288
|
+
this.logger.log(`Skipped adding method '${methodName}' (already exists)`);
|
|
289
|
+
return { staged: false, overwritten: false, skipped: true };
|
|
290
|
+
}
|
|
291
|
+
// Add the LLM-generated method directly
|
|
292
|
+
targetClass.addMember(methodCode);
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
this.dirtySourceFiles.add(abs);
|
|
296
|
+
this.logger.log(`Staged method '${methodName}' in class ${className} at ${this.rel(abs)}`);
|
|
297
|
+
return { staged: true, overwritten: !!existingMethod, skipped: false };
|
|
298
|
+
}
|
|
299
|
+
|
|
263
300
|
}
|
package/src/solid-core.module.ts
CHANGED
|
@@ -102,6 +102,7 @@ import { UserSeederService } from './seeders/user-seeder.service';
|
|
|
102
102
|
import { AuthenticationService } from './services/authentication.service';
|
|
103
103
|
import { BcryptService } from './services/bcrypt.service';
|
|
104
104
|
import { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';
|
|
105
|
+
import { UuidExternalIdEntityComputedFieldProvider } from './services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service';
|
|
105
106
|
import { EmailTemplateService } from './services/email-template.service';
|
|
106
107
|
import { FileService } from './services/file.service';
|
|
107
108
|
import { HashingService } from './services/hashing.service';
|
|
@@ -296,6 +297,7 @@ import { SolidCreateComputedProviderMcpHandler } from './services/genai/mcp-hand
|
|
|
296
297
|
import { SolidTsMorphService } from './services/solid-ts-morph.service';
|
|
297
298
|
import { SolidAddVariableToDashboardMcpHandler } from './services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service';
|
|
298
299
|
import { SolidAddQuestionToDashboardMcpHandler } from './services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service';
|
|
300
|
+
import { SolidAddCustomServiceMethodMcpHandler } from './services/genai/mcp-handlers/solid-add-custom-service-method-mcp-handler.service';
|
|
299
301
|
|
|
300
302
|
|
|
301
303
|
@Global()
|
|
@@ -538,6 +540,7 @@ import { SolidAddQuestionToDashboardMcpHandler } from './services/genai/mcp-hand
|
|
|
538
540
|
TinyUrlService,
|
|
539
541
|
PdfService,
|
|
540
542
|
UuidExternalIdComputedFieldProvider,
|
|
543
|
+
UuidExternalIdEntityComputedFieldProvider,
|
|
541
544
|
ListOfModelsSelectionProvider,
|
|
542
545
|
ListOfScheduledJobsSelectionProvider,
|
|
543
546
|
LocaleListSelectionProvider,
|
|
@@ -632,7 +635,7 @@ import { SolidAddQuestionToDashboardMcpHandler } from './services/genai/mcp-hand
|
|
|
632
635
|
SolidCreateModelWithFieldsMcpHandler,
|
|
633
636
|
SolidAddFieldsToModelMcpHandler,
|
|
634
637
|
SolidUpdateLayoutMcpHandler,
|
|
635
|
-
|
|
638
|
+
|
|
636
639
|
SolidCreateDashboardWithWidgetsMcpHandler,
|
|
637
640
|
SolidCreateDashboardQuestionMcpHandler,
|
|
638
641
|
SolidCreateDashboardQuestionSqlDatasetConfigMcpHandler,
|
|
@@ -640,6 +643,8 @@ import { SolidAddQuestionToDashboardMcpHandler } from './services/genai/mcp-hand
|
|
|
640
643
|
SolidCreateComputedProviderMcpHandler,
|
|
641
644
|
SolidAddVariableToDashboardMcpHandler,
|
|
642
645
|
SolidAddQuestionToDashboardMcpHandler,
|
|
646
|
+
|
|
647
|
+
SolidAddCustomServiceMethodMcpHandler,
|
|
643
648
|
SolidTsMorphService,
|
|
644
649
|
|
|
645
650
|
ViewMetadataRepository,
|