@greatapps/greatagents-ui 0.1.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/index.js ADDED
@@ -0,0 +1,479 @@
1
+ // src/client/index.ts
2
+ function createGagentsClient(config) {
3
+ const { baseUrl, token, language = "pt-br", idWl = 1 } = config;
4
+ function buildUrl(idAccount, path) {
5
+ return `${baseUrl}/v1/${language}/${idWl}/accounts/${idAccount}/${path}`;
6
+ }
7
+ async function request(method, idAccount, path, body, params) {
8
+ const url = new URL(buildUrl(idAccount, path));
9
+ if (params) {
10
+ Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));
11
+ }
12
+ const res = await fetch(url.toString(), {
13
+ method,
14
+ headers: {
15
+ "Content-Type": "application/json",
16
+ Authorization: `Bearer ${token}`
17
+ },
18
+ body: body ? JSON.stringify(body) : void 0
19
+ });
20
+ if (!res.ok) {
21
+ let message = `HTTP ${res.status}: ${res.statusText}`;
22
+ try {
23
+ const errorBody = await res.json();
24
+ message = errorBody.message || message;
25
+ } catch {
26
+ }
27
+ throw new Error(message);
28
+ }
29
+ const json = await res.json();
30
+ if (method !== "GET" && json.status === 0) {
31
+ throw new Error(json.message || "Opera\xE7\xE3o falhou");
32
+ }
33
+ return json;
34
+ }
35
+ return {
36
+ // --- Agents ---
37
+ listAgents: (idAccount, params) => request("GET", idAccount, "agents", void 0, params),
38
+ getAgent: (idAccount, id) => request("GET", idAccount, `agents/${id}`),
39
+ createAgent: (idAccount, body) => request("POST", idAccount, "agents", body),
40
+ updateAgent: (idAccount, id, body) => request("PUT", idAccount, `agents/${id}`, body),
41
+ deleteAgent: (idAccount, id) => request("DELETE", idAccount, `agents/${id}`),
42
+ // --- Tools ---
43
+ listTools: (idAccount, params) => request("GET", idAccount, "tools", void 0, params),
44
+ getTool: (idAccount, id) => request("GET", idAccount, `tools/${id}`),
45
+ createTool: (idAccount, body) => request("POST", idAccount, "tools", body),
46
+ updateTool: (idAccount, id, body) => request("PUT", idAccount, `tools/${id}`, body),
47
+ deleteTool: (idAccount, id) => request("DELETE", idAccount, `tools/${id}`),
48
+ // --- Agent Tools ---
49
+ listAgentTools: (idAccount, idAgent, params) => request("GET", idAccount, `agents/${idAgent}/tools`, void 0, params),
50
+ addAgentTool: (idAccount, idAgent, body) => request("POST", idAccount, `agents/${idAgent}/tools`, body),
51
+ updateAgentTool: (idAccount, idAgent, id, body) => request("PUT", idAccount, `agents/${idAgent}/tools/${id}`, body),
52
+ removeAgentTool: (idAccount, idAgent, id) => request("DELETE", idAccount, `agents/${idAgent}/tools/${id}`),
53
+ // --- Objectives ---
54
+ listObjectives: (idAccount, idAgent, params) => request("GET", idAccount, `agents/${idAgent}/objectives`, void 0, params),
55
+ getObjective: (idAccount, idAgent, id) => request("GET", idAccount, `agents/${idAgent}/objectives/${id}`),
56
+ createObjective: (idAccount, idAgent, body) => request("POST", idAccount, `agents/${idAgent}/objectives`, body),
57
+ updateObjective: (idAccount, idAgent, id, body) => request("PUT", idAccount, `agents/${idAgent}/objectives/${id}`, body),
58
+ deleteObjective: (idAccount, idAgent, id) => request("DELETE", idAccount, `agents/${idAgent}/objectives/${id}`),
59
+ // --- Conversations ---
60
+ listConversations: (idAccount, params) => request("GET", idAccount, "conversations", void 0, params),
61
+ listAgentConversations: (idAccount, idAgent, params) => request("GET", idAccount, `agents/${idAgent}/conversations`, void 0, params),
62
+ getConversation: (idAccount, id) => request("GET", idAccount, `conversations/${id}`),
63
+ // --- Prompt Versions ---
64
+ listPromptVersions: (idAccount, idAgent, params) => request("GET", idAccount, `agents/${idAgent}/prompt-versions`, void 0, params),
65
+ // --- Tool Credentials ---
66
+ listToolCredentials: (idAccount, params) => request("GET", idAccount, "tool-credentials", void 0, params),
67
+ createToolCredential: (idAccount, body) => request("POST", idAccount, "tool-credentials", body),
68
+ updateToolCredential: (idAccount, id, body) => request("PUT", idAccount, `tool-credentials/${id}`, body),
69
+ deleteToolCredential: (idAccount, id) => request("DELETE", idAccount, `tool-credentials/${id}`),
70
+ // --- Contact Users ---
71
+ listContactUsers: (idAccount, params) => request("GET", idAccount, "contact-users", void 0, params),
72
+ getContactUser: (idAccount, id) => request("GET", idAccount, `contact-users/${id}`),
73
+ // --- Contacts ---
74
+ listGagentsContacts: (idAccount, params) => request("GET", idAccount, "contacts", void 0, params),
75
+ // --- Calendar Integration ---
76
+ initiateCalendarConnect: (idAccount, body) => request("POST", idAccount, "calendar/connect", body),
77
+ getCalendarStatus: (idAccount, externalReference, provider = "google-calendar") => request(
78
+ "GET",
79
+ idAccount,
80
+ `calendar/status/${encodeURIComponent(externalReference)}`,
81
+ void 0,
82
+ { provider }
83
+ ),
84
+ checkCalendarAvailability: (idAccount, body) => request("POST", idAccount, "calendar/availability", body),
85
+ disconnectCalendar: (idAccount, externalReference, provider = "google-calendar") => request(
86
+ "DELETE",
87
+ idAccount,
88
+ `calendar/disconnect/${encodeURIComponent(externalReference)}`,
89
+ void 0,
90
+ { provider }
91
+ )
92
+ };
93
+ }
94
+
95
+ // src/lib/index.ts
96
+ import { clsx } from "clsx";
97
+ import { twMerge } from "tailwind-merge";
98
+ function cn(...inputs) {
99
+ return twMerge(clsx(inputs));
100
+ }
101
+
102
+ // src/hooks/types.ts
103
+ import { useMemo } from "react";
104
+ function useGagentsClient(config) {
105
+ return useMemo(
106
+ () => createGagentsClient({
107
+ baseUrl: config.baseUrl,
108
+ token: config.token,
109
+ language: config.language,
110
+ idWl: config.idWl
111
+ }),
112
+ [config.baseUrl, config.token, config.language, config.idWl]
113
+ );
114
+ }
115
+
116
+ // src/hooks/use-agents.ts
117
+ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
118
+ function useAgents(config, params) {
119
+ const client = useGagentsClient(config);
120
+ return useQuery({
121
+ queryKey: ["greatagents", "agents", config.accountId, params],
122
+ queryFn: () => client.listAgents(config.accountId, params),
123
+ enabled: !!config.token && !!config.accountId,
124
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
125
+ });
126
+ }
127
+ function useAgent(config, id) {
128
+ const client = useGagentsClient(config);
129
+ return useQuery({
130
+ queryKey: ["greatagents", "agent", config.accountId, id],
131
+ queryFn: () => client.getAgent(config.accountId, id),
132
+ enabled: !!config.token && !!config.accountId && !!id,
133
+ select: (res) => {
134
+ const d = res.data;
135
+ return Array.isArray(d) ? d[0] : d;
136
+ }
137
+ });
138
+ }
139
+ function useCreateAgent(config) {
140
+ const client = useGagentsClient(config);
141
+ const queryClient = useQueryClient();
142
+ return useMutation({
143
+ mutationFn: (body) => client.createAgent(config.accountId, body),
144
+ onSuccess: () => {
145
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "agents"] });
146
+ }
147
+ });
148
+ }
149
+ function useUpdateAgent(config) {
150
+ const client = useGagentsClient(config);
151
+ const queryClient = useQueryClient();
152
+ return useMutation({
153
+ mutationFn: ({
154
+ id,
155
+ body
156
+ }) => client.updateAgent(config.accountId, id, body),
157
+ onSuccess: (_data, variables) => {
158
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "agents"] });
159
+ queryClient.invalidateQueries({
160
+ queryKey: ["greatagents", "agent", config.accountId, variables.id]
161
+ });
162
+ queryClient.invalidateQueries({
163
+ queryKey: ["greatagents", "prompt-versions", config.accountId, variables.id]
164
+ });
165
+ }
166
+ });
167
+ }
168
+ function useDeleteAgent(config) {
169
+ const client = useGagentsClient(config);
170
+ const queryClient = useQueryClient();
171
+ return useMutation({
172
+ mutationFn: (id) => client.deleteAgent(config.accountId, id),
173
+ onSuccess: () => {
174
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "agents"] });
175
+ }
176
+ });
177
+ }
178
+
179
+ // src/hooks/use-tools.ts
180
+ import { useQuery as useQuery2, useMutation as useMutation2, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
181
+ function useTools(config, params) {
182
+ const client = useGagentsClient(config);
183
+ return useQuery2({
184
+ queryKey: ["greatagents", "tools", config.accountId, params],
185
+ queryFn: () => client.listTools(config.accountId, params),
186
+ enabled: !!config.token && !!config.accountId,
187
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
188
+ });
189
+ }
190
+ function useTool(config, id) {
191
+ const client = useGagentsClient(config);
192
+ return useQuery2({
193
+ queryKey: ["greatagents", "tool", config.accountId, id],
194
+ queryFn: () => client.getTool(config.accountId, id),
195
+ enabled: !!config.token && !!config.accountId && !!id,
196
+ select: (res) => {
197
+ const d = res.data;
198
+ return Array.isArray(d) ? d[0] : d;
199
+ }
200
+ });
201
+ }
202
+ function useCreateTool(config) {
203
+ const client = useGagentsClient(config);
204
+ const queryClient = useQueryClient2();
205
+ return useMutation2({
206
+ mutationFn: (body) => client.createTool(config.accountId, body),
207
+ onSuccess: () => {
208
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tools"] });
209
+ }
210
+ });
211
+ }
212
+ function useUpdateTool(config) {
213
+ const client = useGagentsClient(config);
214
+ const queryClient = useQueryClient2();
215
+ return useMutation2({
216
+ mutationFn: ({
217
+ id,
218
+ body
219
+ }) => client.updateTool(config.accountId, id, body),
220
+ onSuccess: (_data, variables) => {
221
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tools"] });
222
+ queryClient.invalidateQueries({
223
+ queryKey: ["greatagents", "tool", config.accountId, variables.id]
224
+ });
225
+ }
226
+ });
227
+ }
228
+ function useDeleteTool(config) {
229
+ const client = useGagentsClient(config);
230
+ const queryClient = useQueryClient2();
231
+ return useMutation2({
232
+ mutationFn: (id) => client.deleteTool(config.accountId, id),
233
+ onSuccess: () => {
234
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tools"] });
235
+ }
236
+ });
237
+ }
238
+
239
+ // src/hooks/use-objectives.ts
240
+ import { useQuery as useQuery3, useMutation as useMutation3, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
241
+ function useObjectives(config, idAgent) {
242
+ const client = useGagentsClient(config);
243
+ return useQuery3({
244
+ queryKey: ["greatagents", "objectives", config.accountId, idAgent],
245
+ queryFn: () => client.listObjectives(config.accountId, idAgent),
246
+ enabled: !!config.token && !!config.accountId && !!idAgent,
247
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
248
+ });
249
+ }
250
+ function useCreateObjective(config) {
251
+ const client = useGagentsClient(config);
252
+ const queryClient = useQueryClient3();
253
+ return useMutation3({
254
+ mutationFn: ({
255
+ idAgent,
256
+ body
257
+ }) => client.createObjective(config.accountId, idAgent, body),
258
+ onSuccess: () => {
259
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "objectives"] });
260
+ }
261
+ });
262
+ }
263
+ function useUpdateObjective(config) {
264
+ const client = useGagentsClient(config);
265
+ const queryClient = useQueryClient3();
266
+ return useMutation3({
267
+ mutationFn: ({
268
+ idAgent,
269
+ id,
270
+ body
271
+ }) => client.updateObjective(config.accountId, idAgent, id, body),
272
+ onSuccess: () => {
273
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "objectives"] });
274
+ }
275
+ });
276
+ }
277
+ function useDeleteObjective(config) {
278
+ const client = useGagentsClient(config);
279
+ const queryClient = useQueryClient3();
280
+ return useMutation3({
281
+ mutationFn: ({ idAgent, id }) => client.deleteObjective(config.accountId, idAgent, id),
282
+ onSuccess: () => {
283
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "objectives"] });
284
+ }
285
+ });
286
+ }
287
+
288
+ // src/hooks/use-agent-tools.ts
289
+ import { useQuery as useQuery4, useMutation as useMutation4, useQueryClient as useQueryClient4 } from "@tanstack/react-query";
290
+ function useAgentTools(config, idAgent) {
291
+ const client = useGagentsClient(config);
292
+ return useQuery4({
293
+ queryKey: ["greatagents", "agent-tools", config.accountId, idAgent],
294
+ queryFn: () => client.listAgentTools(config.accountId, idAgent),
295
+ enabled: !!config.token && !!config.accountId && !!idAgent,
296
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
297
+ });
298
+ }
299
+ function useAddAgentTool(config) {
300
+ const client = useGagentsClient(config);
301
+ const queryClient = useQueryClient4();
302
+ return useMutation4({
303
+ mutationFn: ({
304
+ idAgent,
305
+ body
306
+ }) => client.addAgentTool(config.accountId, idAgent, body),
307
+ onSuccess: () => {
308
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "agent-tools"] });
309
+ }
310
+ });
311
+ }
312
+ function useRemoveAgentTool(config) {
313
+ const client = useGagentsClient(config);
314
+ const queryClient = useQueryClient4();
315
+ return useMutation4({
316
+ mutationFn: ({ idAgent, id }) => client.removeAgentTool(config.accountId, idAgent, id),
317
+ onSuccess: () => {
318
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "agent-tools"] });
319
+ }
320
+ });
321
+ }
322
+ function useUpdateAgentTool(config) {
323
+ const client = useGagentsClient(config);
324
+ const queryClient = useQueryClient4();
325
+ return useMutation4({
326
+ mutationFn: ({
327
+ idAgent,
328
+ id,
329
+ body
330
+ }) => client.updateAgentTool(config.accountId, idAgent, id, body),
331
+ onSuccess: (_data, variables) => {
332
+ queryClient.invalidateQueries({
333
+ queryKey: ["greatagents", "agent-tools", config.accountId, variables.idAgent]
334
+ });
335
+ }
336
+ });
337
+ }
338
+
339
+ // src/hooks/use-conversations.ts
340
+ import { useQuery as useQuery5 } from "@tanstack/react-query";
341
+ function useConversations(config) {
342
+ const client = useGagentsClient(config);
343
+ return useQuery5({
344
+ queryKey: ["greatagents", "conversations", config.accountId],
345
+ queryFn: () => client.listConversations(config.accountId),
346
+ enabled: !!config.token && !!config.accountId,
347
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
348
+ });
349
+ }
350
+ function useAgentConversations(config, idAgent) {
351
+ const client = useGagentsClient(config);
352
+ return useQuery5({
353
+ queryKey: ["greatagents", "conversations", config.accountId, "agent", idAgent],
354
+ queryFn: () => client.listAgentConversations(config.accountId, idAgent),
355
+ enabled: !!config.token && !!config.accountId && !!idAgent,
356
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
357
+ });
358
+ }
359
+ function useConversation(config, id) {
360
+ const client = useGagentsClient(config);
361
+ return useQuery5({
362
+ queryKey: ["greatagents", "conversations", config.accountId, id],
363
+ queryFn: () => client.getConversation(config.accountId, id),
364
+ enabled: !!config.token && !!config.accountId && !!id,
365
+ select: (res) => {
366
+ const d = res.data;
367
+ return Array.isArray(d) ? d[0] : d;
368
+ }
369
+ });
370
+ }
371
+
372
+ // src/hooks/use-settings.ts
373
+ import { useQuery as useQuery6, useMutation as useMutation5, useQueryClient as useQueryClient5 } from "@tanstack/react-query";
374
+ function usePromptVersions(config, idAgent) {
375
+ const client = useGagentsClient(config);
376
+ return useQuery6({
377
+ queryKey: ["greatagents", "prompt-versions", config.accountId, idAgent],
378
+ queryFn: () => client.listPromptVersions(config.accountId, idAgent),
379
+ enabled: !!config.token && !!config.accountId && !!idAgent,
380
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
381
+ });
382
+ }
383
+ function useToolCredentials(config) {
384
+ const client = useGagentsClient(config);
385
+ return useQuery6({
386
+ queryKey: ["greatagents", "tool-credentials", config.accountId],
387
+ queryFn: () => client.listToolCredentials(config.accountId),
388
+ enabled: !!config.token && !!config.accountId,
389
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
390
+ });
391
+ }
392
+ function useCreateToolCredential(config) {
393
+ const client = useGagentsClient(config);
394
+ const queryClient = useQueryClient5();
395
+ return useMutation5({
396
+ mutationFn: (body) => client.createToolCredential(config.accountId, body),
397
+ onSuccess: () => {
398
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tool-credentials"] });
399
+ }
400
+ });
401
+ }
402
+ function useUpdateToolCredential(config) {
403
+ const client = useGagentsClient(config);
404
+ const queryClient = useQueryClient5();
405
+ return useMutation5({
406
+ mutationFn: ({
407
+ id,
408
+ body
409
+ }) => client.updateToolCredential(config.accountId, id, body),
410
+ onSuccess: () => {
411
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tool-credentials"] });
412
+ }
413
+ });
414
+ }
415
+ function useDeleteToolCredential(config) {
416
+ const client = useGagentsClient(config);
417
+ const queryClient = useQueryClient5();
418
+ return useMutation5({
419
+ mutationFn: (id) => client.deleteToolCredential(config.accountId, id),
420
+ onSuccess: () => {
421
+ queryClient.invalidateQueries({ queryKey: ["greatagents", "tool-credentials"] });
422
+ }
423
+ });
424
+ }
425
+ function useContactUsers(config) {
426
+ const client = useGagentsClient(config);
427
+ return useQuery6({
428
+ queryKey: ["greatagents", "contact-users", config.accountId],
429
+ queryFn: () => client.listContactUsers(config.accountId),
430
+ enabled: !!config.token && !!config.accountId,
431
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
432
+ });
433
+ }
434
+
435
+ // src/hooks/use-contacts.ts
436
+ import { useQuery as useQuery7 } from "@tanstack/react-query";
437
+ function useGagentsContacts(config, params) {
438
+ const client = useGagentsClient(config);
439
+ return useQuery7({
440
+ queryKey: ["greatagents", "contacts", config.accountId, params],
441
+ queryFn: () => client.listGagentsContacts(config.accountId, params),
442
+ enabled: !!config.token && !!config.accountId,
443
+ select: (res) => ({ data: res.data || [], total: res.total || 0 })
444
+ });
445
+ }
446
+ export {
447
+ cn,
448
+ createGagentsClient,
449
+ useAddAgentTool,
450
+ useAgent,
451
+ useAgentConversations,
452
+ useAgentTools,
453
+ useAgents,
454
+ useContactUsers,
455
+ useConversation,
456
+ useConversations,
457
+ useCreateAgent,
458
+ useCreateObjective,
459
+ useCreateTool,
460
+ useCreateToolCredential,
461
+ useDeleteAgent,
462
+ useDeleteObjective,
463
+ useDeleteTool,
464
+ useDeleteToolCredential,
465
+ useGagentsClient,
466
+ useGagentsContacts,
467
+ useObjectives,
468
+ usePromptVersions,
469
+ useRemoveAgentTool,
470
+ useTool,
471
+ useToolCredentials,
472
+ useTools,
473
+ useUpdateAgent,
474
+ useUpdateAgentTool,
475
+ useUpdateObjective,
476
+ useUpdateTool,
477
+ useUpdateToolCredential
478
+ };
479
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/client/index.ts","../src/lib/index.ts","../src/hooks/types.ts","../src/hooks/use-agents.ts","../src/hooks/use-tools.ts","../src/hooks/use-objectives.ts","../src/hooks/use-agent-tools.ts","../src/hooks/use-conversations.ts","../src/hooks/use-settings.ts","../src/hooks/use-contacts.ts"],"sourcesContent":["import type {\n ApiResponse,\n Agent,\n AgentTool,\n AvailabilityResult,\n CalendarStatus,\n ContactUser,\n Conversation,\n GagentsContact,\n Objective,\n PromptVersion,\n Tool,\n ToolCredential,\n} from \"../types\";\n\nexport interface GagentsClientConfig {\n baseUrl: string;\n token: string;\n language?: string;\n idWl?: number;\n}\n\nexport function createGagentsClient(config: GagentsClientConfig) {\n const { baseUrl, token, language = \"pt-br\", idWl = 1 } = config;\n\n function buildUrl(idAccount: number, path: string): string {\n return `${baseUrl}/v1/${language}/${idWl}/accounts/${idAccount}/${path}`;\n }\n\n async function request<T>(\n method: string,\n idAccount: number,\n path: string,\n body?: unknown,\n params?: Record<string, string>,\n ): Promise<ApiResponse<T>> {\n const url = new URL(buildUrl(idAccount, path));\n if (params) {\n Object.entries(params).forEach(([k, v]) => url.searchParams.set(k, v));\n }\n\n const res = await fetch(url.toString(), {\n method,\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`,\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n if (!res.ok) {\n let message = `HTTP ${res.status}: ${res.statusText}`;\n try {\n const errorBody = await res.json();\n message = errorBody.message || message;\n } catch {\n /* ignore parse errors */\n }\n throw new Error(message);\n }\n\n const json: ApiResponse<T> = await res.json();\n\n // For mutations, treat API-level failures as errors so TanStack Query\n // fires onError instead of onSuccess (API returns HTTP 200 even on failure)\n if (method !== \"GET\" && json.status === 0) {\n throw new Error(json.message || \"Operação falhou\");\n }\n\n return json;\n }\n\n return {\n // --- Agents ---\n listAgents: (idAccount: number, params?: Record<string, string>) =>\n request<Agent[]>(\"GET\", idAccount, \"agents\", undefined, params),\n\n getAgent: (idAccount: number, id: number) =>\n request<Agent>(\"GET\", idAccount, `agents/${id}`),\n\n createAgent: (\n idAccount: number,\n body: Pick<Agent, \"title\"> &\n Partial<Pick<Agent, \"prompt\" | \"photo\" | \"delay_typing\" | \"waiting_time\">>,\n ) => request<Agent>(\"POST\", idAccount, \"agents\", body),\n\n updateAgent: (\n idAccount: number,\n id: number,\n body: Partial<\n Pick<Agent, \"title\" | \"prompt\" | \"photo\" | \"delay_typing\" | \"waiting_time\" | \"active\">\n >,\n ) => request<Agent>(\"PUT\", idAccount, `agents/${id}`, body),\n\n deleteAgent: (idAccount: number, id: number) =>\n request<void>(\"DELETE\", idAccount, `agents/${id}`),\n\n // --- Tools ---\n listTools: (idAccount: number, params?: Record<string, string>) =>\n request<Tool[]>(\"GET\", idAccount, \"tools\", undefined, params),\n\n getTool: (idAccount: number, id: number) =>\n request<Tool>(\"GET\", idAccount, `tools/${id}`),\n\n createTool: (\n idAccount: number,\n body: Pick<Tool, \"name\" | \"type\"> &\n Partial<Pick<Tool, \"slug\" | \"description\" | \"auth_config\" | \"function_definitions\">>,\n ) => request<Tool>(\"POST\", idAccount, \"tools\", body),\n\n updateTool: (\n idAccount: number,\n id: number,\n body: Partial<\n Pick<Tool, \"name\" | \"slug\" | \"type\" | \"description\" | \"auth_config\" | \"function_definitions\">\n >,\n ) => request<Tool>(\"PUT\", idAccount, `tools/${id}`, body),\n\n deleteTool: (idAccount: number, id: number) =>\n request<void>(\"DELETE\", idAccount, `tools/${id}`),\n\n // --- Agent Tools ---\n listAgentTools: (idAccount: number, idAgent: number, params?: Record<string, string>) =>\n request<AgentTool[]>(\"GET\", idAccount, `agents/${idAgent}/tools`, undefined, params),\n\n addAgentTool: (\n idAccount: number,\n idAgent: number,\n body: Pick<AgentTool, \"id_tool\"> &\n Partial<Pick<AgentTool, \"enabled\" | \"custom_instructions\" | \"parameter_mappings\" | \"id_tool_credential\">>,\n ) => request<AgentTool>(\"POST\", idAccount, `agents/${idAgent}/tools`, body),\n\n updateAgentTool: (\n idAccount: number,\n idAgent: number,\n id: number,\n body: Partial<\n Pick<AgentTool, \"enabled\" | \"custom_instructions\" | \"parameter_mappings\" | \"id_tool_credential\">\n >,\n ) => request<AgentTool>(\"PUT\", idAccount, `agents/${idAgent}/tools/${id}`, body),\n\n removeAgentTool: (idAccount: number, idAgent: number, id: number) =>\n request<void>(\"DELETE\", idAccount, `agents/${idAgent}/tools/${id}`),\n\n // --- Objectives ---\n listObjectives: (idAccount: number, idAgent: number, params?: Record<string, string>) =>\n request<Objective[]>(\"GET\", idAccount, `agents/${idAgent}/objectives`, undefined, params),\n\n getObjective: (idAccount: number, idAgent: number, id: number) =>\n request<Objective>(\"GET\", idAccount, `agents/${idAgent}/objectives/${id}`),\n\n createObjective: (\n idAccount: number,\n idAgent: number,\n body: Pick<Objective, \"title\"> &\n Partial<Pick<Objective, \"slug\" | \"prompt\" | \"order\" | \"active\">>,\n ) => request<Objective>(\"POST\", idAccount, `agents/${idAgent}/objectives`, body),\n\n updateObjective: (\n idAccount: number,\n idAgent: number,\n id: number,\n body: Partial<Pick<Objective, \"title\" | \"slug\" | \"prompt\" | \"order\" | \"active\">>,\n ) => request<Objective>(\"PUT\", idAccount, `agents/${idAgent}/objectives/${id}`, body),\n\n deleteObjective: (idAccount: number, idAgent: number, id: number) =>\n request<void>(\"DELETE\", idAccount, `agents/${idAgent}/objectives/${id}`),\n\n // --- Conversations ---\n listConversations: (idAccount: number, params?: Record<string, string>) =>\n request<Conversation[]>(\"GET\", idAccount, \"conversations\", undefined, params),\n\n listAgentConversations: (idAccount: number, idAgent: number, params?: Record<string, string>) =>\n request<Conversation[]>(\"GET\", idAccount, `agents/${idAgent}/conversations`, undefined, params),\n\n getConversation: (idAccount: number, id: number) =>\n request<Conversation>(\"GET\", idAccount, `conversations/${id}`),\n\n // --- Prompt Versions ---\n listPromptVersions: (idAccount: number, idAgent: number, params?: Record<string, string>) =>\n request<PromptVersion[]>(\"GET\", idAccount, `agents/${idAgent}/prompt-versions`, undefined, params),\n\n // --- Tool Credentials ---\n listToolCredentials: (idAccount: number, params?: Record<string, string>) =>\n request<ToolCredential[]>(\"GET\", idAccount, \"tool-credentials\", undefined, params),\n\n createToolCredential: (\n idAccount: number,\n body: Pick<ToolCredential, \"id_tool\" | \"label\" | \"credentials_encrypted\"> &\n Partial<Pick<ToolCredential, \"expires_at\">>,\n ) => request<ToolCredential>(\"POST\", idAccount, \"tool-credentials\", body),\n\n updateToolCredential: (\n idAccount: number,\n id: number,\n body: Partial<\n Pick<ToolCredential, \"id_tool\" | \"label\" | \"credentials_encrypted\" | \"expires_at\" | \"status\">\n >,\n ) => request<ToolCredential>(\"PUT\", idAccount, `tool-credentials/${id}`, body),\n\n deleteToolCredential: (idAccount: number, id: number) =>\n request<void>(\"DELETE\", idAccount, `tool-credentials/${id}`),\n\n // --- Contact Users ---\n listContactUsers: (idAccount: number, params?: Record<string, string>) =>\n request<ContactUser[]>(\"GET\", idAccount, \"contact-users\", undefined, params),\n\n getContactUser: (idAccount: number, id: number) =>\n request<ContactUser>(\"GET\", idAccount, `contact-users/${id}`),\n\n // --- Contacts ---\n listGagentsContacts: (idAccount: number, params?: Record<string, string>) =>\n request<GagentsContact[]>(\"GET\", idAccount, \"contacts\", undefined, params),\n\n // --- Calendar Integration ---\n initiateCalendarConnect: (\n idAccount: number,\n body: { external_reference: string; provider?: string },\n ) => request<{ auth_url: string }>(\"POST\", idAccount, \"calendar/connect\", body),\n\n getCalendarStatus: (\n idAccount: number,\n externalReference: string,\n provider = \"google-calendar\",\n ) =>\n request<CalendarStatus>(\n \"GET\",\n idAccount,\n `calendar/status/${encodeURIComponent(externalReference)}`,\n undefined,\n { provider },\n ),\n\n checkCalendarAvailability: (\n idAccount: number,\n body: { id_professional: number; start_time: string; end_time: string },\n ) => request<AvailabilityResult>(\"POST\", idAccount, \"calendar/availability\", body),\n\n disconnectCalendar: (\n idAccount: number,\n externalReference: string,\n provider = \"google-calendar\",\n ) =>\n request<void>(\n \"DELETE\",\n idAccount,\n `calendar/disconnect/${encodeURIComponent(externalReference)}`,\n undefined,\n { provider },\n ),\n };\n}\n\nexport type GagentsClient = ReturnType<typeof createGagentsClient>;\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { useMemo } from \"react\";\nimport { createGagentsClient } from \"../client\";\n\n// ---------------------------------------------------------------------------\n// Hook Configuration\n// ---------------------------------------------------------------------------\n\nexport interface GagentsHookConfig {\n accountId: number;\n token: string;\n baseUrl: string;\n language?: string;\n idWl?: number;\n}\n\n// ---------------------------------------------------------------------------\n// Internal helper — memoized client from config\n// ---------------------------------------------------------------------------\n\nexport function useGagentsClient(config: GagentsHookConfig) {\n return useMemo(\n () =>\n createGagentsClient({\n baseUrl: config.baseUrl,\n token: config.token,\n language: config.language,\n idWl: config.idWl,\n }),\n [config.baseUrl, config.token, config.language, config.idWl],\n );\n}\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useAgents(config: GagentsHookConfig, params?: Record<string, string>) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"agents\", config.accountId, params],\n queryFn: () => client.listAgents(config.accountId, params),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useAgent(config: GagentsHookConfig, id: number | null) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"agent\", config.accountId, id],\n queryFn: () => client.getAgent(config.accountId, id!),\n enabled: !!config.token && !!config.accountId && !!id,\n select: (res) => {\n const d = res.data;\n return Array.isArray(d) ? d[0] : d;\n },\n });\n}\n\nexport function useCreateAgent(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: {\n title: string;\n prompt?: string;\n photo?: string;\n delay_typing?: number;\n waiting_time?: number;\n }) => client.createAgent(config.accountId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"agents\"] });\n },\n });\n}\n\nexport function useUpdateAgent(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n id,\n body,\n }: {\n id: number;\n body: {\n title?: string;\n prompt?: string;\n photo?: string;\n delay_typing?: number;\n waiting_time?: number;\n active?: boolean;\n };\n }) => client.updateAgent(config.accountId, id, body),\n onSuccess: (_data, variables) => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"agents\"] });\n queryClient.invalidateQueries({\n queryKey: [\"greatagents\", \"agent\", config.accountId, variables.id],\n });\n queryClient.invalidateQueries({\n queryKey: [\"greatagents\", \"prompt-versions\", config.accountId, variables.id],\n });\n },\n });\n}\n\nexport function useDeleteAgent(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (id: number) => client.deleteAgent(config.accountId, id),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"agents\"] });\n },\n });\n}\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useTools(config: GagentsHookConfig, params?: Record<string, string>) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"tools\", config.accountId, params],\n queryFn: () => client.listTools(config.accountId, params),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useTool(config: GagentsHookConfig, id: number | null) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"tool\", config.accountId, id],\n queryFn: () => client.getTool(config.accountId, id!),\n enabled: !!config.token && !!config.accountId && !!id,\n select: (res) => {\n const d = res.data;\n return Array.isArray(d) ? d[0] : d;\n },\n });\n}\n\nexport function useCreateTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: {\n name: string;\n slug: string;\n type: string;\n description?: string;\n function_definitions?: string;\n }) => client.createTool(config.accountId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tools\"] });\n },\n });\n}\n\nexport function useUpdateTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n id,\n body,\n }: {\n id: number;\n body: {\n name?: string;\n type?: string;\n description?: string;\n function_definitions?: string;\n };\n }) => client.updateTool(config.accountId, id, body),\n onSuccess: (_data, variables) => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tools\"] });\n queryClient.invalidateQueries({\n queryKey: [\"greatagents\", \"tool\", config.accountId, variables.id],\n });\n },\n });\n}\n\nexport function useDeleteTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (id: number) => client.deleteTool(config.accountId, id),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tools\"] });\n },\n });\n}\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useObjectives(config: GagentsHookConfig, idAgent: number) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"objectives\", config.accountId, idAgent],\n queryFn: () => client.listObjectives(config.accountId, idAgent),\n enabled: !!config.token && !!config.accountId && !!idAgent,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useCreateObjective(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n idAgent,\n body,\n }: {\n idAgent: number;\n body: {\n title: string;\n slug?: string;\n prompt?: string | null;\n order?: number;\n active?: boolean;\n };\n }) => client.createObjective(config.accountId, idAgent, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"objectives\"] });\n },\n });\n}\n\nexport function useUpdateObjective(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n idAgent,\n id,\n body,\n }: {\n idAgent: number;\n id: number;\n body: Partial<{\n title: string;\n slug: string;\n prompt: string | null;\n order: number;\n active: boolean;\n }>;\n }) => client.updateObjective(config.accountId, idAgent, id, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"objectives\"] });\n },\n });\n}\n\nexport function useDeleteObjective(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ idAgent, id }: { idAgent: number; id: number }) =>\n client.deleteObjective(config.accountId, idAgent, id),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"objectives\"] });\n },\n });\n}\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useAgentTools(config: GagentsHookConfig, idAgent: number) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"agent-tools\", config.accountId, idAgent],\n queryFn: () => client.listAgentTools(config.accountId, idAgent),\n enabled: !!config.token && !!config.accountId && !!idAgent,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useAddAgentTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n idAgent,\n body,\n }: {\n idAgent: number;\n body: { id_tool: number; enabled?: boolean };\n }) => client.addAgentTool(config.accountId, idAgent, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"agent-tools\"] });\n },\n });\n}\n\nexport function useRemoveAgentTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ idAgent, id }: { idAgent: number; id: number }) =>\n client.removeAgentTool(config.accountId, idAgent, id),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"agent-tools\"] });\n },\n });\n}\n\nexport function useUpdateAgentTool(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n idAgent,\n id,\n body,\n }: {\n idAgent: number;\n id: number;\n body: Partial<{\n enabled: boolean;\n custom_instructions: string | null;\n parameter_mappings: string | null;\n id_tool_credential: number | null;\n }>;\n }) => client.updateAgentTool(config.accountId, idAgent, id, body),\n onSuccess: (_data, variables) => {\n queryClient.invalidateQueries({\n queryKey: [\"greatagents\", \"agent-tools\", config.accountId, variables.idAgent],\n });\n },\n });\n}\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useConversations(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"conversations\", config.accountId],\n queryFn: () => client.listConversations(config.accountId),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useAgentConversations(config: GagentsHookConfig, idAgent: number) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"conversations\", config.accountId, \"agent\", idAgent],\n queryFn: () => client.listAgentConversations(config.accountId, idAgent),\n enabled: !!config.token && !!config.accountId && !!idAgent,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useConversation(config: GagentsHookConfig, id: number) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"conversations\", config.accountId, id],\n queryFn: () => client.getConversation(config.accountId, id),\n enabled: !!config.token && !!config.accountId && !!id,\n select: (res) => {\n const d = res.data;\n return Array.isArray(d) ? d[0] : d;\n },\n });\n}\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport type { ToolCredential } from \"../types\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\n// --- Prompt Versions (read-only) ---\n\nexport function usePromptVersions(config: GagentsHookConfig, idAgent: number) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"prompt-versions\", config.accountId, idAgent],\n queryFn: () => client.listPromptVersions(config.accountId, idAgent),\n enabled: !!config.token && !!config.accountId && !!idAgent,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\n// --- Tool Credentials (CRUD) ---\n\nexport function useToolCredentials(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"tool-credentials\", config.accountId],\n queryFn: () => client.listToolCredentials(config.accountId),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n\nexport function useCreateToolCredential(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (\n body: Pick<ToolCredential, \"id_tool\" | \"label\" | \"credentials_encrypted\"> &\n Partial<Pick<ToolCredential, \"expires_at\">>,\n ) => client.createToolCredential(config.accountId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tool-credentials\"] });\n },\n });\n}\n\nexport function useUpdateToolCredential(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n id,\n body,\n }: {\n id: number;\n body: Partial<\n Pick<ToolCredential, \"id_tool\" | \"label\" | \"credentials_encrypted\" | \"expires_at\" | \"status\">\n >;\n }) => client.updateToolCredential(config.accountId, id, body),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tool-credentials\"] });\n },\n });\n}\n\nexport function useDeleteToolCredential(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (id: number) => client.deleteToolCredential(config.accountId, id),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: [\"greatagents\", \"tool-credentials\"] });\n },\n });\n}\n\n// --- Contact Users (read-only) ---\n\nexport function useContactUsers(config: GagentsHookConfig) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"contact-users\", config.accountId],\n queryFn: () => client.listContactUsers(config.accountId),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { GagentsHookConfig } from \"./types\";\nimport { useGagentsClient } from \"./types\";\n\nexport function useGagentsContacts(config: GagentsHookConfig, params?: Record<string, string>) {\n const client = useGagentsClient(config);\n\n return useQuery({\n queryKey: [\"greatagents\", \"contacts\", config.accountId, params],\n queryFn: () => client.listGagentsContacts(config.accountId, params),\n enabled: !!config.token && !!config.accountId,\n select: (res) => ({ data: res.data || [], total: res.total || 0 }),\n });\n}\n"],"mappings":"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","names":["useQuery","useMutation","useQueryClient","useQuery","useQueryClient","useMutation","useQuery","useMutation","useQueryClient","useQuery","useQueryClient","useMutation","useQuery","useMutation","useQueryClient","useQuery","useQueryClient","useMutation","useQuery","useQuery","useQuery","useMutation","useQueryClient","useQuery","useQueryClient","useMutation","useQuery","useQuery"]}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@greatapps/greatagents-ui",
3
+ "version": "0.1.0",
4
+ "description": "Shared agents UI components for Great platform",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "src"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsup",
21
+ "dev": "tsup --watch"
22
+ },
23
+ "peerDependencies": {
24
+ "react": "^19",
25
+ "react-dom": "^19",
26
+ "@tanstack/react-query": "^5",
27
+ "@tanstack/react-table": "^8",
28
+ "lucide-react": "*",
29
+ "date-fns": "*",
30
+ "sonner": "*",
31
+ "@greatapps/greatauth-ui": "*"
32
+ },
33
+ "dependencies": {
34
+ "clsx": "^2",
35
+ "tailwind-merge": "^3"
36
+ },
37
+ "devDependencies": {
38
+ "@greatapps/greatauth-ui": "0.3.7",
39
+ "@tanstack/react-query": "latest",
40
+ "@tanstack/react-table": "latest",
41
+ "@types/react": "latest",
42
+ "@types/react-dom": "latest",
43
+ "react": "^19",
44
+ "react-dom": "^19",
45
+ "tsup": "latest",
46
+ "typescript": "^5"
47
+ }
48
+ }