@orbe-agro/client-core 5.6.239 → 5.6.241

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 (93) hide show
  1. package/dist/@ecme/assets/styles/app.css +116 -3
  2. package/dist/@ecme/assets/styles/tailwind/index.css +119 -3
  3. package/dist/@ecme/components/template/Footer.js +1 -1
  4. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js +0 -2
  5. package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js.map +1 -1
  6. package/dist/@ecme/components/view/ChatBox/ChatBox.js +2 -0
  7. package/dist/@ecme/components/view/ChatBox/ChatBox.js.map +1 -1
  8. package/dist/@ecme/components/view/ChatBox/components/MessageList.js +2 -1
  9. package/dist/@ecme/components/view/ChatBox/components/MessageList.js.map +1 -1
  10. package/dist/@ecme/index.js +3 -4
  11. package/dist/@ecme/services/AiService.js +53 -24
  12. package/dist/@ecme/services/AiService.js.map +1 -1
  13. package/dist/@ecme/services/aiAuthHeaders.js +35 -0
  14. package/dist/@ecme/services/aiAuthHeaders.js.map +1 -0
  15. package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js +4 -27
  16. package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
  17. package/dist/@ecme/services/index.js +4 -5
  18. package/dist/@ecme/services/sseParser.js +42 -0
  19. package/dist/@ecme/services/sseParser.js.map +1 -0
  20. package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js +15 -0
  21. package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js.map +1 -0
  22. package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js +73 -0
  23. package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js.map +1 -0
  24. package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +37 -10
  25. package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
  26. package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js +153 -0
  27. package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js.map +1 -0
  28. package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js +99 -0
  29. package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js.map +1 -0
  30. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js +111 -17
  31. package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
  32. package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +29 -13
  33. package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
  34. package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts.map +1 -1
  35. package/dist/@types/@ecme/components/view/ChatBox/ChatBox.d.ts.map +1 -1
  36. package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts +2 -0
  37. package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts.map +1 -1
  38. package/dist/@types/@ecme/services/AiService.d.ts +28 -15
  39. package/dist/@types/@ecme/services/AiService.d.ts.map +1 -1
  40. package/dist/@types/@ecme/services/aiAuthHeaders.d.ts +12 -0
  41. package/dist/@types/@ecme/services/aiAuthHeaders.d.ts.map +1 -0
  42. package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts +6 -0
  43. package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts.map +1 -1
  44. package/dist/@types/@ecme/services/sseParser.d.ts +20 -0
  45. package/dist/@types/@ecme/services/sseParser.d.ts.map +1 -0
  46. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts +8 -0
  47. package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts.map +1 -0
  48. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts +15 -0
  49. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts.map +1 -0
  50. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts.map +1 -1
  51. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts +7 -0
  52. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts.map +1 -0
  53. package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts +14 -0
  54. package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts.map +1 -0
  55. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts +2 -1
  56. package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts.map +1 -1
  57. package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts +1 -0
  58. package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts.map +1 -1
  59. package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts +96 -23
  60. package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts.map +1 -1
  61. package/dist/@types/base/@types/models/transportadora/irpf.d.ts +1 -0
  62. package/dist/@types/base/@types/models/transportadora/irpf.d.ts.map +1 -1
  63. package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts +0 -1
  64. package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts.map +1 -1
  65. package/dist/base/assets/styles/init.css +128 -3
  66. package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx +0 -2
  67. package/lib/@ecme/components/view/ChatBox/ChatBox.tsx +2 -0
  68. package/lib/@ecme/components/view/ChatBox/components/MessageList.tsx +8 -4
  69. package/lib/@ecme/services/AiService.ts +89 -44
  70. package/lib/@ecme/services/aiAuthHeaders.ts +58 -0
  71. package/lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts +10 -39
  72. package/lib/@ecme/services/sseParser.ts +75 -0
  73. package/lib/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.tsx +28 -0
  74. package/lib/@ecme/views/concepts/ai/Chat/components/ApprovalCard.tsx +103 -0
  75. package/lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx +74 -10
  76. package/lib/@ecme/views/concepts/ai/Chat/components/ToolCallChip.tsx +218 -0
  77. package/lib/@ecme/views/concepts/ai/Chat/components/toolPresentation.ts +137 -0
  78. package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts +175 -23
  79. package/lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts +41 -13
  80. package/lib/@ecme/views/concepts/ai/Chat/types.ts +82 -29
  81. package/lib/base/@types/models/transportadora/irpf.ts +1 -0
  82. package/lib/base/@types/models/transportadora/irpfFaixaDesconto.ts +0 -1
  83. package/package.json +1 -1
  84. package/dist/@ecme/views/concepts/ai/Chat/components/ModelSelect.js +0 -48
  85. package/dist/@ecme/views/concepts/ai/Chat/components/ModelSelect.js.map +0 -1
  86. package/dist/@ecme/views/concepts/ai/Chat/store/aiModelStore.js +0 -15
  87. package/dist/@ecme/views/concepts/ai/Chat/store/aiModelStore.js.map +0 -1
  88. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ModelSelect.d.ts +0 -8
  89. package/dist/@types/@ecme/views/concepts/ai/Chat/components/ModelSelect.d.ts.map +0 -1
  90. package/dist/@types/@ecme/views/concepts/ai/Chat/store/aiModelStore.d.ts +0 -25
  91. package/dist/@types/@ecme/views/concepts/ai/Chat/store/aiModelStore.d.ts.map +0 -1
  92. package/lib/@ecme/views/concepts/ai/Chat/components/ModelSelect.tsx +0 -66
  93. package/lib/@ecme/views/concepts/ai/Chat/store/aiModelStore.ts +0 -23
@@ -33,19 +33,35 @@ const usGenerativeChatStore = create((set, get) => ({
33
33
  }
34
34
  return { selectedConversationRecord: record };
35
35
  }),
36
- pushChatHistory: (payload) => set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),
37
- pushConversation: (id, conversation) => set(() => {
38
- const chatHistory = get().chatHistory.map((chat) => {
39
- if (chat.id === id) {
40
- if (!chat.conversation) {
41
- chat.conversation = [];
42
- }
43
- chat.conversation?.push(conversation);
44
- }
45
- return chat;
46
- });
47
- return { chatHistory };
48
- }),
36
+ pushChatHistory: (payload) => set(() => ({ chatHistory: [payload, ...get().chatHistory] })),
37
+ pushConversation: (id, conversation) => set(() => ({
38
+ chatHistory: get().chatHistory.map(
39
+ (chat) => chat.id === id ? {
40
+ ...chat,
41
+ conversation: [
42
+ ...chat.conversation ?? [],
43
+ conversation
44
+ ]
45
+ } : chat
46
+ )
47
+ })),
48
+ /**
49
+ * Atualiza UMA mensagem de uma conversa.
50
+ *
51
+ * Imutavel de proposito: o streaming chama isto a cada token, e mutar o
52
+ * objeto no lugar faria o React perder atualizacoes — a re-renderizacao
53
+ * dependeria da identidade do array externo mudar por acaso.
54
+ */
55
+ updateConversation: (chatId, messageId, patch) => set(() => ({
56
+ chatHistory: get().chatHistory.map(
57
+ (chat) => chat.id === chatId ? {
58
+ ...chat,
59
+ conversation: chat.conversation?.map(
60
+ (mensagem) => mensagem.id === messageId ? { ...mensagem, ...patch } : mensagem
61
+ )
62
+ } : chat
63
+ )
64
+ })),
49
65
  setIsTyping: (payload) => set(() => ({ isTyping: payload })),
50
66
  disabledChatFresh: () => set(() => {
51
67
  const chatHistory = get().chatHistory.map((chat) => {
@@ -1 +1 @@
1
- {"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n disabledChatFresh: (id: string) => void\n}\n\nconst initialState: GenerativeChatState = {\n selectedConversation: '',\n selectedConversationRecord: [],\n chatHistory: [],\n renameDialog: {\n id: '',\n title: '',\n open: false,\n },\n isTyping: false,\n}\n\nexport const usGenerativeChatStore = create<\n GenerativeChatState & GenerativeChatAction\n>((set, get) => ({\n ...initialState,\n setSelectedConversation: (payload) =>\n set(() => ({ selectedConversation: payload })),\n setChatHistory: (payload) => set(() => ({ chatHistory: payload })),\n setChatHistoryName: (payload) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === payload.id) {\n chat.title = payload.title\n }\n return chat\n })\n return { chatHistory }\n }),\n setRenameDialog: (payload) => set(() => ({ renameDialog: payload })),\n setSelectedConversationRecord: (payload) =>\n set(() => {\n let record = get().selectedConversationRecord\n\n if (record.includes(payload)) {\n record = record.filter((item) => item !== payload)\n } else {\n record.push(payload)\n }\n\n return { selectedConversationRecord: record }\n }),\n pushChatHistory: (payload) =>\n set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),\n pushConversation: (id, conversation) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === id) {\n if (!chat.conversation) {\n chat.conversation = []\n }\n chat.conversation?.push(conversation)\n }\n return chat\n })\n return { chatHistory }\n }),\n setIsTyping: (payload) => set(() => ({ isTyping: payload })),\n disabledChatFresh: () =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === get().selectedConversation) {\n chat.conversation = chat.conversation?.map(\n (conversation) => {\n if (conversation.fresh) {\n conversation.fresh = false\n }\n return conversation\n },\n )\n }\n return chat\n })\n return { chatHistory }\n }),\n}))\n"],"names":[],"mappings":";AA6BA,MAAM,eAAoC;AAAA,EACtC,sBAAsB;AAAA,EACtB,4BAA4B,CAAA;AAAA,EAC5B,aAAa,CAAA;AAAA,EACb,cAAc;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,UAAU;AACd;AAEO,MAAM,wBAAwB,OAEnC,CAAC,KAAK,SAAS;AAAA,EACb,GAAG;AAAA,EACH,yBAAyB,CAAC,YACtB,IAAI,OAAO,EAAE,sBAAsB,UAAU;AAAA,EACjD,gBAAgB,CAAC,YAAY,IAAI,OAAO,EAAE,aAAa,UAAU;AAAA,EACjE,oBAAoB,CAAC,YACjB,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,QAAQ,IAAI;AACxB,aAAK,QAAQ,QAAQ;AAAA,MACzB;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AAAA,EACL,iBAAiB,CAAC,YAAY,IAAI,OAAO,EAAE,cAAc,UAAU;AAAA,EACnE,+BAA+B,CAAC,YAC5B,IAAI,MAAM;AACN,QAAI,SAAS,MAAM;AAEnB,QAAI,OAAO,SAAS,OAAO,GAAG;AAC1B,eAAS,OAAO,OAAO,CAAC,SAAS,SAAS,OAAO;AAAA,IACrD,OAAO;AACH,aAAO,KAAK,OAAO;AAAA,IACvB;AAEA,WAAO,EAAE,4BAA4B,OAAA;AAAA,EACzC,CAAC;AAAA,EACL,iBAAiB,CAAC,YACd,IAAI,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,MAAM,WAAW,IAAI;AAAA,EACrE,kBAAkB,CAAC,IAAI,iBACnB,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,IAAI;AAChB,YAAI,CAAC,KAAK,cAAc;AACpB,eAAK,eAAe,CAAA;AAAA,QACxB;AACA,aAAK,cAAc,KAAK,YAAY;AAAA,MACxC;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AAAA,EACL,aAAa,CAAC,YAAY,IAAI,OAAO,EAAE,UAAU,UAAU;AAAA,EAC3D,mBAAmB,MACf,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,IAAA,EAAM,sBAAsB;AACxC,aAAK,eAAe,KAAK,cAAc;AAAA,UACnC,CAAC,iBAAiB;AACd,gBAAI,aAAa,OAAO;AACpB,2BAAa,QAAQ;AAAA,YACzB;AACA,mBAAO;AAAA,UACX;AAAA,QAAA;AAAA,MAER;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AACT,EAAE;"}
1
+ {"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n updateConversation: (\n chatId: string,\n messageId: string,\n patch: Partial<Conversation>,\n ) => void\n disabledChatFresh: (id: string) => void\n}\n\nconst initialState: GenerativeChatState = {\n selectedConversation: '',\n selectedConversationRecord: [],\n chatHistory: [],\n renameDialog: {\n id: '',\n title: '',\n open: false,\n },\n isTyping: false,\n}\n\nexport const usGenerativeChatStore = create<\n GenerativeChatState & GenerativeChatAction\n>((set, get) => ({\n ...initialState,\n setSelectedConversation: (payload) =>\n set(() => ({ selectedConversation: payload })),\n setChatHistory: (payload) => set(() => ({ chatHistory: payload })),\n setChatHistoryName: (payload) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === payload.id) {\n chat.title = payload.title\n }\n return chat\n })\n return { chatHistory }\n }),\n setRenameDialog: (payload) => set(() => ({ renameDialog: payload })),\n setSelectedConversationRecord: (payload) =>\n set(() => {\n let record = get().selectedConversationRecord\n\n if (record.includes(payload)) {\n record = record.filter((item) => item !== payload)\n } else {\n record.push(payload)\n }\n\n return { selectedConversationRecord: record }\n }),\n pushChatHistory: (payload) =>\n set(() => ({ chatHistory: [payload, ...get().chatHistory] })),\n pushConversation: (id, conversation) =>\n set(() => ({\n chatHistory: get().chatHistory.map((chat) =>\n chat.id === id\n ? {\n ...chat,\n conversation: [\n ...(chat.conversation ?? []),\n conversation,\n ],\n }\n : chat,\n ),\n })),\n /**\n * Atualiza UMA mensagem de uma conversa.\n *\n * Imutavel de proposito: o streaming chama isto a cada token, e mutar o\n * objeto no lugar faria o React perder atualizacoes — a re-renderizacao\n * dependeria da identidade do array externo mudar por acaso.\n */\n updateConversation: (chatId, messageId, patch) =>\n set(() => ({\n chatHistory: get().chatHistory.map((chat) =>\n chat.id === chatId\n ? {\n ...chat,\n conversation: chat.conversation?.map((mensagem) =>\n mensagem.id === messageId\n ? { ...mensagem, ...patch }\n : mensagem,\n ),\n }\n : chat,\n ),\n })),\n setIsTyping: (payload) => set(() => ({ isTyping: payload })),\n disabledChatFresh: () =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === get().selectedConversation) {\n chat.conversation = chat.conversation?.map(\n (conversation) => {\n if (conversation.fresh) {\n conversation.fresh = false\n }\n return conversation\n },\n )\n }\n return chat\n })\n return { chatHistory }\n }),\n}))\n"],"names":[],"mappings":";AAkCA,MAAM,eAAoC;AAAA,EACtC,sBAAsB;AAAA,EACtB,4BAA4B,CAAA;AAAA,EAC5B,aAAa,CAAA;AAAA,EACb,cAAc;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,UAAU;AACd;AAEO,MAAM,wBAAwB,OAEnC,CAAC,KAAK,SAAS;AAAA,EACb,GAAG;AAAA,EACH,yBAAyB,CAAC,YACtB,IAAI,OAAO,EAAE,sBAAsB,UAAU;AAAA,EACjD,gBAAgB,CAAC,YAAY,IAAI,OAAO,EAAE,aAAa,UAAU;AAAA,EACjE,oBAAoB,CAAC,YACjB,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,QAAQ,IAAI;AACxB,aAAK,QAAQ,QAAQ;AAAA,MACzB;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AAAA,EACL,iBAAiB,CAAC,YAAY,IAAI,OAAO,EAAE,cAAc,UAAU;AAAA,EACnE,+BAA+B,CAAC,YAC5B,IAAI,MAAM;AACN,QAAI,SAAS,MAAM;AAEnB,QAAI,OAAO,SAAS,OAAO,GAAG;AAC1B,eAAS,OAAO,OAAO,CAAC,SAAS,SAAS,OAAO;AAAA,IACrD,OAAO;AACH,aAAO,KAAK,OAAO;AAAA,IACvB;AAEA,WAAO,EAAE,4BAA4B,OAAA;AAAA,EACzC,CAAC;AAAA,EACL,iBAAiB,CAAC,YACd,IAAI,OAAO,EAAE,aAAa,CAAC,SAAS,GAAG,IAAA,EAAM,WAAW,IAAI;AAAA,EAChE,kBAAkB,CAAC,IAAI,iBACnB,IAAI,OAAO;AAAA,IACP,aAAa,MAAM,YAAY;AAAA,MAAI,CAAC,SAChC,KAAK,OAAO,KACN;AAAA,QACI,GAAG;AAAA,QACH,cAAc;AAAA,UACV,GAAI,KAAK,gBAAgB,CAAA;AAAA,UACzB;AAAA,QAAA;AAAA,MACJ,IAEJ;AAAA,IAAA;AAAA,EACV,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQN,oBAAoB,CAAC,QAAQ,WAAW,UACpC,IAAI,OAAO;AAAA,IACP,aAAa,MAAM,YAAY;AAAA,MAAI,CAAC,SAChC,KAAK,OAAO,SACN;AAAA,QACI,GAAG;AAAA,QACH,cAAc,KAAK,cAAc;AAAA,UAAI,CAAC,aAClC,SAAS,OAAO,YACV,EAAE,GAAG,UAAU,GAAG,UAClB;AAAA,QAAA;AAAA,MACV,IAEJ;AAAA,IAAA;AAAA,EACV,EACF;AAAA,EACN,aAAa,CAAC,YAAY,IAAI,OAAO,EAAE,UAAU,UAAU;AAAA,EAC3D,mBAAmB,MACf,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,IAAA,EAAM,sBAAsB;AACxC,aAAK,eAAe,KAAK,cAAc;AAAA,UACnC,CAAC,iBAAiB;AACd,gBAAI,aAAa,OAAO;AACpB,2BAAa,QAAQ;AAAA,YACzB;AACA,mBAAO;AAAA,UACX;AAAA,QAAA;AAAA,MAER;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AACT,EAAE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrbeAiWidget.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,YAAY,+CAyGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"OrbeAiWidget.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx"],"names":[],"mappings":"AAgBA,QAAA,MAAM,YAAY,+CAwGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatBox.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/view/ChatBox/ChatBox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAA;AAElB,QAAA,MAAM,OAAO,wIAkDX,CAAA;AAIF,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"ChatBox.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/view/ChatBox/ChatBox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAA;AAElB,QAAA,MAAM,OAAO,wIAoDX,CAAA;AAIF,eAAe,OAAO,CAAA"}
@@ -2,6 +2,7 @@ import type { ReactNode } from 'react';
2
2
  import type { MessageProps } from './Message';
3
3
  type List = MessageProps & {
4
4
  fresh?: boolean;
5
+ isError?: boolean;
5
6
  };
6
7
  export type MessageListProps = {
7
8
  list: List[];
@@ -17,6 +18,7 @@ export type MessageListProps = {
17
18
  bubbleClass?: string;
18
19
  myBubbleClass?: string;
19
20
  botBubbleClass?: string;
21
+ errorBubbleClass?: string;
20
22
  renderTyping?: () => ReactNode;
21
23
  messageListClass?: string;
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/components/view/ChatBox/components/MessageList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,KAAK,IAAI,GAAG,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EACD;QACI,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,GACD,KAAK,CAAA;IACX,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,SAAS,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,QAAA,MAAM,WAAW,+HAwEf,CAAA;AAIF,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/components/view/ChatBox/components/MessageList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,KAAK,IAAI,GAAG,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAEjE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EACD;QACI,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,GACD,KAAK,CAAA;IACX,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,SAAS,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,QAAA,MAAM,WAAW,+HA2Ef,CAAA;AAIF,eAAe,WAAW,CAAA"}
@@ -1,21 +1,34 @@
1
- /** Informa ao backend qual modelo usar. Sem o header, ele aplica o default. */
2
- export declare const AI_MODEL_HEADER = "X-Ai-Model";
1
+ import type { ChatEvent } from '@/views/concepts/ai/Chat/types';
3
2
  export declare const AI_API_URL: string;
4
- export type AiModel = {
5
- id: string;
6
- label: string;
7
- default: boolean;
8
- cloud: boolean;
3
+ export declare function apiGetChatHistory<T>(conversationId?: string): Promise<T>;
4
+ export type StreamChatParams = {
5
+ prompt: string;
6
+ /** Identifica a conversa; o backend usa como thread da memoria. */
7
+ conversationId?: string;
8
+ signal?: AbortSignal;
9
+ onEvent: (evento: ChatEvent) => void;
9
10
  };
10
- export type GetAiModelsResponse = {
11
- models: AiModel[];
11
+ export type ResumeChatParams = {
12
+ /** true = aprovar a operacao pendente, false = negar. */
13
+ approved: boolean;
14
+ conversationId?: string;
15
+ signal?: AbortSignal;
16
+ onEvent: (evento: ChatEvent) => void;
12
17
  };
13
- export declare function apiPostChat<T>(data: {
14
- prompt: string;
15
- attachments?: File[];
16
- }): Promise<T>;
17
- export declare function apiGetChatHistory<T>(): Promise<T>;
18
- export declare function apiGetAiModels<T>(): Promise<T>;
18
+ /**
19
+ * Envia a mensagem e consome a resposta em streaming (SSE).
20
+ *
21
+ * Usa `fetch`, e nao o Axios, porque o Axios no browser so resolve a Promise
22
+ * com a resposta inteira — nao ha como ler o corpo enquanto ele chega.
23
+ */
24
+ export declare function streamChat({ prompt, conversationId, signal, onEvent, }: StreamChatParams): Promise<void>;
25
+ /**
26
+ * Retoma uma conversa parada num pedido de aprovacao.
27
+ *
28
+ * Devolve o mesmo tipo de stream do `streamChat`, e a resposta continua na
29
+ * MESMA mensagem do chat — o backend so volta do ponto onde parou.
30
+ */
31
+ export declare function resumeChat({ approved, conversationId, signal, onEvent, }: ResumeChatParams): Promise<void>;
19
32
  export declare function apiGetImages<T, U extends Record<string, unknown>>(params: U): Promise<T>;
20
33
  export declare function apiPostImages<T, U extends Record<string, unknown>>(data: U): Promise<T>;
21
34
  //# sourceMappingURL=AiService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiService.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/services/AiService.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,eAAO,MAAM,eAAe,eAAe,CAAA;AAyB3C,eAAO,MAAM,UAAU,QAAgB,CAAA;AAEvC,MAAM,MAAM,OAAO,GAAG;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,MAAM,EAAE,OAAO,EAAE,CAAA;CACpB,CAAA;AA0BD,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,IAAI,EAAE,CAAA;CACvB,cAOA;AAED,wBAAsB,iBAAiB,CAAC,CAAC,gBAKxC;AAED,wBAAsB,cAAc,CAAC,CAAC,gBAKrC;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,CAAC,cAOZ;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,CAAC,cAOV"}
1
+ {"version":3,"file":"AiService.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/services/AiService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AA0B/D,eAAO,MAAM,UAAU,QAAgB,CAAA;AAcvC,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,MAAM,cAMjE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC3B,yDAAyD;IACzD,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;CACvC,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,EAC7B,MAAM,EACN,cAAc,EACd,MAAM,EACN,OAAO,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlC;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOlC;AAiCD,wBAAsB,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,MAAM,EAAE,CAAC,cAOZ;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,IAAI,EAAE,CAAC,cAOV"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Headers de autenticacao lidos do storage.
3
+ *
4
+ * Existe porque o chat de IA usa `fetch` (o Axios nao faz streaming no
5
+ * browser) e portanto nao passa pelo interceptor. Em vez de duplicar as regras
6
+ * de onde mora o token, o interceptor e o fetch chamam esta funcao — uma
7
+ * verdade so.
8
+ *
9
+ * Ver AxiosRequestIntrceptorConfigCallback, que a consome.
10
+ */
11
+ export declare const authHeaders: () => Record<string, string>;
12
+ //# sourceMappingURL=aiAuthHeaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aiAuthHeaders.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/services/aiAuthHeaders.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CAqBnD,CAAA"}
@@ -1,4 +1,10 @@
1
1
  import type { InternalAxiosRequestConfig } from 'axios';
2
+ /**
3
+ * Injeta Authorization e X-User-Id em toda requisicao do Axios.
4
+ *
5
+ * As regras de onde o token mora vivem em `authHeaders` — compartilhadas com o
6
+ * chat de IA, que usa `fetch` e nao passa por aqui.
7
+ */
2
8
  declare const AxiosRequestIntrceptorConfigCallback: (config: InternalAxiosRequestConfig) => InternalAxiosRequestConfig<any, any>;
3
9
  export default AxiosRequestIntrceptorConfigCallback;
4
10
  //# sourceMappingURL=AxiosRequestIntrceptorConfigCallback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AxiosRequestIntrceptorConfigCallback.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAA;AAEvD,QAAA,MAAM,oCAAoC,GACtC,QAAQ,0BAA0B,yCAqCrC,CAAA;AAED,eAAe,oCAAoC,CAAA"}
1
+ {"version":3,"file":"AxiosRequestIntrceptorConfigCallback.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,OAAO,CAAA;AAEvD;;;;;GAKG;AACH,QAAA,MAAM,oCAAoC,GACtC,QAAQ,0BAA0B,yCAOrC,CAAA;AAED,eAAe,oCAAoC,CAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Parser de Server-Sent Events sobre um ReadableStream.
3
+ *
4
+ * O EventSource nativo do browser nao serve aqui: ele so faz GET e nao aceita
5
+ * headers, e o chat e um POST autenticado. Entao lemos o corpo do `fetch` na
6
+ * mao.
7
+ *
8
+ * Duas bordas do protocolo que uma implementacao ingenua erra:
9
+ *
10
+ * 1. um chunk da rede pode cortar um evento no meio — por isso o resto fica no
11
+ * buffer ate chegar o proximo `\n\n`;
12
+ * 2. um chunk pode trazer varios eventos de uma vez.
13
+ */
14
+ export type SseEvent = {
15
+ event: string;
16
+ data: string;
17
+ };
18
+ /** Le o stream ate o fim, chamando `onEvent` a cada evento completo. */
19
+ export declare function readSse(body: ReadableStream<Uint8Array>, onEvent: (evento: SseEvent) => void): Promise<void>;
20
+ //# sourceMappingURL=sseParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sseParser.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/services/sseParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf,CAAA;AAID,wEAAwE;AACxE,wBAAsB,OAAO,CACzB,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,GACpC,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Mensagem de erro do agente Orbe AI — exibida no lugar da resposta quando a
3
+ * comunicação com o serviço de IA falha, com acento vermelho para sinalizar
4
+ * o erro sem quebrar o tom visual do chat.
5
+ */
6
+ declare const AiErrorMessage: () => import("react/jsx-runtime").JSX.Element;
7
+ export default AiErrorMessage;
8
+ //# sourceMappingURL=AiErrorMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AiErrorMessage.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,QAAA,MAAM,cAAc,+CAkBnB,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,15 @@
1
+ import type { PendingApproval } from '../types';
2
+ type ApprovalCardProps = {
3
+ approval: PendingApproval;
4
+ onDecide: (approved: boolean) => void;
5
+ };
6
+ /**
7
+ * Confirmacao de uma operacao que grava no ERP.
8
+ *
9
+ * O agente fica PARADO enquanto este card estiver na tela — so volta a
10
+ * responder depois do clique. Por isso ele nao usa a paleta de alerta: nao e um
11
+ * aviso de erro, e uma decisao de negocio que o usuario precisa tomar.
12
+ */
13
+ declare const ApprovalCard: ({ approval, onDecide }: ApprovalCardProps) => import("react/jsx-runtime").JSX.Element;
14
+ export default ApprovalCard;
15
+ //# sourceMappingURL=ApprovalCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ApprovalCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,KAAK,iBAAiB,GAAG;IACrB,QAAQ,EAAE,eAAe,CAAA;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;CACxC,CAAA;AAED;;;;;;GAMG;AACH,QAAA,MAAM,YAAY,GAAI,wBAAwB,iBAAiB,4CAkF9D,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx"],"names":[],"mappings":"AAYA,QAAA,MAAM,QAAQ,+CAmGb,CAAA;AAED,eAAe,QAAQ,CAAA"}
1
+ {"version":3,"file":"ChatView.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx"],"names":[],"mappings":"AAgCA,QAAA,MAAM,QAAQ,+CA+Ib,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { ToolCall } from '../types';
2
+ type ToolCallChipProps = {
3
+ tool: ToolCall;
4
+ };
5
+ declare const ToolCallChip: ({ tool }: ToolCallChipProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default ToolCallChip;
7
+ //# sourceMappingURL=ToolCallChip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallChip.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ToolCallChip.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AA0DxC,KAAK,iBAAiB,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,UAAU,iBAAiB,4CAgFhD,CAAA;AA4DD,eAAe,YAAY,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { IconType } from 'react-icons';
2
+ export declare const rotularFerramenta: (nome: string) => string;
3
+ export declare const rotularExecucao: (nome: string) => string;
4
+ export declare const iconeFerramenta: (nome: string) => IconType;
5
+ export declare const rotularCampo: (chave: string) => string;
6
+ /** Converte o valor tecnico no que o usuario espera ler. */
7
+ export declare const formatarValor: (chave: string, valor: unknown) => string;
8
+ /** Pares (rotulo, valor) prontos para exibir, ignorando o que esta vazio. */
9
+ export declare const camposVisiveis: (args: Record<string, unknown>) => {
10
+ chave: string;
11
+ rotulo: string;
12
+ valor: string;
13
+ }[];
14
+ //# sourceMappingURL=toolPresentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolPresentation.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/toolPresentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AA4C3C,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,WACE,CAAA;AAEhD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,WACQ,CAAA;AAEpD,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,QACT,CAAA;AAmBtC,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,WAAsC,CAAA;AAchF,4DAA4D;AAC5D,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,OAAO,OAAO,KAAG,MAiC7D,CAAA;AAED,6EAA6E;AAC7E,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;GAajD,CAAA"}
@@ -1,5 +1,6 @@
1
1
  declare const useChatSend: () => {
2
- handleSend: (prompt: string, attachments?: File[]) => Promise<void>;
2
+ handleSend: (prompt: string) => Promise<void>;
3
+ handleApproval: (chatId: string, messageId: string, approved: boolean) => Promise<void>;
3
4
  };
4
5
  export default useChatSend;
5
6
  //# sourceMappingURL=useChatSend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatSend.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,WAAW;yBA2DqB,MAAM,gBAAgB,IAAI,EAAE;CAuBjE,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"useChatSend.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"names":[],"mappings":"AAWA,QAAA,MAAM,WAAW;yBA4KqB,MAAM;6BA2B5B,MAAM,aACH,MAAM,YACP,OAAO;CA6BxB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -23,6 +23,7 @@ type GenerativeChatAction = {
23
23
  setIsTyping: (payload: boolean) => void;
24
24
  pushChatHistory: (payload: ChatHistory) => void;
25
25
  pushConversation: (id: string, conversation: Conversation) => void;
26
+ updateConversation: (chatId: string, messageId: string, patch: Partial<Conversation>) => void;
26
27
  disabledChatFresh: (id: string) => void;
27
28
  };
28
29
  export declare const usGenerativeChatStore: import("zustand").UseBoundStore<import("zustand").StoreApi<GenerativeChatState & GenerativeChatAction>>;
@@ -1 +1 @@
1
- {"version":3,"file":"generativeChatStore.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAExE,KAAK,YAAY,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,0BAA0B,EAAE,MAAM,EAAE,CAAA;IACpC,WAAW,EAAE,aAAa,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,6BAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IAChD,kBAAkB,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACpE,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAClE,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAcD,eAAO,MAAM,qBAAqB,yGA+D/B,CAAA"}
1
+ {"version":3,"file":"generativeChatStore.d.ts","sourceRoot":"","sources":["../../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAExE,KAAK,YAAY,GAAG;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAC9B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,0BAA0B,EAAE,MAAM,EAAE,CAAA;IACpC,WAAW,EAAE,aAAa,CAAA;IAC1B,YAAY,EAAE,YAAY,CAAA;IAC1B,QAAQ,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,oBAAoB,GAAG;IACxB,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,6BAA6B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACxD,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;IAChD,kBAAkB,EAAE,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACpE,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAClE,kBAAkB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAC3B,IAAI,CAAA;IACT,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC1C,CAAA;AAcD,eAAO,MAAM,qBAAqB,yGAsF/B,CAAA"}
@@ -1,3 +1,31 @@
1
+ /** Uma ferramenta que o agente chamou durante a resposta. */
2
+ export type ToolCall = {
3
+ id: string;
4
+ name: string;
5
+ args: Record<string, unknown>;
6
+ /** Retorno da ferramenta; so existe depois do tool_end. */
7
+ result?: string;
8
+ isError?: boolean;
9
+ /** true enquanto a ferramenta esta executando. */
10
+ running: boolean;
11
+ /**
12
+ * true quando a ferramenta esta parada esperando o usuario aprovar.
13
+ *
14
+ * O backend emite `tool_start` assim que o modelo DECIDE chamar a
15
+ * ferramenta — antes de saber se ela precisa de aprovacao. Sem esta flag, o
16
+ * chip ficaria girando "executando" enquanto na verdade espera um clique.
17
+ */
18
+ awaitingApproval?: boolean;
19
+ };
20
+ /** Operacao de escrita parada, esperando o usuario aprovar ou negar. */
21
+ export type PendingApproval = {
22
+ id: string;
23
+ calls: {
24
+ id: string;
25
+ name: string;
26
+ args: Record<string, unknown>;
27
+ }[];
28
+ };
1
29
  export type Conversation = {
2
30
  id: string;
3
31
  sender: {
@@ -14,31 +42,76 @@ export type Conversation = {
14
42
  mediaUrl: string;
15
43
  }>;
16
44
  isMyMessage?: boolean;
45
+ /**
46
+ * Liga a animacao de maquina de escrever do ChatCustomContent.
47
+ *
48
+ * Mensagens vindas do streaming devem usar `false`: o texto ja chega
49
+ * progressivamente do servidor, e a animacao reinicia do zero a cada token
50
+ * novo (ela reseta a posicao quando o conteudo muda).
51
+ */
17
52
  fresh?: boolean;
53
+ isError?: boolean;
54
+ /** Ferramentas chamadas pelo agente nesta resposta. */
55
+ tools?: ToolCall[];
56
+ /** Preenchido quando o agente pausou esperando aprovacao humana. */
57
+ pendingApproval?: PendingApproval;
18
58
  };
19
- export type PostAiChatResponse = {
20
- id: string;
21
- choices: {
22
- finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call';
23
- index: number;
24
- logprobs: {
25
- content: Array<{
26
- token: string;
27
- bytes: Array<number> | null;
28
- top_logprobs: Array<{
29
- token: string;
30
- bytes: Array<number> | null;
31
- logprob: number;
32
- }>;
33
- }>;
34
- } | null;
35
- message: {
36
- content: string | null;
37
- role: string;
38
- };
39
- }[];
40
- created: number;
41
- model: string;
59
+ /**
60
+ * Eventos do stream de /ai/chat/stream.
61
+ *
62
+ * Ordem tipica de uma resposta que consulta o ERP:
63
+ *
64
+ * token* tool_start tool_end token* done
65
+ *
66
+ * `done` sempre fecha o stream e traz a resposta final completa. Concatenar os
67
+ * `token` da o mesmo texto — o front pode usar qualquer um dos dois caminhos.
68
+ */
69
+ export type ChatEvent = {
70
+ type: 'token';
71
+ data: {
72
+ content: string;
73
+ };
74
+ } | {
75
+ type: 'tool_start';
76
+ data: {
77
+ id: string;
78
+ name: string;
79
+ args: Record<string, unknown>;
80
+ };
81
+ } | {
82
+ type: 'tool_end';
83
+ data: {
84
+ id: string;
85
+ name: string;
86
+ content: string;
87
+ is_error: boolean;
88
+ };
89
+ } | {
90
+ /**
91
+ * O agente parou antes de uma operacao de escrita e espera decisao.
92
+ *
93
+ * Quando este evento chega, o `done` NAO vem: o turno nao terminou,
94
+ * esta pausado. Retomar e chamar `resumeChat`.
95
+ */
96
+ type: 'approval_required';
97
+ data: {
98
+ id: string;
99
+ calls: {
100
+ id: string;
101
+ name: string;
102
+ args: Record<string, unknown>;
103
+ }[];
104
+ };
105
+ } | {
106
+ type: 'done';
107
+ data: {
108
+ content: string;
109
+ };
110
+ } | {
111
+ type: 'error';
112
+ data: {
113
+ message: string;
114
+ };
42
115
  };
43
116
  export type ChatHistory = {
44
117
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;IACjD,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;QAC1C,MAAM,EAAE,IAAI,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;KACnB,CAAC,CAAA;IACF,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE;QACL,aAAa,EACP,MAAM,GACN,QAAQ,GACR,YAAY,GACZ,gBAAgB,GAChB,eAAe,CAAA;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE;YACN,OAAO,EAAE,KAAK,CAAC;gBACX,KAAK,EAAE,MAAM,CAAA;gBACb,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;gBAC3B,YAAY,EAAE,KAAK,CAAC;oBAChB,KAAK,EAAE,MAAM,CAAA;oBACb,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;oBAC3B,OAAO,EAAE,MAAM,CAAA;iBAClB,CAAC,CAAA;aACL,CAAC,CAAA;SACL,GAAG,IAAI,CAAA;QACR,OAAO,EAAE;YACL,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,IAAI,EAAE,MAAM,CAAA;SACf,CAAA;KACJ,EAAE,CAAA;IACH,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,EAAE,CAAA;AAEzC,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type TIrpf = {
3
3
  valorMinimo: number;
4
4
  valorMaximo: number;
5
5
  aliquota: number;
6
+ parcelaDeduzir: number;
6
7
  parcela: number;
7
8
  deducao?: number;
8
9
  baseCalculo?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"irpf.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/transportadora/irpf.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,CAAC,EAAG,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA"}
1
+ {"version":3,"file":"irpf.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/transportadora/irpf.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,CAAC,EAAG,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB,CAAA"}
@@ -3,7 +3,6 @@ export type TIrpfFaixaDesconto = {
3
3
  valorMinimo: number;
4
4
  valorMaximo: number;
5
5
  coeficiente: number;
6
- parcelaDeduzir: number;
7
6
  descontoMaximo: number;
8
7
  };
9
8
  //# sourceMappingURL=irpfFaixaDesconto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"irpfFaixaDesconto.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/transportadora/irpfFaixaDesconto.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"irpfFaixaDesconto.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/@types/models/transportadora/irpfFaixaDesconto.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA"}