@memberjunction/graphql-dataprovider 2.103.0 → 2.105.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.
package/dist/index.d.cts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { GraphQLClient } from 'graphql-request';
2
2
  export { gql } from 'graphql-request';
3
- import { ProviderConfigDataBase, ProviderBase, IEntityDataProvider, IMetadataProvider, IRunViewProvider, IRunReportProvider, IRunQueryProvider, UserInfo, RunReportParams, RunReportResult, RunQueryParams, RunQueryResult, RunViewParams, RunViewResult, EntityInfo, ProviderType, CompositeKey, RecordChange, RecordDependency, KeyValuePair, PotentialDuplicateRequest, PotentialDuplicateResponse, RecordMergeRequest, EntityMergeOptions, RecordMergeResult, BaseEntity, EntitySaveOptions, EntityDeleteOptions, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, TransactionGroupBase, EntityRecordNameInput, EntityRecordNameResult, ILocalStorageProvider, TransactionResult } from '@memberjunction/core';
3
+ import { ProviderConfigDataBase, ProviderBase, IEntityDataProvider, IMetadataProvider, IRunViewProvider, IRunReportProvider, IRunQueryProvider, EntityInfo, UserInfo, RunReportParams, RunReportResult, RunQueryParams, RunQueryResult, RunViewParams, RunViewResult, ProviderType, CompositeKey, RecordChange, RecordDependency, KeyValuePair, PotentialDuplicateRequest, PotentialDuplicateResponse, RecordMergeRequest, EntityMergeOptions, RecordMergeResult, BaseEntity, EntitySaveOptions, EntityDeleteOptions, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, TransactionGroupBase, EntityRecordNameInput, EntityRecordNameResult, ILocalStorageProvider, TransactionResult } from '@memberjunction/core';
4
4
  import { UserViewEntityExtended } from '@memberjunction/core-entities';
5
5
  import { Observable } from 'rxjs';
6
+ import { ExecuteAgentParams, ExecuteAgentResult } from '@memberjunction/ai-core-plus';
6
7
  import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from '@memberjunction/actions-base';
7
8
 
8
9
  /**
@@ -97,6 +98,9 @@ declare class GraphQLAIClient {
97
98
  * This method invokes an AI agent on the server through GraphQL and returns the result.
98
99
  * The agent can maintain conversation context across multiple interactions.
99
100
  *
101
+ * If a progress callback is provided in params.onProgress, this method will subscribe
102
+ * to real-time progress updates from the GraphQL server and forward them to the callback.
103
+ *
100
104
  * @param params The parameters for running the AI agent
101
105
  * @returns A Promise that resolves to a RunAIAgentResult object
102
106
  *
@@ -108,7 +112,10 @@ declare class GraphQLAIClient {
108
112
  * { role: "user", content: "What's the weather like?" }
109
113
  * ],
110
114
  * sessionId: "session-123",
111
- * data: { location: "New York" }
115
+ * data: { location: "New York" },
116
+ * onProgress: (progress) => {
117
+ * console.log(`Progress: ${progress.message} (${progress.percentage}%)`);
118
+ * }
112
119
  * });
113
120
  *
114
121
  * if (result.success) {
@@ -119,7 +126,7 @@ declare class GraphQLAIClient {
119
126
  * }
120
127
  * ```
121
128
  */
122
- RunAIAgent(params: RunAIAgentParams): Promise<RunAIAgentResult>;
129
+ RunAIAgent(params: ExecuteAgentParams): Promise<ExecuteAgentResult>;
123
130
  /**
124
131
  * Prepares variables for the AI agent mutation
125
132
  * @param params The agent parameters
@@ -416,67 +423,6 @@ interface RunAIPromptResult {
416
423
  */
417
424
  chatResult?: any;
418
425
  }
419
- /**
420
- * Parameters for running an AI agent
421
- */
422
- interface RunAIAgentParams {
423
- /**
424
- * The ID of the AI agent to run
425
- */
426
- agentId: string;
427
- /**
428
- * Conversation messages
429
- */
430
- messages: Array<{
431
- role: string;
432
- content: string;
433
- }>;
434
- /**
435
- * Session ID for maintaining conversation context
436
- */
437
- sessionId: string;
438
- /**
439
- * Data context to pass to the agent (will be JSON serialized)
440
- */
441
- data?: Record<string, any>;
442
- /**
443
- * Template data for agent templating (will be JSON serialized)
444
- */
445
- templateData?: Record<string, any>;
446
- /**
447
- * ID of the last agent run for context continuity
448
- */
449
- lastRunId?: string;
450
- /**
451
- * Auto-populate the last run payload
452
- */
453
- autoPopulateLastRunPayload?: boolean;
454
- /**
455
- * Configuration ID to use
456
- */
457
- configurationId?: string;
458
- }
459
- /**
460
- * Result from running an AI agent
461
- */
462
- interface RunAIAgentResult {
463
- /**
464
- * Whether the agent execution was successful
465
- */
466
- success: boolean;
467
- /**
468
- * Error message if the execution failed
469
- */
470
- errorMessage?: string;
471
- /**
472
- * Execution time in milliseconds
473
- */
474
- executionTimeMs?: number;
475
- /**
476
- * The agent's response payload (parsed from JSON)
477
- */
478
- payload?: any;
479
- }
480
426
 
481
427
  /**************************************************************************************************************
482
428
  * The graphQLDataProvider provides a data provider for the entities framework that uses GraphQL to communicate
@@ -542,6 +488,36 @@ declare class GraphQLDataProvider extends ProviderBase implements IEntityDataPro
542
488
  private _sessionId;
543
489
  private _aiClient;
544
490
  get ConfigData(): GraphQLProviderConfigData;
491
+ /**
492
+ * The core schema name constant. This should match the mjCoreSchema config value.
493
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
494
+ * @see https://github.com/MemberJunction/MJ/issues/1452
495
+ */
496
+ protected static readonly MJ_CORE_SCHEMA = "__mj";
497
+ /**
498
+ * Sanitizes a string to be a valid GraphQL name component, preserving original capitalization.
499
+ * GraphQL names must match the pattern [_A-Za-z][_0-9A-Za-z]* and cannot start with double underscore
500
+ *
501
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
502
+ * @see https://github.com/MemberJunction/MJ/issues/1452
503
+ *
504
+ * Copied from @memberjunction/codegen-lib GraphQLServerGeneratorBase.sanitizeGraphQLName()
505
+ */
506
+ protected sanitizeGraphQLName(input: string): string;
507
+ /**
508
+ * Generates the base GraphQL type name for an entity using SchemaBaseTable pattern.
509
+ * Preserves original capitalization. Special case: MJ core schema uses "MJ" prefix.
510
+ * This ensures unique type names across different schemas.
511
+ *
512
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
513
+ * @see https://github.com/MemberJunction/MJ/issues/1452
514
+ *
515
+ * Copied from @memberjunction/codegen-lib GraphQLServerGeneratorBase.getServerGraphQLTypeNameBase()
516
+ *
517
+ * @param entity - The entity to generate the type name for
518
+ * @returns The base GraphQL type name (without suffix like ViewByID, DynamicView, etc.)
519
+ */
520
+ protected getGraphQLTypeNameBase(entity: EntityInfo): string;
545
521
  /**
546
522
  * Gets the AI client for executing AI operations through GraphQL.
547
523
  * The client is lazily initialized on first access.
@@ -870,6 +846,7 @@ declare class ActionItemOutput {
870
846
  */
871
847
  declare class GraphQLSystemUserClient {
872
848
  private _client;
849
+ private _sessionId;
873
850
  /**
874
851
  * Returns the underlying GraphQL client which is an instance of the GraphQLClient object
875
852
  * from the graphql-request package. This is useful if you want to perform any operation
@@ -1011,7 +988,7 @@ declare class GraphQLSystemUserClient {
1011
988
  * });
1012
989
  * ```
1013
990
  */
1014
- RunAIAgent(params: RunAIAgentParams): Promise<RunAIAgentResult>;
991
+ RunAIAgent(params: ExecuteAgentParams): Promise<ExecuteAgentResult>;
1015
992
  /**
1016
993
  * Helper method to prepare prompt variables for GraphQL
1017
994
  * @private
@@ -2600,6 +2577,72 @@ interface ComponentDependencyTree {
2600
2577
  */
2601
2578
  totalCount?: number;
2602
2579
  }
2580
+ /**
2581
+ * Input parameters for sending component feedback
2582
+ */
2583
+ interface ComponentFeedbackParams {
2584
+ /**
2585
+ * Component name
2586
+ */
2587
+ componentName: string;
2588
+ /**
2589
+ * Component namespace
2590
+ */
2591
+ componentNamespace: string;
2592
+ /**
2593
+ * Component version (optional)
2594
+ */
2595
+ componentVersion?: string;
2596
+ /**
2597
+ * Registry name (optional - for registry-specific feedback)
2598
+ */
2599
+ registryName?: string;
2600
+ /**
2601
+ * Rating (typically 0-5 scale)
2602
+ */
2603
+ rating: number;
2604
+ /**
2605
+ * Type of feedback (optional)
2606
+ */
2607
+ feedbackType?: string;
2608
+ /**
2609
+ * User comments (optional)
2610
+ */
2611
+ comments?: string;
2612
+ /**
2613
+ * Associated conversation ID (optional)
2614
+ */
2615
+ conversationID?: string;
2616
+ /**
2617
+ * Associated conversation detail ID (optional)
2618
+ */
2619
+ conversationDetailID?: string;
2620
+ /**
2621
+ * Associated report ID (optional)
2622
+ */
2623
+ reportID?: string;
2624
+ /**
2625
+ * Associated dashboard ID (optional)
2626
+ */
2627
+ dashboardID?: string;
2628
+ }
2629
+ /**
2630
+ * Response from sending component feedback
2631
+ */
2632
+ interface ComponentFeedbackResponse {
2633
+ /**
2634
+ * Whether the feedback was successfully submitted
2635
+ */
2636
+ success: boolean;
2637
+ /**
2638
+ * ID of the created feedback record (if available)
2639
+ */
2640
+ feedbackID?: string;
2641
+ /**
2642
+ * Error message if submission failed
2643
+ */
2644
+ error?: string;
2645
+ }
2603
2646
  /**
2604
2647
  * Client for executing Component Registry operations through GraphQL.
2605
2648
  * This class provides an easy way to fetch components from external registries
@@ -2782,6 +2825,40 @@ declare class GraphQLComponentRegistryClient {
2782
2825
  * ```
2783
2826
  */
2784
2827
  GetLatestVersion(registryName: string, namespace: string, name: string): Promise<string | null>;
2828
+ /**
2829
+ * Send feedback for a component.
2830
+ *
2831
+ * This is a registry-agnostic method that allows submitting feedback
2832
+ * for any component from any registry. The feedback can include ratings,
2833
+ * comments, and associations with conversations, reports, or dashboards.
2834
+ *
2835
+ * @param params The feedback parameters
2836
+ * @returns A Promise that resolves to a ComponentFeedbackResponse
2837
+ *
2838
+ * @example
2839
+ * ```typescript
2840
+ * const response = await registryClient.SendComponentFeedback({
2841
+ * componentName: 'DataGrid',
2842
+ * componentNamespace: 'core/ui',
2843
+ * componentVersion: '1.0.0',
2844
+ * registryName: 'MJ',
2845
+ * rating: 5,
2846
+ * feedbackType: 'feature-request',
2847
+ * comments: 'Would love to see export to Excel functionality',
2848
+ * conversationID: 'conv-123'
2849
+ * });
2850
+ *
2851
+ * if (response.success) {
2852
+ * console.log('Feedback submitted successfully!');
2853
+ * if (response.feedbackID) {
2854
+ * console.log(`Feedback ID: ${response.feedbackID}`);
2855
+ * }
2856
+ * } else {
2857
+ * console.error('Feedback submission failed:', response.error);
2858
+ * }
2859
+ * ```
2860
+ */
2861
+ SendComponentFeedback(params: ComponentFeedbackParams): Promise<ComponentFeedbackResponse>;
2785
2862
  }
2786
2863
 
2787
- export { ActionItemInput, ActionItemOutput, type ComponentDependencyTree, type ComponentSpecWithHash, type CreateQueryInput, type CreateQueryResult, type DeleteQueryOptionsInput, type DeleteQueryResult, type EmbedTextParams, type EmbedTextResult, type ExecuteSimplePromptParams, FieldMapper, GetDataOutput, type GetQueryDataByNameSystemUserInput, type GetQueryDataSystemUserInput, type GetRegistryComponentParams, GraphQLAIClient, GraphQLActionClient, GraphQLComponentRegistryClient, GraphQLDataProvider, GraphQLProviderConfigData, GraphQLSystemUserClient, GraphQLTransactionGroup, type QueryEntity, type QueryField, type QueryParameter, type QueryPermission, type QueryPermissionInput, type RegistryComponentSearchResult, RoleInput, RolesAndUsersInput, type RunAIAgentParams, type RunAIAgentResult, type RunAIPromptParams, type RunAIPromptResult, type RunDynamicViewSystemUserInput, type RunQuerySystemUserResult, type RunViewByIDSystemUserInput, type RunViewByNameSystemUserInput, type RunViewSystemUserInput, type RunViewSystemUserResult, type RunViewSystemUserResultRow, type SearchRegistryComponentsParams, type SimplePromptResult, SimpleRemoteEntity, SimpleRemoteEntityField, SimpleRemoteEntityOutput, SyncDataAction, SyncDataResult, SyncRolesAndUsersResult, type UpdateQueryInput, type UpdateQueryResult, UserInput, setupGraphQLClient };
2864
+ export { ActionItemInput, ActionItemOutput, type ComponentDependencyTree, type ComponentSpecWithHash, type CreateQueryInput, type CreateQueryResult, type DeleteQueryOptionsInput, type DeleteQueryResult, type EmbedTextParams, type EmbedTextResult, type ExecuteSimplePromptParams, FieldMapper, GetDataOutput, type GetQueryDataByNameSystemUserInput, type GetQueryDataSystemUserInput, type GetRegistryComponentParams, GraphQLAIClient, GraphQLActionClient, GraphQLComponentRegistryClient, GraphQLDataProvider, GraphQLProviderConfigData, GraphQLSystemUserClient, GraphQLTransactionGroup, type QueryEntity, type QueryField, type QueryParameter, type QueryPermission, type QueryPermissionInput, type RegistryComponentSearchResult, RoleInput, RolesAndUsersInput, type RunAIPromptParams, type RunAIPromptResult, type RunDynamicViewSystemUserInput, type RunQuerySystemUserResult, type RunViewByIDSystemUserInput, type RunViewByNameSystemUserInput, type RunViewSystemUserInput, type RunViewSystemUserResult, type RunViewSystemUserResultRow, type SearchRegistryComponentsParams, type SimplePromptResult, SimpleRemoteEntity, SimpleRemoteEntityField, SimpleRemoteEntityOutput, SyncDataAction, SyncDataResult, SyncRolesAndUsersResult, type UpdateQueryInput, type UpdateQueryResult, UserInput, setupGraphQLClient };
package/dist/index.d.mts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { GraphQLClient } from 'graphql-request';
2
2
  export { gql } from 'graphql-request';
3
- import { ProviderConfigDataBase, ProviderBase, IEntityDataProvider, IMetadataProvider, IRunViewProvider, IRunReportProvider, IRunQueryProvider, UserInfo, RunReportParams, RunReportResult, RunQueryParams, RunQueryResult, RunViewParams, RunViewResult, EntityInfo, ProviderType, CompositeKey, RecordChange, RecordDependency, KeyValuePair, PotentialDuplicateRequest, PotentialDuplicateResponse, RecordMergeRequest, EntityMergeOptions, RecordMergeResult, BaseEntity, EntitySaveOptions, EntityDeleteOptions, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, TransactionGroupBase, EntityRecordNameInput, EntityRecordNameResult, ILocalStorageProvider, TransactionResult } from '@memberjunction/core';
3
+ import { ProviderConfigDataBase, ProviderBase, IEntityDataProvider, IMetadataProvider, IRunViewProvider, IRunReportProvider, IRunQueryProvider, EntityInfo, UserInfo, RunReportParams, RunReportResult, RunQueryParams, RunQueryResult, RunViewParams, RunViewResult, ProviderType, CompositeKey, RecordChange, RecordDependency, KeyValuePair, PotentialDuplicateRequest, PotentialDuplicateResponse, RecordMergeRequest, EntityMergeOptions, RecordMergeResult, BaseEntity, EntitySaveOptions, EntityDeleteOptions, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, TransactionGroupBase, EntityRecordNameInput, EntityRecordNameResult, ILocalStorageProvider, TransactionResult } from '@memberjunction/core';
4
4
  import { UserViewEntityExtended } from '@memberjunction/core-entities';
5
5
  import { Observable } from 'rxjs';
6
+ import { ExecuteAgentParams, ExecuteAgentResult } from '@memberjunction/ai-core-plus';
6
7
  import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from '@memberjunction/actions-base';
7
8
 
8
9
  /**
@@ -97,6 +98,9 @@ declare class GraphQLAIClient {
97
98
  * This method invokes an AI agent on the server through GraphQL and returns the result.
98
99
  * The agent can maintain conversation context across multiple interactions.
99
100
  *
101
+ * If a progress callback is provided in params.onProgress, this method will subscribe
102
+ * to real-time progress updates from the GraphQL server and forward them to the callback.
103
+ *
100
104
  * @param params The parameters for running the AI agent
101
105
  * @returns A Promise that resolves to a RunAIAgentResult object
102
106
  *
@@ -108,7 +112,10 @@ declare class GraphQLAIClient {
108
112
  * { role: "user", content: "What's the weather like?" }
109
113
  * ],
110
114
  * sessionId: "session-123",
111
- * data: { location: "New York" }
115
+ * data: { location: "New York" },
116
+ * onProgress: (progress) => {
117
+ * console.log(`Progress: ${progress.message} (${progress.percentage}%)`);
118
+ * }
112
119
  * });
113
120
  *
114
121
  * if (result.success) {
@@ -119,7 +126,7 @@ declare class GraphQLAIClient {
119
126
  * }
120
127
  * ```
121
128
  */
122
- RunAIAgent(params: RunAIAgentParams): Promise<RunAIAgentResult>;
129
+ RunAIAgent(params: ExecuteAgentParams): Promise<ExecuteAgentResult>;
123
130
  /**
124
131
  * Prepares variables for the AI agent mutation
125
132
  * @param params The agent parameters
@@ -416,67 +423,6 @@ interface RunAIPromptResult {
416
423
  */
417
424
  chatResult?: any;
418
425
  }
419
- /**
420
- * Parameters for running an AI agent
421
- */
422
- interface RunAIAgentParams {
423
- /**
424
- * The ID of the AI agent to run
425
- */
426
- agentId: string;
427
- /**
428
- * Conversation messages
429
- */
430
- messages: Array<{
431
- role: string;
432
- content: string;
433
- }>;
434
- /**
435
- * Session ID for maintaining conversation context
436
- */
437
- sessionId: string;
438
- /**
439
- * Data context to pass to the agent (will be JSON serialized)
440
- */
441
- data?: Record<string, any>;
442
- /**
443
- * Template data for agent templating (will be JSON serialized)
444
- */
445
- templateData?: Record<string, any>;
446
- /**
447
- * ID of the last agent run for context continuity
448
- */
449
- lastRunId?: string;
450
- /**
451
- * Auto-populate the last run payload
452
- */
453
- autoPopulateLastRunPayload?: boolean;
454
- /**
455
- * Configuration ID to use
456
- */
457
- configurationId?: string;
458
- }
459
- /**
460
- * Result from running an AI agent
461
- */
462
- interface RunAIAgentResult {
463
- /**
464
- * Whether the agent execution was successful
465
- */
466
- success: boolean;
467
- /**
468
- * Error message if the execution failed
469
- */
470
- errorMessage?: string;
471
- /**
472
- * Execution time in milliseconds
473
- */
474
- executionTimeMs?: number;
475
- /**
476
- * The agent's response payload (parsed from JSON)
477
- */
478
- payload?: any;
479
- }
480
426
 
481
427
  /**************************************************************************************************************
482
428
  * The graphQLDataProvider provides a data provider for the entities framework that uses GraphQL to communicate
@@ -542,6 +488,36 @@ declare class GraphQLDataProvider extends ProviderBase implements IEntityDataPro
542
488
  private _sessionId;
543
489
  private _aiClient;
544
490
  get ConfigData(): GraphQLProviderConfigData;
491
+ /**
492
+ * The core schema name constant. This should match the mjCoreSchema config value.
493
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
494
+ * @see https://github.com/MemberJunction/MJ/issues/1452
495
+ */
496
+ protected static readonly MJ_CORE_SCHEMA = "__mj";
497
+ /**
498
+ * Sanitizes a string to be a valid GraphQL name component, preserving original capitalization.
499
+ * GraphQL names must match the pattern [_A-Za-z][_0-9A-Za-z]* and cannot start with double underscore
500
+ *
501
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
502
+ * @see https://github.com/MemberJunction/MJ/issues/1452
503
+ *
504
+ * Copied from @memberjunction/codegen-lib GraphQLServerGeneratorBase.sanitizeGraphQLName()
505
+ */
506
+ protected sanitizeGraphQLName(input: string): string;
507
+ /**
508
+ * Generates the base GraphQL type name for an entity using SchemaBaseTable pattern.
509
+ * Preserves original capitalization. Special case: MJ core schema uses "MJ" prefix.
510
+ * This ensures unique type names across different schemas.
511
+ *
512
+ * TODO: Move this to @memberjunction/core once npm registration issues are resolved
513
+ * @see https://github.com/MemberJunction/MJ/issues/1452
514
+ *
515
+ * Copied from @memberjunction/codegen-lib GraphQLServerGeneratorBase.getServerGraphQLTypeNameBase()
516
+ *
517
+ * @param entity - The entity to generate the type name for
518
+ * @returns The base GraphQL type name (without suffix like ViewByID, DynamicView, etc.)
519
+ */
520
+ protected getGraphQLTypeNameBase(entity: EntityInfo): string;
545
521
  /**
546
522
  * Gets the AI client for executing AI operations through GraphQL.
547
523
  * The client is lazily initialized on first access.
@@ -870,6 +846,7 @@ declare class ActionItemOutput {
870
846
  */
871
847
  declare class GraphQLSystemUserClient {
872
848
  private _client;
849
+ private _sessionId;
873
850
  /**
874
851
  * Returns the underlying GraphQL client which is an instance of the GraphQLClient object
875
852
  * from the graphql-request package. This is useful if you want to perform any operation
@@ -1011,7 +988,7 @@ declare class GraphQLSystemUserClient {
1011
988
  * });
1012
989
  * ```
1013
990
  */
1014
- RunAIAgent(params: RunAIAgentParams): Promise<RunAIAgentResult>;
991
+ RunAIAgent(params: ExecuteAgentParams): Promise<ExecuteAgentResult>;
1015
992
  /**
1016
993
  * Helper method to prepare prompt variables for GraphQL
1017
994
  * @private
@@ -2600,6 +2577,72 @@ interface ComponentDependencyTree {
2600
2577
  */
2601
2578
  totalCount?: number;
2602
2579
  }
2580
+ /**
2581
+ * Input parameters for sending component feedback
2582
+ */
2583
+ interface ComponentFeedbackParams {
2584
+ /**
2585
+ * Component name
2586
+ */
2587
+ componentName: string;
2588
+ /**
2589
+ * Component namespace
2590
+ */
2591
+ componentNamespace: string;
2592
+ /**
2593
+ * Component version (optional)
2594
+ */
2595
+ componentVersion?: string;
2596
+ /**
2597
+ * Registry name (optional - for registry-specific feedback)
2598
+ */
2599
+ registryName?: string;
2600
+ /**
2601
+ * Rating (typically 0-5 scale)
2602
+ */
2603
+ rating: number;
2604
+ /**
2605
+ * Type of feedback (optional)
2606
+ */
2607
+ feedbackType?: string;
2608
+ /**
2609
+ * User comments (optional)
2610
+ */
2611
+ comments?: string;
2612
+ /**
2613
+ * Associated conversation ID (optional)
2614
+ */
2615
+ conversationID?: string;
2616
+ /**
2617
+ * Associated conversation detail ID (optional)
2618
+ */
2619
+ conversationDetailID?: string;
2620
+ /**
2621
+ * Associated report ID (optional)
2622
+ */
2623
+ reportID?: string;
2624
+ /**
2625
+ * Associated dashboard ID (optional)
2626
+ */
2627
+ dashboardID?: string;
2628
+ }
2629
+ /**
2630
+ * Response from sending component feedback
2631
+ */
2632
+ interface ComponentFeedbackResponse {
2633
+ /**
2634
+ * Whether the feedback was successfully submitted
2635
+ */
2636
+ success: boolean;
2637
+ /**
2638
+ * ID of the created feedback record (if available)
2639
+ */
2640
+ feedbackID?: string;
2641
+ /**
2642
+ * Error message if submission failed
2643
+ */
2644
+ error?: string;
2645
+ }
2603
2646
  /**
2604
2647
  * Client for executing Component Registry operations through GraphQL.
2605
2648
  * This class provides an easy way to fetch components from external registries
@@ -2782,6 +2825,40 @@ declare class GraphQLComponentRegistryClient {
2782
2825
  * ```
2783
2826
  */
2784
2827
  GetLatestVersion(registryName: string, namespace: string, name: string): Promise<string | null>;
2828
+ /**
2829
+ * Send feedback for a component.
2830
+ *
2831
+ * This is a registry-agnostic method that allows submitting feedback
2832
+ * for any component from any registry. The feedback can include ratings,
2833
+ * comments, and associations with conversations, reports, or dashboards.
2834
+ *
2835
+ * @param params The feedback parameters
2836
+ * @returns A Promise that resolves to a ComponentFeedbackResponse
2837
+ *
2838
+ * @example
2839
+ * ```typescript
2840
+ * const response = await registryClient.SendComponentFeedback({
2841
+ * componentName: 'DataGrid',
2842
+ * componentNamespace: 'core/ui',
2843
+ * componentVersion: '1.0.0',
2844
+ * registryName: 'MJ',
2845
+ * rating: 5,
2846
+ * feedbackType: 'feature-request',
2847
+ * comments: 'Would love to see export to Excel functionality',
2848
+ * conversationID: 'conv-123'
2849
+ * });
2850
+ *
2851
+ * if (response.success) {
2852
+ * console.log('Feedback submitted successfully!');
2853
+ * if (response.feedbackID) {
2854
+ * console.log(`Feedback ID: ${response.feedbackID}`);
2855
+ * }
2856
+ * } else {
2857
+ * console.error('Feedback submission failed:', response.error);
2858
+ * }
2859
+ * ```
2860
+ */
2861
+ SendComponentFeedback(params: ComponentFeedbackParams): Promise<ComponentFeedbackResponse>;
2785
2862
  }
2786
2863
 
2787
- export { ActionItemInput, ActionItemOutput, type ComponentDependencyTree, type ComponentSpecWithHash, type CreateQueryInput, type CreateQueryResult, type DeleteQueryOptionsInput, type DeleteQueryResult, type EmbedTextParams, type EmbedTextResult, type ExecuteSimplePromptParams, FieldMapper, GetDataOutput, type GetQueryDataByNameSystemUserInput, type GetQueryDataSystemUserInput, type GetRegistryComponentParams, GraphQLAIClient, GraphQLActionClient, GraphQLComponentRegistryClient, GraphQLDataProvider, GraphQLProviderConfigData, GraphQLSystemUserClient, GraphQLTransactionGroup, type QueryEntity, type QueryField, type QueryParameter, type QueryPermission, type QueryPermissionInput, type RegistryComponentSearchResult, RoleInput, RolesAndUsersInput, type RunAIAgentParams, type RunAIAgentResult, type RunAIPromptParams, type RunAIPromptResult, type RunDynamicViewSystemUserInput, type RunQuerySystemUserResult, type RunViewByIDSystemUserInput, type RunViewByNameSystemUserInput, type RunViewSystemUserInput, type RunViewSystemUserResult, type RunViewSystemUserResultRow, type SearchRegistryComponentsParams, type SimplePromptResult, SimpleRemoteEntity, SimpleRemoteEntityField, SimpleRemoteEntityOutput, SyncDataAction, SyncDataResult, SyncRolesAndUsersResult, type UpdateQueryInput, type UpdateQueryResult, UserInput, setupGraphQLClient };
2864
+ export { ActionItemInput, ActionItemOutput, type ComponentDependencyTree, type ComponentSpecWithHash, type CreateQueryInput, type CreateQueryResult, type DeleteQueryOptionsInput, type DeleteQueryResult, type EmbedTextParams, type EmbedTextResult, type ExecuteSimplePromptParams, FieldMapper, GetDataOutput, type GetQueryDataByNameSystemUserInput, type GetQueryDataSystemUserInput, type GetRegistryComponentParams, GraphQLAIClient, GraphQLActionClient, GraphQLComponentRegistryClient, GraphQLDataProvider, GraphQLProviderConfigData, GraphQLSystemUserClient, GraphQLTransactionGroup, type QueryEntity, type QueryField, type QueryParameter, type QueryPermission, type QueryPermissionInput, type RegistryComponentSearchResult, RoleInput, RolesAndUsersInput, type RunAIPromptParams, type RunAIPromptResult, type RunDynamicViewSystemUserInput, type RunQuerySystemUserResult, type RunViewByIDSystemUserInput, type RunViewByNameSystemUserInput, type RunViewSystemUserInput, type RunViewSystemUserResult, type RunViewSystemUserResultRow, type SearchRegistryComponentsParams, type SimplePromptResult, SimpleRemoteEntity, SimpleRemoteEntityField, SimpleRemoteEntityOutput, SyncDataAction, SyncDataResult, SyncRolesAndUsersResult, type UpdateQueryInput, type UpdateQueryResult, UserInput, setupGraphQLClient };