mirror of
https://github.com/dograh-hq/dograh.git
synced 2026-06-13 08:15:21 +02:00
fix: fix circuit breaker failure recording
fix: fix circuit breaker failure recording chore: provide advanced configuration option in UI for campaigns
This commit is contained in:
parent
628132f29b
commit
3ea235a666
17 changed files with 448 additions and 58 deletions
File diff suppressed because one or more lines are too long
|
|
@ -82,10 +82,11 @@ export type AuthUserResponse = {
|
|||
|
||||
export type CallType = 'inbound' | 'outbound';
|
||||
|
||||
export type CampaignLimitsResponse = {
|
||||
export type CampaignDefaultsResponse = {
|
||||
concurrent_call_limit: number;
|
||||
from_numbers_count: number;
|
||||
default_retry_config: RetryConfigResponse;
|
||||
last_campaign_settings?: LastCampaignSettingsResponse | null;
|
||||
};
|
||||
|
||||
export type CampaignProgressResponse = {
|
||||
|
|
@ -120,6 +121,7 @@ export type CampaignResponse = {
|
|||
retry_config: RetryConfigResponse;
|
||||
max_concurrency?: number | null;
|
||||
schedule_config?: ScheduleConfigResponse | null;
|
||||
circuit_breaker?: CircuitBreakerConfigResponse | null;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -192,6 +194,20 @@ export type ChunkSearchResponseSchema = {
|
|||
total_results: number;
|
||||
};
|
||||
|
||||
export type CircuitBreakerConfigRequest = {
|
||||
enabled?: boolean;
|
||||
failure_threshold?: number;
|
||||
window_seconds?: number;
|
||||
min_calls_in_window?: number;
|
||||
};
|
||||
|
||||
export type CircuitBreakerConfigResponse = {
|
||||
enabled: boolean;
|
||||
failure_threshold: number;
|
||||
window_seconds: number;
|
||||
min_calls_in_window: number;
|
||||
};
|
||||
|
||||
/**
|
||||
* Request schema for Cloudonix configuration.
|
||||
*/
|
||||
|
|
@ -241,6 +257,7 @@ export type CreateCampaignRequest = {
|
|||
retry_config?: RetryConfigRequest | null;
|
||||
max_concurrency?: number | null;
|
||||
schedule_config?: ScheduleConfigRequest | null;
|
||||
circuit_breaker?: CircuitBreakerConfigRequest | null;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -715,6 +732,13 @@ export type IntegrationResponse = {
|
|||
|
||||
export type ItemKind = 'node' | 'edge' | 'workflow';
|
||||
|
||||
export type LastCampaignSettingsResponse = {
|
||||
retry_config?: RetryConfigResponse | null;
|
||||
max_concurrency?: number | null;
|
||||
schedule_config?: ScheduleConfigResponse | null;
|
||||
circuit_breaker?: CircuitBreakerConfigResponse | null;
|
||||
};
|
||||
|
||||
export type LoadTestStatsResponse = {
|
||||
total: number;
|
||||
pending: number;
|
||||
|
|
@ -949,7 +973,7 @@ export type ToolResponse = {
|
|||
*/
|
||||
export type TransferCallConfig = {
|
||||
/**
|
||||
* Phone number to transfer the call to (E.164 format, e.g., +1234567890)
|
||||
* Phone number or SIP endpoint to transfer the call to (E.164 format e.g., +1234567890, or SIP endpoint e.g., PJSIP/1234)
|
||||
*/
|
||||
destination: string;
|
||||
/**
|
||||
|
|
@ -1058,6 +1082,7 @@ export type UpdateCampaignRequest = {
|
|||
retry_config?: RetryConfigRequest | null;
|
||||
max_concurrency?: number | null;
|
||||
schedule_config?: ScheduleConfigRequest | null;
|
||||
circuit_breaker?: CircuitBreakerConfigRequest | null;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -1574,6 +1599,35 @@ export type HandleCloudonixStatusCallbackApiV1TelephonyCloudonixStatusCallbackWo
|
|||
200: unknown;
|
||||
};
|
||||
|
||||
export type HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostData = {
|
||||
body?: never;
|
||||
path: {
|
||||
workflow_run_id: number;
|
||||
};
|
||||
query?: never;
|
||||
url: '/api/v1/telephony/cloudonix/amd-callback/{workflow_run_id}';
|
||||
};
|
||||
|
||||
export type HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostErrors = {
|
||||
/**
|
||||
* Not found
|
||||
*/
|
||||
404: unknown;
|
||||
/**
|
||||
* Validation Error
|
||||
*/
|
||||
422: HttpValidationError;
|
||||
};
|
||||
|
||||
export type HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostError = HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostErrors[keyof HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostErrors];
|
||||
|
||||
export type HandleCloudonixAmdCallbackApiV1TelephonyCloudonixAmdCallbackWorkflowRunIdPostResponses = {
|
||||
/**
|
||||
* Successful Response
|
||||
*/
|
||||
200: unknown;
|
||||
};
|
||||
|
||||
export type HandleVobizHangupCallbackByWorkflowApiV1TelephonyVobizHangupCallbackWorkflowWorkflowIdPostData = {
|
||||
body?: never;
|
||||
headers?: {
|
||||
|
|
@ -3593,7 +3647,7 @@ export type SaveTelephonyConfigurationApiV1OrganizationsTelephonyConfigPostRespo
|
|||
200: unknown;
|
||||
};
|
||||
|
||||
export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetData = {
|
||||
export type GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetData = {
|
||||
body?: never;
|
||||
headers?: {
|
||||
authorization?: string | null;
|
||||
|
|
@ -3601,10 +3655,10 @@ export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetData = {
|
|||
};
|
||||
path?: never;
|
||||
query?: never;
|
||||
url: '/api/v1/organizations/campaign-limits';
|
||||
url: '/api/v1/organizations/campaign-defaults';
|
||||
};
|
||||
|
||||
export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetErrors = {
|
||||
export type GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetErrors = {
|
||||
/**
|
||||
* Not found
|
||||
*/
|
||||
|
|
@ -3615,16 +3669,16 @@ export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetErrors = {
|
|||
422: HttpValidationError;
|
||||
};
|
||||
|
||||
export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetError = GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetErrors[keyof GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetErrors];
|
||||
export type GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetError = GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetErrors[keyof GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetErrors];
|
||||
|
||||
export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetResponses = {
|
||||
export type GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetResponses = {
|
||||
/**
|
||||
* Successful Response
|
||||
*/
|
||||
200: CampaignLimitsResponse;
|
||||
200: CampaignDefaultsResponse;
|
||||
};
|
||||
|
||||
export type GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetResponse = GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetResponses[keyof GetCampaignLimitsApiV1OrganizationsCampaignLimitsGetResponses];
|
||||
export type GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetResponse = GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetResponses[keyof GetCampaignDefaultsApiV1OrganizationsCampaignDefaultsGetResponses];
|
||||
|
||||
export type GetSignedUrlApiV1S3SignedUrlGetData = {
|
||||
body?: never;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue