@happyvertical/smrt-core 0.51.2 → 0.51.3
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/manifest/generator.d.ts.map +1 -1
- package/dist/manifest/generator.js +24 -23
- package/dist/manifest/generator.js.map +1 -1
- package/dist/manifest/static-manifest.js +1 -1
- package/dist/manifest/static-manifest.js.map +1 -1
- package/dist/manifest/store.js +1 -1
- package/dist/manifest.json +1 -1
- package/dist/scanner/manifest-generator.d.ts.map +1 -1
- package/dist/scanner/manifest-generator.js +20 -19
- package/dist/scanner/manifest-generator.js.map +1 -1
- package/dist/smrt-knowledge.json +3 -3
- package/package.json +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"manifest-generator.d.ts","sourceRoot":"","sources":["../../src/scanner/manifest-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH,OAAO,KAAK,EAYV,UAAU,EAEV,mBAAmB,EACnB,cAAc,EAEf,MAAM,YAAY,CAAC;AAGpB,2EAA2E;AAC3E,UAAU,eAAe;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsKD,qBAAa,iBAAiB;IAC5B;;;;;;;;;;;;OAYG;IACH,gBAAgB,CACd,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,eAAe,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;KACtC,GACA,mBAAmB;IA6GtB;;;;;;;;;;;;OAYG;IACH,qBAAqB,CACnB,QAAQ,EAAE,mBAAmB,EAC7B,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,eAAe,CAAA;KAAE,GAChE,IAAI;IA6DP;;;;;OAKG;IACH,kBAAkB,CAChB,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,eAAe,GAC5B,IAAI;IASP;;;;;;OAMG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAM7D,OAAO,CAAC,uBAAuB;IAsD/B,gCAAgC,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA0DrE,OAAO,CAAC,0BAA0B;IAoBlC,OAAO,CAAC,+BAA+B;IAqBvC,OAAO,CAAC,2BAA2B;IAyBnC;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAiH5D;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAqHpD,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAiC3D,0BAA0B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAO/D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IA0B7D,OAAO,CAAC,uCAAuC;IAuI/C,OAAO,CAAC,0BAA0B;IAwClC,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,wBAAwB;IA6DhC,OAAO,CAAC,4BAA4B;IAqCpC,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAkBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAiChC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgDvB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IA6DvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gCAAgC;IAyBxC,OAAO,CAAC,eAAe;IAMvB;;;;;;;;;;;;;;OAcG;IACI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAgThE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa;IA4HrB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,UAAU;IAqDlB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,WAAW;IAyDnB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,6BAA6B;IA6BrC;;;;;;;;OAQG;IACH;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAoE3B;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAqB9D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa5D;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa/D;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8C3B,OAAO,CAAC,kBAAkB;IAkE1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+F5B;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAUvD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,mBAAmB;IA0B3B,kDAAkD;IAClD,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,uBAAuB;IA0C/B,8EAA8E;IAC9E,OAAO,CAAC,kBAAkB;IAuB1B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM;IAa3D;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsGvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,eAAe,GAC5B,IAAI;IAkIP;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKnE;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB;CAKpD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,UAAU,EAAE,EACzB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,cAAc,EAAE,CAAC;CACtC,GACA,mBAAmB,CAGrB"}
|
|
@@ -2,6 +2,7 @@ import { resolveForeignKeyDeleteAction } from "../schema/foreign-key-policy.js";
|
|
|
2
2
|
import { classnameToTablename, toSnakeCase } from "../utils/naming.js";
|
|
3
3
|
import "./types.js";
|
|
4
4
|
import { createQualifiedName } from "../utils/qualified-names.js";
|
|
5
|
+
import { VERBOSE_ENABLED } from "../registry/shared-state.js";
|
|
5
6
|
import { generateToolManifest } from "../tools/tool-generator.js";
|
|
6
7
|
import { createManifestClassNamePredicate, resolveApiMethodExposure, resolveCustomActionMetadata, resolveEffectiveActionMetadata } from "../generators/custom-action.js";
|
|
7
8
|
import { defaultConflictColumns, resolveTenantColumn } from "../schema/conflict-target.js";
|
|
@@ -16,7 +17,7 @@ import { createRequire } from "node:module";
|
|
|
16
17
|
* Manifest generator for creating service manifests from AST scan results
|
|
17
18
|
*/
|
|
18
19
|
var require = createRequire(import.meta.url);
|
|
19
|
-
var logger = createLogger({ level: "info" });
|
|
20
|
+
var logger = createLogger({ level: VERBOSE_ENABLED ? "debug" : "info" });
|
|
20
21
|
/**
|
|
21
22
|
* Framework abstract base classes whose declared fields must be merged
|
|
22
23
|
* into every subclass's `fields` map.
|
|
@@ -267,7 +268,7 @@ var ManifestGenerator = class {
|
|
|
267
268
|
__tenancy: tenancyMeta
|
|
268
269
|
}
|
|
269
270
|
};
|
|
270
|
-
logger.
|
|
271
|
+
logger.debug(`[manifest-generator] Injected ${fieldName} field for ${objectDef.className} (tenantScoped: ${JSON.stringify(tenantConfig)})`);
|
|
271
272
|
}
|
|
272
273
|
assertTenantScopedSchemaContract(manifest) {
|
|
273
274
|
const failures = [];
|
|
@@ -413,11 +414,11 @@ var ManifestGenerator = class {
|
|
|
413
414
|
const rootKey = stiRoot ? this.resolveManifestKey(stiRoot.className, aggregatedManifest) ?? stiRoot.className : name;
|
|
414
415
|
const rootTableName = stiRoot?.tableName || tableName;
|
|
415
416
|
const rootConfig = aggregatedManifest.objects[rootKey]?.decoratorConfig ?? obj.decoratorConfig;
|
|
416
|
-
logger.
|
|
417
|
+
logger.debug(`[manifest-generator] Generating STI schema for ${name} (root: ${rootKey}, table: ${rootTableName})`);
|
|
417
418
|
obj.schema = generator.generateSTISchemaFromManifest(rootKey, rootTableName, obj.fields, aggregatedManifest, rootConfig);
|
|
418
419
|
this.applySqlTypeOverrides(obj);
|
|
419
420
|
} else {
|
|
420
|
-
logger.
|
|
421
|
+
logger.debug(`[manifest-generator] Generating CTI schema for ${name} (table: ${tableName})`);
|
|
421
422
|
obj.schema = generator.generateCTISchemaFromManifest(name, tableName, obj.fields, obj.decoratorConfig);
|
|
422
423
|
this.applySqlTypeOverrides(obj);
|
|
423
424
|
}
|
|
@@ -686,7 +687,7 @@ var ManifestGenerator = class {
|
|
|
686
687
|
const externalManifest = loadExternalManifestSync(packageName);
|
|
687
688
|
if (externalManifest) {
|
|
688
689
|
for (const [name, obj] of Object.entries(externalManifest.objects)) if (!aggregatedObjects[name]) aggregatedObjects[name] = obj;
|
|
689
|
-
logger.
|
|
690
|
+
logger.debug(`[manifest-generator] Aggregated ${Object.keys(externalManifest.objects).length} objects from ${packageName}`);
|
|
690
691
|
}
|
|
691
692
|
}
|
|
692
693
|
return {
|
|
@@ -814,7 +815,7 @@ var ManifestGenerator = class {
|
|
|
814
815
|
for (const obj of Object.values(manifest.objects)) {
|
|
815
816
|
if (!obj.extends) continue;
|
|
816
817
|
const usesSTI = this.isSTIClass(obj, objectsByName, manifest);
|
|
817
|
-
logger.
|
|
818
|
+
logger.debug(`[manifest-generator] Merging inherited fields for ${obj.className} from ${obj.extends}`);
|
|
818
819
|
const inheritanceChain = [];
|
|
819
820
|
let currentClass = obj.extends;
|
|
820
821
|
const visited = /* @__PURE__ */ new Set();
|
|
@@ -831,7 +832,7 @@ var ManifestGenerator = class {
|
|
|
831
832
|
if (!parentObj) break;
|
|
832
833
|
currentClass = parentObj.extends;
|
|
833
834
|
}
|
|
834
|
-
logger.
|
|
835
|
+
logger.debug(`[manifest-generator] Inheritance chain for ${obj.className}: ${inheritanceChain.join(" -> ")}`);
|
|
835
836
|
const mergedFields = {};
|
|
836
837
|
const mergedFieldOwners = /* @__PURE__ */ new Map();
|
|
837
838
|
const mergedMethods = {};
|
|
@@ -858,29 +859,29 @@ var ManifestGenerator = class {
|
|
|
858
859
|
const baseTableName = stiBase.decoratorConfig?.tableName || this.classNameToTableName(stiBase.className);
|
|
859
860
|
obj.decoratorConfig = obj.decoratorConfig || {};
|
|
860
861
|
obj.decoratorConfig.tableName = baseTableName;
|
|
861
|
-
logger.
|
|
862
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits tableName: '${baseTableName}' from ${stiBase.className}`);
|
|
862
863
|
if (stiBase.decoratorConfig?.tableStrategy) {
|
|
863
864
|
obj.decoratorConfig.tableStrategy = stiBase.decoratorConfig.tableStrategy;
|
|
864
|
-
logger.
|
|
865
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits tableStrategy: '${stiBase.decoratorConfig.tableStrategy}' from ${stiBase.className}`);
|
|
865
866
|
}
|
|
866
867
|
if (stiBase.collection !== obj.collection) {
|
|
867
|
-
logger.
|
|
868
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits collection: '${stiBase.collection}' from ${stiBase.className}`);
|
|
868
869
|
obj.collection = stiBase.collection;
|
|
869
870
|
}
|
|
870
871
|
}
|
|
871
|
-
logger.
|
|
872
|
+
logger.debug(`[manifest-generator] ✅ ${obj.className} now has ${Object.keys(mergedFields).length} fields (including inherited)`);
|
|
872
873
|
}
|
|
873
874
|
for (const obj of Object.values(manifest.objects)) if (obj.extends === "SmrtCollection" || this.extendsCollection(obj, objectsByName)) {
|
|
874
875
|
const itemClass = this.findItemClass(obj, manifest, objectsByName);
|
|
875
876
|
if (itemClass) {
|
|
876
|
-
logger.
|
|
877
|
+
logger.debug(`[manifest-generator] ${obj.className} is a collection class for ${itemClass.className}`);
|
|
877
878
|
if (itemClass.decoratorConfig?.tableName) {
|
|
878
879
|
obj.decoratorConfig = obj.decoratorConfig || {};
|
|
879
880
|
obj.decoratorConfig.tableName = itemClass.decoratorConfig.tableName;
|
|
880
|
-
logger.
|
|
881
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits tableName: '${itemClass.decoratorConfig.tableName}' from item class ${itemClass.className}`);
|
|
881
882
|
}
|
|
882
883
|
if (itemClass.collection !== obj.collection) {
|
|
883
|
-
logger.
|
|
884
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits collection: '${itemClass.collection}' from item class ${itemClass.className} (was '${obj.collection}')`);
|
|
884
885
|
obj.collection = itemClass.collection;
|
|
885
886
|
}
|
|
886
887
|
for (const key of [
|
|
@@ -890,7 +891,7 @@ var ManifestGenerator = class {
|
|
|
890
891
|
]) if (itemClass.decoratorConfig?.[key] === false && obj.decoratorConfig?.[key] === void 0) {
|
|
891
892
|
obj.decoratorConfig = obj.decoratorConfig || {};
|
|
892
893
|
obj.decoratorConfig[key] = false;
|
|
893
|
-
logger.
|
|
894
|
+
logger.debug(`[manifest-generator] ${obj.className} inherits ${key}: false from item class ${itemClass.className}`);
|
|
894
895
|
}
|
|
895
896
|
}
|
|
896
897
|
}
|
|
@@ -932,16 +933,16 @@ var ManifestGenerator = class {
|
|
|
932
933
|
findItemClass(collectionObj, manifest, objectsByName) {
|
|
933
934
|
if (collectionObj.extendsTypeArg) {
|
|
934
935
|
const itemClassName = collectionObj.extendsTypeArg;
|
|
935
|
-
logger.
|
|
936
|
+
logger.debug(`[manifest-generator] ${collectionObj.className} has extendsTypeArg: ${itemClassName}`);
|
|
936
937
|
const itemClass = objectsByName.get(itemClassName);
|
|
937
938
|
if (itemClass) {
|
|
938
|
-
logger.
|
|
939
|
+
logger.debug(`[manifest-generator] Found item class ${itemClassName} in local manifest`);
|
|
939
940
|
return itemClass;
|
|
940
941
|
}
|
|
941
942
|
if (manifest.smrtDependencies && manifest.smrtDependencies.length > 0) {
|
|
942
943
|
const externalItemClass = this.loadParentFromExternalPackage(itemClassName, manifest.smrtDependencies, objectsByName);
|
|
943
944
|
if (externalItemClass) {
|
|
944
|
-
logger.
|
|
945
|
+
logger.debug(`[manifest-generator] Found item class ${itemClassName} in external package`);
|
|
945
946
|
return externalItemClass;
|
|
946
947
|
}
|
|
947
948
|
}
|
|
@@ -1629,7 +1630,7 @@ ${fields}
|
|
|
1629
1630
|
menuItems,
|
|
1630
1631
|
components
|
|
1631
1632
|
};
|
|
1632
|
-
logger.
|
|
1633
|
+
logger.debug(`[manifest-generator] Generated agent manifest for ${obj.className}: ${permissions.length} permissions, ${features.length} features, ${menuItems.length} menu items, ${components.length} components`);
|
|
1633
1634
|
}
|
|
1634
1635
|
}
|
|
1635
1636
|
/**
|