@heymantle/core-api-client 0.1.19 → 0.1.21
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 +531 -1
- package/dist/index.d.ts +531 -1
- package/dist/index.js +221 -0
- package/dist/index.mjs +221 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1698,6 +1698,12 @@ var MetricsResource = class extends BaseResource {
|
|
|
1698
1698
|
...params
|
|
1699
1699
|
});
|
|
1700
1700
|
}
|
|
1701
|
+
/**
|
|
1702
|
+
* Get key sales metrics
|
|
1703
|
+
*/
|
|
1704
|
+
async sales(params) {
|
|
1705
|
+
return this.get("/metrics/sales", params);
|
|
1706
|
+
}
|
|
1701
1707
|
};
|
|
1702
1708
|
|
|
1703
1709
|
// src/resources/users.ts
|
|
@@ -2358,6 +2364,220 @@ var AiAgentRunsResource = class extends BaseResource {
|
|
|
2358
2364
|
}
|
|
2359
2365
|
};
|
|
2360
2366
|
|
|
2367
|
+
// src/resources/meetings.ts
|
|
2368
|
+
var MeetingsResource = class extends BaseResource {
|
|
2369
|
+
/**
|
|
2370
|
+
* List meetings with optional filters and pagination
|
|
2371
|
+
*
|
|
2372
|
+
* @param params - Filter and pagination parameters
|
|
2373
|
+
* @returns Paginated list of meetings
|
|
2374
|
+
*
|
|
2375
|
+
* @example
|
|
2376
|
+
* ```typescript
|
|
2377
|
+
* // List all meetings
|
|
2378
|
+
* const { meetings } = await client.meetings.list();
|
|
2379
|
+
*
|
|
2380
|
+
* // List meetings for a specific deal
|
|
2381
|
+
* const { meetings } = await client.meetings.list({ dealId: 'deal_123' });
|
|
2382
|
+
*
|
|
2383
|
+
* // List meetings from Google Meet
|
|
2384
|
+
* const { meetings } = await client.meetings.list({ platform: 'google_meet' });
|
|
2385
|
+
* ```
|
|
2386
|
+
*/
|
|
2387
|
+
async list(params) {
|
|
2388
|
+
const response = await this.get("/meetings", params);
|
|
2389
|
+
return {
|
|
2390
|
+
meetings: response.meetings || [],
|
|
2391
|
+
hasNextPage: response.hasNextPage || false,
|
|
2392
|
+
hasPreviousPage: response.hasPreviousPage || false,
|
|
2393
|
+
total: response.total,
|
|
2394
|
+
page: response.page,
|
|
2395
|
+
totalPages: response.totalPages
|
|
2396
|
+
};
|
|
2397
|
+
}
|
|
2398
|
+
/**
|
|
2399
|
+
* Retrieve a single meeting by ID with full transcript and attendee data
|
|
2400
|
+
*
|
|
2401
|
+
* @param meetingId - The meeting ID
|
|
2402
|
+
* @returns The meeting with all related data
|
|
2403
|
+
*
|
|
2404
|
+
* @example
|
|
2405
|
+
* ```typescript
|
|
2406
|
+
* const { meeting } = await client.meetings.retrieve('meeting_123');
|
|
2407
|
+
* console.log(meeting.transcript?.fullText);
|
|
2408
|
+
* ```
|
|
2409
|
+
*/
|
|
2410
|
+
async retrieve(meetingId) {
|
|
2411
|
+
return this.get(`/meetings/${meetingId}`);
|
|
2412
|
+
}
|
|
2413
|
+
/**
|
|
2414
|
+
* Create a new meeting
|
|
2415
|
+
*
|
|
2416
|
+
* Typically called when a recording starts in the browser extension.
|
|
2417
|
+
* The meeting can be created with optional transcript and attendee data,
|
|
2418
|
+
* or these can be added later via transcription.
|
|
2419
|
+
*
|
|
2420
|
+
* @param data - Meeting creation parameters
|
|
2421
|
+
* @returns The created meeting
|
|
2422
|
+
*
|
|
2423
|
+
* @example
|
|
2424
|
+
* ```typescript
|
|
2425
|
+
* // Create meeting when recording starts
|
|
2426
|
+
* const meeting = await client.meetings.create({
|
|
2427
|
+
* meetingData: {
|
|
2428
|
+
* platform: 'zoom',
|
|
2429
|
+
* title: 'Weekly Sync',
|
|
2430
|
+
* meetingUrl: 'https://zoom.us/j/123456789',
|
|
2431
|
+
* startTime: new Date().toISOString(),
|
|
2432
|
+
* recordingStatus: 'pending',
|
|
2433
|
+
* }
|
|
2434
|
+
* });
|
|
2435
|
+
*
|
|
2436
|
+
* // Create meeting with transcript (from local transcription)
|
|
2437
|
+
* const meeting = await client.meetings.create({
|
|
2438
|
+
* meetingData: { ... },
|
|
2439
|
+
* transcript: {
|
|
2440
|
+
* fullText: 'Hello, this is the transcript...',
|
|
2441
|
+
* utterances: [
|
|
2442
|
+
* { attendeeId: 'A', text: 'Hello', startTime: 0, endTime: 500 },
|
|
2443
|
+
* ],
|
|
2444
|
+
* },
|
|
2445
|
+
* attendees: [
|
|
2446
|
+
* { externalId: 'A', name: 'John Doe', email: 'john@example.com' },
|
|
2447
|
+
* ],
|
|
2448
|
+
* });
|
|
2449
|
+
* ```
|
|
2450
|
+
*/
|
|
2451
|
+
async create(data) {
|
|
2452
|
+
return this.post("/meetings", data);
|
|
2453
|
+
}
|
|
2454
|
+
/**
|
|
2455
|
+
* Update an existing meeting
|
|
2456
|
+
*
|
|
2457
|
+
* @param meetingId - The meeting ID
|
|
2458
|
+
* @param data - Fields to update
|
|
2459
|
+
* @returns The updated meeting
|
|
2460
|
+
*
|
|
2461
|
+
* @example
|
|
2462
|
+
* ```typescript
|
|
2463
|
+
* // Update meeting title and link to a deal
|
|
2464
|
+
* const meeting = await client.meetings.update('meeting_123', {
|
|
2465
|
+
* title: 'Updated Meeting Title',
|
|
2466
|
+
* dealId: 'deal_456',
|
|
2467
|
+
* });
|
|
2468
|
+
* ```
|
|
2469
|
+
*/
|
|
2470
|
+
async update(meetingId, data) {
|
|
2471
|
+
return this.put(`/meetings/${meetingId}`, data);
|
|
2472
|
+
}
|
|
2473
|
+
/**
|
|
2474
|
+
* Archive (soft delete) a meeting
|
|
2475
|
+
*
|
|
2476
|
+
* @param meetingId - The meeting ID
|
|
2477
|
+
* @returns Success response
|
|
2478
|
+
*
|
|
2479
|
+
* @example
|
|
2480
|
+
* ```typescript
|
|
2481
|
+
* await client.meetings.del('meeting_123');
|
|
2482
|
+
* ```
|
|
2483
|
+
*/
|
|
2484
|
+
async del(meetingId) {
|
|
2485
|
+
return this._delete(`/meetings/${meetingId}`);
|
|
2486
|
+
}
|
|
2487
|
+
/**
|
|
2488
|
+
* Get a signed URL to upload a meeting recording
|
|
2489
|
+
*
|
|
2490
|
+
* Returns a pre-signed S3 URL that can be used to upload the recording
|
|
2491
|
+
* directly from the client. After uploading, call `startTranscription`
|
|
2492
|
+
* to begin server-side transcription.
|
|
2493
|
+
*
|
|
2494
|
+
* @param meetingId - The meeting ID
|
|
2495
|
+
* @param filename - Optional filename (default: "recording.webm")
|
|
2496
|
+
* @returns Upload URL and recording key
|
|
2497
|
+
*
|
|
2498
|
+
* @example
|
|
2499
|
+
* ```typescript
|
|
2500
|
+
* const { uploadUrl, recordingKey } = await client.meetings.getUploadUrl('meeting_123');
|
|
2501
|
+
*
|
|
2502
|
+
* // Upload the recording blob directly to S3
|
|
2503
|
+
* const response = await fetch(uploadUrl, {
|
|
2504
|
+
* method: 'PUT',
|
|
2505
|
+
* body: recordingBlob,
|
|
2506
|
+
* headers: { 'Content-Type': 'audio/webm' },
|
|
2507
|
+
* });
|
|
2508
|
+
*
|
|
2509
|
+
* // Then start transcription
|
|
2510
|
+
* await client.meetings.startTranscription('meeting_123', { recordingKey });
|
|
2511
|
+
* ```
|
|
2512
|
+
*/
|
|
2513
|
+
async getUploadUrl(meetingId, filename) {
|
|
2514
|
+
return this.post(
|
|
2515
|
+
`/meetings/${meetingId}/transcribe/upload`,
|
|
2516
|
+
filename ? { filename } : {}
|
|
2517
|
+
);
|
|
2518
|
+
}
|
|
2519
|
+
/**
|
|
2520
|
+
* Start server-side transcription for a meeting
|
|
2521
|
+
*
|
|
2522
|
+
* The recording must first be uploaded using the URL from `getUploadUrl`.
|
|
2523
|
+
* Transcription is processed asynchronously - poll `getTranscriptionStatus`
|
|
2524
|
+
* or retrieve the meeting to check for completion.
|
|
2525
|
+
*
|
|
2526
|
+
* @param meetingId - The meeting ID
|
|
2527
|
+
* @param params - Transcription parameters including the recording key
|
|
2528
|
+
* @returns The meeting with pending transcription status
|
|
2529
|
+
*
|
|
2530
|
+
* @example
|
|
2531
|
+
* ```typescript
|
|
2532
|
+
* // Start transcription after uploading
|
|
2533
|
+
* const meeting = await client.meetings.startTranscription('meeting_123', {
|
|
2534
|
+
* recordingKey: 'meeting-recordings/org-id/meeting-123/uuid/recording.webm',
|
|
2535
|
+
* });
|
|
2536
|
+
*
|
|
2537
|
+
* // meeting.recordingStatus will be 'pending' or 'processing'
|
|
2538
|
+
* ```
|
|
2539
|
+
*/
|
|
2540
|
+
async startTranscription(meetingId, params) {
|
|
2541
|
+
return this.post(`/meetings/${meetingId}/transcribe`, params);
|
|
2542
|
+
}
|
|
2543
|
+
/**
|
|
2544
|
+
* Get the current transcription status for a meeting
|
|
2545
|
+
*
|
|
2546
|
+
* Use this to poll for transcription completion after calling
|
|
2547
|
+
* `startTranscription`.
|
|
2548
|
+
*
|
|
2549
|
+
* @param meetingId - The meeting ID
|
|
2550
|
+
* @returns Current transcription status
|
|
2551
|
+
*
|
|
2552
|
+
* @example
|
|
2553
|
+
* ```typescript
|
|
2554
|
+
* // Poll for completion
|
|
2555
|
+
* const poll = async () => {
|
|
2556
|
+
* const status = await client.meetings.getTranscriptionStatus('meeting_123');
|
|
2557
|
+
*
|
|
2558
|
+
* if (status.recordingStatus === 'ready') {
|
|
2559
|
+
* // Transcription complete - fetch the full meeting
|
|
2560
|
+
* const meeting = await client.meetings.retrieve('meeting_123');
|
|
2561
|
+
* return meeting;
|
|
2562
|
+
* }
|
|
2563
|
+
*
|
|
2564
|
+
* if (status.recordingStatus === 'failed') {
|
|
2565
|
+
* throw new Error('Transcription failed');
|
|
2566
|
+
* }
|
|
2567
|
+
*
|
|
2568
|
+
* // Still processing - wait and retry
|
|
2569
|
+
* await new Promise(r => setTimeout(r, 5000));
|
|
2570
|
+
* return poll();
|
|
2571
|
+
* };
|
|
2572
|
+
* ```
|
|
2573
|
+
*/
|
|
2574
|
+
async getTranscriptionStatus(meetingId) {
|
|
2575
|
+
return this.get(
|
|
2576
|
+
`/meetings/${meetingId}/transcribe`
|
|
2577
|
+
);
|
|
2578
|
+
}
|
|
2579
|
+
};
|
|
2580
|
+
|
|
2361
2581
|
// src/client.ts
|
|
2362
2582
|
var MantleCoreClient = class {
|
|
2363
2583
|
constructor(config) {
|
|
@@ -2416,6 +2636,7 @@ var MantleCoreClient = class {
|
|
|
2416
2636
|
this.emailUnsubscribeGroups = new EmailUnsubscribeGroupsResource(this);
|
|
2417
2637
|
this.flowExtensions = new FlowExtensionsResource(this);
|
|
2418
2638
|
this.aiAgentRuns = new AiAgentRunsResource(this);
|
|
2639
|
+
this.meetings = new MeetingsResource(this);
|
|
2419
2640
|
}
|
|
2420
2641
|
/**
|
|
2421
2642
|
* Register a middleware function
|
package/dist/index.mjs
CHANGED
|
@@ -1632,6 +1632,12 @@ var MetricsResource = class extends BaseResource {
|
|
|
1632
1632
|
...params
|
|
1633
1633
|
});
|
|
1634
1634
|
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Get key sales metrics
|
|
1637
|
+
*/
|
|
1638
|
+
async sales(params) {
|
|
1639
|
+
return this.get("/metrics/sales", params);
|
|
1640
|
+
}
|
|
1635
1641
|
};
|
|
1636
1642
|
|
|
1637
1643
|
// src/resources/users.ts
|
|
@@ -2292,6 +2298,220 @@ var AiAgentRunsResource = class extends BaseResource {
|
|
|
2292
2298
|
}
|
|
2293
2299
|
};
|
|
2294
2300
|
|
|
2301
|
+
// src/resources/meetings.ts
|
|
2302
|
+
var MeetingsResource = class extends BaseResource {
|
|
2303
|
+
/**
|
|
2304
|
+
* List meetings with optional filters and pagination
|
|
2305
|
+
*
|
|
2306
|
+
* @param params - Filter and pagination parameters
|
|
2307
|
+
* @returns Paginated list of meetings
|
|
2308
|
+
*
|
|
2309
|
+
* @example
|
|
2310
|
+
* ```typescript
|
|
2311
|
+
* // List all meetings
|
|
2312
|
+
* const { meetings } = await client.meetings.list();
|
|
2313
|
+
*
|
|
2314
|
+
* // List meetings for a specific deal
|
|
2315
|
+
* const { meetings } = await client.meetings.list({ dealId: 'deal_123' });
|
|
2316
|
+
*
|
|
2317
|
+
* // List meetings from Google Meet
|
|
2318
|
+
* const { meetings } = await client.meetings.list({ platform: 'google_meet' });
|
|
2319
|
+
* ```
|
|
2320
|
+
*/
|
|
2321
|
+
async list(params) {
|
|
2322
|
+
const response = await this.get("/meetings", params);
|
|
2323
|
+
return {
|
|
2324
|
+
meetings: response.meetings || [],
|
|
2325
|
+
hasNextPage: response.hasNextPage || false,
|
|
2326
|
+
hasPreviousPage: response.hasPreviousPage || false,
|
|
2327
|
+
total: response.total,
|
|
2328
|
+
page: response.page,
|
|
2329
|
+
totalPages: response.totalPages
|
|
2330
|
+
};
|
|
2331
|
+
}
|
|
2332
|
+
/**
|
|
2333
|
+
* Retrieve a single meeting by ID with full transcript and attendee data
|
|
2334
|
+
*
|
|
2335
|
+
* @param meetingId - The meeting ID
|
|
2336
|
+
* @returns The meeting with all related data
|
|
2337
|
+
*
|
|
2338
|
+
* @example
|
|
2339
|
+
* ```typescript
|
|
2340
|
+
* const { meeting } = await client.meetings.retrieve('meeting_123');
|
|
2341
|
+
* console.log(meeting.transcript?.fullText);
|
|
2342
|
+
* ```
|
|
2343
|
+
*/
|
|
2344
|
+
async retrieve(meetingId) {
|
|
2345
|
+
return this.get(`/meetings/${meetingId}`);
|
|
2346
|
+
}
|
|
2347
|
+
/**
|
|
2348
|
+
* Create a new meeting
|
|
2349
|
+
*
|
|
2350
|
+
* Typically called when a recording starts in the browser extension.
|
|
2351
|
+
* The meeting can be created with optional transcript and attendee data,
|
|
2352
|
+
* or these can be added later via transcription.
|
|
2353
|
+
*
|
|
2354
|
+
* @param data - Meeting creation parameters
|
|
2355
|
+
* @returns The created meeting
|
|
2356
|
+
*
|
|
2357
|
+
* @example
|
|
2358
|
+
* ```typescript
|
|
2359
|
+
* // Create meeting when recording starts
|
|
2360
|
+
* const meeting = await client.meetings.create({
|
|
2361
|
+
* meetingData: {
|
|
2362
|
+
* platform: 'zoom',
|
|
2363
|
+
* title: 'Weekly Sync',
|
|
2364
|
+
* meetingUrl: 'https://zoom.us/j/123456789',
|
|
2365
|
+
* startTime: new Date().toISOString(),
|
|
2366
|
+
* recordingStatus: 'pending',
|
|
2367
|
+
* }
|
|
2368
|
+
* });
|
|
2369
|
+
*
|
|
2370
|
+
* // Create meeting with transcript (from local transcription)
|
|
2371
|
+
* const meeting = await client.meetings.create({
|
|
2372
|
+
* meetingData: { ... },
|
|
2373
|
+
* transcript: {
|
|
2374
|
+
* fullText: 'Hello, this is the transcript...',
|
|
2375
|
+
* utterances: [
|
|
2376
|
+
* { attendeeId: 'A', text: 'Hello', startTime: 0, endTime: 500 },
|
|
2377
|
+
* ],
|
|
2378
|
+
* },
|
|
2379
|
+
* attendees: [
|
|
2380
|
+
* { externalId: 'A', name: 'John Doe', email: 'john@example.com' },
|
|
2381
|
+
* ],
|
|
2382
|
+
* });
|
|
2383
|
+
* ```
|
|
2384
|
+
*/
|
|
2385
|
+
async create(data) {
|
|
2386
|
+
return this.post("/meetings", data);
|
|
2387
|
+
}
|
|
2388
|
+
/**
|
|
2389
|
+
* Update an existing meeting
|
|
2390
|
+
*
|
|
2391
|
+
* @param meetingId - The meeting ID
|
|
2392
|
+
* @param data - Fields to update
|
|
2393
|
+
* @returns The updated meeting
|
|
2394
|
+
*
|
|
2395
|
+
* @example
|
|
2396
|
+
* ```typescript
|
|
2397
|
+
* // Update meeting title and link to a deal
|
|
2398
|
+
* const meeting = await client.meetings.update('meeting_123', {
|
|
2399
|
+
* title: 'Updated Meeting Title',
|
|
2400
|
+
* dealId: 'deal_456',
|
|
2401
|
+
* });
|
|
2402
|
+
* ```
|
|
2403
|
+
*/
|
|
2404
|
+
async update(meetingId, data) {
|
|
2405
|
+
return this.put(`/meetings/${meetingId}`, data);
|
|
2406
|
+
}
|
|
2407
|
+
/**
|
|
2408
|
+
* Archive (soft delete) a meeting
|
|
2409
|
+
*
|
|
2410
|
+
* @param meetingId - The meeting ID
|
|
2411
|
+
* @returns Success response
|
|
2412
|
+
*
|
|
2413
|
+
* @example
|
|
2414
|
+
* ```typescript
|
|
2415
|
+
* await client.meetings.del('meeting_123');
|
|
2416
|
+
* ```
|
|
2417
|
+
*/
|
|
2418
|
+
async del(meetingId) {
|
|
2419
|
+
return this._delete(`/meetings/${meetingId}`);
|
|
2420
|
+
}
|
|
2421
|
+
/**
|
|
2422
|
+
* Get a signed URL to upload a meeting recording
|
|
2423
|
+
*
|
|
2424
|
+
* Returns a pre-signed S3 URL that can be used to upload the recording
|
|
2425
|
+
* directly from the client. After uploading, call `startTranscription`
|
|
2426
|
+
* to begin server-side transcription.
|
|
2427
|
+
*
|
|
2428
|
+
* @param meetingId - The meeting ID
|
|
2429
|
+
* @param filename - Optional filename (default: "recording.webm")
|
|
2430
|
+
* @returns Upload URL and recording key
|
|
2431
|
+
*
|
|
2432
|
+
* @example
|
|
2433
|
+
* ```typescript
|
|
2434
|
+
* const { uploadUrl, recordingKey } = await client.meetings.getUploadUrl('meeting_123');
|
|
2435
|
+
*
|
|
2436
|
+
* // Upload the recording blob directly to S3
|
|
2437
|
+
* const response = await fetch(uploadUrl, {
|
|
2438
|
+
* method: 'PUT',
|
|
2439
|
+
* body: recordingBlob,
|
|
2440
|
+
* headers: { 'Content-Type': 'audio/webm' },
|
|
2441
|
+
* });
|
|
2442
|
+
*
|
|
2443
|
+
* // Then start transcription
|
|
2444
|
+
* await client.meetings.startTranscription('meeting_123', { recordingKey });
|
|
2445
|
+
* ```
|
|
2446
|
+
*/
|
|
2447
|
+
async getUploadUrl(meetingId, filename) {
|
|
2448
|
+
return this.post(
|
|
2449
|
+
`/meetings/${meetingId}/transcribe/upload`,
|
|
2450
|
+
filename ? { filename } : {}
|
|
2451
|
+
);
|
|
2452
|
+
}
|
|
2453
|
+
/**
|
|
2454
|
+
* Start server-side transcription for a meeting
|
|
2455
|
+
*
|
|
2456
|
+
* The recording must first be uploaded using the URL from `getUploadUrl`.
|
|
2457
|
+
* Transcription is processed asynchronously - poll `getTranscriptionStatus`
|
|
2458
|
+
* or retrieve the meeting to check for completion.
|
|
2459
|
+
*
|
|
2460
|
+
* @param meetingId - The meeting ID
|
|
2461
|
+
* @param params - Transcription parameters including the recording key
|
|
2462
|
+
* @returns The meeting with pending transcription status
|
|
2463
|
+
*
|
|
2464
|
+
* @example
|
|
2465
|
+
* ```typescript
|
|
2466
|
+
* // Start transcription after uploading
|
|
2467
|
+
* const meeting = await client.meetings.startTranscription('meeting_123', {
|
|
2468
|
+
* recordingKey: 'meeting-recordings/org-id/meeting-123/uuid/recording.webm',
|
|
2469
|
+
* });
|
|
2470
|
+
*
|
|
2471
|
+
* // meeting.recordingStatus will be 'pending' or 'processing'
|
|
2472
|
+
* ```
|
|
2473
|
+
*/
|
|
2474
|
+
async startTranscription(meetingId, params) {
|
|
2475
|
+
return this.post(`/meetings/${meetingId}/transcribe`, params);
|
|
2476
|
+
}
|
|
2477
|
+
/**
|
|
2478
|
+
* Get the current transcription status for a meeting
|
|
2479
|
+
*
|
|
2480
|
+
* Use this to poll for transcription completion after calling
|
|
2481
|
+
* `startTranscription`.
|
|
2482
|
+
*
|
|
2483
|
+
* @param meetingId - The meeting ID
|
|
2484
|
+
* @returns Current transcription status
|
|
2485
|
+
*
|
|
2486
|
+
* @example
|
|
2487
|
+
* ```typescript
|
|
2488
|
+
* // Poll for completion
|
|
2489
|
+
* const poll = async () => {
|
|
2490
|
+
* const status = await client.meetings.getTranscriptionStatus('meeting_123');
|
|
2491
|
+
*
|
|
2492
|
+
* if (status.recordingStatus === 'ready') {
|
|
2493
|
+
* // Transcription complete - fetch the full meeting
|
|
2494
|
+
* const meeting = await client.meetings.retrieve('meeting_123');
|
|
2495
|
+
* return meeting;
|
|
2496
|
+
* }
|
|
2497
|
+
*
|
|
2498
|
+
* if (status.recordingStatus === 'failed') {
|
|
2499
|
+
* throw new Error('Transcription failed');
|
|
2500
|
+
* }
|
|
2501
|
+
*
|
|
2502
|
+
* // Still processing - wait and retry
|
|
2503
|
+
* await new Promise(r => setTimeout(r, 5000));
|
|
2504
|
+
* return poll();
|
|
2505
|
+
* };
|
|
2506
|
+
* ```
|
|
2507
|
+
*/
|
|
2508
|
+
async getTranscriptionStatus(meetingId) {
|
|
2509
|
+
return this.get(
|
|
2510
|
+
`/meetings/${meetingId}/transcribe`
|
|
2511
|
+
);
|
|
2512
|
+
}
|
|
2513
|
+
};
|
|
2514
|
+
|
|
2295
2515
|
// src/client.ts
|
|
2296
2516
|
var MantleCoreClient = class {
|
|
2297
2517
|
constructor(config) {
|
|
@@ -2350,6 +2570,7 @@ var MantleCoreClient = class {
|
|
|
2350
2570
|
this.emailUnsubscribeGroups = new EmailUnsubscribeGroupsResource(this);
|
|
2351
2571
|
this.flowExtensions = new FlowExtensionsResource(this);
|
|
2352
2572
|
this.aiAgentRuns = new AiAgentRunsResource(this);
|
|
2573
|
+
this.meetings = new MeetingsResource(this);
|
|
2353
2574
|
}
|
|
2354
2575
|
/**
|
|
2355
2576
|
* Register a middleware function
|