@greatapps/greatagents-ui 0.3.23 → 0.3.25
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 +311 -283
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/agents/agent-edit-form.tsx +48 -23
- package/src/components/agents/agent-form-dialog.tsx +5 -3
- package/src/components/agents/agent-objectives-list.tsx +3 -3
- package/src/components/agents/agent-tools-list.tsx +17 -17
- package/src/components/agents/conversation-flow-editor.tsx +41 -42
- package/src/components/tools/tool-form-dialog.tsx +137 -135
package/dist/index.js
CHANGED
|
@@ -852,95 +852,97 @@ function AgentFormDialog({
|
|
|
852
852
|
toast2.error(isEditing ? "Erro ao atualizar agente" : "Erro ao criar agente");
|
|
853
853
|
}
|
|
854
854
|
}
|
|
855
|
-
return /* @__PURE__ */ jsx2(Sheet, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(SheetContent, { className: "sm:max-w-
|
|
855
|
+
return /* @__PURE__ */ jsx2(Sheet, { open, onOpenChange, children: /* @__PURE__ */ jsxs2(SheetContent, { className: "sm:max-w-md", children: [
|
|
856
856
|
/* @__PURE__ */ jsx2(SheetHeader, { children: /* @__PURE__ */ jsx2(SheetTitle, { children: isEditing ? "Editar Agente" : "Novo Agente" }) }),
|
|
857
|
-
/* @__PURE__ */ jsxs2("form", { onSubmit: handleSubmit, className: "
|
|
858
|
-
/* @__PURE__ */
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
value: form.photo || null,
|
|
862
|
-
onChange: (url) => updateField("photo", url),
|
|
863
|
-
onRemove: () => updateField("photo", ""),
|
|
864
|
-
entityType: "agents",
|
|
865
|
-
entityId: agent?.id,
|
|
866
|
-
idAccount: typeof idAccount === "string" ? Number(idAccount) : idAccount ?? Number(config.accountId) ?? 0,
|
|
867
|
-
name: form.title || null,
|
|
868
|
-
disabled: isPending
|
|
869
|
-
}
|
|
870
|
-
) }),
|
|
871
|
-
/* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
|
|
872
|
-
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-title", children: "Nome do Agente *" }),
|
|
873
|
-
/* @__PURE__ */ jsx2(
|
|
874
|
-
Input2,
|
|
875
|
-
{
|
|
876
|
-
id: "agent-title",
|
|
877
|
-
name: "title",
|
|
878
|
-
value: form.title,
|
|
879
|
-
onChange: (e) => {
|
|
880
|
-
setForm((prev) => ({
|
|
881
|
-
...prev,
|
|
882
|
-
title: e.target.value,
|
|
883
|
-
titleError: e.target.value.trim() ? false : prev.titleError
|
|
884
|
-
}));
|
|
885
|
-
},
|
|
886
|
-
placeholder: "Ex: Assistente de Agendamento",
|
|
887
|
-
required: true,
|
|
888
|
-
disabled: isPending
|
|
889
|
-
}
|
|
890
|
-
),
|
|
891
|
-
form.titleError && /* @__PURE__ */ jsx2("p", { className: "text-sm text-destructive", children: "Nome \xE9 obrigat\xF3rio" })
|
|
892
|
-
] }),
|
|
893
|
-
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3", children: [
|
|
894
|
-
/* @__PURE__ */ jsx2(
|
|
895
|
-
Switch,
|
|
857
|
+
/* @__PURE__ */ jsxs2("form", { onSubmit: handleSubmit, className: "flex flex-1 flex-col overflow-hidden", children: [
|
|
858
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex-1 overflow-y-auto px-4 space-y-4", children: [
|
|
859
|
+
/* @__PURE__ */ jsx2("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx2(
|
|
860
|
+
ImageCropUpload,
|
|
896
861
|
{
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
862
|
+
value: form.photo || null,
|
|
863
|
+
onChange: (url) => updateField("photo", url),
|
|
864
|
+
onRemove: () => updateField("photo", ""),
|
|
865
|
+
entityType: "agents",
|
|
866
|
+
entityId: agent?.id,
|
|
867
|
+
idAccount: typeof idAccount === "string" ? Number(idAccount) : idAccount ?? Number(config.accountId) ?? 0,
|
|
868
|
+
name: form.title || null,
|
|
900
869
|
disabled: isPending
|
|
901
870
|
}
|
|
902
|
-
),
|
|
903
|
-
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-active", className: "cursor-pointer", children: form.active ? "Ativo" : "Inativo" })
|
|
904
|
-
] }),
|
|
905
|
-
/* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
871
|
+
) }),
|
|
906
872
|
/* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
|
|
907
|
-
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-
|
|
873
|
+
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-title", children: "Nome do Agente *" }),
|
|
908
874
|
/* @__PURE__ */ jsx2(
|
|
909
875
|
Input2,
|
|
910
876
|
{
|
|
911
|
-
id: "agent-
|
|
912
|
-
name: "
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
877
|
+
id: "agent-title",
|
|
878
|
+
name: "title",
|
|
879
|
+
value: form.title,
|
|
880
|
+
onChange: (e) => {
|
|
881
|
+
setForm((prev) => ({
|
|
882
|
+
...prev,
|
|
883
|
+
title: e.target.value,
|
|
884
|
+
titleError: e.target.value.trim() ? false : prev.titleError
|
|
885
|
+
}));
|
|
886
|
+
},
|
|
887
|
+
placeholder: "Ex: Assistente de Agendamento",
|
|
888
|
+
required: true,
|
|
919
889
|
disabled: isPending
|
|
920
890
|
}
|
|
921
891
|
),
|
|
922
|
-
/* @__PURE__ */ jsx2("p", { className: "text-
|
|
892
|
+
form.titleError && /* @__PURE__ */ jsx2("p", { className: "text-sm text-destructive", children: "Nome \xE9 obrigat\xF3rio" })
|
|
923
893
|
] }),
|
|
924
|
-
/* @__PURE__ */ jsxs2("div", { className: "
|
|
925
|
-
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-waiting", children: "Tempo de Espera (s)" }),
|
|
894
|
+
/* @__PURE__ */ jsxs2("div", { className: "flex items-center gap-3", children: [
|
|
926
895
|
/* @__PURE__ */ jsx2(
|
|
927
|
-
|
|
896
|
+
Switch,
|
|
928
897
|
{
|
|
929
|
-
id: "agent-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
value: form.waitingTime,
|
|
933
|
-
onChange: (e) => updateField("waitingTime", e.target.value),
|
|
934
|
-
placeholder: "0",
|
|
935
|
-
min: "0",
|
|
936
|
-
step: "0.5",
|
|
898
|
+
id: "agent-active",
|
|
899
|
+
checked: form.active,
|
|
900
|
+
onCheckedChange: (checked) => updateField("active", checked),
|
|
937
901
|
disabled: isPending
|
|
938
902
|
}
|
|
939
903
|
),
|
|
940
|
-
/* @__PURE__ */ jsx2(
|
|
904
|
+
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-active", className: "cursor-pointer", children: form.active ? "Ativo" : "Inativo" })
|
|
905
|
+
] }),
|
|
906
|
+
/* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-2 gap-4", children: [
|
|
907
|
+
/* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
|
|
908
|
+
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-delay", children: "Delay de Digita\xE7\xE3o (s)" }),
|
|
909
|
+
/* @__PURE__ */ jsx2(
|
|
910
|
+
Input2,
|
|
911
|
+
{
|
|
912
|
+
id: "agent-delay",
|
|
913
|
+
name: "delay",
|
|
914
|
+
type: "number",
|
|
915
|
+
value: form.delayTyping,
|
|
916
|
+
onChange: (e) => updateField("delayTyping", e.target.value),
|
|
917
|
+
placeholder: "0",
|
|
918
|
+
min: "0",
|
|
919
|
+
step: "0.5",
|
|
920
|
+
disabled: isPending
|
|
921
|
+
}
|
|
922
|
+
),
|
|
923
|
+
/* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: "Tempo de simula\xE7\xE3o de digita\xE7\xE3o" })
|
|
924
|
+
] }),
|
|
925
|
+
/* @__PURE__ */ jsxs2("div", { className: "space-y-2", children: [
|
|
926
|
+
/* @__PURE__ */ jsx2(Label, { htmlFor: "agent-waiting", children: "Tempo de Espera (s)" }),
|
|
927
|
+
/* @__PURE__ */ jsx2(
|
|
928
|
+
Input2,
|
|
929
|
+
{
|
|
930
|
+
id: "agent-waiting",
|
|
931
|
+
name: "waiting",
|
|
932
|
+
type: "number",
|
|
933
|
+
value: form.waitingTime,
|
|
934
|
+
onChange: (e) => updateField("waitingTime", e.target.value),
|
|
935
|
+
placeholder: "0",
|
|
936
|
+
min: "0",
|
|
937
|
+
step: "0.5",
|
|
938
|
+
disabled: isPending
|
|
939
|
+
}
|
|
940
|
+
),
|
|
941
|
+
/* @__PURE__ */ jsx2("p", { className: "text-xs text-muted-foreground", children: "Espera por mensagens agrupadas" })
|
|
942
|
+
] })
|
|
941
943
|
] })
|
|
942
944
|
] }),
|
|
943
|
-
/* @__PURE__ */ jsxs2(SheetFooter, { children: [
|
|
945
|
+
/* @__PURE__ */ jsxs2(SheetFooter, { className: "flex-row justify-end border-t", children: [
|
|
944
946
|
/* @__PURE__ */ jsx2(
|
|
945
947
|
Button2,
|
|
946
948
|
{
|
|
@@ -976,7 +978,7 @@ import {
|
|
|
976
978
|
import { Loader2 as Loader22 } from "lucide-react";
|
|
977
979
|
import { toast as toast3 } from "sonner";
|
|
978
980
|
import { ImageCropUpload as ImageCropUpload2 } from "@greatapps/greatauth-ui";
|
|
979
|
-
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
981
|
+
import { Fragment as Fragment2, jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
980
982
|
function msToSeconds2(ms) {
|
|
981
983
|
if (ms == null || ms === 0) return "";
|
|
982
984
|
return String(Math.round(ms / 1e3));
|
|
@@ -1031,7 +1033,7 @@ function AgentEditForm({ config, agent, idAccount, open, onOpenChange }) {
|
|
|
1031
1033
|
toast3.error("Erro ao atualizar agente");
|
|
1032
1034
|
}
|
|
1033
1035
|
}
|
|
1034
|
-
const
|
|
1036
|
+
const formFields = /* @__PURE__ */ jsxs3(Fragment2, { children: [
|
|
1035
1037
|
/* @__PURE__ */ jsx3("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx3(
|
|
1036
1038
|
ImageCropUpload2,
|
|
1037
1039
|
{
|
|
@@ -1115,8 +1117,35 @@ function AgentEditForm({ config, agent, idAccount, open, onOpenChange }) {
|
|
|
1115
1117
|
),
|
|
1116
1118
|
/* @__PURE__ */ jsx3("p", { className: "text-xs text-muted-foreground", children: "Espera por mensagens agrupadas" })
|
|
1117
1119
|
] })
|
|
1118
|
-
] })
|
|
1119
|
-
|
|
1120
|
+
] })
|
|
1121
|
+
] });
|
|
1122
|
+
if (open !== void 0 && onOpenChange) {
|
|
1123
|
+
return /* @__PURE__ */ jsx3(Sheet2, { open, onOpenChange, children: /* @__PURE__ */ jsxs3(SheetContent2, { className: "sm:max-w-md", children: [
|
|
1124
|
+
/* @__PURE__ */ jsx3(SheetHeader2, { children: /* @__PURE__ */ jsx3(SheetTitle2, { children: "Editar Agente" }) }),
|
|
1125
|
+
/* @__PURE__ */ jsxs3("form", { onSubmit: handleSubmit, className: "flex flex-1 flex-col overflow-hidden", children: [
|
|
1126
|
+
/* @__PURE__ */ jsx3("div", { className: "flex-1 overflow-y-auto px-4 space-y-4", children: formFields }),
|
|
1127
|
+
/* @__PURE__ */ jsxs3(SheetFooter2, { className: "flex-row justify-end border-t", children: [
|
|
1128
|
+
/* @__PURE__ */ jsx3(
|
|
1129
|
+
Button3,
|
|
1130
|
+
{
|
|
1131
|
+
type: "button",
|
|
1132
|
+
variant: "outline",
|
|
1133
|
+
onClick: () => onOpenChange?.(false),
|
|
1134
|
+
disabled: updateAgent.isPending,
|
|
1135
|
+
children: "Cancelar"
|
|
1136
|
+
}
|
|
1137
|
+
),
|
|
1138
|
+
/* @__PURE__ */ jsxs3(Button3, { type: "submit", disabled: updateAgent.isPending, children: [
|
|
1139
|
+
updateAgent.isPending && /* @__PURE__ */ jsx3(Loader22, { "aria-hidden": "true", className: "mr-2 h-4 w-4 animate-spin" }),
|
|
1140
|
+
"Salvar"
|
|
1141
|
+
] })
|
|
1142
|
+
] })
|
|
1143
|
+
] })
|
|
1144
|
+
] }) });
|
|
1145
|
+
}
|
|
1146
|
+
return /* @__PURE__ */ jsx3("div", { className: "max-w-lg pt-4", children: /* @__PURE__ */ jsxs3("form", { onSubmit: handleSubmit, className: "space-y-4", children: [
|
|
1147
|
+
formFields,
|
|
1148
|
+
/* @__PURE__ */ jsxs3("div", { className: "flex justify-end gap-2 pt-4 border-t", children: [
|
|
1120
1149
|
/* @__PURE__ */ jsx3(
|
|
1121
1150
|
Button3,
|
|
1122
1151
|
{
|
|
@@ -1132,24 +1161,17 @@ function AgentEditForm({ config, agent, idAccount, open, onOpenChange }) {
|
|
|
1132
1161
|
"Salvar"
|
|
1133
1162
|
] })
|
|
1134
1163
|
] })
|
|
1135
|
-
] });
|
|
1136
|
-
if (open !== void 0 && onOpenChange) {
|
|
1137
|
-
return /* @__PURE__ */ jsx3(Sheet2, { open, onOpenChange, children: /* @__PURE__ */ jsxs3(SheetContent2, { className: "sm:max-w-md overflow-y-auto", children: [
|
|
1138
|
-
/* @__PURE__ */ jsx3(SheetHeader2, { children: /* @__PURE__ */ jsx3(SheetTitle2, { children: "Editar Agente" }) }),
|
|
1139
|
-
formContent
|
|
1140
|
-
] }) });
|
|
1141
|
-
}
|
|
1142
|
-
return /* @__PURE__ */ jsx3("div", { className: "max-w-lg pt-4", children: formContent });
|
|
1164
|
+
] }) });
|
|
1143
1165
|
}
|
|
1144
1166
|
|
|
1145
1167
|
// src/components/agents/agent-objectives-list.tsx
|
|
1146
1168
|
import { useState as useState6 } from "react";
|
|
1147
1169
|
import {
|
|
1148
|
-
Input as
|
|
1170
|
+
Input as Input4,
|
|
1149
1171
|
Button as Button5,
|
|
1150
1172
|
Switch as Switch3,
|
|
1151
1173
|
Skeleton,
|
|
1152
|
-
Textarea,
|
|
1174
|
+
Textarea as Textarea2,
|
|
1153
1175
|
Label as Label3,
|
|
1154
1176
|
Badge as Badge2,
|
|
1155
1177
|
Sheet as Sheet3,
|
|
@@ -1632,7 +1654,7 @@ function SortableOverlay(props) {
|
|
|
1632
1654
|
|
|
1633
1655
|
// src/components/agents/conversation-flow-editor.tsx
|
|
1634
1656
|
import { useCallback as useCallback3, useRef, useState as useState5 } from "react";
|
|
1635
|
-
import { Button as Button4,
|
|
1657
|
+
import { Button as Button4, Textarea } from "@greatapps/greatauth-ui/ui";
|
|
1636
1658
|
import { GripVertical, Plus, Trash2 as Trash22 } from "lucide-react";
|
|
1637
1659
|
import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
1638
1660
|
function renumber(steps) {
|
|
@@ -1698,46 +1720,50 @@ function ConversationFlowEditor({
|
|
|
1698
1720
|
SortableItem,
|
|
1699
1721
|
{
|
|
1700
1722
|
value: step._key,
|
|
1701
|
-
className: "flex
|
|
1723
|
+
className: "flex flex-col gap-2 rounded-lg border bg-card p-3",
|
|
1702
1724
|
children: [
|
|
1703
|
-
/* @__PURE__ */
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1725
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex items-center gap-2", children: [
|
|
1726
|
+
/* @__PURE__ */ jsx5(SortableItemHandle, { className: "shrink-0 cursor-grab text-muted-foreground hover:text-foreground", children: /* @__PURE__ */ jsx5(GripVertical, { "aria-hidden": "true", className: "h-4 w-4" }) }),
|
|
1727
|
+
/* @__PURE__ */ jsxs4("span", { className: "shrink-0 text-xs font-medium text-muted-foreground tabular-nums", children: [
|
|
1728
|
+
step.order,
|
|
1729
|
+
"."
|
|
1730
|
+
] }),
|
|
1731
|
+
/* @__PURE__ */ jsx5("span", { className: "flex-1 text-sm font-medium truncate", children: step.instruction || "Nova etapa" }),
|
|
1732
|
+
/* @__PURE__ */ jsx5(
|
|
1733
|
+
Button4,
|
|
1734
|
+
{
|
|
1735
|
+
type: "button",
|
|
1736
|
+
variant: "ghost",
|
|
1737
|
+
size: "icon",
|
|
1738
|
+
"aria-label": "Remover etapa",
|
|
1739
|
+
className: "shrink-0 text-muted-foreground hover:text-destructive",
|
|
1740
|
+
onClick: () => handleRemove(step._key),
|
|
1741
|
+
children: /* @__PURE__ */ jsx5(Trash22, { className: "h-4 w-4" })
|
|
1742
|
+
}
|
|
1743
|
+
)
|
|
1707
1744
|
] }),
|
|
1708
|
-
/* @__PURE__ */
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
type: "button",
|
|
1731
|
-
variant: "ghost",
|
|
1732
|
-
size: "icon",
|
|
1733
|
-
"aria-label": "Remover etapa",
|
|
1734
|
-
className: cn(
|
|
1735
|
-
"shrink-0 text-muted-foreground hover:text-destructive"
|
|
1736
|
-
),
|
|
1737
|
-
onClick: () => handleRemove(step._key),
|
|
1738
|
-
children: /* @__PURE__ */ jsx5(Trash22, { className: "h-4 w-4" })
|
|
1739
|
-
}
|
|
1740
|
-
)
|
|
1745
|
+
/* @__PURE__ */ jsxs4("div", { className: "space-y-2 pl-8", children: [
|
|
1746
|
+
/* @__PURE__ */ jsx5(
|
|
1747
|
+
Textarea,
|
|
1748
|
+
{
|
|
1749
|
+
value: step.instruction,
|
|
1750
|
+
onChange: (e) => handleFieldChange(step._key, "instruction", e.target.value),
|
|
1751
|
+
placeholder: "Descreva o que o agente deve fazer nesta etapa...",
|
|
1752
|
+
className: "min-h-[2.5rem] resize-none",
|
|
1753
|
+
rows: 2
|
|
1754
|
+
}
|
|
1755
|
+
),
|
|
1756
|
+
/* @__PURE__ */ jsx5(
|
|
1757
|
+
Textarea,
|
|
1758
|
+
{
|
|
1759
|
+
value: step.example ?? "",
|
|
1760
|
+
onChange: (e) => handleFieldChange(step._key, "example", e.target.value),
|
|
1761
|
+
placeholder: "Exemplo de resposta do agente (opcional)",
|
|
1762
|
+
className: "min-h-[2.5rem] resize-none text-muted-foreground",
|
|
1763
|
+
rows: 1
|
|
1764
|
+
}
|
|
1765
|
+
)
|
|
1766
|
+
] })
|
|
1741
1767
|
]
|
|
1742
1768
|
},
|
|
1743
1769
|
step._key
|
|
@@ -1989,13 +2015,13 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
1989
2015
|
]
|
|
1990
2016
|
}
|
|
1991
2017
|
),
|
|
1992
|
-
/* @__PURE__ */ jsx6(Sheet3, { open: formOpen, onOpenChange: setFormOpen, children: /* @__PURE__ */ jsxs5(SheetContent3, { className: "sm:max-w-lg
|
|
2018
|
+
/* @__PURE__ */ jsx6(Sheet3, { open: formOpen, onOpenChange: setFormOpen, children: /* @__PURE__ */ jsxs5(SheetContent3, { className: "sm:max-w-lg", children: [
|
|
1993
2019
|
/* @__PURE__ */ jsx6(SheetHeader3, { children: /* @__PURE__ */ jsx6(SheetTitle3, { children: editTarget ? "Editar Objetivo" : "Novo Objetivo" }) }),
|
|
1994
|
-
/* @__PURE__ */ jsxs5("div", { className: "space-y-4", children: [
|
|
2020
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex-1 overflow-y-auto px-4 space-y-4", children: [
|
|
1995
2021
|
/* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
|
|
1996
2022
|
/* @__PURE__ */ jsx6(Label3, { htmlFor: "objective-title", children: "T\xEDtulo *" }),
|
|
1997
2023
|
/* @__PURE__ */ jsx6(
|
|
1998
|
-
|
|
2024
|
+
Input4,
|
|
1999
2025
|
{
|
|
2000
2026
|
id: "objective-title",
|
|
2001
2027
|
name: "title",
|
|
@@ -2015,7 +2041,7 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
2015
2041
|
/* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
|
|
2016
2042
|
/* @__PURE__ */ jsx6(Label3, { htmlFor: "objective-slug", children: "Slug (identificador) *" }),
|
|
2017
2043
|
/* @__PURE__ */ jsx6(
|
|
2018
|
-
|
|
2044
|
+
Input4,
|
|
2019
2045
|
{
|
|
2020
2046
|
id: "objective-slug",
|
|
2021
2047
|
name: "slug",
|
|
@@ -2033,7 +2059,7 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
2033
2059
|
/* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
|
|
2034
2060
|
/* @__PURE__ */ jsx6(Label3, { htmlFor: "objective-instruction", children: "Quando ativar (instru\xE7\xE3o curta) *" }),
|
|
2035
2061
|
/* @__PURE__ */ jsx6(
|
|
2036
|
-
|
|
2062
|
+
Input4,
|
|
2037
2063
|
{
|
|
2038
2064
|
id: "objective-instruction",
|
|
2039
2065
|
name: "instruction",
|
|
@@ -2047,7 +2073,7 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
2047
2073
|
/* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
|
|
2048
2074
|
/* @__PURE__ */ jsx6(Label3, { htmlFor: "objective-description", children: "Descri\xE7\xE3o" }),
|
|
2049
2075
|
/* @__PURE__ */ jsx6(
|
|
2050
|
-
|
|
2076
|
+
Textarea2,
|
|
2051
2077
|
{
|
|
2052
2078
|
id: "objective-description",
|
|
2053
2079
|
name: "description",
|
|
@@ -2073,7 +2099,7 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
2073
2099
|
/* @__PURE__ */ jsxs5("div", { className: "space-y-2", children: [
|
|
2074
2100
|
/* @__PURE__ */ jsx6(Label3, { htmlFor: "objective-rules", children: "Regras" }),
|
|
2075
2101
|
/* @__PURE__ */ jsx6(
|
|
2076
|
-
|
|
2102
|
+
Textarea2,
|
|
2077
2103
|
{
|
|
2078
2104
|
id: "objective-rules",
|
|
2079
2105
|
name: "rules",
|
|
@@ -2086,7 +2112,7 @@ function AgentObjectivesList({ agent, config }) {
|
|
|
2086
2112
|
/* @__PURE__ */ jsx6("p", { className: "text-xs text-muted-foreground", children: "Restri\xE7\xF5es e limites espec\xEDficos quando este objectivo est\xE1 activo." })
|
|
2087
2113
|
] })
|
|
2088
2114
|
] }),
|
|
2089
|
-
/* @__PURE__ */ jsxs5(SheetFooter3, { children: [
|
|
2115
|
+
/* @__PURE__ */ jsxs5(SheetFooter3, { className: "flex-row justify-end border-t", children: [
|
|
2090
2116
|
/* @__PURE__ */ jsx6(
|
|
2091
2117
|
Button5,
|
|
2092
2118
|
{
|
|
@@ -2386,7 +2412,7 @@ import {
|
|
|
2386
2412
|
} from "@greatapps/greatauth-ui/ui";
|
|
2387
2413
|
import { FileText, RotateCcw, X, AlertTriangle } from "lucide-react";
|
|
2388
2414
|
import { toast as toast6 } from "sonner";
|
|
2389
|
-
import { Fragment as
|
|
2415
|
+
import { Fragment as Fragment3, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
2390
2416
|
var STRUCTURED_MARKERS = ["[IDENTIDADE]", "[MISS\xC3O]", "[TOM, ESTILO & FORMATO]"];
|
|
2391
2417
|
function formatDate(dateStr) {
|
|
2392
2418
|
const date = new Date(dateStr);
|
|
@@ -2648,7 +2674,7 @@ function AgentRevisionTab({ agent, config }) {
|
|
|
2648
2674
|
(legacyModalVersion?.prompt_content ?? "").length.toLocaleString("pt-BR"),
|
|
2649
2675
|
" caracteres"
|
|
2650
2676
|
] }),
|
|
2651
|
-
legacyModalVersion?.change_notes && /* @__PURE__ */ jsxs7(
|
|
2677
|
+
legacyModalVersion?.change_notes && /* @__PURE__ */ jsxs7(Fragment3, { children: [
|
|
2652
2678
|
/* @__PURE__ */ jsx8("span", { children: "\xB7" }),
|
|
2653
2679
|
/* @__PURE__ */ jsx8("span", { className: "italic", children: legacyModalVersion.change_notes })
|
|
2654
2680
|
] })
|
|
@@ -3767,13 +3793,13 @@ import {
|
|
|
3767
3793
|
Popover,
|
|
3768
3794
|
PopoverContent,
|
|
3769
3795
|
PopoverTrigger,
|
|
3770
|
-
Input as
|
|
3771
|
-
Textarea as
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3796
|
+
Input as Input5,
|
|
3797
|
+
Textarea as Textarea3,
|
|
3798
|
+
Sheet as Sheet4,
|
|
3799
|
+
SheetContent as SheetContent4,
|
|
3800
|
+
SheetHeader as SheetHeader4,
|
|
3801
|
+
SheetTitle as SheetTitle4,
|
|
3802
|
+
SheetFooter as SheetFooter4,
|
|
3777
3803
|
Label as Label5,
|
|
3778
3804
|
Select,
|
|
3779
3805
|
SelectContent,
|
|
@@ -3906,7 +3932,7 @@ function AgentToolsList({ agent, config }) {
|
|
|
3906
3932
|
] }) }),
|
|
3907
3933
|
/* @__PURE__ */ jsxs13(PopoverContent, { className: "w-72 p-0", align: "end", children: [
|
|
3908
3934
|
/* @__PURE__ */ jsx15("div", { className: "p-2", children: /* @__PURE__ */ jsx15(
|
|
3909
|
-
|
|
3935
|
+
Input5,
|
|
3910
3936
|
{
|
|
3911
3937
|
placeholder: "Buscar ferramenta\\u2026",
|
|
3912
3938
|
"aria-label": "Buscar ferramenta",
|
|
@@ -3989,13 +4015,13 @@ function AgentToolsList({ agent, config }) {
|
|
|
3989
4015
|
);
|
|
3990
4016
|
}) }),
|
|
3991
4017
|
/* @__PURE__ */ jsx15(
|
|
3992
|
-
|
|
4018
|
+
Sheet4,
|
|
3993
4019
|
{
|
|
3994
4020
|
open: !!configTarget,
|
|
3995
4021
|
onOpenChange: (open) => !open && setConfigTarget(null),
|
|
3996
|
-
children: /* @__PURE__ */ jsxs13(
|
|
3997
|
-
/* @__PURE__ */ jsx15(
|
|
3998
|
-
/* @__PURE__ */ jsxs13("div", { className: "space-y-4", children: [
|
|
4022
|
+
children: /* @__PURE__ */ jsxs13(SheetContent4, { className: "sm:max-w-lg", children: [
|
|
4023
|
+
/* @__PURE__ */ jsx15(SheetHeader4, { children: /* @__PURE__ */ jsx15(SheetTitle4, { children: "Instru\xE7\xF5es da Ferramenta" }) }),
|
|
4024
|
+
/* @__PURE__ */ jsxs13("div", { className: "flex-1 overflow-y-auto px-4 space-y-4", children: [
|
|
3999
4025
|
configTarget && getToolInfo(configTarget.id_tool)?.type !== "none" && /* @__PURE__ */ jsxs13("div", { className: "space-y-2", children: [
|
|
4000
4026
|
/* @__PURE__ */ jsx15(Label5, { htmlFor: "tool-credential", children: "Credencial" }),
|
|
4001
4027
|
/* @__PURE__ */ jsxs13(
|
|
@@ -4017,7 +4043,7 @@ function AgentToolsList({ agent, config }) {
|
|
|
4017
4043
|
/* @__PURE__ */ jsxs13("div", { className: "space-y-2", children: [
|
|
4018
4044
|
/* @__PURE__ */ jsx15(Label5, { htmlFor: "tool-instructions", children: "Instru\xE7\xF5es Personalizadas" }),
|
|
4019
4045
|
/* @__PURE__ */ jsx15(
|
|
4020
|
-
|
|
4046
|
+
Textarea3,
|
|
4021
4047
|
{
|
|
4022
4048
|
id: "tool-instructions",
|
|
4023
4049
|
name: "instructions",
|
|
@@ -4030,7 +4056,7 @@ function AgentToolsList({ agent, config }) {
|
|
|
4030
4056
|
/* @__PURE__ */ jsx15("p", { className: "text-xs text-muted-foreground", children: "Este texto \xE9 adicionado ao prompt do agente para orientar o uso da ferramenta." })
|
|
4031
4057
|
] })
|
|
4032
4058
|
] }),
|
|
4033
|
-
/* @__PURE__ */ jsxs13(
|
|
4059
|
+
/* @__PURE__ */ jsxs13(SheetFooter4, { className: "flex-row justify-end border-t", children: [
|
|
4034
4060
|
/* @__PURE__ */ jsx15(
|
|
4035
4061
|
Button11,
|
|
4036
4062
|
{
|
|
@@ -4082,7 +4108,7 @@ function AgentToolsList({ agent, config }) {
|
|
|
4082
4108
|
import { useMemo as useMemo9, useState as useState13 } from "react";
|
|
4083
4109
|
import { DataTable as DataTable2 } from "@greatapps/greatauth-ui";
|
|
4084
4110
|
import {
|
|
4085
|
-
Input as
|
|
4111
|
+
Input as Input6,
|
|
4086
4112
|
Badge as Badge7,
|
|
4087
4113
|
Tooltip as Tooltip3,
|
|
4088
4114
|
TooltipTrigger as TooltipTrigger3,
|
|
@@ -4101,7 +4127,7 @@ import { Pencil as Pencil5, Trash2 as Trash25, Search as Search2 } from "lucide-
|
|
|
4101
4127
|
import { format as format2 } from "date-fns";
|
|
4102
4128
|
import { ptBR as ptBR2 } from "date-fns/locale";
|
|
4103
4129
|
import { toast as toast10 } from "sonner";
|
|
4104
|
-
import { Fragment as
|
|
4130
|
+
import { Fragment as Fragment4, jsx as jsx16, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
4105
4131
|
function useColumns2(onEdit, onDelete) {
|
|
4106
4132
|
return [
|
|
4107
4133
|
{
|
|
@@ -4210,11 +4236,11 @@ function ToolsTable({ onEdit, config }) {
|
|
|
4210
4236
|
setSearch(value);
|
|
4211
4237
|
setPage(1);
|
|
4212
4238
|
}
|
|
4213
|
-
return /* @__PURE__ */ jsxs14(
|
|
4239
|
+
return /* @__PURE__ */ jsxs14(Fragment4, { children: [
|
|
4214
4240
|
/* @__PURE__ */ jsx16("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ jsxs14("div", { className: "relative flex-1 max-w-md", children: [
|
|
4215
4241
|
/* @__PURE__ */ jsx16(Search2, { "aria-hidden": "true", className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
4216
4242
|
/* @__PURE__ */ jsx16(
|
|
4217
|
-
|
|
4243
|
+
Input6,
|
|
4218
4244
|
{
|
|
4219
4245
|
placeholder: "Buscar ferramentas\\u2026",
|
|
4220
4246
|
"aria-label": "Buscar ferramentas",
|
|
@@ -4271,14 +4297,14 @@ function ToolsTable({ onEdit, config }) {
|
|
|
4271
4297
|
// src/components/tools/tool-form-dialog.tsx
|
|
4272
4298
|
import { useState as useState14 } from "react";
|
|
4273
4299
|
import {
|
|
4274
|
-
|
|
4275
|
-
|
|
4276
|
-
|
|
4277
|
-
|
|
4278
|
-
|
|
4300
|
+
Sheet as Sheet5,
|
|
4301
|
+
SheetContent as SheetContent5,
|
|
4302
|
+
SheetHeader as SheetHeader5,
|
|
4303
|
+
SheetTitle as SheetTitle5,
|
|
4304
|
+
SheetFooter as SheetFooter5,
|
|
4279
4305
|
Button as Button13,
|
|
4280
|
-
Input as
|
|
4281
|
-
Textarea as
|
|
4306
|
+
Input as Input7,
|
|
4307
|
+
Textarea as Textarea4,
|
|
4282
4308
|
Label as Label6,
|
|
4283
4309
|
Select as Select2,
|
|
4284
4310
|
SelectContent as SelectContent2,
|
|
@@ -4398,109 +4424,110 @@ function ToolFormDialog({
|
|
|
4398
4424
|
);
|
|
4399
4425
|
}
|
|
4400
4426
|
}
|
|
4401
|
-
return /* @__PURE__ */ jsx17(
|
|
4402
|
-
/* @__PURE__ */ jsx17(
|
|
4403
|
-
/* @__PURE__ */ jsxs15("form", { onSubmit: handleSubmit, className: "
|
|
4404
|
-
/* @__PURE__ */ jsxs15("div", { className: "space-y-
|
|
4405
|
-
/* @__PURE__ */
|
|
4406
|
-
|
|
4407
|
-
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
|
|
4418
|
-
|
|
4419
|
-
|
|
4420
|
-
|
|
4421
|
-
|
|
4422
|
-
|
|
4423
|
-
|
|
4424
|
-
|
|
4425
|
-
|
|
4426
|
-
|
|
4427
|
-
|
|
4428
|
-
/* @__PURE__ */
|
|
4429
|
-
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4445
|
-
|
|
4446
|
-
|
|
4447
|
-
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
|
|
4451
|
-
/* @__PURE__ */
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
|
|
4455
|
-
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4461
|
-
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
|
|
4465
|
-
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
|
|
4469
|
-
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
|
|
4473
|
-
|
|
4474
|
-
/* @__PURE__ */
|
|
4475
|
-
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
/* @__PURE__ */
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4427
|
+
return /* @__PURE__ */ jsx17(Sheet5, { open, onOpenChange, children: /* @__PURE__ */ jsxs15(SheetContent5, { className: "sm:max-w-lg", children: [
|
|
4428
|
+
/* @__PURE__ */ jsx17(SheetHeader5, { children: /* @__PURE__ */ jsx17(SheetTitle5, { children: isEditing ? "Editar Ferramenta" : "Nova Ferramenta" }) }),
|
|
4429
|
+
/* @__PURE__ */ jsxs15("form", { onSubmit: handleSubmit, className: "flex flex-1 flex-col overflow-hidden", children: [
|
|
4430
|
+
/* @__PURE__ */ jsxs15("div", { className: "flex-1 overflow-y-auto px-4 space-y-4", children: [
|
|
4431
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-2", children: [
|
|
4432
|
+
/* @__PURE__ */ jsx17(Label6, { htmlFor: "tool-name", children: "Nome *" }),
|
|
4433
|
+
/* @__PURE__ */ jsx17(
|
|
4434
|
+
Input7,
|
|
4435
|
+
{
|
|
4436
|
+
id: "tool-name",
|
|
4437
|
+
name: "name",
|
|
4438
|
+
value: form.name,
|
|
4439
|
+
onChange: (e) => {
|
|
4440
|
+
const name = e.target.value;
|
|
4441
|
+
setForm((prev) => ({
|
|
4442
|
+
...prev,
|
|
4443
|
+
name,
|
|
4444
|
+
nameError: name.trim() ? false : prev.nameError,
|
|
4445
|
+
...!slugManuallyEdited && !isEditing ? { slug: slugify2(name), slugError: false } : {}
|
|
4446
|
+
}));
|
|
4447
|
+
},
|
|
4448
|
+
placeholder: "Ex: Google Calendar",
|
|
4449
|
+
disabled: isPending
|
|
4450
|
+
}
|
|
4451
|
+
),
|
|
4452
|
+
form.nameError && /* @__PURE__ */ jsx17("p", { className: "text-sm text-destructive", children: "Nome \xE9 obrigat\xF3rio" })
|
|
4453
|
+
] }),
|
|
4454
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-2", children: [
|
|
4455
|
+
/* @__PURE__ */ jsx17(Label6, { htmlFor: "tool-slug", children: "Slug (identificador \xFAnico) *" }),
|
|
4456
|
+
/* @__PURE__ */ jsx17(
|
|
4457
|
+
Input7,
|
|
4458
|
+
{
|
|
4459
|
+
id: "tool-slug",
|
|
4460
|
+
name: "slug",
|
|
4461
|
+
value: form.slug,
|
|
4462
|
+
onChange: (e) => {
|
|
4463
|
+
setSlugManuallyEdited(true);
|
|
4464
|
+
setForm((prev) => ({
|
|
4465
|
+
...prev,
|
|
4466
|
+
slug: e.target.value,
|
|
4467
|
+
slugError: e.target.value.trim() ? false : prev.slugError
|
|
4468
|
+
}));
|
|
4469
|
+
},
|
|
4470
|
+
placeholder: "Ex: google-calendar",
|
|
4471
|
+
disabled: isPending
|
|
4472
|
+
}
|
|
4473
|
+
),
|
|
4474
|
+
/* @__PURE__ */ jsx17("p", { className: "text-xs text-muted-foreground", children: "Gerado automaticamente a partir do nome. Usado internamente para identificar a ferramenta." }),
|
|
4475
|
+
form.slugError && /* @__PURE__ */ jsx17("p", { className: "text-sm text-destructive", children: "Slug \xE9 obrigat\xF3rio" })
|
|
4476
|
+
] }),
|
|
4477
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-2", children: [
|
|
4478
|
+
/* @__PURE__ */ jsx17(Label6, { htmlFor: "tool-type", children: "Tipo de Autentica\xE7\xE3o *" }),
|
|
4479
|
+
/* @__PURE__ */ jsxs15(
|
|
4480
|
+
Select2,
|
|
4481
|
+
{
|
|
4482
|
+
value: form.type,
|
|
4483
|
+
onValueChange: (value) => {
|
|
4484
|
+
setForm((prev) => ({
|
|
4485
|
+
...prev,
|
|
4486
|
+
type: value,
|
|
4487
|
+
typeError: false
|
|
4488
|
+
}));
|
|
4489
|
+
},
|
|
4490
|
+
disabled: isPending,
|
|
4491
|
+
children: [
|
|
4492
|
+
/* @__PURE__ */ jsx17(SelectTrigger2, { id: "tool-type", children: /* @__PURE__ */ jsx17(SelectValue2, { placeholder: "Selecione o tipo" }) }),
|
|
4493
|
+
/* @__PURE__ */ jsx17(SelectContent2, { children: TOOL_AUTH_TYPES.map((t) => /* @__PURE__ */ jsx17(SelectItem2, { value: t.value, children: t.label }, t.value)) })
|
|
4494
|
+
]
|
|
4495
|
+
}
|
|
4496
|
+
),
|
|
4497
|
+
/* @__PURE__ */ jsx17("p", { className: "text-xs text-muted-foreground", children: "Define se a ferramenta requer credenciais para funcionar." }),
|
|
4498
|
+
form.typeError && /* @__PURE__ */ jsx17("p", { className: "text-sm text-destructive", children: "Tipo \xE9 obrigat\xF3rio" })
|
|
4499
|
+
] }),
|
|
4500
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-2", children: [
|
|
4501
|
+
/* @__PURE__ */ jsx17(Label6, { htmlFor: "tool-description", children: "Descri\xE7\xE3o" }),
|
|
4502
|
+
/* @__PURE__ */ jsx17(
|
|
4503
|
+
Textarea4,
|
|
4504
|
+
{
|
|
4505
|
+
id: "tool-description",
|
|
4506
|
+
name: "description",
|
|
4507
|
+
value: form.description,
|
|
4508
|
+
onChange: (e) => setForm((prev) => ({ ...prev, description: e.target.value })),
|
|
4509
|
+
placeholder: "Descri\\u00e7\\u00e3o da ferramenta\\u2026",
|
|
4510
|
+
rows: 3,
|
|
4511
|
+
disabled: isPending
|
|
4512
|
+
}
|
|
4513
|
+
)
|
|
4514
|
+
] }),
|
|
4515
|
+
/* @__PURE__ */ jsxs15("div", { className: "space-y-2", children: [
|
|
4516
|
+
/* @__PURE__ */ jsx17(Label6, { htmlFor: "tool-function-defs", children: "Defini\xE7\xF5es de Fun\xE7\xE3o (JSON)" }),
|
|
4517
|
+
/* @__PURE__ */ jsx17(
|
|
4518
|
+
Textarea4,
|
|
4519
|
+
{
|
|
4520
|
+
id: "tool-function-defs",
|
|
4521
|
+
name: "functionDefs",
|
|
4522
|
+
value: form.functionDefinitions,
|
|
4523
|
+
onChange: (e) => {
|
|
4524
|
+
setForm((prev) => ({
|
|
4525
|
+
...prev,
|
|
4526
|
+
functionDefinitions: e.target.value,
|
|
4527
|
+
jsonError: false
|
|
4528
|
+
}));
|
|
4529
|
+
},
|
|
4530
|
+
placeholder: `[
|
|
4504
4531
|
{
|
|
4505
4532
|
"type": "function",
|
|
4506
4533
|
"function": {
|
|
@@ -4514,15 +4541,16 @@ function ToolFormDialog({
|
|
|
4514
4541
|
}
|
|
4515
4542
|
}
|
|
4516
4543
|
]`,
|
|
4517
|
-
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
|
|
4521
|
-
|
|
4522
|
-
|
|
4523
|
-
|
|
4544
|
+
rows: 10,
|
|
4545
|
+
className: "font-mono text-sm",
|
|
4546
|
+
disabled: isPending
|
|
4547
|
+
}
|
|
4548
|
+
),
|
|
4549
|
+
/* @__PURE__ */ jsx17("p", { className: "text-xs text-muted-foreground", children: "Array de defini\xE7\xF5es no formato OpenAI Function Calling." }),
|
|
4550
|
+
form.jsonError && /* @__PURE__ */ jsx17("p", { className: "text-sm text-destructive", children: "JSON inv\xE1lido" })
|
|
4551
|
+
] })
|
|
4524
4552
|
] }),
|
|
4525
|
-
/* @__PURE__ */ jsxs15(
|
|
4553
|
+
/* @__PURE__ */ jsxs15(SheetFooter5, { className: "flex-row justify-end border-t", children: [
|
|
4526
4554
|
/* @__PURE__ */ jsx17(
|
|
4527
4555
|
Button13,
|
|
4528
4556
|
{
|
|
@@ -4546,7 +4574,7 @@ function ToolFormDialog({
|
|
|
4546
4574
|
import { useMemo as useMemo10, useState as useState15 } from "react";
|
|
4547
4575
|
import { DataTable as DataTable3 } from "@greatapps/greatauth-ui";
|
|
4548
4576
|
import {
|
|
4549
|
-
Input as
|
|
4577
|
+
Input as Input8,
|
|
4550
4578
|
Button as Button14,
|
|
4551
4579
|
Badge as Badge8,
|
|
4552
4580
|
Tooltip as Tooltip4,
|
|
@@ -4681,7 +4709,7 @@ function ToolCredentialsForm({
|
|
|
4681
4709
|
/* @__PURE__ */ jsx18("div", { className: "flex items-center gap-3", children: /* @__PURE__ */ jsxs16("div", { className: "relative flex-1 max-w-md", children: [
|
|
4682
4710
|
/* @__PURE__ */ jsx18(Search3, { "aria-hidden": "true", className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground" }),
|
|
4683
4711
|
/* @__PURE__ */ jsx18(
|
|
4684
|
-
|
|
4712
|
+
Input8,
|
|
4685
4713
|
{
|
|
4686
4714
|
placeholder: "Buscar credenciais\\u2026",
|
|
4687
4715
|
"aria-label": "Buscar credenciais",
|
|
@@ -4757,7 +4785,7 @@ import {
|
|
|
4757
4785
|
Unplug,
|
|
4758
4786
|
Trash2 as Trash27
|
|
4759
4787
|
} from "lucide-react";
|
|
4760
|
-
import { Fragment as
|
|
4788
|
+
import { Fragment as Fragment5, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4761
4789
|
var ICON_MAP2 = {
|
|
4762
4790
|
CalendarSync: CalendarSync2,
|
|
4763
4791
|
Plug: Plug3,
|
|
@@ -4863,7 +4891,7 @@ function IntegrationCard({
|
|
|
4863
4891
|
);
|
|
4864
4892
|
}
|
|
4865
4893
|
const badge = STATE_BADGES[state];
|
|
4866
|
-
return /* @__PURE__ */ jsxs17(
|
|
4894
|
+
return /* @__PURE__ */ jsxs17(Fragment5, { children: [
|
|
4867
4895
|
/* @__PURE__ */ jsxs17(
|
|
4868
4896
|
"div",
|
|
4869
4897
|
{
|
|
@@ -5005,11 +5033,11 @@ function AdvancedTab({ config, agentId, gagentsApiUrl }) {
|
|
|
5005
5033
|
// src/components/capabilities/integration-wizard.tsx
|
|
5006
5034
|
import { useCallback as useCallback7, useEffect as useEffect6, useRef as useRef3, useState as useState18 } from "react";
|
|
5007
5035
|
import {
|
|
5008
|
-
Dialog as
|
|
5009
|
-
DialogContent as
|
|
5010
|
-
DialogFooter
|
|
5011
|
-
DialogHeader as
|
|
5012
|
-
DialogTitle as
|
|
5036
|
+
Dialog as Dialog2,
|
|
5037
|
+
DialogContent as DialogContent2,
|
|
5038
|
+
DialogFooter,
|
|
5039
|
+
DialogHeader as DialogHeader2,
|
|
5040
|
+
DialogTitle as DialogTitle2,
|
|
5013
5041
|
Button as Button17
|
|
5014
5042
|
} from "@greatapps/greatauth-ui/ui";
|
|
5015
5043
|
import { Loader2 as Loader29, ChevronLeft, ChevronRight, Check as Check2 } from "lucide-react";
|
|
@@ -5072,7 +5100,7 @@ function InfoStep({ integration, meta }) {
|
|
|
5072
5100
|
|
|
5073
5101
|
// src/components/capabilities/wizard-steps/credentials-step.tsx
|
|
5074
5102
|
import { CheckCircle2, Loader2 as Loader27, AlertCircle, Shield } from "lucide-react";
|
|
5075
|
-
import { Button as Button16, Input as
|
|
5103
|
+
import { Button as Button16, Input as Input9, Label as Label7 } from "@greatapps/greatauth-ui/ui";
|
|
5076
5104
|
import { jsx as jsx22, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
5077
5105
|
function CredentialsStep({
|
|
5078
5106
|
integration,
|
|
@@ -5195,7 +5223,7 @@ function ApiKeyCredentials({
|
|
|
5195
5223
|
/* @__PURE__ */ jsxs20("div", { className: "space-y-2", children: [
|
|
5196
5224
|
/* @__PURE__ */ jsx22(Label7, { htmlFor: "integration-api-key", children: "Chave de API" }),
|
|
5197
5225
|
/* @__PURE__ */ jsx22(
|
|
5198
|
-
|
|
5226
|
+
Input9,
|
|
5199
5227
|
{
|
|
5200
5228
|
id: "integration-api-key",
|
|
5201
5229
|
type: "password",
|
|
@@ -5597,8 +5625,8 @@ function IntegrationWizard({
|
|
|
5597
5625
|
const selectedConfigOption = configOptions.find((o) => o.id === selectedConfigValue) || null;
|
|
5598
5626
|
const isLastStep = currentStep === "confirm";
|
|
5599
5627
|
const effectiveSteps = meta.hasConfigStep ? STEPS : STEPS.filter((s) => s !== "config");
|
|
5600
|
-
return /* @__PURE__ */ jsx25(
|
|
5601
|
-
/* @__PURE__ */ jsx25(
|
|
5628
|
+
return /* @__PURE__ */ jsx25(Dialog2, { open, onOpenChange, children: /* @__PURE__ */ jsxs23(DialogContent2, { className: "sm:max-w-lg", children: [
|
|
5629
|
+
/* @__PURE__ */ jsx25(DialogHeader2, { children: /* @__PURE__ */ jsx25(DialogTitle2, { children: integration.name }) }),
|
|
5602
5630
|
/* @__PURE__ */ jsx25(StepIndicator, { steps: effectiveSteps, currentStep }),
|
|
5603
5631
|
/* @__PURE__ */ jsxs23("div", { className: "min-h-[280px] py-2", children: [
|
|
5604
5632
|
currentStep === "info" && /* @__PURE__ */ jsx25(
|
|
@@ -5642,7 +5670,7 @@ function IntegrationWizard({
|
|
|
5642
5670
|
}
|
|
5643
5671
|
)
|
|
5644
5672
|
] }),
|
|
5645
|
-
/* @__PURE__ */ jsxs23(
|
|
5673
|
+
/* @__PURE__ */ jsxs23(DialogFooter, { className: "flex-row justify-between sm:justify-between", children: [
|
|
5646
5674
|
/* @__PURE__ */ jsx25("div", { children: currentStep === "info" ? /* @__PURE__ */ jsx25(
|
|
5647
5675
|
Button17,
|
|
5648
5676
|
{
|