@meistrari/chat-nuxt 1.0.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.
Files changed (479) hide show
  1. package/README.md +274 -0
  2. package/dist/module.d.mts +3 -0
  3. package/dist/module.json +9 -0
  4. package/dist/module.mjs +250 -0
  5. package/dist/runtime/assets/css/code-theme.css +1 -0
  6. package/dist/runtime/assets/css/markstream.css +1 -0
  7. package/dist/runtime/components/AppStatusToast.d.vue.ts +3 -0
  8. package/dist/runtime/components/AppStatusToast.vue +42 -0
  9. package/dist/runtime/components/AppStatusToast.vue.d.ts +3 -0
  10. package/dist/runtime/components/TelaChat.d.vue.ts +19 -0
  11. package/dist/runtime/components/TelaChat.vue +25 -0
  12. package/dist/runtime/components/TelaChat.vue.d.ts +19 -0
  13. package/dist/runtime/components/app-markdown-render.d.vue.ts +15 -0
  14. package/dist/runtime/components/app-markdown-render.vue +45 -0
  15. package/dist/runtime/components/app-markdown-render.vue.d.ts +15 -0
  16. package/dist/runtime/components/application-card.d.vue.ts +9 -0
  17. package/dist/runtime/components/application-card.vue +52 -0
  18. package/dist/runtime/components/application-card.vue.d.ts +9 -0
  19. package/dist/runtime/components/audio-preview.d.vue.ts +14 -0
  20. package/dist/runtime/components/audio-preview.vue +52 -0
  21. package/dist/runtime/components/audio-preview.vue.d.ts +14 -0
  22. package/dist/runtime/components/chat/bash-widget.d.vue.ts +9 -0
  23. package/dist/runtime/components/chat/bash-widget.vue +86 -0
  24. package/dist/runtime/components/chat/bash-widget.vue.d.ts +9 -0
  25. package/dist/runtime/components/chat/canvas-selector-modal.d.vue.ts +14 -0
  26. package/dist/runtime/components/chat/canvas-selector-modal.vue +290 -0
  27. package/dist/runtime/components/chat/canvas-selector-modal.vue.d.ts +14 -0
  28. package/dist/runtime/components/chat/context-config.d.vue.ts +30 -0
  29. package/dist/runtime/components/chat/context-config.vue +423 -0
  30. package/dist/runtime/components/chat/context-config.vue.d.ts +30 -0
  31. package/dist/runtime/components/chat/conversation-item.d.vue.ts +20 -0
  32. package/dist/runtime/components/chat/conversation-item.vue +184 -0
  33. package/dist/runtime/components/chat/conversation-item.vue.d.ts +20 -0
  34. package/dist/runtime/components/chat/conversation-list.d.vue.ts +10 -0
  35. package/dist/runtime/components/chat/conversation-list.vue +78 -0
  36. package/dist/runtime/components/chat/conversation-list.vue.d.ts +10 -0
  37. package/dist/runtime/components/chat/doc-sdk-widget.d.vue.ts +9 -0
  38. package/dist/runtime/components/chat/doc-sdk-widget.vue +74 -0
  39. package/dist/runtime/components/chat/doc-sdk-widget.vue.d.ts +9 -0
  40. package/dist/runtime/components/chat/file-preview.d.vue.ts +7 -0
  41. package/dist/runtime/components/chat/file-preview.vue +313 -0
  42. package/dist/runtime/components/chat/file-preview.vue.d.ts +7 -0
  43. package/dist/runtime/components/chat/files-view.d.vue.ts +6 -0
  44. package/dist/runtime/components/chat/files-view.vue +399 -0
  45. package/dist/runtime/components/chat/files-view.vue.d.ts +6 -0
  46. package/dist/runtime/components/chat/generic-tool-widget.d.vue.ts +9 -0
  47. package/dist/runtime/components/chat/generic-tool-widget.vue +334 -0
  48. package/dist/runtime/components/chat/generic-tool-widget.vue.d.ts +9 -0
  49. package/dist/runtime/components/chat/grep-widget.d.vue.ts +9 -0
  50. package/dist/runtime/components/chat/grep-widget.vue +259 -0
  51. package/dist/runtime/components/chat/grep-widget.vue.d.ts +9 -0
  52. package/dist/runtime/components/chat/mention-dropdown.d.vue.ts +14 -0
  53. package/dist/runtime/components/chat/mention-dropdown.vue +90 -0
  54. package/dist/runtime/components/chat/mention-dropdown.vue.d.ts +14 -0
  55. package/dist/runtime/components/chat/message-bubble.d.vue.ts +11 -0
  56. package/dist/runtime/components/chat/message-bubble.vue +288 -0
  57. package/dist/runtime/components/chat/message-bubble.vue.d.ts +11 -0
  58. package/dist/runtime/components/chat/message-input.d.vue.ts +34 -0
  59. package/dist/runtime/components/chat/message-input.vue +428 -0
  60. package/dist/runtime/components/chat/message-input.vue.d.ts +34 -0
  61. package/dist/runtime/components/chat/message-list.d.vue.ts +11 -0
  62. package/dist/runtime/components/chat/message-list.vue +36 -0
  63. package/dist/runtime/components/chat/message-list.vue.d.ts +11 -0
  64. package/dist/runtime/components/chat/model-selector.d.vue.ts +15 -0
  65. package/dist/runtime/components/chat/model-selector.vue +35 -0
  66. package/dist/runtime/components/chat/model-selector.vue.d.ts +15 -0
  67. package/dist/runtime/components/chat/new-conversation-modal.d.vue.ts +14 -0
  68. package/dist/runtime/components/chat/new-conversation-modal.vue +271 -0
  69. package/dist/runtime/components/chat/new-conversation-modal.vue.d.ts +14 -0
  70. package/dist/runtime/components/chat/read-widget.d.vue.ts +9 -0
  71. package/dist/runtime/components/chat/read-widget.vue +195 -0
  72. package/dist/runtime/components/chat/read-widget.vue.d.ts +9 -0
  73. package/dist/runtime/components/chat/reasoning-message.d.vue.ts +13 -0
  74. package/dist/runtime/components/chat/reasoning-message.vue +341 -0
  75. package/dist/runtime/components/chat/reasoning-message.vue.d.ts +13 -0
  76. package/dist/runtime/components/chat/reasoning-step-item.d.vue.ts +37 -0
  77. package/dist/runtime/components/chat/reasoning-step-item.vue +125 -0
  78. package/dist/runtime/components/chat/reasoning-step-item.vue.d.ts +37 -0
  79. package/dist/runtime/components/chat/reasoning-steps.d.vue.ts +12 -0
  80. package/dist/runtime/components/chat/reasoning-steps.vue +47 -0
  81. package/dist/runtime/components/chat/reasoning-steps.vue.d.ts +12 -0
  82. package/dist/runtime/components/chat/reasoning-thought.d.vue.ts +11 -0
  83. package/dist/runtime/components/chat/reasoning-thought.vue +287 -0
  84. package/dist/runtime/components/chat/reasoning-thought.vue.d.ts +11 -0
  85. package/dist/runtime/components/chat/tela-skill-widget.d.vue.ts +9 -0
  86. package/dist/runtime/components/chat/tela-skill-widget.vue +94 -0
  87. package/dist/runtime/components/chat/tela-skill-widget.vue.d.ts +9 -0
  88. package/dist/runtime/components/chat/thinking-indicator.d.vue.ts +3 -0
  89. package/dist/runtime/components/chat/thinking-indicator.vue +52 -0
  90. package/dist/runtime/components/chat/thinking-indicator.vue.d.ts +3 -0
  91. package/dist/runtime/components/chat/thinking-widget.d.vue.ts +8 -0
  92. package/dist/runtime/components/chat/thinking-widget.vue +53 -0
  93. package/dist/runtime/components/chat/thinking-widget.vue.d.ts +8 -0
  94. package/dist/runtime/components/chat/topbar.d.vue.ts +43 -0
  95. package/dist/runtime/components/chat/topbar.vue +223 -0
  96. package/dist/runtime/components/chat/topbar.vue.d.ts +43 -0
  97. package/dist/runtime/components/chat/usage-view.d.vue.ts +8 -0
  98. package/dist/runtime/components/chat/usage-view.vue +393 -0
  99. package/dist/runtime/components/chat/usage-view.vue.d.ts +8 -0
  100. package/dist/runtime/components/chat/vault-link.d.vue.ts +20 -0
  101. package/dist/runtime/components/chat/vault-link.vue +34 -0
  102. package/dist/runtime/components/chat/vault-link.vue.d.ts +20 -0
  103. package/dist/runtime/components/chat/web-search-widget.d.vue.ts +9 -0
  104. package/dist/runtime/components/chat/web-search-widget.vue +121 -0
  105. package/dist/runtime/components/chat/web-search-widget.vue.d.ts +9 -0
  106. package/dist/runtime/components/chat/workstation-query-widget.d.vue.ts +10 -0
  107. package/dist/runtime/components/chat/workstation-query-widget.vue +552 -0
  108. package/dist/runtime/components/chat/workstation-query-widget.vue.d.ts +10 -0
  109. package/dist/runtime/components/chat/workstation-selector-modal.d.vue.ts +14 -0
  110. package/dist/runtime/components/chat/workstation-selector-modal.vue +272 -0
  111. package/dist/runtime/components/chat/workstation-selector-modal.vue.d.ts +14 -0
  112. package/dist/runtime/components/chat/write-widget.d.vue.ts +9 -0
  113. package/dist/runtime/components/chat/write-widget.vue +165 -0
  114. package/dist/runtime/components/chat/write-widget.vue.d.ts +9 -0
  115. package/dist/runtime/components/conversation-files-panel.d.vue.ts +3 -0
  116. package/dist/runtime/components/conversation-files-panel.vue +252 -0
  117. package/dist/runtime/components/conversation-files-panel.vue.d.ts +3 -0
  118. package/dist/runtime/components/csv-preview.d.vue.ts +20 -0
  119. package/dist/runtime/components/csv-preview.vue +157 -0
  120. package/dist/runtime/components/csv-preview.vue.d.ts +20 -0
  121. package/dist/runtime/components/file-preview-panel.d.vue.ts +3 -0
  122. package/dist/runtime/components/file-preview-panel.vue +185 -0
  123. package/dist/runtime/components/file-preview-panel.vue.d.ts +3 -0
  124. package/dist/runtime/components/file-uploader.d.vue.ts +16 -0
  125. package/dist/runtime/components/file-uploader.vue +136 -0
  126. package/dist/runtime/components/file-uploader.vue.d.ts +16 -0
  127. package/dist/runtime/components/icons/anthropic.d.vue.ts +3 -0
  128. package/dist/runtime/components/icons/anthropic.vue +5 -0
  129. package/dist/runtime/components/icons/anthropic.vue.d.ts +3 -0
  130. package/dist/runtime/components/image-preview.d.vue.ts +14 -0
  131. package/dist/runtime/components/image-preview.vue +54 -0
  132. package/dist/runtime/components/image-preview.vue.d.ts +14 -0
  133. package/dist/runtime/components/json-tree-node.d.vue.ts +9 -0
  134. package/dist/runtime/components/json-tree-node.vue +109 -0
  135. package/dist/runtime/components/json-tree-node.vue.d.ts +9 -0
  136. package/dist/runtime/components/json-viewer.d.vue.ts +6 -0
  137. package/dist/runtime/components/json-viewer.vue +88 -0
  138. package/dist/runtime/components/json-viewer.vue.d.ts +6 -0
  139. package/dist/runtime/components/pdf-preview.d.vue.ts +20 -0
  140. package/dist/runtime/components/pdf-preview.vue +89 -0
  141. package/dist/runtime/components/pdf-preview.vue.d.ts +20 -0
  142. package/dist/runtime/components/pdf-viewer.d.vue.ts +10 -0
  143. package/dist/runtime/components/pdf-viewer.vue +265 -0
  144. package/dist/runtime/components/pdf-viewer.vue.d.ts +10 -0
  145. package/dist/runtime/components/powered-by-tela.d.vue.ts +3 -0
  146. package/dist/runtime/components/powered-by-tela.vue +14 -0
  147. package/dist/runtime/components/powered-by-tela.vue.d.ts +3 -0
  148. package/dist/runtime/components/renderers/artifact-display.d.vue.ts +15 -0
  149. package/dist/runtime/components/renderers/artifact-display.vue +105 -0
  150. package/dist/runtime/components/renderers/artifact-display.vue.d.ts +15 -0
  151. package/dist/runtime/components/renderers/audio-renderer.d.vue.ts +7 -0
  152. package/dist/runtime/components/renderers/audio-renderer.vue +52 -0
  153. package/dist/runtime/components/renderers/audio-renderer.vue.d.ts +7 -0
  154. package/dist/runtime/components/renderers/csv-renderer.d.vue.ts +6 -0
  155. package/dist/runtime/components/renderers/csv-renderer.vue +203 -0
  156. package/dist/runtime/components/renderers/csv-renderer.vue.d.ts +6 -0
  157. package/dist/runtime/components/renderers/image-renderer.d.vue.ts +7 -0
  158. package/dist/runtime/components/renderers/image-renderer.vue +44 -0
  159. package/dist/runtime/components/renderers/image-renderer.vue.d.ts +7 -0
  160. package/dist/runtime/components/renderers/markdown-renderer.d.vue.ts +6 -0
  161. package/dist/runtime/components/renderers/markdown-renderer.vue +66 -0
  162. package/dist/runtime/components/renderers/markdown-renderer.vue.d.ts +6 -0
  163. package/dist/runtime/components/renderers/mermaid-diagram.d.vue.ts +7 -0
  164. package/dist/runtime/components/renderers/mermaid-diagram.vue +165 -0
  165. package/dist/runtime/components/renderers/mermaid-diagram.vue.d.ts +7 -0
  166. package/dist/runtime/components/renderers/text-renderer.d.vue.ts +7 -0
  167. package/dist/runtime/components/renderers/text-renderer.vue +70 -0
  168. package/dist/runtime/components/renderers/text-renderer.vue.d.ts +7 -0
  169. package/dist/runtime/components/renderers/video-renderer.d.vue.ts +6 -0
  170. package/dist/runtime/components/renderers/video-renderer.vue +43 -0
  171. package/dist/runtime/components/renderers/video-renderer.vue.d.ts +6 -0
  172. package/dist/runtime/components/text-preview.d.vue.ts +19 -0
  173. package/dist/runtime/components/text-preview.vue +105 -0
  174. package/dist/runtime/components/text-preview.vue.d.ts +19 -0
  175. package/dist/runtime/components/video-preview.d.vue.ts +14 -0
  176. package/dist/runtime/components/video-preview.vue +55 -0
  177. package/dist/runtime/components/video-preview.vue.d.ts +14 -0
  178. package/dist/runtime/composables/PageNavigation.d.ts +13 -0
  179. package/dist/runtime/composables/PageNavigation.js +18 -0
  180. package/dist/runtime/composables/useChat.d.ts +25 -0
  181. package/dist/runtime/composables/useChat.js +512 -0
  182. package/dist/runtime/composables/useChatApi.d.ts +6 -0
  183. package/dist/runtime/composables/useChatApi.js +28 -0
  184. package/dist/runtime/composables/useConversationFiles.d.ts +13 -0
  185. package/dist/runtime/composables/useConversationFiles.js +98 -0
  186. package/dist/runtime/composables/useConversationFilesPanel.d.ts +11 -0
  187. package/dist/runtime/composables/useConversationFilesPanel.js +35 -0
  188. package/dist/runtime/composables/useConversations.d.ts +15 -0
  189. package/dist/runtime/composables/useConversations.js +191 -0
  190. package/dist/runtime/composables/useDiagramExport.d.ts +11 -0
  191. package/dist/runtime/composables/useDiagramExport.js +186 -0
  192. package/dist/runtime/composables/useEmbedConfig.d.ts +13 -0
  193. package/dist/runtime/composables/useEmbedConfig.js +11 -0
  194. package/dist/runtime/composables/useFeatureFlags.d.ts +19 -0
  195. package/dist/runtime/composables/useFeatureFlags.js +67 -0
  196. package/dist/runtime/composables/useFileDrop.d.ts +17 -0
  197. package/dist/runtime/composables/useFileDrop.js +89 -0
  198. package/dist/runtime/composables/useFilePreviewPanel.d.ts +30 -0
  199. package/dist/runtime/composables/useFilePreviewPanel.js +42 -0
  200. package/dist/runtime/composables/useFileUpload.d.ts +7 -0
  201. package/dist/runtime/composables/useFileUpload.js +39 -0
  202. package/dist/runtime/composables/useGitHubSkills.d.ts +6 -0
  203. package/dist/runtime/composables/useGitHubSkills.js +68 -0
  204. package/dist/runtime/composables/useGitHubSkillsCallback.d.ts +5 -0
  205. package/dist/runtime/composables/useGitHubSkillsCallback.js +42 -0
  206. package/dist/runtime/composables/useIDB.d.ts +11 -0
  207. package/dist/runtime/composables/useIDB.js +57 -0
  208. package/dist/runtime/composables/useInputHistory.d.ts +7 -0
  209. package/dist/runtime/composables/useInputHistory.js +36 -0
  210. package/dist/runtime/composables/useKnowledgeSources.d.ts +6 -0
  211. package/dist/runtime/composables/useKnowledgeSources.js +15 -0
  212. package/dist/runtime/composables/useMediaCache.d.ts +13 -0
  213. package/dist/runtime/composables/useMediaCache.js +92 -0
  214. package/dist/runtime/composables/useMentionAutocomplete.d.ts +10 -0
  215. package/dist/runtime/composables/useMentionAutocomplete.js +272 -0
  216. package/dist/runtime/composables/useMermaidRenderer.d.ts +5 -0
  217. package/dist/runtime/composables/useMermaidRenderer.js +121 -0
  218. package/dist/runtime/composables/usePdf.d.ts +21 -0
  219. package/dist/runtime/composables/usePdf.js +138 -0
  220. package/dist/runtime/composables/usePolling.d.ts +12 -0
  221. package/dist/runtime/composables/usePolling.js +55 -0
  222. package/dist/runtime/composables/useSelectedModel.d.ts +4 -0
  223. package/dist/runtime/composables/useSelectedModel.js +46 -0
  224. package/dist/runtime/composables/useSplashScreen.d.ts +3 -0
  225. package/dist/runtime/composables/useSplashScreen.js +4 -0
  226. package/dist/runtime/composables/useStatusToast.d.ts +22 -0
  227. package/dist/runtime/composables/useStatusToast.js +40 -0
  228. package/dist/runtime/composables/useTela.d.ts +12 -0
  229. package/dist/runtime/composables/useTela.js +47 -0
  230. package/dist/runtime/composables/useToolFormatting.d.ts +5 -0
  231. package/dist/runtime/composables/useToolFormatting.js +61 -0
  232. package/dist/runtime/composables/useVault.d.ts +13 -0
  233. package/dist/runtime/composables/useVault.js +35 -0
  234. package/dist/runtime/composables/useVerbConjugation.d.ts +6 -0
  235. package/dist/runtime/composables/useVerbConjugation.js +256 -0
  236. package/dist/runtime/composables/useWorkspaceContextFiles.d.ts +19 -0
  237. package/dist/runtime/composables/useWorkspaceContextFiles.js +74 -0
  238. package/dist/runtime/composables/useWorkspaceCredentials.d.ts +34 -0
  239. package/dist/runtime/composables/useWorkspaceCredentials.js +175 -0
  240. package/dist/runtime/composables/useWorkspaceExternalSkills.d.ts +22 -0
  241. package/dist/runtime/composables/useWorkspaceExternalSkills.js +135 -0
  242. package/dist/runtime/composables/useWorkspaceKnowledgeSources.d.ts +11 -0
  243. package/dist/runtime/composables/useWorkspaceKnowledgeSources.js +88 -0
  244. package/dist/runtime/composables/useWorkspaceMembers.d.ts +13 -0
  245. package/dist/runtime/composables/useWorkspaceMembers.js +37 -0
  246. package/dist/runtime/composables/useWorkspacePersonalization.d.ts +6 -0
  247. package/dist/runtime/composables/useWorkspacePersonalization.js +19 -0
  248. package/dist/runtime/composables/useWorkspaceSettings.d.ts +30 -0
  249. package/dist/runtime/composables/useWorkspaceSettings.js +135 -0
  250. package/dist/runtime/composables/useWorkspaceTelaTools.d.ts +13 -0
  251. package/dist/runtime/composables/useWorkspaceTelaTools.js +91 -0
  252. package/dist/runtime/composables/useWorkspaces.d.ts +5 -0
  253. package/dist/runtime/composables/useWorkspaces.js +14 -0
  254. package/dist/runtime/composables/useZoomPan.d.ts +18 -0
  255. package/dist/runtime/composables/useZoomPan.js +130 -0
  256. package/dist/runtime/embed/components/ChatEmbed.d.vue.ts +23 -0
  257. package/dist/runtime/embed/components/ChatEmbed.vue +27 -0
  258. package/dist/runtime/embed/components/ChatEmbed.vue.d.ts +23 -0
  259. package/dist/runtime/embed/components/ChatEmbedInner.d.vue.ts +19 -0
  260. package/dist/runtime/embed/components/ChatEmbedInner.vue +604 -0
  261. package/dist/runtime/embed/components/ChatEmbedInner.vue.d.ts +19 -0
  262. package/dist/runtime/public/favicon.svg +4 -0
  263. package/dist/runtime/public/files/archive.svg +9 -0
  264. package/dist/runtime/public/files/audio.svg +4 -0
  265. package/dist/runtime/public/files/c.svg +4 -0
  266. package/dist/runtime/public/files/cpp.svg +6 -0
  267. package/dist/runtime/public/files/css.svg +4 -0
  268. package/dist/runtime/public/files/doc.svg +5 -0
  269. package/dist/runtime/public/files/generic.svg +7 -0
  270. package/dist/runtime/public/files/go.svg +6 -0
  271. package/dist/runtime/public/files/html.svg +4 -0
  272. package/dist/runtime/public/files/image.svg +3 -0
  273. package/dist/runtime/public/files/java.svg +7 -0
  274. package/dist/runtime/public/files/javascript.svg +4 -0
  275. package/dist/runtime/public/files/json.svg +5 -0
  276. package/dist/runtime/public/files/markdown.svg +5 -0
  277. package/dist/runtime/public/files/pdf.svg +5 -0
  278. package/dist/runtime/public/files/presentation.svg +5 -0
  279. package/dist/runtime/public/files/python.svg +5 -0
  280. package/dist/runtime/public/files/ruby.svg +5 -0
  281. package/dist/runtime/public/files/rust.svg +13 -0
  282. package/dist/runtime/public/files/sheet.svg +9 -0
  283. package/dist/runtime/public/files/shell.svg +5 -0
  284. package/dist/runtime/public/files/sql.svg +6 -0
  285. package/dist/runtime/public/files/typescript.svg +5 -0
  286. package/dist/runtime/public/files/video.svg +5 -0
  287. package/dist/runtime/public/files/yaml.svg +7 -0
  288. package/dist/runtime/public/github.svg +3 -0
  289. package/dist/runtime/public/robots.txt +1 -0
  290. package/dist/runtime/server/api/admin/trigger-usage-report.post.d.ts +2 -0
  291. package/dist/runtime/server/api/admin/trigger-usage-report.post.js +15 -0
  292. package/dist/runtime/server/api/chat/conversations/[id]/cancel.post.d.ts +1 -0
  293. package/dist/runtime/server/api/chat/conversations/[id]/cancel.post.js +1 -0
  294. package/dist/runtime/server/api/chat/conversations/[id]/clear.post.d.ts +1 -0
  295. package/dist/runtime/server/api/chat/conversations/[id]/clear.post.js +1 -0
  296. package/dist/runtime/server/api/chat/conversations/[id]/duplicate.post.d.ts +1 -0
  297. package/dist/runtime/server/api/chat/conversations/[id]/duplicate.post.js +1 -0
  298. package/dist/runtime/server/api/chat/conversations/[id]/files.get.d.ts +1 -0
  299. package/dist/runtime/server/api/chat/conversations/[id]/files.get.js +1 -0
  300. package/dist/runtime/server/api/chat/conversations/[id]/index.delete.d.ts +1 -0
  301. package/dist/runtime/server/api/chat/conversations/[id]/index.delete.js +1 -0
  302. package/dist/runtime/server/api/chat/conversations/[id]/index.get.d.ts +1 -0
  303. package/dist/runtime/server/api/chat/conversations/[id]/index.get.js +1 -0
  304. package/dist/runtime/server/api/chat/conversations/[id]/index.patch.d.ts +1 -0
  305. package/dist/runtime/server/api/chat/conversations/[id]/index.patch.js +1 -0
  306. package/dist/runtime/server/api/chat/conversations/[id]/messages/[messageId]/retry.post.d.ts +1 -0
  307. package/dist/runtime/server/api/chat/conversations/[id]/messages/[messageId]/retry.post.js +1 -0
  308. package/dist/runtime/server/api/chat/conversations/[id]/messages/index.get.d.ts +1 -0
  309. package/dist/runtime/server/api/chat/conversations/[id]/messages/index.get.js +1 -0
  310. package/dist/runtime/server/api/chat/conversations/[id]/messages/index.post.d.ts +1 -0
  311. package/dist/runtime/server/api/chat/conversations/[id]/messages/index.post.js +1 -0
  312. package/dist/runtime/server/api/chat/conversations/[id]/usage.get.d.ts +1 -0
  313. package/dist/runtime/server/api/chat/conversations/[id]/usage.get.js +1 -0
  314. package/dist/runtime/server/api/chat/conversations/generate-title.post.d.ts +1 -0
  315. package/dist/runtime/server/api/chat/conversations/generate-title.post.js +1 -0
  316. package/dist/runtime/server/api/chat/conversations/index.get.d.ts +1 -0
  317. package/dist/runtime/server/api/chat/conversations/index.get.js +1 -0
  318. package/dist/runtime/server/api/chat/conversations/index.post.d.ts +1 -0
  319. package/dist/runtime/server/api/chat/conversations/index.post.js +1 -0
  320. package/dist/runtime/server/api/chat/workspace/settings.get.d.ts +2 -0
  321. package/dist/runtime/server/api/chat/workspace/settings.get.js +14 -0
  322. package/dist/runtime/server/api/conversations/[id]/cancel.post.d.ts +2 -0
  323. package/dist/runtime/server/api/conversations/[id]/cancel.post.js +58 -0
  324. package/dist/runtime/server/api/conversations/[id]/clear.post.d.ts +2 -0
  325. package/dist/runtime/server/api/conversations/[id]/clear.post.js +38 -0
  326. package/dist/runtime/server/api/conversations/[id]/duplicate.post.d.ts +2 -0
  327. package/dist/runtime/server/api/conversations/[id]/duplicate.post.js +41 -0
  328. package/dist/runtime/server/api/conversations/[id]/files.get.d.ts +2 -0
  329. package/dist/runtime/server/api/conversations/[id]/files.get.js +131 -0
  330. package/dist/runtime/server/api/conversations/[id]/index.delete.d.ts +2 -0
  331. package/dist/runtime/server/api/conversations/[id]/index.delete.js +35 -0
  332. package/dist/runtime/server/api/conversations/[id]/index.get.d.ts +2 -0
  333. package/dist/runtime/server/api/conversations/[id]/index.get.js +34 -0
  334. package/dist/runtime/server/api/conversations/[id]/index.patch.d.ts +2 -0
  335. package/dist/runtime/server/api/conversations/[id]/index.patch.js +54 -0
  336. package/dist/runtime/server/api/conversations/[id]/messages/[messageId]/retry.post.d.ts +2 -0
  337. package/dist/runtime/server/api/conversations/[id]/messages/[messageId]/retry.post.js +168 -0
  338. package/dist/runtime/server/api/conversations/[id]/messages/index.get.d.ts +2 -0
  339. package/dist/runtime/server/api/conversations/[id]/messages/index.get.js +220 -0
  340. package/dist/runtime/server/api/conversations/[id]/messages/index.post.d.ts +2 -0
  341. package/dist/runtime/server/api/conversations/[id]/messages/index.post.js +181 -0
  342. package/dist/runtime/server/api/conversations/[id]/usage.get.d.ts +8 -0
  343. package/dist/runtime/server/api/conversations/[id]/usage.get.js +96 -0
  344. package/dist/runtime/server/api/conversations/generate-title.post.d.ts +2 -0
  345. package/dist/runtime/server/api/conversations/generate-title.post.js +49 -0
  346. package/dist/runtime/server/api/conversations/index.get.d.ts +2 -0
  347. package/dist/runtime/server/api/conversations/index.get.js +11 -0
  348. package/dist/runtime/server/api/conversations/index.post.d.ts +2 -0
  349. package/dist/runtime/server/api/conversations/index.post.js +41 -0
  350. package/dist/runtime/server/api/external-skills/discover.post.d.ts +2 -0
  351. package/dist/runtime/server/api/external-skills/discover.post.js +65 -0
  352. package/dist/runtime/server/api/github/disconnect.post.d.ts +2 -0
  353. package/dist/runtime/server/api/github/disconnect.post.js +21 -0
  354. package/dist/runtime/server/api/github/status.get.d.ts +2 -0
  355. package/dist/runtime/server/api/github/status.get.js +23 -0
  356. package/dist/runtime/server/api/tela/canvas.get.d.ts +2 -0
  357. package/dist/runtime/server/api/tela/canvas.get.js +18 -0
  358. package/dist/runtime/server/api/tela/projects.get.d.ts +2 -0
  359. package/dist/runtime/server/api/tela/projects.get.js +9 -0
  360. package/dist/runtime/server/api/tela/workspaces.get.d.ts +2 -0
  361. package/dist/runtime/server/api/tela/workspaces.get.js +9 -0
  362. package/dist/runtime/server/api/tela/workstations.get.d.ts +2 -0
  363. package/dist/runtime/server/api/tela/workstations.get.js +24 -0
  364. package/dist/runtime/server/api/vault/permalink-metadata.post.d.ts +2 -0
  365. package/dist/runtime/server/api/vault/permalink-metadata.post.js +77 -0
  366. package/dist/runtime/server/api/vault/resolve.post.d.ts +2 -0
  367. package/dist/runtime/server/api/vault/resolve.post.js +82 -0
  368. package/dist/runtime/server/api/vault/upload.post.d.ts +2 -0
  369. package/dist/runtime/server/api/vault/upload.post.js +55 -0
  370. package/dist/runtime/server/api/workspace/credentials/[id].delete.d.ts +2 -0
  371. package/dist/runtime/server/api/workspace/credentials/[id].delete.js +18 -0
  372. package/dist/runtime/server/api/workspace/credentials/[id].put.d.ts +2 -0
  373. package/dist/runtime/server/api/workspace/credentials/[id].put.js +28 -0
  374. package/dist/runtime/server/api/workspace/credentials/index.get.d.ts +2 -0
  375. package/dist/runtime/server/api/workspace/credentials/index.get.js +10 -0
  376. package/dist/runtime/server/api/workspace/credentials/index.post.d.ts +2 -0
  377. package/dist/runtime/server/api/workspace/credentials/index.post.js +33 -0
  378. package/dist/runtime/server/api/workspace/settings.get.d.ts +2 -0
  379. package/dist/runtime/server/api/workspace/settings.get.js +27 -0
  380. package/dist/runtime/server/api/workspace/settings.patch.d.ts +2 -0
  381. package/dist/runtime/server/api/workspace/settings.patch.js +86 -0
  382. package/dist/runtime/server/api/workspace/usage.get.d.ts +48 -0
  383. package/dist/runtime/server/api/workspace/usage.get.js +186 -0
  384. package/dist/runtime/server/db/index.d.ts +6 -0
  385. package/dist/runtime/server/db/index.js +19 -0
  386. package/dist/runtime/server/db/schema/conversation-usage.d.ts +438 -0
  387. package/dist/runtime/server/db/schema/conversation-usage.js +34 -0
  388. package/dist/runtime/server/db/schema/conversations.d.ts +197 -0
  389. package/dist/runtime/server/db/schema/conversations.js +18 -0
  390. package/dist/runtime/server/db/schema/external-skills.d.ts +235 -0
  391. package/dist/runtime/server/db/schema/external-skills.js +26 -0
  392. package/dist/runtime/server/db/schema/index.d.ts +5 -0
  393. package/dist/runtime/server/db/schema/index.js +5 -0
  394. package/dist/runtime/server/db/schema/messages.d.ts +221 -0
  395. package/dist/runtime/server/db/schema/messages.js +19 -0
  396. package/dist/runtime/server/db/schema/workspace-settings.d.ts +164 -0
  397. package/dist/runtime/server/db/schema/workspace-settings.js +15 -0
  398. package/dist/runtime/server/db/schema.d.ts +1 -0
  399. package/dist/runtime/server/db/schema.js +1 -0
  400. package/dist/runtime/server/middleware/domain-validation.d.ts +2 -0
  401. package/dist/runtime/server/middleware/domain-validation.js +22 -0
  402. package/dist/runtime/server/middleware/request-logger.d.ts +2 -0
  403. package/dist/runtime/server/middleware/request-logger.js +15 -0
  404. package/dist/runtime/server/prompts/base-system.d.ts +2 -0
  405. package/dist/runtime/server/prompts/base-system.js +100 -0
  406. package/dist/runtime/server/prompts/base-system.md +99 -0
  407. package/dist/runtime/server/prompts/knowledge-sources.d.ts +2 -0
  408. package/dist/runtime/server/prompts/knowledge-sources.js +37 -0
  409. package/dist/runtime/server/prompts/knowledge-sources.md +36 -0
  410. package/dist/runtime/server/tasks/send-daily-usage-report.d.ts +2 -0
  411. package/dist/runtime/server/tasks/send-daily-usage-report.js +73 -0
  412. package/dist/runtime/server/tsconfig.json +21 -0
  413. package/dist/runtime/server/utils/agent-api.d.ts +39 -0
  414. package/dist/runtime/server/utils/agent-api.js +169 -0
  415. package/dist/runtime/server/utils/auth-api.d.ts +1 -0
  416. package/dist/runtime/server/utils/auth-api.js +25 -0
  417. package/dist/runtime/server/utils/auth.d.ts +17 -0
  418. package/dist/runtime/server/utils/auth.js +28 -0
  419. package/dist/runtime/server/utils/billing.d.ts +37 -0
  420. package/dist/runtime/server/utils/billing.js +68 -0
  421. package/dist/runtime/server/utils/chat-context.d.ts +9 -0
  422. package/dist/runtime/server/utils/chat-context.js +24 -0
  423. package/dist/runtime/server/utils/chat-message-builder.d.ts +4 -0
  424. package/dist/runtime/server/utils/chat-message-builder.js +39 -0
  425. package/dist/runtime/server/utils/chat-prompts.d.ts +7 -0
  426. package/dist/runtime/server/utils/chat-prompts.js +9 -0
  427. package/dist/runtime/server/utils/chat-workspace-settings.d.ts +16 -0
  428. package/dist/runtime/server/utils/chat-workspace-settings.js +115 -0
  429. package/dist/runtime/server/utils/external-skills.d.ts +2 -0
  430. package/dist/runtime/server/utils/external-skills.js +15 -0
  431. package/dist/runtime/server/utils/logger.d.ts +2 -0
  432. package/dist/runtime/server/utils/logger.js +12 -0
  433. package/dist/runtime/server/utils/slack.d.ts +32 -0
  434. package/dist/runtime/server/utils/slack.js +102 -0
  435. package/dist/runtime/server/utils/tela-api.d.ts +2 -0
  436. package/dist/runtime/server/utils/tela-api.js +29 -0
  437. package/dist/runtime/server/utils/vault.d.ts +3 -0
  438. package/dist/runtime/server/utils/vault.js +52 -0
  439. package/dist/runtime/server/utils/workspace-settings-resolver.stub.d.ts +2 -0
  440. package/dist/runtime/server/utils/workspace-settings-resolver.stub.js +1 -0
  441. package/dist/runtime/server/utils/workspace.d.ts +4 -0
  442. package/dist/runtime/server/utils/workspace.js +21 -0
  443. package/dist/runtime/types/agent.d.ts +168 -0
  444. package/dist/runtime/types/agent.js +95 -0
  445. package/dist/runtime/types/chat-workspace-settings-resolver.d.ts +4 -0
  446. package/dist/runtime/types/chat.d.ts +81 -0
  447. package/dist/runtime/types/chat.js +12 -0
  448. package/dist/runtime/types/credential.d.ts +8 -0
  449. package/dist/runtime/types/credential.js +0 -0
  450. package/dist/runtime/types/csv.d.ts +4 -0
  451. package/dist/runtime/types/csv.js +0 -0
  452. package/dist/runtime/types/external-skills.d.ts +8 -0
  453. package/dist/runtime/types/external-skills.js +0 -0
  454. package/dist/runtime/types/feature-flags.d.ts +7 -0
  455. package/dist/runtime/types/feature-flags.js +6 -0
  456. package/dist/runtime/types/reasoning.d.ts +17 -0
  457. package/dist/runtime/types/reasoning.js +0 -0
  458. package/dist/runtime/types/tela.d.ts +46 -0
  459. package/dist/runtime/types/tela.js +0 -0
  460. package/dist/runtime/types/workspace.d.ts +20 -0
  461. package/dist/runtime/types/workspace.js +0 -0
  462. package/dist/runtime/utils/calculate-usage.d.ts +48 -0
  463. package/dist/runtime/utils/calculate-usage.js +63 -0
  464. package/dist/runtime/utils/code-detection.d.ts +1 -0
  465. package/dist/runtime/utils/code-detection.js +24 -0
  466. package/dist/runtime/utils/export-conversation.d.ts +2 -0
  467. package/dist/runtime/utils/export-conversation.js +43 -0
  468. package/dist/runtime/utils/file.d.ts +46 -0
  469. package/dist/runtime/utils/file.js +500 -0
  470. package/dist/runtime/utils/format-time.d.ts +22 -0
  471. package/dist/runtime/utils/format-time.js +96 -0
  472. package/dist/runtime/utils/markdown-nodes.d.ts +22 -0
  473. package/dist/runtime/utils/markdown-nodes.js +40 -0
  474. package/dist/runtime/utils/string.d.ts +4 -0
  475. package/dist/runtime/utils/string.js +5 -0
  476. package/dist/runtime/utils/tela-chat.d.ts +19 -0
  477. package/dist/runtime/utils/tela-chat.js +20 -0
  478. package/dist/types.d.mts +7 -0
  479. package/package.json +72 -0
@@ -0,0 +1,287 @@
1
+ <script setup>
2
+ import ChatReasoningSteps from "./reasoning-steps.vue";
3
+ const props = defineProps({
4
+ reasoningData: { type: Array, required: true },
5
+ completed: { type: Boolean, required: true },
6
+ animate: { type: Boolean, required: false },
7
+ createdAt: { type: [Date, String], required: true },
8
+ updatedAt: { type: [Date, String, null], required: false }
9
+ });
10
+ const SUCCESS_ANIMATION_DURATION_MS = 1e3;
11
+ const DOT_ANIMATION_INTERVAL_MS = 500;
12
+ const AUTO_COLLAPSE_DELAY_MS = 1500;
13
+ const TEXT_TRUNCATE_LENGTH = 40;
14
+ const isExpanded = ref(false);
15
+ const userHasExpanded = ref(false);
16
+ const showingSuccess = ref(false);
17
+ const wasEverPending = ref(!props.completed);
18
+ const previewContainer = ref(null);
19
+ const dotCount = ref(0);
20
+ const elapsedTime = ref(0);
21
+ let dotInterval;
22
+ let timerInterval;
23
+ const storageKey = computed(() => `reasoning-timer-${new Date(props.createdAt).getTime()}`);
24
+ const { getDisplayName } = useToolFormatting();
25
+ const showGradient = computed(() => !props.completed && !isExpanded.value);
26
+ const groupedReasoning = computed(() => {
27
+ if (!props.reasoningData || !Array.isArray(props.reasoningData))
28
+ return [];
29
+ return props.reasoningData;
30
+ });
31
+ const hasReasoning = computed(() => groupedReasoning.value.length > 0);
32
+ const lastStep = computed(() => {
33
+ const steps = groupedReasoning.value;
34
+ return steps.length > 0 ? steps[steps.length - 1] : null;
35
+ });
36
+ const currentStepName = computed(() => {
37
+ if (!hasReasoning.value)
38
+ return null;
39
+ const step = lastStep.value;
40
+ if (step && typeof step !== "string" && step.type === "tool_group") {
41
+ return getDisplayName(step.toolUse.name);
42
+ }
43
+ if (step && typeof step === "string") {
44
+ const truncated = step.length > TEXT_TRUNCATE_LENGTH ? `${step.slice(0, TEXT_TRUNCATE_LENGTH)}...` : step;
45
+ return truncated;
46
+ }
47
+ return "Trabalhando";
48
+ });
49
+ const thinkingDuration = computed(() => {
50
+ if (!props.updatedAt)
51
+ return null;
52
+ const start = new Date(props.createdAt).getTime();
53
+ const end = new Date(props.updatedAt).getTime();
54
+ return end - start;
55
+ });
56
+ const formattedDuration = computed(() => {
57
+ if (!thinkingDuration.value)
58
+ return null;
59
+ const seconds = Math.round(thinkingDuration.value / 1e3);
60
+ if (seconds < 60)
61
+ return `${seconds}s`;
62
+ const minutes = Math.floor(seconds / 60);
63
+ const remainingSeconds = seconds % 60;
64
+ if (remainingSeconds === 0)
65
+ return `${minutes}m`;
66
+ return `${minutes}m ${remainingSeconds}s`;
67
+ });
68
+ const liveFormattedDuration = computed(() => {
69
+ const seconds = Math.round(elapsedTime.value / 1e3);
70
+ return seconds > 0 ? `${seconds}s` : "";
71
+ });
72
+ const loadingText = computed(() => {
73
+ const dots = ".".repeat(dotCount.value);
74
+ return `${currentStepName.value}${dots}`;
75
+ });
76
+ function toggleExpanded() {
77
+ userHasExpanded.value = true;
78
+ isExpanded.value = !isExpanded.value;
79
+ }
80
+ function scheduleScroll() {
81
+ requestAnimationFrame(() => {
82
+ if (!previewContainer.value)
83
+ return;
84
+ previewContainer.value.scrollTop = previewContainer.value.scrollHeight;
85
+ });
86
+ }
87
+ watch(() => groupedReasoning.value.length, () => {
88
+ if (props.completed || isExpanded.value || !previewContainer.value) {
89
+ return;
90
+ }
91
+ scheduleScroll();
92
+ });
93
+ watch(() => props.completed, (newCompleted, oldCompleted) => {
94
+ if (!newCompleted) {
95
+ wasEverPending.value = true;
96
+ }
97
+ if (newCompleted && !oldCompleted && wasEverPending.value) {
98
+ showingSuccess.value = true;
99
+ setTimeout(() => {
100
+ showingSuccess.value = false;
101
+ if (!userHasExpanded.value) {
102
+ setTimeout(() => {
103
+ isExpanded.value = false;
104
+ }, AUTO_COLLAPSE_DELAY_MS);
105
+ }
106
+ }, SUCCESS_ANIMATION_DURATION_MS);
107
+ }
108
+ });
109
+ watch(isExpanded, (newExpanded, oldExpanded) => {
110
+ if (!newExpanded && oldExpanded) {
111
+ nextTick(() => {
112
+ scheduleScroll();
113
+ });
114
+ }
115
+ });
116
+ watch(() => props.completed, (isCompleted) => {
117
+ if (!isCompleted && !dotInterval) {
118
+ dotInterval = setInterval(() => {
119
+ dotCount.value = (dotCount.value + 1) % 4;
120
+ }, DOT_ANIMATION_INTERVAL_MS);
121
+ } else if (isCompleted && dotInterval) {
122
+ clearInterval(dotInterval);
123
+ dotInterval = void 0;
124
+ }
125
+ }, { immediate: true });
126
+ watch(() => props.completed, (isCompleted) => {
127
+ if (!isCompleted && !timerInterval) {
128
+ const startTime = new Date(props.createdAt).getTime();
129
+ if (typeof window !== "undefined") {
130
+ localStorage.setItem(storageKey.value, startTime.toString());
131
+ }
132
+ elapsedTime.value = Date.now() - startTime;
133
+ timerInterval = setInterval(() => {
134
+ elapsedTime.value = Date.now() - startTime;
135
+ }, 1e3);
136
+ } else if (isCompleted && timerInterval) {
137
+ clearInterval(timerInterval);
138
+ timerInterval = void 0;
139
+ if (typeof window !== "undefined") {
140
+ localStorage.removeItem(storageKey.value);
141
+ }
142
+ }
143
+ }, { immediate: true });
144
+ onMounted(() => {
145
+ if (!props.completed && typeof window !== "undefined") {
146
+ const storedStartTime = localStorage.getItem(storageKey.value);
147
+ if (storedStartTime) {
148
+ const startTime = Number.parseInt(storedStartTime, 10);
149
+ elapsedTime.value = Date.now() - startTime;
150
+ }
151
+ }
152
+ if (hasReasoning.value && !isExpanded.value) {
153
+ nextTick(() => {
154
+ scheduleScroll();
155
+ });
156
+ }
157
+ });
158
+ onUnmounted(() => {
159
+ if (dotInterval)
160
+ clearInterval(dotInterval);
161
+ if (timerInterval)
162
+ clearInterval(timerInterval);
163
+ });
164
+ </script>
165
+
166
+ <template>
167
+ <div flex="~ col" w-full>
168
+ <!-- Sem reasoning ainda: ChatThinkingIndicator padrão -->
169
+ <ChatThinkingIndicator v-if="!completed && !hasReasoning" key="thinking" />
170
+
171
+ <!-- Com reasoning (loading ou completo): header clicável + steps colapsáveis -->
172
+ <div v-else-if="hasReasoning" key="reasoning">
173
+ <button
174
+ type="button"
175
+ class="group"
176
+ flex
177
+ items-center
178
+ gap-4px
179
+ px-16px
180
+ pt-16px
181
+ pb-8px
182
+ w-full
183
+ text-left
184
+ transition-colors
185
+ rounded-8px
186
+ cursor-pointer
187
+ :aria-expanded="isExpanded"
188
+ :aria-busy="!completed"
189
+ aria-label="Toggle reasoning steps"
190
+ @click="toggleExpanded"
191
+ >
192
+ <span
193
+ v-if="completed && showingSuccess"
194
+ key="success-text"
195
+ class="text-16px static-gradient-text"
196
+ >
197
+ Trabalho concluído
198
+ </span>
199
+ <div
200
+ v-else-if="completed"
201
+ key="completed-text"
202
+ class="text-16px flex items-center gap-4px"
203
+ >
204
+ <span class="text-secondary group-hover:text-gray-900 transition-colors">Trabalhou por</span>
205
+ <span class="text-tertiary group-hover:text-gray-900 transition-colors">{{ formattedDuration || "alguns momentos" }}</span>
206
+ </div>
207
+ <div
208
+ v-else
209
+ key="loading-text"
210
+ class="text-16px flex items-center gap-8px"
211
+ >
212
+ <span
213
+ :class="hasReasoning ? 'text-gray-700' : 'running-gradient-text'"
214
+ >
215
+ {{ hasReasoning ? currentStepName : loadingText }}
216
+ </span>
217
+ <span
218
+ v-if="liveFormattedDuration"
219
+ class="text-12px text-gray-500 timer-mono"
220
+ >
221
+ ({{ liveFormattedDuration }})
222
+ </span>
223
+ </div>
224
+
225
+ <div
226
+ i-ph-caret-right
227
+ text-12px
228
+ text-gray-500
229
+ group-hover:text-gray-700
230
+ transition-all
231
+ duration-200
232
+ :class="{ 'rotate-90': isExpanded }"
233
+ />
234
+ </button>
235
+
236
+ <!-- Preview mode: Always visible during loading, with gradient -->
237
+ <div
238
+ v-if="!completed && !isExpanded"
239
+ border="~ 0.5 default rounded-16px"
240
+ m-16px
241
+ cursor-pointer
242
+ @click="toggleExpanded"
243
+ >
244
+ <div
245
+ ref="previewContainer"
246
+ class="preview-container"
247
+ :class="{ 'with-gradient': showGradient }"
248
+ >
249
+ <ChatReasoningSteps
250
+ :reasoning-data="reasoningData"
251
+ :animate="animate && !completed"
252
+ :completed="completed"
253
+ :is-preview-mode="true"
254
+ />
255
+ </div>
256
+ </div>
257
+
258
+ <!-- Expanded mode: Full content without gradient -->
259
+ <Transition
260
+ enter-active-class="transition-all duration-300 ease-out"
261
+ leave-active-class="transition-all duration-200 ease-in"
262
+ enter-from-class="opacity-0 -translate-y-8px max-h-0"
263
+ enter-to-class="opacity-100 translate-y-0 max-h-[2000px]"
264
+ leave-from-class="opacity-100 translate-y-0 max-h-[2000px]"
265
+ leave-to-class="opacity-0 -translate-y-8px max-h-0"
266
+ >
267
+ <div
268
+ v-if="isExpanded"
269
+ overflow-hidden
270
+ border="~ 0.5 default rounded-16px"
271
+ mx-16px
272
+ mb-16px
273
+ >
274
+ <ChatReasoningSteps
275
+ :reasoning-data="reasoningData"
276
+ :animate="animate && !completed"
277
+ :completed="completed"
278
+ />
279
+ </div>
280
+ </Transition>
281
+ </div>
282
+ </div>
283
+ </template>
284
+
285
+ <style scoped>
286
+ .running-gradient-text{background:linear-gradient(90deg,#9da2aa,#f4f5f7 50%,#9da2aa);background-clip:text;-webkit-background-clip:text;background-size:200% 100%;-webkit-text-fill-color:transparent;animation:gradientAnimation 1.5s linear infinite}.static-gradient-text{color:#9da2aa}.preview-container{max-height:153px;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:none;-ms-overflow-style:none}.preview-container.with-gradient{mask-image:linear-gradient(180deg,transparent 0,#000 60%,#000);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 60%,#000)}.preview-container::-webkit-scrollbar{display:none}@keyframes gradientAnimation{0%{background-position:200% 50%}to{background-position:0 50%}}.loading-dot{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.success-check{animation:successFade .2s ease-out}@keyframes successFade{0%{opacity:0}to{opacity:1}}.timer-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,Monaco,Cascadia Mono,Segoe UI Mono,Roboto Mono,Oxygen Mono,"Ubuntu Monospace",Source Code Pro,Fira Mono,Droid Sans Mono,Courier New,monospace;font-variant-numeric:tabular-nums}
287
+ </style>
@@ -0,0 +1,11 @@
1
+ import type { ReasoningStep } from '../../types/reasoning.js';
2
+ type __VLS_Props = {
3
+ reasoningData: ReasoningStep[];
4
+ completed: boolean;
5
+ animate?: boolean;
6
+ createdAt: Date | string;
7
+ updatedAt?: Date | string | null;
8
+ };
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { ToolUse, ToolResult } from '../../types/reasoning.js';
2
+ type __VLS_Props = {
3
+ toolUse: ToolUse;
4
+ toolResult?: ToolResult;
5
+ isActive?: boolean;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,94 @@
1
+ <script setup>
2
+ import { isCodeLike } from "../../utils/code-detection";
3
+ const props = defineProps({
4
+ toolUse: { type: Object, required: true },
5
+ toolResult: { type: Object, required: false },
6
+ isActive: { type: Boolean, required: false }
7
+ });
8
+ const skillName = computed(() => {
9
+ const skill = props.toolUse.input?.skill;
10
+ return typeof skill === "string" ? skill : "Canvas";
11
+ });
12
+ const statusVariant = computed(() => {
13
+ if (props.toolResult) {
14
+ return props.toolResult.isError ? "error" : "completed";
15
+ }
16
+ return "executing";
17
+ });
18
+ const statusLabel = computed(() => {
19
+ if (props.toolResult) {
20
+ return props.toolResult.isError ? "Erro na execu\xE7\xE3o" : "Conclu\xEDdo";
21
+ }
22
+ return "Executando...";
23
+ });
24
+ const isLogsCode = computed(() => {
25
+ if (!props.toolResult?.output)
26
+ return false;
27
+ return isCodeLike(props.toolResult.output);
28
+ });
29
+ const hasArgs = computed(() => {
30
+ const args = props.toolUse.input?.args;
31
+ return args && typeof args === "string" && args.trim().length > 0;
32
+ });
33
+ const argsValue = computed(() => {
34
+ const args = props.toolUse.input?.args;
35
+ return typeof args === "string" ? args : "";
36
+ });
37
+ </script>
38
+
39
+ <template>
40
+ <div class="bg-subtle rounded-16px border border-gray-200">
41
+ <!-- Header -->
42
+ <div class="px-24px py-24px flex items-center justify-between">
43
+ <h3 class="text-20px font-580 leading-24px tracking-[-0.5px] text-primary truncate">
44
+ {{ skillName }}
45
+ </h3>
46
+ <TelaStatus :variant="statusVariant" :label="statusLabel" />
47
+ </div>
48
+
49
+ <!-- Content -->
50
+ <div v-if="toolResult" class="px-24px pb-24px space-y-16px">
51
+ <!-- Arguments section -->
52
+ <div v-if="hasArgs">
53
+ <div class="text-14px font-580 leading-16px tracking-[-0.15px] text-gray-700 mb-2">
54
+ Argumentos
55
+ </div>
56
+ <div class="bg-white rounded-xl border-0.5px border-gray-200 px-3 py-2">
57
+ <p class="text-14px text-primary font-mono break-words m-0">
58
+ {{ argsValue }}
59
+ </p>
60
+ </div>
61
+ </div>
62
+
63
+ <!-- Logs section -->
64
+ <div>
65
+ <div class="text-14px font-580 leading-16px tracking-[-0.15px] text-gray-700 mb-2">
66
+ Logs
67
+ </div>
68
+ <div
69
+ v-if="isLogsCode"
70
+ class="bg-[#1e1e1e] rounded-8px p-12px overflow-auto max-h-200px"
71
+ >
72
+ <pre class="font-mono text-12px text-gray-300 whitespace-pre-wrap break-words m-0"><code>{{ toolResult.output }}</code></pre>
73
+ </div>
74
+ <div
75
+ v-else-if="!toolResult.output || toolResult.output.trim().length === 0"
76
+ class="bg-white rounded-xl border-0.5px border-gray-200 px-3 py-2"
77
+ >
78
+ <p class="text-14px text-tertiary m-0">
79
+ Nenhum log disponível
80
+ </p>
81
+ </div>
82
+ <div
83
+ v-else
84
+ class="bg-white rounded-xl border-0.5px border-gray-200 px-3 py-2"
85
+ :class="toolResult.isError ? 'text-red-600' : 'text-primary'"
86
+ >
87
+ <p class="text-14px whitespace-pre-wrap break-words m-0">
88
+ {{ toolResult.output }}
89
+ </p>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </template>
@@ -0,0 +1,9 @@
1
+ import type { ToolUse, ToolResult } from '../../types/reasoning.js';
2
+ type __VLS_Props = {
3
+ toolUse: ToolUse;
4
+ toolResult?: ToolResult;
5
+ isActive?: boolean;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,52 @@
1
+ <script setup>
2
+ const loadingTexts = [
3
+ "Analisando sua pergunta",
4
+ "Processando informa\xE7\xF5es",
5
+ "Consultando base de conhecimento",
6
+ "Organizando ideias",
7
+ "Elaborando resposta",
8
+ "Refinando detalhes",
9
+ "Verificando contexto",
10
+ "Conectando conceitos",
11
+ "Preparando resultado",
12
+ "Quase l\xE1",
13
+ "Finalizando an\xE1lise",
14
+ "Estruturando resposta"
15
+ ];
16
+ const currentTextIndex = ref(0);
17
+ const dotCount = ref(0);
18
+ const currentText = computed(() => {
19
+ const base = loadingTexts[currentTextIndex.value];
20
+ const dots = ".".repeat(dotCount.value);
21
+ return `${base}${dots}`;
22
+ });
23
+ let dotInterval;
24
+ let textInterval;
25
+ onMounted(() => {
26
+ dotInterval = setInterval(() => {
27
+ dotCount.value = (dotCount.value + 1) % 4;
28
+ }, 500);
29
+ textInterval = setInterval(() => {
30
+ currentTextIndex.value = (currentTextIndex.value + 1) % loadingTexts.length;
31
+ dotCount.value = 0;
32
+ }, 7e3);
33
+ });
34
+ onUnmounted(() => {
35
+ if (dotInterval)
36
+ clearInterval(dotInterval);
37
+ if (textInterval)
38
+ clearInterval(textInterval);
39
+ });
40
+ </script>
41
+
42
+ <template>
43
+ <div flex justify-start pl-16px py-16px>
44
+ <span class="running-gradient-text" body-16-regular>
45
+ {{ currentText }}
46
+ </span>
47
+ </div>
48
+ </template>
49
+
50
+ <style scoped>
51
+ .running-gradient-text{background:linear-gradient(90deg,#9da2aa,#f4f5f7 50%,#9da2aa);background-clip:text;-webkit-background-clip:text;background-size:200% 100%;-webkit-text-fill-color:transparent;animation:gradientAnimation 1.5s linear infinite}@keyframes gradientAnimation{0%{background-position:200% 50%}to{background-position:0 50%}}
52
+ </style>
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ content: string;
3
+ isActive?: boolean;
4
+ completed?: boolean;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,53 @@
1
+ <script setup>
2
+ const props = defineProps({
3
+ content: { type: String, required: true },
4
+ isActive: { type: Boolean, required: false },
5
+ completed: { type: Boolean, required: false }
6
+ });
7
+ const statusVariant = computed(() => {
8
+ if (props.completed) {
9
+ return "completed";
10
+ }
11
+ return "processing";
12
+ });
13
+ const statusLabel = computed(() => {
14
+ if (props.completed) {
15
+ return "Conclu\xEDdo";
16
+ }
17
+ return "Executando...";
18
+ });
19
+ const title = computed(() => {
20
+ return "Pensando";
21
+ });
22
+ </script>
23
+
24
+ <template>
25
+ <div class="bg-subtle rounded-16px border border-gray-200">
26
+ <!-- Header -->
27
+ <div class="px-24px py-24px flex items-center justify-between">
28
+ <h3 class="text-20px font-580 leading-24px tracking-[-0.5px] text-primary truncate">
29
+ {{ title }}
30
+ </h3>
31
+ <TelaStatus :variant="statusVariant" :label="statusLabel" />
32
+ </div>
33
+
34
+ <!-- Content -->
35
+ <div class="px-24px pb-24px">
36
+ <div class="bg-white rounded-xl border-0.5px border-gray-200 px-3 py-2">
37
+ <div class="reasoning-markdown text-14px text-primary">
38
+ <ClientOnly>
39
+ <AppMarkdownRender
40
+ :content="content"
41
+ :render-code-blocks-as-pre="true"
42
+ :typewriter="false"
43
+ />
44
+ </ClientOnly>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </template>
50
+
51
+ <style scoped>
52
+ .reasoning-markdown :deep(p){font-size:14px;margin-bottom:8px}.reasoning-markdown :deep(p:last-child){margin-bottom:0}.reasoning-markdown :deep(*){font-size:14px}
53
+ </style>
@@ -0,0 +1,8 @@
1
+ type __VLS_Props = {
2
+ content: string;
3
+ isActive?: boolean;
4
+ completed?: boolean;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,43 @@
1
+ import type { TopbarTab } from '../../types/chat.js';
2
+ type __VLS_Props = {
3
+ title: string;
4
+ creatorName?: string;
5
+ creatorEmail?: string;
6
+ creatorImage?: string;
7
+ updatedAt: string | Date;
8
+ isEditing: boolean;
9
+ editTitle: string;
10
+ generatingTitle?: boolean;
11
+ filesCount?: number;
12
+ activeTab?: TopbarTab;
13
+ showOutdatedBadge?: boolean;
14
+ showUsageTab?: boolean;
15
+ showDebugOption?: boolean;
16
+ };
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
18
+ saveTitle: () => any;
19
+ cancelEditing: () => any;
20
+ "update:isEditing": (value: boolean) => any;
21
+ "update:editTitle": (value: string) => any;
22
+ rename: () => any;
23
+ duplicate: () => any;
24
+ export: () => any;
25
+ copyLink: () => any;
26
+ debug: () => any;
27
+ delete: () => any;
28
+ tabChange: (tab: TopbarTab) => any;
29
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
30
+ onSaveTitle?: (() => any) | undefined;
31
+ onCancelEditing?: (() => any) | undefined;
32
+ "onUpdate:isEditing"?: ((value: boolean) => any) | undefined;
33
+ "onUpdate:editTitle"?: ((value: string) => any) | undefined;
34
+ onRename?: (() => any) | undefined;
35
+ onDuplicate?: (() => any) | undefined;
36
+ onExport?: (() => any) | undefined;
37
+ onCopyLink?: (() => any) | undefined;
38
+ onDebug?: (() => any) | undefined;
39
+ onDelete?: (() => any) | undefined;
40
+ onTabChange?: ((tab: TopbarTab) => any) | undefined;
41
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
42
+ declare const _default: typeof __VLS_export;
43
+ export default _default;