@memberjunction/codegen-lib 6.1.0-edge.4 → 6.1.0-edge.6

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 (136) hide show
  1. package/README.md +20 -0
  2. package/dist/Angular/angular-codegen.d.ts +9 -6
  3. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  4. package/dist/Angular/angular-codegen.js +80 -51
  5. package/dist/Angular/angular-codegen.js.map +1 -1
  6. package/dist/Angular/join-grid-related-entity-component.d.ts.map +1 -1
  7. package/dist/Angular/join-grid-related-entity-component.js +5 -2
  8. package/dist/Angular/join-grid-related-entity-component.js.map +1 -1
  9. package/dist/Angular/related-entity-components.d.ts +11 -0
  10. package/dist/Angular/related-entity-components.d.ts.map +1 -1
  11. package/dist/Angular/related-entity-components.js +23 -0
  12. package/dist/Angular/related-entity-components.js.map +1 -1
  13. package/dist/Angular/timeline-related-entity-component.d.ts.map +1 -1
  14. package/dist/Angular/timeline-related-entity-component.js +3 -2
  15. package/dist/Angular/timeline-related-entity-component.js.map +1 -1
  16. package/dist/Config/config.d.ts +216 -12
  17. package/dist/Config/config.d.ts.map +1 -1
  18. package/dist/Config/config.js +88 -6
  19. package/dist/Config/config.js.map +1 -1
  20. package/dist/Config/schema-output.d.ts +33 -0
  21. package/dist/Config/schema-output.d.ts.map +1 -0
  22. package/dist/Config/schema-output.js +52 -0
  23. package/dist/Config/schema-output.js.map +1 -0
  24. package/dist/Database/codeGenDatabaseProvider.d.ts +68 -1
  25. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  26. package/dist/Database/codeGenDatabaseProvider.js +142 -3
  27. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  28. package/dist/Database/dbSchema.js +2 -1
  29. package/dist/Database/dbSchema.js.map +1 -1
  30. package/dist/Database/decision-metadata-format.d.ts +124 -0
  31. package/dist/Database/decision-metadata-format.d.ts.map +1 -0
  32. package/dist/Database/decision-metadata-format.js +279 -0
  33. package/dist/Database/decision-metadata-format.js.map +1 -0
  34. package/dist/Database/decision-metadata-writer.d.ts +48 -0
  35. package/dist/Database/decision-metadata-writer.d.ts.map +1 -0
  36. package/dist/Database/decision-metadata-writer.js +482 -0
  37. package/dist/Database/decision-metadata-writer.js.map +1 -0
  38. package/dist/Database/entity-field-change-tracking.d.ts +53 -0
  39. package/dist/Database/entity-field-change-tracking.d.ts.map +1 -0
  40. package/dist/Database/entity-field-change-tracking.js +120 -0
  41. package/dist/Database/entity-field-change-tracking.js.map +1 -0
  42. package/dist/Database/entity-level-tree-cycles.d.ts.map +1 -1
  43. package/dist/Database/entity-level-tree-cycles.js +3 -2
  44. package/dist/Database/entity-level-tree-cycles.js.map +1 -1
  45. package/dist/Database/exclude-tables.d.ts +26 -0
  46. package/dist/Database/exclude-tables.d.ts.map +1 -0
  47. package/dist/Database/exclude-tables.js +38 -0
  48. package/dist/Database/exclude-tables.js.map +1 -0
  49. package/dist/Database/field-metadata-lock.d.ts +47 -0
  50. package/dist/Database/field-metadata-lock.d.ts.map +1 -0
  51. package/dist/Database/field-metadata-lock.js +159 -0
  52. package/dist/Database/field-metadata-lock.js.map +1 -0
  53. package/dist/Database/manage-metadata.d.ts +142 -42
  54. package/dist/Database/manage-metadata.d.ts.map +1 -1
  55. package/dist/Database/manage-metadata.js +625 -287
  56. package/dist/Database/manage-metadata.js.map +1 -1
  57. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +2 -2
  58. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  59. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +90 -41
  60. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  61. package/dist/Database/providers/postgresql/metadataSupportObjects.js +31 -8
  62. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  63. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +3 -1
  64. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  65. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +58 -23
  66. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  67. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +15 -2
  68. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -1
  69. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +17 -0
  70. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  71. package/dist/Database/sql_codegen.d.ts +24 -0
  72. package/dist/Database/sql_codegen.d.ts.map +1 -1
  73. package/dist/Database/sql_codegen.js +108 -29
  74. package/dist/Database/sql_codegen.js.map +1 -1
  75. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +22 -0
  76. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  77. package/dist/Manifest/GenerateClassRegistrationsManifest.js +115 -7
  78. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  79. package/dist/Misc/action_subclasses_codegen.js +2 -2
  80. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  81. package/dist/Misc/advanced_generation.d.ts +7 -5
  82. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  83. package/dist/Misc/advanced_generation.js +34 -23
  84. package/dist/Misc/advanced_generation.js.map +1 -1
  85. package/dist/Misc/codegen-reporter.d.ts +5 -0
  86. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  87. package/dist/Misc/codegen-reporter.js +9 -2
  88. package/dist/Misc/codegen-reporter.js.map +1 -1
  89. package/dist/Misc/emit-stats.d.ts +28 -0
  90. package/dist/Misc/emit-stats.d.ts.map +1 -0
  91. package/dist/Misc/emit-stats.js +43 -0
  92. package/dist/Misc/emit-stats.js.map +1 -0
  93. package/dist/Misc/entity_subclasses_codegen.d.ts +20 -2
  94. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  95. package/dist/Misc/entity_subclasses_codegen.js +120 -51
  96. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  97. package/dist/Misc/file-write.d.ts +15 -0
  98. package/dist/Misc/file-write.d.ts.map +1 -0
  99. package/dist/Misc/file-write.js +33 -0
  100. package/dist/Misc/file-write.js.map +1 -0
  101. package/dist/Misc/graphql_server_codegen.d.ts +12 -2
  102. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  103. package/dist/Misc/graphql_server_codegen.js +72 -16
  104. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  105. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
  106. package/dist/Misc/remote_operations_codegen.js +4 -3
  107. package/dist/Misc/remote_operations_codegen.js.map +1 -1
  108. package/dist/Misc/runCommand.d.ts +5 -0
  109. package/dist/Misc/runCommand.d.ts.map +1 -1
  110. package/dist/Misc/runCommand.js +43 -17
  111. package/dist/Misc/runCommand.js.map +1 -1
  112. package/dist/Misc/schema-emit.d.ts +123 -0
  113. package/dist/Misc/schema-emit.d.ts.map +1 -0
  114. package/dist/Misc/schema-emit.js +221 -0
  115. package/dist/Misc/schema-emit.js.map +1 -0
  116. package/dist/Misc/sql_logging.d.ts +63 -8
  117. package/dist/Misc/sql_logging.d.ts.map +1 -1
  118. package/dist/Misc/sql_logging.js +169 -42
  119. package/dist/Misc/sql_logging.js.map +1 -1
  120. package/dist/Misc/util.d.ts +12 -0
  121. package/dist/Misc/util.d.ts.map +1 -1
  122. package/dist/Misc/util.js +71 -8
  123. package/dist/Misc/util.js.map +1 -1
  124. package/dist/index.d.ts +8 -0
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +8 -0
  127. package/dist/index.js.map +1 -1
  128. package/dist/plugins/index.d.ts +3 -0
  129. package/dist/plugins/index.d.ts.map +1 -1
  130. package/dist/plugins/index.js +28 -1
  131. package/dist/plugins/index.js.map +1 -1
  132. package/dist/runCodeGen.d.ts +20 -2
  133. package/dist/runCodeGen.d.ts.map +1 -1
  134. package/dist/runCodeGen.js +186 -33
  135. package/dist/runCodeGen.js.map +1 -1
  136. package/package.json +29 -29
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-reporter.js","sourceRoot":"","sources":["../../src/Misc/codegen-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-reporter.js","sourceRoot":"","sources":["../../src/Misc/codegen-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AA2IzB;;;GAGG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAA8B;IACjE;QACE,KAAK,EAAE,CAAC;QAOV,2EAA2E;QAC3E,4BAA4B;QAC5B,2EAA2E;QAEnE,YAAO,GAAY,KAAK,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAgB,EAAE,CAAC;QAC1B,gBAAW,GAAgB,EAAE,CAAC;QAC9B,cAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;QAChD,cAAS,GAAmB,EAAE,CAAC;QAC/B,cAAS,GAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,aAAQ,GAA4B,EAAE,CAAC;QACvC,WAAM,GAAa,EAAE,CAAC;QACtB,mBAAc,GAAkB,IAAI,CAAC;IApB7C,CAAC;IAEM,MAAM,KAAK,QAAQ;QACxB,OAAO,KAAK,CAAC,WAAW,EAAmB,CAAC;IAC9C,CAAC;IAkBD,8CAA8C;IAC9C,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,qCAAqC;IACrC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,sEAAsE;IAC/D,QAAQ;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,2EAA2E;IAC3E,sBAAsB;IACtB,2EAA2E;IAE3E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,EAAoB;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3E,MAAM,IAAI,GAAc;YACtB,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;YACjC,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAI,UAAkB,EAAE,SAAiB,EAAE,EAAoB;QACrF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,UAAU,IAAI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;YACzB,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACvC,KAAK,CAAC,oBAAoB,IAAI,OAAO,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,IAQpB;QACC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;QAC1D,MAAM,KAAK,GAAiB;YAC1B,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;SACpC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC/C,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;YAC/B,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;YACjC,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,gFAAgF;IACzE,OAAO,CAAC,IAAY,EAAE,QAAgB,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,8EAA8E;IAChF,CAAC;IAED,wDAAwD;IACjD,aAAa,CAAC,MAAc,EAAE,QAAgB,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;IACnD,CAAC;IAED,gEAAgE;IACzD,IAAI,CAAC,GAAW,EAAE,KAAc;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,0EAA0E;IACnE,UAAU,CAAC,UAAkB,EAAE,IAAwC,EAAE,QAAiB,IAAI;QACnG,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,uEAAuE;IAChE,IAAI,CAAC,OAAe;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,2EAA2E;IAC3E,WAAW;IACX,2EAA2E;IAE3E;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAc;YACxB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,UAAU,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YAChD,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC,WAAW;YACxC,OAAO;YACP,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;QAEF,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,eAAe,CAAC,YAAY,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED,qEAAqE;IAC9D,QAAQ;QACb,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;YACtC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3F,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,SAAS;gBACjB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;aACvC;YACD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACxB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,YAAY,CAAC,MAAiB;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7E,MAAM,KAAK,GAAa;YACtB,EAAE;YACF,kBAAkB,MAAM,CAAC,SAAS,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,QAAQ,WAAW;YACpG,EAAE;YACF,+CAA+C;YAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,SAAS,CAAC;QAE5B,SAAS,YAAY,CAAC,MAAmB,EAAE,MAAc,EAAE,WAAmB;YAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3C,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,oBAAoB,GAAG,CAAC;oBAAE,MAAM;gBACtC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,QAAQ,gBAAgB,SAAS,WAAW,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5I,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,gBAAgB;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC,mBAAmB;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,CAAC,YAAY;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAmB;QAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2EAA2E;IAC3E,gEAAgE;IAChE,2EAA2E;IAE3E,qDAAqD;IAC9C,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,8DAA8D;IACvD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAc;QACzC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,iBAAiB,EAAG,MAAM,CAAC,QAAQ,CAAC,iBAA4B,IAAI,CAAC;oBACrE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;oBAChC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,2EAA2E;IACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,OAAO,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC1D,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,YAAY;IACZ,2EAA2E;IAEnE,iBAAiB,CAAC,IAAY;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,IAAI;gBACJ,OAAO,EAAE,CAAC;gBACV,oBAAoB,EAAE,CAAC;gBACvB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;aAC3D,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,uEAAuE;QACvE,gEAAgE;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,KAAgB;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC;YACjB,IAAI,CAAC,KAAK,KAAK;gBAAE,MAAM;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAE/E,kDAAkD;AAClD,MAAM,UAAU,WAAW,CAAI,IAAY,EAAE,EAAoB;IAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB,CAAI,UAAkB,EAAE,SAAiB,EAAE,EAAoB;IAC9F,OAAO,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAgB,CAAC;IAC3D,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,KAAc;IACpD,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * In-process counters for one CodeGen file-emit pass.
3
+ *
4
+ * Kept as a tiny module with no config / reporter / EntityInfo imports so unit
5
+ * tests can drive it (and `writeFileIfChanged`) without booting the CodeGen
6
+ * graph. `runCodeGen` copies the snapshot onto `CodeGenReporter` at the end of
7
+ * the file-generation phase.
8
+ */
9
+ export type EmitStatsSnapshot = {
10
+ filesWritten: number;
11
+ filesSkipped: number;
12
+ schemasEmitted: number;
13
+ schemasSkipped: number;
14
+ assembleMs: number;
15
+ };
16
+ export declare class EmitStats {
17
+ private static _filesWritten;
18
+ private static _filesSkipped;
19
+ private static _schemasEmitted;
20
+ private static _schemasSkipped;
21
+ private static _assembleMs;
22
+ static Reset(): void;
23
+ static RecordFileWrite(wrote: boolean): void;
24
+ static RecordSchemaEmit(emitted: boolean): void;
25
+ static AddAssembleMs(ms: number): void;
26
+ static Snapshot(): EmitStatsSnapshot;
27
+ }
28
+ //# sourceMappingURL=emit-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-stats.d.ts","sourceRoot":"","sources":["../../src/Misc/emit-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IACjC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IACjC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;WAEjB,KAAK,IAAI,IAAI;WAQb,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;WAQrC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAQxC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;WAI/B,QAAQ,IAAI,iBAAiB;CAS5C"}
@@ -0,0 +1,43 @@
1
+ export class EmitStats {
2
+ static { this._filesWritten = 0; }
3
+ static { this._filesSkipped = 0; }
4
+ static { this._schemasEmitted = 0; }
5
+ static { this._schemasSkipped = 0; }
6
+ static { this._assembleMs = 0; }
7
+ static Reset() {
8
+ this._filesWritten = 0;
9
+ this._filesSkipped = 0;
10
+ this._schemasEmitted = 0;
11
+ this._schemasSkipped = 0;
12
+ this._assembleMs = 0;
13
+ }
14
+ static RecordFileWrite(wrote) {
15
+ if (wrote) {
16
+ this._filesWritten += 1;
17
+ }
18
+ else {
19
+ this._filesSkipped += 1;
20
+ }
21
+ }
22
+ static RecordSchemaEmit(emitted) {
23
+ if (emitted) {
24
+ this._schemasEmitted += 1;
25
+ }
26
+ else {
27
+ this._schemasSkipped += 1;
28
+ }
29
+ }
30
+ static AddAssembleMs(ms) {
31
+ this._assembleMs += ms;
32
+ }
33
+ static Snapshot() {
34
+ return {
35
+ filesWritten: this._filesWritten,
36
+ filesSkipped: this._filesSkipped,
37
+ schemasEmitted: this._schemasEmitted,
38
+ schemasSkipped: this._schemasSkipped,
39
+ assembleMs: this._assembleMs,
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=emit-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-stats.js","sourceRoot":"","sources":["../../src/Misc/emit-stats.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,SAAS;aACL,kBAAa,GAAG,CAAC,CAAC;aAClB,kBAAa,GAAG,CAAC,CAAC;aAClB,oBAAe,GAAG,CAAC,CAAC;aACpB,oBAAe,GAAG,CAAC,CAAC;aACpB,gBAAW,GAAG,CAAC,CAAC;IAExB,MAAM,CAAC,KAAK;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAc;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,OAAgB;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,EAAU;QACpC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC"}
@@ -2,6 +2,7 @@ import { EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunc
2
2
  import { ValidatorResult } from '../Database/manage-metadata.js';
3
3
  import { type ConfigInfo } from '../Config/config.js';
4
4
  import { CodeGenConnection } from '../Database/codeGenDatabaseProvider.js';
5
+ import { SchemaEmitOptions } from './schema-emit.js';
5
6
  /**
6
7
  * The parsed shape of `EntityRelationship.RelatedRecordCollection` — the policy half of a
7
8
  * `DeclareRelatedRecords(...)` declaration.
@@ -79,10 +80,27 @@ export declare class EntitySubClassGeneratorBase {
79
80
  * @param entities
80
81
  * @param directory
81
82
  * @param skipDBUpdate - when set to true, no updates are written back to the database - which happens after code generation when newly generated code from AI has been generated, but in the case where this flag is true, we don't ever write back to the DB because the assumption is we are only emitting code to the file that was already in the DB.
83
+ * @param options - per-schema emit / dirty-schema / parallelism. Defaults come from `configInfo.fileEmit`.
82
84
  * @returns
83
85
  */
84
- generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean): Promise<boolean>;
85
- generateEntitySubClassFileHeader(): string;
86
+ generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean, options?: SchemaEmitOptions): Promise<boolean>;
87
+ /**
88
+ * Build the TypeScript source for one emit file (one schema, or the legacy monolith).
89
+ * Hoists and de-duplicates two kinds of import into the file header: the generated
90
+ * base class each entity extends, and the embedded-record peers an entity references.
91
+ * Emitting each once per file — instead of once per entity — prevents a TS2300
92
+ * duplicate-identifier error in a file holding 2+ external entities.
93
+ *
94
+ * Entities without primary keys are excluded because {@link generateEntitySubClass}
95
+ * emits nothing for them; hoisting their imports would leave an unused import that
96
+ * fails a downstream consumer's `noUnusedLocals`.
97
+ */
98
+ assembleEntitySubclassFile(pool: CodeGenConnection, entities: EntityInfo[], skipDBUpdate: boolean, includeLoadModule: boolean): Promise<string>;
99
+ /** Delegates so both generators share one set of defaults; override to change them. */
100
+ protected resolveEmitOptions(options?: SchemaEmitOptions): Required<SchemaEmitOptions>;
101
+ /** Delegates so both generators write identically; override to change that. */
102
+ protected emitFile(filePath: string, content: string, useWriteIfChanged: boolean): void;
103
+ generateEntitySubClassFileHeader(includeLoadModule?: boolean): string;
86
104
  /**
87
105
  * Resolves an entity's generated base class and the import statement that class requires.
88
106
  * Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,18 @@
1
1
  import { BaseEntity, EntityFieldValueListType, Metadata, TypeScriptTypeFromSQLType } from '@memberjunction/core';
2
- import { UUIDsEqual } from '@memberjunction/global';
2
+ import { UUIDsEqual, ordinalCompare } from '@memberjunction/global';
3
3
  import fs from 'fs';
4
4
  import path from 'path';
5
5
  import ts from 'typescript';
6
6
  import { makeDir, sortBySequenceAndCreatedAt } from '../Misc/util.js';
7
7
  import { logError, logStatus, logWarning } from './status_logging.js';
8
8
  import { ManageMetadataBase } from '../Database/manage-metadata.js';
9
- import { mj_core_schema, resolveEntityImportPackage } from '../Config/config.js';
9
+ import { configInfo, dbPlatform, mj_core_schema, resolveEntityImportPackage } from '../Config/config.js';
10
10
  import { SQLLogging } from './sql_logging.js';
11
+ import { resolveCodeGenDatabaseProvider } from '../Database/codeGenDatabaseProvider.js';
12
+ import { CodeGenReporter } from './codegen-reporter.js';
13
+ import { v4 as uuidv4 } from 'uuid';
14
+ import { EmitStats } from './emit-stats.js';
15
+ import { buildSchemaBarrel, groupEntitiesBySchema, mapLimit, emitSchemaFile, pruneOrphanedSchemaFiles, resolveSchemaEmitOptions, sanitizeSchemaFileName, schemasToEmit, } from './schema-emit.js';
11
16
  /**
12
17
  * Dynamically collects all own property names from BaseEntity's prototype chain
13
18
  * (excluding Object.prototype). Any entity field whose CodeName matches one of
@@ -103,36 +108,47 @@ export class EntitySubClassGeneratorBase {
103
108
  * @param entities
104
109
  * @param directory
105
110
  * @param skipDBUpdate - when set to true, no updates are written back to the database - which happens after code generation when newly generated code from AI has been generated, but in the case where this flag is true, we don't ever write back to the DB because the assumption is we are only emitting code to the file that was already in the DB.
111
+ * @param options - per-schema emit / dirty-schema / parallelism. Defaults come from `configInfo.fileEmit`.
106
112
  * @returns
107
113
  */
108
- async generateAllEntitySubClasses(pool, entities, directory, skipDBUpdate) {
114
+ async generateAllEntitySubClasses(pool, entities, directory, skipDBUpdate, options) {
109
115
  try {
110
- // Entities are already sorted by name in PostProcessEntityMetadata (see providerBase.ts)
111
- const zodContent = entities.map((entity) => this.GenerateSchemaAndType(entity)).join('');
112
- let sContent = "";
113
- for (const e of entities) {
114
- sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
115
- }
116
- // Hoist the base-class imports (e.g. ReadOnlyExternalBaseEntity for external entities, or custom
117
- // subclass imports) into the file header, de-duplicated. Emitting each once — instead of once per
118
- // entity — prevents a TS2300 duplicate-identifier error in files with 2+ external entities.
119
- // Only consider entities that actually emit a class: generateEntitySubClass skips PK-less entities
120
- // (returns ''), so hoisting their import would leave a dangling/unused import (a build error under
121
- // a downstream consumer's noUnusedLocals). Match that skip condition here.
122
- const entitiesWithPK = entities.filter((e) => e.PrimaryKeys.length > 0);
123
- const localClassNames = new Set(entitiesWithPK.map((e) => `${e.ClassName}Entity`));
124
- const baseClassImports = [...new Set(entitiesWithPK
125
- .map((e) => this.resolveEntityBaseClass(e).importStatement)
126
- .filter((s) => s.length > 0))].join('');
127
- // Collect every embed + related-record-collection peer across the file, then emit
128
- // one grouped `import { A, B } from 'pkg'` per npm package. Per-entity import
129
- // lines would duplicate packages (Address on two owners → two import lines).
130
- const peerImports = entitiesWithPK.flatMap((e) => EntitySubClassGeneratorBase.CollectPeerClassImports(e, localClassNames));
131
- const peerImportStatements = EntitySubClassGeneratorBase.FormatPeerImportStatements(peerImports).join('');
132
- const subclassImports = `${baseClassImports}${peerImportStatements}`;
133
- const allContent = `${this.generateEntitySubClassFileHeader()} \n ${subclassImports}${zodContent} \n ${sContent}`;
116
+ const emit = this.resolveEmitOptions(options);
134
117
  makeDir(directory);
135
- fs.writeFileSync(path.join(directory, 'entity_subclasses.ts'), allContent);
118
+ if (!emit.perSchema) {
119
+ const allContent = await this.assembleEntitySubclassFile(pool, entities, skipDBUpdate, true);
120
+ this.emitFile(path.join(directory, 'entity_subclasses.ts'), allContent, emit.writeIfChanged);
121
+ return true;
122
+ }
123
+ const grouped = groupEntitiesBySchema(entities);
124
+ const schemas = [...grouped.keys()].sort((a, b) => ordinalCompare(a, b));
125
+ const schemasDir = path.join(directory, 'entities');
126
+ makeDir(schemasDir);
127
+ const toEmit = schemasToEmit(schemas, emit.dirtySchemas, (schemaName) => fs.existsSync(path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`)));
128
+ const emitSet = new Set(toEmit);
129
+ for (const schemaName of schemas) {
130
+ EmitStats.RecordSchemaEmit(emitSet.has(schemaName));
131
+ }
132
+ const concurrency = emit.parallel ? emit.concurrency : 1;
133
+ const assembleStarted = Date.now();
134
+ await mapLimit(toEmit, concurrency, async (schemaName) => {
135
+ const schemaEntities = grouped.get(schemaName) ?? [];
136
+ const content = await this.assembleEntitySubclassFile(pool, schemaEntities, skipDBUpdate, false);
137
+ const filePath = path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`);
138
+ this.emitFile(filePath, content, emit.writeIfChanged);
139
+ });
140
+ EmitStats.AddAssembleMs(Date.now() - assembleStarted);
141
+ // Before the barrel, so the directory and the barrel always agree.
142
+ const pruned = pruneOrphanedSchemaFiles(schemasDir, schemas);
143
+ if (pruned.length > 0) {
144
+ logStatus(` Removed ${pruned.length} orphaned entity schema file(s): ${pruned.join(', ')}`);
145
+ }
146
+ const barrel = buildSchemaBarrel(schemas, 'entities', `export const loadModule = () => {
147
+ // no-op — importing this barrel loads every per-schema module via the re-exports below
148
+ }
149
+
150
+ `);
151
+ this.emitFile(path.join(directory, 'entity_subclasses.ts'), barrel, emit.writeIfChanged);
136
152
  return true;
137
153
  }
138
154
  catch (err) {
@@ -142,15 +158,61 @@ export class EntitySubClassGeneratorBase {
142
158
  return false;
143
159
  }
144
160
  }
145
- generateEntitySubClassFileHeader() {
146
- return `import { BaseEntity, EntitySaveOptions, EntityDeleteOptions, CompositeKey, ValidationResult, ValidationErrorInfo, ValidationErrorType, Metadata, ProviderType, DatabaseProviderBase, RunView } from "@memberjunction/core";
147
- import { RegisterClass } from "@memberjunction/global";
148
- import { z } from "zod";
149
-
161
+ /**
162
+ * Build the TypeScript source for one emit file (one schema, or the legacy monolith).
163
+ * Hoists and de-duplicates two kinds of import into the file header: the generated
164
+ * base class each entity extends, and the embedded-record peers an entity references.
165
+ * Emitting each once per file — instead of once per entity — prevents a TS2300
166
+ * duplicate-identifier error in a file holding 2+ external entities.
167
+ *
168
+ * Entities without primary keys are excluded because {@link generateEntitySubClass}
169
+ * emits nothing for them; hoisting their imports would leave an unused import that
170
+ * fails a downstream consumer's `noUnusedLocals`.
171
+ */
172
+ async assembleEntitySubclassFile(pool, entities, skipDBUpdate, includeLoadModule) {
173
+ const zodContent = entities.map((entity) => this.GenerateSchemaAndType(entity)).join('');
174
+ let sContent = '';
175
+ for (const e of entities) {
176
+ sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
177
+ }
178
+ // Only entities that actually emit a class: generateEntitySubClass skips PK-less entities
179
+ // (returns ''), so hoisting their imports would leave a dangling/unused import that fails a
180
+ // downstream consumer's noUnusedLocals.
181
+ const entitiesWithPK = entities.filter((e) => e.PrimaryKeys.length > 0);
182
+ const localClassNames = new Set(entitiesWithPK.map((e) => `${e.ClassName}Entity`));
183
+ // De-duplicated so a file holding 2+ external entities does not emit
184
+ // `import { ReadOnlyExternalBaseEntity }` twice (TS2300).
185
+ const baseClassImports = [...new Set(entitiesWithPK
186
+ .map((e) => this.resolveEntityBaseClass(e).importStatement)
187
+ .filter((s) => s.length > 0))].join('');
188
+ // Collect every embed + related-record-collection peer across the file, then emit
189
+ // one grouped `import { A, B } from 'pkg'` per npm package. Per-entity import
190
+ // lines would duplicate packages (Address on two owners → two import lines).
191
+ const peerImports = entitiesWithPK.flatMap((e) => EntitySubClassGeneratorBase.CollectPeerClassImports(e, localClassNames));
192
+ const peerImportStatements = EntitySubClassGeneratorBase.FormatPeerImportStatements(peerImports).join('');
193
+ const subclassImports = `${baseClassImports}${peerImportStatements}`;
194
+ return `${this.generateEntitySubClassFileHeader(includeLoadModule)} \n ${subclassImports}${zodContent} \n ${sContent}`;
195
+ }
196
+ /** Delegates so both generators share one set of defaults; override to change them. */
197
+ resolveEmitOptions(options) {
198
+ return resolveSchemaEmitOptions(options, configInfo?.fileEmit);
199
+ }
200
+ /** Delegates so both generators write identically; override to change that. */
201
+ emitFile(filePath, content, useWriteIfChanged) {
202
+ emitSchemaFile(filePath, content, useWriteIfChanged);
203
+ }
204
+ generateEntitySubClassFileHeader(includeLoadModule = true) {
205
+ const loadModule = includeLoadModule
206
+ ? `
150
207
  export const loadModule = () => {
151
208
  // no-op, only used to ensure this file is a valid module and to allow easy loading
152
209
  }
153
-
210
+ `
211
+ : '';
212
+ return `import { BaseEntity, EntitySaveOptions, EntityDeleteOptions, CompositeKey, ValidationResult, ValidationErrorInfo, ValidationErrorType, Metadata, ProviderType, DatabaseProviderBase, RunView } from "@memberjunction/core";
213
+ import { RegisterClass } from "@memberjunction/global";
214
+ import { z } from "zod";
215
+ ${loadModule}
154
216
  `;
155
217
  }
156
218
  /**
@@ -741,7 +803,6 @@ ${fields}
741
803
  return '';
742
804
  }
743
805
  const methods = [];
744
- const pkName = entity.FirstPrimaryKey?.Name ?? 'ID';
745
806
  for (const field of recursiveFKs) {
746
807
  const fieldName = field.Name;
747
808
  const rootField = `Root${fieldName}`;
@@ -861,10 +922,10 @@ ${fields}
861
922
  return -1;
862
923
  if (b === '@memberjunction/core-entities')
863
924
  return 1;
864
- return a.localeCompare(b);
925
+ return ordinalCompare(a, b);
865
926
  });
866
927
  return packages.map((pkg) => {
867
- const names = [...byPackage.get(pkg)].sort((a, b) => a.localeCompare(b));
928
+ const names = [...byPackage.get(pkg)].sort((a, b) => ordinalCompare(a, b));
868
929
  return `import { ${names.join(', ')} } from '${pkg}';\n`;
869
930
  });
870
931
  }
@@ -990,6 +1051,10 @@ ${fields}
990
1051
  const validatorCodeCategoryID = `(SELECT ${qi('ID')} FROM ${generatedCodeCatsView} WHERE ${qi('Name')}=${lit('CodeGen: Validators')})`;
991
1052
  let sSQL = '';
992
1053
  const justGenerated = ret.validators.filter((f) => f.wasGenerated);
1054
+ if (justGenerated.length > 0) {
1055
+ CodeGenReporter.Instance.counter('ai.validatorCalls', justGenerated.length);
1056
+ }
1057
+ const provider = resolveCodeGenDatabaseProvider(dbPlatform());
993
1058
  for (const v of justGenerated) {
994
1059
  // only update the DB for the fields that were actually generated/regenerated, otherwise not needed
995
1060
  const f = entity.Fields.find((f) => f.Name.trim().toLowerCase() === v.fieldName?.trim().toLowerCase());
@@ -1004,24 +1069,28 @@ ${fields}
1004
1069
  ${qi('GeneratedAt')}=${utcNow},
1005
1070
  ${qi('GeneratedByModelID')}=${lit(v.aiModelID)}
1006
1071
  WHERE
1007
- ${qi('ID')}=${lit(v.generatedCodeId)};`;
1072
+ ${qi('ID')}=${lit(v.generatedCodeId)};\n\n`;
1008
1073
  }
1009
1074
  else {
1010
- // need to create a row inside the __mj.GeneratedCode table
1075
+ // need to create a row inside the __mj.GeneratedCode table with literal host-stable ID
1011
1076
  const linkedEntityID = f ? entityFieldsEntityID : entitiesEntityID;
1012
1077
  const linkedRecordPK = f ? f.ID : entity.ID;
1013
- sSQL += `INSERT INTO ${generatedCodeTbl} (${qi('CategoryID')}, ${qi('GeneratedByModelID')}, ${qi('GeneratedAt')}, ${qi('Language')}, ${qi('Status')}, ${qi('Source')}, ${qi('Code')}, ${qi('Description')}, ${qi('Name')}, ${qi('LinkedEntityID')}, ${qi('LinkedRecordPrimaryKey')})
1014
- VALUES (${validatorCodeCategoryID}, ${lit(v.aiModelID)}, ${utcNow}, ${lit('TypeScript')}, ${lit('Approved')}, ${lit(v.sourceCheckConstraint)}, ${lit(v.functionText)}, ${lit(v.functionDescription)}, ${lit(v.functionName)}, ${lit(linkedEntityID ?? '')}, ${lit(linkedRecordPK)});
1015
-
1016
- `;
1078
+ const newGeneratedCodeId = uuidv4();
1079
+ v.generatedCodeId = newGeneratedCodeId;
1080
+ const checkQuery = `SELECT 1 FROM ${generatedCodeTbl} WHERE ${qi('CategoryID')} = ${validatorCodeCategoryID} AND ${qi('LinkedEntityID')} = ${lit(linkedEntityID ?? '')} AND ${qi('LinkedRecordPrimaryKey')} = ${lit(linkedRecordPK)}`;
1081
+ const insertSQL = `INSERT INTO ${generatedCodeTbl} (${qi('ID')}, ${qi('CategoryID')}, ${qi('GeneratedByModelID')}, ${qi('GeneratedAt')}, ${qi('Language')}, ${qi('Status')}, ${qi('Source')}, ${qi('Code')}, ${qi('Description')}, ${qi('Name')}, ${qi('LinkedEntityID')}, ${qi('LinkedRecordPrimaryKey')})
1082
+ VALUES (${lit(newGeneratedCodeId)}, ${validatorCodeCategoryID}, ${lit(v.aiModelID)}, ${utcNow}, ${lit('TypeScript')}, ${lit('Approved')}, ${lit(v.sourceCheckConstraint)}, ${lit(v.functionText)}, ${lit(v.functionDescription)}, ${lit(v.functionName)}, ${lit(linkedEntityID ?? '')}, ${lit(linkedRecordPK)})`;
1083
+ sSQL += `${provider.conditionalInsertSQL(checkQuery, insertSQL)};\n\n`;
1017
1084
  }
1018
1085
  }
1019
1086
  // now Log and Execute the SQL
1020
- try {
1021
- await SQLLogging.LogSQLAndExecute(pool, sSQL, `Generated Validation Functions for ${entity.Name}`, false);
1022
- }
1023
- catch (e) {
1024
- logError(`Error logging and executing SQL for ${entity.Name}: ${e}`);
1087
+ if (sSQL.trim().length > 0) {
1088
+ try {
1089
+ await SQLLogging.LogSQLAndExecute(pool, sSQL, `Generated Validation Functions for ${entity.Name}`, false);
1090
+ }
1091
+ catch (e) {
1092
+ logError(`Error logging and executing SQL for ${entity.Name}: ${e}`);
1093
+ }
1025
1094
  }
1026
1095
  }
1027
1096
  return ret.code;
@@ -1036,7 +1105,7 @@ ${fields}
1036
1105
  const sortedValidators = unsortedValidators.sort((a, b) => {
1037
1106
  // sort by field name, then by function name, then by generatedCodeId as last-resort tiebreaker
1038
1107
  if (a.fieldName && b.fieldName) {
1039
- const cmp = a.fieldName.localeCompare(b.fieldName) || a.functionName.localeCompare(b.functionName);
1108
+ const cmp = ordinalCompare(a.fieldName, b.fieldName) || ordinalCompare(a.functionName, b.functionName);
1040
1109
  if (cmp !== 0)
1041
1110
  return cmp;
1042
1111
  }
@@ -1047,12 +1116,12 @@ ${fields}
1047
1116
  return 1; // b comes first
1048
1117
  }
1049
1118
  else {
1050
- const cmp = a.functionName.localeCompare(b.functionName); // both are table-level, sort by function name
1119
+ const cmp = ordinalCompare(a.functionName, b.functionName); // both are table-level, sort by function name
1051
1120
  if (cmp !== 0)
1052
1121
  return cmp;
1053
1122
  }
1054
1123
  // last-resort tiebreaker for absolute determinism
1055
- return a.generatedCodeId.localeCompare(b.generatedCodeId);
1124
+ return ordinalCompare(a.generatedCodeId, b.generatedCodeId);
1056
1125
  });
1057
1126
  // Deduplicate by functionName — duplicate GeneratedCode records can exist if the view JOIN
1058
1127
  // previously failed to match (e.g., whitespace differences in CHECK constraint text).