@memberjunction/server 5.30.1 → 5.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/agents/skip-sdk.d.ts +17 -1
  2. package/dist/agents/skip-sdk.d.ts.map +1 -1
  3. package/dist/agents/skip-sdk.js +18 -5
  4. package/dist/agents/skip-sdk.js.map +1 -1
  5. package/dist/auth/exampleNewUserSubClass.js +1 -1
  6. package/dist/auth/exampleNewUserSubClass.js.map +1 -1
  7. package/dist/auth/index.js +2 -2
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/newUsers.js +2 -2
  10. package/dist/auth/newUsers.js.map +1 -1
  11. package/dist/context.js +3 -3
  12. package/dist/context.js.map +1 -1
  13. package/dist/generated/generated.d.ts +218 -8
  14. package/dist/generated/generated.d.ts.map +1 -1
  15. package/dist/generated/generated.js +1267 -52
  16. package/dist/generated/generated.js.map +1 -1
  17. package/dist/generic/ResolverBase.d.ts +5 -5
  18. package/dist/generic/ResolverBase.d.ts.map +1 -1
  19. package/dist/generic/ResolverBase.js +21 -18
  20. package/dist/generic/ResolverBase.js.map +1 -1
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +9 -8
  24. package/dist/index.js.map +1 -1
  25. package/dist/multiTenancy/index.js +1 -1
  26. package/dist/multiTenancy/index.js.map +1 -1
  27. package/dist/resolvers/APIKeyResolver.d.ts.map +1 -1
  28. package/dist/resolvers/APIKeyResolver.js +5 -3
  29. package/dist/resolvers/APIKeyResolver.js.map +1 -1
  30. package/dist/resolvers/AutotagPipelineResolver.d.ts +3 -3
  31. package/dist/resolvers/AutotagPipelineResolver.d.ts.map +1 -1
  32. package/dist/resolvers/AutotagPipelineResolver.js +18 -12
  33. package/dist/resolvers/AutotagPipelineResolver.js.map +1 -1
  34. package/dist/resolvers/ComponentRegistryResolver.d.ts +1 -1
  35. package/dist/resolvers/ComponentRegistryResolver.d.ts.map +1 -1
  36. package/dist/resolvers/ComponentRegistryResolver.js +6 -4
  37. package/dist/resolvers/ComponentRegistryResolver.js.map +1 -1
  38. package/dist/resolvers/FileResolver.js +2 -2
  39. package/dist/resolvers/FileResolver.js.map +1 -1
  40. package/dist/resolvers/GetDataContextDataResolver.d.ts.map +1 -1
  41. package/dist/resolvers/GetDataContextDataResolver.js +1 -2
  42. package/dist/resolvers/GetDataContextDataResolver.js.map +1 -1
  43. package/dist/resolvers/ISAEntityResolver.d.ts.map +1 -1
  44. package/dist/resolvers/ISAEntityResolver.js +2 -5
  45. package/dist/resolvers/ISAEntityResolver.js.map +1 -1
  46. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -1
  47. package/dist/resolvers/IntegrationDiscoveryResolver.js +75 -66
  48. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -1
  49. package/dist/resolvers/SyncDataResolver.d.ts +4 -4
  50. package/dist/resolvers/SyncDataResolver.d.ts.map +1 -1
  51. package/dist/resolvers/SyncDataResolver.js +9 -8
  52. package/dist/resolvers/SyncDataResolver.js.map +1 -1
  53. package/dist/resolvers/SyncRolesUsersResolver.d.ts +6 -6
  54. package/dist/resolvers/SyncRolesUsersResolver.d.ts.map +1 -1
  55. package/dist/resolvers/SyncRolesUsersResolver.js +22 -18
  56. package/dist/resolvers/SyncRolesUsersResolver.js.map +1 -1
  57. package/dist/resolvers/TagGovernanceResolver.d.ts +43 -0
  58. package/dist/resolvers/TagGovernanceResolver.d.ts.map +1 -0
  59. package/dist/resolvers/TagGovernanceResolver.js +245 -0
  60. package/dist/resolvers/TagGovernanceResolver.js.map +1 -0
  61. package/dist/resolvers/TaskResolver.d.ts +1 -1
  62. package/dist/resolvers/TaskResolver.d.ts.map +1 -1
  63. package/dist/resolvers/TaskResolver.js +4 -2
  64. package/dist/resolvers/TaskResolver.js.map +1 -1
  65. package/dist/resolvers/TransactionGroupResolver.d.ts.map +1 -1
  66. package/dist/resolvers/TransactionGroupResolver.js +2 -1
  67. package/dist/resolvers/TransactionGroupResolver.js.map +1 -1
  68. package/dist/rest/EntityCRUDHandler.js +4 -4
  69. package/dist/rest/EntityCRUDHandler.js.map +1 -1
  70. package/dist/rest/RESTEndpointHandler.js +9 -9
  71. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  72. package/dist/rest/ViewOperationsHandler.js +4 -4
  73. package/dist/rest/ViewOperationsHandler.js.map +1 -1
  74. package/dist/services/TaskOrchestrator.d.ts +4 -2
  75. package/dist/services/TaskOrchestrator.d.ts.map +1 -1
  76. package/dist/services/TaskOrchestrator.js +16 -12
  77. package/dist/services/TaskOrchestrator.js.map +1 -1
  78. package/package.json +68 -66
  79. package/src/__tests__/TagGovernanceResolver.test.ts +255 -0
  80. package/src/agents/skip-sdk.ts +30 -7
  81. package/src/auth/exampleNewUserSubClass.ts +1 -1
  82. package/src/auth/index.ts +2 -2
  83. package/src/auth/newUsers.ts +2 -2
  84. package/src/context.ts +3 -3
  85. package/src/generated/generated.ts +872 -41
  86. package/src/generic/ResolverBase.ts +28 -21
  87. package/src/index.ts +9 -9
  88. package/src/multiTenancy/index.ts +1 -1
  89. package/src/resolvers/APIKeyResolver.ts +7 -4
  90. package/src/resolvers/AutotagPipelineResolver.ts +20 -11
  91. package/src/resolvers/ComponentRegistryResolver.ts +8 -5
  92. package/src/resolvers/FileResolver.ts +2 -2
  93. package/src/resolvers/GetDataContextDataResolver.ts +1 -2
  94. package/src/resolvers/ISAEntityResolver.ts +3 -5
  95. package/src/resolvers/IntegrationDiscoveryResolver.ts +83 -66
  96. package/src/resolvers/SyncDataResolver.ts +12 -11
  97. package/src/resolvers/SyncRolesUsersResolver.ts +23 -19
  98. package/src/resolvers/TagGovernanceResolver.ts +189 -0
  99. package/src/resolvers/TaskResolver.ts +5 -3
  100. package/src/resolvers/TransactionGroupResolver.ts +3 -2
  101. package/src/rest/EntityCRUDHandler.ts +4 -4
  102. package/src/rest/RESTEndpointHandler.ts +9 -9
  103. package/src/rest/ViewOperationsHandler.ts +4 -4
  104. package/src/services/TaskOrchestrator.ts +18 -13
@@ -19345,6 +19345,10 @@ __decorate([
19345
19345
  Field(() => [MJAIPromptRun_]),
19346
19346
  __metadata("design:type", Array)
19347
19347
  ], MJAIModel_.prototype, "MJAIPromptRuns_ModelIDArray", void 0);
19348
+ __decorate([
19349
+ Field(() => [MJTag_]),
19350
+ __metadata("design:type", Array)
19351
+ ], MJAIModel_.prototype, "MJTags_EmbeddingModelIDArray", void 0);
19348
19352
  __decorate([
19349
19353
  Field(() => [MJAIModel_]),
19350
19354
  __metadata("design:type", Array)
@@ -19794,6 +19798,14 @@ let MJAIModelResolver = class MJAIModelResolver extends ResolverBase {
19794
19798
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: AI Prompt Runs', rows, this.GetUserFromPayload(userPayload));
19795
19799
  return result;
19796
19800
  }
19801
+ async MJTags_EmbeddingModelIDArray(mjaimodel_, { userPayload, providers }, pubSub) {
19802
+ this.CheckUserReadPermissions('MJ: Tags', userPayload);
19803
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
19804
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTags')} WHERE ${provider.QuoteIdentifier('EmbeddingModelID')}='${mjaimodel_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tags', userPayload, EntityPermissionType.Read, 'AND');
19805
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
19806
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tags', rows, this.GetUserFromPayload(userPayload));
19807
+ return result;
19808
+ }
19797
19809
  async MJAIModels_PriorVersionIDArray(mjaimodel_, { userPayload, providers }, pubSub) {
19798
19810
  this.CheckUserReadPermissions('MJ: AI Models', userPayload);
19799
19811
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -20067,6 +20079,15 @@ __decorate([
20067
20079
  __metadata("design:paramtypes", [MJAIModel_, Object, PubSubEngine]),
20068
20080
  __metadata("design:returntype", Promise)
20069
20081
  ], MJAIModelResolver.prototype, "MJAIPromptRuns_ModelIDArray", null);
20082
+ __decorate([
20083
+ FieldResolver(() => [MJTag_]),
20084
+ __param(0, Root()),
20085
+ __param(1, Ctx()),
20086
+ __param(2, PubSub()),
20087
+ __metadata("design:type", Function),
20088
+ __metadata("design:paramtypes", [MJAIModel_, Object, PubSubEngine]),
20089
+ __metadata("design:returntype", Promise)
20090
+ ], MJAIModelResolver.prototype, "MJTags_EmbeddingModelIDArray", null);
20070
20091
  __decorate([
20071
20092
  FieldResolver(() => [MJAIModel_]),
20072
20093
  __param(0, Root()),
@@ -36816,14 +36837,14 @@ __decorate([
36816
36837
  MaxLength(255),
36817
36838
  __metadata("design:type", String)
36818
36839
  ], MJCompanyIntegrationEntityMap_.prototype, "Entity", void 0);
36819
- __decorate([
36820
- Field(() => [MJCompanyIntegrationFieldMap_]),
36821
- __metadata("design:type", Array)
36822
- ], MJCompanyIntegrationEntityMap_.prototype, "MJCompanyIntegrationFieldMaps_EntityMapIDArray", void 0);
36823
36840
  __decorate([
36824
36841
  Field(() => [MJCompanyIntegrationSyncWatermark_]),
36825
36842
  __metadata("design:type", Array)
36826
36843
  ], MJCompanyIntegrationEntityMap_.prototype, "MJCompanyIntegrationSyncWatermarks_EntityMapIDArray", void 0);
36844
+ __decorate([
36845
+ Field(() => [MJCompanyIntegrationFieldMap_]),
36846
+ __metadata("design:type", Array)
36847
+ ], MJCompanyIntegrationEntityMap_.prototype, "MJCompanyIntegrationFieldMaps_EntityMapIDArray", void 0);
36827
36848
  MJCompanyIntegrationEntityMap_ = __decorate([
36828
36849
  ObjectType({ description: `Maps an external object from a company integration to a MemberJunction entity, controlling sync direction, matching, and conflict resolution.` })
36829
36850
  ], MJCompanyIntegrationEntityMap_);
@@ -37021,14 +37042,6 @@ let MJCompanyIntegrationEntityMapResolver = class MJCompanyIntegrationEntityMapR
37021
37042
  const result = await this.MapFieldNamesToCodeNames('MJ: Company Integration Entity Maps', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
37022
37043
  return result;
37023
37044
  }
37024
- async MJCompanyIntegrationFieldMaps_EntityMapIDArray(mjcompanyintegrationentitymap_, { userPayload, providers }, pubSub) {
37025
- this.CheckUserReadPermissions('MJ: Company Integration Field Maps', userPayload);
37026
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
37027
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationFieldMaps')} WHERE ${provider.QuoteIdentifier('EntityMapID')}='${mjcompanyintegrationentitymap_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Field Maps', userPayload, EntityPermissionType.Read, 'AND');
37028
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
37029
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Company Integration Field Maps', rows, this.GetUserFromPayload(userPayload));
37030
- return result;
37031
- }
37032
37045
  async MJCompanyIntegrationSyncWatermarks_EntityMapIDArray(mjcompanyintegrationentitymap_, { userPayload, providers }, pubSub) {
37033
37046
  this.CheckUserReadPermissions('MJ: Company Integration Sync Watermarks', userPayload);
37034
37047
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -37037,6 +37050,14 @@ let MJCompanyIntegrationEntityMapResolver = class MJCompanyIntegrationEntityMapR
37037
37050
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Company Integration Sync Watermarks', rows, this.GetUserFromPayload(userPayload));
37038
37051
  return result;
37039
37052
  }
37053
+ async MJCompanyIntegrationFieldMaps_EntityMapIDArray(mjcompanyintegrationentitymap_, { userPayload, providers }, pubSub) {
37054
+ this.CheckUserReadPermissions('MJ: Company Integration Field Maps', userPayload);
37055
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
37056
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwCompanyIntegrationFieldMaps')} WHERE ${provider.QuoteIdentifier('EntityMapID')}='${mjcompanyintegrationentitymap_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Company Integration Field Maps', userPayload, EntityPermissionType.Read, 'AND');
37057
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
37058
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Company Integration Field Maps', rows, this.GetUserFromPayload(userPayload));
37059
+ return result;
37060
+ }
37040
37061
  async CreateMJCompanyIntegrationEntityMap(input, { providers, userPayload }, pubSub) {
37041
37062
  const provider = GetReadWriteProvider(providers);
37042
37063
  return this.CreateRecord('MJ: Company Integration Entity Maps', input, provider, userPayload, pubSub);
@@ -37088,23 +37109,23 @@ __decorate([
37088
37109
  __metadata("design:returntype", Promise)
37089
37110
  ], MJCompanyIntegrationEntityMapResolver.prototype, "MJCompanyIntegrationEntityMap", null);
37090
37111
  __decorate([
37091
- FieldResolver(() => [MJCompanyIntegrationFieldMap_]),
37112
+ FieldResolver(() => [MJCompanyIntegrationSyncWatermark_]),
37092
37113
  __param(0, Root()),
37093
37114
  __param(1, Ctx()),
37094
37115
  __param(2, PubSub()),
37095
37116
  __metadata("design:type", Function),
37096
37117
  __metadata("design:paramtypes", [MJCompanyIntegrationEntityMap_, Object, PubSubEngine]),
37097
37118
  __metadata("design:returntype", Promise)
37098
- ], MJCompanyIntegrationEntityMapResolver.prototype, "MJCompanyIntegrationFieldMaps_EntityMapIDArray", null);
37119
+ ], MJCompanyIntegrationEntityMapResolver.prototype, "MJCompanyIntegrationSyncWatermarks_EntityMapIDArray", null);
37099
37120
  __decorate([
37100
- FieldResolver(() => [MJCompanyIntegrationSyncWatermark_]),
37121
+ FieldResolver(() => [MJCompanyIntegrationFieldMap_]),
37101
37122
  __param(0, Root()),
37102
37123
  __param(1, Ctx()),
37103
37124
  __param(2, PubSub()),
37104
37125
  __metadata("design:type", Function),
37105
37126
  __metadata("design:paramtypes", [MJCompanyIntegrationEntityMap_, Object, PubSubEngine]),
37106
37127
  __metadata("design:returntype", Promise)
37107
- ], MJCompanyIntegrationEntityMapResolver.prototype, "MJCompanyIntegrationSyncWatermarks_EntityMapIDArray", null);
37128
+ ], MJCompanyIntegrationEntityMapResolver.prototype, "MJCompanyIntegrationFieldMaps_EntityMapIDArray", null);
37108
37129
  __decorate([
37109
37130
  Mutation(() => MJCompanyIntegrationEntityMap_),
37110
37131
  __param(0, Arg('input', () => CreateMJCompanyIntegrationEntityMapInput)),
@@ -42690,6 +42711,10 @@ __decorate([
42690
42711
  Field(() => [MJContentItemDuplicate_]),
42691
42712
  __metadata("design:type", Array)
42692
42713
  ], MJContentItem_.prototype, "MJContentItemDuplicates_ContentItemBIDArray", void 0);
42714
+ __decorate([
42715
+ Field(() => [MJTagSuggestion_]),
42716
+ __metadata("design:type", Array)
42717
+ ], MJContentItem_.prototype, "MJTagSuggestions_SourceContentItemIDArray", void 0);
42693
42718
  MJContentItem_ = __decorate([
42694
42719
  ObjectType({ description: `Stores extracted text from content assets, as well as the source location, versioning, and links to extracted tags and attributes.` })
42695
42720
  ], MJContentItem_);
@@ -42943,6 +42968,14 @@ let MJContentItemResolver = class MJContentItemResolver extends ResolverBase {
42943
42968
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Item Duplicates', rows, this.GetUserFromPayload(userPayload));
42944
42969
  return result;
42945
42970
  }
42971
+ async MJTagSuggestions_SourceContentItemIDArray(mjcontentitem_, { userPayload, providers }, pubSub) {
42972
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
42973
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
42974
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('SourceContentItemID')}='${mjcontentitem_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
42975
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
42976
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
42977
+ return result;
42978
+ }
42946
42979
  async CreateMJContentItem(input, { providers, userPayload }, pubSub) {
42947
42980
  const provider = GetReadWriteProvider(providers);
42948
42981
  return this.CreateRecord('MJ: Content Items', input, provider, userPayload, pubSub);
@@ -43029,6 +43062,15 @@ __decorate([
43029
43062
  __metadata("design:paramtypes", [MJContentItem_, Object, PubSubEngine]),
43030
43063
  __metadata("design:returntype", Promise)
43031
43064
  ], MJContentItemResolver.prototype, "MJContentItemDuplicates_ContentItemBIDArray", null);
43065
+ __decorate([
43066
+ FieldResolver(() => [MJTagSuggestion_]),
43067
+ __param(0, Root()),
43068
+ __param(1, Ctx()),
43069
+ __param(2, PubSub()),
43070
+ __metadata("design:type", Function),
43071
+ __metadata("design:paramtypes", [MJContentItem_, Object, PubSubEngine]),
43072
+ __metadata("design:returntype", Promise)
43073
+ ], MJContentItemResolver.prototype, "MJTagSuggestions_SourceContentItemIDArray", null);
43032
43074
  __decorate([
43033
43075
  Mutation(() => MJContentItem_),
43034
43076
  __param(0, Arg('input', () => CreateMJContentItemInput)),
@@ -45044,6 +45086,10 @@ __decorate([
45044
45086
  Field(() => [MJContentProcessRunDetail_]),
45045
45087
  __metadata("design:type", Array)
45046
45088
  ], MJContentSource_.prototype, "MJContentProcessRunDetails_ContentSourceIDArray", void 0);
45089
+ __decorate([
45090
+ Field(() => [MJTagSuggestion_]),
45091
+ __metadata("design:type", Array)
45092
+ ], MJContentSource_.prototype, "MJTagSuggestions_SourceContentSourceIDArray", void 0);
45047
45093
  MJContentSource_ = __decorate([
45048
45094
  ObjectType({ description: `Configures connections to external content repositories and systems from which content is imported, synchronized, and tagged.` })
45049
45095
  ], MJContentSource_);
@@ -45265,6 +45311,14 @@ let MJContentSourceResolver = class MJContentSourceResolver extends ResolverBase
45265
45311
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Process Run Details', rows, this.GetUserFromPayload(userPayload));
45266
45312
  return result;
45267
45313
  }
45314
+ async MJTagSuggestions_SourceContentSourceIDArray(mjcontentsource_, { userPayload, providers }, pubSub) {
45315
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
45316
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
45317
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('SourceContentSourceID')}='${mjcontentsource_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
45318
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
45319
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
45320
+ return result;
45321
+ }
45268
45322
  async CreateMJContentSource(input, { providers, userPayload }, pubSub) {
45269
45323
  const provider = GetReadWriteProvider(providers);
45270
45324
  return this.CreateRecord('MJ: Content Sources', input, provider, userPayload, pubSub);
@@ -45351,6 +45405,15 @@ __decorate([
45351
45405
  __metadata("design:paramtypes", [MJContentSource_, Object, PubSubEngine]),
45352
45406
  __metadata("design:returntype", Promise)
45353
45407
  ], MJContentSourceResolver.prototype, "MJContentProcessRunDetails_ContentSourceIDArray", null);
45408
+ __decorate([
45409
+ FieldResolver(() => [MJTagSuggestion_]),
45410
+ __param(0, Root()),
45411
+ __param(1, Ctx()),
45412
+ __param(2, PubSub()),
45413
+ __metadata("design:type", Function),
45414
+ __metadata("design:paramtypes", [MJContentSource_, Object, PubSubEngine]),
45415
+ __metadata("design:returntype", Promise)
45416
+ ], MJContentSourceResolver.prototype, "MJTagSuggestions_SourceContentSourceIDArray", null);
45354
45417
  __decorate([
45355
45418
  Mutation(() => MJContentSource_),
45356
45419
  __param(0, Arg('input', () => CreateMJContentSourceInput)),
@@ -58100,6 +58163,10 @@ __decorate([
58100
58163
  Field(() => [MJRecordGeoCode_]),
58101
58164
  __metadata("design:type", Array)
58102
58165
  ], MJEntity_.prototype, "MJRecordGeoCodes_EntityIDArray", void 0);
58166
+ __decorate([
58167
+ Field(() => [MJTagScope_]),
58168
+ __metadata("design:type", Array)
58169
+ ], MJEntity_.prototype, "MJTagScopes_ScopeEntityIDArray", void 0);
58103
58170
  __decorate([
58104
58171
  Field(() => [MJGeneratedCode_]),
58105
58172
  __metadata("design:type", Array)
@@ -59105,6 +59172,14 @@ let MJEntityResolverBase = class MJEntityResolverBase extends ResolverBase {
59105
59172
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Record Geo Codes', rows, this.GetUserFromPayload(userPayload));
59106
59173
  return result;
59107
59174
  }
59175
+ async MJTagScopes_ScopeEntityIDArray(mjentity_, { userPayload, providers }, pubSub) {
59176
+ this.CheckUserReadPermissions('MJ: Tag Scopes', userPayload);
59177
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
59178
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagScopes')} WHERE ${provider.QuoteIdentifier('ScopeEntityID')}='${mjentity_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Scopes', userPayload, EntityPermissionType.Read, 'AND');
59179
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
59180
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Scopes', rows, this.GetUserFromPayload(userPayload));
59181
+ return result;
59182
+ }
59108
59183
  async MJGeneratedCodes_LinkedEntityIDArray(mjentity_, { userPayload, providers }, pubSub) {
59109
59184
  this.CheckUserReadPermissions('MJ: Generated Codes', userPayload);
59110
59185
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -59666,6 +59741,15 @@ __decorate([
59666
59741
  __metadata("design:paramtypes", [MJEntity_, Object, PubSubEngine]),
59667
59742
  __metadata("design:returntype", Promise)
59668
59743
  ], MJEntityResolverBase.prototype, "MJRecordGeoCodes_EntityIDArray", null);
59744
+ __decorate([
59745
+ FieldResolver(() => [MJTagScope_]),
59746
+ __param(0, Root()),
59747
+ __param(1, Ctx()),
59748
+ __param(2, PubSub()),
59749
+ __metadata("design:type", Function),
59750
+ __metadata("design:paramtypes", [MJEntity_, Object, PubSubEngine]),
59751
+ __metadata("design:returntype", Promise)
59752
+ ], MJEntityResolverBase.prototype, "MJTagScopes_ScopeEntityIDArray", null);
59669
59753
  __decorate([
59670
59754
  FieldResolver(() => [MJGeneratedCode_]),
59671
59755
  __param(0, Root()),
@@ -96855,6 +96939,897 @@ MJTagCoOccurrenceResolver = __decorate([
96855
96939
  ], MJTagCoOccurrenceResolver);
96856
96940
  export { MJTagCoOccurrenceResolver };
96857
96941
  //****************************************************************************
96942
+ // ENTITY CLASS for MJ: Tag Scopes
96943
+ //****************************************************************************
96944
+ let MJTagScope_ = class MJTagScope_ {
96945
+ };
96946
+ __decorate([
96947
+ Field(),
96948
+ MaxLength(36),
96949
+ __metadata("design:type", String)
96950
+ ], MJTagScope_.prototype, "ID", void 0);
96951
+ __decorate([
96952
+ Field({ description: `The Tag whose visibility this row constrains.` }),
96953
+ MaxLength(36),
96954
+ __metadata("design:type", String)
96955
+ ], MJTagScope_.prototype, "TagID", void 0);
96956
+ __decorate([
96957
+ Field({ description: `Entity that the scope record belongs to (e.g., Companies, AI Agents). Combined with ScopeRecordID identifies the specific tenant or context that may see the tag.` }),
96958
+ MaxLength(36),
96959
+ __metadata("design:type", String)
96960
+ ], MJTagScope_.prototype, "ScopeEntityID", void 0);
96961
+ __decorate([
96962
+ Field({ description: `Primary key value of the scope record. Stored as NVARCHAR(450) to match the polymorphic RecordID convention used by TaggedItem.` }),
96963
+ MaxLength(450),
96964
+ __metadata("design:type", String)
96965
+ ], MJTagScope_.prototype, "ScopeRecordID", void 0);
96966
+ __decorate([
96967
+ Field(),
96968
+ __metadata("design:type", Date)
96969
+ ], MJTagScope_.prototype, "_mj__CreatedAt", void 0);
96970
+ __decorate([
96971
+ Field(),
96972
+ __metadata("design:type", Date)
96973
+ ], MJTagScope_.prototype, "_mj__UpdatedAt", void 0);
96974
+ __decorate([
96975
+ Field(),
96976
+ MaxLength(255),
96977
+ __metadata("design:type", String)
96978
+ ], MJTagScope_.prototype, "Tag", void 0);
96979
+ __decorate([
96980
+ Field(),
96981
+ MaxLength(255),
96982
+ __metadata("design:type", String)
96983
+ ], MJTagScope_.prototype, "ScopeEntity", void 0);
96984
+ MJTagScope_ = __decorate([
96985
+ ObjectType({ description: `Polymorphic junction binding a Tag to one or more (Entity, Record) scope rows. A Tag with one or more TagScope rows is only visible inside those scopes; a Tag with no rows AND IsGlobal=1 is visible everywhere. Mirrors the shape of TaggedItem.` })
96986
+ ], MJTagScope_);
96987
+ export { MJTagScope_ };
96988
+ //****************************************************************************
96989
+ // INPUT TYPE for MJ: Tag Scopes
96990
+ //****************************************************************************
96991
+ let CreateMJTagScopeInput = class CreateMJTagScopeInput {
96992
+ };
96993
+ __decorate([
96994
+ Field({ nullable: true }),
96995
+ __metadata("design:type", String)
96996
+ ], CreateMJTagScopeInput.prototype, "ID", void 0);
96997
+ __decorate([
96998
+ Field({ nullable: true }),
96999
+ __metadata("design:type", String)
97000
+ ], CreateMJTagScopeInput.prototype, "TagID", void 0);
97001
+ __decorate([
97002
+ Field({ nullable: true }),
97003
+ __metadata("design:type", String)
97004
+ ], CreateMJTagScopeInput.prototype, "ScopeEntityID", void 0);
97005
+ __decorate([
97006
+ Field({ nullable: true }),
97007
+ __metadata("design:type", String)
97008
+ ], CreateMJTagScopeInput.prototype, "ScopeRecordID", void 0);
97009
+ __decorate([
97010
+ Field(() => RestoreContextInput, { nullable: true }),
97011
+ __metadata("design:type", RestoreContextInput)
97012
+ ], CreateMJTagScopeInput.prototype, "RestoreContext___", void 0);
97013
+ CreateMJTagScopeInput = __decorate([
97014
+ InputType()
97015
+ ], CreateMJTagScopeInput);
97016
+ export { CreateMJTagScopeInput };
97017
+ //****************************************************************************
97018
+ // INPUT TYPE for MJ: Tag Scopes
97019
+ //****************************************************************************
97020
+ let UpdateMJTagScopeInput = class UpdateMJTagScopeInput {
97021
+ };
97022
+ __decorate([
97023
+ Field(),
97024
+ __metadata("design:type", String)
97025
+ ], UpdateMJTagScopeInput.prototype, "ID", void 0);
97026
+ __decorate([
97027
+ Field({ nullable: true }),
97028
+ __metadata("design:type", String)
97029
+ ], UpdateMJTagScopeInput.prototype, "TagID", void 0);
97030
+ __decorate([
97031
+ Field({ nullable: true }),
97032
+ __metadata("design:type", String)
97033
+ ], UpdateMJTagScopeInput.prototype, "ScopeEntityID", void 0);
97034
+ __decorate([
97035
+ Field({ nullable: true }),
97036
+ __metadata("design:type", String)
97037
+ ], UpdateMJTagScopeInput.prototype, "ScopeRecordID", void 0);
97038
+ __decorate([
97039
+ Field(() => [KeyValuePairInput], { nullable: true }),
97040
+ __metadata("design:type", Array)
97041
+ ], UpdateMJTagScopeInput.prototype, "OldValues___", void 0);
97042
+ __decorate([
97043
+ Field(() => RestoreContextInput, { nullable: true }),
97044
+ __metadata("design:type", RestoreContextInput)
97045
+ ], UpdateMJTagScopeInput.prototype, "RestoreContext___", void 0);
97046
+ UpdateMJTagScopeInput = __decorate([
97047
+ InputType()
97048
+ ], UpdateMJTagScopeInput);
97049
+ export { UpdateMJTagScopeInput };
97050
+ //****************************************************************************
97051
+ // RESOLVER for MJ: Tag Scopes
97052
+ //****************************************************************************
97053
+ let RunMJTagScopeViewResult = class RunMJTagScopeViewResult {
97054
+ };
97055
+ __decorate([
97056
+ Field(() => [MJTagScope_]),
97057
+ __metadata("design:type", Array)
97058
+ ], RunMJTagScopeViewResult.prototype, "Results", void 0);
97059
+ __decorate([
97060
+ Field(() => String, { nullable: true }),
97061
+ __metadata("design:type", String)
97062
+ ], RunMJTagScopeViewResult.prototype, "UserViewRunID", void 0);
97063
+ __decorate([
97064
+ Field(() => Int, { nullable: true }),
97065
+ __metadata("design:type", Number)
97066
+ ], RunMJTagScopeViewResult.prototype, "RowCount", void 0);
97067
+ __decorate([
97068
+ Field(() => Int, { nullable: true }),
97069
+ __metadata("design:type", Number)
97070
+ ], RunMJTagScopeViewResult.prototype, "TotalRowCount", void 0);
97071
+ __decorate([
97072
+ Field(() => Int, { nullable: true }),
97073
+ __metadata("design:type", Number)
97074
+ ], RunMJTagScopeViewResult.prototype, "ExecutionTime", void 0);
97075
+ __decorate([
97076
+ Field({ nullable: true }),
97077
+ __metadata("design:type", String)
97078
+ ], RunMJTagScopeViewResult.prototype, "ErrorMessage", void 0);
97079
+ __decorate([
97080
+ Field(() => Boolean, { nullable: false }),
97081
+ __metadata("design:type", Boolean)
97082
+ ], RunMJTagScopeViewResult.prototype, "Success", void 0);
97083
+ RunMJTagScopeViewResult = __decorate([
97084
+ ObjectType()
97085
+ ], RunMJTagScopeViewResult);
97086
+ export { RunMJTagScopeViewResult };
97087
+ let MJTagScopeResolver = class MJTagScopeResolver extends ResolverBase {
97088
+ async RunMJTagScopeViewByID(input, { providers, userPayload }, pubSub) {
97089
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97090
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
97091
+ }
97092
+ async RunMJTagScopeViewByName(input, { providers, userPayload }, pubSub) {
97093
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97094
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
97095
+ }
97096
+ async RunMJTagScopeDynamicView(input, { providers, userPayload }, pubSub) {
97097
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97098
+ input.EntityName = 'MJ: Tag Scopes';
97099
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
97100
+ }
97101
+ async MJTagScope(ID, { userPayload, providers }, pubSub) {
97102
+ this.CheckUserReadPermissions('MJ: Tag Scopes', userPayload);
97103
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97104
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagScopes')} WHERE ${provider.QuoteIdentifier('ID')}='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Scopes', userPayload, EntityPermissionType.Read, 'AND');
97105
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
97106
+ const result = await this.MapFieldNamesToCodeNames('MJ: Tag Scopes', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
97107
+ return result;
97108
+ }
97109
+ async CreateMJTagScope(input, { providers, userPayload }, pubSub) {
97110
+ const provider = GetReadWriteProvider(providers);
97111
+ return this.CreateRecord('MJ: Tag Scopes', input, provider, userPayload, pubSub);
97112
+ }
97113
+ async UpdateMJTagScope(input, { providers, userPayload }, pubSub) {
97114
+ const provider = GetReadWriteProvider(providers);
97115
+ return this.UpdateRecord('MJ: Tag Scopes', input, provider, userPayload, pubSub);
97116
+ }
97117
+ async DeleteMJTagScope(ID, options, { providers, userPayload }, pubSub) {
97118
+ const provider = GetReadWriteProvider(providers);
97119
+ const key = new CompositeKey([{ FieldName: 'ID', Value: ID }]);
97120
+ return this.DeleteRecord('MJ: Tag Scopes', key, options, provider, userPayload, pubSub);
97121
+ }
97122
+ };
97123
+ __decorate([
97124
+ Query(() => RunMJTagScopeViewResult),
97125
+ __param(0, Arg('input', () => RunViewByIDInput)),
97126
+ __param(1, Ctx()),
97127
+ __param(2, PubSub()),
97128
+ __metadata("design:type", Function),
97129
+ __metadata("design:paramtypes", [RunViewByIDInput, Object, PubSubEngine]),
97130
+ __metadata("design:returntype", Promise)
97131
+ ], MJTagScopeResolver.prototype, "RunMJTagScopeViewByID", null);
97132
+ __decorate([
97133
+ Query(() => RunMJTagScopeViewResult),
97134
+ __param(0, Arg('input', () => RunViewByNameInput)),
97135
+ __param(1, Ctx()),
97136
+ __param(2, PubSub()),
97137
+ __metadata("design:type", Function),
97138
+ __metadata("design:paramtypes", [RunViewByNameInput, Object, PubSubEngine]),
97139
+ __metadata("design:returntype", Promise)
97140
+ ], MJTagScopeResolver.prototype, "RunMJTagScopeViewByName", null);
97141
+ __decorate([
97142
+ Query(() => RunMJTagScopeViewResult),
97143
+ __param(0, Arg('input', () => RunDynamicViewInput)),
97144
+ __param(1, Ctx()),
97145
+ __param(2, PubSub()),
97146
+ __metadata("design:type", Function),
97147
+ __metadata("design:paramtypes", [RunDynamicViewInput, Object, PubSubEngine]),
97148
+ __metadata("design:returntype", Promise)
97149
+ ], MJTagScopeResolver.prototype, "RunMJTagScopeDynamicView", null);
97150
+ __decorate([
97151
+ Query(() => MJTagScope_, { nullable: true }),
97152
+ __param(0, Arg('ID', () => String)),
97153
+ __param(1, Ctx()),
97154
+ __param(2, PubSub()),
97155
+ __metadata("design:type", Function),
97156
+ __metadata("design:paramtypes", [String, Object, PubSubEngine]),
97157
+ __metadata("design:returntype", Promise)
97158
+ ], MJTagScopeResolver.prototype, "MJTagScope", null);
97159
+ __decorate([
97160
+ Mutation(() => MJTagScope_),
97161
+ __param(0, Arg('input', () => CreateMJTagScopeInput)),
97162
+ __param(1, Ctx()),
97163
+ __param(2, PubSub()),
97164
+ __metadata("design:type", Function),
97165
+ __metadata("design:paramtypes", [CreateMJTagScopeInput, Object, PubSubEngine]),
97166
+ __metadata("design:returntype", Promise)
97167
+ ], MJTagScopeResolver.prototype, "CreateMJTagScope", null);
97168
+ __decorate([
97169
+ Mutation(() => MJTagScope_),
97170
+ __param(0, Arg('input', () => UpdateMJTagScopeInput)),
97171
+ __param(1, Ctx()),
97172
+ __param(2, PubSub()),
97173
+ __metadata("design:type", Function),
97174
+ __metadata("design:paramtypes", [UpdateMJTagScopeInput, Object, PubSubEngine]),
97175
+ __metadata("design:returntype", Promise)
97176
+ ], MJTagScopeResolver.prototype, "UpdateMJTagScope", null);
97177
+ __decorate([
97178
+ Mutation(() => MJTagScope_),
97179
+ __param(0, Arg('ID', () => String)),
97180
+ __param(1, Arg('options___', () => DeleteOptionsInput)),
97181
+ __param(2, Ctx()),
97182
+ __param(3, PubSub()),
97183
+ __metadata("design:type", Function),
97184
+ __metadata("design:paramtypes", [String, DeleteOptionsInput, Object, PubSubEngine]),
97185
+ __metadata("design:returntype", Promise)
97186
+ ], MJTagScopeResolver.prototype, "DeleteMJTagScope", null);
97187
+ MJTagScopeResolver = __decorate([
97188
+ Resolver(MJTagScope_)
97189
+ ], MJTagScopeResolver);
97190
+ export { MJTagScopeResolver };
97191
+ //****************************************************************************
97192
+ // ENTITY CLASS for MJ: Tag Suggestions
97193
+ //****************************************************************************
97194
+ let MJTagSuggestion_ = class MJTagSuggestion_ {
97195
+ };
97196
+ __decorate([
97197
+ Field(),
97198
+ MaxLength(36),
97199
+ __metadata("design:type", String)
97200
+ ], MJTagSuggestion_.prototype, "ID", void 0);
97201
+ __decorate([
97202
+ Field({ description: `The proposed tag name as seen by the classifier or analyzer.` }),
97203
+ MaxLength(255),
97204
+ __metadata("design:type", String)
97205
+ ], MJTagSuggestion_.prototype, "ProposedName", void 0);
97206
+ __decorate([
97207
+ Field({ nullable: true, description: `Tag under which the suggestion would be created if approved as a new tag. NULL = root.` }),
97208
+ MaxLength(36),
97209
+ __metadata("design:type", String)
97210
+ ], MJTagSuggestion_.prototype, "ProposedParentID", void 0);
97211
+ __decorate([
97212
+ Field({ nullable: true, description: `When non-null, the existing Tag the system believes is the closest match. The reviewer may accept this as a merge target instead of creating a new tag.` }),
97213
+ MaxLength(36),
97214
+ __metadata("design:type", String)
97215
+ ], MJTagSuggestion_.prototype, "BestMatchTagID", void 0);
97216
+ __decorate([
97217
+ Field(() => Float, { nullable: true, description: `Cosine similarity score (0.000-1.000) between the proposed name embedding and BestMatchTagID's embedding, when applicable.` }),
97218
+ __metadata("design:type", Number)
97219
+ ], MJTagSuggestion_.prototype, "BestMatchScore", void 0);
97220
+ __decorate([
97221
+ Field({ description: `Why this suggestion was created. Free-form NVARCHAR for forward compatibility; conventional values include ConstrainedMode, BelowThreshold, ParentFrozen, AutoGrowDisabled, MaxChildrenExceeded, MaxDepthExceeded, BelowMinWeight, RequiresReview, MergeCandidate, LowUsage, WideNode.` }),
97222
+ MaxLength(50),
97223
+ __metadata("design:type", String)
97224
+ ], MJTagSuggestion_.prototype, "Reason", void 0);
97225
+ __decorate([
97226
+ Field({ nullable: true, description: `ContentItem that triggered this suggestion, when item-level. NULL for taxonomy-level suggestions (merge candidates, low-usage alerts).` }),
97227
+ MaxLength(36),
97228
+ __metadata("design:type", String)
97229
+ ], MJTagSuggestion_.prototype, "SourceContentItemID", void 0);
97230
+ __decorate([
97231
+ Field({ nullable: true, description: `ContentSource that triggered this suggestion, when source-attributable.` }),
97232
+ MaxLength(36),
97233
+ __metadata("design:type", String)
97234
+ ], MJTagSuggestion_.prototype, "SourceContentSourceID", void 0);
97235
+ __decorate([
97236
+ Field({ nullable: true, description: `Optional snippet of source text that prompted the suggestion. Useful for reviewer context.` }),
97237
+ __metadata("design:type", String)
97238
+ ], MJTagSuggestion_.prototype, "SourceText", void 0);
97239
+ __decorate([
97240
+ Field({ description: `Pending = awaiting review; Approved = accepted as a new tag; Merged = accepted as a merge into BestMatchTagID; Rejected = dismissed.` }),
97241
+ MaxLength(20),
97242
+ __metadata("design:type", String)
97243
+ ], MJTagSuggestion_.prototype, "Status", void 0);
97244
+ __decorate([
97245
+ Field({ nullable: true, description: `When Approved or Merged, points to the resulting Tag (the new tag for Approved, the merge target for Merged).` }),
97246
+ MaxLength(36),
97247
+ __metadata("design:type", String)
97248
+ ], MJTagSuggestion_.prototype, "ResolvedTagID", void 0);
97249
+ __decorate([
97250
+ Field({ nullable: true, description: `User who took action on this suggestion.` }),
97251
+ MaxLength(36),
97252
+ __metadata("design:type", String)
97253
+ ], MJTagSuggestion_.prototype, "ReviewedByUserID", void 0);
97254
+ __decorate([
97255
+ Field({ nullable: true, description: `Timestamp of the review action.` }),
97256
+ __metadata("design:type", Date)
97257
+ ], MJTagSuggestion_.prototype, "ReviewedAt", void 0);
97258
+ __decorate([
97259
+ Field({ nullable: true, description: `Free-form notes captured at review time. Useful for rejection rationale or merge decisions.` }),
97260
+ __metadata("design:type", String)
97261
+ ], MJTagSuggestion_.prototype, "ReviewerNotes", void 0);
97262
+ __decorate([
97263
+ Field(),
97264
+ __metadata("design:type", Date)
97265
+ ], MJTagSuggestion_.prototype, "_mj__CreatedAt", void 0);
97266
+ __decorate([
97267
+ Field(),
97268
+ __metadata("design:type", Date)
97269
+ ], MJTagSuggestion_.prototype, "_mj__UpdatedAt", void 0);
97270
+ __decorate([
97271
+ Field({ nullable: true }),
97272
+ MaxLength(255),
97273
+ __metadata("design:type", String)
97274
+ ], MJTagSuggestion_.prototype, "ProposedParent", void 0);
97275
+ __decorate([
97276
+ Field({ nullable: true }),
97277
+ MaxLength(255),
97278
+ __metadata("design:type", String)
97279
+ ], MJTagSuggestion_.prototype, "BestMatchTag", void 0);
97280
+ __decorate([
97281
+ Field({ nullable: true }),
97282
+ MaxLength(250),
97283
+ __metadata("design:type", String)
97284
+ ], MJTagSuggestion_.prototype, "SourceContentItem", void 0);
97285
+ __decorate([
97286
+ Field({ nullable: true }),
97287
+ MaxLength(255),
97288
+ __metadata("design:type", String)
97289
+ ], MJTagSuggestion_.prototype, "SourceContentSource", void 0);
97290
+ __decorate([
97291
+ Field({ nullable: true }),
97292
+ MaxLength(255),
97293
+ __metadata("design:type", String)
97294
+ ], MJTagSuggestion_.prototype, "ResolvedTag", void 0);
97295
+ __decorate([
97296
+ Field({ nullable: true }),
97297
+ MaxLength(100),
97298
+ __metadata("design:type", String)
97299
+ ], MJTagSuggestion_.prototype, "ReviewedByUser", void 0);
97300
+ MJTagSuggestion_ = __decorate([
97301
+ ObjectType({ description: `Human-in-the-loop review queue for tag changes the autotagger could not commit autonomously: ambiguous matches, governance-blocked auto-grows, low-usage deprecation candidates, and merge candidates from co-occurrence analysis.` })
97302
+ ], MJTagSuggestion_);
97303
+ export { MJTagSuggestion_ };
97304
+ //****************************************************************************
97305
+ // INPUT TYPE for MJ: Tag Suggestions
97306
+ //****************************************************************************
97307
+ let CreateMJTagSuggestionInput = class CreateMJTagSuggestionInput {
97308
+ };
97309
+ __decorate([
97310
+ Field({ nullable: true }),
97311
+ __metadata("design:type", String)
97312
+ ], CreateMJTagSuggestionInput.prototype, "ID", void 0);
97313
+ __decorate([
97314
+ Field({ nullable: true }),
97315
+ __metadata("design:type", String)
97316
+ ], CreateMJTagSuggestionInput.prototype, "ProposedName", void 0);
97317
+ __decorate([
97318
+ Field({ nullable: true }),
97319
+ __metadata("design:type", String)
97320
+ ], CreateMJTagSuggestionInput.prototype, "ProposedParentID", void 0);
97321
+ __decorate([
97322
+ Field({ nullable: true }),
97323
+ __metadata("design:type", String)
97324
+ ], CreateMJTagSuggestionInput.prototype, "BestMatchTagID", void 0);
97325
+ __decorate([
97326
+ Field(() => Float, { nullable: true }),
97327
+ __metadata("design:type", Number)
97328
+ ], CreateMJTagSuggestionInput.prototype, "BestMatchScore", void 0);
97329
+ __decorate([
97330
+ Field({ nullable: true }),
97331
+ __metadata("design:type", String)
97332
+ ], CreateMJTagSuggestionInput.prototype, "Reason", void 0);
97333
+ __decorate([
97334
+ Field({ nullable: true }),
97335
+ __metadata("design:type", String)
97336
+ ], CreateMJTagSuggestionInput.prototype, "SourceContentItemID", void 0);
97337
+ __decorate([
97338
+ Field({ nullable: true }),
97339
+ __metadata("design:type", String)
97340
+ ], CreateMJTagSuggestionInput.prototype, "SourceContentSourceID", void 0);
97341
+ __decorate([
97342
+ Field({ nullable: true }),
97343
+ __metadata("design:type", String)
97344
+ ], CreateMJTagSuggestionInput.prototype, "SourceText", void 0);
97345
+ __decorate([
97346
+ Field({ nullable: true }),
97347
+ __metadata("design:type", String)
97348
+ ], CreateMJTagSuggestionInput.prototype, "Status", void 0);
97349
+ __decorate([
97350
+ Field({ nullable: true }),
97351
+ __metadata("design:type", String)
97352
+ ], CreateMJTagSuggestionInput.prototype, "ResolvedTagID", void 0);
97353
+ __decorate([
97354
+ Field({ nullable: true }),
97355
+ __metadata("design:type", String)
97356
+ ], CreateMJTagSuggestionInput.prototype, "ReviewedByUserID", void 0);
97357
+ __decorate([
97358
+ Field({ nullable: true }),
97359
+ __metadata("design:type", Date)
97360
+ ], CreateMJTagSuggestionInput.prototype, "ReviewedAt", void 0);
97361
+ __decorate([
97362
+ Field({ nullable: true }),
97363
+ __metadata("design:type", String)
97364
+ ], CreateMJTagSuggestionInput.prototype, "ReviewerNotes", void 0);
97365
+ __decorate([
97366
+ Field(() => RestoreContextInput, { nullable: true }),
97367
+ __metadata("design:type", RestoreContextInput)
97368
+ ], CreateMJTagSuggestionInput.prototype, "RestoreContext___", void 0);
97369
+ CreateMJTagSuggestionInput = __decorate([
97370
+ InputType()
97371
+ ], CreateMJTagSuggestionInput);
97372
+ export { CreateMJTagSuggestionInput };
97373
+ //****************************************************************************
97374
+ // INPUT TYPE for MJ: Tag Suggestions
97375
+ //****************************************************************************
97376
+ let UpdateMJTagSuggestionInput = class UpdateMJTagSuggestionInput {
97377
+ };
97378
+ __decorate([
97379
+ Field(),
97380
+ __metadata("design:type", String)
97381
+ ], UpdateMJTagSuggestionInput.prototype, "ID", void 0);
97382
+ __decorate([
97383
+ Field({ nullable: true }),
97384
+ __metadata("design:type", String)
97385
+ ], UpdateMJTagSuggestionInput.prototype, "ProposedName", void 0);
97386
+ __decorate([
97387
+ Field({ nullable: true }),
97388
+ __metadata("design:type", String)
97389
+ ], UpdateMJTagSuggestionInput.prototype, "ProposedParentID", void 0);
97390
+ __decorate([
97391
+ Field({ nullable: true }),
97392
+ __metadata("design:type", String)
97393
+ ], UpdateMJTagSuggestionInput.prototype, "BestMatchTagID", void 0);
97394
+ __decorate([
97395
+ Field(() => Float, { nullable: true }),
97396
+ __metadata("design:type", Number)
97397
+ ], UpdateMJTagSuggestionInput.prototype, "BestMatchScore", void 0);
97398
+ __decorate([
97399
+ Field({ nullable: true }),
97400
+ __metadata("design:type", String)
97401
+ ], UpdateMJTagSuggestionInput.prototype, "Reason", void 0);
97402
+ __decorate([
97403
+ Field({ nullable: true }),
97404
+ __metadata("design:type", String)
97405
+ ], UpdateMJTagSuggestionInput.prototype, "SourceContentItemID", void 0);
97406
+ __decorate([
97407
+ Field({ nullable: true }),
97408
+ __metadata("design:type", String)
97409
+ ], UpdateMJTagSuggestionInput.prototype, "SourceContentSourceID", void 0);
97410
+ __decorate([
97411
+ Field({ nullable: true }),
97412
+ __metadata("design:type", String)
97413
+ ], UpdateMJTagSuggestionInput.prototype, "SourceText", void 0);
97414
+ __decorate([
97415
+ Field({ nullable: true }),
97416
+ __metadata("design:type", String)
97417
+ ], UpdateMJTagSuggestionInput.prototype, "Status", void 0);
97418
+ __decorate([
97419
+ Field({ nullable: true }),
97420
+ __metadata("design:type", String)
97421
+ ], UpdateMJTagSuggestionInput.prototype, "ResolvedTagID", void 0);
97422
+ __decorate([
97423
+ Field({ nullable: true }),
97424
+ __metadata("design:type", String)
97425
+ ], UpdateMJTagSuggestionInput.prototype, "ReviewedByUserID", void 0);
97426
+ __decorate([
97427
+ Field({ nullable: true }),
97428
+ __metadata("design:type", Date)
97429
+ ], UpdateMJTagSuggestionInput.prototype, "ReviewedAt", void 0);
97430
+ __decorate([
97431
+ Field({ nullable: true }),
97432
+ __metadata("design:type", String)
97433
+ ], UpdateMJTagSuggestionInput.prototype, "ReviewerNotes", void 0);
97434
+ __decorate([
97435
+ Field(() => [KeyValuePairInput], { nullable: true }),
97436
+ __metadata("design:type", Array)
97437
+ ], UpdateMJTagSuggestionInput.prototype, "OldValues___", void 0);
97438
+ __decorate([
97439
+ Field(() => RestoreContextInput, { nullable: true }),
97440
+ __metadata("design:type", RestoreContextInput)
97441
+ ], UpdateMJTagSuggestionInput.prototype, "RestoreContext___", void 0);
97442
+ UpdateMJTagSuggestionInput = __decorate([
97443
+ InputType()
97444
+ ], UpdateMJTagSuggestionInput);
97445
+ export { UpdateMJTagSuggestionInput };
97446
+ //****************************************************************************
97447
+ // RESOLVER for MJ: Tag Suggestions
97448
+ //****************************************************************************
97449
+ let RunMJTagSuggestionViewResult = class RunMJTagSuggestionViewResult {
97450
+ };
97451
+ __decorate([
97452
+ Field(() => [MJTagSuggestion_]),
97453
+ __metadata("design:type", Array)
97454
+ ], RunMJTagSuggestionViewResult.prototype, "Results", void 0);
97455
+ __decorate([
97456
+ Field(() => String, { nullable: true }),
97457
+ __metadata("design:type", String)
97458
+ ], RunMJTagSuggestionViewResult.prototype, "UserViewRunID", void 0);
97459
+ __decorate([
97460
+ Field(() => Int, { nullable: true }),
97461
+ __metadata("design:type", Number)
97462
+ ], RunMJTagSuggestionViewResult.prototype, "RowCount", void 0);
97463
+ __decorate([
97464
+ Field(() => Int, { nullable: true }),
97465
+ __metadata("design:type", Number)
97466
+ ], RunMJTagSuggestionViewResult.prototype, "TotalRowCount", void 0);
97467
+ __decorate([
97468
+ Field(() => Int, { nullable: true }),
97469
+ __metadata("design:type", Number)
97470
+ ], RunMJTagSuggestionViewResult.prototype, "ExecutionTime", void 0);
97471
+ __decorate([
97472
+ Field({ nullable: true }),
97473
+ __metadata("design:type", String)
97474
+ ], RunMJTagSuggestionViewResult.prototype, "ErrorMessage", void 0);
97475
+ __decorate([
97476
+ Field(() => Boolean, { nullable: false }),
97477
+ __metadata("design:type", Boolean)
97478
+ ], RunMJTagSuggestionViewResult.prototype, "Success", void 0);
97479
+ RunMJTagSuggestionViewResult = __decorate([
97480
+ ObjectType()
97481
+ ], RunMJTagSuggestionViewResult);
97482
+ export { RunMJTagSuggestionViewResult };
97483
+ let MJTagSuggestionResolver = class MJTagSuggestionResolver extends ResolverBase {
97484
+ async RunMJTagSuggestionViewByID(input, { providers, userPayload }, pubSub) {
97485
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97486
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
97487
+ }
97488
+ async RunMJTagSuggestionViewByName(input, { providers, userPayload }, pubSub) {
97489
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97490
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
97491
+ }
97492
+ async RunMJTagSuggestionDynamicView(input, { providers, userPayload }, pubSub) {
97493
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97494
+ input.EntityName = 'MJ: Tag Suggestions';
97495
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
97496
+ }
97497
+ async MJTagSuggestion(ID, { userPayload, providers }, pubSub) {
97498
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
97499
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97500
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ID')}='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
97501
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
97502
+ const result = await this.MapFieldNamesToCodeNames('MJ: Tag Suggestions', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
97503
+ return result;
97504
+ }
97505
+ async CreateMJTagSuggestion(input, { providers, userPayload }, pubSub) {
97506
+ const provider = GetReadWriteProvider(providers);
97507
+ return this.CreateRecord('MJ: Tag Suggestions', input, provider, userPayload, pubSub);
97508
+ }
97509
+ async UpdateMJTagSuggestion(input, { providers, userPayload }, pubSub) {
97510
+ const provider = GetReadWriteProvider(providers);
97511
+ return this.UpdateRecord('MJ: Tag Suggestions', input, provider, userPayload, pubSub);
97512
+ }
97513
+ async DeleteMJTagSuggestion(ID, options, { providers, userPayload }, pubSub) {
97514
+ const provider = GetReadWriteProvider(providers);
97515
+ const key = new CompositeKey([{ FieldName: 'ID', Value: ID }]);
97516
+ return this.DeleteRecord('MJ: Tag Suggestions', key, options, provider, userPayload, pubSub);
97517
+ }
97518
+ };
97519
+ __decorate([
97520
+ Query(() => RunMJTagSuggestionViewResult),
97521
+ __param(0, Arg('input', () => RunViewByIDInput)),
97522
+ __param(1, Ctx()),
97523
+ __param(2, PubSub()),
97524
+ __metadata("design:type", Function),
97525
+ __metadata("design:paramtypes", [RunViewByIDInput, Object, PubSubEngine]),
97526
+ __metadata("design:returntype", Promise)
97527
+ ], MJTagSuggestionResolver.prototype, "RunMJTagSuggestionViewByID", null);
97528
+ __decorate([
97529
+ Query(() => RunMJTagSuggestionViewResult),
97530
+ __param(0, Arg('input', () => RunViewByNameInput)),
97531
+ __param(1, Ctx()),
97532
+ __param(2, PubSub()),
97533
+ __metadata("design:type", Function),
97534
+ __metadata("design:paramtypes", [RunViewByNameInput, Object, PubSubEngine]),
97535
+ __metadata("design:returntype", Promise)
97536
+ ], MJTagSuggestionResolver.prototype, "RunMJTagSuggestionViewByName", null);
97537
+ __decorate([
97538
+ Query(() => RunMJTagSuggestionViewResult),
97539
+ __param(0, Arg('input', () => RunDynamicViewInput)),
97540
+ __param(1, Ctx()),
97541
+ __param(2, PubSub()),
97542
+ __metadata("design:type", Function),
97543
+ __metadata("design:paramtypes", [RunDynamicViewInput, Object, PubSubEngine]),
97544
+ __metadata("design:returntype", Promise)
97545
+ ], MJTagSuggestionResolver.prototype, "RunMJTagSuggestionDynamicView", null);
97546
+ __decorate([
97547
+ Query(() => MJTagSuggestion_, { nullable: true }),
97548
+ __param(0, Arg('ID', () => String)),
97549
+ __param(1, Ctx()),
97550
+ __param(2, PubSub()),
97551
+ __metadata("design:type", Function),
97552
+ __metadata("design:paramtypes", [String, Object, PubSubEngine]),
97553
+ __metadata("design:returntype", Promise)
97554
+ ], MJTagSuggestionResolver.prototype, "MJTagSuggestion", null);
97555
+ __decorate([
97556
+ Mutation(() => MJTagSuggestion_),
97557
+ __param(0, Arg('input', () => CreateMJTagSuggestionInput)),
97558
+ __param(1, Ctx()),
97559
+ __param(2, PubSub()),
97560
+ __metadata("design:type", Function),
97561
+ __metadata("design:paramtypes", [CreateMJTagSuggestionInput, Object, PubSubEngine]),
97562
+ __metadata("design:returntype", Promise)
97563
+ ], MJTagSuggestionResolver.prototype, "CreateMJTagSuggestion", null);
97564
+ __decorate([
97565
+ Mutation(() => MJTagSuggestion_),
97566
+ __param(0, Arg('input', () => UpdateMJTagSuggestionInput)),
97567
+ __param(1, Ctx()),
97568
+ __param(2, PubSub()),
97569
+ __metadata("design:type", Function),
97570
+ __metadata("design:paramtypes", [UpdateMJTagSuggestionInput, Object, PubSubEngine]),
97571
+ __metadata("design:returntype", Promise)
97572
+ ], MJTagSuggestionResolver.prototype, "UpdateMJTagSuggestion", null);
97573
+ __decorate([
97574
+ Mutation(() => MJTagSuggestion_),
97575
+ __param(0, Arg('ID', () => String)),
97576
+ __param(1, Arg('options___', () => DeleteOptionsInput)),
97577
+ __param(2, Ctx()),
97578
+ __param(3, PubSub()),
97579
+ __metadata("design:type", Function),
97580
+ __metadata("design:paramtypes", [String, DeleteOptionsInput, Object, PubSubEngine]),
97581
+ __metadata("design:returntype", Promise)
97582
+ ], MJTagSuggestionResolver.prototype, "DeleteMJTagSuggestion", null);
97583
+ MJTagSuggestionResolver = __decorate([
97584
+ Resolver(MJTagSuggestion_)
97585
+ ], MJTagSuggestionResolver);
97586
+ export { MJTagSuggestionResolver };
97587
+ //****************************************************************************
97588
+ // ENTITY CLASS for MJ: Tag Synonyms
97589
+ //****************************************************************************
97590
+ let MJTagSynonym_ = class MJTagSynonym_ {
97591
+ };
97592
+ __decorate([
97593
+ Field(),
97594
+ MaxLength(36),
97595
+ __metadata("design:type", String)
97596
+ ], MJTagSynonym_.prototype, "ID", void 0);
97597
+ __decorate([
97598
+ Field({ description: `The Tag this synonym maps to.` }),
97599
+ MaxLength(36),
97600
+ __metadata("design:type", String)
97601
+ ], MJTagSynonym_.prototype, "TagID", void 0);
97602
+ __decorate([
97603
+ Field({ description: `The alternate name that should resolve to the Tag. Case-insensitive; uniqueness is enforced per-Tag via UQ_TagSynonym_Tag_Synonym.` }),
97604
+ MaxLength(255),
97605
+ __metadata("design:type", String)
97606
+ ], MJTagSynonym_.prototype, "Synonym", void 0);
97607
+ __decorate([
97608
+ Field({ description: `How this synonym was introduced. Manual = admin-authored; LLM = suggested by an LLM run; Imported = bulk-loaded; Merged = inherited from a tag merged into this one.` }),
97609
+ MaxLength(20),
97610
+ __metadata("design:type", String)
97611
+ ], MJTagSynonym_.prototype, "Source", void 0);
97612
+ __decorate([
97613
+ Field(),
97614
+ __metadata("design:type", Date)
97615
+ ], MJTagSynonym_.prototype, "_mj__CreatedAt", void 0);
97616
+ __decorate([
97617
+ Field(),
97618
+ __metadata("design:type", Date)
97619
+ ], MJTagSynonym_.prototype, "_mj__UpdatedAt", void 0);
97620
+ __decorate([
97621
+ Field(),
97622
+ MaxLength(255),
97623
+ __metadata("design:type", String)
97624
+ ], MJTagSynonym_.prototype, "Tag", void 0);
97625
+ MJTagSynonym_ = __decorate([
97626
+ ObjectType({ description: `Alternate names that should resolve to a Tag during autotagging. Consulted before exact/fuzzy/semantic match tiers in TagEngine.ResolveTag.` })
97627
+ ], MJTagSynonym_);
97628
+ export { MJTagSynonym_ };
97629
+ //****************************************************************************
97630
+ // INPUT TYPE for MJ: Tag Synonyms
97631
+ //****************************************************************************
97632
+ let CreateMJTagSynonymInput = class CreateMJTagSynonymInput {
97633
+ };
97634
+ __decorate([
97635
+ Field({ nullable: true }),
97636
+ __metadata("design:type", String)
97637
+ ], CreateMJTagSynonymInput.prototype, "ID", void 0);
97638
+ __decorate([
97639
+ Field({ nullable: true }),
97640
+ __metadata("design:type", String)
97641
+ ], CreateMJTagSynonymInput.prototype, "TagID", void 0);
97642
+ __decorate([
97643
+ Field({ nullable: true }),
97644
+ __metadata("design:type", String)
97645
+ ], CreateMJTagSynonymInput.prototype, "Synonym", void 0);
97646
+ __decorate([
97647
+ Field({ nullable: true }),
97648
+ __metadata("design:type", String)
97649
+ ], CreateMJTagSynonymInput.prototype, "Source", void 0);
97650
+ __decorate([
97651
+ Field(() => RestoreContextInput, { nullable: true }),
97652
+ __metadata("design:type", RestoreContextInput)
97653
+ ], CreateMJTagSynonymInput.prototype, "RestoreContext___", void 0);
97654
+ CreateMJTagSynonymInput = __decorate([
97655
+ InputType()
97656
+ ], CreateMJTagSynonymInput);
97657
+ export { CreateMJTagSynonymInput };
97658
+ //****************************************************************************
97659
+ // INPUT TYPE for MJ: Tag Synonyms
97660
+ //****************************************************************************
97661
+ let UpdateMJTagSynonymInput = class UpdateMJTagSynonymInput {
97662
+ };
97663
+ __decorate([
97664
+ Field(),
97665
+ __metadata("design:type", String)
97666
+ ], UpdateMJTagSynonymInput.prototype, "ID", void 0);
97667
+ __decorate([
97668
+ Field({ nullable: true }),
97669
+ __metadata("design:type", String)
97670
+ ], UpdateMJTagSynonymInput.prototype, "TagID", void 0);
97671
+ __decorate([
97672
+ Field({ nullable: true }),
97673
+ __metadata("design:type", String)
97674
+ ], UpdateMJTagSynonymInput.prototype, "Synonym", void 0);
97675
+ __decorate([
97676
+ Field({ nullable: true }),
97677
+ __metadata("design:type", String)
97678
+ ], UpdateMJTagSynonymInput.prototype, "Source", void 0);
97679
+ __decorate([
97680
+ Field(() => [KeyValuePairInput], { nullable: true }),
97681
+ __metadata("design:type", Array)
97682
+ ], UpdateMJTagSynonymInput.prototype, "OldValues___", void 0);
97683
+ __decorate([
97684
+ Field(() => RestoreContextInput, { nullable: true }),
97685
+ __metadata("design:type", RestoreContextInput)
97686
+ ], UpdateMJTagSynonymInput.prototype, "RestoreContext___", void 0);
97687
+ UpdateMJTagSynonymInput = __decorate([
97688
+ InputType()
97689
+ ], UpdateMJTagSynonymInput);
97690
+ export { UpdateMJTagSynonymInput };
97691
+ //****************************************************************************
97692
+ // RESOLVER for MJ: Tag Synonyms
97693
+ //****************************************************************************
97694
+ let RunMJTagSynonymViewResult = class RunMJTagSynonymViewResult {
97695
+ };
97696
+ __decorate([
97697
+ Field(() => [MJTagSynonym_]),
97698
+ __metadata("design:type", Array)
97699
+ ], RunMJTagSynonymViewResult.prototype, "Results", void 0);
97700
+ __decorate([
97701
+ Field(() => String, { nullable: true }),
97702
+ __metadata("design:type", String)
97703
+ ], RunMJTagSynonymViewResult.prototype, "UserViewRunID", void 0);
97704
+ __decorate([
97705
+ Field(() => Int, { nullable: true }),
97706
+ __metadata("design:type", Number)
97707
+ ], RunMJTagSynonymViewResult.prototype, "RowCount", void 0);
97708
+ __decorate([
97709
+ Field(() => Int, { nullable: true }),
97710
+ __metadata("design:type", Number)
97711
+ ], RunMJTagSynonymViewResult.prototype, "TotalRowCount", void 0);
97712
+ __decorate([
97713
+ Field(() => Int, { nullable: true }),
97714
+ __metadata("design:type", Number)
97715
+ ], RunMJTagSynonymViewResult.prototype, "ExecutionTime", void 0);
97716
+ __decorate([
97717
+ Field({ nullable: true }),
97718
+ __metadata("design:type", String)
97719
+ ], RunMJTagSynonymViewResult.prototype, "ErrorMessage", void 0);
97720
+ __decorate([
97721
+ Field(() => Boolean, { nullable: false }),
97722
+ __metadata("design:type", Boolean)
97723
+ ], RunMJTagSynonymViewResult.prototype, "Success", void 0);
97724
+ RunMJTagSynonymViewResult = __decorate([
97725
+ ObjectType()
97726
+ ], RunMJTagSynonymViewResult);
97727
+ export { RunMJTagSynonymViewResult };
97728
+ let MJTagSynonymResolver = class MJTagSynonymResolver extends ResolverBase {
97729
+ async RunMJTagSynonymViewByID(input, { providers, userPayload }, pubSub) {
97730
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97731
+ return super.RunViewByIDGeneric(input, provider, userPayload, pubSub);
97732
+ }
97733
+ async RunMJTagSynonymViewByName(input, { providers, userPayload }, pubSub) {
97734
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97735
+ return super.RunViewByNameGeneric(input, provider, userPayload, pubSub);
97736
+ }
97737
+ async RunMJTagSynonymDynamicView(input, { providers, userPayload }, pubSub) {
97738
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97739
+ input.EntityName = 'MJ: Tag Synonyms';
97740
+ return super.RunDynamicViewGeneric(input, provider, userPayload, pubSub);
97741
+ }
97742
+ async MJTagSynonym(ID, { userPayload, providers }, pubSub) {
97743
+ this.CheckUserReadPermissions('MJ: Tag Synonyms', userPayload);
97744
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97745
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSynonyms')} WHERE ${provider.QuoteIdentifier('ID')}='${ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Synonyms', userPayload, EntityPermissionType.Read, 'AND');
97746
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
97747
+ const result = await this.MapFieldNamesToCodeNames('MJ: Tag Synonyms', rows && rows.length > 0 ? rows[0] : null, this.GetUserFromPayload(userPayload));
97748
+ return result;
97749
+ }
97750
+ async CreateMJTagSynonym(input, { providers, userPayload }, pubSub) {
97751
+ const provider = GetReadWriteProvider(providers);
97752
+ return this.CreateRecord('MJ: Tag Synonyms', input, provider, userPayload, pubSub);
97753
+ }
97754
+ async UpdateMJTagSynonym(input, { providers, userPayload }, pubSub) {
97755
+ const provider = GetReadWriteProvider(providers);
97756
+ return this.UpdateRecord('MJ: Tag Synonyms', input, provider, userPayload, pubSub);
97757
+ }
97758
+ async DeleteMJTagSynonym(ID, options, { providers, userPayload }, pubSub) {
97759
+ const provider = GetReadWriteProvider(providers);
97760
+ const key = new CompositeKey([{ FieldName: 'ID', Value: ID }]);
97761
+ return this.DeleteRecord('MJ: Tag Synonyms', key, options, provider, userPayload, pubSub);
97762
+ }
97763
+ };
97764
+ __decorate([
97765
+ Query(() => RunMJTagSynonymViewResult),
97766
+ __param(0, Arg('input', () => RunViewByIDInput)),
97767
+ __param(1, Ctx()),
97768
+ __param(2, PubSub()),
97769
+ __metadata("design:type", Function),
97770
+ __metadata("design:paramtypes", [RunViewByIDInput, Object, PubSubEngine]),
97771
+ __metadata("design:returntype", Promise)
97772
+ ], MJTagSynonymResolver.prototype, "RunMJTagSynonymViewByID", null);
97773
+ __decorate([
97774
+ Query(() => RunMJTagSynonymViewResult),
97775
+ __param(0, Arg('input', () => RunViewByNameInput)),
97776
+ __param(1, Ctx()),
97777
+ __param(2, PubSub()),
97778
+ __metadata("design:type", Function),
97779
+ __metadata("design:paramtypes", [RunViewByNameInput, Object, PubSubEngine]),
97780
+ __metadata("design:returntype", Promise)
97781
+ ], MJTagSynonymResolver.prototype, "RunMJTagSynonymViewByName", null);
97782
+ __decorate([
97783
+ Query(() => RunMJTagSynonymViewResult),
97784
+ __param(0, Arg('input', () => RunDynamicViewInput)),
97785
+ __param(1, Ctx()),
97786
+ __param(2, PubSub()),
97787
+ __metadata("design:type", Function),
97788
+ __metadata("design:paramtypes", [RunDynamicViewInput, Object, PubSubEngine]),
97789
+ __metadata("design:returntype", Promise)
97790
+ ], MJTagSynonymResolver.prototype, "RunMJTagSynonymDynamicView", null);
97791
+ __decorate([
97792
+ Query(() => MJTagSynonym_, { nullable: true }),
97793
+ __param(0, Arg('ID', () => String)),
97794
+ __param(1, Ctx()),
97795
+ __param(2, PubSub()),
97796
+ __metadata("design:type", Function),
97797
+ __metadata("design:paramtypes", [String, Object, PubSubEngine]),
97798
+ __metadata("design:returntype", Promise)
97799
+ ], MJTagSynonymResolver.prototype, "MJTagSynonym", null);
97800
+ __decorate([
97801
+ Mutation(() => MJTagSynonym_),
97802
+ __param(0, Arg('input', () => CreateMJTagSynonymInput)),
97803
+ __param(1, Ctx()),
97804
+ __param(2, PubSub()),
97805
+ __metadata("design:type", Function),
97806
+ __metadata("design:paramtypes", [CreateMJTagSynonymInput, Object, PubSubEngine]),
97807
+ __metadata("design:returntype", Promise)
97808
+ ], MJTagSynonymResolver.prototype, "CreateMJTagSynonym", null);
97809
+ __decorate([
97810
+ Mutation(() => MJTagSynonym_),
97811
+ __param(0, Arg('input', () => UpdateMJTagSynonymInput)),
97812
+ __param(1, Ctx()),
97813
+ __param(2, PubSub()),
97814
+ __metadata("design:type", Function),
97815
+ __metadata("design:paramtypes", [UpdateMJTagSynonymInput, Object, PubSubEngine]),
97816
+ __metadata("design:returntype", Promise)
97817
+ ], MJTagSynonymResolver.prototype, "UpdateMJTagSynonym", null);
97818
+ __decorate([
97819
+ Mutation(() => MJTagSynonym_),
97820
+ __param(0, Arg('ID', () => String)),
97821
+ __param(1, Arg('options___', () => DeleteOptionsInput)),
97822
+ __param(2, Ctx()),
97823
+ __param(3, PubSub()),
97824
+ __metadata("design:type", Function),
97825
+ __metadata("design:paramtypes", [String, DeleteOptionsInput, Object, PubSubEngine]),
97826
+ __metadata("design:returntype", Promise)
97827
+ ], MJTagSynonymResolver.prototype, "DeleteMJTagSynonym", null);
97828
+ MJTagSynonymResolver = __decorate([
97829
+ Resolver(MJTagSynonym_)
97830
+ ], MJTagSynonymResolver);
97831
+ export { MJTagSynonymResolver };
97832
+ //****************************************************************************
96858
97833
  // ENTITY CLASS for MJ: Tagged Items
96859
97834
  //****************************************************************************
96860
97835
  let MJTaggedItem_ = class MJTaggedItem_ {
@@ -97163,6 +98138,43 @@ __decorate([
97163
98138
  MaxLength(36),
97164
98139
  __metadata("design:type", String)
97165
98140
  ], MJTag_.prototype, "MergedIntoTagID", void 0);
98141
+ __decorate([
98142
+ Field(() => Boolean, { description: `When 1, the tag is visible to every tenant/scope. When 0, the tag is only visible to the (Entity, Record) pairs listed in TagScope. Cannot be set together with TagScope rows — enforced in entity Save() override.` }),
98143
+ __metadata("design:type", Boolean)
98144
+ ], MJTag_.prototype, "IsGlobal", void 0);
98145
+ __decorate([
98146
+ Field(() => Boolean, { description: `When 1, the autotagger may auto-create new child tags under this node when running in AutoGrow or FreeFlow mode. When 0, new children must come through the TagSuggestion review queue.` }),
98147
+ __metadata("design:type", Boolean)
98148
+ ], MJTag_.prototype, "AllowAutoGrow", void 0);
98149
+ __decorate([
98150
+ Field(() => Boolean, { description: `When 1, this subtree is locked: no new children may be created under this node or any descendant, regardless of taxonomy mode. Existing children remain editable.` }),
98151
+ __metadata("design:type", Boolean)
98152
+ ], MJTag_.prototype, "IsFrozen", void 0);
98153
+ __decorate([
98154
+ Field(() => Int, { nullable: true, description: `Optional cap on the number of direct children allowed under this tag. NULL = unlimited. Auto-grow is blocked once this cap is reached and routed to the TagSuggestion queue.` }),
98155
+ __metadata("design:type", Number)
98156
+ ], MJTag_.prototype, "MaxChildren", void 0);
98157
+ __decorate([
98158
+ Field(() => Int, { nullable: true, description: `Optional cap on the depth of the subtree rooted at this tag. NULL = unlimited. 0 = leaf-only (no children at all). Enforced via ancestor walk during auto-grow.` }),
98159
+ __metadata("design:type", Number)
98160
+ ], MJTag_.prototype, "MaxDescendantDepth", void 0);
98161
+ __decorate([
98162
+ Field(() => Float, { nullable: true, description: `Optional minimum classifier confidence (0.00-1.00) required for this tag to be applied. Items below this floor are routed to the TagSuggestion queue instead of being tagged.` }),
98163
+ __metadata("design:type", Number)
98164
+ ], MJTag_.prototype, "MinWeight", void 0);
98165
+ __decorate([
98166
+ Field(() => Boolean, { description: `When 1, every classifier-applied use of this tag is routed to the TagSuggestion queue for human approval before being persisted as a ContentItemTag → TaggedItem.` }),
98167
+ __metadata("design:type", Boolean)
98168
+ ], MJTag_.prototype, "RequiresReview", void 0);
98169
+ __decorate([
98170
+ Field({ nullable: true, description: `JSON-encoded numeric vector representing the tag's embedding under the model identified by EmbeddingModelID. Refreshed automatically on Save() when Name or Description changes. Used to seed the in-memory tag vector cache without a cold-start LLM round-trip.` }),
98171
+ __metadata("design:type", String)
98172
+ ], MJTag_.prototype, "EmbeddingVector", void 0);
98173
+ __decorate([
98174
+ Field({ nullable: true, description: `AI model whose embedding produced EmbeddingVector. When the configured tag-embedding model differs from this value, the cached vector is treated as stale and recomputed.` }),
98175
+ MaxLength(36),
98176
+ __metadata("design:type", String)
98177
+ ], MJTag_.prototype, "EmbeddingModelID", void 0);
97166
98178
  __decorate([
97167
98179
  Field({ nullable: true }),
97168
98180
  MaxLength(255),
@@ -97173,6 +98185,11 @@ __decorate([
97173
98185
  MaxLength(255),
97174
98186
  __metadata("design:type", String)
97175
98187
  ], MJTag_.prototype, "MergedIntoTag", void 0);
98188
+ __decorate([
98189
+ Field({ nullable: true }),
98190
+ MaxLength(50),
98191
+ __metadata("design:type", String)
98192
+ ], MJTag_.prototype, "EmbeddingModel", void 0);
97176
98193
  __decorate([
97177
98194
  Field({ nullable: true }),
97178
98195
  MaxLength(36),
@@ -97191,14 +98208,18 @@ __decorate([
97191
98208
  Field(() => [MJTaggedItem_]),
97192
98209
  __metadata("design:type", Array)
97193
98210
  ], MJTag_.prototype, "MJTaggedItems_TagIDArray", void 0);
98211
+ __decorate([
98212
+ Field(() => [MJContentItemTag_]),
98213
+ __metadata("design:type", Array)
98214
+ ], MJTag_.prototype, "MJContentItemTags_TagIDArray", void 0);
97194
98215
  __decorate([
97195
98216
  Field(() => [MJTagCoOccurrence_]),
97196
98217
  __metadata("design:type", Array)
97197
98218
  ], MJTag_.prototype, "MJTagCoOccurrences_TagBIDArray", void 0);
97198
98219
  __decorate([
97199
- Field(() => [MJContentItemTag_]),
98220
+ Field(() => [MJTagSynonym_]),
97200
98221
  __metadata("design:type", Array)
97201
- ], MJTag_.prototype, "MJContentItemTags_TagIDArray", void 0);
98222
+ ], MJTag_.prototype, "MJTagSynonyms_TagIDArray", void 0);
97202
98223
  __decorate([
97203
98224
  Field(() => [MJTagAuditLog_]),
97204
98225
  __metadata("design:type", Array)
@@ -97208,13 +98229,29 @@ __decorate([
97208
98229
  __metadata("design:type", Array)
97209
98230
  ], MJTag_.prototype, "MJTagCoOccurrences_TagAIDArray", void 0);
97210
98231
  __decorate([
97211
- Field(() => [MJTag_]),
98232
+ Field(() => [MJTagSuggestion_]),
97212
98233
  __metadata("design:type", Array)
97213
- ], MJTag_.prototype, "MJTags_MergedIntoTagIDArray", void 0);
98234
+ ], MJTag_.prototype, "MJTagSuggestions_ProposedParentIDArray", void 0);
98235
+ __decorate([
98236
+ Field(() => [MJTagScope_]),
98237
+ __metadata("design:type", Array)
98238
+ ], MJTag_.prototype, "MJTagScopes_TagIDArray", void 0);
97214
98239
  __decorate([
97215
98240
  Field(() => [MJTagAuditLog_]),
97216
98241
  __metadata("design:type", Array)
97217
98242
  ], MJTag_.prototype, "MJTagAuditLogs_TagIDArray", void 0);
98243
+ __decorate([
98244
+ Field(() => [MJTag_]),
98245
+ __metadata("design:type", Array)
98246
+ ], MJTag_.prototype, "MJTags_MergedIntoTagIDArray", void 0);
98247
+ __decorate([
98248
+ Field(() => [MJTagSuggestion_]),
98249
+ __metadata("design:type", Array)
98250
+ ], MJTag_.prototype, "MJTagSuggestions_BestMatchTagIDArray", void 0);
98251
+ __decorate([
98252
+ Field(() => [MJTagSuggestion_]),
98253
+ __metadata("design:type", Array)
98254
+ ], MJTag_.prototype, "MJTagSuggestions_ResolvedTagIDArray", void 0);
97218
98255
  MJTag_ = __decorate([
97219
98256
  ObjectType({ description: `Tags are used to arbitrarily associate any record in any entity with addtional information.` })
97220
98257
  ], MJTag_);
@@ -97252,6 +98289,42 @@ __decorate([
97252
98289
  Field({ nullable: true }),
97253
98290
  __metadata("design:type", String)
97254
98291
  ], CreateMJTagInput.prototype, "MergedIntoTagID", void 0);
98292
+ __decorate([
98293
+ Field(() => Boolean, { nullable: true }),
98294
+ __metadata("design:type", Boolean)
98295
+ ], CreateMJTagInput.prototype, "IsGlobal", void 0);
98296
+ __decorate([
98297
+ Field(() => Boolean, { nullable: true }),
98298
+ __metadata("design:type", Boolean)
98299
+ ], CreateMJTagInput.prototype, "AllowAutoGrow", void 0);
98300
+ __decorate([
98301
+ Field(() => Boolean, { nullable: true }),
98302
+ __metadata("design:type", Boolean)
98303
+ ], CreateMJTagInput.prototype, "IsFrozen", void 0);
98304
+ __decorate([
98305
+ Field(() => Int, { nullable: true }),
98306
+ __metadata("design:type", Number)
98307
+ ], CreateMJTagInput.prototype, "MaxChildren", void 0);
98308
+ __decorate([
98309
+ Field(() => Int, { nullable: true }),
98310
+ __metadata("design:type", Number)
98311
+ ], CreateMJTagInput.prototype, "MaxDescendantDepth", void 0);
98312
+ __decorate([
98313
+ Field(() => Float, { nullable: true }),
98314
+ __metadata("design:type", Number)
98315
+ ], CreateMJTagInput.prototype, "MinWeight", void 0);
98316
+ __decorate([
98317
+ Field(() => Boolean, { nullable: true }),
98318
+ __metadata("design:type", Boolean)
98319
+ ], CreateMJTagInput.prototype, "RequiresReview", void 0);
98320
+ __decorate([
98321
+ Field({ nullable: true }),
98322
+ __metadata("design:type", String)
98323
+ ], CreateMJTagInput.prototype, "EmbeddingVector", void 0);
98324
+ __decorate([
98325
+ Field({ nullable: true }),
98326
+ __metadata("design:type", String)
98327
+ ], CreateMJTagInput.prototype, "EmbeddingModelID", void 0);
97255
98328
  __decorate([
97256
98329
  Field(() => RestoreContextInput, { nullable: true }),
97257
98330
  __metadata("design:type", RestoreContextInput)
@@ -97293,6 +98366,42 @@ __decorate([
97293
98366
  Field({ nullable: true }),
97294
98367
  __metadata("design:type", String)
97295
98368
  ], UpdateMJTagInput.prototype, "MergedIntoTagID", void 0);
98369
+ __decorate([
98370
+ Field(() => Boolean, { nullable: true }),
98371
+ __metadata("design:type", Boolean)
98372
+ ], UpdateMJTagInput.prototype, "IsGlobal", void 0);
98373
+ __decorate([
98374
+ Field(() => Boolean, { nullable: true }),
98375
+ __metadata("design:type", Boolean)
98376
+ ], UpdateMJTagInput.prototype, "AllowAutoGrow", void 0);
98377
+ __decorate([
98378
+ Field(() => Boolean, { nullable: true }),
98379
+ __metadata("design:type", Boolean)
98380
+ ], UpdateMJTagInput.prototype, "IsFrozen", void 0);
98381
+ __decorate([
98382
+ Field(() => Int, { nullable: true }),
98383
+ __metadata("design:type", Number)
98384
+ ], UpdateMJTagInput.prototype, "MaxChildren", void 0);
98385
+ __decorate([
98386
+ Field(() => Int, { nullable: true }),
98387
+ __metadata("design:type", Number)
98388
+ ], UpdateMJTagInput.prototype, "MaxDescendantDepth", void 0);
98389
+ __decorate([
98390
+ Field(() => Float, { nullable: true }),
98391
+ __metadata("design:type", Number)
98392
+ ], UpdateMJTagInput.prototype, "MinWeight", void 0);
98393
+ __decorate([
98394
+ Field(() => Boolean, { nullable: true }),
98395
+ __metadata("design:type", Boolean)
98396
+ ], UpdateMJTagInput.prototype, "RequiresReview", void 0);
98397
+ __decorate([
98398
+ Field({ nullable: true }),
98399
+ __metadata("design:type", String)
98400
+ ], UpdateMJTagInput.prototype, "EmbeddingVector", void 0);
98401
+ __decorate([
98402
+ Field({ nullable: true }),
98403
+ __metadata("design:type", String)
98404
+ ], UpdateMJTagInput.prototype, "EmbeddingModelID", void 0);
97296
98405
  __decorate([
97297
98406
  Field(() => [KeyValuePairInput], { nullable: true }),
97298
98407
  __metadata("design:type", Array)
@@ -97380,6 +98489,14 @@ let MJTagResolver = class MJTagResolver extends ResolverBase {
97380
98489
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tagged Items', rows, this.GetUserFromPayload(userPayload));
97381
98490
  return result;
97382
98491
  }
98492
+ async MJContentItemTags_TagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98493
+ this.CheckUserReadPermissions('MJ: Content Item Tags', userPayload);
98494
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
98495
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwContentItemTags')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Content Item Tags', userPayload, EntityPermissionType.Read, 'AND');
98496
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
98497
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Item Tags', rows, this.GetUserFromPayload(userPayload));
98498
+ return result;
98499
+ }
97383
98500
  async MJTagCoOccurrences_TagBIDArray(mjtag_, { userPayload, providers }, pubSub) {
97384
98501
  this.CheckUserReadPermissions('MJ: Tag Co Occurrences', userPayload);
97385
98502
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -97388,12 +98505,12 @@ let MJTagResolver = class MJTagResolver extends ResolverBase {
97388
98505
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Co Occurrences', rows, this.GetUserFromPayload(userPayload));
97389
98506
  return result;
97390
98507
  }
97391
- async MJContentItemTags_TagIDArray(mjtag_, { userPayload, providers }, pubSub) {
97392
- this.CheckUserReadPermissions('MJ: Content Item Tags', userPayload);
98508
+ async MJTagSynonyms_TagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98509
+ this.CheckUserReadPermissions('MJ: Tag Synonyms', userPayload);
97393
98510
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97394
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwContentItemTags')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Content Item Tags', userPayload, EntityPermissionType.Read, 'AND');
98511
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSynonyms')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Synonyms', userPayload, EntityPermissionType.Read, 'AND');
97395
98512
  const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
97396
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Content Item Tags', rows, this.GetUserFromPayload(userPayload));
98513
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Synonyms', rows, this.GetUserFromPayload(userPayload));
97397
98514
  return result;
97398
98515
  }
97399
98516
  async MJTagAuditLogs_RelatedTagIDArray(mjtag_, { userPayload, providers }, pubSub) {
@@ -97412,12 +98529,20 @@ let MJTagResolver = class MJTagResolver extends ResolverBase {
97412
98529
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Co Occurrences', rows, this.GetUserFromPayload(userPayload));
97413
98530
  return result;
97414
98531
  }
97415
- async MJTags_MergedIntoTagIDArray(mjtag_, { userPayload, providers }, pubSub) {
97416
- this.CheckUserReadPermissions('MJ: Tags', userPayload);
98532
+ async MJTagSuggestions_ProposedParentIDArray(mjtag_, { userPayload, providers }, pubSub) {
98533
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
97417
98534
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
97418
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTags')} WHERE ${provider.QuoteIdentifier('MergedIntoTagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tags', userPayload, EntityPermissionType.Read, 'AND');
98535
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ProposedParentID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
97419
98536
  const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
97420
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tags', rows, this.GetUserFromPayload(userPayload));
98537
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
98538
+ return result;
98539
+ }
98540
+ async MJTagScopes_TagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98541
+ this.CheckUserReadPermissions('MJ: Tag Scopes', userPayload);
98542
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
98543
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagScopes')} WHERE ${provider.QuoteIdentifier('TagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Scopes', userPayload, EntityPermissionType.Read, 'AND');
98544
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
98545
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Scopes', rows, this.GetUserFromPayload(userPayload));
97421
98546
  return result;
97422
98547
  }
97423
98548
  async MJTagAuditLogs_TagIDArray(mjtag_, { userPayload, providers }, pubSub) {
@@ -97428,6 +98553,30 @@ let MJTagResolver = class MJTagResolver extends ResolverBase {
97428
98553
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Audit Logs', rows, this.GetUserFromPayload(userPayload));
97429
98554
  return result;
97430
98555
  }
98556
+ async MJTags_MergedIntoTagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98557
+ this.CheckUserReadPermissions('MJ: Tags', userPayload);
98558
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
98559
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTags')} WHERE ${provider.QuoteIdentifier('MergedIntoTagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tags', userPayload, EntityPermissionType.Read, 'AND');
98560
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
98561
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tags', rows, this.GetUserFromPayload(userPayload));
98562
+ return result;
98563
+ }
98564
+ async MJTagSuggestions_BestMatchTagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98565
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
98566
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
98567
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('BestMatchTagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
98568
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
98569
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
98570
+ return result;
98571
+ }
98572
+ async MJTagSuggestions_ResolvedTagIDArray(mjtag_, { userPayload, providers }, pubSub) {
98573
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
98574
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
98575
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ResolvedTagID')}='${mjtag_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
98576
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
98577
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
98578
+ return result;
98579
+ }
97431
98580
  async CreateMJTag(input, { providers, userPayload }, pubSub) {
97432
98581
  const provider = GetReadWriteProvider(providers);
97433
98582
  return this.CreateRecord('MJ: Tags', input, provider, userPayload, pubSub);
@@ -97496,6 +98645,15 @@ __decorate([
97496
98645
  __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
97497
98646
  __metadata("design:returntype", Promise)
97498
98647
  ], MJTagResolver.prototype, "MJTaggedItems_TagIDArray", null);
98648
+ __decorate([
98649
+ FieldResolver(() => [MJContentItemTag_]),
98650
+ __param(0, Root()),
98651
+ __param(1, Ctx()),
98652
+ __param(2, PubSub()),
98653
+ __metadata("design:type", Function),
98654
+ __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
98655
+ __metadata("design:returntype", Promise)
98656
+ ], MJTagResolver.prototype, "MJContentItemTags_TagIDArray", null);
97499
98657
  __decorate([
97500
98658
  FieldResolver(() => [MJTagCoOccurrence_]),
97501
98659
  __param(0, Root()),
@@ -97506,14 +98664,14 @@ __decorate([
97506
98664
  __metadata("design:returntype", Promise)
97507
98665
  ], MJTagResolver.prototype, "MJTagCoOccurrences_TagBIDArray", null);
97508
98666
  __decorate([
97509
- FieldResolver(() => [MJContentItemTag_]),
98667
+ FieldResolver(() => [MJTagSynonym_]),
97510
98668
  __param(0, Root()),
97511
98669
  __param(1, Ctx()),
97512
98670
  __param(2, PubSub()),
97513
98671
  __metadata("design:type", Function),
97514
98672
  __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
97515
98673
  __metadata("design:returntype", Promise)
97516
- ], MJTagResolver.prototype, "MJContentItemTags_TagIDArray", null);
98674
+ ], MJTagResolver.prototype, "MJTagSynonyms_TagIDArray", null);
97517
98675
  __decorate([
97518
98676
  FieldResolver(() => [MJTagAuditLog_]),
97519
98677
  __param(0, Root()),
@@ -97533,14 +98691,23 @@ __decorate([
97533
98691
  __metadata("design:returntype", Promise)
97534
98692
  ], MJTagResolver.prototype, "MJTagCoOccurrences_TagAIDArray", null);
97535
98693
  __decorate([
97536
- FieldResolver(() => [MJTag_]),
98694
+ FieldResolver(() => [MJTagSuggestion_]),
97537
98695
  __param(0, Root()),
97538
98696
  __param(1, Ctx()),
97539
98697
  __param(2, PubSub()),
97540
98698
  __metadata("design:type", Function),
97541
98699
  __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
97542
98700
  __metadata("design:returntype", Promise)
97543
- ], MJTagResolver.prototype, "MJTags_MergedIntoTagIDArray", null);
98701
+ ], MJTagResolver.prototype, "MJTagSuggestions_ProposedParentIDArray", null);
98702
+ __decorate([
98703
+ FieldResolver(() => [MJTagScope_]),
98704
+ __param(0, Root()),
98705
+ __param(1, Ctx()),
98706
+ __param(2, PubSub()),
98707
+ __metadata("design:type", Function),
98708
+ __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
98709
+ __metadata("design:returntype", Promise)
98710
+ ], MJTagResolver.prototype, "MJTagScopes_TagIDArray", null);
97544
98711
  __decorate([
97545
98712
  FieldResolver(() => [MJTagAuditLog_]),
97546
98713
  __param(0, Root()),
@@ -97550,6 +98717,33 @@ __decorate([
97550
98717
  __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
97551
98718
  __metadata("design:returntype", Promise)
97552
98719
  ], MJTagResolver.prototype, "MJTagAuditLogs_TagIDArray", null);
98720
+ __decorate([
98721
+ FieldResolver(() => [MJTag_]),
98722
+ __param(0, Root()),
98723
+ __param(1, Ctx()),
98724
+ __param(2, PubSub()),
98725
+ __metadata("design:type", Function),
98726
+ __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
98727
+ __metadata("design:returntype", Promise)
98728
+ ], MJTagResolver.prototype, "MJTags_MergedIntoTagIDArray", null);
98729
+ __decorate([
98730
+ FieldResolver(() => [MJTagSuggestion_]),
98731
+ __param(0, Root()),
98732
+ __param(1, Ctx()),
98733
+ __param(2, PubSub()),
98734
+ __metadata("design:type", Function),
98735
+ __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
98736
+ __metadata("design:returntype", Promise)
98737
+ ], MJTagResolver.prototype, "MJTagSuggestions_BestMatchTagIDArray", null);
98738
+ __decorate([
98739
+ FieldResolver(() => [MJTagSuggestion_]),
98740
+ __param(0, Root()),
98741
+ __param(1, Ctx()),
98742
+ __param(2, PubSub()),
98743
+ __metadata("design:type", Function),
98744
+ __metadata("design:paramtypes", [MJTag_, Object, PubSubEngine]),
98745
+ __metadata("design:returntype", Promise)
98746
+ ], MJTagResolver.prototype, "MJTagSuggestions_ResolvedTagIDArray", null);
97553
98747
  __decorate([
97554
98748
  Mutation(() => MJTag_),
97555
98749
  __param(0, Arg('input', () => CreateMJTagInput)),
@@ -108430,6 +109624,10 @@ __decorate([
108430
109624
  Field(() => [MJOpenAppInstallHistory_]),
108431
109625
  __metadata("design:type", Array)
108432
109626
  ], MJUser_.prototype, "MJOpenAppInstallHistories_ExecutedByUserIDArray", void 0);
109627
+ __decorate([
109628
+ Field(() => [MJTagAuditLog_]),
109629
+ __metadata("design:type", Array)
109630
+ ], MJUser_.prototype, "MJTagAuditLogs_PerformedByUserIDArray", void 0);
108433
109631
  __decorate([
108434
109632
  Field(() => [MJContentItemDuplicate_]),
108435
109633
  __metadata("design:type", Array)
@@ -108442,10 +109640,6 @@ __decorate([
108442
109640
  Field(() => [MJKnowledgeHubSavedSearch_]),
108443
109641
  __metadata("design:type", Array)
108444
109642
  ], MJUser_.prototype, "MJKnowledgeHubSavedSearches_UserIDArray", void 0);
108445
- __decorate([
108446
- Field(() => [MJTagAuditLog_]),
108447
- __metadata("design:type", Array)
108448
- ], MJUser_.prototype, "MJTagAuditLogs_PerformedByUserIDArray", void 0);
108449
109643
  __decorate([
108450
109644
  Field(() => [MJArchiveConfiguration_]),
108451
109645
  __metadata("design:type", Array)
@@ -108458,6 +109652,10 @@ __decorate([
108458
109652
  Field(() => [MJResourcePermission_]),
108459
109653
  __metadata("design:type", Array)
108460
109654
  ], MJUser_.prototype, "MJResourcePermissions_SharedByUserIDArray", void 0);
109655
+ __decorate([
109656
+ Field(() => [MJTagSuggestion_]),
109657
+ __metadata("design:type", Array)
109658
+ ], MJUser_.prototype, "MJTagSuggestions_ReviewedByUserIDArray", void 0);
108461
109659
  __decorate([
108462
109660
  Field(() => [MJResourcePermission_]),
108463
109661
  __metadata("design:type", Array)
@@ -109251,6 +110449,14 @@ let MJUserResolverBase = class MJUserResolverBase extends ResolverBase {
109251
110449
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Open App Install Histories', rows, this.GetUserFromPayload(userPayload));
109252
110450
  return result;
109253
110451
  }
110452
+ async MJTagAuditLogs_PerformedByUserIDArray(mjuser_, { userPayload, providers }, pubSub) {
110453
+ this.CheckUserReadPermissions('MJ: Tag Audit Logs', userPayload);
110454
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
110455
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagAuditLogs')} WHERE ${provider.QuoteIdentifier('PerformedByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Audit Logs', userPayload, EntityPermissionType.Read, 'AND');
110456
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
110457
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Audit Logs', rows, this.GetUserFromPayload(userPayload));
110458
+ return result;
110459
+ }
109254
110460
  async MJContentItemDuplicates_ResolvedByUserIDArray(mjuser_, { userPayload, providers }, pubSub) {
109255
110461
  this.CheckUserReadPermissions('MJ: Content Item Duplicates', userPayload);
109256
110462
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -109275,14 +110481,6 @@ let MJUserResolverBase = class MJUserResolverBase extends ResolverBase {
109275
110481
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Knowledge Hub Saved Searches', rows, this.GetUserFromPayload(userPayload));
109276
110482
  return result;
109277
110483
  }
109278
- async MJTagAuditLogs_PerformedByUserIDArray(mjuser_, { userPayload, providers }, pubSub) {
109279
- this.CheckUserReadPermissions('MJ: Tag Audit Logs', userPayload);
109280
- const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
109281
- const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagAuditLogs')} WHERE ${provider.QuoteIdentifier('PerformedByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Audit Logs', userPayload, EntityPermissionType.Read, 'AND');
109282
- const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
109283
- const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Audit Logs', rows, this.GetUserFromPayload(userPayload));
109284
- return result;
109285
- }
109286
110484
  async MJArchiveConfigurations_CreatedByUserIDArray(mjuser_, { userPayload, providers }, pubSub) {
109287
110485
  this.CheckUserReadPermissions('MJ: Archive Configurations', userPayload);
109288
110486
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -109307,6 +110505,14 @@ let MJUserResolverBase = class MJUserResolverBase extends ResolverBase {
109307
110505
  const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Resource Permissions', rows, this.GetUserFromPayload(userPayload));
109308
110506
  return result;
109309
110507
  }
110508
+ async MJTagSuggestions_ReviewedByUserIDArray(mjuser_, { userPayload, providers }, pubSub) {
110509
+ this.CheckUserReadPermissions('MJ: Tag Suggestions', userPayload);
110510
+ const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
110511
+ const sSQL = `SELECT * FROM ${provider.QuoteSchemaAndView(Metadata.Provider.ConfigData.MJCoreSchemaName, 'vwTagSuggestions')} WHERE ${provider.QuoteIdentifier('ReviewedByUserID')}='${mjuser_.ID}' ` + this.getRowLevelSecurityWhereClause(provider, 'MJ: Tag Suggestions', userPayload, EntityPermissionType.Read, 'AND');
110512
+ const rows = await provider.ExecuteSQL(sSQL, undefined, undefined, this.GetUserFromPayload(userPayload));
110513
+ const result = await this.ArrayMapFieldNamesToCodeNames('MJ: Tag Suggestions', rows, this.GetUserFromPayload(userPayload));
110514
+ return result;
110515
+ }
109310
110516
  async MJResourcePermissions_UserIDArray(mjuser_, { userPayload, providers }, pubSub) {
109311
110517
  this.CheckUserReadPermissions('MJ: Resource Permissions', userPayload);
109312
110518
  const provider = GetReadOnlyProvider(providers, { allowFallbackToReadWrite: true });
@@ -110106,41 +111312,41 @@ __decorate([
110106
111312
  __metadata("design:returntype", Promise)
110107
111313
  ], MJUserResolverBase.prototype, "MJOpenAppInstallHistories_ExecutedByUserIDArray", null);
110108
111314
  __decorate([
110109
- FieldResolver(() => [MJContentItemDuplicate_]),
111315
+ FieldResolver(() => [MJTagAuditLog_]),
110110
111316
  __param(0, Root()),
110111
111317
  __param(1, Ctx()),
110112
111318
  __param(2, PubSub()),
110113
111319
  __metadata("design:type", Function),
110114
111320
  __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
110115
111321
  __metadata("design:returntype", Promise)
110116
- ], MJUserResolverBase.prototype, "MJContentItemDuplicates_ResolvedByUserIDArray", null);
111322
+ ], MJUserResolverBase.prototype, "MJTagAuditLogs_PerformedByUserIDArray", null);
110117
111323
  __decorate([
110118
- FieldResolver(() => [MJContentProcessRun_]),
111324
+ FieldResolver(() => [MJContentItemDuplicate_]),
110119
111325
  __param(0, Root()),
110120
111326
  __param(1, Ctx()),
110121
111327
  __param(2, PubSub()),
110122
111328
  __metadata("design:type", Function),
110123
111329
  __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
110124
111330
  __metadata("design:returntype", Promise)
110125
- ], MJUserResolverBase.prototype, "MJContentProcessRuns_StartedByUserIDArray", null);
111331
+ ], MJUserResolverBase.prototype, "MJContentItemDuplicates_ResolvedByUserIDArray", null);
110126
111332
  __decorate([
110127
- FieldResolver(() => [MJKnowledgeHubSavedSearch_]),
111333
+ FieldResolver(() => [MJContentProcessRun_]),
110128
111334
  __param(0, Root()),
110129
111335
  __param(1, Ctx()),
110130
111336
  __param(2, PubSub()),
110131
111337
  __metadata("design:type", Function),
110132
111338
  __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
110133
111339
  __metadata("design:returntype", Promise)
110134
- ], MJUserResolverBase.prototype, "MJKnowledgeHubSavedSearches_UserIDArray", null);
111340
+ ], MJUserResolverBase.prototype, "MJContentProcessRuns_StartedByUserIDArray", null);
110135
111341
  __decorate([
110136
- FieldResolver(() => [MJTagAuditLog_]),
111342
+ FieldResolver(() => [MJKnowledgeHubSavedSearch_]),
110137
111343
  __param(0, Root()),
110138
111344
  __param(1, Ctx()),
110139
111345
  __param(2, PubSub()),
110140
111346
  __metadata("design:type", Function),
110141
111347
  __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
110142
111348
  __metadata("design:returntype", Promise)
110143
- ], MJUserResolverBase.prototype, "MJTagAuditLogs_PerformedByUserIDArray", null);
111349
+ ], MJUserResolverBase.prototype, "MJKnowledgeHubSavedSearches_UserIDArray", null);
110144
111350
  __decorate([
110145
111351
  FieldResolver(() => [MJArchiveConfiguration_]),
110146
111352
  __param(0, Root()),
@@ -110168,6 +111374,15 @@ __decorate([
110168
111374
  __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
110169
111375
  __metadata("design:returntype", Promise)
110170
111376
  ], MJUserResolverBase.prototype, "MJResourcePermissions_SharedByUserIDArray", null);
111377
+ __decorate([
111378
+ FieldResolver(() => [MJTagSuggestion_]),
111379
+ __param(0, Root()),
111380
+ __param(1, Ctx()),
111381
+ __param(2, PubSub()),
111382
+ __metadata("design:type", Function),
111383
+ __metadata("design:paramtypes", [MJUser_, Object, PubSubEngine]),
111384
+ __metadata("design:returntype", Promise)
111385
+ ], MJUserResolverBase.prototype, "MJTagSuggestions_ReviewedByUserIDArray", null);
110171
111386
  __decorate([
110172
111387
  FieldResolver(() => [MJResourcePermission_]),
110173
111388
  __param(0, Root()),