@memberjunction/core-entities 2.76.0 → 2.78.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.
@@ -8688,6 +8688,94 @@ exports.AIPromptRunSchema = zod_1.z.object({
8688
8688
  * * SQL Data Type: uniqueidentifier
8689
8689
  * * Related Entity/Foreign Key: MJ: AI Prompt Runs (vwAIPromptRuns.ID)
8690
8690
  * * Description: If this run was initiated as a re-run of another prompt run, this field links back to the original run ID`),
8691
+ ModelSelection: zod_1.z.string().nullable().describe(`
8692
+ * * Field Name: ModelSelection
8693
+ * * Display Name: Model Selection
8694
+ * * SQL Data Type: nvarchar(MAX)
8695
+ * * Description: JSON object containing detailed model selection information including all models considered, their scores, and the selection rationale`),
8696
+ Status: zod_1.z.union([zod_1.z.literal('Pending'), zod_1.z.literal('Running'), zod_1.z.literal('Completed'), zod_1.z.literal('Failed'), zod_1.z.literal('Cancelled')]).describe(`
8697
+ * * Field Name: Status
8698
+ * * Display Name: Status
8699
+ * * SQL Data Type: nvarchar(50)
8700
+ * * Default Value: Pending
8701
+ * * Value List Type: List
8702
+ * * Possible Values
8703
+ * * Pending
8704
+ * * Running
8705
+ * * Completed
8706
+ * * Failed
8707
+ * * Cancelled
8708
+ * * Description: Current execution status of the prompt run. Valid values: Pending, Running, Completed, Failed, Cancelled`),
8709
+ Cancelled: zod_1.z.boolean().describe(`
8710
+ * * Field Name: Cancelled
8711
+ * * Display Name: Cancelled
8712
+ * * SQL Data Type: bit
8713
+ * * Default Value: 0
8714
+ * * Description: Indicates whether this prompt run was cancelled before completion`),
8715
+ CancellationReason: zod_1.z.string().nullable().describe(`
8716
+ * * Field Name: CancellationReason
8717
+ * * Display Name: Cancellation Reason
8718
+ * * SQL Data Type: nvarchar(MAX)
8719
+ * * Description: Detailed reason for cancellation if the prompt run was cancelled. Could be user_requested, timeout, error, or resource_limit`),
8720
+ ModelPowerRank: zod_1.z.number().nullable().describe(`
8721
+ * * Field Name: ModelPowerRank
8722
+ * * Display Name: Model Power Rank
8723
+ * * SQL Data Type: int
8724
+ * * Description: Power rank of the model that was selected for this run. Lower numbers indicate more powerful models`),
8725
+ SelectionStrategy: zod_1.z.union([zod_1.z.literal('Default'), zod_1.z.literal('Specific'), zod_1.z.literal('ByPower')]).nullable().describe(`
8726
+ * * Field Name: SelectionStrategy
8727
+ * * Display Name: Selection Strategy
8728
+ * * SQL Data Type: nvarchar(50)
8729
+ * * Value List Type: List
8730
+ * * Possible Values
8731
+ * * Default
8732
+ * * Specific
8733
+ * * ByPower
8734
+ * * Description: Strategy used for model selection. Valid values: Default (system default), Specific (specific models configured), ByPower (based on power ranking)`),
8735
+ CacheHit: zod_1.z.boolean().describe(`
8736
+ * * Field Name: CacheHit
8737
+ * * Display Name: Cache Hit
8738
+ * * SQL Data Type: bit
8739
+ * * Default Value: 0
8740
+ * * Description: Indicates whether this result was served from cache rather than executing a new model call`),
8741
+ CacheKey: zod_1.z.string().nullable().describe(`
8742
+ * * Field Name: CacheKey
8743
+ * * Display Name: Cache Key
8744
+ * * SQL Data Type: nvarchar(500)
8745
+ * * Description: Unique key used for caching this prompt result, typically a hash of the prompt and parameters`),
8746
+ JudgeID: zod_1.z.string().nullable().describe(`
8747
+ * * Field Name: JudgeID
8748
+ * * Display Name: Judge ID
8749
+ * * SQL Data Type: uniqueidentifier
8750
+ * * Related Entity/Foreign Key: AI Prompts (vwAIPrompts.ID)
8751
+ * * Description: ID of the AIPrompt used as a judge to evaluate and rank multiple parallel execution results`),
8752
+ JudgeScore: zod_1.z.number().nullable().describe(`
8753
+ * * Field Name: JudgeScore
8754
+ * * Display Name: Judge Score
8755
+ * * SQL Data Type: float(53)
8756
+ * * Description: Score assigned by the judge prompt when evaluating multiple results. Higher scores indicate better results`),
8757
+ WasSelectedResult: zod_1.z.boolean().describe(`
8758
+ * * Field Name: WasSelectedResult
8759
+ * * Display Name: Was Selected Result
8760
+ * * SQL Data Type: bit
8761
+ * * Default Value: 0
8762
+ * * Description: Indicates whether this result was selected as the best result when multiple models were run in parallel`),
8763
+ StreamingEnabled: zod_1.z.boolean().describe(`
8764
+ * * Field Name: StreamingEnabled
8765
+ * * Display Name: Streaming Enabled
8766
+ * * SQL Data Type: bit
8767
+ * * Default Value: 0
8768
+ * * Description: Indicates whether streaming was enabled for this prompt execution`),
8769
+ FirstTokenTime: zod_1.z.number().nullable().describe(`
8770
+ * * Field Name: FirstTokenTime
8771
+ * * Display Name: First Token Time
8772
+ * * SQL Data Type: int
8773
+ * * Description: Time in milliseconds from request initiation to receiving the first token from the model`),
8774
+ ErrorDetails: zod_1.z.string().nullable().describe(`
8775
+ * * Field Name: ErrorDetails
8776
+ * * Display Name: Error Details
8777
+ * * SQL Data Type: nvarchar(MAX)
8778
+ * * Description: Detailed error information in JSON format if the prompt execution failed, including stack traces and error codes`),
8691
8779
  Prompt: zod_1.z.string().describe(`
8692
8780
  * * Field Name: Prompt
8693
8781
  * * Display Name: Prompt
@@ -8712,6 +8800,10 @@ exports.AIPromptRunSchema = zod_1.z.object({
8712
8800
  * * Field Name: OriginalModel
8713
8801
  * * Display Name: Original Model
8714
8802
  * * SQL Data Type: nvarchar(50)`),
8803
+ Judge: zod_1.z.string().nullable().describe(`
8804
+ * * Field Name: Judge
8805
+ * * Display Name: Judge
8806
+ * * SQL Data Type: nvarchar(255)`),
8715
8807
  });
8716
8808
  /**
8717
8809
  * zod schema definition for the entity MJ: AI Vendor Type Definitions
@@ -21755,6 +21847,41 @@ let ConversationDetailEntity = class ConversationDetailEntity extends core_1.Bas
21755
21847
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
21756
21848
  }
21757
21849
  /**
21850
+ * Conversation Details - Delete method override to wrap in transaction since CascadeDeletes is true.
21851
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
21852
+ * @public
21853
+ * @method
21854
+ * @override
21855
+ * @memberof ConversationDetailEntity
21856
+ * @returns {Promise<boolean>} - true if successful, false otherwise
21857
+ */
21858
+ async Delete(options) {
21859
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
21860
+ // For database providers, use the transaction methods directly
21861
+ const provider = core_1.Metadata.Provider;
21862
+ try {
21863
+ await provider.BeginTransaction();
21864
+ const result = await super.Delete(options);
21865
+ if (result) {
21866
+ await provider.CommitTransaction();
21867
+ return true;
21868
+ }
21869
+ else {
21870
+ await provider.RollbackTransaction();
21871
+ return false;
21872
+ }
21873
+ }
21874
+ catch (error) {
21875
+ await provider.RollbackTransaction();
21876
+ throw error;
21877
+ }
21878
+ }
21879
+ else {
21880
+ // For network providers, cascading deletes are handled server-side
21881
+ return super.Delete(options);
21882
+ }
21883
+ }
21884
+ /**
21758
21885
  * Validate() method override for Conversation Details entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
21759
21886
  * * UserRating: This rule ensures that the user rating is between 1 and 10, inclusive. Ratings below 1 or above 10 are not allowed.
21760
21887
  * @public
@@ -22043,6 +22170,41 @@ let ConversationEntity = class ConversationEntity extends core_1.BaseEntity {
22043
22170
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
22044
22171
  }
22045
22172
  /**
22173
+ * Conversations - Delete method override to wrap in transaction since CascadeDeletes is true.
22174
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
22175
+ * @public
22176
+ * @method
22177
+ * @override
22178
+ * @memberof ConversationEntity
22179
+ * @returns {Promise<boolean>} - true if successful, false otherwise
22180
+ */
22181
+ async Delete(options) {
22182
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
22183
+ // For database providers, use the transaction methods directly
22184
+ const provider = core_1.Metadata.Provider;
22185
+ try {
22186
+ await provider.BeginTransaction();
22187
+ const result = await super.Delete(options);
22188
+ if (result) {
22189
+ await provider.CommitTransaction();
22190
+ return true;
22191
+ }
22192
+ else {
22193
+ await provider.RollbackTransaction();
22194
+ return false;
22195
+ }
22196
+ }
22197
+ catch (error) {
22198
+ await provider.RollbackTransaction();
22199
+ throw error;
22200
+ }
22201
+ }
22202
+ else {
22203
+ // For network providers, cascading deletes are handled server-side
22204
+ return super.Delete(options);
22205
+ }
22206
+ }
22207
+ /**
22046
22208
  * * Field Name: ID
22047
22209
  * * Display Name: ID
22048
22210
  * * SQL Data Type: uniqueidentifier
@@ -34784,6 +34946,192 @@ let AIPromptRunEntity = class AIPromptRunEntity extends core_1.BaseEntity {
34784
34946
  this.Set('RerunFromPromptRunID', value);
34785
34947
  }
34786
34948
  /**
34949
+ * * Field Name: ModelSelection
34950
+ * * Display Name: Model Selection
34951
+ * * SQL Data Type: nvarchar(MAX)
34952
+ * * Description: JSON object containing detailed model selection information including all models considered, their scores, and the selection rationale
34953
+ */
34954
+ get ModelSelection() {
34955
+ return this.Get('ModelSelection');
34956
+ }
34957
+ set ModelSelection(value) {
34958
+ this.Set('ModelSelection', value);
34959
+ }
34960
+ /**
34961
+ * * Field Name: Status
34962
+ * * Display Name: Status
34963
+ * * SQL Data Type: nvarchar(50)
34964
+ * * Default Value: Pending
34965
+ * * Value List Type: List
34966
+ * * Possible Values
34967
+ * * Pending
34968
+ * * Running
34969
+ * * Completed
34970
+ * * Failed
34971
+ * * Cancelled
34972
+ * * Description: Current execution status of the prompt run. Valid values: Pending, Running, Completed, Failed, Cancelled
34973
+ */
34974
+ get Status() {
34975
+ return this.Get('Status');
34976
+ }
34977
+ set Status(value) {
34978
+ this.Set('Status', value);
34979
+ }
34980
+ /**
34981
+ * * Field Name: Cancelled
34982
+ * * Display Name: Cancelled
34983
+ * * SQL Data Type: bit
34984
+ * * Default Value: 0
34985
+ * * Description: Indicates whether this prompt run was cancelled before completion
34986
+ */
34987
+ get Cancelled() {
34988
+ return this.Get('Cancelled');
34989
+ }
34990
+ set Cancelled(value) {
34991
+ this.Set('Cancelled', value);
34992
+ }
34993
+ /**
34994
+ * * Field Name: CancellationReason
34995
+ * * Display Name: Cancellation Reason
34996
+ * * SQL Data Type: nvarchar(MAX)
34997
+ * * Description: Detailed reason for cancellation if the prompt run was cancelled. Could be user_requested, timeout, error, or resource_limit
34998
+ */
34999
+ get CancellationReason() {
35000
+ return this.Get('CancellationReason');
35001
+ }
35002
+ set CancellationReason(value) {
35003
+ this.Set('CancellationReason', value);
35004
+ }
35005
+ /**
35006
+ * * Field Name: ModelPowerRank
35007
+ * * Display Name: Model Power Rank
35008
+ * * SQL Data Type: int
35009
+ * * Description: Power rank of the model that was selected for this run. Lower numbers indicate more powerful models
35010
+ */
35011
+ get ModelPowerRank() {
35012
+ return this.Get('ModelPowerRank');
35013
+ }
35014
+ set ModelPowerRank(value) {
35015
+ this.Set('ModelPowerRank', value);
35016
+ }
35017
+ /**
35018
+ * * Field Name: SelectionStrategy
35019
+ * * Display Name: Selection Strategy
35020
+ * * SQL Data Type: nvarchar(50)
35021
+ * * Value List Type: List
35022
+ * * Possible Values
35023
+ * * Default
35024
+ * * Specific
35025
+ * * ByPower
35026
+ * * Description: Strategy used for model selection. Valid values: Default (system default), Specific (specific models configured), ByPower (based on power ranking)
35027
+ */
35028
+ get SelectionStrategy() {
35029
+ return this.Get('SelectionStrategy');
35030
+ }
35031
+ set SelectionStrategy(value) {
35032
+ this.Set('SelectionStrategy', value);
35033
+ }
35034
+ /**
35035
+ * * Field Name: CacheHit
35036
+ * * Display Name: Cache Hit
35037
+ * * SQL Data Type: bit
35038
+ * * Default Value: 0
35039
+ * * Description: Indicates whether this result was served from cache rather than executing a new model call
35040
+ */
35041
+ get CacheHit() {
35042
+ return this.Get('CacheHit');
35043
+ }
35044
+ set CacheHit(value) {
35045
+ this.Set('CacheHit', value);
35046
+ }
35047
+ /**
35048
+ * * Field Name: CacheKey
35049
+ * * Display Name: Cache Key
35050
+ * * SQL Data Type: nvarchar(500)
35051
+ * * Description: Unique key used for caching this prompt result, typically a hash of the prompt and parameters
35052
+ */
35053
+ get CacheKey() {
35054
+ return this.Get('CacheKey');
35055
+ }
35056
+ set CacheKey(value) {
35057
+ this.Set('CacheKey', value);
35058
+ }
35059
+ /**
35060
+ * * Field Name: JudgeID
35061
+ * * Display Name: Judge ID
35062
+ * * SQL Data Type: uniqueidentifier
35063
+ * * Related Entity/Foreign Key: AI Prompts (vwAIPrompts.ID)
35064
+ * * Description: ID of the AIPrompt used as a judge to evaluate and rank multiple parallel execution results
35065
+ */
35066
+ get JudgeID() {
35067
+ return this.Get('JudgeID');
35068
+ }
35069
+ set JudgeID(value) {
35070
+ this.Set('JudgeID', value);
35071
+ }
35072
+ /**
35073
+ * * Field Name: JudgeScore
35074
+ * * Display Name: Judge Score
35075
+ * * SQL Data Type: float(53)
35076
+ * * Description: Score assigned by the judge prompt when evaluating multiple results. Higher scores indicate better results
35077
+ */
35078
+ get JudgeScore() {
35079
+ return this.Get('JudgeScore');
35080
+ }
35081
+ set JudgeScore(value) {
35082
+ this.Set('JudgeScore', value);
35083
+ }
35084
+ /**
35085
+ * * Field Name: WasSelectedResult
35086
+ * * Display Name: Was Selected Result
35087
+ * * SQL Data Type: bit
35088
+ * * Default Value: 0
35089
+ * * Description: Indicates whether this result was selected as the best result when multiple models were run in parallel
35090
+ */
35091
+ get WasSelectedResult() {
35092
+ return this.Get('WasSelectedResult');
35093
+ }
35094
+ set WasSelectedResult(value) {
35095
+ this.Set('WasSelectedResult', value);
35096
+ }
35097
+ /**
35098
+ * * Field Name: StreamingEnabled
35099
+ * * Display Name: Streaming Enabled
35100
+ * * SQL Data Type: bit
35101
+ * * Default Value: 0
35102
+ * * Description: Indicates whether streaming was enabled for this prompt execution
35103
+ */
35104
+ get StreamingEnabled() {
35105
+ return this.Get('StreamingEnabled');
35106
+ }
35107
+ set StreamingEnabled(value) {
35108
+ this.Set('StreamingEnabled', value);
35109
+ }
35110
+ /**
35111
+ * * Field Name: FirstTokenTime
35112
+ * * Display Name: First Token Time
35113
+ * * SQL Data Type: int
35114
+ * * Description: Time in milliseconds from request initiation to receiving the first token from the model
35115
+ */
35116
+ get FirstTokenTime() {
35117
+ return this.Get('FirstTokenTime');
35118
+ }
35119
+ set FirstTokenTime(value) {
35120
+ this.Set('FirstTokenTime', value);
35121
+ }
35122
+ /**
35123
+ * * Field Name: ErrorDetails
35124
+ * * Display Name: Error Details
35125
+ * * SQL Data Type: nvarchar(MAX)
35126
+ * * Description: Detailed error information in JSON format if the prompt execution failed, including stack traces and error codes
35127
+ */
35128
+ get ErrorDetails() {
35129
+ return this.Get('ErrorDetails');
35130
+ }
35131
+ set ErrorDetails(value) {
35132
+ this.Set('ErrorDetails', value);
35133
+ }
35134
+ /**
34787
35135
  * * Field Name: Prompt
34788
35136
  * * Display Name: Prompt
34789
35137
  * * SQL Data Type: nvarchar(255)
@@ -34831,6 +35179,14 @@ let AIPromptRunEntity = class AIPromptRunEntity extends core_1.BaseEntity {
34831
35179
  get OriginalModel() {
34832
35180
  return this.Get('OriginalModel');
34833
35181
  }
35182
+ /**
35183
+ * * Field Name: Judge
35184
+ * * Display Name: Judge
35185
+ * * SQL Data Type: nvarchar(255)
35186
+ */
35187
+ get Judge() {
35188
+ return this.Get('Judge');
35189
+ }
34834
35190
  };
34835
35191
  exports.AIPromptRunEntity = AIPromptRunEntity;
34836
35192
  exports.AIPromptRunEntity = AIPromptRunEntity = __decorate([
@@ -35420,6 +35776,41 @@ let ConversationArtifactVersionEntity = class ConversationArtifactVersionEntity
35420
35776
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
35421
35777
  }
35422
35778
  /**
35779
+ * MJ: Conversation Artifact Versions - Delete method override to wrap in transaction since CascadeDeletes is true.
35780
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
35781
+ * @public
35782
+ * @method
35783
+ * @override
35784
+ * @memberof ConversationArtifactVersionEntity
35785
+ * @returns {Promise<boolean>} - true if successful, false otherwise
35786
+ */
35787
+ async Delete(options) {
35788
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
35789
+ // For database providers, use the transaction methods directly
35790
+ const provider = core_1.Metadata.Provider;
35791
+ try {
35792
+ await provider.BeginTransaction();
35793
+ const result = await super.Delete(options);
35794
+ if (result) {
35795
+ await provider.CommitTransaction();
35796
+ return true;
35797
+ }
35798
+ else {
35799
+ await provider.RollbackTransaction();
35800
+ return false;
35801
+ }
35802
+ }
35803
+ catch (error) {
35804
+ await provider.RollbackTransaction();
35805
+ throw error;
35806
+ }
35807
+ }
35808
+ else {
35809
+ // For network providers, cascading deletes are handled server-side
35810
+ return super.Delete(options);
35811
+ }
35812
+ }
35813
+ /**
35423
35814
  * Validate() method override for MJ: Conversation Artifact Versions entity. This is an auto-generated method that invokes the generated validators for this entity for the following fields:
35424
35815
  * * Version: This rule ensures that the version number must be greater than zero.
35425
35816
  * @public
@@ -35575,6 +35966,41 @@ let ConversationArtifactEntity = class ConversationArtifactEntity extends core_1
35575
35966
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
35576
35967
  }
35577
35968
  /**
35969
+ * MJ: Conversation Artifacts - Delete method override to wrap in transaction since CascadeDeletes is true.
35970
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
35971
+ * @public
35972
+ * @method
35973
+ * @override
35974
+ * @memberof ConversationArtifactEntity
35975
+ * @returns {Promise<boolean>} - true if successful, false otherwise
35976
+ */
35977
+ async Delete(options) {
35978
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
35979
+ // For database providers, use the transaction methods directly
35980
+ const provider = core_1.Metadata.Provider;
35981
+ try {
35982
+ await provider.BeginTransaction();
35983
+ const result = await super.Delete(options);
35984
+ if (result) {
35985
+ await provider.CommitTransaction();
35986
+ return true;
35987
+ }
35988
+ else {
35989
+ await provider.RollbackTransaction();
35990
+ return false;
35991
+ }
35992
+ }
35993
+ catch (error) {
35994
+ await provider.RollbackTransaction();
35995
+ throw error;
35996
+ }
35997
+ }
35998
+ else {
35999
+ // For network providers, cascading deletes are handled server-side
36000
+ return super.Delete(options);
36001
+ }
36002
+ }
36003
+ /**
35578
36004
  * * Field Name: ID
35579
36005
  * * Display Name: ID
35580
36006
  * * SQL Data Type: uniqueidentifier
@@ -36787,6 +37213,41 @@ let QueryEntity = class QueryEntity extends core_1.BaseEntity {
36787
37213
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
36788
37214
  }
36789
37215
  /**
37216
+ * Queries - Delete method override to wrap in transaction since CascadeDeletes is true.
37217
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
37218
+ * @public
37219
+ * @method
37220
+ * @override
37221
+ * @memberof QueryEntity
37222
+ * @returns {Promise<boolean>} - true if successful, false otherwise
37223
+ */
37224
+ async Delete(options) {
37225
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
37226
+ // For database providers, use the transaction methods directly
37227
+ const provider = core_1.Metadata.Provider;
37228
+ try {
37229
+ await provider.BeginTransaction();
37230
+ const result = await super.Delete(options);
37231
+ if (result) {
37232
+ await provider.CommitTransaction();
37233
+ return true;
37234
+ }
37235
+ else {
37236
+ await provider.RollbackTransaction();
37237
+ return false;
37238
+ }
37239
+ }
37240
+ catch (error) {
37241
+ await provider.RollbackTransaction();
37242
+ throw error;
37243
+ }
37244
+ }
37245
+ else {
37246
+ // For network providers, cascading deletes are handled server-side
37247
+ return super.Delete(options);
37248
+ }
37249
+ }
37250
+ /**
36790
37251
  * * Field Name: ID
36791
37252
  * * Display Name: ID
36792
37253
  * * SQL Data Type: uniqueidentifier
@@ -39651,6 +40112,41 @@ let ReportEntity = class ReportEntity extends core_1.BaseEntity {
39651
40112
  return await super.InnerLoad(compositeKey, EntityRelationshipsToLoad);
39652
40113
  }
39653
40114
  /**
40115
+ * Reports - Delete method override to wrap in transaction since CascadeDeletes is true.
40116
+ * Wrapping in a transaction ensures that all cascade delete operations are handled atomically.
40117
+ * @public
40118
+ * @method
40119
+ * @override
40120
+ * @memberof ReportEntity
40121
+ * @returns {Promise<boolean>} - true if successful, false otherwise
40122
+ */
40123
+ async Delete(options) {
40124
+ if (core_1.Metadata.Provider.ProviderType === core_1.ProviderType.Database) {
40125
+ // For database providers, use the transaction methods directly
40126
+ const provider = core_1.Metadata.Provider;
40127
+ try {
40128
+ await provider.BeginTransaction();
40129
+ const result = await super.Delete(options);
40130
+ if (result) {
40131
+ await provider.CommitTransaction();
40132
+ return true;
40133
+ }
40134
+ else {
40135
+ await provider.RollbackTransaction();
40136
+ return false;
40137
+ }
40138
+ }
40139
+ catch (error) {
40140
+ await provider.RollbackTransaction();
40141
+ throw error;
40142
+ }
40143
+ }
40144
+ else {
40145
+ // For network providers, cascading deletes are handled server-side
40146
+ return super.Delete(options);
40147
+ }
40148
+ }
40149
+ /**
39654
40150
  * * Field Name: ID
39655
40151
  * * Display Name: ID
39656
40152
  * * SQL Data Type: uniqueidentifier