@l7mp/tivadar-ai-api-sdk 0.2.10 → 0.2.12

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.
Files changed (186) hide show
  1. package/dist/api-client.d.ts +46 -4
  2. package/dist/api-client.js +33 -3
  3. package/dist/apis/AdminSubscriptionsApi.d.ts +82 -0
  4. package/dist/apis/AdminSubscriptionsApi.js +243 -0
  5. package/dist/apis/CallFlagsApi.d.ts +133 -0
  6. package/dist/apis/CallFlagsApi.js +376 -0
  7. package/dist/apis/SubscriptionApi.d.ts +54 -75
  8. package/dist/apis/SubscriptionApi.js +95 -114
  9. package/dist/apis/VoiceUsageApi.d.ts +31 -0
  10. package/dist/apis/VoiceUsageApi.js +73 -0
  11. package/dist/apis/index.d.ts +3 -0
  12. package/dist/apis/index.js +3 -0
  13. package/dist/esm/api-client.d.ts +46 -4
  14. package/dist/esm/api-client.js +33 -3
  15. package/dist/esm/apis/AdminSubscriptionsApi.d.ts +82 -0
  16. package/dist/esm/apis/AdminSubscriptionsApi.js +239 -0
  17. package/dist/esm/apis/CallFlagsApi.d.ts +133 -0
  18. package/dist/esm/apis/CallFlagsApi.js +372 -0
  19. package/dist/esm/apis/SubscriptionApi.d.ts +54 -75
  20. package/dist/esm/apis/SubscriptionApi.js +96 -115
  21. package/dist/esm/apis/VoiceUsageApi.d.ts +31 -0
  22. package/dist/esm/apis/VoiceUsageApi.js +69 -0
  23. package/dist/esm/apis/index.d.ts +3 -0
  24. package/dist/esm/apis/index.js +3 -0
  25. package/dist/esm/models/AdminGrantMinutesRequest.d.ts +38 -0
  26. package/dist/esm/models/AdminGrantMinutesRequest.js +45 -0
  27. package/dist/esm/models/AdminSetSubscriptionRequest.d.ts +86 -0
  28. package/dist/esm/models/AdminSetSubscriptionRequest.js +71 -0
  29. package/dist/esm/models/AdminSubscriptionsListResponse.d.ts +39 -0
  30. package/dist/esm/models/AdminSubscriptionsListResponse.js +48 -0
  31. package/dist/esm/models/BillingPortalRequest.d.ts +1 -1
  32. package/dist/esm/models/BillingPortalResponse.d.ts +1 -1
  33. package/dist/esm/models/Call.d.ts +7 -0
  34. package/dist/esm/models/Call.js +3 -0
  35. package/dist/esm/models/CallFlag.d.ts +110 -0
  36. package/dist/esm/models/CallFlag.js +89 -0
  37. package/dist/esm/models/CallFlagCreate.d.ts +48 -0
  38. package/dist/esm/models/CallFlagCreate.js +54 -0
  39. package/dist/esm/models/CallFlagResolve.d.ts +32 -0
  40. package/dist/esm/models/CallFlagResolve.js +41 -0
  41. package/dist/esm/models/CallFlagUpdate.d.ts +48 -0
  42. package/dist/esm/models/CallFlagUpdate.js +52 -0
  43. package/dist/esm/models/CallFlagWithCall.d.ts +117 -0
  44. package/dist/esm/models/CallFlagWithCall.js +92 -0
  45. package/dist/esm/models/CallFlagWithCallAllOfCall.d.ts +56 -0
  46. package/dist/esm/models/CallFlagWithCallAllOfCall.js +49 -0
  47. package/dist/esm/models/CancelSubscriptionRequest.d.ts +2 -2
  48. package/dist/esm/models/CheckoutSessionResponse.d.ts +2 -2
  49. package/dist/esm/models/CreateCheckoutSessionRequest.d.ts +21 -7
  50. package/dist/esm/models/CreateCheckoutSessionRequest.js +18 -5
  51. package/dist/esm/models/CurrentPeriodUsage.d.ts +59 -0
  52. package/dist/esm/models/CurrentPeriodUsage.js +62 -0
  53. package/dist/esm/models/LifecycleResponse.d.ts +50 -0
  54. package/dist/esm/models/LifecycleResponse.js +51 -0
  55. package/dist/esm/models/PauseSubscriptionRequest.d.ts +1 -1
  56. package/dist/esm/models/PlanCatalogEntry.d.ts +90 -0
  57. package/dist/esm/models/PlanCatalogEntry.js +73 -0
  58. package/dist/esm/models/PlanCatalogEntryOverageInner.d.ts +44 -0
  59. package/dist/esm/models/PlanCatalogEntryOverageInner.js +45 -0
  60. package/dist/esm/models/PlanCatalogPrice.d.ts +58 -0
  61. package/dist/esm/models/PlanCatalogPrice.js +60 -0
  62. package/dist/esm/models/SubscriptionPlanSummary.d.ts +83 -0
  63. package/dist/esm/models/SubscriptionPlanSummary.js +70 -0
  64. package/dist/esm/models/SubscriptionPlanSummaryOverageRate.d.ts +38 -0
  65. package/dist/esm/models/SubscriptionPlanSummaryOverageRate.js +43 -0
  66. package/dist/esm/models/SubscriptionStatus.d.ts +103 -10
  67. package/dist/esm/models/SubscriptionStatus.js +58 -9
  68. package/dist/esm/models/SubscriptionUsageSummary.d.ts +56 -0
  69. package/dist/esm/models/SubscriptionUsageSummary.js +57 -0
  70. package/dist/esm/models/UpdatePlanRequest.d.ts +13 -5
  71. package/dist/esm/models/UpdatePlanRequest.js +12 -3
  72. package/dist/esm/models/UsageBreakdownByAgent.d.ts +44 -0
  73. package/dist/esm/models/UsageBreakdownByAgent.js +49 -0
  74. package/dist/esm/models/UsageBreakdownByDay.d.ts +44 -0
  75. package/dist/esm/models/UsageBreakdownByDay.js +51 -0
  76. package/dist/esm/models/UsageHistoryResponse.d.ts +39 -0
  77. package/dist/esm/models/UsageHistoryResponse.js +48 -0
  78. package/dist/esm/models/UsageRecordDto.d.ts +80 -0
  79. package/dist/esm/models/UsageRecordDto.js +65 -0
  80. package/dist/esm/models/VoiceUsageReportRequest.d.ts +62 -0
  81. package/dist/esm/models/VoiceUsageReportRequest.js +57 -0
  82. package/dist/esm/models/VoiceUsageReportResponse.d.ts +51 -0
  83. package/dist/esm/models/VoiceUsageReportResponse.js +52 -0
  84. package/dist/esm/models/index.d.ts +23 -13
  85. package/dist/esm/models/index.js +23 -13
  86. package/dist/models/AdminGrantMinutesRequest.d.ts +38 -0
  87. package/dist/models/AdminGrantMinutesRequest.js +52 -0
  88. package/dist/models/AdminSetSubscriptionRequest.d.ts +86 -0
  89. package/dist/models/AdminSetSubscriptionRequest.js +79 -0
  90. package/dist/models/AdminSubscriptionsListResponse.d.ts +39 -0
  91. package/dist/models/AdminSubscriptionsListResponse.js +55 -0
  92. package/dist/models/BillingPortalRequest.d.ts +1 -1
  93. package/dist/models/BillingPortalResponse.d.ts +1 -1
  94. package/dist/models/Call.d.ts +7 -0
  95. package/dist/models/Call.js +3 -0
  96. package/dist/models/CallFlag.d.ts +110 -0
  97. package/dist/models/CallFlag.js +97 -0
  98. package/dist/models/CallFlagCreate.d.ts +48 -0
  99. package/dist/models/CallFlagCreate.js +62 -0
  100. package/dist/models/CallFlagResolve.d.ts +32 -0
  101. package/dist/models/CallFlagResolve.js +48 -0
  102. package/dist/models/CallFlagUpdate.d.ts +48 -0
  103. package/dist/models/CallFlagUpdate.js +60 -0
  104. package/dist/models/CallFlagWithCall.d.ts +117 -0
  105. package/dist/models/CallFlagWithCall.js +100 -0
  106. package/dist/models/CallFlagWithCallAllOfCall.d.ts +56 -0
  107. package/dist/models/CallFlagWithCallAllOfCall.js +56 -0
  108. package/dist/models/CancelSubscriptionRequest.d.ts +2 -2
  109. package/dist/models/CheckoutSessionResponse.d.ts +2 -2
  110. package/dist/models/CreateCheckoutSessionRequest.d.ts +21 -7
  111. package/dist/models/CreateCheckoutSessionRequest.js +19 -5
  112. package/dist/models/CurrentPeriodUsage.d.ts +59 -0
  113. package/dist/models/CurrentPeriodUsage.js +69 -0
  114. package/dist/models/LifecycleResponse.d.ts +50 -0
  115. package/dist/models/LifecycleResponse.js +58 -0
  116. package/dist/models/PauseSubscriptionRequest.d.ts +1 -1
  117. package/dist/models/PlanCatalogEntry.d.ts +90 -0
  118. package/dist/models/PlanCatalogEntry.js +80 -0
  119. package/dist/models/PlanCatalogEntryOverageInner.d.ts +44 -0
  120. package/dist/models/PlanCatalogEntryOverageInner.js +52 -0
  121. package/dist/models/PlanCatalogPrice.d.ts +58 -0
  122. package/dist/models/PlanCatalogPrice.js +68 -0
  123. package/dist/models/SubscriptionPlanSummary.d.ts +83 -0
  124. package/dist/models/SubscriptionPlanSummary.js +77 -0
  125. package/dist/models/SubscriptionPlanSummaryOverageRate.d.ts +38 -0
  126. package/dist/models/SubscriptionPlanSummaryOverageRate.js +50 -0
  127. package/dist/models/SubscriptionStatus.d.ts +103 -10
  128. package/dist/models/SubscriptionStatus.js +59 -9
  129. package/dist/models/SubscriptionUsageSummary.d.ts +56 -0
  130. package/dist/models/SubscriptionUsageSummary.js +64 -0
  131. package/dist/models/UpdatePlanRequest.d.ts +13 -5
  132. package/dist/models/UpdatePlanRequest.js +13 -3
  133. package/dist/models/UsageBreakdownByAgent.d.ts +44 -0
  134. package/dist/models/UsageBreakdownByAgent.js +56 -0
  135. package/dist/models/UsageBreakdownByDay.d.ts +44 -0
  136. package/dist/models/UsageBreakdownByDay.js +58 -0
  137. package/dist/models/UsageHistoryResponse.d.ts +39 -0
  138. package/dist/models/UsageHistoryResponse.js +55 -0
  139. package/dist/models/UsageRecordDto.d.ts +80 -0
  140. package/dist/models/UsageRecordDto.js +72 -0
  141. package/dist/models/VoiceUsageReportRequest.d.ts +62 -0
  142. package/dist/models/VoiceUsageReportRequest.js +64 -0
  143. package/dist/models/VoiceUsageReportResponse.d.ts +51 -0
  144. package/dist/models/VoiceUsageReportResponse.js +59 -0
  145. package/dist/models/index.d.ts +23 -13
  146. package/dist/models/index.js +23 -13
  147. package/package.json +1 -1
  148. package/src/api-client.ts +71 -6
  149. package/src/apis/AdminSubscriptionsApi.ts +331 -0
  150. package/src/apis/CallFlagsApi.ts +546 -0
  151. package/src/apis/SubscriptionApi.ts +130 -162
  152. package/src/apis/VoiceUsageApi.ts +86 -0
  153. package/src/apis/index.ts +3 -0
  154. package/src/models/AdminGrantMinutesRequest.ts +74 -0
  155. package/src/models/AdminSetSubscriptionRequest.ts +136 -0
  156. package/src/models/AdminSubscriptionsListResponse.ts +83 -0
  157. package/src/models/BillingPortalRequest.ts +1 -1
  158. package/src/models/BillingPortalResponse.ts +1 -1
  159. package/src/models/Call.ts +16 -0
  160. package/src/models/CallFlag.ts +173 -0
  161. package/src/models/CallFlagCreate.ts +87 -0
  162. package/src/models/CallFlagResolve.ts +65 -0
  163. package/src/models/CallFlagUpdate.ts +86 -0
  164. package/src/models/CallFlagWithCall.ts +189 -0
  165. package/src/models/CallFlagWithCallAllOfCall.ts +97 -0
  166. package/src/models/CancelSubscriptionRequest.ts +2 -2
  167. package/src/models/CheckoutSessionResponse.ts +2 -2
  168. package/src/models/CreateCheckoutSessionRequest.ts +33 -12
  169. package/src/models/CurrentPeriodUsage.ts +124 -0
  170. package/src/models/LifecycleResponse.ts +91 -0
  171. package/src/models/PauseSubscriptionRequest.ts +1 -1
  172. package/src/models/PlanCatalogEntry.ts +158 -0
  173. package/src/models/PlanCatalogEntryOverageInner.ts +81 -0
  174. package/src/models/PlanCatalogPrice.ts +103 -0
  175. package/src/models/SubscriptionPlanSummary.ts +143 -0
  176. package/src/models/SubscriptionPlanSummaryOverageRate.ts +73 -0
  177. package/src/models/SubscriptionStatus.ts +150 -32
  178. package/src/models/SubscriptionUsageSummary.ts +101 -0
  179. package/src/models/UpdatePlanRequest.ts +20 -8
  180. package/src/models/UsageBreakdownByAgent.ts +83 -0
  181. package/src/models/UsageBreakdownByDay.ts +84 -0
  182. package/src/models/UsageHistoryResponse.ts +83 -0
  183. package/src/models/UsageRecordDto.ts +133 -0
  184. package/src/models/VoiceUsageReportRequest.ts +108 -0
  185. package/src/models/VoiceUsageReportResponse.ts +99 -0
  186. package/src/models/index.ts +23 -13
@@ -0,0 +1,86 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Tivadar AI Backend API
5
+ * Unified REST API for Tivadar AI Voice Agents platform
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ import * as runtime from '../runtime';
17
+ import type {
18
+ VoiceUsageReportRequest,
19
+ VoiceUsageReportResponse,
20
+ } from '../models/index';
21
+ import {
22
+ VoiceUsageReportRequestFromJSON,
23
+ VoiceUsageReportRequestToJSON,
24
+ VoiceUsageReportResponseFromJSON,
25
+ VoiceUsageReportResponseToJSON,
26
+ } from '../models/index';
27
+
28
+ export interface VoiceUsageReportPostRequest {
29
+ voiceUsageReportRequest: VoiceUsageReportRequest;
30
+ }
31
+
32
+ /**
33
+ *
34
+ */
35
+ export class VoiceUsageApi extends runtime.BaseAPI {
36
+
37
+ /**
38
+ * Records voice-minute usage and reports overage to Stripe\'s Meter Events API when the included-minutes threshold is crossed. The request must be authenticated as a member of the target organization (or via the null provider in dev). Idempotent on `idempotencyKey`.
39
+ * Report voice usage for a call (used by agent runtimes)
40
+ */
41
+ async voiceUsageReportPostRaw(requestParameters: VoiceUsageReportPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VoiceUsageReportResponse>> {
42
+ if (requestParameters['voiceUsageReportRequest'] == null) {
43
+ throw new runtime.RequiredError(
44
+ 'voiceUsageReportRequest',
45
+ 'Required parameter "voiceUsageReportRequest" was null or undefined when calling voiceUsageReportPost().'
46
+ );
47
+ }
48
+
49
+ const queryParameters: any = {};
50
+
51
+ const headerParameters: runtime.HTTPHeaders = {};
52
+
53
+ headerParameters['Content-Type'] = 'application/json';
54
+
55
+ if (this.configuration && this.configuration.accessToken) {
56
+ const token = this.configuration.accessToken;
57
+ const tokenString = await token("bearerAuth", []);
58
+
59
+ if (tokenString) {
60
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
61
+ }
62
+ }
63
+
64
+ let urlPath = `/voice-usage/report`;
65
+
66
+ const response = await this.request({
67
+ path: urlPath,
68
+ method: 'POST',
69
+ headers: headerParameters,
70
+ query: queryParameters,
71
+ body: VoiceUsageReportRequestToJSON(requestParameters['voiceUsageReportRequest']),
72
+ }, initOverrides);
73
+
74
+ return new runtime.JSONApiResponse(response, (jsonValue) => VoiceUsageReportResponseFromJSON(jsonValue));
75
+ }
76
+
77
+ /**
78
+ * Records voice-minute usage and reports overage to Stripe\'s Meter Events API when the included-minutes threshold is crossed. The request must be authenticated as a member of the target organization (or via the null provider in dev). Idempotent on `idempotencyKey`.
79
+ * Report voice usage for a call (used by agent runtimes)
80
+ */
81
+ async voiceUsageReportPost(requestParameters: VoiceUsageReportPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VoiceUsageReportResponse> {
82
+ const response = await this.voiceUsageReportPostRaw(requestParameters, initOverrides);
83
+ return await response.value();
84
+ }
85
+
86
+ }
package/src/apis/index.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+ export * from './AdminSubscriptionsApi';
3
4
  export * from './CalendarApi';
5
+ export * from './CallFlagsApi';
4
6
  export * from './CallsApi';
5
7
  export * from './ChatAgentsApi';
6
8
  export * from './EmbeddingProvidersApi';
@@ -21,3 +23,4 @@ export * from './SubscriptionApi';
21
23
  export * from './TTSProvidersApi';
22
24
  export * from './ToolsApi';
23
25
  export * from './VoiceAgentsApi';
26
+ export * from './VoiceUsageApi';
@@ -0,0 +1,74 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Tivadar AI Backend API
5
+ * Unified REST API for Tivadar AI Voice Agents platform
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AdminGrantMinutesRequest
20
+ */
21
+ export interface AdminGrantMinutesRequest {
22
+ /**
23
+ * Positive to grant (credit), negative to deduct.
24
+ * @type {number}
25
+ * @memberof AdminGrantMinutesRequest
26
+ */
27
+ minutes: number;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof AdminGrantMinutesRequest
32
+ */
33
+ note?: string;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the AdminGrantMinutesRequest interface.
38
+ */
39
+ export function instanceOfAdminGrantMinutesRequest(value: object): value is AdminGrantMinutesRequest {
40
+ if (!('minutes' in value) || value['minutes'] === undefined) return false;
41
+ return true;
42
+ }
43
+
44
+ export function AdminGrantMinutesRequestFromJSON(json: any): AdminGrantMinutesRequest {
45
+ return AdminGrantMinutesRequestFromJSONTyped(json, false);
46
+ }
47
+
48
+ export function AdminGrantMinutesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminGrantMinutesRequest {
49
+ if (json == null) {
50
+ return json;
51
+ }
52
+ return {
53
+
54
+ 'minutes': json['minutes'],
55
+ 'note': json['note'] == null ? undefined : json['note'],
56
+ };
57
+ }
58
+
59
+ export function AdminGrantMinutesRequestToJSON(json: any): AdminGrantMinutesRequest {
60
+ return AdminGrantMinutesRequestToJSONTyped(json, false);
61
+ }
62
+
63
+ export function AdminGrantMinutesRequestToJSONTyped(value?: AdminGrantMinutesRequest | null, ignoreDiscriminator: boolean = false): any {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+
68
+ return {
69
+
70
+ 'minutes': value['minutes'],
71
+ 'note': value['note'],
72
+ };
73
+ }
74
+
@@ -0,0 +1,136 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Tivadar AI Backend API
5
+ * Unified REST API for Tivadar AI Voice Agents platform
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AdminSetSubscriptionRequest
20
+ */
21
+ export interface AdminSetSubscriptionRequest {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof AdminSetSubscriptionRequest
26
+ */
27
+ planSlug: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof AdminSetSubscriptionRequest
32
+ */
33
+ status?: AdminSetSubscriptionRequestStatusEnum;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof AdminSetSubscriptionRequest
38
+ */
39
+ billingInterval?: AdminSetSubscriptionRequestBillingIntervalEnum | null;
40
+ /**
41
+ *
42
+ * @type {string}
43
+ * @memberof AdminSetSubscriptionRequest
44
+ */
45
+ currency?: string;
46
+ /**
47
+ *
48
+ * @type {Date}
49
+ * @memberof AdminSetSubscriptionRequest
50
+ */
51
+ currentPeriodStart?: Date;
52
+ /**
53
+ *
54
+ * @type {Date}
55
+ * @memberof AdminSetSubscriptionRequest
56
+ */
57
+ currentPeriodEnd?: Date;
58
+ /**
59
+ * Stored on the audit event for context.
60
+ * @type {string}
61
+ * @memberof AdminSetSubscriptionRequest
62
+ */
63
+ note?: string;
64
+ }
65
+
66
+
67
+ /**
68
+ * @export
69
+ */
70
+ export const AdminSetSubscriptionRequestStatusEnum = {
71
+ Active: 'active',
72
+ Trialing: 'trialing',
73
+ Paused: 'paused',
74
+ Canceled: 'canceled'
75
+ } as const;
76
+ export type AdminSetSubscriptionRequestStatusEnum = typeof AdminSetSubscriptionRequestStatusEnum[keyof typeof AdminSetSubscriptionRequestStatusEnum];
77
+
78
+ /**
79
+ * @export
80
+ */
81
+ export const AdminSetSubscriptionRequestBillingIntervalEnum = {
82
+ Monthly: 'monthly',
83
+ Yearly: 'yearly'
84
+ } as const;
85
+ export type AdminSetSubscriptionRequestBillingIntervalEnum = typeof AdminSetSubscriptionRequestBillingIntervalEnum[keyof typeof AdminSetSubscriptionRequestBillingIntervalEnum];
86
+
87
+
88
+ /**
89
+ * Check if a given object implements the AdminSetSubscriptionRequest interface.
90
+ */
91
+ export function instanceOfAdminSetSubscriptionRequest(value: object): value is AdminSetSubscriptionRequest {
92
+ if (!('planSlug' in value) || value['planSlug'] === undefined) return false;
93
+ return true;
94
+ }
95
+
96
+ export function AdminSetSubscriptionRequestFromJSON(json: any): AdminSetSubscriptionRequest {
97
+ return AdminSetSubscriptionRequestFromJSONTyped(json, false);
98
+ }
99
+
100
+ export function AdminSetSubscriptionRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminSetSubscriptionRequest {
101
+ if (json == null) {
102
+ return json;
103
+ }
104
+ return {
105
+
106
+ 'planSlug': json['planSlug'],
107
+ 'status': json['status'] == null ? undefined : json['status'],
108
+ 'billingInterval': json['billingInterval'] == null ? undefined : json['billingInterval'],
109
+ 'currency': json['currency'] == null ? undefined : json['currency'],
110
+ 'currentPeriodStart': json['currentPeriodStart'] == null ? undefined : (new Date(json['currentPeriodStart'])),
111
+ 'currentPeriodEnd': json['currentPeriodEnd'] == null ? undefined : (new Date(json['currentPeriodEnd'])),
112
+ 'note': json['note'] == null ? undefined : json['note'],
113
+ };
114
+ }
115
+
116
+ export function AdminSetSubscriptionRequestToJSON(json: any): AdminSetSubscriptionRequest {
117
+ return AdminSetSubscriptionRequestToJSONTyped(json, false);
118
+ }
119
+
120
+ export function AdminSetSubscriptionRequestToJSONTyped(value?: AdminSetSubscriptionRequest | null, ignoreDiscriminator: boolean = false): any {
121
+ if (value == null) {
122
+ return value;
123
+ }
124
+
125
+ return {
126
+
127
+ 'planSlug': value['planSlug'],
128
+ 'status': value['status'],
129
+ 'billingInterval': value['billingInterval'],
130
+ 'currency': value['currency'],
131
+ 'currentPeriodStart': value['currentPeriodStart'] == null ? value['currentPeriodStart'] : value['currentPeriodStart'].toISOString(),
132
+ 'currentPeriodEnd': value['currentPeriodEnd'] == null ? value['currentPeriodEnd'] : value['currentPeriodEnd'].toISOString(),
133
+ 'note': value['note'],
134
+ };
135
+ }
136
+
@@ -0,0 +1,83 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Tivadar AI Backend API
5
+ * Unified REST API for Tivadar AI Voice Agents platform
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { SubscriptionStatus } from './SubscriptionStatus';
17
+ import {
18
+ SubscriptionStatusFromJSON,
19
+ SubscriptionStatusFromJSONTyped,
20
+ SubscriptionStatusToJSON,
21
+ SubscriptionStatusToJSONTyped,
22
+ } from './SubscriptionStatus';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface AdminSubscriptionsListResponse
28
+ */
29
+ export interface AdminSubscriptionsListResponse {
30
+ /**
31
+ *
32
+ * @type {Array<SubscriptionStatus>}
33
+ * @memberof AdminSubscriptionsListResponse
34
+ */
35
+ items: Array<SubscriptionStatus>;
36
+ /**
37
+ *
38
+ * @type {number}
39
+ * @memberof AdminSubscriptionsListResponse
40
+ */
41
+ total: number;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the AdminSubscriptionsListResponse interface.
46
+ */
47
+ export function instanceOfAdminSubscriptionsListResponse(value: object): value is AdminSubscriptionsListResponse {
48
+ if (!('items' in value) || value['items'] === undefined) return false;
49
+ if (!('total' in value) || value['total'] === undefined) return false;
50
+ return true;
51
+ }
52
+
53
+ export function AdminSubscriptionsListResponseFromJSON(json: any): AdminSubscriptionsListResponse {
54
+ return AdminSubscriptionsListResponseFromJSONTyped(json, false);
55
+ }
56
+
57
+ export function AdminSubscriptionsListResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminSubscriptionsListResponse {
58
+ if (json == null) {
59
+ return json;
60
+ }
61
+ return {
62
+
63
+ 'items': ((json['items'] as Array<any>).map(SubscriptionStatusFromJSON)),
64
+ 'total': json['total'],
65
+ };
66
+ }
67
+
68
+ export function AdminSubscriptionsListResponseToJSON(json: any): AdminSubscriptionsListResponse {
69
+ return AdminSubscriptionsListResponseToJSONTyped(json, false);
70
+ }
71
+
72
+ export function AdminSubscriptionsListResponseToJSONTyped(value?: AdminSubscriptionsListResponse | null, ignoreDiscriminator: boolean = false): any {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+
77
+ return {
78
+
79
+ 'items': ((value['items'] as Array<any>).map(SubscriptionStatusToJSON)),
80
+ 'total': value['total'],
81
+ };
82
+ }
83
+
@@ -20,7 +20,7 @@ import { mapValues } from '../runtime';
20
20
  */
21
21
  export interface BillingPortalRequest {
22
22
  /**
23
- * URL to redirect customer after leaving the portal
23
+ *
24
24
  * @type {string}
25
25
  * @memberof BillingPortalRequest
26
26
  */
@@ -20,7 +20,7 @@ import { mapValues } from '../runtime';
20
20
  */
21
21
  export interface BillingPortalResponse {
22
22
  /**
23
- * Stripe Billing Portal URL
23
+ *
24
24
  * @type {string}
25
25
  * @memberof BillingPortalResponse
26
26
  */
@@ -13,6 +13,14 @@
13
13
  */
14
14
 
15
15
  import { mapValues } from '../runtime';
16
+ import type { CallFlag } from './CallFlag';
17
+ import {
18
+ CallFlagFromJSON,
19
+ CallFlagFromJSONTyped,
20
+ CallFlagToJSON,
21
+ CallFlagToJSONTyped,
22
+ } from './CallFlag';
23
+
16
24
  /**
17
25
  *
18
26
  * @export
@@ -61,6 +69,12 @@ export interface Call {
61
69
  * @memberof Call
62
70
  */
63
71
  created_at: Date;
72
+ /**
73
+ * Flags raised on this call (empty when none)
74
+ * @type {Array<CallFlag>}
75
+ * @memberof Call
76
+ */
77
+ flags?: Array<CallFlag>;
64
78
  }
65
79
 
66
80
  /**
@@ -89,6 +103,7 @@ export function CallFromJSONTyped(json: any, ignoreDiscriminator: boolean): Call
89
103
  'caller': json['caller'] == null ? undefined : json['caller'],
90
104
  'sandbox': json['sandbox'] == null ? undefined : json['sandbox'],
91
105
  'created_at': (new Date(json['created_at'])),
106
+ 'flags': json['flags'] == null ? undefined : ((json['flags'] as Array<any>).map(CallFlagFromJSON)),
92
107
  };
93
108
  }
94
109
 
@@ -110,6 +125,7 @@ export function CallToJSONTyped(value?: Call | null, ignoreDiscriminator: boolea
110
125
  'caller': value['caller'],
111
126
  'sandbox': value['sandbox'],
112
127
  'created_at': value['created_at'].toISOString(),
128
+ 'flags': value['flags'] == null ? undefined : ((value['flags'] as Array<any>).map(CallFlagToJSON)),
113
129
  };
114
130
  }
115
131
 
@@ -0,0 +1,173 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Tivadar AI Backend API
5
+ * Unified REST API for Tivadar AI Voice Agents platform
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface CallFlag
20
+ */
21
+ export interface CallFlag {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof CallFlag
26
+ */
27
+ id: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof CallFlag
32
+ */
33
+ call_id: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof CallFlag
38
+ */
39
+ flag_type: CallFlagFlagTypeEnum;
40
+ /**
41
+ * Free-text description of why the call was flagged
42
+ * @type {string}
43
+ * @memberof CallFlag
44
+ */
45
+ reason?: string | null;
46
+ /**
47
+ * Derived from resolved_at (open when null, otherwise resolved)
48
+ * @type {string}
49
+ * @memberof CallFlag
50
+ */
51
+ status: CallFlagStatusEnum;
52
+ /**
53
+ * User id of whoever raised the flag
54
+ * @type {string}
55
+ * @memberof CallFlag
56
+ */
57
+ flagged_by?: string | null;
58
+ /**
59
+ *
60
+ * @type {Date}
61
+ * @memberof CallFlag
62
+ */
63
+ resolved_at?: Date | null;
64
+ /**
65
+ *
66
+ * @type {string}
67
+ * @memberof CallFlag
68
+ */
69
+ resolved_by?: string | null;
70
+ /**
71
+ *
72
+ * @type {string}
73
+ * @memberof CallFlag
74
+ */
75
+ resolution_note?: string | null;
76
+ /**
77
+ *
78
+ * @type {Date}
79
+ * @memberof CallFlag
80
+ */
81
+ created_at: Date;
82
+ /**
83
+ *
84
+ * @type {Date}
85
+ * @memberof CallFlag
86
+ */
87
+ updated_at: Date;
88
+ }
89
+
90
+
91
+ /**
92
+ * @export
93
+ */
94
+ export const CallFlagFlagTypeEnum = {
95
+ Error: 'error',
96
+ FollowUp: 'follow_up',
97
+ ManualReview: 'manual_review',
98
+ Other: 'other'
99
+ } as const;
100
+ export type CallFlagFlagTypeEnum = typeof CallFlagFlagTypeEnum[keyof typeof CallFlagFlagTypeEnum];
101
+
102
+ /**
103
+ * @export
104
+ */
105
+ export const CallFlagStatusEnum = {
106
+ Open: 'open',
107
+ Resolved: 'resolved'
108
+ } as const;
109
+ export type CallFlagStatusEnum = typeof CallFlagStatusEnum[keyof typeof CallFlagStatusEnum];
110
+
111
+
112
+ /**
113
+ * Check if a given object implements the CallFlag interface.
114
+ */
115
+ export function instanceOfCallFlag(value: object): value is CallFlag {
116
+ if (!('id' in value) || value['id'] === undefined) return false;
117
+ if (!('call_id' in value) || value['call_id'] === undefined) return false;
118
+ if (!('flag_type' in value) || value['flag_type'] === undefined) return false;
119
+ if (!('status' in value) || value['status'] === undefined) return false;
120
+ if (!('created_at' in value) || value['created_at'] === undefined) return false;
121
+ if (!('updated_at' in value) || value['updated_at'] === undefined) return false;
122
+ return true;
123
+ }
124
+
125
+ export function CallFlagFromJSON(json: any): CallFlag {
126
+ return CallFlagFromJSONTyped(json, false);
127
+ }
128
+
129
+ export function CallFlagFromJSONTyped(json: any, ignoreDiscriminator: boolean): CallFlag {
130
+ if (json == null) {
131
+ return json;
132
+ }
133
+ return {
134
+
135
+ 'id': json['id'],
136
+ 'call_id': json['call_id'],
137
+ 'flag_type': json['flag_type'],
138
+ 'reason': json['reason'] == null ? undefined : json['reason'],
139
+ 'status': json['status'],
140
+ 'flagged_by': json['flagged_by'] == null ? undefined : json['flagged_by'],
141
+ 'resolved_at': json['resolved_at'] == null ? undefined : (new Date(json['resolved_at'])),
142
+ 'resolved_by': json['resolved_by'] == null ? undefined : json['resolved_by'],
143
+ 'resolution_note': json['resolution_note'] == null ? undefined : json['resolution_note'],
144
+ 'created_at': (new Date(json['created_at'])),
145
+ 'updated_at': (new Date(json['updated_at'])),
146
+ };
147
+ }
148
+
149
+ export function CallFlagToJSON(json: any): CallFlag {
150
+ return CallFlagToJSONTyped(json, false);
151
+ }
152
+
153
+ export function CallFlagToJSONTyped(value?: CallFlag | null, ignoreDiscriminator: boolean = false): any {
154
+ if (value == null) {
155
+ return value;
156
+ }
157
+
158
+ return {
159
+
160
+ 'id': value['id'],
161
+ 'call_id': value['call_id'],
162
+ 'flag_type': value['flag_type'],
163
+ 'reason': value['reason'],
164
+ 'status': value['status'],
165
+ 'flagged_by': value['flagged_by'],
166
+ 'resolved_at': value['resolved_at'] == null ? value['resolved_at'] : value['resolved_at'].toISOString(),
167
+ 'resolved_by': value['resolved_by'],
168
+ 'resolution_note': value['resolution_note'],
169
+ 'created_at': value['created_at'].toISOString(),
170
+ 'updated_at': value['updated_at'].toISOString(),
171
+ };
172
+ }
173
+