Update generated TypeScript types

This commit is contained in:
github-actions[bot] 2025-09-23 17:35:17 +00:00
parent c403feb073
commit afbd8da84d
8 changed files with 771 additions and 1 deletions

View File

@ -0,0 +1,98 @@
/*
* Copyright 2025 Collate.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Create request for Notification Template
*/
export interface CreateNotificationTemplate {
/**
* Description of this notification template
*/
description?: string;
/**
* Display name for this notification template
*/
displayName?: string;
/**
* Fully qualified names of the domains the template belongs to
*/
domains?: string[];
/**
* Name that uniquely identifies this notification template (e.g., 'entity_change',
* 'test_change')
*/
name: string;
/**
* Owners of this template
*/
owners?: EntityReference[];
/**
* Handlebars template content for rendering notifications
*/
templateBody: string;
}
/**
* Owners of this template
*
* This schema defines the EntityReferenceList type used for referencing an entity.
* EntityReference is used for capturing relationships from one entity to another. For
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*
* This schema defines the EntityReference type used for referencing an entity.
* EntityReference is used for capturing relationships from one entity to another. For
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*/
export interface EntityReference {
/**
* If true the entity referred to has been soft-deleted.
*/
deleted?: boolean;
/**
* Optional description of entity.
*/
description?: string;
/**
* Display Name that identifies this entity.
*/
displayName?: string;
/**
* Fully qualified name of the entity instance. For entities such as tables, databases
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
* such as `user` and `team` this will be same as the `name` field.
*/
fullyQualifiedName?: string;
/**
* Link to the entity resource.
*/
href?: string;
/**
* Unique identifier that identifies an entity instance.
*/
id: string;
/**
* If true the relationship indicated by this entity reference is inherited from the parent
* entity.
*/
inherited?: boolean;
/**
* Name of the entity instance.
*/
name?: string;
/**
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
* `dashboardService`...
*/
type: string;
}

View File

@ -22,6 +22,12 @@ export interface CreateTestCase {
* Description of the testcase.
*/
description?: string;
/**
* List of columns to group test results by dimensions. When specified, the test will be
* executed both overall and grouped by these columns to provide fine-grained data quality
* insights.
*/
dimensionColumns?: string[];
/**
* Display Name that identifies this test.
*/

View File

@ -14,6 +14,11 @@
* Schema to create a new test case result .
*/
export interface CreateTestCaseResult {
/**
* List of dimensional test results. Only populated when the test case has dimensionColumns
* specified.
*/
dimensionResults?: TestCaseDimensionResult[];
/**
* Number of rows that failed.
*/
@ -67,6 +72,139 @@ export interface CreateTestCaseResult {
}
/**
* Test case result for dimensional analysis - supports both single and multi-dimensional
* groupings
*/
export interface TestCaseDimensionResult {
/**
* Composite key for API filtering: 'region=mumbai' or 'region=mumbai,product=laptop'
*/
dimensionKey: string;
/**
* Array of dimension name-value pairs for this result (e.g., [{'name': 'region', 'value':
* 'mumbai'}, {'name': 'product', 'value': 'laptop'}])
*/
dimensionValues: DimensionValue[];
/**
* Number of rows that failed for this dimension combination
*/
failedRows?: number;
/**
* Percentage of rows that failed for this dimension combination
*/
failedRowsPercentage?: number;
/**
* Unique identifier of this dimensional result instance
*/
id: string;
/**
* Impact score indicating the significance of this dimension for revealing data quality
* variations. Higher scores indicate dimensions with more significant quality issues
* considering both failure rate and data volume.
*/
impactScore?: number;
/**
* Number of rows that passed for this dimension combination
*/
passedRows?: number;
/**
* Percentage of rows that passed for this dimension combination
*/
passedRowsPercentage?: number;
/**
* Details of test case results for this dimension combination
*/
result?: string;
/**
* Reference to the test case for efficient querying of dimensional time series
*/
testCase?: EntityReference;
/**
* Reference to the parent TestCaseResult execution that generated this dimensional result
*/
testCaseResultId: string;
/**
* Status of the test for this dimension combination
*/
testCaseStatus: TestCaseStatus;
/**
* Test result values for this dimension combination
*/
testResultValue?: TestResultValue[];
/**
* Timestamp when the dimensional test result was captured (same as parent TestCaseResult)
*/
timestamp: number;
}
/**
* A single dimension name-value pair for dimensional test results
*/
export interface DimensionValue {
/**
* Name of the dimension (e.g., 'column', 'region', 'tier')
*/
name: string;
/**
* Value for this dimension (e.g., 'address', 'US', 'gold')
*/
value: string;
}
/**
* Reference to the test case for efficient querying of dimensional time series
*
* This schema defines the EntityReference type used for referencing an entity.
* EntityReference is used for capturing relationships from one entity to another. For
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*/
export interface EntityReference {
/**
* If true the entity referred to has been soft-deleted.
*/
deleted?: boolean;
/**
* Optional description of entity.
*/
description?: string;
/**
* Display Name that identifies this entity.
*/
displayName?: string;
/**
* Fully qualified name of the entity instance. For entities such as tables, databases
* fullyQualifiedName is returned in this field. For entities that don't have name hierarchy
* such as `user` and `team` this will be same as the `name` field.
*/
fullyQualifiedName?: string;
/**
* Link to the entity resource.
*/
href?: string;
/**
* Unique identifier that identifies an entity instance.
*/
id: string;
/**
* If true the relationship indicated by this entity reference is inherited from the parent
* entity.
*/
inherited?: boolean;
/**
* Name of the entity instance.
*/
name?: string;
/**
* Entity type/class name - Examples: `database`, `table`, `metrics`, `databaseService`,
* `dashboardService`...
*/
type: string;
}
/**
* Status of the test for this dimension combination
*
* Status of Test Case run.
*/
export enum TestCaseStatus {

View File

@ -0,0 +1,158 @@
/*
* Copyright 2025 Collate.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* A NotificationTemplate defines the default formatting template for notifications of a
* specific entity type.
*/
export interface NotificationTemplate {
/**
* Change that lead to this version of the template.
*/
changeDescription?: ChangeDescription;
/**
* When `true` indicates the template has been soft deleted.
*/
deleted?: boolean;
/**
* Description of the template purpose and usage.
*/
description?: string;
/**
* Display Name that identifies this template.
*/
displayName?: string;
/**
* Fully qualified name for the template.
*/
fullyQualifiedName?: string;
/**
* Link to this template resource.
*/
href?: string;
/**
* Unique identifier of this template instance.
*/
id: string;
/**
* Change that lead to this version of the entity.
*/
incrementalChangeDescription?: ChangeDescription;
/**
* Name for the notification template (e.g., 'Default Table Template', 'Custom Pipeline
* Alerts').
*/
name: string;
/**
* Provider of the template. System templates are pre-loaded and cannot be deleted. User
* templates are created by users and can be deleted.
*/
provider?: ProviderType;
/**
* Handlebars HTML template body with placeholders.
*/
templateBody: string;
/**
* Last update time corresponding to the new version of the template.
*/
updatedAt?: number;
/**
* User who made the update.
*/
updatedBy?: string;
/**
* Metadata version of the template.
*/
version?: number;
}
/**
* Change that lead to this version of the template.
*
* Description of the change.
*
* Change that lead to this version of the entity.
*/
export interface ChangeDescription {
changeSummary?: { [key: string]: ChangeSummary };
/**
* Names of fields added during the version changes.
*/
fieldsAdded?: FieldChange[];
/**
* Fields deleted during the version changes with old value before deleted.
*/
fieldsDeleted?: FieldChange[];
/**
* Fields modified during the version changes with old and new values.
*/
fieldsUpdated?: FieldChange[];
/**
* When a change did not result in change, this could be same as the current version.
*/
previousVersion?: number;
}
export interface ChangeSummary {
changedAt?: number;
/**
* Name of the user or bot who made this change
*/
changedBy?: string;
changeSource?: ChangeSource;
[property: string]: any;
}
/**
* The source of the change. This will change based on the context of the change (example:
* manual vs programmatic)
*/
export enum ChangeSource {
Automated = "Automated",
Derived = "Derived",
Ingested = "Ingested",
Manual = "Manual",
Propagated = "Propagated",
Suggested = "Suggested",
}
export interface FieldChange {
/**
* Name of the entity field that changed.
*/
name?: string;
/**
* New value of the field. Note that this is a JSON string and use the corresponding field
* type to deserialize it.
*/
newValue?: any;
/**
* Previous value of the field. Note that this is a JSON string and use the corresponding
* field type to deserialize it.
*/
oldValue?: any;
}
/**
* Provider of the template. System templates are pre-loaded and cannot be deleted. User
* templates are created by users and can be deleted.
*
* Type of provider of an entity. Some entities are provided by the `system`. Some are
* entities created and provided by the `user`. Typically `system` provide entities can't be
* deleted and can only be disabled. Some apps such as AutoPilot create entities with
* `automation` provider type. These entities can be deleted by the user.
*/
export enum ProviderType {
Automation = "automation",
System = "system",
User = "user",
}

View File

@ -48,6 +48,8 @@ export interface EntityTestResultSummaryObject {
* Status of the test case.
*
* Status of Test Case run.
*
* Status of the test for this dimension combination
*/
export enum TestCaseStatus {
Aborted = "Aborted",
@ -76,6 +78,11 @@ export interface TestCaseParameterValue {
* Schema to capture test case result.
*/
export interface TestCaseResultElement {
/**
* List of dimensional test results. Only populated when the test case has dimensionColumns
* specified.
*/
dimensionResults?: TestCaseDimensionResult[];
/**
* Number of rows that failed.
*/
@ -142,13 +149,95 @@ export interface TestCaseResultElement {
}
/**
* Test case that this result is for.
* Test case result for dimensional analysis - supports both single and multi-dimensional
* groupings
*/
export interface TestCaseDimensionResult {
/**
* Composite key for API filtering: 'region=mumbai' or 'region=mumbai,product=laptop'
*/
dimensionKey: string;
/**
* Array of dimension name-value pairs for this result (e.g., [{'name': 'region', 'value':
* 'mumbai'}, {'name': 'product', 'value': 'laptop'}])
*/
dimensionValues: DimensionValue[];
/**
* Number of rows that failed for this dimension combination
*/
failedRows?: number;
/**
* Percentage of rows that failed for this dimension combination
*/
failedRowsPercentage?: number;
/**
* Unique identifier of this dimensional result instance
*/
id: string;
/**
* Impact score indicating the significance of this dimension for revealing data quality
* variations. Higher scores indicate dimensions with more significant quality issues
* considering both failure rate and data volume.
*/
impactScore?: number;
/**
* Number of rows that passed for this dimension combination
*/
passedRows?: number;
/**
* Percentage of rows that passed for this dimension combination
*/
passedRowsPercentage?: number;
/**
* Details of test case results for this dimension combination
*/
result?: string;
/**
* Reference to the test case for efficient querying of dimensional time series
*/
testCase?: EntityReference;
/**
* Reference to the parent TestCaseResult execution that generated this dimensional result
*/
testCaseResultId: string;
/**
* Status of the test for this dimension combination
*/
testCaseStatus: TestCaseStatus;
/**
* Test result values for this dimension combination
*/
testResultValue?: TestResultValue[];
/**
* Timestamp when the dimensional test result was captured (same as parent TestCaseResult)
*/
timestamp: number;
}
/**
* A single dimension name-value pair for dimensional test results
*/
export interface DimensionValue {
/**
* Name of the dimension (e.g., 'column', 'region', 'tier')
*/
name: string;
/**
* Value for this dimension (e.g., 'address', 'US', 'gold')
*/
value: string;
}
/**
* Reference to the test case for efficient querying of dimensional time series
*
* This schema defines the EntityReference type used for referencing an entity.
* EntityReference is used for capturing relationships from one entity to another. For
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*
* Test case that this result is for.
*
* Test definition that this result is for.
*/
export interface EntityReference {

View File

@ -175,6 +175,8 @@ export interface ChatbotDetails {
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*
* Reference to the test case for efficient querying of dimensional time series
*
* Test case that this result is for.
*
* Test definition that this result is for.
@ -318,6 +320,8 @@ export interface EntityTestResultSummaryObject {
* Status of the test case.
*
* Status of Test Case run.
*
* Status of the test for this dimension combination
*/
export enum TestCaseStatus {
Aborted = "Aborted",
@ -346,6 +350,11 @@ export interface TestCaseParameterValue {
* Schema to capture test case result.
*/
export interface TestCaseResult {
/**
* List of dimensional test results. Only populated when the test case has dimensionColumns
* specified.
*/
dimensionResults?: TestCaseDimensionResult[];
/**
* Number of rows that failed.
*/
@ -411,6 +420,86 @@ export interface TestCaseResult {
[property: string]: any;
}
/**
* Test case result for dimensional analysis - supports both single and multi-dimensional
* groupings
*/
export interface TestCaseDimensionResult {
/**
* Composite key for API filtering: 'region=mumbai' or 'region=mumbai,product=laptop'
*/
dimensionKey: string;
/**
* Array of dimension name-value pairs for this result (e.g., [{'name': 'region', 'value':
* 'mumbai'}, {'name': 'product', 'value': 'laptop'}])
*/
dimensionValues: DimensionValue[];
/**
* Number of rows that failed for this dimension combination
*/
failedRows?: number;
/**
* Percentage of rows that failed for this dimension combination
*/
failedRowsPercentage?: number;
/**
* Unique identifier of this dimensional result instance
*/
id: string;
/**
* Impact score indicating the significance of this dimension for revealing data quality
* variations. Higher scores indicate dimensions with more significant quality issues
* considering both failure rate and data volume.
*/
impactScore?: number;
/**
* Number of rows that passed for this dimension combination
*/
passedRows?: number;
/**
* Percentage of rows that passed for this dimension combination
*/
passedRowsPercentage?: number;
/**
* Details of test case results for this dimension combination
*/
result?: string;
/**
* Reference to the test case for efficient querying of dimensional time series
*/
testCase?: EntityReference;
/**
* Reference to the parent TestCaseResult execution that generated this dimensional result
*/
testCaseResultId: string;
/**
* Status of the test for this dimension combination
*/
testCaseStatus: TestCaseStatus;
/**
* Test result values for this dimension combination
*/
testResultValue?: TestResultValue[];
/**
* Timestamp when the dimensional test result was captured (same as parent TestCaseResult)
*/
timestamp: number;
}
/**
* A single dimension name-value pair for dimensional test results
*/
export interface DimensionValue {
/**
* Name of the dimension (e.g., 'column', 'region', 'tier')
*/
name: string;
/**
* Value for this dimension (e.g., 'address', 'US', 'gold')
*/
value: string;
}
/**
* Schema to capture test case result values.
*/

View File

@ -0,0 +1,97 @@
/*
* Copyright 2025 Collate.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Test case result for a specific combination of dimension values
*/
export interface DimensionResult {
/**
* Array of dimension name-value pairs for this result (e.g., [{'name': 'region', 'value':
* 'mumbai'}, {'name': 'product', 'value': 'laptop'}])
*/
dimensionValues: DimensionValue[];
/**
* Number of rows that failed for this dimension
*/
failedRows?: number;
/**
* Percentage of rows that failed for this dimension
*/
failedRowsPercentage?: number;
/**
* Impact score indicating the significance of this dimension for revealing data quality
* variations. Higher scores indicate dimensions with more variance in test results.
*/
impactScore?: number;
/**
* Number of rows that passed for this dimension
*/
passedRows?: number;
/**
* Percentage of rows that passed for this dimension
*/
passedRowsPercentage?: number;
/**
* Details of test case results for this dimension combination
*/
result?: string;
/**
* Status of the test for this dimension combination
*/
testCaseStatus: TestCaseStatus;
testResultValue?: TestResultValue[];
}
/**
* A single dimension name-value pair for dimensional test results
*/
export interface DimensionValue {
/**
* Name of the dimension (e.g., 'column', 'region', 'tier')
*/
name: string;
/**
* Value for this dimension (e.g., 'address', 'US', 'gold')
*/
value: string;
}
/**
* Status of the test for this dimension combination
*
* Status of Test Case run.
*/
export enum TestCaseStatus {
Aborted = "Aborted",
Failed = "Failed",
Queued = "Queued",
Success = "Success",
}
/**
* Schema to capture test case result values.
*/
export interface TestResultValue {
/**
* name of the value
*/
name?: string;
/**
* predicted value
*/
predictedValue?: string;
/**
* test result value
*/
value?: string;
[property: string]: any;
}

View File

@ -35,6 +35,12 @@ export interface TestCase {
* Description of the testcase.
*/
description?: string;
/**
* List of columns to group test results by dimensions. When specified, the test will be
* executed both overall and grouped by these columns to provide fine-grained data quality
* insights.
*/
dimensionColumns?: string[];
/**
* Display Name that identifies this test.
*/
@ -217,6 +223,8 @@ export interface FieldChange {
* example, a table has an attribute called database of type EntityReference that captures
* the relationship of a table `belongs to a` database.
*
* Reference to the test case for efficient querying of dimensional time series
*
* Test case that this result is for.
*
* Test definition that this result is for.
@ -417,6 +425,11 @@ export interface Style {
* Schema to capture test case result.
*/
export interface TestCaseResult {
/**
* List of dimensional test results. Only populated when the test case has dimensionColumns
* specified.
*/
dimensionResults?: TestCaseDimensionResult[];
/**
* Number of rows that failed.
*/
@ -483,6 +496,88 @@ export interface TestCaseResult {
}
/**
* Test case result for dimensional analysis - supports both single and multi-dimensional
* groupings
*/
export interface TestCaseDimensionResult {
/**
* Composite key for API filtering: 'region=mumbai' or 'region=mumbai,product=laptop'
*/
dimensionKey: string;
/**
* Array of dimension name-value pairs for this result (e.g., [{'name': 'region', 'value':
* 'mumbai'}, {'name': 'product', 'value': 'laptop'}])
*/
dimensionValues: DimensionValue[];
/**
* Number of rows that failed for this dimension combination
*/
failedRows?: number;
/**
* Percentage of rows that failed for this dimension combination
*/
failedRowsPercentage?: number;
/**
* Unique identifier of this dimensional result instance
*/
id: string;
/**
* Impact score indicating the significance of this dimension for revealing data quality
* variations. Higher scores indicate dimensions with more significant quality issues
* considering both failure rate and data volume.
*/
impactScore?: number;
/**
* Number of rows that passed for this dimension combination
*/
passedRows?: number;
/**
* Percentage of rows that passed for this dimension combination
*/
passedRowsPercentage?: number;
/**
* Details of test case results for this dimension combination
*/
result?: string;
/**
* Reference to the test case for efficient querying of dimensional time series
*/
testCase?: EntityReference;
/**
* Reference to the parent TestCaseResult execution that generated this dimensional result
*/
testCaseResultId: string;
/**
* Status of the test for this dimension combination
*/
testCaseStatus: TestCaseStatus;
/**
* Test result values for this dimension combination
*/
testResultValue?: TestResultValue[];
/**
* Timestamp when the dimensional test result was captured (same as parent TestCaseResult)
*/
timestamp: number;
}
/**
* A single dimension name-value pair for dimensional test results
*/
export interface DimensionValue {
/**
* Name of the dimension (e.g., 'column', 'region', 'tier')
*/
name: string;
/**
* Value for this dimension (e.g., 'address', 'US', 'gold')
*/
value: string;
}
/**
* Status of the test for this dimension combination
*
* Status of Test Case run.
*
* Status of the test case.