waldur-js-client 7.9.7 → 7.9.8-dev.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/sdk.gen.js CHANGED
@@ -6088,6 +6088,224 @@ export const databaseStatsRetrieve = (options) => {
6088
6088
  ...options
6089
6089
  });
6090
6090
  };
6091
+ /**
6092
+ * Get circuit breaker state
6093
+ * Get current STOMP circuit breaker state and statistics.
6094
+ *
6095
+ * Returns:
6096
+ * - state: Current state (closed/open/half_open)
6097
+ * - failure_count: Number of consecutive failures
6098
+ * - success_count: Successes since last state change
6099
+ * - last_failure_time: Timestamp of last failure
6100
+ * - last_state_change: When state last changed
6101
+ * - config: Circuit breaker configuration
6102
+ * - state_history: Recent state transitions
6103
+ *
6104
+ * Requires staff permissions.
6105
+ */
6106
+ export const debugPubsubCircuitBreakerRetrieve = (options) => {
6107
+ return (options?.client ?? _heyApiClient).get({
6108
+ security: [
6109
+ {
6110
+ name: 'Authorization',
6111
+ type: 'apiKey'
6112
+ },
6113
+ {
6114
+ scheme: 'bearer',
6115
+ type: 'http'
6116
+ }
6117
+ ],
6118
+ url: '/api/debug/pubsub/circuit_breaker/',
6119
+ ...options
6120
+ });
6121
+ };
6122
+ /**
6123
+ * Reset circuit breaker
6124
+ * Manually reset the STOMP circuit breaker to CLOSED state.
6125
+ *
6126
+ * Use with caution - only when RabbitMQ is confirmed healthy.
6127
+ *
6128
+ * Requires staff permissions.
6129
+ */
6130
+ export const debugPubsubCircuitBreakerReset = (options) => {
6131
+ return (options?.client ?? _heyApiClient).post({
6132
+ security: [
6133
+ {
6134
+ name: 'Authorization',
6135
+ type: 'apiKey'
6136
+ },
6137
+ {
6138
+ scheme: 'bearer',
6139
+ type: 'http'
6140
+ }
6141
+ ],
6142
+ url: '/api/debug/pubsub/circuit_breaker_reset/',
6143
+ ...options
6144
+ });
6145
+ };
6146
+ /**
6147
+ * Get dead letter queue status
6148
+ * Get dead letter queue (DLQ) statistics.
6149
+ *
6150
+ * The DLQ receives messages that failed to be delivered to their original
6151
+ * destination. This endpoint shows the current DLQ status.
6152
+ *
6153
+ * Note: DLQ is configured per-vhost. This endpoint checks all vhosts
6154
+ * for queues with 'dlq' in the name.
6155
+ *
6156
+ * Requires staff permissions.
6157
+ */
6158
+ export const debugPubsubDeadLetterQueueRetrieve = (options) => {
6159
+ return (options?.client ?? _heyApiClient).get({
6160
+ security: [
6161
+ {
6162
+ name: 'Authorization',
6163
+ type: 'apiKey'
6164
+ },
6165
+ {
6166
+ scheme: 'bearer',
6167
+ type: 'http'
6168
+ }
6169
+ ],
6170
+ url: '/api/debug/pubsub/dead_letter_queue/',
6171
+ ...options
6172
+ });
6173
+ };
6174
+ /**
6175
+ * Get message state cache statistics
6176
+ * Get message state tracker cache statistics for idempotency.
6177
+ *
6178
+ * The message state tracker prevents duplicate message sends by caching
6179
+ * the hash of message content. This endpoint provides cache statistics.
6180
+ *
6181
+ * Query params:
6182
+ * - resource_uuid: Filter by specific resource
6183
+ * - message_type: Filter by message type
6184
+ *
6185
+ * Requires staff permissions.
6186
+ */
6187
+ export const debugPubsubMessageStateCacheRetrieve = (options) => {
6188
+ return (options?.client ?? _heyApiClient).get({
6189
+ security: [
6190
+ {
6191
+ name: 'Authorization',
6192
+ type: 'apiKey'
6193
+ },
6194
+ {
6195
+ scheme: 'bearer',
6196
+ type: 'http'
6197
+ }
6198
+ ],
6199
+ url: '/api/debug/pubsub/message_state_cache/',
6200
+ ...options
6201
+ });
6202
+ };
6203
+ /**
6204
+ * Get publishing metrics
6205
+ * Get message publishing metrics and statistics.
6206
+ *
6207
+ * Returns:
6208
+ * - messages_sent: Total messages successfully sent
6209
+ * - messages_failed: Total failed message attempts
6210
+ * - messages_retried: Messages that required retry
6211
+ * - messages_skipped: Messages skipped due to circuit breaker
6212
+ * - circuit_breaker_trips: Number of times circuit opened
6213
+ * - rate_limiter_rejections: Messages rejected by rate limiter
6214
+ * - avg_publish_time_ms: Average publish latency
6215
+ * - last_publish_time: Timestamp of last publish attempt
6216
+ *
6217
+ * Requires staff permissions.
6218
+ */
6219
+ export const debugPubsubMetricsRetrieve = (options) => {
6220
+ return (options?.client ?? _heyApiClient).get({
6221
+ security: [
6222
+ {
6223
+ name: 'Authorization',
6224
+ type: 'apiKey'
6225
+ },
6226
+ {
6227
+ scheme: 'bearer',
6228
+ type: 'http'
6229
+ }
6230
+ ],
6231
+ url: '/api/debug/pubsub/metrics/',
6232
+ ...options
6233
+ });
6234
+ };
6235
+ /**
6236
+ * Reset publishing metrics
6237
+ * Reset all publishing metrics counters to zero.
6238
+ *
6239
+ * Requires staff permissions.
6240
+ */
6241
+ export const debugPubsubMetricsReset = (options) => {
6242
+ return (options?.client ?? _heyApiClient).post({
6243
+ security: [
6244
+ {
6245
+ name: 'Authorization',
6246
+ type: 'apiKey'
6247
+ },
6248
+ {
6249
+ scheme: 'bearer',
6250
+ type: 'http'
6251
+ }
6252
+ ],
6253
+ url: '/api/debug/pubsub/metrics_reset/',
6254
+ ...options
6255
+ });
6256
+ };
6257
+ /**
6258
+ * Get pubsub system health overview
6259
+ * Dashboard overview of pubsub system health.
6260
+ *
6261
+ * Combines circuit breaker state, publishing metrics, and health indicators
6262
+ * into a single response suitable for monitoring dashboards.
6263
+ *
6264
+ * Requires staff permissions.
6265
+ */
6266
+ export const debugPubsubOverviewRetrieve = (options) => {
6267
+ return (options?.client ?? _heyApiClient).get({
6268
+ security: [
6269
+ {
6270
+ name: 'Authorization',
6271
+ type: 'apiKey'
6272
+ },
6273
+ {
6274
+ scheme: 'bearer',
6275
+ type: 'http'
6276
+ }
6277
+ ],
6278
+ url: '/api/debug/pubsub/overview/',
6279
+ ...options
6280
+ });
6281
+ };
6282
+ /**
6283
+ * Get subscription queues overview
6284
+ * Get overview of subscription queues from RabbitMQ.
6285
+ *
6286
+ * Returns summary of subscription queues across all vhosts including
6287
+ * message counts and queue statistics.
6288
+ *
6289
+ * Note: For detailed queue management, use /api/rabbitmq-stats/ endpoint.
6290
+ *
6291
+ * Requires staff permissions.
6292
+ */
6293
+ export const debugPubsubQueuesRetrieve = (options) => {
6294
+ return (options?.client ?? _heyApiClient).get({
6295
+ security: [
6296
+ {
6297
+ name: 'Authorization',
6298
+ type: 'apiKey'
6299
+ },
6300
+ {
6301
+ scheme: 'bearer',
6302
+ type: 'http'
6303
+ }
6304
+ ],
6305
+ url: '/api/debug/pubsub/queues/',
6306
+ ...options
6307
+ });
6308
+ };
6091
6309
  export const digitaloceanDropletsList = (options) => {
6092
6310
  return (options?.client ?? _heyApiClient).get({
6093
6311
  security: [
@@ -2809,6 +2809,78 @@ export type ChecklistTemplate = {
2809
2809
  initial_visible_questions: Array<Question>;
2810
2810
  };
2811
2811
  export type ChecklistTypeEnum = 'project_compliance' | 'proposal_compliance' | 'offering_compliance' | 'project_metadata' | 'onboarding_customer' | 'onboarding_intent';
2812
+ export type CircuitBreakerConfig = {
2813
+ /**
2814
+ * Number of failures before opening circuit
2815
+ */
2816
+ readonly failure_threshold: number;
2817
+ /**
2818
+ * Seconds to wait before attempting recovery
2819
+ */
2820
+ readonly recovery_timeout: number;
2821
+ /**
2822
+ * Successful calls needed in half-open state to close
2823
+ */
2824
+ readonly success_threshold: number;
2825
+ };
2826
+ export type CircuitBreakerReset = {
2827
+ /**
2828
+ * Operation status
2829
+ */
2830
+ readonly status: string;
2831
+ /**
2832
+ * New circuit breaker state after reset
2833
+ */
2834
+ readonly state: string;
2835
+ };
2836
+ export type CircuitBreakerStateChange = {
2837
+ /**
2838
+ * Unix timestamp of state change
2839
+ */
2840
+ readonly timestamp: number;
2841
+ /**
2842
+ * Previous state
2843
+ */
2844
+ readonly from_state: string | null;
2845
+ /**
2846
+ * New state
2847
+ */
2848
+ readonly to_state: string;
2849
+ /**
2850
+ * Reason for state change
2851
+ */
2852
+ readonly reason: string;
2853
+ };
2854
+ export type CircuitBreakerStatus = {
2855
+ /**
2856
+ * Current state: closed, open, or half_open
2857
+ */
2858
+ readonly state: string;
2859
+ /**
2860
+ * Number of consecutive failures
2861
+ */
2862
+ readonly failure_count: number;
2863
+ /**
2864
+ * Successful calls since last state change
2865
+ */
2866
+ readonly success_count: number;
2867
+ /**
2868
+ * Unix timestamp of last failure
2869
+ */
2870
+ readonly last_failure_time: number | null;
2871
+ /**
2872
+ * Unix timestamp of last state change
2873
+ */
2874
+ readonly last_state_change: number | null;
2875
+ /**
2876
+ * Circuit breaker configuration
2877
+ */
2878
+ config: CircuitBreakerConfig;
2879
+ /**
2880
+ * Recent state transitions (last 50)
2881
+ */
2882
+ readonly state_history: Array<CircuitBreakerStateChange>;
2883
+ };
2812
2884
  export type CleanupRequestRequest = {
2813
2885
  /**
2814
2886
  * If true, only return what would be deleted without actually deleting
@@ -4279,6 +4351,28 @@ export type CustomerUser = {
4279
4351
  readonly expiration_time?: string | null;
4280
4352
  image?: string | null;
4281
4353
  };
4354
+ export type DlqQueue = {
4355
+ /**
4356
+ * Virtual host name
4357
+ */
4358
+ readonly vhost: string;
4359
+ /**
4360
+ * DLQ queue name
4361
+ */
4362
+ readonly queue_name: string;
4363
+ /**
4364
+ * Total messages in DLQ
4365
+ */
4366
+ readonly messages: number;
4367
+ /**
4368
+ * Messages ready for delivery
4369
+ */
4370
+ readonly messages_ready: number;
4371
+ /**
4372
+ * Number of consumers attached
4373
+ */
4374
+ readonly consumers: number;
4375
+ };
4282
4376
  export type DataVolume = {
4283
4377
  size: number;
4284
4378
  volume_type?: string | null;
@@ -4351,6 +4445,24 @@ export type DatabaseStatsResponse = {
4351
4445
  */
4352
4446
  replication: ReplicationStats;
4353
4447
  };
4448
+ export type DeadLetterQueue = {
4449
+ /**
4450
+ * Total messages across all DLQs
4451
+ */
4452
+ readonly total_dlq_messages: number;
4453
+ /**
4454
+ * Number of DLQ queues found
4455
+ */
4456
+ readonly dlq_count: number;
4457
+ /**
4458
+ * List of DLQ queues with their statistics
4459
+ */
4460
+ readonly dlq_queues: Array<DlqQueue>;
4461
+ /**
4462
+ * Informational note about DLQs
4463
+ */
4464
+ readonly note: string;
4465
+ };
4354
4466
  export type DecidingEntityEnum = 'by_call_manager' | 'automatic';
4355
4467
  export type DeleteAttachmentsRequest = {
4356
4468
  attachment_ids: Array<string>;
@@ -7544,6 +7656,30 @@ export type MergedSecretOptionsRequest = {
7544
7656
  export type MessageResponse = {
7545
7657
  message: string;
7546
7658
  };
7659
+ export type MessageStateCache = {
7660
+ /**
7661
+ * Cache TTL in seconds
7662
+ */
7663
+ readonly cache_ttl: number;
7664
+ /**
7665
+ * Cache description
7666
+ */
7667
+ readonly description: string;
7668
+ /**
7669
+ * Applied filters
7670
+ */
7671
+ filter: MessageStateCacheFilter;
7672
+ };
7673
+ export type MessageStateCacheFilter = {
7674
+ /**
7675
+ * Filter by resource UUID
7676
+ */
7677
+ readonly resource_uuid: string | null;
7678
+ /**
7679
+ * Filter by message type
7680
+ */
7681
+ readonly message_type: string | null;
7682
+ };
7547
7683
  export type MessageTemplate = {
7548
7684
  readonly url: string;
7549
7685
  readonly uuid: string;
@@ -7556,6 +7692,12 @@ export type MessageTemplateRequest = {
7556
7692
  subject: string;
7557
7693
  body: string;
7558
7694
  };
7695
+ export type MetricsReset = {
7696
+ /**
7697
+ * Operation status
7698
+ */
7699
+ readonly status: string;
7700
+ };
7559
7701
  export type MigrationCreate = {
7560
7702
  mappings?: Mapping;
7561
7703
  src_resource: string;
@@ -14807,6 +14949,94 @@ export type PublicOfferingDetails = {
14807
14949
  readonly google_calendar_link?: string | null;
14808
14950
  readonly promotion_campaigns?: Array<NestedCampaign>;
14809
14951
  };
14952
+ export type PublishingMetrics = {
14953
+ /**
14954
+ * Total messages successfully sent
14955
+ */
14956
+ readonly messages_sent: number;
14957
+ /**
14958
+ * Total failed message attempts
14959
+ */
14960
+ readonly messages_failed: number;
14961
+ /**
14962
+ * Messages that required retry
14963
+ */
14964
+ readonly messages_retried: number;
14965
+ /**
14966
+ * Messages skipped due to circuit breaker
14967
+ */
14968
+ readonly messages_skipped: number;
14969
+ /**
14970
+ * Number of times circuit breaker opened
14971
+ */
14972
+ readonly circuit_breaker_trips: number;
14973
+ /**
14974
+ * Messages rejected by rate limiter
14975
+ */
14976
+ readonly rate_limiter_rejections: number;
14977
+ /**
14978
+ * Average message publish latency in milliseconds
14979
+ */
14980
+ readonly avg_publish_time_ms: number;
14981
+ /**
14982
+ * Unix timestamp of last publish attempt
14983
+ */
14984
+ readonly last_publish_time: number | null;
14985
+ };
14986
+ export type PubsubCircuitBreakerSummary = {
14987
+ /**
14988
+ * Current state: closed, open, or half_open
14989
+ */
14990
+ readonly state: string;
14991
+ /**
14992
+ * Whether circuit breaker is in healthy state (closed)
14993
+ */
14994
+ readonly healthy: boolean;
14995
+ /**
14996
+ * Number of consecutive failures
14997
+ */
14998
+ readonly failure_count: number;
14999
+ };
15000
+ export type PubsubMetricsSummary = {
15001
+ /**
15002
+ * Total messages sent
15003
+ */
15004
+ readonly messages_sent: number;
15005
+ /**
15006
+ * Total messages failed
15007
+ */
15008
+ readonly messages_failed: number;
15009
+ /**
15010
+ * Failure rate as percentage string
15011
+ */
15012
+ readonly failure_rate: string;
15013
+ /**
15014
+ * Average publish latency in milliseconds
15015
+ */
15016
+ readonly avg_latency_ms: number;
15017
+ };
15018
+ export type PubsubOverview = {
15019
+ /**
15020
+ * Overall health: healthy, degraded, or critical
15021
+ */
15022
+ readonly health_status: string;
15023
+ /**
15024
+ * List of current issues affecting health
15025
+ */
15026
+ readonly issues: Array<string>;
15027
+ /**
15028
+ * Circuit breaker summary
15029
+ */
15030
+ circuit_breaker: PubsubCircuitBreakerSummary;
15031
+ /**
15032
+ * Publishing metrics summary
15033
+ */
15034
+ metrics: PubsubMetricsSummary;
15035
+ /**
15036
+ * Timestamp when overview was generated
15037
+ */
15038
+ readonly last_updated: string;
15039
+ };
14810
15040
  export type PullMarketplaceScriptResourceRequest = {
14811
15041
  resource_uuid: string;
14812
15042
  };
@@ -18575,6 +18805,24 @@ export type SubresourceOffering = {
18575
18805
  */
18576
18806
  readonly type: string;
18577
18807
  };
18808
+ export type SubscriptionQueuesOverview = {
18809
+ /**
18810
+ * Total number of vhosts with subscription queues
18811
+ */
18812
+ readonly total_vhosts: number;
18813
+ /**
18814
+ * Total number of subscription queues
18815
+ */
18816
+ readonly total_queues: number;
18817
+ /**
18818
+ * Total messages across all subscription queues
18819
+ */
18820
+ readonly total_messages: number;
18821
+ /**
18822
+ * Top 10 queues by message count
18823
+ */
18824
+ readonly top_queues_by_messages: Array<TopQueue>;
18825
+ };
18578
18826
  export type SuggestAlternativeReviewers = {
18579
18827
  /**
18580
18828
  * List of alternative reviewers with affinity scores
@@ -18721,6 +18969,24 @@ export type ToolExecuteRequest = {
18721
18969
  */
18722
18970
  arguments?: unknown;
18723
18971
  };
18972
+ export type TopQueue = {
18973
+ /**
18974
+ * Virtual host name
18975
+ */
18976
+ readonly vhost: string;
18977
+ /**
18978
+ * Queue name
18979
+ */
18980
+ readonly name: string;
18981
+ /**
18982
+ * Number of messages in queue
18983
+ */
18984
+ readonly messages: number;
18985
+ /**
18986
+ * Number of consumers attached
18987
+ */
18988
+ readonly consumers: number;
18989
+ };
18724
18990
  export type TotalCustomerCost = {
18725
18991
  readonly total: number;
18726
18992
  readonly price: number;
@@ -28351,6 +28617,94 @@ export type DatabaseStatsRetrieveResponses = {
28351
28617
  200: DatabaseStatsResponse;
28352
28618
  };
28353
28619
  export type DatabaseStatsRetrieveResponse = DatabaseStatsRetrieveResponses[keyof DatabaseStatsRetrieveResponses];
28620
+ export type DebugPubsubCircuitBreakerRetrieveData = {
28621
+ body?: never;
28622
+ path?: never;
28623
+ query?: never;
28624
+ url: '/api/debug/pubsub/circuit_breaker/';
28625
+ };
28626
+ export type DebugPubsubCircuitBreakerRetrieveResponses = {
28627
+ 200: CircuitBreakerStatus;
28628
+ };
28629
+ export type DebugPubsubCircuitBreakerRetrieveResponse = DebugPubsubCircuitBreakerRetrieveResponses[keyof DebugPubsubCircuitBreakerRetrieveResponses];
28630
+ export type DebugPubsubCircuitBreakerResetData = {
28631
+ body?: never;
28632
+ path?: never;
28633
+ query?: never;
28634
+ url: '/api/debug/pubsub/circuit_breaker_reset/';
28635
+ };
28636
+ export type DebugPubsubCircuitBreakerResetResponses = {
28637
+ 200: CircuitBreakerReset;
28638
+ };
28639
+ export type DebugPubsubCircuitBreakerResetResponse = DebugPubsubCircuitBreakerResetResponses[keyof DebugPubsubCircuitBreakerResetResponses];
28640
+ export type DebugPubsubDeadLetterQueueRetrieveData = {
28641
+ body?: never;
28642
+ path?: never;
28643
+ query?: never;
28644
+ url: '/api/debug/pubsub/dead_letter_queue/';
28645
+ };
28646
+ export type DebugPubsubDeadLetterQueueRetrieveErrors = {
28647
+ 503: RmqStatsError;
28648
+ };
28649
+ export type DebugPubsubDeadLetterQueueRetrieveError = DebugPubsubDeadLetterQueueRetrieveErrors[keyof DebugPubsubDeadLetterQueueRetrieveErrors];
28650
+ export type DebugPubsubDeadLetterQueueRetrieveResponses = {
28651
+ 200: DeadLetterQueue;
28652
+ };
28653
+ export type DebugPubsubDeadLetterQueueRetrieveResponse = DebugPubsubDeadLetterQueueRetrieveResponses[keyof DebugPubsubDeadLetterQueueRetrieveResponses];
28654
+ export type DebugPubsubMessageStateCacheRetrieveData = {
28655
+ body?: never;
28656
+ path?: never;
28657
+ query?: never;
28658
+ url: '/api/debug/pubsub/message_state_cache/';
28659
+ };
28660
+ export type DebugPubsubMessageStateCacheRetrieveResponses = {
28661
+ 200: MessageStateCache;
28662
+ };
28663
+ export type DebugPubsubMessageStateCacheRetrieveResponse = DebugPubsubMessageStateCacheRetrieveResponses[keyof DebugPubsubMessageStateCacheRetrieveResponses];
28664
+ export type DebugPubsubMetricsRetrieveData = {
28665
+ body?: never;
28666
+ path?: never;
28667
+ query?: never;
28668
+ url: '/api/debug/pubsub/metrics/';
28669
+ };
28670
+ export type DebugPubsubMetricsRetrieveResponses = {
28671
+ 200: PublishingMetrics;
28672
+ };
28673
+ export type DebugPubsubMetricsRetrieveResponse = DebugPubsubMetricsRetrieveResponses[keyof DebugPubsubMetricsRetrieveResponses];
28674
+ export type DebugPubsubMetricsResetData = {
28675
+ body?: never;
28676
+ path?: never;
28677
+ query?: never;
28678
+ url: '/api/debug/pubsub/metrics_reset/';
28679
+ };
28680
+ export type DebugPubsubMetricsResetResponses = {
28681
+ 200: MetricsReset;
28682
+ };
28683
+ export type DebugPubsubMetricsResetResponse = DebugPubsubMetricsResetResponses[keyof DebugPubsubMetricsResetResponses];
28684
+ export type DebugPubsubOverviewRetrieveData = {
28685
+ body?: never;
28686
+ path?: never;
28687
+ query?: never;
28688
+ url: '/api/debug/pubsub/overview/';
28689
+ };
28690
+ export type DebugPubsubOverviewRetrieveResponses = {
28691
+ 200: PubsubOverview;
28692
+ };
28693
+ export type DebugPubsubOverviewRetrieveResponse = DebugPubsubOverviewRetrieveResponses[keyof DebugPubsubOverviewRetrieveResponses];
28694
+ export type DebugPubsubQueuesRetrieveData = {
28695
+ body?: never;
28696
+ path?: never;
28697
+ query?: never;
28698
+ url: '/api/debug/pubsub/queues/';
28699
+ };
28700
+ export type DebugPubsubQueuesRetrieveErrors = {
28701
+ 503: RmqStatsError;
28702
+ };
28703
+ export type DebugPubsubQueuesRetrieveError = DebugPubsubQueuesRetrieveErrors[keyof DebugPubsubQueuesRetrieveErrors];
28704
+ export type DebugPubsubQueuesRetrieveResponses = {
28705
+ 200: SubscriptionQueuesOverview;
28706
+ };
28707
+ export type DebugPubsubQueuesRetrieveResponse = DebugPubsubQueuesRetrieveResponses[keyof DebugPubsubQueuesRetrieveResponses];
28354
28708
  export type DigitaloceanDropletsListData = {
28355
28709
  body?: never;
28356
28710
  path?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waldur-js-client",
3
- "version": "7.9.7",
3
+ "version": "7.9.8-dev.0",
4
4
  "description": "JavaScript client for Waldur MasterMind generated from OpenAPI schema",
5
5
  "author": "Waldur Platform",
6
6
  "license": "MIT",