@veroai/transcribe 1.0.0 → 1.0.2

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/index.d.mts CHANGED
@@ -255,6 +255,116 @@ interface BulkTranscribeResult {
255
255
  error: Error;
256
256
  }>;
257
257
  }
258
+ type MeetingStatus = 'joining' | 'in_call' | 'recording' | 'transcribing' | 'analyzed' | 'error';
259
+ type MeetingPlatform = 'zoom' | 'teams' | 'google_meet' | 'unknown';
260
+ interface Meeting {
261
+ id: string;
262
+ bot_id: string;
263
+ meeting_url: string;
264
+ platform: MeetingPlatform;
265
+ status: MeetingStatus;
266
+ title?: string;
267
+ scheduled_by?: string;
268
+ customer_id?: string;
269
+ account_id: string;
270
+ participants?: string[];
271
+ duration_seconds?: number;
272
+ recording_url?: string;
273
+ transcript?: Record<string, unknown>;
274
+ summary?: string;
275
+ action_items?: unknown[];
276
+ analysis?: Record<string, unknown>;
277
+ coaching_notes?: Record<string, unknown>;
278
+ transcription_status?: string;
279
+ analysis_status?: string;
280
+ error_code?: string;
281
+ error_message?: string;
282
+ meeting_started_at?: string;
283
+ meeting_ended_at?: string;
284
+ created_at: string;
285
+ updated_at: string;
286
+ }
287
+ interface SendBotParams {
288
+ meeting_url: string;
289
+ customer_id?: string;
290
+ title?: string;
291
+ scheduled_by?: string;
292
+ bot_name?: string;
293
+ recording_mode?: 'speaker_view' | 'gallery_view' | 'audio_only';
294
+ }
295
+ interface SendBotResponse {
296
+ success: boolean;
297
+ bot_id: string;
298
+ platform: MeetingPlatform;
299
+ }
300
+ interface ListMeetingsParams {
301
+ customerId?: string;
302
+ limit?: number;
303
+ offset?: number;
304
+ }
305
+ interface ListMeetingsResponse {
306
+ data: Meeting[];
307
+ pagination: {
308
+ limit: number;
309
+ offset: number;
310
+ hasMore: boolean;
311
+ };
312
+ }
313
+ interface SubAccount {
314
+ id: string;
315
+ name: string;
316
+ accountType: string;
317
+ parentAccountId: string;
318
+ createdAt: string;
319
+ }
320
+ interface CreateSubAccountParams {
321
+ name: string;
322
+ }
323
+ interface ListSubAccountsParams {
324
+ limit?: number;
325
+ offset?: number;
326
+ }
327
+ interface ListSubAccountsResponse {
328
+ data: SubAccount[];
329
+ pagination: {
330
+ limit: number;
331
+ offset: number;
332
+ total: number;
333
+ hasMore: boolean;
334
+ };
335
+ }
336
+ type MeetUserInviteStatus = 'pending' | 'active';
337
+ interface MeetUser {
338
+ id: string;
339
+ name: string;
340
+ email: string;
341
+ accountType: string;
342
+ inviteStatus: MeetUserInviteStatus;
343
+ parentAccountId: string;
344
+ oauthProvider?: string;
345
+ createdAt: string;
346
+ updatedAt?: string;
347
+ }
348
+ interface CreateMeetUserParams {
349
+ name: string;
350
+ email: string;
351
+ }
352
+ interface UpdateMeetUserParams {
353
+ name?: string;
354
+ }
355
+ interface ListMeetUsersParams {
356
+ limit?: number;
357
+ offset?: number;
358
+ }
359
+ interface ListMeetUsersResponse {
360
+ data: MeetUser[];
361
+ pagination: {
362
+ limit: number;
363
+ offset: number;
364
+ total: number;
365
+ hasMore: boolean;
366
+ };
367
+ }
258
368
  declare class VeroAPIError extends Error {
259
369
  code: string;
260
370
  status: number;
@@ -448,6 +558,87 @@ declare class UsageResource {
448
558
  history(params?: UsageHistoryParams): Promise<UsageHistoryResponse>;
449
559
  }
450
560
 
561
+ declare class MeetingsResource {
562
+ private client;
563
+ constructor(client: HttpClient);
564
+ /**
565
+ * Send a MeetingBaas bot to a meeting
566
+ */
567
+ sendBot(params: SendBotParams): Promise<SendBotResponse>;
568
+ /**
569
+ * List meetings
570
+ */
571
+ list(params?: ListMeetingsParams): Promise<ListMeetingsResponse>;
572
+ /**
573
+ * Get a meeting by bot ID
574
+ */
575
+ get(botId: string): Promise<Meeting>;
576
+ }
577
+
578
+ declare class SubAccountMeetUsersResource {
579
+ private client;
580
+ private subAccountId;
581
+ constructor(client: HttpClient, subAccountId: string);
582
+ /**
583
+ * List meet_users under a sub-account
584
+ */
585
+ list(params?: ListMeetUsersParams): Promise<ListMeetUsersResponse>;
586
+ /**
587
+ * Create/invite a meet_user
588
+ */
589
+ create(params: CreateMeetUserParams): Promise<MeetUser>;
590
+ /**
591
+ * Get a single meet_user
592
+ */
593
+ get(meetUserId: string): Promise<MeetUser>;
594
+ /**
595
+ * Update a meet_user
596
+ */
597
+ update(meetUserId: string, params: UpdateMeetUserParams): Promise<MeetUser>;
598
+ /**
599
+ * Delete a meet_user
600
+ */
601
+ delete(meetUserId: string): Promise<{
602
+ success: boolean;
603
+ }>;
604
+ }
605
+ declare class SubAccountsResource {
606
+ private client;
607
+ constructor(client: HttpClient);
608
+ /**
609
+ * List sub-accounts
610
+ */
611
+ list(params?: ListSubAccountsParams): Promise<ListSubAccountsResponse>;
612
+ /**
613
+ * Create a sub-account
614
+ */
615
+ create(params: CreateSubAccountParams): Promise<SubAccount>;
616
+ /**
617
+ * Get a sub-account
618
+ */
619
+ get(subAccountId: string): Promise<SubAccount>;
620
+ /**
621
+ * Update a sub-account
622
+ */
623
+ update(subAccountId: string, params: {
624
+ name: string;
625
+ }): Promise<SubAccount>;
626
+ /**
627
+ * Delete a sub-account
628
+ */
629
+ delete(subAccountId: string): Promise<{
630
+ success: boolean;
631
+ }>;
632
+ /**
633
+ * Get a meet users resource for a sub-account
634
+ */
635
+ meetUsers(subAccountId: string): SubAccountMeetUsersResource;
636
+ /**
637
+ * List meetings for all meet_users under a sub-account
638
+ */
639
+ listMeetings(subAccountId: string, params?: ListMeetingsParams): Promise<ListMeetingsResponse>;
640
+ }
641
+
451
642
  declare class VeroTranscribe {
452
643
  /**
453
644
  * Transcriptions API
@@ -464,6 +655,16 @@ declare class VeroTranscribe {
464
655
  * Get usage statistics and billing information
465
656
  */
466
657
  readonly usage: UsageResource;
658
+ /**
659
+ * Meetings API
660
+ * Send bots, list, and retrieve meeting recordings
661
+ */
662
+ readonly meetings: MeetingsResource;
663
+ /**
664
+ * Sub-accounts API
665
+ * Manage sub-accounts and meet users (reseller only)
666
+ */
667
+ readonly subAccounts: SubAccountsResource;
467
668
  /**
468
669
  * Create a new VeroTranscribe client
469
670
  *
@@ -489,4 +690,4 @@ declare class VeroTranscribe {
489
690
  constructor(config: VeroTranscribeConfig);
490
691
  }
491
692
 
492
- export { type AIType, type Analysis, type CreateTranscriptionParams, type CreateWebhookParams, type Language, type ListTranscriptionsParams, type ListTranscriptionsResponse, type ListWebhookDeliveriesResponse, type ListWebhooksResponse, type PackageBreakdown, type PackageRates, type PackageSlug, type Transcript, type Transcription, type TranscriptionListItem, type TranscriptionProvider, type TranscriptionSegment, type TranscriptionStatus, type UpdateWebhookParams, type UploadAudioParams, type UploadAudioResponse, type Usage, type UsageHistoryParams, type UsageHistoryRecord, type UsageHistoryResponse, type UsagePeriod, VeroAPIError, VeroTranscribe, type VeroTranscribeConfig, type Webhook, type WebhookDelivery, type WebhookEvent, type WordTimestamp, createWebhookVerifier, VeroTranscribe as default };
693
+ export { type AIType, type Analysis, type CreateMeetUserParams, type CreateSubAccountParams, type CreateTranscriptionParams, type CreateWebhookParams, type Language, type ListMeetUsersParams, type ListMeetUsersResponse, type ListMeetingsParams, type ListMeetingsResponse, type ListSubAccountsParams, type ListSubAccountsResponse, type ListTranscriptionsParams, type ListTranscriptionsResponse, type ListWebhookDeliveriesResponse, type ListWebhooksResponse, type MeetUser, type MeetUserInviteStatus, type Meeting, type MeetingPlatform, type MeetingStatus, type PackageBreakdown, type PackageRates, type PackageSlug, type SendBotParams, type SendBotResponse, type SubAccount, type Transcript, type Transcription, type TranscriptionListItem, type TranscriptionProvider, type TranscriptionSegment, type TranscriptionStatus, type UpdateMeetUserParams, type UpdateWebhookParams, type UploadAudioParams, type UploadAudioResponse, type Usage, type UsageHistoryParams, type UsageHistoryRecord, type UsageHistoryResponse, type UsagePeriod, VeroAPIError, VeroTranscribe, type VeroTranscribeConfig, type Webhook, type WebhookDelivery, type WebhookEvent, type WordTimestamp, createWebhookVerifier, VeroTranscribe as default };
package/dist/index.d.ts CHANGED
@@ -255,6 +255,116 @@ interface BulkTranscribeResult {
255
255
  error: Error;
256
256
  }>;
257
257
  }
258
+ type MeetingStatus = 'joining' | 'in_call' | 'recording' | 'transcribing' | 'analyzed' | 'error';
259
+ type MeetingPlatform = 'zoom' | 'teams' | 'google_meet' | 'unknown';
260
+ interface Meeting {
261
+ id: string;
262
+ bot_id: string;
263
+ meeting_url: string;
264
+ platform: MeetingPlatform;
265
+ status: MeetingStatus;
266
+ title?: string;
267
+ scheduled_by?: string;
268
+ customer_id?: string;
269
+ account_id: string;
270
+ participants?: string[];
271
+ duration_seconds?: number;
272
+ recording_url?: string;
273
+ transcript?: Record<string, unknown>;
274
+ summary?: string;
275
+ action_items?: unknown[];
276
+ analysis?: Record<string, unknown>;
277
+ coaching_notes?: Record<string, unknown>;
278
+ transcription_status?: string;
279
+ analysis_status?: string;
280
+ error_code?: string;
281
+ error_message?: string;
282
+ meeting_started_at?: string;
283
+ meeting_ended_at?: string;
284
+ created_at: string;
285
+ updated_at: string;
286
+ }
287
+ interface SendBotParams {
288
+ meeting_url: string;
289
+ customer_id?: string;
290
+ title?: string;
291
+ scheduled_by?: string;
292
+ bot_name?: string;
293
+ recording_mode?: 'speaker_view' | 'gallery_view' | 'audio_only';
294
+ }
295
+ interface SendBotResponse {
296
+ success: boolean;
297
+ bot_id: string;
298
+ platform: MeetingPlatform;
299
+ }
300
+ interface ListMeetingsParams {
301
+ customerId?: string;
302
+ limit?: number;
303
+ offset?: number;
304
+ }
305
+ interface ListMeetingsResponse {
306
+ data: Meeting[];
307
+ pagination: {
308
+ limit: number;
309
+ offset: number;
310
+ hasMore: boolean;
311
+ };
312
+ }
313
+ interface SubAccount {
314
+ id: string;
315
+ name: string;
316
+ accountType: string;
317
+ parentAccountId: string;
318
+ createdAt: string;
319
+ }
320
+ interface CreateSubAccountParams {
321
+ name: string;
322
+ }
323
+ interface ListSubAccountsParams {
324
+ limit?: number;
325
+ offset?: number;
326
+ }
327
+ interface ListSubAccountsResponse {
328
+ data: SubAccount[];
329
+ pagination: {
330
+ limit: number;
331
+ offset: number;
332
+ total: number;
333
+ hasMore: boolean;
334
+ };
335
+ }
336
+ type MeetUserInviteStatus = 'pending' | 'active';
337
+ interface MeetUser {
338
+ id: string;
339
+ name: string;
340
+ email: string;
341
+ accountType: string;
342
+ inviteStatus: MeetUserInviteStatus;
343
+ parentAccountId: string;
344
+ oauthProvider?: string;
345
+ createdAt: string;
346
+ updatedAt?: string;
347
+ }
348
+ interface CreateMeetUserParams {
349
+ name: string;
350
+ email: string;
351
+ }
352
+ interface UpdateMeetUserParams {
353
+ name?: string;
354
+ }
355
+ interface ListMeetUsersParams {
356
+ limit?: number;
357
+ offset?: number;
358
+ }
359
+ interface ListMeetUsersResponse {
360
+ data: MeetUser[];
361
+ pagination: {
362
+ limit: number;
363
+ offset: number;
364
+ total: number;
365
+ hasMore: boolean;
366
+ };
367
+ }
258
368
  declare class VeroAPIError extends Error {
259
369
  code: string;
260
370
  status: number;
@@ -448,6 +558,87 @@ declare class UsageResource {
448
558
  history(params?: UsageHistoryParams): Promise<UsageHistoryResponse>;
449
559
  }
450
560
 
561
+ declare class MeetingsResource {
562
+ private client;
563
+ constructor(client: HttpClient);
564
+ /**
565
+ * Send a MeetingBaas bot to a meeting
566
+ */
567
+ sendBot(params: SendBotParams): Promise<SendBotResponse>;
568
+ /**
569
+ * List meetings
570
+ */
571
+ list(params?: ListMeetingsParams): Promise<ListMeetingsResponse>;
572
+ /**
573
+ * Get a meeting by bot ID
574
+ */
575
+ get(botId: string): Promise<Meeting>;
576
+ }
577
+
578
+ declare class SubAccountMeetUsersResource {
579
+ private client;
580
+ private subAccountId;
581
+ constructor(client: HttpClient, subAccountId: string);
582
+ /**
583
+ * List meet_users under a sub-account
584
+ */
585
+ list(params?: ListMeetUsersParams): Promise<ListMeetUsersResponse>;
586
+ /**
587
+ * Create/invite a meet_user
588
+ */
589
+ create(params: CreateMeetUserParams): Promise<MeetUser>;
590
+ /**
591
+ * Get a single meet_user
592
+ */
593
+ get(meetUserId: string): Promise<MeetUser>;
594
+ /**
595
+ * Update a meet_user
596
+ */
597
+ update(meetUserId: string, params: UpdateMeetUserParams): Promise<MeetUser>;
598
+ /**
599
+ * Delete a meet_user
600
+ */
601
+ delete(meetUserId: string): Promise<{
602
+ success: boolean;
603
+ }>;
604
+ }
605
+ declare class SubAccountsResource {
606
+ private client;
607
+ constructor(client: HttpClient);
608
+ /**
609
+ * List sub-accounts
610
+ */
611
+ list(params?: ListSubAccountsParams): Promise<ListSubAccountsResponse>;
612
+ /**
613
+ * Create a sub-account
614
+ */
615
+ create(params: CreateSubAccountParams): Promise<SubAccount>;
616
+ /**
617
+ * Get a sub-account
618
+ */
619
+ get(subAccountId: string): Promise<SubAccount>;
620
+ /**
621
+ * Update a sub-account
622
+ */
623
+ update(subAccountId: string, params: {
624
+ name: string;
625
+ }): Promise<SubAccount>;
626
+ /**
627
+ * Delete a sub-account
628
+ */
629
+ delete(subAccountId: string): Promise<{
630
+ success: boolean;
631
+ }>;
632
+ /**
633
+ * Get a meet users resource for a sub-account
634
+ */
635
+ meetUsers(subAccountId: string): SubAccountMeetUsersResource;
636
+ /**
637
+ * List meetings for all meet_users under a sub-account
638
+ */
639
+ listMeetings(subAccountId: string, params?: ListMeetingsParams): Promise<ListMeetingsResponse>;
640
+ }
641
+
451
642
  declare class VeroTranscribe {
452
643
  /**
453
644
  * Transcriptions API
@@ -464,6 +655,16 @@ declare class VeroTranscribe {
464
655
  * Get usage statistics and billing information
465
656
  */
466
657
  readonly usage: UsageResource;
658
+ /**
659
+ * Meetings API
660
+ * Send bots, list, and retrieve meeting recordings
661
+ */
662
+ readonly meetings: MeetingsResource;
663
+ /**
664
+ * Sub-accounts API
665
+ * Manage sub-accounts and meet users (reseller only)
666
+ */
667
+ readonly subAccounts: SubAccountsResource;
467
668
  /**
468
669
  * Create a new VeroTranscribe client
469
670
  *
@@ -489,4 +690,4 @@ declare class VeroTranscribe {
489
690
  constructor(config: VeroTranscribeConfig);
490
691
  }
491
692
 
492
- export { type AIType, type Analysis, type CreateTranscriptionParams, type CreateWebhookParams, type Language, type ListTranscriptionsParams, type ListTranscriptionsResponse, type ListWebhookDeliveriesResponse, type ListWebhooksResponse, type PackageBreakdown, type PackageRates, type PackageSlug, type Transcript, type Transcription, type TranscriptionListItem, type TranscriptionProvider, type TranscriptionSegment, type TranscriptionStatus, type UpdateWebhookParams, type UploadAudioParams, type UploadAudioResponse, type Usage, type UsageHistoryParams, type UsageHistoryRecord, type UsageHistoryResponse, type UsagePeriod, VeroAPIError, VeroTranscribe, type VeroTranscribeConfig, type Webhook, type WebhookDelivery, type WebhookEvent, type WordTimestamp, createWebhookVerifier, VeroTranscribe as default };
693
+ export { type AIType, type Analysis, type CreateMeetUserParams, type CreateSubAccountParams, type CreateTranscriptionParams, type CreateWebhookParams, type Language, type ListMeetUsersParams, type ListMeetUsersResponse, type ListMeetingsParams, type ListMeetingsResponse, type ListSubAccountsParams, type ListSubAccountsResponse, type ListTranscriptionsParams, type ListTranscriptionsResponse, type ListWebhookDeliveriesResponse, type ListWebhooksResponse, type MeetUser, type MeetUserInviteStatus, type Meeting, type MeetingPlatform, type MeetingStatus, type PackageBreakdown, type PackageRates, type PackageSlug, type SendBotParams, type SendBotResponse, type SubAccount, type Transcript, type Transcription, type TranscriptionListItem, type TranscriptionProvider, type TranscriptionSegment, type TranscriptionStatus, type UpdateMeetUserParams, type UpdateWebhookParams, type UploadAudioParams, type UploadAudioResponse, type Usage, type UsageHistoryParams, type UsageHistoryRecord, type UsageHistoryResponse, type UsagePeriod, VeroAPIError, VeroTranscribe, type VeroTranscribeConfig, type Webhook, type WebhookDelivery, type WebhookEvent, type WordTimestamp, createWebhookVerifier, VeroTranscribe as default };
package/dist/index.js CHANGED
@@ -470,6 +470,137 @@ var UsageResource = class {
470
470
  }
471
471
  };
472
472
 
473
+ // src/resources/meetings.ts
474
+ var MeetingsResource = class {
475
+ constructor(client) {
476
+ this.client = client;
477
+ }
478
+ /**
479
+ * Send a MeetingBaas bot to a meeting
480
+ */
481
+ async sendBot(params) {
482
+ return this.client.post("/v1/meetings/send-bot", params);
483
+ }
484
+ /**
485
+ * List meetings
486
+ */
487
+ async list(params) {
488
+ const query = new URLSearchParams();
489
+ if (params?.limit) query.set("limit", String(params.limit));
490
+ if (params?.offset) query.set("offset", String(params.offset));
491
+ if (params?.customerId) query.set("customer_id", params.customerId);
492
+ const queryString = query.toString();
493
+ const path = queryString ? `/v1/meetings?${queryString}` : "/v1/meetings";
494
+ return this.client.get(path);
495
+ }
496
+ /**
497
+ * Get a meeting by bot ID
498
+ */
499
+ async get(botId) {
500
+ return this.client.get(`/v1/meetings/${botId}`);
501
+ }
502
+ };
503
+
504
+ // src/resources/subAccounts.ts
505
+ var SubAccountMeetUsersResource = class {
506
+ constructor(client, subAccountId) {
507
+ this.client = client;
508
+ this.subAccountId = subAccountId;
509
+ }
510
+ /**
511
+ * List meet_users under a sub-account
512
+ */
513
+ async list(params) {
514
+ const query = new URLSearchParams();
515
+ if (params?.limit) query.set("limit", String(params.limit));
516
+ if (params?.offset) query.set("offset", String(params.offset));
517
+ const queryString = query.toString();
518
+ const path = queryString ? `/v1/sub-accounts/${this.subAccountId}/meet-users?${queryString}` : `/v1/sub-accounts/${this.subAccountId}/meet-users`;
519
+ return this.client.get(path);
520
+ }
521
+ /**
522
+ * Create/invite a meet_user
523
+ */
524
+ async create(params) {
525
+ return this.client.post(`/v1/sub-accounts/${this.subAccountId}/meet-users`, params);
526
+ }
527
+ /**
528
+ * Get a single meet_user
529
+ */
530
+ async get(meetUserId) {
531
+ return this.client.get(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`);
532
+ }
533
+ /**
534
+ * Update a meet_user
535
+ */
536
+ async update(meetUserId, params) {
537
+ return this.client.patch(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`, params);
538
+ }
539
+ /**
540
+ * Delete a meet_user
541
+ */
542
+ async delete(meetUserId) {
543
+ return this.client.delete(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`);
544
+ }
545
+ };
546
+ var SubAccountsResource = class {
547
+ constructor(client) {
548
+ this.client = client;
549
+ }
550
+ /**
551
+ * List sub-accounts
552
+ */
553
+ async list(params) {
554
+ const query = new URLSearchParams();
555
+ if (params?.limit) query.set("limit", String(params.limit));
556
+ if (params?.offset) query.set("offset", String(params.offset));
557
+ const queryString = query.toString();
558
+ const path = queryString ? `/v1/sub-accounts?${queryString}` : "/v1/sub-accounts";
559
+ return this.client.get(path);
560
+ }
561
+ /**
562
+ * Create a sub-account
563
+ */
564
+ async create(params) {
565
+ return this.client.post("/v1/sub-accounts", params);
566
+ }
567
+ /**
568
+ * Get a sub-account
569
+ */
570
+ async get(subAccountId) {
571
+ return this.client.get(`/v1/sub-accounts/${subAccountId}`);
572
+ }
573
+ /**
574
+ * Update a sub-account
575
+ */
576
+ async update(subAccountId, params) {
577
+ return this.client.patch(`/v1/sub-accounts/${subAccountId}`, params);
578
+ }
579
+ /**
580
+ * Delete a sub-account
581
+ */
582
+ async delete(subAccountId) {
583
+ return this.client.delete(`/v1/sub-accounts/${subAccountId}`);
584
+ }
585
+ /**
586
+ * Get a meet users resource for a sub-account
587
+ */
588
+ meetUsers(subAccountId) {
589
+ return new SubAccountMeetUsersResource(this.client, subAccountId);
590
+ }
591
+ /**
592
+ * List meetings for all meet_users under a sub-account
593
+ */
594
+ async listMeetings(subAccountId, params) {
595
+ const query = new URLSearchParams();
596
+ if (params?.limit) query.set("limit", String(params.limit));
597
+ if (params?.offset) query.set("offset", String(params.offset));
598
+ const queryString = query.toString();
599
+ const path = queryString ? `/v1/sub-accounts/${subAccountId}/meetings?${queryString}` : `/v1/sub-accounts/${subAccountId}/meetings`;
600
+ return this.client.get(path);
601
+ }
602
+ };
603
+
473
604
  // src/index.ts
474
605
  var VeroTranscribe = class {
475
606
  /**
@@ -499,6 +630,8 @@ var VeroTranscribe = class {
499
630
  this.transcriptions = new TranscriptionsResource(client);
500
631
  this.webhooks = new WebhooksResource(client);
501
632
  this.usage = new UsageResource(client);
633
+ this.meetings = new MeetingsResource(client);
634
+ this.subAccounts = new SubAccountsResource(client);
502
635
  }
503
636
  };
504
637
  var index_default = VeroTranscribe;
package/dist/index.mjs CHANGED
@@ -431,6 +431,137 @@ var UsageResource = class {
431
431
  }
432
432
  };
433
433
 
434
+ // src/resources/meetings.ts
435
+ var MeetingsResource = class {
436
+ constructor(client) {
437
+ this.client = client;
438
+ }
439
+ /**
440
+ * Send a MeetingBaas bot to a meeting
441
+ */
442
+ async sendBot(params) {
443
+ return this.client.post("/v1/meetings/send-bot", params);
444
+ }
445
+ /**
446
+ * List meetings
447
+ */
448
+ async list(params) {
449
+ const query = new URLSearchParams();
450
+ if (params?.limit) query.set("limit", String(params.limit));
451
+ if (params?.offset) query.set("offset", String(params.offset));
452
+ if (params?.customerId) query.set("customer_id", params.customerId);
453
+ const queryString = query.toString();
454
+ const path = queryString ? `/v1/meetings?${queryString}` : "/v1/meetings";
455
+ return this.client.get(path);
456
+ }
457
+ /**
458
+ * Get a meeting by bot ID
459
+ */
460
+ async get(botId) {
461
+ return this.client.get(`/v1/meetings/${botId}`);
462
+ }
463
+ };
464
+
465
+ // src/resources/subAccounts.ts
466
+ var SubAccountMeetUsersResource = class {
467
+ constructor(client, subAccountId) {
468
+ this.client = client;
469
+ this.subAccountId = subAccountId;
470
+ }
471
+ /**
472
+ * List meet_users under a sub-account
473
+ */
474
+ async list(params) {
475
+ const query = new URLSearchParams();
476
+ if (params?.limit) query.set("limit", String(params.limit));
477
+ if (params?.offset) query.set("offset", String(params.offset));
478
+ const queryString = query.toString();
479
+ const path = queryString ? `/v1/sub-accounts/${this.subAccountId}/meet-users?${queryString}` : `/v1/sub-accounts/${this.subAccountId}/meet-users`;
480
+ return this.client.get(path);
481
+ }
482
+ /**
483
+ * Create/invite a meet_user
484
+ */
485
+ async create(params) {
486
+ return this.client.post(`/v1/sub-accounts/${this.subAccountId}/meet-users`, params);
487
+ }
488
+ /**
489
+ * Get a single meet_user
490
+ */
491
+ async get(meetUserId) {
492
+ return this.client.get(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`);
493
+ }
494
+ /**
495
+ * Update a meet_user
496
+ */
497
+ async update(meetUserId, params) {
498
+ return this.client.patch(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`, params);
499
+ }
500
+ /**
501
+ * Delete a meet_user
502
+ */
503
+ async delete(meetUserId) {
504
+ return this.client.delete(`/v1/sub-accounts/${this.subAccountId}/meet-users/${meetUserId}`);
505
+ }
506
+ };
507
+ var SubAccountsResource = class {
508
+ constructor(client) {
509
+ this.client = client;
510
+ }
511
+ /**
512
+ * List sub-accounts
513
+ */
514
+ async list(params) {
515
+ const query = new URLSearchParams();
516
+ if (params?.limit) query.set("limit", String(params.limit));
517
+ if (params?.offset) query.set("offset", String(params.offset));
518
+ const queryString = query.toString();
519
+ const path = queryString ? `/v1/sub-accounts?${queryString}` : "/v1/sub-accounts";
520
+ return this.client.get(path);
521
+ }
522
+ /**
523
+ * Create a sub-account
524
+ */
525
+ async create(params) {
526
+ return this.client.post("/v1/sub-accounts", params);
527
+ }
528
+ /**
529
+ * Get a sub-account
530
+ */
531
+ async get(subAccountId) {
532
+ return this.client.get(`/v1/sub-accounts/${subAccountId}`);
533
+ }
534
+ /**
535
+ * Update a sub-account
536
+ */
537
+ async update(subAccountId, params) {
538
+ return this.client.patch(`/v1/sub-accounts/${subAccountId}`, params);
539
+ }
540
+ /**
541
+ * Delete a sub-account
542
+ */
543
+ async delete(subAccountId) {
544
+ return this.client.delete(`/v1/sub-accounts/${subAccountId}`);
545
+ }
546
+ /**
547
+ * Get a meet users resource for a sub-account
548
+ */
549
+ meetUsers(subAccountId) {
550
+ return new SubAccountMeetUsersResource(this.client, subAccountId);
551
+ }
552
+ /**
553
+ * List meetings for all meet_users under a sub-account
554
+ */
555
+ async listMeetings(subAccountId, params) {
556
+ const query = new URLSearchParams();
557
+ if (params?.limit) query.set("limit", String(params.limit));
558
+ if (params?.offset) query.set("offset", String(params.offset));
559
+ const queryString = query.toString();
560
+ const path = queryString ? `/v1/sub-accounts/${subAccountId}/meetings?${queryString}` : `/v1/sub-accounts/${subAccountId}/meetings`;
561
+ return this.client.get(path);
562
+ }
563
+ };
564
+
434
565
  // src/index.ts
435
566
  var VeroTranscribe = class {
436
567
  /**
@@ -460,6 +591,8 @@ var VeroTranscribe = class {
460
591
  this.transcriptions = new TranscriptionsResource(client);
461
592
  this.webhooks = new WebhooksResource(client);
462
593
  this.usage = new UsageResource(client);
594
+ this.meetings = new MeetingsResource(client);
595
+ this.subAccounts = new SubAccountsResource(client);
463
596
  }
464
597
  };
465
598
  var index_default = VeroTranscribe;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veroai/transcribe",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Official Node.js/TypeScript SDK for VeroTranscribe API",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -18,7 +18,11 @@
18
18
  "scripts": {
19
19
  "build": "tsup src/index.ts --format cjs,esm --dts",
20
20
  "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
21
- "typecheck": "tsc --noEmit"
21
+ "typecheck": "tsc --noEmit",
22
+ "test": "vitest run",
23
+ "test:watch": "vitest",
24
+ "test:unit": "vitest run tests/client.test.ts tests/webhook-verifier.test.ts",
25
+ "test:e2e": "vitest run tests/transcriptions.test.ts tests/webhooks.test.ts tests/usage.test.ts"
22
26
  },
23
27
  "keywords": [
24
28
  "verotranscribe",
@@ -29,13 +33,15 @@
29
33
  ],
30
34
  "author": "VeroAI",
31
35
  "license": "MIT",
36
+ "homepage": "https://verotranscribe.com",
32
37
  "devDependencies": {
33
38
  "tsup": "^8.0.0",
34
- "typescript": "^5.0.0"
39
+ "typescript": "^5.0.0",
40
+ "vitest": "^2.0.0"
35
41
  },
36
42
  "repository": {
37
43
  "type": "git",
38
- "url": "git+https://github.com/veroai/transcribe-sdk.git"
44
+ "url": "git+https://github.com/vero-transcribe/sdk.git"
39
45
  },
40
46
  "dependencies": {
41
47
  "@types/node": "^25.0.10"