@vuevox/sdk 0.3.0 → 0.5.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.
@@ -64,6 +64,106 @@ export interface paths {
64
64
  patch?: never;
65
65
  trace?: never;
66
66
  };
67
+ "/v1/agents": {
68
+ parameters: {
69
+ query?: never;
70
+ header?: never;
71
+ path?: never;
72
+ cookie?: never;
73
+ };
74
+ /**
75
+ * List organization agents
76
+ * @description Returns agents for the API client's organization using cursor pagination. Optionally filter agents by space ID.
77
+ */
78
+ get: operations["listAgents"];
79
+ put?: never;
80
+ post?: never;
81
+ delete?: never;
82
+ options?: never;
83
+ head?: never;
84
+ patch?: never;
85
+ trace?: never;
86
+ };
87
+ "/v1/calls": {
88
+ parameters: {
89
+ query?: never;
90
+ header?: never;
91
+ path?: never;
92
+ cookie?: never;
93
+ };
94
+ /**
95
+ * List organization calls
96
+ * @description Returns calls for the API client's organization using cursor pagination. List responses do not expose audio storage paths or transcripts.
97
+ */
98
+ get: operations["listCalls"];
99
+ put?: never;
100
+ post?: never;
101
+ delete?: never;
102
+ options?: never;
103
+ head?: never;
104
+ patch?: never;
105
+ trace?: never;
106
+ };
107
+ "/v1/calls/{callId}": {
108
+ parameters: {
109
+ query?: never;
110
+ header?: never;
111
+ path?: never;
112
+ cookie?: never;
113
+ };
114
+ /**
115
+ * Get a call
116
+ * @description Returns a single organization-scoped call with transcript and analysis details.
117
+ */
118
+ get: operations["getCall"];
119
+ put?: never;
120
+ post?: never;
121
+ delete?: never;
122
+ options?: never;
123
+ head?: never;
124
+ patch?: never;
125
+ trace?: never;
126
+ };
127
+ "/v1/leads": {
128
+ parameters: {
129
+ query?: never;
130
+ header?: never;
131
+ path?: never;
132
+ cookie?: never;
133
+ };
134
+ /**
135
+ * List organization leads
136
+ * @description Returns leads for the API client's organization using cursor pagination. The leads:read scope includes email and phone contact details.
137
+ */
138
+ get: operations["listLeads"];
139
+ put?: never;
140
+ post?: never;
141
+ delete?: never;
142
+ options?: never;
143
+ head?: never;
144
+ patch?: never;
145
+ trace?: never;
146
+ };
147
+ "/v1/leads/{leadId}": {
148
+ parameters: {
149
+ query?: never;
150
+ header?: never;
151
+ path?: never;
152
+ cookie?: never;
153
+ };
154
+ /**
155
+ * Get a lead
156
+ * @description Returns a single organization-scoped lead with contact details.
157
+ */
158
+ get: operations["getLead"];
159
+ put?: never;
160
+ post?: never;
161
+ delete?: never;
162
+ options?: never;
163
+ head?: never;
164
+ patch?: never;
165
+ trace?: never;
166
+ };
67
167
  }
68
168
  export type webhooks = Record<string, never>;
69
169
  export interface components {
@@ -75,7 +175,7 @@ export interface components {
75
175
  client_secret: string;
76
176
  /**
77
177
  * @description Space-separated scopes requested for the access token.
78
- * @example hello:read
178
+ * @example hello:read spaces:read agents:read calls:read leads:read
79
179
  */
80
180
  scope?: string;
81
181
  };
@@ -85,7 +185,7 @@ export interface components {
85
185
  token_type: "Bearer";
86
186
  /** @example 3600 */
87
187
  expires_in: number;
88
- /** @example hello:read */
188
+ /** @example hello:read spaces:read agents:read calls:read leads:read */
89
189
  scope: string;
90
190
  };
91
191
  HelloResponse: {
@@ -108,6 +208,96 @@ export interface components {
108
208
  data: components["schemas"]["Space"][];
109
209
  pagination: components["schemas"]["CursorPagination"];
110
210
  };
211
+ Agent: {
212
+ /** Format: uuid */
213
+ id: string;
214
+ /** @example Morgan Agent */
215
+ name: string;
216
+ spaces: components["schemas"]["ResourceSummary"][];
217
+ /** Format: date-time */
218
+ createdAt: string;
219
+ /** Format: date-time */
220
+ updatedAt: string;
221
+ };
222
+ AgentsListResponse: {
223
+ data: components["schemas"]["Agent"][];
224
+ pagination: components["schemas"]["CursorPagination"];
225
+ };
226
+ ResourceSummary: {
227
+ /** Format: uuid */
228
+ id: string;
229
+ name: string;
230
+ } | null;
231
+ LeadSummary: {
232
+ /** Format: uuid */
233
+ id: string;
234
+ firstName: string;
235
+ lastName: string;
236
+ } | null;
237
+ CallSummary: {
238
+ /** Format: uuid */
239
+ id: string;
240
+ space: components["schemas"]["ResourceSummary"];
241
+ lead: components["schemas"]["LeadSummary"];
242
+ agent: components["schemas"]["ResourceSummary"];
243
+ /** @description Call duration in seconds. */
244
+ duration: number;
245
+ score: number | null;
246
+ sentiment: string | null;
247
+ /** @example completed */
248
+ analysisStatus: string;
249
+ /** @example processing */
250
+ queueStatus: string | null;
251
+ /** Format: date-time */
252
+ createdAt: string;
253
+ /** Format: date-time */
254
+ updatedAt: string;
255
+ };
256
+ CallDetail: components["schemas"]["CallSummary"] & {
257
+ transcript: {
258
+ [key: string]: unknown;
259
+ }[] | null;
260
+ analysis: components["schemas"]["CallAnalysis"];
261
+ };
262
+ CallAnalysis: {
263
+ summary: string | null;
264
+ totalScore: number;
265
+ totalMax: number;
266
+ sentiment: string;
267
+ objectiveMet: boolean;
268
+ objectiveNotes: string | null;
269
+ detectedTags: string[] | null;
270
+ strengths: string[] | null;
271
+ weaknesses: string[] | null;
272
+ } | null;
273
+ CallsListResponse: {
274
+ data: components["schemas"]["CallSummary"][];
275
+ pagination: components["schemas"]["CursorPagination"];
276
+ };
277
+ CallDetailResponse: {
278
+ data: components["schemas"]["CallDetail"];
279
+ };
280
+ Lead: {
281
+ /** Format: uuid */
282
+ id: string;
283
+ firstName: string;
284
+ lastName: string;
285
+ /** Format: email */
286
+ email: string | null;
287
+ phone: string | null;
288
+ space: components["schemas"]["ResourceSummary"];
289
+ /** Format: date-time */
290
+ createdAt: string;
291
+ /** Format: date-time */
292
+ updatedAt: string;
293
+ };
294
+ LeadsListResponse: {
295
+ data: components["schemas"]["Lead"][];
296
+ pagination: components["schemas"]["CursorPagination"];
297
+ };
298
+ LeadDetailResponse: {
299
+ data: components["schemas"]["Lead"];
300
+ };
111
301
  CursorPagination: {
112
302
  /** @example 50 */
113
303
  limit: number;
@@ -306,4 +496,343 @@ export interface operations {
306
496
  };
307
497
  };
308
498
  };
499
+ listAgents: {
500
+ parameters: {
501
+ query?: {
502
+ /** @description Number of agents to return. Defaults to 50. Maximum is 100. */
503
+ limit?: number;
504
+ /** @description Opaque cursor from the previous response's pagination.nextCursor value. */
505
+ cursor?: string;
506
+ /** @description Filter agents assigned to a space ID. */
507
+ spaceId?: string;
508
+ };
509
+ header?: never;
510
+ path?: never;
511
+ cookie?: never;
512
+ };
513
+ requestBody?: never;
514
+ responses: {
515
+ /** @description Paginated agents response. */
516
+ 200: {
517
+ headers: {
518
+ [name: string]: unknown;
519
+ };
520
+ content: {
521
+ "application/json": components["schemas"]["AgentsListResponse"];
522
+ };
523
+ };
524
+ /** @description Bearer token is missing, invalid, or expired. */
525
+ 401: {
526
+ headers: {
527
+ [name: string]: unknown;
528
+ };
529
+ content: {
530
+ "application/json": components["schemas"]["ErrorResponse"];
531
+ };
532
+ };
533
+ /** @description Bearer token does not include the required scope. */
534
+ 403: {
535
+ headers: {
536
+ [name: string]: unknown;
537
+ };
538
+ content: {
539
+ "application/json": components["schemas"]["ErrorResponse"];
540
+ };
541
+ };
542
+ /** @description Query parameters failed validation. */
543
+ 422: {
544
+ headers: {
545
+ [name: string]: unknown;
546
+ };
547
+ content: {
548
+ "application/json": components["schemas"]["ErrorResponse"];
549
+ };
550
+ };
551
+ /** @description Per-client rate limit exceeded. */
552
+ 429: {
553
+ headers: {
554
+ /** @description Seconds to wait before retrying. */
555
+ "Retry-After"?: string;
556
+ /** @description Request limit per minute for this API client. */
557
+ "X-RateLimit-Limit"?: string;
558
+ [name: string]: unknown;
559
+ };
560
+ content: {
561
+ "application/json": components["schemas"]["ErrorResponse"];
562
+ };
563
+ };
564
+ };
565
+ };
566
+ listCalls: {
567
+ parameters: {
568
+ query?: {
569
+ /** @description Number of calls to return. Defaults to 50. Maximum is 100. */
570
+ limit?: number;
571
+ /** @description Opaque cursor from the previous response's pagination.nextCursor value. */
572
+ cursor?: string;
573
+ /** @description Filter calls to a space ID. */
574
+ spaceId?: string;
575
+ /** @description Filter calls to a lead ID. */
576
+ leadId?: string;
577
+ /** @description Filter calls to an agent ID. */
578
+ agentId?: string;
579
+ /** @description Return calls created at or after this timestamp. */
580
+ createdAfter?: string;
581
+ /** @description Return calls created at or before this timestamp. */
582
+ createdBefore?: string;
583
+ };
584
+ header?: never;
585
+ path?: never;
586
+ cookie?: never;
587
+ };
588
+ requestBody?: never;
589
+ responses: {
590
+ /** @description Paginated calls response. */
591
+ 200: {
592
+ headers: {
593
+ [name: string]: unknown;
594
+ };
595
+ content: {
596
+ "application/json": components["schemas"]["CallsListResponse"];
597
+ };
598
+ };
599
+ /** @description Bearer token is missing, invalid, or expired. */
600
+ 401: {
601
+ headers: {
602
+ [name: string]: unknown;
603
+ };
604
+ content: {
605
+ "application/json": components["schemas"]["ErrorResponse"];
606
+ };
607
+ };
608
+ /** @description Bearer token does not include the required scope. */
609
+ 403: {
610
+ headers: {
611
+ [name: string]: unknown;
612
+ };
613
+ content: {
614
+ "application/json": components["schemas"]["ErrorResponse"];
615
+ };
616
+ };
617
+ /** @description Query parameters failed validation. */
618
+ 422: {
619
+ headers: {
620
+ [name: string]: unknown;
621
+ };
622
+ content: {
623
+ "application/json": components["schemas"]["ErrorResponse"];
624
+ };
625
+ };
626
+ /** @description Per-client rate limit exceeded. */
627
+ 429: {
628
+ headers: {
629
+ /** @description Seconds to wait before retrying. */
630
+ "Retry-After"?: string;
631
+ /** @description Request limit per minute for this API client. */
632
+ "X-RateLimit-Limit"?: string;
633
+ [name: string]: unknown;
634
+ };
635
+ content: {
636
+ "application/json": components["schemas"]["ErrorResponse"];
637
+ };
638
+ };
639
+ };
640
+ };
641
+ getCall: {
642
+ parameters: {
643
+ query?: never;
644
+ header?: never;
645
+ path: {
646
+ /** @description Call ID. */
647
+ callId: string;
648
+ };
649
+ cookie?: never;
650
+ };
651
+ requestBody?: never;
652
+ responses: {
653
+ /** @description Call detail response. */
654
+ 200: {
655
+ headers: {
656
+ [name: string]: unknown;
657
+ };
658
+ content: {
659
+ "application/json": components["schemas"]["CallDetailResponse"];
660
+ };
661
+ };
662
+ /** @description Bearer token is missing, invalid, or expired. */
663
+ 401: {
664
+ headers: {
665
+ [name: string]: unknown;
666
+ };
667
+ content: {
668
+ "application/json": components["schemas"]["ErrorResponse"];
669
+ };
670
+ };
671
+ /** @description Bearer token does not include the required scope. */
672
+ 403: {
673
+ headers: {
674
+ [name: string]: unknown;
675
+ };
676
+ content: {
677
+ "application/json": components["schemas"]["ErrorResponse"];
678
+ };
679
+ };
680
+ /** @description Call was not found in the API client's organization. */
681
+ 404: {
682
+ headers: {
683
+ [name: string]: unknown;
684
+ };
685
+ content: {
686
+ "application/json": components["schemas"]["ErrorResponse"];
687
+ };
688
+ };
689
+ /** @description Per-client rate limit exceeded. */
690
+ 429: {
691
+ headers: {
692
+ /** @description Seconds to wait before retrying. */
693
+ "Retry-After"?: string;
694
+ /** @description Request limit per minute for this API client. */
695
+ "X-RateLimit-Limit"?: string;
696
+ [name: string]: unknown;
697
+ };
698
+ content: {
699
+ "application/json": components["schemas"]["ErrorResponse"];
700
+ };
701
+ };
702
+ };
703
+ };
704
+ listLeads: {
705
+ parameters: {
706
+ query?: {
707
+ /** @description Number of leads to return. Defaults to 50. Maximum is 100. */
708
+ limit?: number;
709
+ /** @description Opaque cursor from the previous response's pagination.nextCursor value. */
710
+ cursor?: string;
711
+ /** @description Filter leads to a space ID. */
712
+ spaceId?: string;
713
+ /** @description Return leads created at or after this timestamp. */
714
+ createdAfter?: string;
715
+ /** @description Return leads created at or before this timestamp. */
716
+ createdBefore?: string;
717
+ };
718
+ header?: never;
719
+ path?: never;
720
+ cookie?: never;
721
+ };
722
+ requestBody?: never;
723
+ responses: {
724
+ /** @description Paginated leads response. */
725
+ 200: {
726
+ headers: {
727
+ [name: string]: unknown;
728
+ };
729
+ content: {
730
+ "application/json": components["schemas"]["LeadsListResponse"];
731
+ };
732
+ };
733
+ /** @description Bearer token is missing, invalid, or expired. */
734
+ 401: {
735
+ headers: {
736
+ [name: string]: unknown;
737
+ };
738
+ content: {
739
+ "application/json": components["schemas"]["ErrorResponse"];
740
+ };
741
+ };
742
+ /** @description Bearer token does not include the required scope. */
743
+ 403: {
744
+ headers: {
745
+ [name: string]: unknown;
746
+ };
747
+ content: {
748
+ "application/json": components["schemas"]["ErrorResponse"];
749
+ };
750
+ };
751
+ /** @description Query parameters failed validation. */
752
+ 422: {
753
+ headers: {
754
+ [name: string]: unknown;
755
+ };
756
+ content: {
757
+ "application/json": components["schemas"]["ErrorResponse"];
758
+ };
759
+ };
760
+ /** @description Per-client rate limit exceeded. */
761
+ 429: {
762
+ headers: {
763
+ /** @description Seconds to wait before retrying. */
764
+ "Retry-After"?: string;
765
+ /** @description Request limit per minute for this API client. */
766
+ "X-RateLimit-Limit"?: string;
767
+ [name: string]: unknown;
768
+ };
769
+ content: {
770
+ "application/json": components["schemas"]["ErrorResponse"];
771
+ };
772
+ };
773
+ };
774
+ };
775
+ getLead: {
776
+ parameters: {
777
+ query?: never;
778
+ header?: never;
779
+ path: {
780
+ /** @description Lead ID. */
781
+ leadId: string;
782
+ };
783
+ cookie?: never;
784
+ };
785
+ requestBody?: never;
786
+ responses: {
787
+ /** @description Lead detail response. */
788
+ 200: {
789
+ headers: {
790
+ [name: string]: unknown;
791
+ };
792
+ content: {
793
+ "application/json": components["schemas"]["LeadDetailResponse"];
794
+ };
795
+ };
796
+ /** @description Bearer token is missing, invalid, or expired. */
797
+ 401: {
798
+ headers: {
799
+ [name: string]: unknown;
800
+ };
801
+ content: {
802
+ "application/json": components["schemas"]["ErrorResponse"];
803
+ };
804
+ };
805
+ /** @description Bearer token does not include the required scope. */
806
+ 403: {
807
+ headers: {
808
+ [name: string]: unknown;
809
+ };
810
+ content: {
811
+ "application/json": components["schemas"]["ErrorResponse"];
812
+ };
813
+ };
814
+ /** @description Lead was not found in the API client's organization. */
815
+ 404: {
816
+ headers: {
817
+ [name: string]: unknown;
818
+ };
819
+ content: {
820
+ "application/json": components["schemas"]["ErrorResponse"];
821
+ };
822
+ };
823
+ /** @description Per-client rate limit exceeded. */
824
+ 429: {
825
+ headers: {
826
+ /** @description Seconds to wait before retrying. */
827
+ "Retry-After"?: string;
828
+ /** @description Request limit per minute for this API client. */
829
+ "X-RateLimit-Limit"?: string;
830
+ [name: string]: unknown;
831
+ };
832
+ content: {
833
+ "application/json": components["schemas"]["ErrorResponse"];
834
+ };
835
+ };
836
+ };
837
+ };
309
838
  }
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export { createVueVoxClient } from "./client.js";
2
- export type { ListSpacesOptions, VueVoxApiResponse, VueVoxClientOptions, VueVoxResponseEvent, VueVoxResponseMetadata, } from "./client.js";
2
+ export type { Agent, AgentsListResponse, CallDetailResponse, CallsListResponse, CallSummary, HelloResponse, Lead, LeadDetailResponse, LeadsListResponse, ListAgentsOptions, ListCallsOptions, ListLeadsOptions, ListSpacesOptions, Space, SpacesListResponse, VueVoxApiResponse, VueVoxClientOptions, VueVoxResponseEvent, VueVoxResponseMetadata, } from "./client.js";
3
3
  export { VueVoxApiError } from "./errors.js";
4
4
  export type { VueVoxErrorResponse } from "./errors.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vuevox/sdk",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "TypeScript SDK for the VueVox Developer API.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",