@workhive/api 1.3.3 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +160 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +253 -12
- package/dist/context.d.ts +122 -3
- package/dist/context.d.ts.map +1 -1
- package/dist/hooks/index.d.ts +24 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +20 -1
- package/dist/hooks/use-billing-status.d.ts +7 -0
- package/dist/hooks/use-billing-status.d.ts.map +1 -0
- package/dist/hooks/use-billing-status.js +17 -0
- package/dist/hooks/use-card.d.ts +2 -0
- package/dist/hooks/use-card.d.ts.map +1 -0
- package/dist/hooks/use-card.js +12 -0
- package/dist/hooks/use-cards.d.ts +5 -0
- package/dist/hooks/use-cards.d.ts.map +1 -0
- package/dist/hooks/use-cards.js +12 -0
- package/dist/hooks/use-create-card.d.ts +10 -0
- package/dist/hooks/use-create-card.d.ts.map +1 -0
- package/dist/hooks/use-create-card.js +13 -0
- package/dist/hooks/use-delete-card.d.ts +15 -0
- package/dist/hooks/use-delete-card.d.ts.map +1 -0
- package/dist/hooks/use-delete-card.js +38 -0
- package/dist/hooks/use-email-drafts.d.ts +32 -0
- package/dist/hooks/use-email-drafts.d.ts.map +1 -0
- package/dist/hooks/use-email-drafts.js +98 -0
- package/dist/hooks/use-gmail-connection-members.d.ts +2 -0
- package/dist/hooks/use-gmail-connection-members.d.ts.map +1 -0
- package/dist/hooks/use-gmail-connection-members.js +13 -0
- package/dist/hooks/use-gmail-connections.d.ts +5 -0
- package/dist/hooks/use-gmail-connections.d.ts.map +1 -0
- package/dist/hooks/use-gmail-connections.js +21 -0
- package/dist/hooks/use-gmail-messages.d.ts +2 -0
- package/dist/hooks/use-gmail-messages.d.ts.map +1 -0
- package/dist/hooks/use-gmail-messages.js +13 -0
- package/dist/hooks/use-gmail-signature.d.ts +2 -0
- package/dist/hooks/use-gmail-signature.d.ts.map +1 -0
- package/dist/hooks/use-gmail-signature.js +12 -0
- package/dist/hooks/use-gmail-thread-search-infinite.d.ts +2 -0
- package/dist/hooks/use-gmail-thread-search-infinite.d.ts.map +1 -0
- package/dist/hooks/use-gmail-thread-search-infinite.js +21 -0
- package/dist/hooks/use-gmail-thread-search.d.ts +2 -0
- package/dist/hooks/use-gmail-thread-search.d.ts.map +1 -0
- package/dist/hooks/use-gmail-thread-search.js +12 -0
- package/dist/hooks/use-gmail-threads-infinite.d.ts +5 -0
- package/dist/hooks/use-gmail-threads-infinite.d.ts.map +1 -0
- package/dist/hooks/use-gmail-threads-infinite.js +24 -0
- package/dist/hooks/use-gmail-threads.d.ts +7 -0
- package/dist/hooks/use-gmail-threads.d.ts.map +1 -0
- package/dist/hooks/use-gmail-threads.js +23 -0
- package/dist/hooks/use-inbox-badge-count.d.ts +6 -0
- package/dist/hooks/use-inbox-badge-count.d.ts.map +1 -0
- package/dist/hooks/use-inbox-badge-count.js +17 -0
- package/dist/hooks/use-inbox-thread-search.d.ts +2 -0
- package/dist/hooks/use-inbox-thread-search.d.ts.map +1 -0
- package/dist/hooks/use-inbox-thread-search.js +12 -0
- package/dist/hooks/use-inbox-threads-infinite.d.ts.map +1 -1
- package/dist/hooks/use-inbox-threads-infinite.js +1 -0
- package/dist/hooks/use-link-gmail-thread-contact.d.ts +7 -0
- package/dist/hooks/use-link-gmail-thread-contact.d.ts.map +1 -0
- package/dist/hooks/use-link-gmail-thread-contact.js +15 -0
- package/dist/hooks/use-manage-gmail-connection-members.d.ts +13 -0
- package/dist/hooks/use-manage-gmail-connection-members.d.ts.map +1 -0
- package/dist/hooks/use-manage-gmail-connection-members.js +25 -0
- package/dist/hooks/use-mark-inbox-thread-read.d.ts +3 -1
- package/dist/hooks/use-mark-inbox-thread-read.d.ts.map +1 -1
- package/dist/hooks/use-mark-inbox-thread-read.js +36 -14
- package/dist/hooks/use-mark-inbox-thread-unread.d.ts +3 -1
- package/dist/hooks/use-mark-inbox-thread-unread.d.ts.map +1 -1
- package/dist/hooks/use-mark-inbox-thread-unread.js +37 -14
- package/dist/hooks/use-me.d.ts.map +1 -1
- package/dist/hooks/use-me.js +2 -1
- package/dist/hooks/use-message-snippets.d.ts +1 -1
- package/dist/hooks/use-message-snippets.d.ts.map +1 -1
- package/dist/hooks/use-message-snippets.js +4 -3
- package/dist/hooks/use-missed-unseen-count.d.ts +8 -0
- package/dist/hooks/use-missed-unseen-count.d.ts.map +1 -0
- package/dist/hooks/use-missed-unseen-count.js +19 -0
- package/dist/hooks/use-patch-card.d.ts +15 -0
- package/dist/hooks/use-patch-card.d.ts.map +1 -0
- package/dist/hooks/use-patch-card.js +48 -0
- package/dist/hooks/use-phone-number.d.ts.map +1 -1
- package/dist/hooks/use-phone-number.js +2 -1
- package/dist/hooks/use-phone-numbers.d.ts.map +1 -1
- package/dist/hooks/use-phone-numbers.js +2 -1
- package/dist/hooks/use-send-gmail-message.d.ts +6 -0
- package/dist/hooks/use-send-gmail-message.d.ts.map +1 -0
- package/dist/hooks/use-send-gmail-message.js +21 -0
- package/dist/hooks/use-send-inbox-message.d.ts.map +1 -1
- package/dist/hooks/use-send-inbox-message.js +16 -13
- package/dist/hooks/use-tasks.d.ts +4 -0
- package/dist/hooks/use-tasks.d.ts.map +1 -1
- package/dist/hooks/use-tasks.js +14 -2
- package/dist/hooks/use-update-inbox-thread-status.d.ts +3 -1
- package/dist/hooks/use-update-inbox-thread-status.d.ts.map +1 -1
- package/dist/hooks/use-update-inbox-thread-status.js +36 -14
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/query-keys.d.ts +58 -0
- package/dist/query-keys.d.ts.map +1 -1
- package/dist/query-keys.js +50 -0
- package/dist/types.d.ts +402 -14
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
* WorkHive API client – base URL + auth, methods for each route.
|
|
3
3
|
* Used by both SaaS and mobile; mobile passes EXPO_PUBLIC_API_URL and Supabase getToken.
|
|
4
4
|
*/
|
|
5
|
+
/** Thrown when `fetch` returns a non-OK response; includes HTTP status for callers (e.g. 402 insufficient credits). */
|
|
6
|
+
export class ApiRequestError extends Error {
|
|
7
|
+
constructor(status, message, body) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.name = 'ApiRequestError';
|
|
10
|
+
this.status = status;
|
|
11
|
+
this.body = body;
|
|
12
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
5
15
|
function buildUrl(baseURL, path) {
|
|
6
16
|
const base = baseURL.replace(/\/$/, '');
|
|
7
17
|
const p = path.startsWith('/') ? path : `/${path}`;
|
|
@@ -30,7 +40,8 @@ export function createApiClient(config) {
|
|
|
30
40
|
catch {
|
|
31
41
|
// Server returned non-JSON (e.g. HTML error page); avoid "Unexpected token '<'" in Sentry
|
|
32
42
|
}
|
|
33
|
-
|
|
43
|
+
const message = err.error || res.statusText || 'Request failed';
|
|
44
|
+
throw new ApiRequestError(res.status, message, err);
|
|
34
45
|
}
|
|
35
46
|
if (res.status === 204)
|
|
36
47
|
return undefined;
|
|
@@ -57,7 +68,8 @@ export function createApiClient(config) {
|
|
|
57
68
|
catch {
|
|
58
69
|
// Server returned non-JSON
|
|
59
70
|
}
|
|
60
|
-
|
|
71
|
+
const message = err.error || res.statusText || 'Request failed';
|
|
72
|
+
throw new ApiRequestError(res.status, message, err);
|
|
61
73
|
}
|
|
62
74
|
return res.json();
|
|
63
75
|
}
|
|
@@ -77,10 +89,14 @@ export function createApiClient(config) {
|
|
|
77
89
|
search.set('offset', String(params.offset));
|
|
78
90
|
if (params?.status)
|
|
79
91
|
search.set('status', params.status);
|
|
80
|
-
if (params?.
|
|
92
|
+
if (params?.formIds?.length)
|
|
93
|
+
search.set('formIds', params.formIds.join(','));
|
|
94
|
+
else if (params?.formId)
|
|
81
95
|
search.set('formId', params.formId);
|
|
82
96
|
if (params?.ownerIds?.length)
|
|
83
97
|
search.set('ownerIds', params.ownerIds.join(','));
|
|
98
|
+
if (params?.setterIds?.length)
|
|
99
|
+
search.set('setterIds', params.setterIds.join(','));
|
|
84
100
|
if (params?.pipelineIds?.length)
|
|
85
101
|
search.set('pipelineIds', params.pipelineIds.join(','));
|
|
86
102
|
if (params?.search)
|
|
@@ -91,6 +107,16 @@ export function createApiClient(config) {
|
|
|
91
107
|
search.set('sortOrder', params.sortOrder);
|
|
92
108
|
if (params?.showArchivedOnly)
|
|
93
109
|
search.set('showArchivedOnly', 'true');
|
|
110
|
+
if (params?.allPipelines)
|
|
111
|
+
search.set('allPipelines', 'true');
|
|
112
|
+
if (params?.taskType)
|
|
113
|
+
search.set('taskType', params.taskType);
|
|
114
|
+
if (params?.dueDateFilter)
|
|
115
|
+
search.set('dueDateFilter', params.dueDateFilter);
|
|
116
|
+
if (params?.dueDateTimezone)
|
|
117
|
+
search.set('dueDateTimezone', params.dueDateTimezone);
|
|
118
|
+
if (params?.showCompletedOnly)
|
|
119
|
+
search.set('showCompletedOnly', 'true');
|
|
94
120
|
return request(`/api/lead-submissions?${search}`);
|
|
95
121
|
},
|
|
96
122
|
// -------------------------------------------------------------------------
|
|
@@ -114,6 +140,8 @@ export function createApiClient(config) {
|
|
|
114
140
|
search.set('status', params.status);
|
|
115
141
|
if (params?.related_card_id)
|
|
116
142
|
search.set('related_card_id', params.related_card_id);
|
|
143
|
+
if (params?.contact_id)
|
|
144
|
+
search.set('contact_id', params.contact_id);
|
|
117
145
|
if (params?.limit != null)
|
|
118
146
|
search.set('limit', String(params.limit));
|
|
119
147
|
if (params?.offset != null)
|
|
@@ -124,6 +152,12 @@ export function createApiClient(config) {
|
|
|
124
152
|
search.set('sort_order', params.sort_order);
|
|
125
153
|
return request(`/api/tasks?${search}`);
|
|
126
154
|
},
|
|
155
|
+
createTask(body) {
|
|
156
|
+
return request('/api/tasks', {
|
|
157
|
+
method: 'POST',
|
|
158
|
+
body: JSON.stringify(body),
|
|
159
|
+
});
|
|
160
|
+
},
|
|
127
161
|
/** POST /api/tasks/[taskId]/outcome – record call/chat outcome */
|
|
128
162
|
postTaskOutcome(taskId, body) {
|
|
129
163
|
return request(`/api/tasks/${taskId}/outcome`, {
|
|
@@ -159,10 +193,14 @@ export function createApiClient(config) {
|
|
|
159
193
|
return request(`/api/meetings/${encodeURIComponent(meetingId)}`);
|
|
160
194
|
},
|
|
161
195
|
// -------------------------------------------------------------------------
|
|
162
|
-
// Pipeline
|
|
196
|
+
// Pipeline cards (GET /api/pipelines/[id]/cards, GET/PATCH .../[cardId])
|
|
163
197
|
// -------------------------------------------------------------------------
|
|
164
|
-
|
|
165
|
-
|
|
198
|
+
getPipelineCards(pipelineId, params, opts) {
|
|
199
|
+
const qs = params?.showArchivedOnly ? '?showArchivedOnly=true' : '';
|
|
200
|
+
return request(`/api/pipelines/${pipelineId}/cards${qs}`, { signal: opts?.signal });
|
|
201
|
+
},
|
|
202
|
+
getCard(pipelineId, cardId, opts) {
|
|
203
|
+
return request(`/api/pipelines/${pipelineId}/cards/${cardId}`, { signal: opts?.signal });
|
|
166
204
|
},
|
|
167
205
|
patchCard(pipelineId, cardId, body) {
|
|
168
206
|
return request(`/api/pipelines/${pipelineId}/cards/${cardId}`, {
|
|
@@ -170,6 +208,15 @@ export function createApiClient(config) {
|
|
|
170
208
|
body: JSON.stringify(body),
|
|
171
209
|
});
|
|
172
210
|
},
|
|
211
|
+
createCard(pipelineId, body) {
|
|
212
|
+
return request(`/api/pipelines/${pipelineId}/cards`, {
|
|
213
|
+
method: 'POST',
|
|
214
|
+
body: JSON.stringify(body),
|
|
215
|
+
});
|
|
216
|
+
},
|
|
217
|
+
deleteCard(pipelineId, cardId, action = 'archive') {
|
|
218
|
+
return request(`/api/pipelines/${pipelineId}/cards/${cardId}?action=${action}`, { method: 'DELETE' });
|
|
219
|
+
},
|
|
173
220
|
// -------------------------------------------------------------------------
|
|
174
221
|
// Post-meeting booked prompt (GET /api/cards/[cardId]/post-meeting-booked-prompt)
|
|
175
222
|
// -------------------------------------------------------------------------
|
|
@@ -291,6 +338,31 @@ export function createApiClient(config) {
|
|
|
291
338
|
});
|
|
292
339
|
},
|
|
293
340
|
// -------------------------------------------------------------------------
|
|
341
|
+
// Meeting outcome (POST/PUT /api/meetings/[id]/outcome)
|
|
342
|
+
// -------------------------------------------------------------------------
|
|
343
|
+
postMeetingOutcome(meetingId, body, method = 'POST') {
|
|
344
|
+
return request(`/api/meetings/${meetingId}/outcome`, {
|
|
345
|
+
method,
|
|
346
|
+
body: JSON.stringify(body),
|
|
347
|
+
});
|
|
348
|
+
},
|
|
349
|
+
// -------------------------------------------------------------------------
|
|
350
|
+
// Meeting attachments (GET/POST/DELETE /api/meetings/[id]/attachments)
|
|
351
|
+
// -------------------------------------------------------------------------
|
|
352
|
+
getMeetingAttachments(meetingId) {
|
|
353
|
+
return request(`/api/meetings/${encodeURIComponent(meetingId)}/attachments`);
|
|
354
|
+
},
|
|
355
|
+
postMeetingAttachment(meetingId, body) {
|
|
356
|
+
return request(`/api/meetings/${encodeURIComponent(meetingId)}/attachments`, {
|
|
357
|
+
method: 'POST',
|
|
358
|
+
body: JSON.stringify(body),
|
|
359
|
+
});
|
|
360
|
+
},
|
|
361
|
+
deleteMeetingAttachment(meetingId, attachmentId) {
|
|
362
|
+
const params = new URLSearchParams({ attachmentId });
|
|
363
|
+
return request(`/api/meetings/${encodeURIComponent(meetingId)}/attachments?${params}`, { method: 'DELETE' });
|
|
364
|
+
},
|
|
365
|
+
// -------------------------------------------------------------------------
|
|
294
366
|
// Phone numbers / inboxes (GET /api/phone-numbers)
|
|
295
367
|
// For header phone-number switch; filter by current user assignment client-side
|
|
296
368
|
// or use assignments to show only numbers the user can use for inbox/calls.
|
|
@@ -302,7 +374,7 @@ export function createApiClient(config) {
|
|
|
302
374
|
getPhoneNumber(phoneNumberId) {
|
|
303
375
|
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}`);
|
|
304
376
|
},
|
|
305
|
-
/** PATCH /api/phone-numbers/[id] – update phone number (admin/owner only). Includes call_recording_transcribe_enabled. */
|
|
377
|
+
/** PATCH /api/phone-numbers/[id] – update phone number (admin/owner only). Includes call_recording_enabled and call_recording_transcribe_enabled. */
|
|
306
378
|
patchPhoneNumber(phoneNumberId, body) {
|
|
307
379
|
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}`, { method: 'PATCH', body: JSON.stringify(body) });
|
|
308
380
|
},
|
|
@@ -311,8 +383,9 @@ export function createApiClient(config) {
|
|
|
311
383
|
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}`, { method: 'DELETE' }).then(() => undefined);
|
|
312
384
|
},
|
|
313
385
|
/** POST /api/phone-numbers/[id]/voice-token – Twilio Voice Access Token for Device SDK. */
|
|
314
|
-
postVoiceToken(phoneNumberId) {
|
|
315
|
-
|
|
386
|
+
postVoiceToken(phoneNumberId, mode) {
|
|
387
|
+
const modeQuery = mode ? `?mode=${mode}` : '';
|
|
388
|
+
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/voice-token${modeQuery}`, { method: 'POST' });
|
|
316
389
|
},
|
|
317
390
|
/** POST /api/phone-numbers/[id]/upload-media – upload files for outbound MMS; returns signed URLs + attachment metadata. */
|
|
318
391
|
uploadInboxMedia(phoneNumberId, formData) {
|
|
@@ -321,19 +394,31 @@ export function createApiClient(config) {
|
|
|
321
394
|
// -------------------------------------------------------------------------
|
|
322
395
|
// Inbox: threads, messages, send (use shared API; no raw fetch in app)
|
|
323
396
|
// -------------------------------------------------------------------------
|
|
324
|
-
/** List conversation threads for an inbox (phone number). Optional status filter: active (Open) or archived (Done). Supports cursor pagination via limit and cursor. */
|
|
397
|
+
/** List conversation threads for an inbox (phone number). Optional status filter: active (Open) or archived (Done). Supports cursor pagination via limit and cursor. When contact_id is set, finds the thread for that contact regardless of status. */
|
|
325
398
|
getInboxThreads(phoneNumberId, params) {
|
|
326
399
|
const search = new URLSearchParams();
|
|
400
|
+
if (params?.contact_id)
|
|
401
|
+
search.set('contact_id', params.contact_id);
|
|
327
402
|
if (params?.status)
|
|
328
403
|
search.set('status', params.status);
|
|
329
404
|
if (params?.limit != null)
|
|
330
405
|
search.set('limit', String(params.limit));
|
|
331
406
|
if (params?.cursor)
|
|
332
407
|
search.set('cursor', params.cursor);
|
|
408
|
+
if (params?.unread_only)
|
|
409
|
+
search.set('unread_only', 'true');
|
|
333
410
|
const qs = search.toString();
|
|
334
411
|
const path = `/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/threads` + (qs ? `?${qs}` : '');
|
|
335
412
|
return request(path);
|
|
336
413
|
},
|
|
414
|
+
/** Search SMS threads by message body or contact name/phone. */
|
|
415
|
+
searchInboxThreads(phoneNumberId, params) {
|
|
416
|
+
const sp = new URLSearchParams();
|
|
417
|
+
sp.set('q', params.q);
|
|
418
|
+
if (params.limit)
|
|
419
|
+
sp.set('limit', String(params.limit));
|
|
420
|
+
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/threads/search?${sp.toString()}`);
|
|
421
|
+
},
|
|
337
422
|
/** List call events for an inbox (phone number). Same auth as getInboxThreads. Supports cursor pagination via limit and cursor. Optional missed_only returns only missed/busy/voicemail calls. */
|
|
338
423
|
getInboxCalls(phoneNumberId, params) {
|
|
339
424
|
const search = new URLSearchParams();
|
|
@@ -362,6 +447,18 @@ export function createApiClient(config) {
|
|
|
362
447
|
getInboxCallRecordingUrl(callEventId) {
|
|
363
448
|
return buildUrl(baseURL, `/api/inbox/calls/${encodeURIComponent(callEventId)}/recording`);
|
|
364
449
|
},
|
|
450
|
+
/** Aggregate badge count: unread threads + unseen missed calls across all assigned phone numbers. */
|
|
451
|
+
getInboxBadgeCount() {
|
|
452
|
+
return request('/api/inbox/badge-count');
|
|
453
|
+
},
|
|
454
|
+
/** Get the count of unseen missed inbound calls since the user last viewed the Calls tab. */
|
|
455
|
+
getMissedUnseenCount(phoneNumberId) {
|
|
456
|
+
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/calls/missed-unseen-count`);
|
|
457
|
+
},
|
|
458
|
+
/** Mark calls as seen for the current user (resets badge to 0). Returns void (204). */
|
|
459
|
+
async markCallsSeen(phoneNumberId) {
|
|
460
|
+
await request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/calls/mark-seen`, { method: 'POST' });
|
|
461
|
+
},
|
|
365
462
|
/** Send an outbound message from an inbox (SMS). */
|
|
366
463
|
sendInboxMessage(phoneNumberId, body) {
|
|
367
464
|
return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/send`, {
|
|
@@ -420,8 +517,9 @@ export function createApiClient(config) {
|
|
|
420
517
|
// Message snippets (Settings → Messaging; Inbox picker)
|
|
421
518
|
// -------------------------------------------------------------------------
|
|
422
519
|
/** List message snippets for the current org. */
|
|
423
|
-
getMessageSnippets() {
|
|
424
|
-
|
|
520
|
+
getMessageSnippets(channel) {
|
|
521
|
+
const params = channel ? `?channel=${channel}` : '';
|
|
522
|
+
return request(`/api/settings/messaging/snippets${params}`);
|
|
425
523
|
},
|
|
426
524
|
/** Create a message snippet. */
|
|
427
525
|
createMessageSnippet(body) {
|
|
@@ -435,5 +533,148 @@ export function createApiClient(config) {
|
|
|
435
533
|
deleteMessageSnippet(id) {
|
|
436
534
|
return request(`/api/settings/messaging/snippets/${encodeURIComponent(id)}`, { method: 'DELETE' });
|
|
437
535
|
},
|
|
536
|
+
// -------------------------------------------------------------------------
|
|
537
|
+
// Billing (POST /api/billing/checkout, POST /api/billing/portal, GET /api/billing/status)
|
|
538
|
+
// -------------------------------------------------------------------------
|
|
539
|
+
/** Create a Stripe Checkout Session and return the redirect URL. */
|
|
540
|
+
createCheckoutSession(body) {
|
|
541
|
+
return request('/api/billing/checkout', {
|
|
542
|
+
method: 'POST',
|
|
543
|
+
body: JSON.stringify(body),
|
|
544
|
+
});
|
|
545
|
+
},
|
|
546
|
+
/** Create a Stripe Customer Portal session and return the redirect URL. */
|
|
547
|
+
createPortalSession() {
|
|
548
|
+
return request('/api/billing/portal', {
|
|
549
|
+
method: 'POST',
|
|
550
|
+
});
|
|
551
|
+
},
|
|
552
|
+
/** Fetch current billing status for the org. */
|
|
553
|
+
getBillingStatus() {
|
|
554
|
+
return request('/api/billing/status');
|
|
555
|
+
},
|
|
556
|
+
/** Toggle auto top-up for the org. */
|
|
557
|
+
toggleAutoTopUp(enabled) {
|
|
558
|
+
return request('/api/billing/auto-topup', {
|
|
559
|
+
method: 'POST',
|
|
560
|
+
body: JSON.stringify({ enabled }),
|
|
561
|
+
});
|
|
562
|
+
},
|
|
563
|
+
/** Add or remove an additional seat. */
|
|
564
|
+
updateSeats(action) {
|
|
565
|
+
return request('/api/billing/seats', {
|
|
566
|
+
method: 'POST',
|
|
567
|
+
body: JSON.stringify({ action }),
|
|
568
|
+
});
|
|
569
|
+
},
|
|
570
|
+
// -------------------------------------------------------------------------
|
|
571
|
+
// Mobile Push Tokens (POST /api/mobile/push-tokens, DELETE /api/mobile/push-tokens/[token])
|
|
572
|
+
// -------------------------------------------------------------------------
|
|
573
|
+
/** Register (upsert) an APNs push token for the current user. */
|
|
574
|
+
registerPushToken(body) {
|
|
575
|
+
return request('/api/mobile/push-tokens', {
|
|
576
|
+
method: 'POST',
|
|
577
|
+
body: JSON.stringify(body),
|
|
578
|
+
});
|
|
579
|
+
},
|
|
580
|
+
/** Unregister (soft-delete) an APNs push token. */
|
|
581
|
+
unregisterPushToken(apnsToken, platform = 'ios') {
|
|
582
|
+
return request(`/api/mobile/push-tokens/${encodeURIComponent(apnsToken)}?platform=${platform}`, { method: 'DELETE' });
|
|
583
|
+
},
|
|
584
|
+
// -----------------------------------------------------------------------
|
|
585
|
+
// Gmail
|
|
586
|
+
// -----------------------------------------------------------------------
|
|
587
|
+
/** Initiate Gmail OAuth flow. Returns authUrl for redirect. */
|
|
588
|
+
connectGmail(connectionType) {
|
|
589
|
+
return request('/api/gmail/connect', {
|
|
590
|
+
method: 'POST',
|
|
591
|
+
body: JSON.stringify({ connection_type: connectionType ?? 'personal' }),
|
|
592
|
+
});
|
|
593
|
+
},
|
|
594
|
+
/** List current user's Gmail connections. */
|
|
595
|
+
getGmailConnections() {
|
|
596
|
+
return request('/api/gmail/connections');
|
|
597
|
+
},
|
|
598
|
+
/** Disconnect a Gmail account (soft-delete). */
|
|
599
|
+
disconnectGmail(connectionId) {
|
|
600
|
+
return request(`/api/gmail/disconnect?id=${connectionId}`, { method: 'DELETE' });
|
|
601
|
+
},
|
|
602
|
+
/** List email threads for a Gmail connection (page-based). */
|
|
603
|
+
getGmailThreads(connectionId, params) {
|
|
604
|
+
const sp = new URLSearchParams();
|
|
605
|
+
if (params?.status)
|
|
606
|
+
sp.set('status', params.status);
|
|
607
|
+
if (params?.page)
|
|
608
|
+
sp.set('page', String(params.page));
|
|
609
|
+
if (params?.page_size)
|
|
610
|
+
sp.set('page_size', String(params.page_size));
|
|
611
|
+
if (params?.unread_only)
|
|
612
|
+
sp.set('unread_only', 'true');
|
|
613
|
+
const qs = sp.toString();
|
|
614
|
+
return request(`/api/gmail/${connectionId}/threads${qs ? `?${qs}` : ''}`);
|
|
615
|
+
},
|
|
616
|
+
/** Get messages for an email thread. */
|
|
617
|
+
getGmailThreadMessages(connectionId, threadId) {
|
|
618
|
+
return request(`/api/gmail/${connectionId}/threads/${threadId}/messages`);
|
|
619
|
+
},
|
|
620
|
+
/** Send an email via Gmail. */
|
|
621
|
+
sendGmailMessage(connectionId, body) {
|
|
622
|
+
return request(`/api/gmail/${connectionId}/send`, { method: 'POST', body: JSON.stringify(body) });
|
|
623
|
+
},
|
|
624
|
+
/** Fetch the authenticated user's resolved email signature. */
|
|
625
|
+
getGmailSignature(connectionId) {
|
|
626
|
+
return request(`/api/gmail/${connectionId}/signature`);
|
|
627
|
+
},
|
|
628
|
+
/** Save or clear an email draft for a Gmail thread. Empty body = clear. */
|
|
629
|
+
putGmailThreadDraft(connectionId, threadId, body) {
|
|
630
|
+
return request(`/api/gmail/${encodeURIComponent(connectionId)}/threads/${encodeURIComponent(threadId)}/draft`, { method: 'PUT', body: JSON.stringify({ body }) });
|
|
631
|
+
},
|
|
632
|
+
linkGmailThreadContact(connectionId, threadId, body) {
|
|
633
|
+
return request(`/api/gmail/${connectionId}/threads/${threadId}/link-contact`, { method: 'POST', body: JSON.stringify(body) });
|
|
634
|
+
},
|
|
635
|
+
searchGmailThreads(connectionId, params) {
|
|
636
|
+
const sp = new URLSearchParams();
|
|
637
|
+
sp.set('q', params.q);
|
|
638
|
+
if (params.limit)
|
|
639
|
+
sp.set('limit', String(params.limit));
|
|
640
|
+
if (params.cursor)
|
|
641
|
+
sp.set('cursor', params.cursor);
|
|
642
|
+
return request(`/api/gmail/${connectionId}/threads/search?${sp.toString()}`);
|
|
643
|
+
},
|
|
644
|
+
/** Trigger a manual Gmail sync for a connection. POST /api/gmail/[connectionId]/sync */
|
|
645
|
+
triggerGmailSync(connectionId) {
|
|
646
|
+
return request(`/api/gmail/${connectionId}/sync`, { method: 'POST' });
|
|
647
|
+
},
|
|
648
|
+
/** List members of a shared Gmail connection. */
|
|
649
|
+
getGmailConnectionMembers(connectionId) {
|
|
650
|
+
return request(`/api/gmail/connections/${connectionId}/members`);
|
|
651
|
+
},
|
|
652
|
+
/** Add a member to a shared Gmail connection. */
|
|
653
|
+
addGmailConnectionMember(connectionId, userId) {
|
|
654
|
+
return request(`/api/gmail/connections/${connectionId}/members`, { method: 'POST', body: JSON.stringify({ user_id: userId }) });
|
|
655
|
+
},
|
|
656
|
+
/** Remove a member from a shared Gmail connection. */
|
|
657
|
+
removeGmailConnectionMember(connectionId, userId) {
|
|
658
|
+
return request(`/api/gmail/connections/${connectionId}/members/${userId}`, { method: 'DELETE' });
|
|
659
|
+
},
|
|
660
|
+
// -----------------------------------------------------------------------
|
|
661
|
+
// Standalone Email Drafts
|
|
662
|
+
// -----------------------------------------------------------------------
|
|
663
|
+
/** Create a standalone email draft (new compose, no thread). */
|
|
664
|
+
createEmailDraft(connectionId, payload) {
|
|
665
|
+
return request(`/api/gmail/${encodeURIComponent(connectionId)}/drafts`, { method: 'POST', body: JSON.stringify(payload) });
|
|
666
|
+
},
|
|
667
|
+
/** Update a standalone email draft. */
|
|
668
|
+
updateEmailDraft(connectionId, draftId, payload) {
|
|
669
|
+
return request(`/api/gmail/${encodeURIComponent(connectionId)}/drafts/${encodeURIComponent(draftId)}`, { method: 'PUT', body: JSON.stringify(payload) });
|
|
670
|
+
},
|
|
671
|
+
/** List standalone email drafts for the current user on a connection. */
|
|
672
|
+
getEmailDrafts(connectionId) {
|
|
673
|
+
return request(`/api/gmail/${encodeURIComponent(connectionId)}/drafts`);
|
|
674
|
+
},
|
|
675
|
+
/** Delete a standalone email draft. */
|
|
676
|
+
deleteEmailDraft(connectionId, draftId) {
|
|
677
|
+
return request(`/api/gmail/${encodeURIComponent(connectionId)}/drafts/${encodeURIComponent(draftId)}`, { method: 'DELETE' });
|
|
678
|
+
},
|
|
438
679
|
};
|
|
439
680
|
}
|
package/dist/context.d.ts
CHANGED
|
@@ -10,12 +10,19 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
10
10
|
offset?: number;
|
|
11
11
|
status?: "potential" | "qualified" | "disqualified";
|
|
12
12
|
formId?: string;
|
|
13
|
+
formIds?: string[];
|
|
13
14
|
ownerIds?: string[];
|
|
15
|
+
setterIds?: string[];
|
|
14
16
|
pipelineIds?: string[];
|
|
15
17
|
search?: string;
|
|
16
18
|
sortBy?: "date" | "status" | "next_task";
|
|
17
19
|
sortOrder?: "asc" | "desc";
|
|
18
20
|
showArchivedOnly?: boolean;
|
|
21
|
+
allPipelines?: boolean;
|
|
22
|
+
taskType?: string;
|
|
23
|
+
dueDateFilter?: string;
|
|
24
|
+
dueDateTimezone?: string;
|
|
25
|
+
showCompletedOnly?: boolean;
|
|
19
26
|
}): Promise<import("./types").LeadSubmissionsResponse>;
|
|
20
27
|
getContactLeadSubmissions(contactId: string): Promise<import("./types").ContactLeadSubmissionsResponse>;
|
|
21
28
|
getContactMeetings(contactId: string): Promise<{
|
|
@@ -25,6 +32,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
25
32
|
getTasks(params?: {
|
|
26
33
|
status?: string;
|
|
27
34
|
related_card_id?: string;
|
|
35
|
+
contact_id?: string;
|
|
28
36
|
limit?: number;
|
|
29
37
|
offset?: number;
|
|
30
38
|
sort_by?: string;
|
|
@@ -32,6 +40,9 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
32
40
|
}): Promise<{
|
|
33
41
|
tasks: import("./types").TaskListItem[];
|
|
34
42
|
}>;
|
|
43
|
+
createTask(body: import("./types").CreateTaskInput): Promise<{
|
|
44
|
+
task: import("./types").TaskListItem;
|
|
45
|
+
}>;
|
|
35
46
|
postTaskOutcome(taskId: string, body: {
|
|
36
47
|
outcomeType: string;
|
|
37
48
|
notes?: string;
|
|
@@ -53,12 +64,28 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
53
64
|
getMeeting(meetingId: string): Promise<{
|
|
54
65
|
meeting: import("./types").Meeting;
|
|
55
66
|
}>;
|
|
56
|
-
|
|
67
|
+
getPipelineCards(pipelineId: string, params?: {
|
|
68
|
+
showArchivedOnly?: boolean;
|
|
69
|
+
}, opts?: {
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
}): Promise<import("./types").PipelineCardsResponse>;
|
|
72
|
+
getCard(pipelineId: string, cardId: string, opts?: {
|
|
73
|
+
signal?: AbortSignal;
|
|
74
|
+
}): Promise<{
|
|
57
75
|
card: import("./types").PipelineCard;
|
|
58
76
|
}>;
|
|
59
77
|
patchCard(pipelineId: string, cardId: string, body: Record<string, unknown>): Promise<{
|
|
60
78
|
card: import("./types").PipelineCard;
|
|
61
79
|
}>;
|
|
80
|
+
createCard(pipelineId: string, body: import("./types").CreateCardPayload): Promise<{
|
|
81
|
+
card: import("./types").PipelineCard;
|
|
82
|
+
message: string;
|
|
83
|
+
}>;
|
|
84
|
+
deleteCard(pipelineId: string, cardId: string, action?: "archive" | "delete"): Promise<{
|
|
85
|
+
success: boolean;
|
|
86
|
+
message: string;
|
|
87
|
+
card?: import("./types").PipelineCard;
|
|
88
|
+
}>;
|
|
62
89
|
getPostMeetingBookedPrompt(cardId: string, pipelineId: string): Promise<import("./types").PostMeetingBookedPromptResponse & {
|
|
63
90
|
scenario?: string | null;
|
|
64
91
|
}>;
|
|
@@ -113,6 +140,25 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
113
140
|
rescheduleUrl?: string;
|
|
114
141
|
};
|
|
115
142
|
}>;
|
|
143
|
+
postMeetingOutcome(meetingId: string, body: import("./types").MeetingOutcomePayload, method?: "POST" | "PUT"): Promise<{
|
|
144
|
+
status: "success";
|
|
145
|
+
outcome: import("./types").MeetingCallOutcome;
|
|
146
|
+
}>;
|
|
147
|
+
getMeetingAttachments(meetingId: string): Promise<{
|
|
148
|
+
success: true;
|
|
149
|
+
data: import("./types").MeetingAttachment[];
|
|
150
|
+
}>;
|
|
151
|
+
postMeetingAttachment(meetingId: string, body: {
|
|
152
|
+
attachment_type: "url";
|
|
153
|
+
file_name: string;
|
|
154
|
+
file_url: string;
|
|
155
|
+
}): Promise<{
|
|
156
|
+
success: true;
|
|
157
|
+
data: import("./types").MeetingAttachment;
|
|
158
|
+
}>;
|
|
159
|
+
deleteMeetingAttachment(meetingId: string, attachmentId: string): Promise<{
|
|
160
|
+
success: true;
|
|
161
|
+
}>;
|
|
116
162
|
getPhoneNumbers(): Promise<import("./types").PhoneNumbersResponse>;
|
|
117
163
|
getPhoneNumber(phoneNumberId: string): Promise<{
|
|
118
164
|
phone_number: import("./types").PhoneNumberRecord;
|
|
@@ -121,13 +167,19 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
121
167
|
phone_number: import("./types").PhoneNumberRecord;
|
|
122
168
|
}>;
|
|
123
169
|
deletePhoneNumber(phoneNumberId: string): Promise<void>;
|
|
124
|
-
postVoiceToken(phoneNumberId: string): Promise<import("./types").VoiceTokenResponse>;
|
|
170
|
+
postVoiceToken(phoneNumberId: string, mode?: "incoming" | "outbound"): Promise<import("./types").VoiceTokenResponse>;
|
|
125
171
|
uploadInboxMedia(phoneNumberId: string, formData: FormData): Promise<import("./types").UploadInboxMediaResponse>;
|
|
126
172
|
getInboxThreads(phoneNumberId: string, params?: {
|
|
127
173
|
status?: "active" | "archived";
|
|
128
174
|
limit?: number;
|
|
129
175
|
cursor?: string;
|
|
176
|
+
contact_id?: string;
|
|
177
|
+
unread_only?: boolean;
|
|
130
178
|
}): Promise<import("./types").InboxThreadsResponse>;
|
|
179
|
+
searchInboxThreads(phoneNumberId: string, params: {
|
|
180
|
+
q: string;
|
|
181
|
+
limit?: number;
|
|
182
|
+
}): Promise<import("./types").InboxThreadSearchResponse>;
|
|
131
183
|
getInboxCalls(phoneNumberId: string, params?: {
|
|
132
184
|
limit?: number;
|
|
133
185
|
cursor?: string;
|
|
@@ -136,6 +188,9 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
136
188
|
getInboxThreadMessages(threadId: string): Promise<import("./types").InboxMessagesResponse>;
|
|
137
189
|
createInboxCall(payload: import("./types").CreateInboxCallPayload): Promise<import("./types").InboxCallEvent>;
|
|
138
190
|
getInboxCallRecordingUrl(callEventId: string): string;
|
|
191
|
+
getInboxBadgeCount(): Promise<import("./types").InboxBadgeCountResponse>;
|
|
192
|
+
getMissedUnseenCount(phoneNumberId: string): Promise<import("./types").MissedUnseenCountResponse>;
|
|
193
|
+
markCallsSeen(phoneNumberId: string): Promise<void>;
|
|
139
194
|
sendInboxMessage(phoneNumberId: string, body: import("./types").SendInboxMessagePayload): Promise<import("./types").SendInboxMessageResponse>;
|
|
140
195
|
markInboxThreadRead(threadId: string): Promise<{
|
|
141
196
|
ok: true;
|
|
@@ -165,7 +220,7 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
165
220
|
rating?: string;
|
|
166
221
|
lang?: string;
|
|
167
222
|
}): Promise<import("./types").InboxGifsResponse>;
|
|
168
|
-
getMessageSnippets(): Promise<import("./types").MessageSnippetsResponse>;
|
|
223
|
+
getMessageSnippets(channel?: "sms" | "email"): Promise<import("./types").MessageSnippetsResponse>;
|
|
169
224
|
createMessageSnippet(body: import("./types").CreateMessageSnippetPayload): Promise<{
|
|
170
225
|
snippet: import("./types").MessageSnippet;
|
|
171
226
|
}>;
|
|
@@ -175,6 +230,70 @@ export declare const ApiProvider: import("react").Provider<{
|
|
|
175
230
|
deleteMessageSnippet(id: string): Promise<{
|
|
176
231
|
ok: true;
|
|
177
232
|
}>;
|
|
233
|
+
createCheckoutSession(body: {
|
|
234
|
+
action: string;
|
|
235
|
+
priceKey?: string;
|
|
236
|
+
quantity?: number;
|
|
237
|
+
}): Promise<{
|
|
238
|
+
url: string;
|
|
239
|
+
}>;
|
|
240
|
+
createPortalSession(): Promise<{
|
|
241
|
+
url: string;
|
|
242
|
+
}>;
|
|
243
|
+
getBillingStatus(): Promise<{
|
|
244
|
+
billing: import("./types").MeOrganizationBilling;
|
|
245
|
+
}>;
|
|
246
|
+
toggleAutoTopUp(enabled: boolean): Promise<{
|
|
247
|
+
autoTopUpEnabled: boolean;
|
|
248
|
+
}>;
|
|
249
|
+
updateSeats(action: "add" | "remove"): Promise<import("./types").SeatUpdateResponse>;
|
|
250
|
+
registerPushToken(body: import("./types").RegisterPushTokenPayload): Promise<import("./types").RegisterPushTokenResponse>;
|
|
251
|
+
unregisterPushToken(apnsToken: string, platform?: "ios"): Promise<import("./types").UnregisterPushTokenResponse>;
|
|
252
|
+
connectGmail(connectionType?: "personal" | "shared"): Promise<{
|
|
253
|
+
authUrl: string;
|
|
254
|
+
}>;
|
|
255
|
+
getGmailConnections(): Promise<import("./types").GmailConnectionsResponse>;
|
|
256
|
+
disconnectGmail(connectionId: string): Promise<{
|
|
257
|
+
success: boolean;
|
|
258
|
+
}>;
|
|
259
|
+
getGmailThreads(connectionId: string, params?: {
|
|
260
|
+
status?: string;
|
|
261
|
+
page?: number;
|
|
262
|
+
page_size?: number;
|
|
263
|
+
unread_only?: boolean;
|
|
264
|
+
}): Promise<import("./types").GmailThreadsPageResponse>;
|
|
265
|
+
getGmailThreadMessages(connectionId: string, threadId: string): Promise<import("./types").InboxMessagesResponse>;
|
|
266
|
+
sendGmailMessage(connectionId: string, body: import("./types").SendGmailMessagePayload): Promise<import("./types").SendGmailMessageResponse>;
|
|
267
|
+
getGmailSignature(connectionId: string): Promise<import("./types").GmailSignatureResponse>;
|
|
268
|
+
putGmailThreadDraft(connectionId: string, threadId: string, body: string): Promise<{
|
|
269
|
+
ok: true;
|
|
270
|
+
}>;
|
|
271
|
+
linkGmailThreadContact(connectionId: string, threadId: string, body: import("./types").LinkGmailThreadContactPayload): Promise<import("./types").LinkGmailThreadContactResponse>;
|
|
272
|
+
searchGmailThreads(connectionId: string, params: {
|
|
273
|
+
q: string;
|
|
274
|
+
limit?: number;
|
|
275
|
+
cursor?: string;
|
|
276
|
+
}): Promise<import("./types").GmailThreadSearchResponse>;
|
|
277
|
+
triggerGmailSync(connectionId: string): Promise<{
|
|
278
|
+
ok: boolean;
|
|
279
|
+
}>;
|
|
280
|
+
getGmailConnectionMembers(connectionId: string): Promise<{
|
|
281
|
+
members: import("./types").GmailConnectionMember[];
|
|
282
|
+
}>;
|
|
283
|
+
addGmailConnectionMember(connectionId: string, userId: string): Promise<{
|
|
284
|
+
member: import("./types").GmailConnectionMember;
|
|
285
|
+
}>;
|
|
286
|
+
removeGmailConnectionMember(connectionId: string, userId: string): Promise<{
|
|
287
|
+
success: boolean;
|
|
288
|
+
}>;
|
|
289
|
+
createEmailDraft(connectionId: string, payload: import("./types").CreateEmailDraftPayload): Promise<import("./types").CreateEmailDraftResponse>;
|
|
290
|
+
updateEmailDraft(connectionId: string, draftId: string, payload: import("./types").UpdateEmailDraftPayload): Promise<{
|
|
291
|
+
ok: true;
|
|
292
|
+
}>;
|
|
293
|
+
getEmailDrafts(connectionId: string): Promise<import("./types").EmailDraftsListResponse>;
|
|
294
|
+
deleteEmailDraft(connectionId: string, draftId: string): Promise<{
|
|
295
|
+
ok: true;
|
|
296
|
+
}>;
|
|
178
297
|
} | null>;
|
|
179
298
|
export declare function useApiClient(): ApiClient;
|
|
180
299
|
//# sourceMappingURL=context.d.ts.map
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIzC,eAAO,MAAM,WAAW;;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIzC,eAAO,MAAM,WAAW;;WAS8+H,CAAC;YAA6C,CAAC;aAAoB,CAAC;cAAqB,CAAC;cAAqB,CAAC;cAAyD,CAAC;eAA4G,CAAC;gBAAyB,CAAC;iBAA0B,CAAC;mBAA4B,CAAC;cAAuB,CAAC;cAAqB,CAAC;iBAAiD,CAAC;wBAAuC,CAAC;oBAA4B,CAAC;gBAAwB,CAAC;qBAA4B,CAAC;uBAAwH,CAAC;yBAAgC,CAAC;;;;;;;;cAA6oF,CAAC;uBAA8B,CAAC;kBAAyB,CAAC;aAAoB,CAAC;cAAqB,CAAC;eAAsB,CAAC;kBAAyB,CAAC;;;;;;;;;aAA2iC,CAAC;;;;;cAAub,CAAC;uBAA8B,CAAC;cAAqB,CAAC;kBAAyB,CAAC;gBAAuB,CAAC;;;;;;;;;;;wBAAmtC,CAAC;;cAAkC,CAAC;;;cAAmS,CAAC;;;;;;;;;;;;;;YAA+2B,CAAC;;;gBAAmiB,CAAC;;;sBAAke,CAAC;;;;;;;cAAm8B,CAAC;;;;;;;oBAAm5B,CAAC;;;;;;;;;;cAA2lD,CAAC;;;;;;;;;;YAA0+B,CAAC;;;;;;;mBAAirC,CAAC;kBAAoB,CAAC;;;aAAyD,CAAC;qBAAa,CAAC;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAA4vJ,CAAC;aAA8B,CAAC;cAAgB,CAAC;kBAAoB,CAAC;mBAAqB,CAAC;;;;aAAkxB,CAAC;;;aAA0mB,CAAC;cAAgB,CAAC;mBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;aAA61I,CAAC;cAAqB,CAAC;cAAqB,CAAC;YAAmB,CAAC;;;aAA+nB,CAAC;cAAuB,CAAC;cAAuB,CAAC;YAAqB,CAAC;;;;;;;;;;;;;;gBAA0vE,CAAC;gBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;cAAgsG,CAAC;YAAc,CAAC;iBAAmB,CAAC;mBAAqB,CAAC;;;;;;;;;;;aAAisE,CAAC;cAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;SAT7rqC,CAAA;AAE9C,wBAAgB,YAAY,IAAI,SAAS,CAMxC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { GetLeadSubmissionsParams } from './use-leads';
|
|
|
3
3
|
export { useContactLeadSubmissions } from './use-contact-lead-submissions';
|
|
4
4
|
export { useContactMeetings } from './use-contact-meetings';
|
|
5
5
|
export { useContactCalls } from './use-contact-calls';
|
|
6
|
-
export { useTasks } from './use-tasks';
|
|
6
|
+
export { useTasks, useCreateTask } from './use-tasks';
|
|
7
7
|
export type { GetTasksParams } from './use-tasks';
|
|
8
8
|
export { useMeetings } from './use-meetings';
|
|
9
9
|
export type { GetMeetingsParams } from './use-meetings';
|
|
@@ -28,5 +28,28 @@ export { useMarkInboxThreadRead } from './use-mark-inbox-thread-read';
|
|
|
28
28
|
export { useMarkInboxThreadUnread } from './use-mark-inbox-thread-unread';
|
|
29
29
|
export { useUpdateInboxThreadStatus } from './use-update-inbox-thread-status';
|
|
30
30
|
export { useDeleteInboxThread } from './use-delete-inbox-thread';
|
|
31
|
+
export { useInboxBadgeCount } from './use-inbox-badge-count';
|
|
32
|
+
export { useMissedUnseenCount } from './use-missed-unseen-count';
|
|
31
33
|
export { useMessageSnippets } from './use-message-snippets';
|
|
34
|
+
export { useCard } from './use-card';
|
|
35
|
+
export { useCards } from './use-cards';
|
|
36
|
+
export type { UseCardsParams } from './use-cards';
|
|
37
|
+
export { usePatchCard } from './use-patch-card';
|
|
38
|
+
export type { PatchCardVariables } from './use-patch-card';
|
|
39
|
+
export { useCreateCard } from './use-create-card';
|
|
40
|
+
export type { CreateCardVariables } from './use-create-card';
|
|
41
|
+
export { useDeleteCard } from './use-delete-card';
|
|
42
|
+
export type { DeleteCardVariables } from './use-delete-card';
|
|
43
|
+
export { useBillingStatus } from './use-billing-status';
|
|
44
|
+
export { useGmailConnections, useTriggerGmailSync } from './use-gmail-connections';
|
|
45
|
+
export { useGmailThreads } from './use-gmail-threads';
|
|
46
|
+
export { useGmailMessages } from './use-gmail-messages';
|
|
47
|
+
export { useSendGmailMessage } from './use-send-gmail-message';
|
|
48
|
+
export { useLinkGmailThreadContact } from './use-link-gmail-thread-contact';
|
|
49
|
+
export { useGmailThreadSearchInfinite } from './use-gmail-thread-search-infinite';
|
|
50
|
+
export { useInboxThreadSearch } from './use-inbox-thread-search';
|
|
51
|
+
export { useGmailConnectionMembers } from './use-gmail-connection-members';
|
|
52
|
+
export { useGmailSignature } from './use-gmail-signature';
|
|
53
|
+
export { useAddGmailConnectionMember, useRemoveGmailConnectionMember } from './use-manage-gmail-connection-members';
|
|
54
|
+
export { useEmailDrafts, useCreateEmailDraft, useUpdateEmailDraft, useDeleteEmailDraft } from './use-email-drafts';
|
|
32
55
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"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"}
|