@workhive/api 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/client.d.ts +48 -3
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +103 -5
  4. package/dist/context.d.ts +34 -1
  5. package/dist/context.d.ts.map +1 -1
  6. package/dist/hooks/index.d.ts +10 -0
  7. package/dist/hooks/index.d.ts.map +1 -1
  8. package/dist/hooks/index.js +8 -0
  9. package/dist/hooks/use-contact-lead-submissions.d.ts +4 -0
  10. package/dist/hooks/use-contact-lead-submissions.d.ts.map +1 -0
  11. package/dist/hooks/use-contact-lead-submissions.js +10 -0
  12. package/dist/hooks/use-contact-meetings.d.ts +6 -0
  13. package/dist/hooks/use-contact-meetings.d.ts.map +1 -0
  14. package/dist/hooks/use-contact-meetings.js +10 -0
  15. package/dist/hooks/use-delete-inbox-thread.d.ts +4 -0
  16. package/dist/hooks/use-delete-inbox-thread.d.ts.map +1 -0
  17. package/dist/hooks/use-delete-inbox-thread.js +12 -0
  18. package/dist/hooks/use-inbox-calls.d.ts +6 -0
  19. package/dist/hooks/use-inbox-calls.d.ts.map +1 -0
  20. package/dist/hooks/use-inbox-calls.js +11 -0
  21. package/dist/hooks/use-inbox-messages.d.ts.map +1 -1
  22. package/dist/hooks/use-inbox-messages.js +2 -0
  23. package/dist/hooks/use-inbox-threads.d.ts +4 -1
  24. package/dist/hooks/use-inbox-threads.d.ts.map +1 -1
  25. package/dist/hooks/use-inbox-threads.js +3 -3
  26. package/dist/hooks/use-mark-inbox-thread-read.d.ts +7 -0
  27. package/dist/hooks/use-mark-inbox-thread-read.d.ts.map +1 -0
  28. package/dist/hooks/use-mark-inbox-thread-read.js +34 -0
  29. package/dist/hooks/use-mark-inbox-thread-unread.d.ts +7 -0
  30. package/dist/hooks/use-mark-inbox-thread-unread.d.ts.map +1 -0
  31. package/dist/hooks/use-mark-inbox-thread-unread.js +34 -0
  32. package/dist/hooks/use-message-snippets.d.ts +6 -0
  33. package/dist/hooks/use-message-snippets.d.ts.map +1 -0
  34. package/dist/hooks/use-message-snippets.js +13 -0
  35. package/dist/hooks/use-send-inbox-message.d.ts +8 -2
  36. package/dist/hooks/use-send-inbox-message.d.ts.map +1 -1
  37. package/dist/hooks/use-send-inbox-message.js +99 -1
  38. package/dist/hooks/use-update-inbox-thread-status.d.ts +11 -0
  39. package/dist/hooks/use-update-inbox-thread-status.d.ts.map +1 -0
  40. package/dist/hooks/use-update-inbox-thread-status.js +34 -0
  41. package/dist/index.d.ts +3 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +1 -1
  44. package/dist/types.d.ts +117 -1
  45. package/dist/types.d.ts.map +1 -1
  46. package/package.json +1 -1
package/dist/client.d.ts CHANGED
@@ -2,7 +2,7 @@
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
- import type { LeadSubmissionsResponse, TaskListItem, Meeting, CreateMeetingPayload, PipelineCard, PostMeetingBookedPromptResponse, Pipeline, PipelineStage, TeamMembersResponse, MeResponse, RescheduleMeetingPayload, GetAvailabilitySlotsParams, GetAvailabilitySlotsResponse, EventType, PhoneNumbersResponse, InboxThreadsResponse, InboxMessagesResponse, SendInboxMessagePayload, SendInboxMessageResponse } from './types';
5
+ import type { LeadSubmissionsResponse, ContactLeadSubmissionsResponse, TaskListItem, Meeting, CreateMeetingPayload, PipelineCard, PostMeetingBookedPromptResponse, Pipeline, PipelineStage, TeamMembersResponse, MeResponse, RescheduleMeetingPayload, GetAvailabilitySlotsParams, GetAvailabilitySlotsResponse, EventType, PhoneNumbersResponse, InboxThreadsResponse, InboxMessagesResponse, InboxCallsResponse, InboxCallEvent, CreateInboxCallPayload, VoiceTokenResponse, UploadInboxMediaResponse, SendInboxMessagePayload, SendInboxMessageResponse, MessageSnippet, MessageSnippetsResponse, CreateMessageSnippetPayload, UpdateMessageSnippetPayload } from './types';
6
6
  export type ApiClientConfig = {
7
7
  baseURL: string;
8
8
  getToken: () => Promise<string | null>;
@@ -22,6 +22,10 @@ export declare function createApiClient(config: ApiClientConfig): {
22
22
  sortOrder?: "asc" | "desc";
23
23
  showArchivedOnly?: boolean;
24
24
  }): Promise<LeadSubmissionsResponse>;
25
+ getContactLeadSubmissions(contactId: string): Promise<ContactLeadSubmissionsResponse>;
26
+ getContactMeetings(contactId: string): Promise<{
27
+ meetings: Meeting[];
28
+ }>;
25
29
  getTasks(params?: {
26
30
  status?: string;
27
31
  related_card_id?: string;
@@ -112,12 +116,53 @@ export declare function createApiClient(config: ApiClientConfig): {
112
116
  eventTypes: EventType[];
113
117
  }>;
114
118
  getPhoneNumbers(): Promise<PhoneNumbersResponse>;
115
- /** List conversation threads for an inbox (phone number). */
116
- getInboxThreads(phoneNumberId: string): Promise<InboxThreadsResponse>;
119
+ /** POST /api/phone-numbers/[id]/voice-token Twilio Voice Access Token for Device SDK. */
120
+ postVoiceToken(phoneNumberId: string): Promise<VoiceTokenResponse>;
121
+ /** POST /api/phone-numbers/[id]/upload-media – upload files for outbound MMS; returns signed URLs + attachment metadata. */
122
+ uploadInboxMedia(phoneNumberId: string, formData: FormData): Promise<UploadInboxMediaResponse>;
123
+ /** List conversation threads for an inbox (phone number). Optional status filter: active (Open) or archived (Done). */
124
+ getInboxThreads(phoneNumberId: string, params?: {
125
+ status?: "active" | "archived";
126
+ }): Promise<InboxThreadsResponse>;
127
+ /** List call events for an inbox (phone number). Same auth as getInboxThreads. */
128
+ getInboxCalls(phoneNumberId: string): Promise<InboxCallsResponse>;
117
129
  /** List messages for a thread. */
118
130
  getInboxThreadMessages(threadId: string): Promise<InboxMessagesResponse>;
131
+ /** Create an outbound call event record (before starting Twilio call). Returns the created call event. */
132
+ createInboxCall(payload: CreateInboxCallPayload): Promise<InboxCallEvent>;
119
133
  /** Send an outbound message from an inbox (SMS). */
120
134
  sendInboxMessage(phoneNumberId: string, body: SendInboxMessagePayload): Promise<SendInboxMessageResponse>;
135
+ /** Mark a thread as read for the current user (e.g. when opening the conversation). */
136
+ markInboxThreadRead(threadId: string): Promise<{
137
+ ok: true;
138
+ }>;
139
+ /** Mark a thread as unread for the current user. */
140
+ markInboxThreadUnread(threadId: string): Promise<{
141
+ ok: true;
142
+ }>;
143
+ /** Update thread status: active = Open, archived = Done. */
144
+ updateInboxThreadStatus(threadId: string, status: "active" | "archived"): Promise<{
145
+ ok: true;
146
+ status: string;
147
+ }>;
148
+ /** Delete a conversation thread (and its messages via cascade). */
149
+ deleteInboxThread(threadId: string): Promise<{
150
+ ok: true;
151
+ }>;
152
+ /** List message snippets for the current org. */
153
+ getMessageSnippets(): Promise<MessageSnippetsResponse>;
154
+ /** Create a message snippet. */
155
+ createMessageSnippet(body: CreateMessageSnippetPayload): Promise<{
156
+ snippet: MessageSnippet;
157
+ }>;
158
+ /** Update a message snippet. */
159
+ updateMessageSnippet(id: string, body: UpdateMessageSnippetPayload): Promise<{
160
+ snippet: MessageSnippet;
161
+ }>;
162
+ /** Delete a message snippet. */
163
+ deleteMessageSnippet(id: string): Promise<{
164
+ ok: true;
165
+ }>;
121
166
  };
122
167
  export type ApiClient = ReturnType<typeof createApiClient>;
123
168
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,uBAAuB,EACvB,8BAA8B,EAC9B,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CACvC,CAAA;AAQD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe;gCAuDvB;QAC1B,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;QACtC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,cAAc,CAAA;QACnD,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;QACtB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAA;QACxC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAC3B,GAAG,OAAO,CAAC,uBAAuB,CAAC;yCAoBC,MAAM,GAAG,OAAO,CAAC,8BAA8B,CAAC;kCAMvD,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;sBASrD;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;KAC5B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,EAAE,CAAA;KAAE,CAAC;IAWtC,kEAAkE;4BAExD,MAAM,QACR;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;yBAUX;QACnB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;sBAWlB,oBAAoB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;wBAUlD,MAAM,UAAU,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;0BAK9D,MAAM,UACV,MAAM,QACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;uCAWxB,MAAM,cACF,MAAM,GACjB,OAAO,CAAC,+BAA+B,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;kCAUhE,MAAM,QACR;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACjC,OAAO,CAAC,OAAO,CAAC;qBAWT,MAAM,QACR;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GACxD,OAAO,CAAC,OAAO,CAAC;2BAWT,MAAM,QACR;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAChD,OAAO,CAAC,OAAO,CAAC;oCAWL,MAAM,UACV,MAAM,GACb,OAAO,CAAC;QAAE,YAAY,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;0BASjB;QACpB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;0BAYhB,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;sBASjD,OAAO,CAAC,mBAAmB,CAAC;IAI9C;;;;OAIG;aACM,OAAO,CAAC,UAAU,CAAC;6BAQf,MAAM,SACV;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GACzB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;iCAWnB,MAAM,QACX,wBAAwB,GAC7B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAOhC;;;;OAIG;4BAEW,MAAM,UACV,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;+BAW9D,0BAA0B,GAC/B,OAAO,CAAC,4BAA4B,CAAC;qBAUvB,OAAO,CAAC;QAAE,UAAU,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;uBAWlC,OAAO,CAAC,oBAAoB,CAAC;IAIhD,2FAA2F;kCAC7D,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOlE,4HAA4H;oCAE3G,MAAM,YACX,QAAQ,GACjB,OAAO,CAAC,wBAAwB,CAAC;IAUpC,uHAAuH;mCAEtG,MAAM,WACZ;QAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;KAAE,GAC1C,OAAO,CAAC,oBAAoB,CAAC;IAOhC,kFAAkF;iCACrD,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMjE,kCAAkC;qCACD,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAMxE,0GAA0G;6BACjF,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC;IAOzE,oDAAoD;oCAEnC,MAAM,QACf,uBAAuB,GAC5B,OAAO,CAAC,wBAAwB,CAAC;IAUpC,uFAAuF;kCACzD,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAO5D,oDAAoD;oCACpB,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAO9D,4DAA4D;sCAEhD,MAAM,UACR,QAAQ,GAAG,UAAU,GAC5B,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOxC,mEAAmE;gCACvC,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAU1D,iDAAiD;0BAC3B,OAAO,CAAC,uBAAuB,CAAC;IAItD,gCAAgC;+BAExB,2BAA2B,GAChC,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;IAOvC,gCAAgC;6BAE1B,MAAM,QACJ,2BAA2B,GAChC,OAAO,CAAC;QAAE,OAAO,EAAE,cAAc,CAAA;KAAE,CAAC;IAOvC,gCAAgC;6BACP,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;EAO1D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
package/dist/client.js CHANGED
@@ -21,8 +21,41 @@ export function createApiClient(config) {
21
21
  },
22
22
  });
23
23
  if (!res.ok) {
24
- const err = await res.json().catch(() => ({}));
25
- throw new Error(err.error || res.statusText);
24
+ const text = await res.text();
25
+ let err = {};
26
+ try {
27
+ if (text.length > 0)
28
+ err = JSON.parse(text);
29
+ }
30
+ catch {
31
+ // Server returned non-JSON (e.g. HTML error page); avoid "Unexpected token '<'" in Sentry
32
+ }
33
+ throw new Error(err.error || res.statusText || 'Request failed');
34
+ }
35
+ return res.json();
36
+ }
37
+ /** POST with FormData; do not set Content-Type so browser sets multipart boundary. */
38
+ async function requestForm(path, formData) {
39
+ const token = await getToken();
40
+ const url = buildUrl(baseURL, path);
41
+ const res = await fetch(url, {
42
+ method: 'POST',
43
+ body: formData,
44
+ headers: {
45
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
46
+ },
47
+ });
48
+ if (!res.ok) {
49
+ const text = await res.text();
50
+ let err = {};
51
+ try {
52
+ if (text.length > 0)
53
+ err = JSON.parse(text);
54
+ }
55
+ catch {
56
+ // Server returned non-JSON
57
+ }
58
+ throw new Error(err.error || res.statusText || 'Request failed');
26
59
  }
27
60
  return res.json();
28
61
  }
@@ -59,6 +92,15 @@ export function createApiClient(config) {
59
92
  return request(`/api/lead-submissions?${search}`);
60
93
  },
61
94
  // -------------------------------------------------------------------------
95
+ // Contact-scoped (GET /api/contacts/[id]/lead-submissions, .../meetings)
96
+ // -------------------------------------------------------------------------
97
+ getContactLeadSubmissions(contactId) {
98
+ return request(`/api/contacts/${encodeURIComponent(contactId)}/lead-submissions`);
99
+ },
100
+ getContactMeetings(contactId) {
101
+ return request(`/api/contacts/${encodeURIComponent(contactId)}/meetings`);
102
+ },
103
+ // -------------------------------------------------------------------------
62
104
  // Tasks (GET /api/tasks)
63
105
  // -------------------------------------------------------------------------
64
106
  getTasks(params) {
@@ -238,17 +280,38 @@ export function createApiClient(config) {
238
280
  getPhoneNumbers() {
239
281
  return request('/api/phone-numbers');
240
282
  },
283
+ /** POST /api/phone-numbers/[id]/voice-token – Twilio Voice Access Token for Device SDK. */
284
+ postVoiceToken(phoneNumberId) {
285
+ return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/voice-token`, { method: 'POST' });
286
+ },
287
+ /** POST /api/phone-numbers/[id]/upload-media – upload files for outbound MMS; returns signed URLs + attachment metadata. */
288
+ uploadInboxMedia(phoneNumberId, formData) {
289
+ return requestForm(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/upload-media`, formData);
290
+ },
241
291
  // -------------------------------------------------------------------------
242
292
  // Inbox: threads, messages, send (use shared API; no raw fetch in app)
243
293
  // -------------------------------------------------------------------------
244
- /** List conversation threads for an inbox (phone number). */
245
- getInboxThreads(phoneNumberId) {
246
- return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/threads`);
294
+ /** List conversation threads for an inbox (phone number). Optional status filter: active (Open) or archived (Done). */
295
+ getInboxThreads(phoneNumberId, params) {
296
+ const path = `/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/threads` +
297
+ (params?.status ? `?status=${encodeURIComponent(params.status)}` : '');
298
+ return request(path);
299
+ },
300
+ /** List call events for an inbox (phone number). Same auth as getInboxThreads. */
301
+ getInboxCalls(phoneNumberId) {
302
+ return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/calls`);
247
303
  },
248
304
  /** List messages for a thread. */
249
305
  getInboxThreadMessages(threadId) {
250
306
  return request(`/api/inbox/threads/${encodeURIComponent(threadId)}/messages`);
251
307
  },
308
+ /** Create an outbound call event record (before starting Twilio call). Returns the created call event. */
309
+ createInboxCall(payload) {
310
+ return request('/api/inbox/calls', {
311
+ method: 'POST',
312
+ body: JSON.stringify(payload),
313
+ });
314
+ },
252
315
  /** Send an outbound message from an inbox (SMS). */
253
316
  sendInboxMessage(phoneNumberId, body) {
254
317
  return request(`/api/phone-numbers/${encodeURIComponent(phoneNumberId)}/send`, {
@@ -256,5 +319,40 @@ export function createApiClient(config) {
256
319
  body: JSON.stringify(body),
257
320
  });
258
321
  },
322
+ /** Mark a thread as read for the current user (e.g. when opening the conversation). */
323
+ markInboxThreadRead(threadId) {
324
+ return request(`/api/inbox/threads/${encodeURIComponent(threadId)}/read`, { method: 'POST' });
325
+ },
326
+ /** Mark a thread as unread for the current user. */
327
+ markInboxThreadUnread(threadId) {
328
+ return request(`/api/inbox/threads/${encodeURIComponent(threadId)}/unread`, { method: 'POST' });
329
+ },
330
+ /** Update thread status: active = Open, archived = Done. */
331
+ updateInboxThreadStatus(threadId, status) {
332
+ return request(`/api/inbox/threads/${encodeURIComponent(threadId)}`, { method: 'PATCH', body: JSON.stringify({ status }) });
333
+ },
334
+ /** Delete a conversation thread (and its messages via cascade). */
335
+ deleteInboxThread(threadId) {
336
+ return request(`/api/inbox/threads/${encodeURIComponent(threadId)}`, { method: 'DELETE' });
337
+ },
338
+ // -------------------------------------------------------------------------
339
+ // Message snippets (Settings → Messaging; Inbox picker)
340
+ // -------------------------------------------------------------------------
341
+ /** List message snippets for the current org. */
342
+ getMessageSnippets() {
343
+ return request('/api/settings/messaging/snippets');
344
+ },
345
+ /** Create a message snippet. */
346
+ createMessageSnippet(body) {
347
+ return request('/api/settings/messaging/snippets', { method: 'POST', body: JSON.stringify(body) });
348
+ },
349
+ /** Update a message snippet. */
350
+ updateMessageSnippet(id, body) {
351
+ return request(`/api/settings/messaging/snippets/${encodeURIComponent(id)}`, { method: 'PATCH', body: JSON.stringify(body) });
352
+ },
353
+ /** Delete a message snippet. */
354
+ deleteMessageSnippet(id) {
355
+ return request(`/api/settings/messaging/snippets/${encodeURIComponent(id)}`, { method: 'DELETE' });
356
+ },
259
357
  };
260
358
  }
package/dist/context.d.ts CHANGED
@@ -17,6 +17,10 @@ export declare const ApiProvider: import("react").Provider<{
17
17
  sortOrder?: "asc" | "desc";
18
18
  showArchivedOnly?: boolean;
19
19
  }): Promise<import("./types").LeadSubmissionsResponse>;
20
+ getContactLeadSubmissions(contactId: string): Promise<import("./types").ContactLeadSubmissionsResponse>;
21
+ getContactMeetings(contactId: string): Promise<{
22
+ meetings: import("./types").Meeting[];
23
+ }>;
20
24
  getTasks(params?: {
21
25
  status?: string;
22
26
  related_card_id?: string;
@@ -96,9 +100,38 @@ export declare const ApiProvider: import("react").Provider<{
96
100
  eventTypes: import("./types").EventType[];
97
101
  }>;
98
102
  getPhoneNumbers(): Promise<import("./types").PhoneNumbersResponse>;
99
- getInboxThreads(phoneNumberId: string): Promise<import("./types").InboxThreadsResponse>;
103
+ postVoiceToken(phoneNumberId: string): Promise<import("./types").VoiceTokenResponse>;
104
+ uploadInboxMedia(phoneNumberId: string, formData: FormData): Promise<import("./types").UploadInboxMediaResponse>;
105
+ getInboxThreads(phoneNumberId: string, params?: {
106
+ status?: "active" | "archived";
107
+ }): Promise<import("./types").InboxThreadsResponse>;
108
+ getInboxCalls(phoneNumberId: string): Promise<import("./types").InboxCallsResponse>;
100
109
  getInboxThreadMessages(threadId: string): Promise<import("./types").InboxMessagesResponse>;
110
+ createInboxCall(payload: import("./types").CreateInboxCallPayload): Promise<import("./types").InboxCallEvent>;
101
111
  sendInboxMessage(phoneNumberId: string, body: import("./types").SendInboxMessagePayload): Promise<import("./types").SendInboxMessageResponse>;
112
+ markInboxThreadRead(threadId: string): Promise<{
113
+ ok: true;
114
+ }>;
115
+ markInboxThreadUnread(threadId: string): Promise<{
116
+ ok: true;
117
+ }>;
118
+ updateInboxThreadStatus(threadId: string, status: "active" | "archived"): Promise<{
119
+ ok: true;
120
+ status: string;
121
+ }>;
122
+ deleteInboxThread(threadId: string): Promise<{
123
+ ok: true;
124
+ }>;
125
+ getMessageSnippets(): Promise<import("./types").MessageSnippetsResponse>;
126
+ createMessageSnippet(body: import("./types").CreateMessageSnippetPayload): Promise<{
127
+ snippet: import("./types").MessageSnippet;
128
+ }>;
129
+ updateMessageSnippet(id: string, body: import("./types").UpdateMessageSnippetPayload): Promise<{
130
+ snippet: import("./types").MessageSnippet;
131
+ }>;
132
+ deleteMessageSnippet(id: string): Promise<{
133
+ ok: true;
134
+ }>;
102
135
  } | null>;
103
136
  export declare function useApiClient(): ApiClient;
104
137
  //# sourceMappingURL=context.d.ts.map
@@ -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;;WASi1C,CAAC;YAA6C,CAAC;aAAoB,CAAC;cAAqB,CAAC;cAAqB,CAAC;cAAyD,CAAC;gBAAuB,CAAC;mBAA4B,CAAC;cAAuB,CAAC;cAAqB,CAAC;iBAAiD,CAAC;wBAAuC,CAAC;;;cAAkvC,CAAC;uBAA8B,CAAC;aAAoB,CAAC;cAAqB,CAAC;eAAsB,CAAC;kBAAyB,CAAC;;;;;;aAA8wB,CAAC;;;;;cAAub,CAAC;uBAA8B,CAAC;cAAqB,CAAC;kBAAyB,CAAC;gBAAuB,CAAC;;;;;;;;;;;;;;gBAA2yD,CAAC;;;sBAAke,CAAC;;;;;;;cAAm8B,CAAC;;;;;;;oBAAm5B,CAAC;;;;;;;;;;cAA2lD,CAAC;;;;;;;;;;YAA0+B,CAAC;;;;;;;;;;SAT5+V,CAAA;AAE9C,wBAAgB,YAAY,IAAI,SAAS,CAMxC"}
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;;WAS+jF,CAAC;YAA6C,CAAC;aAAoB,CAAC;cAAqB,CAAC;cAAqB,CAAC;cAAyD,CAAC;gBAAuB,CAAC;mBAA4B,CAAC;cAAuB,CAAC;cAAqB,CAAC;iBAAiD,CAAC;wBAAuC,CAAC;;;;;;;cAA65D,CAAC;uBAA8B,CAAC;aAAoB,CAAC;cAAqB,CAAC;eAAsB,CAAC;kBAAyB,CAAC;;;;;;aAA8wB,CAAC;;;;;cAAub,CAAC;uBAA8B,CAAC;cAAqB,CAAC;kBAAyB,CAAC;gBAAuB,CAAC;;;;;;;;;;;;;;gBAA2yD,CAAC;;;sBAAke,CAAC;;;;;;;cAAm8B,CAAC;;;;;;;oBAAm5B,CAAC;;;;;;;;;;cAA2lD,CAAC;;;;;;;;;;YAA0+B,CAAC;;;;;;;;;;cAAyoF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAT/gf,CAAA;AAE9C,wBAAgB,YAAY,IAAI,SAAS,CAMxC"}
@@ -1,5 +1,7 @@
1
1
  export { useLeads } from './use-leads';
2
2
  export type { GetLeadSubmissionsParams } from './use-leads';
3
+ export { useContactLeadSubmissions } from './use-contact-lead-submissions';
4
+ export { useContactMeetings } from './use-contact-meetings';
3
5
  export { useTasks } from './use-tasks';
4
6
  export type { GetTasksParams } from './use-tasks';
5
7
  export { useMeetings } from './use-meetings';
@@ -11,6 +13,14 @@ export { useTeamMembers } from './use-team-members';
11
13
  export { useMe } from './use-me';
12
14
  export { usePhoneNumbers } from './use-phone-numbers';
13
15
  export { useInboxThreads } from './use-inbox-threads';
16
+ export type { GetInboxThreadsParams } from './use-inbox-threads';
14
17
  export { useInboxMessages } from './use-inbox-messages';
18
+ export { useInboxCalls } from './use-inbox-calls';
19
+ export type { UseInboxCallsOptions } from './use-inbox-calls';
15
20
  export { useSendInboxMessage } from './use-send-inbox-message';
21
+ export { useMarkInboxThreadRead } from './use-mark-inbox-thread-read';
22
+ export { useMarkInboxThreadUnread } from './use-mark-inbox-thread-unread';
23
+ export { useUpdateInboxThreadStatus } from './use-update-inbox-thread-status';
24
+ export { useDeleteInboxThread } from './use-delete-inbox-thread';
25
+ export { useMessageSnippets } from './use-message-snippets';
16
26
  //# 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,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA"}
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,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export { useLeads } from './use-leads';
2
+ export { useContactLeadSubmissions } from './use-contact-lead-submissions';
3
+ export { useContactMeetings } from './use-contact-meetings';
2
4
  export { useTasks } from './use-tasks';
3
5
  export { useMeetings } from './use-meetings';
4
6
  export { usePipelines } from './use-pipelines';
@@ -8,4 +10,10 @@ export { useMe } from './use-me';
8
10
  export { usePhoneNumbers } from './use-phone-numbers';
9
11
  export { useInboxThreads } from './use-inbox-threads';
10
12
  export { useInboxMessages } from './use-inbox-messages';
13
+ export { useInboxCalls } from './use-inbox-calls';
11
14
  export { useSendInboxMessage } from './use-send-inbox-message';
15
+ export { useMarkInboxThreadRead } from './use-mark-inbox-thread-read';
16
+ export { useMarkInboxThreadUnread } from './use-mark-inbox-thread-unread';
17
+ export { useUpdateInboxThreadStatus } from './use-update-inbox-thread-status';
18
+ export { useDeleteInboxThread } from './use-delete-inbox-thread';
19
+ export { useMessageSnippets } from './use-message-snippets';
@@ -0,0 +1,4 @@
1
+ export declare function useContactLeadSubmissions(contactId: string | null, options?: {
2
+ enabled?: boolean;
3
+ }): import("@tanstack/react-query").UseQueryResult<import("..").ContactLeadSubmissionsResponse, Error>;
4
+ //# sourceMappingURL=use-contact-lead-submissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-contact-lead-submissions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-contact-lead-submissions.ts"],"names":[],"mappings":"AAGA,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,sGAQhC"}
@@ -0,0 +1,10 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ export function useContactLeadSubmissions(contactId, options) {
4
+ const client = useApiClient();
5
+ return useQuery({
6
+ queryKey: ['contact-lead-submissions', contactId],
7
+ queryFn: () => client.getContactLeadSubmissions(contactId),
8
+ enabled: (options?.enabled !== false) && !!contactId,
9
+ });
10
+ }
@@ -0,0 +1,6 @@
1
+ export declare function useContactMeetings(contactId: string | null, options?: {
2
+ enabled?: boolean;
3
+ }): import("@tanstack/react-query").UseQueryResult<{
4
+ meetings: import("..").Meeting[];
5
+ }, Error>;
6
+ //# sourceMappingURL=use-contact-meetings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-contact-meetings.d.ts","sourceRoot":"","sources":["../../src/hooks/use-contact-meetings.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;UAQhC"}
@@ -0,0 +1,10 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ export function useContactMeetings(contactId, options) {
4
+ const client = useApiClient();
5
+ return useQuery({
6
+ queryKey: ['contact-meetings', contactId],
7
+ queryFn: () => client.getContactMeetings(contactId),
8
+ enabled: (options?.enabled !== false) && !!contactId,
9
+ });
10
+ }
@@ -0,0 +1,4 @@
1
+ export declare function useDeleteInboxThread(): import("@tanstack/react-query").UseMutationResult<{
2
+ ok: true;
3
+ }, Error, string, unknown>;
4
+ //# sourceMappingURL=use-delete-inbox-thread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-delete-inbox-thread.d.ts","sourceRoot":"","sources":["../../src/hooks/use-delete-inbox-thread.ts"],"names":[],"mappings":"AAGA,wBAAgB,oBAAoB;;2BASnC"}
@@ -0,0 +1,12 @@
1
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ export function useDeleteInboxThread() {
4
+ const client = useApiClient();
5
+ const queryClient = useQueryClient();
6
+ return useMutation({
7
+ mutationFn: (threadId) => client.deleteInboxThread(threadId),
8
+ onSuccess: () => {
9
+ queryClient.invalidateQueries({ queryKey: ['inbox', 'threads'] });
10
+ },
11
+ });
12
+ }
@@ -0,0 +1,6 @@
1
+ export type UseInboxCallsOptions = {
2
+ /** When false, the query is disabled (e.g. when Calls tab is not active). */
3
+ enabled?: boolean;
4
+ };
5
+ export declare function useInboxCalls(phoneNumberId: string | undefined, options?: UseInboxCallsOptions): import("@tanstack/react-query").UseQueryResult<import("..").InboxCallsResponse, Error>;
6
+ //# sourceMappingURL=use-inbox-calls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-inbox-calls.d.ts","sourceRoot":"","sources":["../../src/hooks/use-inbox-calls.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG;IACjC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,CAAC,EAAE,oBAAoB,0FAS/B"}
@@ -0,0 +1,11 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ export function useInboxCalls(phoneNumberId, options) {
4
+ const client = useApiClient();
5
+ const enabled = options?.enabled !== false && Boolean(phoneNumberId);
6
+ return useQuery({
7
+ queryKey: ['inbox', 'calls', phoneNumberId],
8
+ queryFn: () => client.getInboxCalls(phoneNumberId),
9
+ enabled,
10
+ });
11
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"use-inbox-messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use-inbox-messages.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,6FAO5D"}
1
+ {"version":3,"file":"use-inbox-messages.d.ts","sourceRoot":"","sources":["../../src/hooks/use-inbox-messages.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,6FAS5D"}
@@ -6,5 +6,7 @@ export function useInboxMessages(threadId) {
6
6
  queryKey: ['inbox', 'messages', threadId],
7
7
  queryFn: () => client.getInboxThreadMessages(threadId),
8
8
  enabled: Boolean(threadId),
9
+ refetchInterval: threadId ? 30000 : false, // fallback; realtime drives updates
10
+ refetchOnWindowFocus: true,
9
11
  });
10
12
  }
@@ -1,2 +1,5 @@
1
- export declare function useInboxThreads(phoneNumberId: string | undefined): import("@tanstack/react-query").UseQueryResult<import("..").InboxThreadsResponse, Error>;
1
+ export type GetInboxThreadsParams = {
2
+ status?: 'active' | 'archived';
3
+ };
4
+ export declare function useInboxThreads(phoneNumberId: string | undefined, params?: GetInboxThreadsParams): import("@tanstack/react-query").UseQueryResult<import("..").InboxThreadsResponse, Error>;
2
5
  //# sourceMappingURL=use-inbox-threads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-inbox-threads.d.ts","sourceRoot":"","sources":["../../src/hooks/use-inbox-threads.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,4FAOhE"}
1
+ {"version":3,"file":"use-inbox-threads.d.ts","sourceRoot":"","sources":["../../src/hooks/use-inbox-threads.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;CAC/B,CAAA;AAED,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,MAAM,CAAC,EAAE,qBAAqB,4FAQ/B"}
@@ -1,10 +1,10 @@
1
1
  import { useQuery } from '@tanstack/react-query';
2
2
  import { useApiClient } from '../context';
3
- export function useInboxThreads(phoneNumberId) {
3
+ export function useInboxThreads(phoneNumberId, params) {
4
4
  const client = useApiClient();
5
5
  return useQuery({
6
- queryKey: ['inbox', 'threads', phoneNumberId],
7
- queryFn: () => client.getInboxThreads(phoneNumberId),
6
+ queryKey: ['inbox', 'threads', phoneNumberId, params?.status],
7
+ queryFn: () => client.getInboxThreads(phoneNumberId, params),
8
8
  enabled: Boolean(phoneNumberId),
9
9
  });
10
10
  }
@@ -0,0 +1,7 @@
1
+ import type { InboxThreadsResponse } from '../types';
2
+ export declare function useMarkInboxThreadRead(): import("@tanstack/react-query").UseMutationResult<{
3
+ ok: true;
4
+ }, Error, string, {
5
+ previous: [readonly unknown[], InboxThreadsResponse | undefined][];
6
+ }>;
7
+ //# sourceMappingURL=use-mark-inbox-thread-read.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mark-inbox-thread-read.d.ts","sourceRoot":"","sources":["../../src/hooks/use-mark-inbox-thread-read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIpD,wBAAgB,sBAAsB;;;;GAkCrC"}
@@ -0,0 +1,34 @@
1
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ const THREADS_QUERY_KEY_PREFIX = ['inbox', 'threads'];
4
+ export function useMarkInboxThreadRead() {
5
+ const client = useApiClient();
6
+ const queryClient = useQueryClient();
7
+ return useMutation({
8
+ mutationFn: (threadId) => client.markInboxThreadRead(threadId),
9
+ onMutate: async (threadId) => {
10
+ const previous = queryClient.getQueriesData({
11
+ queryKey: THREADS_QUERY_KEY_PREFIX,
12
+ exact: false,
13
+ });
14
+ queryClient.setQueriesData({ queryKey: THREADS_QUERY_KEY_PREFIX, exact: false }, (data) => {
15
+ if (!data?.threads?.length)
16
+ return data;
17
+ return {
18
+ threads: data.threads.map((t) => t.id === threadId ? { ...t, unread_count: 0 } : t),
19
+ };
20
+ });
21
+ return { previous };
22
+ },
23
+ onError: (_err, _variables, context) => {
24
+ if (context?.previous) {
25
+ context.previous.forEach(([queryKey, data]) => {
26
+ queryClient.setQueryData(queryKey, data);
27
+ });
28
+ }
29
+ },
30
+ onSettled: () => {
31
+ queryClient.invalidateQueries({ queryKey: THREADS_QUERY_KEY_PREFIX });
32
+ },
33
+ });
34
+ }
@@ -0,0 +1,7 @@
1
+ import type { InboxThreadsResponse } from '../types';
2
+ export declare function useMarkInboxThreadUnread(): import("@tanstack/react-query").UseMutationResult<{
3
+ ok: true;
4
+ }, Error, string, {
5
+ previous: [readonly unknown[], InboxThreadsResponse | undefined][];
6
+ }>;
7
+ //# sourceMappingURL=use-mark-inbox-thread-unread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mark-inbox-thread-unread.d.ts","sourceRoot":"","sources":["../../src/hooks/use-mark-inbox-thread-unread.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIpD,wBAAgB,wBAAwB;;;;GAkCvC"}
@@ -0,0 +1,34 @@
1
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ const THREADS_QUERY_KEY_PREFIX = ['inbox', 'threads'];
4
+ export function useMarkInboxThreadUnread() {
5
+ const client = useApiClient();
6
+ const queryClient = useQueryClient();
7
+ return useMutation({
8
+ mutationFn: (threadId) => client.markInboxThreadUnread(threadId),
9
+ onMutate: async (threadId) => {
10
+ const previous = queryClient.getQueriesData({
11
+ queryKey: THREADS_QUERY_KEY_PREFIX,
12
+ exact: false,
13
+ });
14
+ queryClient.setQueriesData({ queryKey: THREADS_QUERY_KEY_PREFIX, exact: false }, (data) => {
15
+ if (!data?.threads?.length)
16
+ return data;
17
+ return {
18
+ threads: data.threads.map((t) => t.id === threadId ? { ...t, unread_count: (t.unread_count ?? 0) || 1 } : t),
19
+ };
20
+ });
21
+ return { previous };
22
+ },
23
+ onError: (_err, _variables, context) => {
24
+ if (context?.previous) {
25
+ context.previous.forEach(([queryKey, data]) => {
26
+ queryClient.setQueryData(queryKey, data);
27
+ });
28
+ }
29
+ },
30
+ onSettled: () => {
31
+ queryClient.invalidateQueries({ queryKey: THREADS_QUERY_KEY_PREFIX });
32
+ },
33
+ });
34
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Message snippets for the current org (GET /api/settings/messaging/snippets).
3
+ * Use in Settings Snippets section and Inbox snippet picker.
4
+ */
5
+ export declare function useMessageSnippets(): import("@tanstack/react-query").UseQueryResult<import("..").MessageSnippetsResponse, Error>;
6
+ //# sourceMappingURL=use-message-snippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-message-snippets.d.ts","sourceRoot":"","sources":["../../src/hooks/use-message-snippets.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,kBAAkB,gGAMjC"}
@@ -0,0 +1,13 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ /**
4
+ * Message snippets for the current org (GET /api/settings/messaging/snippets).
5
+ * Use in Settings Snippets section and Inbox snippet picker.
6
+ */
7
+ export function useMessageSnippets() {
8
+ const client = useApiClient();
9
+ return useQuery({
10
+ queryKey: ['message-snippets'],
11
+ queryFn: () => client.getMessageSnippets(),
12
+ });
13
+ }
@@ -1,6 +1,12 @@
1
- import type { SendInboxMessagePayload } from '../types';
1
+ import type { InboxMessagesResponse, InboxThreadsResponse, SendInboxMessagePayload } from '../types';
2
2
  export declare function useSendInboxMessage(): import("@tanstack/react-query").UseMutationResult<import("..").SendInboxMessageResponse, Error, {
3
3
  phoneNumberId: string;
4
4
  body: SendInboxMessagePayload;
5
- }, unknown>;
5
+ }, {
6
+ previousMessages: null;
7
+ previousThreads?: undefined;
8
+ } | {
9
+ previousMessages: readonly [readonly ["inbox", "messages", string], InboxMessagesResponse] | null;
10
+ previousThreads: [readonly unknown[], InboxThreadsResponse | undefined][];
11
+ }>;
6
12
  //# sourceMappingURL=use-send-inbox-message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-send-inbox-message.d.ts","sourceRoot":"","sources":["../../src/hooks/use-send-inbox-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAEvD,wBAAgB,mBAAmB;mBAQd,MAAM;UACf,uBAAuB;YASlC"}
1
+ {"version":3,"file":"use-send-inbox-message.d.ts","sourceRoot":"","sources":["../../src/hooks/use-send-inbox-message.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,UAAU,CAAA;AAkDjB,wBAAgB,mBAAmB;mBAQd,MAAM;UACf,uBAAuB;;;;;;;GA2ElC"}
@@ -1,15 +1,113 @@
1
1
  import { useMutation, useQueryClient } from '@tanstack/react-query';
2
2
  import { useApiClient } from '../context';
3
+ const THREADS_QUERY_KEY_PREFIX = ['inbox', 'threads'];
4
+ const MESSAGES_QUERY_KEY_PREFIX = ['inbox', 'messages'];
5
+ function buildOptimisticMessage(threadId, body, tempId) {
6
+ const occurredAt = new Date().toISOString();
7
+ const rawMediaUrl = Array.isArray(body.media_url)
8
+ ? body.media_url[0] ?? null
9
+ : body.media_url ?? null;
10
+ const hasAttachmentMetas = Boolean(body.attachment_metas?.length);
11
+ // Match backend: only show media_url when no attachment_metas, or first media is external (e.g. GIF)
12
+ const mediaUrl = rawMediaUrl && (!hasAttachmentMetas || body.first_media_is_external) ? rawMediaUrl : null;
13
+ // For upload-only: use first media URL as display URL for the first attachment so the image shows before send completes
14
+ const firstAttachmentDisplayUrl = hasAttachmentMetas && !body.first_media_is_external && rawMediaUrl ? rawMediaUrl : null;
15
+ const attachments = body.attachment_metas?.map((m, i) => ({
16
+ id: `optimistic-att-${tempId}-${i}`,
17
+ message_id: tempId,
18
+ org_id: '',
19
+ file_path: m.file_path,
20
+ file_name: m.file_name,
21
+ mime_type: m.mime_type,
22
+ file_size: 0,
23
+ sort_order: i,
24
+ signed_url: i === 0 ? firstAttachmentDisplayUrl : null,
25
+ }));
26
+ return {
27
+ id: tempId,
28
+ thread_id: threadId,
29
+ org_id: '',
30
+ direction: 'outbound',
31
+ body: body.body ?? '',
32
+ occurred_at: occurredAt,
33
+ status: 'sending',
34
+ provider_message_id: null,
35
+ phone_number_id: null,
36
+ user_id: null,
37
+ card_id: body.card_id ?? null,
38
+ contact_id: body.contact_id ?? null,
39
+ media_url: mediaUrl ?? undefined,
40
+ attachments: attachments?.length ? attachments : undefined,
41
+ };
42
+ }
3
43
  export function useSendInboxMessage() {
4
44
  const client = useApiClient();
5
45
  const queryClient = useQueryClient();
6
46
  return useMutation({
7
47
  mutationFn: ({ phoneNumberId, body, }) => client.sendInboxMessage(phoneNumberId, body),
8
- onSuccess: (_, { phoneNumberId, body }) => {
48
+ onMutate: async ({ body }) => {
49
+ const threadId = body.thread_id;
50
+ if (!threadId)
51
+ return { previousMessages: null };
52
+ const messagesKey = [...MESSAGES_QUERY_KEY_PREFIX, threadId];
53
+ const previousMessages = queryClient.getQueryData(messagesKey);
54
+ const tempId = `optimistic-${Date.now()}`;
55
+ const optimisticMessage = buildOptimisticMessage(threadId, body, tempId);
56
+ queryClient.setQueryData(messagesKey, (data) => {
57
+ const messages = data?.messages ?? [];
58
+ return { messages: [...messages, optimisticMessage] };
59
+ });
60
+ const previousThreads = queryClient.getQueriesData({
61
+ queryKey: THREADS_QUERY_KEY_PREFIX,
62
+ exact: false,
63
+ });
64
+ queryClient.setQueriesData({ queryKey: THREADS_QUERY_KEY_PREFIX, exact: false }, (data) => {
65
+ if (!data?.threads?.length)
66
+ return data;
67
+ return {
68
+ threads: data.threads.map((t) => {
69
+ if (t.id !== threadId)
70
+ return t;
71
+ return {
72
+ ...t,
73
+ last_message_at: optimisticMessage.occurred_at,
74
+ last_message_preview: optimisticMessage.body?.slice(0, 80) ||
75
+ (optimisticMessage.media_url ? 'Attachment' : null) ||
76
+ t.last_message_preview,
77
+ updated_at: optimisticMessage.occurred_at,
78
+ };
79
+ }),
80
+ };
81
+ });
82
+ return {
83
+ previousMessages: previousMessages
84
+ ? [messagesKey, previousMessages]
85
+ : null,
86
+ previousThreads,
87
+ };
88
+ },
89
+ onError: (_err, _variables, context) => {
90
+ if (context?.previousMessages) {
91
+ const [queryKey, data] = context.previousMessages;
92
+ queryClient.setQueryData(queryKey, data);
93
+ }
94
+ if (context?.previousThreads?.length) {
95
+ context.previousThreads.forEach(([queryKey, data]) => {
96
+ queryClient.setQueryData(queryKey, data);
97
+ });
98
+ }
99
+ },
100
+ onSuccess: (data, { phoneNumberId, body }) => {
101
+ // Invalidate so refetch runs; do not remove the optimistic message here — the refetch
102
+ // replaces the cache with server data, avoiding a flicker where the message disappears
103
+ // before the real one appears.
9
104
  queryClient.invalidateQueries({ queryKey: ['inbox', 'threads', phoneNumberId] });
10
105
  if (body.thread_id) {
11
106
  queryClient.invalidateQueries({ queryKey: ['inbox', 'messages', body.thread_id] });
12
107
  }
108
+ if (data?.threadId) {
109
+ queryClient.invalidateQueries({ queryKey: ['inbox', 'messages', data.threadId] });
110
+ }
13
111
  },
14
112
  });
15
113
  }
@@ -0,0 +1,11 @@
1
+ import type { InboxThreadsResponse } from '../types';
2
+ export declare function useUpdateInboxThreadStatus(): import("@tanstack/react-query").UseMutationResult<{
3
+ ok: true;
4
+ status: string;
5
+ }, Error, {
6
+ threadId: string;
7
+ status: "active" | "archived";
8
+ }, {
9
+ previous: [readonly unknown[], InboxThreadsResponse | undefined][];
10
+ }>;
11
+ //# sourceMappingURL=use-update-inbox-thread-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-update-inbox-thread-status.d.ts","sourceRoot":"","sources":["../../src/hooks/use-update-inbox-thread-status.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAIpD,wBAAgB,0BAA0B;;;;cAQ1B,MAAM;YACR,QAAQ,GAAG,UAAU;;;GA+BlC"}
@@ -0,0 +1,34 @@
1
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
2
+ import { useApiClient } from '../context';
3
+ const THREADS_QUERY_KEY_PREFIX = ['inbox', 'threads'];
4
+ export function useUpdateInboxThreadStatus() {
5
+ const client = useApiClient();
6
+ const queryClient = useQueryClient();
7
+ return useMutation({
8
+ mutationFn: ({ threadId, status, }) => client.updateInboxThreadStatus(threadId, status),
9
+ onMutate: async ({ threadId, status }) => {
10
+ const previous = queryClient.getQueriesData({
11
+ queryKey: THREADS_QUERY_KEY_PREFIX,
12
+ exact: false,
13
+ });
14
+ queryClient.setQueriesData({ queryKey: THREADS_QUERY_KEY_PREFIX, exact: false }, (data) => {
15
+ if (!data?.threads?.length)
16
+ return data;
17
+ return {
18
+ threads: data.threads.map((t) => t.id === threadId ? { ...t, status } : t),
19
+ };
20
+ });
21
+ return { previous };
22
+ },
23
+ onError: (_err, _variables, context) => {
24
+ if (context?.previous) {
25
+ context.previous.forEach(([queryKey, data]) => {
26
+ queryClient.setQueryData(queryKey, data);
27
+ });
28
+ }
29
+ },
30
+ onSettled: () => {
31
+ queryClient.invalidateQueries({ queryKey: THREADS_QUERY_KEY_PREFIX });
32
+ },
33
+ });
34
+ }
package/dist/index.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  export { createApiClient } from './client';
5
5
  export type { ApiClientConfig, ApiClient } from './client';
6
6
  export { ApiProvider, useApiClient } from './context';
7
- export type { FlattenedLead, LeadSubmissionsResponse, TaskStatus, TaskListItem, TaskCallOutcomeType, TaskChatOutcomeType, TaskOutcomeType, MeetingStatus, MeetingProvider, MeetingMode, Meeting, CreateMeetingPayload, PipelineCard, PostMeetingBookedPromptResponse, Pipeline, PipelineStage, TeamMember, TeamMembersResponse, MeUser, MeMembership, MeOrganization, MeResponse, RescheduleMeetingPayload, GetAvailabilitySlotsParams, GetAvailabilitySlotsResponse, AvailabilitySlot, EventType, EventTypeHost, PhoneNumberRecord, PhoneNumberAssignmentRecord, PhoneNumbersResponse, InboxThreadListItem, InboxThreadsResponse, InboxMessage, InboxMessagesResponse, SendInboxMessagePayload, SendInboxMessageResponse, } from './types';
8
- export { useLeads, useTasks, useMeetings, usePipelines, useStages, useTeamMembers, useMe, usePhoneNumbers, useInboxThreads, useInboxMessages, useSendInboxMessage, } from './hooks';
9
- export type { GetLeadSubmissionsParams, GetTasksParams, GetMeetingsParams, GetPipelinesParams, } from './hooks';
7
+ export type { FlattenedLead, LeadSubmissionsResponse, ContactLeadSubmission, ContactLeadSubmissionsResponse, TaskStatus, TaskListItem, TaskCallOutcomeType, TaskChatOutcomeType, TaskOutcomeType, MeetingStatus, MeetingProvider, MeetingMode, Meeting, CreateMeetingPayload, PipelineCard, PostMeetingBookedPromptResponse, Pipeline, PipelineStage, TeamMember, TeamMembersResponse, MeUser, MeMembership, MeOrganization, MeResponse, RescheduleMeetingPayload, GetAvailabilitySlotsParams, GetAvailabilitySlotsResponse, AvailabilitySlot, EventType, EventTypeHost, PhoneNumberRecord, PhoneNumberAssignmentRecord, PhoneNumbersResponse, InboxThreadListItem, InboxThreadsResponse, InboxMessageAttachment, InboxMessage, InboxMessagesResponse, InboxCallEvent, InboxCallListItem, InboxCallsResponse, CreateInboxCallPayload, VoiceTokenResponse, UploadInboxMediaResponse, SendInboxMessagePayload, SendInboxMessageResponse, MessageSnippet, MessageSnippetsResponse, CreateMessageSnippetPayload, UpdateMessageSnippetPayload, } from './types';
8
+ export { useLeads, useContactLeadSubmissions, useContactMeetings, useTasks, useMeetings, usePipelines, useStages, useTeamMembers, useMe, usePhoneNumbers, useInboxThreads, useInboxMessages, useInboxCalls, useSendInboxMessage, useMarkInboxThreadRead, useMarkInboxThreadUnread, useUpdateInboxThreadStatus, useDeleteInboxThread, useMessageSnippets, } from './hooks';
9
+ export type { GetLeadSubmissionsParams, GetTasksParams, GetMeetingsParams, GetPipelinesParams, GetInboxThreadsParams, UseInboxCallsOptions, } from './hooks';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGrD,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,QAAQ,EACR,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,KAAK,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAG1D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAGrD,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,+BAA+B,EAC/B,QAAQ,EACR,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,MAAM,EACN,YAAY,EACZ,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,SAAS,CAAA;AAGhB,OAAO,EACL,QAAQ,EACR,yBAAyB,EACzB,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,SAAS,EACT,cAAc,EACd,KAAK,EACL,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,YAAY,EACV,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -6,4 +6,4 @@ export { createApiClient } from './client';
6
6
  // Context (React)
7
7
  export { ApiProvider, useApiClient } from './context';
8
8
  // Hooks
9
- export { useLeads, useTasks, useMeetings, usePipelines, useStages, useTeamMembers, useMe, usePhoneNumbers, useInboxThreads, useInboxMessages, useSendInboxMessage, } from './hooks';
9
+ export { useLeads, useContactLeadSubmissions, useContactMeetings, useTasks, useMeetings, usePipelines, useStages, useTeamMembers, useMe, usePhoneNumbers, useInboxThreads, useInboxMessages, useInboxCalls, useSendInboxMessage, useMarkInboxThreadRead, useMarkInboxThreadUnread, useUpdateInboxThreadStatus, useDeleteInboxThread, useMessageSnippets, } from './hooks';
package/dist/types.d.ts CHANGED
@@ -81,6 +81,21 @@ export interface LeadSubmissionsResponse {
81
81
  offset: number;
82
82
  };
83
83
  }
84
+ export interface ContactLeadSubmission {
85
+ id: string;
86
+ created_at: string;
87
+ status: string;
88
+ form_id: string;
89
+ card_id: string | null;
90
+ primary_contact_id: string;
91
+ lead_forms: {
92
+ id: string;
93
+ name: string;
94
+ } | null;
95
+ }
96
+ export interface ContactLeadSubmissionsResponse {
97
+ submissions: ContactLeadSubmission[];
98
+ }
84
99
  export type TaskStatus = 'todo' | 'in_progress' | 'completed' | 'cancelled';
85
100
  export interface TaskListItem {
86
101
  id: string;
@@ -353,6 +368,8 @@ export interface InboxThreadListItem {
353
368
  contact_display_name?: string | null;
354
369
  /** Contact phone number (for SMS threads) */
355
370
  contact_phone_number?: string | null;
371
+ /** Contact email (for variable resolution) */
372
+ contact_email?: string | null;
356
373
  /** Last message body snippet for preview */
357
374
  last_message_preview?: string | null;
358
375
  /** Optional unread count for this thread */
@@ -361,6 +378,19 @@ export interface InboxThreadListItem {
361
378
  export interface InboxThreadsResponse {
362
379
  threads: InboxThreadListItem[];
363
380
  }
381
+ /** Single attachment on a message (from message_attachments). */
382
+ export interface InboxMessageAttachment {
383
+ id: string;
384
+ message_id: string;
385
+ org_id: string;
386
+ file_path: string;
387
+ file_name: string;
388
+ mime_type: string;
389
+ file_size: number;
390
+ sort_order: number;
391
+ /** Signed URL for display/download; populated by GET thread messages. */
392
+ signed_url?: string | null;
393
+ }
364
394
  /** Single message in a thread. */
365
395
  export interface InboxMessage {
366
396
  id: string;
@@ -376,16 +406,83 @@ export interface InboxMessage {
376
406
  card_id: string | null;
377
407
  contact_id: string | null;
378
408
  created_at?: string;
409
+ /** Optional URL for MMS media (e.g. GIF). Shown as image in thread. */
410
+ media_url?: string | null;
411
+ /** Attachments (MMS media) stored in inbox-attachments; includes signed_url when returned by GET messages. */
412
+ attachments?: InboxMessageAttachment[];
413
+ }
414
+ /** Single call event in a thread (from call_events table). */
415
+ export interface InboxCallEvent {
416
+ id: string;
417
+ thread_id: string;
418
+ org_id: string;
419
+ contact_id: string | null;
420
+ phone_number_id: string | null;
421
+ user_id: string | null;
422
+ twilio_call_sid: string | null;
423
+ direction: 'inbound' | 'outbound';
424
+ status: string;
425
+ duration_sec: number | null;
426
+ recording_url: string | null;
427
+ /** Twilio AMD: human, machine, fax, etc. Used to show "Voicemail" when machine/fax. */
428
+ answered_by?: string | null;
429
+ /** Full transcript from recording (e.g. Deepgram). */
430
+ transcript_text?: string | null;
431
+ /** Short AI-generated call summary. */
432
+ call_summary?: string | null;
433
+ /** AI-generated next steps (array of strings). */
434
+ call_summary_next_steps?: string[] | null;
435
+ occurred_at: string;
436
+ created_at?: string;
437
+ updated_at?: string;
379
438
  }
380
439
  export interface InboxMessagesResponse {
381
440
  messages: InboxMessage[];
441
+ /** Call events in this thread; merge with messages by occurred_at for timeline. */
442
+ call_events?: InboxCallEvent[];
443
+ }
444
+ /** Call event with optional contact fields (from GET phone-numbers/[id]/calls). */
445
+ export interface InboxCallListItem extends InboxCallEvent {
446
+ contact_display_name?: string | null;
447
+ contact_phone_number?: string | null;
448
+ contact_email?: string | null;
449
+ }
450
+ export interface InboxCallsResponse {
451
+ calls: InboxCallListItem[];
452
+ }
453
+ /** Payload for creating an outbound call event (POST /api/inbox/calls). */
454
+ export interface CreateInboxCallPayload {
455
+ thread_id: string;
456
+ phone_number_id?: string;
457
+ }
458
+ /** Response from POST /api/phone-numbers/[id]/voice-token (Twilio Voice Access Token). */
459
+ export interface VoiceTokenResponse {
460
+ token: string;
461
+ fromNumber: string;
462
+ }
463
+ /** Metadata for one outbound attachment (from upload-media); used to persist message_attachments. */
464
+ export interface OutboundAttachmentMeta {
465
+ file_path: string;
466
+ file_name: string;
467
+ mime_type: string;
468
+ }
469
+ /** Response from POST /api/phone-numbers/[id]/upload-media (signed URLs + attachment metadata). */
470
+ export interface UploadInboxMediaResponse {
471
+ urls: string[];
472
+ attachments?: OutboundAttachmentMeta[];
382
473
  }
383
474
  /** Payload for sending an outbound message from an inbox. */
384
475
  export interface SendInboxMessagePayload {
385
476
  /** Recipient E.164 phone number */
386
477
  to: string;
387
- /** Message body */
478
+ /** Message body (required by Twilio; use empty string when sending only media) */
388
479
  body: string;
480
+ /** Optional: MMS media URL(s), e.g. GIF from GIPHY. Sent via Twilio MediaUrl. */
481
+ media_url?: string | string[];
482
+ /** Optional: attachment metadata from upload-media; persisted as message_attachments so UI shows all images. */
483
+ attachment_metas?: OutboundAttachmentMeta[];
484
+ /** When true, the first media_url is external (e.g. GIF); store it in message.media_url even when attachment_metas exist. */
485
+ first_media_is_external?: boolean;
389
486
  /** Optional: link to existing thread (avoids duplicate thread creation) */
390
487
  thread_id?: string;
391
488
  /** Optional: contact id (if known) */
@@ -399,4 +496,23 @@ export interface SendInboxMessageResponse {
399
496
  threadId?: string;
400
497
  error?: string;
401
498
  }
499
+ export interface MessageSnippet {
500
+ id: string;
501
+ org_id: string;
502
+ name: string;
503
+ body: string;
504
+ created_at: string;
505
+ updated_at: string;
506
+ }
507
+ export interface MessageSnippetsResponse {
508
+ snippets: MessageSnippet[];
509
+ }
510
+ export interface CreateMessageSnippetPayload {
511
+ name: string;
512
+ body?: string;
513
+ }
514
+ export interface UpdateMessageSnippetPayload {
515
+ name?: string;
516
+ body?: string;
517
+ }
402
518
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workhive/api",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Shared API client, types, and hooks for WorkHive SaaS and mobile",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",