@termix-it/vue-tool 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 (107) hide show
  1. package/README.md +650 -0
  2. package/dist/adapters/EthersV5Adapter.d.ts +20 -0
  3. package/dist/adapters/EthersV5Adapter.d.ts.map +1 -0
  4. package/dist/adapters/EthersV6Adapter.d.ts +20 -0
  5. package/dist/adapters/EthersV6Adapter.d.ts.map +1 -0
  6. package/dist/components/AP2PaymentFlow.vue.d.ts +44 -0
  7. package/dist/components/AP2PaymentFlow.vue.d.ts.map +1 -0
  8. package/dist/components/ChatInterface.vue.d.ts +67 -0
  9. package/dist/components/ChatInterface.vue.d.ts.map +1 -0
  10. package/dist/components/ChatWidget.vue.d.ts +80 -0
  11. package/dist/components/ChatWidget.vue.d.ts.map +1 -0
  12. package/dist/components/FunctionCallDisplay.vue.d.ts +38 -0
  13. package/dist/components/FunctionCallDisplay.vue.d.ts.map +1 -0
  14. package/dist/components/PaymentApprovalModal.vue.d.ts +46 -0
  15. package/dist/components/PaymentApprovalModal.vue.d.ts.map +1 -0
  16. package/dist/components/SourcesBadge.vue.d.ts +20 -0
  17. package/dist/components/SourcesBadge.vue.d.ts.map +1 -0
  18. package/dist/components/WalletConnect.vue.d.ts +24 -0
  19. package/dist/components/WalletConnect.vue.d.ts.map +1 -0
  20. package/dist/components/WalletIndicator.vue.d.ts +33 -0
  21. package/dist/components/WalletIndicator.vue.d.ts.map +1 -0
  22. package/dist/components/index.d.ts +14 -0
  23. package/dist/components/index.d.ts.map +1 -0
  24. package/dist/composables/index.d.ts +10 -0
  25. package/dist/composables/index.d.ts.map +1 -0
  26. package/dist/composables/useAP2Payment.d.ts +96 -0
  27. package/dist/composables/useAP2Payment.d.ts.map +1 -0
  28. package/dist/composables/useDI.d.ts +75 -0
  29. package/dist/composables/useDI.d.ts.map +1 -0
  30. package/dist/composables/useInternalDI.d.ts +23 -0
  31. package/dist/composables/useInternalDI.d.ts.map +1 -0
  32. package/dist/composables/useToast.d.ts +14 -0
  33. package/dist/composables/useToast.d.ts.map +1 -0
  34. package/dist/core/container.d.ts +99 -0
  35. package/dist/core/container.d.ts.map +1 -0
  36. package/dist/core/index.d.ts +4 -0
  37. package/dist/core/index.d.ts.map +1 -0
  38. package/dist/core/internal-container.d.ts +26 -0
  39. package/dist/core/internal-container.d.ts.map +1 -0
  40. package/dist/core/tokens.d.ts +44 -0
  41. package/dist/core/tokens.d.ts.map +1 -0
  42. package/dist/core/types.d.ts +104 -0
  43. package/dist/core/types.d.ts.map +1 -0
  44. package/dist/executors/AP2Executor.d.ts +20 -0
  45. package/dist/executors/AP2Executor.d.ts.map +1 -0
  46. package/dist/executors/APIExecutor.d.ts +35 -0
  47. package/dist/executors/APIExecutor.d.ts.map +1 -0
  48. package/dist/executors/ContractExecutor.d.ts +41 -0
  49. package/dist/executors/ContractExecutor.d.ts.map +1 -0
  50. package/dist/executors/ExecutorRegistry.d.ts +99 -0
  51. package/dist/executors/ExecutorRegistry.d.ts.map +1 -0
  52. package/dist/executors/FiatExecutor.d.ts +31 -0
  53. package/dist/executors/FiatExecutor.d.ts.map +1 -0
  54. package/dist/executors/base/BaseExecutor.d.ts +87 -0
  55. package/dist/executors/base/BaseExecutor.d.ts.map +1 -0
  56. package/dist/executors/base/index.d.ts +2 -0
  57. package/dist/executors/base/index.d.ts.map +1 -0
  58. package/dist/executors/index.d.ts +7 -0
  59. package/dist/executors/index.d.ts.map +1 -0
  60. package/dist/index.d.ts +11 -0
  61. package/dist/index.d.ts.map +1 -0
  62. package/dist/index.js +17473 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/interfaces/IAPIClient.d.ts +179 -0
  65. package/dist/interfaces/IAPIClient.d.ts.map +1 -0
  66. package/dist/interfaces/IEthersAdapter.d.ts +116 -0
  67. package/dist/interfaces/IEthersAdapter.d.ts.map +1 -0
  68. package/dist/interfaces/IExecutor.d.ts +64 -0
  69. package/dist/interfaces/IExecutor.d.ts.map +1 -0
  70. package/dist/interfaces/IRenderer.d.ts +117 -0
  71. package/dist/interfaces/IRenderer.d.ts.map +1 -0
  72. package/dist/interfaces/index.d.ts +5 -0
  73. package/dist/interfaces/index.d.ts.map +1 -0
  74. package/dist/lib/markdown.d.ts +21 -0
  75. package/dist/lib/markdown.d.ts.map +1 -0
  76. package/dist/lib/utils.d.ts +72 -0
  77. package/dist/lib/utils.d.ts.map +1 -0
  78. package/dist/renderers/AP2Renderer.d.ts +12 -0
  79. package/dist/renderers/AP2Renderer.d.ts.map +1 -0
  80. package/dist/renderers/APIRenderer.d.ts +12 -0
  81. package/dist/renderers/APIRenderer.d.ts.map +1 -0
  82. package/dist/renderers/BaseRenderer.d.ts +16 -0
  83. package/dist/renderers/BaseRenderer.d.ts.map +1 -0
  84. package/dist/renderers/ContractRenderer.d.ts +14 -0
  85. package/dist/renderers/ContractRenderer.d.ts.map +1 -0
  86. package/dist/renderers/FiatRenderer.d.ts +12 -0
  87. package/dist/renderers/FiatRenderer.d.ts.map +1 -0
  88. package/dist/renderers/RendererRegistry.d.ts +78 -0
  89. package/dist/renderers/RendererRegistry.d.ts.map +1 -0
  90. package/dist/renderers/index.d.ts +12 -0
  91. package/dist/renderers/index.d.ts.map +1 -0
  92. package/dist/services/api.d.ts +55 -0
  93. package/dist/services/api.d.ts.map +1 -0
  94. package/dist/services/functionCallExecutor.d.ts +32 -0
  95. package/dist/services/functionCallExecutor.d.ts.map +1 -0
  96. package/dist/services/moonpayService.d.ts +82 -0
  97. package/dist/services/moonpayService.d.ts.map +1 -0
  98. package/dist/services/toolCallProcessor.d.ts +12 -0
  99. package/dist/services/toolCallProcessor.d.ts.map +1 -0
  100. package/dist/services/walletService.d.ts +250 -0
  101. package/dist/services/walletService.d.ts.map +1 -0
  102. package/dist/style.css +1 -0
  103. package/dist/types/index.d.ts +109 -0
  104. package/dist/types/index.d.ts.map +1 -0
  105. package/dist/types/moonpay.d.ts +31 -0
  106. package/dist/types/moonpay.d.ts.map +1 -0
  107. package/package.json +87 -0
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .termix-container{position:relative}.termix-container *{scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.termix-container *::-webkit-scrollbar{width:8px;height:8px}.termix-container *::-webkit-scrollbar-track{background:transparent;border-radius:4px}.termix-container *::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:4px;border:transparent}.termix-container *::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.termix-container .flex{display:flex}.termix-container .inline-flex{display:inline-flex}.termix-container .block{display:block}.termix-container .inline-block{display:inline-block}.termix-container .hidden{display:none}.termix-container .relative{position:relative}.termix-container .absolute{position:absolute}.termix-container .fixed{position:fixed}.termix-container .static{position:static}.termix-container .flex-col{flex-direction:column}.termix-container .flex-row{flex-direction:row}.termix-container .flex-wrap{flex-wrap:wrap}.termix-container .flex-1{flex:1 1 0%}.termix-container .items-center{align-items:center}.termix-container .items-start{align-items:flex-start}.termix-container .items-end{align-items:flex-end}.termix-container .justify-center{justify-content:center}.termix-container .justify-start{justify-content:flex-start}.termix-container .justify-end{justify-content:flex-end}.termix-container .justify-between{justify-content:space-between}.termix-container .p-1{padding:2px}.termix-container .p-2{padding:4px}.termix-container .p-3{padding:8px}.termix-container .p-4{padding:12px}.termix-container .p-6{padding:24px}.termix-container .px-1{padding-left:2px;padding-right:2px}.termix-container .px-2{padding-left:4px;padding-right:4px}.termix-container .px-3{padding-left:8px;padding-right:8px}.termix-container .px-4{padding-left:12px;padding-right:12px}.termix-container .px-6{padding-left:24px;padding-right:24px}.termix-container .px-7{padding-left:28px;padding-right:28px}.termix-container .py-1{padding-top:2px;padding-bottom:2px}.termix-container .py-2{padding-top:4px;padding-bottom:4px}.termix-container .py-3{padding-top:8px;padding-bottom:8px}.termix-container .py-4{padding-top:12px;padding-bottom:12px}.termix-container .pt-0{padding-top:0}.termix-container .pt-1{padding-top:2px}.termix-container .pt-3{padding-top:8px}.termix-container .pt-4{padding-top:12px}.termix-container .pb-2{padding-bottom:4px}.termix-container .pl-4{padding-left:12px}.termix-container .pr-1{padding-right:2px}.termix-container .m-1{margin:2px}.termix-container .m-2{margin:4px}.termix-container .m-3{margin:8px}.termix-container .mx-auto{margin-left:auto;margin-right:auto}.termix-container .mt-1{margin-top:2px}.termix-container .mt-2{margin-top:4px}.termix-container .mt-3{margin-top:8px}.termix-container .mt-4{margin-top:12px}.termix-container .mb-1{margin-bottom:2px}.termix-container .mb-2{margin-bottom:4px}.termix-container .mb-3{margin-bottom:8px}.termix-container .ml-1{margin-left:2px}.termix-container .ml-2{margin-left:4px}.termix-container .ml-3{margin-left:8px}.termix-container .mr-1{margin-right:2px}.termix-container .gap-1{gap:2px}.termix-container .gap-2{gap:4px}.termix-container .gap-3{gap:8px}.termix-container .space-y-1>*+*{margin-top:2px}.termix-container .space-y-2>*+*{margin-top:4px}.termix-container .w-full{width:100%}.termix-container .w-10{width:40px}.termix-container .w-16{width:64px}.termix-container .w-6{width:24px}.termix-container .w-5{width:16px}.termix-container .w-4{width:12px}.termix-container .h-full{height:100%}.termix-container .h-10{height:40px}.termix-container .h-16{height:64px}.termix-container .h-12{height:48px}.termix-container .h-9{height:36px}.termix-container .h-7{height:28px}.termix-container .h-6{height:24px}.termix-container .h-5{height:16px}.termix-container .h-4{height:12px}.termix-container .min-h-40{min-height:40px}.termix-container .min-h-36{min-height:36px}.termix-container .min-h-48{min-height:48px}.termix-container .max-w-none{max-width:none}.termix-container .max-w-4xl{max-width:896px}.termix-container .max-w-32{max-width:128px}.termix-container .max-w-\[70\%\]{max-width:70%}.termix-container .max-w-\[80\%\]{max-width:80%}.termix-container .max-h-64{max-height:256px}.termix-container .max-h-32{max-height:128px}.termix-container .max-w-full{max-width:100%}.termix-container .font-semibold{font-weight:600}.termix-container .font-medium{font-weight:500}.termix-container .font-bold{font-weight:700}.termix-container .font-mono{font-family:Monaco,Consolas,Courier New,monospace}.termix-container .text-xs{font-size:12px}.termix-container .text-sm{font-size:14px}.termix-container .text-base{font-size:16px}.termix-container .text-lg{font-size:18px}.termix-container .text-xl{font-size:20px}.termix-container .text-xxl{font-size:24px}.termix-container .leading-none{line-height:1}.termix-container .text-center{text-align:center}.termix-container .text-left{text-align:left}.termix-container .italic{font-style:italic}.termix-container .line-through{text-decoration:line-through}.termix-container .underline{text-decoration:underline}.termix-container .whitespace-pre-wrap{white-space:pre-wrap}.termix-container .whitespace-nowrap{white-space:nowrap}.termix-container .whitespace-normal{white-space:normal}.termix-container .break-words{word-wrap:break-word;word-break:break-word}.termix-container .break-all{word-break:break-all}.termix-container .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.termix-container .text-white{color:#fff}.termix-container .text-gray-100{color:#f3f4f6}.termix-container .text-gray-500{color:#9ca3af}.termix-container .text-gray-600{color:#6b7280}.termix-container .text-gray-700{color:#374151}.termix-container .text-gray-800{color:#111827}.termix-container .text-blue-100{color:#dbeafe}.termix-container .text-blue-500{color:#3b82f6}.termix-container .text-blue-600{color:#2563eb}.termix-container .text-red-600{color:#ef4444}.termix-container .text-green-600{color:#10b981}.termix-container .text-green-700{color:#047857}.termix-container .text-green-800{color:#065f46}.termix-container .bg-white{background-color:#fff}.termix-container .bg-blue-500{background-color:#3b82f6}.termix-container .bg-blue-600{background-color:#2563eb}.termix-container .bg-gray-100{background-color:#f9fafb}.termix-container .bg-gray-200{background-color:#f3f4f6}.termix-container .bg-gray-900{background-color:#111827}.termix-container .bg-green-50{background-color:#f0fdf4}.termix-container .bg-green-100{background-color:#dcfce7}.termix-container .bg-green-600{background-color:#10b981}.termix-container .bg-green-700{background-color:#15803d}.termix-container .bg-red-50{background-color:#fef2f2}.termix-container .bg-red-100{background-color:#fee2e2}.termix-container .bg-red-200{background-color:#fecaca}.termix-container .bg-blue-100{background-color:#dbeafe}.termix-container .border{border:1px solid #E5E7EB}.termix-container .border-t{border-top:1px solid #E5E7EB}.termix-container .border-l-4{border-left:4px solid}.termix-container .border-l-green-500{border-left-color:#10b981}.termix-container .border-gray-200{border-color:#e5e7eb}.termix-container .border-gray-300{border-color:#d1d5db}.termix-container .border-green-200{border-color:#bbf7d0}.termix-container .border-red-200{border-color:#fecaca}.termix-container .rounded{border-radius:6px}.termix-container .rounded-lg{border-radius:8px}.termix-container .rounded-xl{border-radius:12px}.termix-container .rounded-2xl{border-radius:16px}.termix-container .rounded-md{border-radius:6px}.termix-container .rounded-full{border-radius:9999px}.termix-container .rounded-tl{border-top-left-radius:6px}.termix-container .shadow-sm{box-shadow:0 1px 2px #0000000d}.termix-container .shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.termix-container .shadow-2xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.termix-container .opacity-50{opacity:.5}.termix-container .overflow-hidden{overflow:hidden}.termix-container .overflow-y-auto{overflow-y:auto}.termix-container .overflow-x-auto{overflow-x:auto}.termix-container .overflow-auto{overflow:auto}.termix-container .z-10{z-index:10}.termix-container .cursor-pointer{cursor:pointer}.termix-container .cursor-not-allowed{cursor:not-allowed}.termix-container .outline-none{outline:none}.termix-container .focus\:outline-none:focus{outline:none}.termix-container .focus\:ring-2:focus{outline:2px solid #3B82F6;outline-offset:2px}.termix-container .focus\:ring-blue-500:focus{outline:2px solid #3B82F6;outline-offset:2px}.termix-container .hover\:bg-blue-600:hover{background-color:#2563eb}.termix-container .hover\:bg-blue-500:hover{background-color:#3b82f6}.termix-container .hover\:bg-green-700:hover{background-color:#15803d}.termix-container .hover\:text-blue-600:hover{color:#2563eb}.termix-container .disabled\:opacity-50:disabled{opacity:.5}.termix-container .disabled\:pointer-events-none:disabled{pointer-events:none}.termix-container .transition-colors{transition-property:color,background-color,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.termix-container .transition-all{transition:all .2s ease-in-out}.termix-container .duration-300{transition-duration:.3s}.termix-container .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.termix-container .animate-spin{animation:spin 1s linear infinite}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.termix-container .animate-in{animation:fadeIn .3s ease-in-out}.termix-container .slide-in-from-bottom-2{animation:slideUp .3s ease-in-out}.termix-container .fade-in{animation:fadeIn .3s ease-in-out}.termix-container .grid{display:grid}.termix-container .list-disc{list-style-type:disc}.termix-container .list-decimal{list-style-type:decimal}.termix-container .list-inside{list-style-position:inside}.termix-container .border-collapse{border-collapse:collapse}.termix-container .min-w-full{min-width:100%}.termix-container .min-w-\[100px\]{min-width:100px}.termix-container .first\:mt-0:first-child{margin-top:0}.termix-container .last\:mb-0:last-child{margin-bottom:0}.termix-container .line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.termix-container .prose{color:#111827;max-width:65ch}.termix-container .prose p{margin-bottom:4px}.termix-container .prose h1{font-size:20px;font-weight:700;margin-bottom:4px;margin-top:8px}.termix-container .prose h2{font-size:18px;font-weight:700;margin-bottom:4px;margin-top:8px}.termix-container .prose h3{font-size:16px;font-weight:700;margin-bottom:4px;margin-top:4px}.termix-container .prose h4,.termix-container .prose h5,.termix-container .prose h6{font-size:14px;font-weight:700;margin-bottom:2px;margin-top:4px}.termix-container .prose ul{list-style-type:disc;list-style-position:inside;margin-bottom:4px;padding-inline-start:0}.termix-container .prose ol{list-style-type:decimal;list-style-position:inside;margin-bottom:4px;padding-inline-start:0}.termix-container .prose li{margin-left:4px}.termix-container .prose blockquote{border-left:4px solid #D1D5DB;padding-left:12px;padding-top:2px;padding-bottom:2px;margin-bottom:4px;font-style:italic;color:#374151}.termix-container .prose code{background-color:#f3f4f6;color:#374151;padding:2px;border-radius:4px;font-size:14px;font-family:Monaco,Consolas,Courier New,monospace}.termix-container .prose pre{background-color:#fff;color:#004ee0;border-radius:6px;overflow-x:auto;margin-bottom:4px}.termix-container .prose pre code{background:none;color:inherit;padding:0}.termix-container .prose table{min-width:100%;border-collapse:collapse;border:1px solid #D1D5DB}.termix-container .prose thead{background-color:#f9fafb}.termix-container .prose tr{border-bottom:1px solid #D1D5DB}.termix-container .prose th{border:1px solid #D1D5DB;padding:8px;text-align:left;font-weight:600;min-width:100px}.termix-container .prose td{border:1px solid #D1D5DB;padding:8px;min-width:100px}.termix-container .prose hr{margin:8px 0;border-color:#d1d5db}.termix-container .prose strong{font-weight:700}.termix-container .prose em{font-style:italic}.termix-container .prose del{text-decoration:line-through}.termix-container .prose a{color:#3b82f6;text-decoration:underline}.termix-container .prose a:hover{color:#2563eb}.termix-container .prose-sm{font-size:14px}.termix-button{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:500;border-radius:6px;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;-webkit-user-select:none;user-select:none}.termix-button:focus{outline:2px solid #DBEAFE;outline-offset:2px}.termix-button:disabled{opacity:.5;cursor:not-allowed}.termix-button--default{padding:4px 12px;font-size:16px;min-height:40px}.termix-button--sm{padding:2px 8px;font-size:14px;min-height:36px}.termix-button--lg{padding:8px 24px;font-size:16px;min-height:48px}.termix-button--primary{background-color:#3b82f6;color:#fff;border-color:#3b82f6}.termix-button--primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.termix-button--primary:active:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}.termix-button--outline{background-color:transparent;color:#111827;border-color:#e5e7eb}.termix-button--outline:hover:not(:disabled){background-color:#e5e7eb;border-color:#d1d5db}.termix-button--ghost{background-color:transparent;color:#111827;border-color:transparent}.termix-button--ghost:hover:not(:disabled){background-color:#e5e7eb}.termix-button--icon-only{padding:4px;min-width:40px}.termix-button--icon-only.termix-button--sm{min-width:36px;padding:2px}.termix-button--icon-only.termix-button--lg{min-width:48px;padding:8px}.termix-button--loading{pointer-events:none;opacity:.7}.termix-button .termix-button__icon{display:flex;align-items:center}.termix-button .termix-button__icon--left{margin-right:4px}.termix-button .termix-button__icon--right{margin-left:4px}.termix-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:2px 8px;font-size:12px;font-weight:600;line-height:1;transition:all .2s ease-in-out;white-space:nowrap}.termix-badge--default{background-color:#3b82f6;color:#fff;border:1px solid #3B82F6}.termix-badge--secondary{background-color:#f3f4f6;color:#6b7280;border:1px solid #E5E7EB}.termix-badge--secondary:hover{background-color:#e5e7eb}.termix-badge--outline{background-color:transparent;color:#111827;border:1px solid #E5E7EB}.termix-badge--outline:hover{background-color:#e5e7eb}.termix-badge--success{background-color:#10b981;color:#fff;border:1px solid #10B981}.termix-badge--warning{background-color:#f59e0b;color:#fff;border:1px solid #F59E0B}.termix-badge--error{background-color:#ef4444;color:#fff;border:1px solid #EF4444}.termix-badge--info{background-color:#3b82f6;color:#fff;border:1px solid #3B82F6}.termix-badge--sm{padding:2px 4px;font-size:10px}.termix-badge--lg{padding:4px 12px;font-size:14px}.termix-badge .termix-badge__dot{width:6px;height:6px;border-radius:50%;margin-right:2px;background-color:currentColor}.termix-card{background:#fff;border:1px solid #E5E7EB;border-radius:8px;color:#111827;box-shadow:0 1px 2px #0000000d}.termix-card__header{display:flex;flex-direction:column;gap:6px;padding:8px}.termix-card__title{font-size:24px;font-weight:600;line-height:1;letter-spacing:-.025em}.termix-card__content{padding:0 8px 8px}.termix-chat-interface{height:100%;display:flex;flex-direction:column;background-color:#fff}.termix-chat-interface__header{background:linear-gradient(to right,#010101,#1e1e1e);color:#fff;padding:24px;display:flex;align-items:center;justify-content:space-between}.termix-chat-interface__header-info{display:flex;align-items:center;justify-content:flex-start;gap:8px}.termix-chat-interface__header-avatar{width:40px;height:40px;border-radius:9999px;display:flex;align-items:center;justify-content:center;background-color:#fff3}.termix-chat-interface__header-avatar svg{width:24px;height:24px;color:#fff}.termix-chat-interface__header-title{font-weight:600;color:#fff}.termix-chat-interface__header-subtitle{font-size:14px;color:#fffc}.termix-chat-interface__header-usage{font-size:14px;color:#fff}.termix-chat-interface__messages{flex:1;overflow-y:auto;padding:24px;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-chat-interface__messages::-webkit-scrollbar{width:6px;height:6px}.termix-chat-interface__messages::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-chat-interface__messages::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-chat-interface__messages::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-chat-interface__messages-container{max-width:896px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.termix-chat-interface__message{display:flex}.termix-chat-interface__message--user{justify-content:flex-end}.termix-chat-interface__message--assistant,.termix-chat-interface__message--system{justify-content:flex-start}.termix-chat-interface__message-bubble{padding:8px 12px;overflow:hidden}.termix-chat-interface__message-bubble--user{background-color:#bfbfbf;color:#111827;max-width:70%;border-radius:8px 8px 0}.termix-chat-interface__message-bubble--system{background-color:#f3f4f6;color:#6b7280;font-style:italic;max-width:70%;border-radius:8px}.termix-chat-interface__message-bubble--assistant{background-color:#e6e6e6;color:#111827;max-width:80%;border-radius:8px 8px 8px 0}.termix-chat-interface__message-content{word-wrap:break-word;word-break:break-word}.termix-chat-interface__message-content p{white-space:pre-wrap;margin:0}.termix-chat-interface__message-functions{margin-top:8px;padding-top:8px;border-top:1px solid #E5E7EB}.termix-chat-interface__message-functions{margin-top:8px;padding-top:8px;border-top:1px solid #E5E7EB;display:flex;flex-direction:column;gap:4px}.termix-chat-interface__message-knowledge{margin-top:8px;padding-top:8px;border-top:1px solid #E5E7EB}.termix-chat-interface__message-knowledge-header{display:flex;align-items:center;justify-content:flex-start;gap:2px;margin-bottom:4px}.termix-chat-interface__message-knowledge-header svg{width:8px;height:8px;color:#9ca3af}.termix-chat-interface__message-knowledge-header span{font-size:12px;color:#9ca3af;font-weight:500}.termix-chat-interface__message-knowledge-list{display:flex;flex-direction:column;gap:2px}.termix-chat-interface__message-knowledge-item{font-size:12px}.termix-chat-interface__message-knowledge-item-header{display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-chat-interface__message-knowledge-item-header svg{width:4px;height:4px;color:#9ca3af}.termix-chat-interface__message-knowledge-item-header .title{font-weight:500;color:#6b7280}.termix-chat-interface__message-knowledge-item-content{color:#9ca3af;margin-left:8px;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.termix-chat-interface__message-metadata{font-size:12px;margin-top:4px;display:flex;align-items:center;justify-content:flex-start;gap:4px}.termix-chat-interface__message-metadata--user{color:#6b7280}.termix-chat-interface__message-metadata--assistant{color:#9ca3af}.termix-chat-interface__message-metadata span:not(:last-child):after{content:"•";margin-left:4px}.termix-chat-interface__streaming{display:flex;align-items:center;justify-content:flex-start}.termix-chat-interface__streaming .message-bubble{background-color:#e6e6e6;color:#111827;max-width:70%;border-radius:8px 8px 8px 0;padding:8px 12px;overflow:hidden}.termix-chat-interface__streaming .message-bubble .loading-indicator{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-top:4px}.termix-chat-interface__streaming .message-bubble .loading-indicator svg{width:8px;height:8px}.termix-chat-interface__streaming .message-bubble .loading-indicator span{font-size:12px;color:#9ca3af}.termix-chat-interface__loading{display:flex;align-items:center;justify-content:flex-start}.termix-chat-interface__loading .loading-bubble{background-color:#e6e6e6;border-radius:8px 8px 8px 0;padding:8px 12px;max-width:70%}.termix-chat-interface__loading .loading-bubble .loading-content{display:flex;align-items:center;justify-content:flex-start;gap:4px}.termix-chat-interface__loading .loading-bubble .loading-content svg{width:12px;height:12px}.termix-chat-interface__loading .loading-bubble .loading-content span{font-size:14px;color:#6b7280}.termix-chat-interface__input{border-top:none;background-color:#fff;padding:12px 24px}.termix-chat-interface__input-container{max-width:896px;margin:0 auto}.termix-chat-interface__input-wrapper{position:relative;display:flex;align-items:flex-end;background-color:#fff;border:1px solid #010101;border-radius:16px;overflow:hidden;transition:all .2s ease-in-out;min-height:48px}.termix-chat-interface__input-wrapper:focus-within{border-color:#010101;box-shadow:none}.termix-chat-interface__input-field{flex:1;padding:12px 50px 12px 16px;background-color:transparent;border:none;outline:none;font-size:16px;color:#111827;resize:none;min-height:40px;max-height:120px;line-height:1.5;font-family:inherit;overflow-y:auto;transition:height .1s ease;scrollbar-width:none;-ms-overflow-style:none}.termix-chat-interface__input-field::placeholder{color:#9ca3af}.termix-chat-interface__input-field:disabled{opacity:.6;cursor:not-allowed}.termix-chat-interface__input-field::-webkit-scrollbar{display:none}.termix-chat-interface__input-button{position:absolute;right:8px;bottom:8px;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background-color:#010101;color:#fff;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #00000026}.termix-chat-interface__input-button:hover:not(:disabled){background-color:#333;transform:scale(1.05);box-shadow:0 3px 6px #0003}.termix-chat-interface__input-button:active:not(:disabled){background-color:#000;transform:scale(.95)}.termix-chat-interface__input-button:disabled{opacity:.5;cursor:not-allowed}.termix-chat-interface__input-button svg{width:16px;height:16px;stroke-width:2}@media (max-width: 768px){.termix-chat-interface__header,.termix-chat-interface__messages{padding:12px}.termix-chat-interface__input{padding:4px 12px}.termix-chat-interface__input-wrapper{border-radius:12px}.termix-chat-interface__input-field{padding:8px 45px 8px 12px;font-size:14px;min-height:36px;max-height:96px}.termix-chat-interface__input-button{width:28px;height:28px;right:6px;bottom:6px}.termix-chat-interface__input-button svg{width:14px;height:14px}.termix-chat-interface__message-bubble--user,.termix-chat-interface__message-bubble--system{max-width:85%}.termix-chat-interface__message-bubble--assistant{max-width:90%}}.termix-chat-widget{position:relative}.termix-chat-widget__dialog{position:absolute;bottom:80px;right:0;width:480px;height:600px;background-color:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #E5E7EB;overflow:hidden;display:flex;flex-direction:column;z-index:1001;transform:translateY(0);transition:all .3s cubic-bezier(0,0,.2,1);opacity:1}.termix-chat-widget__dialog--entering{animation:slideInFromBottom .3s ease-out}.termix-chat-widget__dialog--exiting{animation:slideOutToBottom .3s ease-in}.termix-chat-widget__dialog-header{background:linear-gradient(to right,#010101,#1e1e1e);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.termix-chat-widget__dialog-header-info{display:flex;align-items:center;justify-content:flex-start;gap:8px}.termix-chat-widget__dialog-header-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center}.termix-chat-widget__dialog-header-avatar img{width:32px;height:32px}.termix-chat-widget__dialog-header-avatar svg{width:32px;height:32px}.termix-chat-widget__dialog-header-title{font-weight:600;font-size:16px;color:#fff;line-height:1.25}.termix-chat-widget__dialog-header-close{padding:4px;border-radius:8px;transition:all .2s ease-in-out;color:#fff;background-color:transparent;border:none;cursor:pointer}.termix-chat-widget__dialog-header-close:hover{background-color:#fff3}.termix-chat-widget__dialog-header-close img{width:16px;height:16px}.termix-chat-widget__dialog-header-close svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.termix-chat-widget__dialog-content{flex:1;overflow:hidden}.termix-chat-widget__button{width:64px;height:64px;background:linear-gradient(to bottom,#aef431,#32f5d4);color:#010101;border-radius:9999px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;z-index:1000;border:none;cursor:pointer}.termix-chat-widget__button:hover{background:linear-gradient(to bottom,#9de02a,#2ae0c0);transform:translateY(-2px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.termix-chat-widget__button:active{transform:translateY(0)}.termix-chat-widget__button img{width:24px;height:24px}.termix-chat-widget__button svg{width:24px;height:24px;stroke:#010101;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;color:#010101}@keyframes slideInFromBottom{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideOutToBottom{0%{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}@media (max-width: 768px){.termix-chat-widget__dialog{width:calc(100vw - 32px);max-width:400px;height:calc(100vh - 120px);max-height:600px;right:12px;bottom:80px}.termix-chat-widget__button{width:56px;height:56px}.termix-chat-widget__button svg,.termix-chat-widget__button img{width:16px;height:16px}}@media (max-width: 640px){.termix-chat-widget__dialog{width:calc(100vw - 16px);height:calc(100vh - 100px);right:4px;bottom:70px}.termix-chat-widget__dialog-header{padding:8px 12px}.termix-chat-widget__dialog-header-title{font-size:14px}.termix-chat-widget__dialog-header-avatar{width:28px;height:28px}.termix-chat-widget__dialog-header-avatar img,.termix-chat-widget__dialog-header-avatar svg{width:28px;height:28px}.termix-chat-widget__button{width:52px;height:52px}.termix-chat-widget__button svg,.termix-chat-widget__button img{width:12px;height:12px}}.termix-function-call{background:#fff;border:1px solid #E5E7EB;border-radius:8px;box-shadow:0 1px 2px #0000000d;border-left:4px solid #6B7280;background-color:#f9fafb;max-width:100%}.termix-function-call__header{display:flex;flex-direction:column;gap:6px;padding:8px 8px 4px}.termix-function-call__header-top{display:flex;align-items:center;justify-content:space-between}.termix-function-call__header-title{font-size:14px;font-weight:600;line-height:1;letter-spacing:-.025em;display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-function-call__header-title svg{height:12px;width:12px;color:#4b5563}.termix-function-call__header-type-badge{font-size:12px;display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-function-call__header-type-badge svg{height:8px;width:8px}.termix-function-call__header-type-badge--contract{color:#6b7280;background-color:#e5e7eb;border:1px solid #9CA3AF}.termix-function-call__header-type-badge--api{color:#1d4ed8;background-color:#dbeafe;border:1px solid #3B82F6}.termix-function-call__header-type-badge--fiat{color:#065f46;background-color:#d1fae5;border:1px solid #10B981}.termix-function-call__header-type-badge--unknown{color:#6b7280;background-color:#f9fafb;border:1px solid #E5E7EB}.termix-function-call__content{padding:0 8px 8px;display:flex;flex-direction:column;gap:4px}.termix-function-call__content-function{display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-function-call__content-function-label{font-size:14px;font-weight:600;color:#6b7280}.termix-function-call__content-function-name{font-size:14px;background-color:#f9fafb;padding:2px 6px;border-radius:4px;font-family:Monaco,Consolas,Courier New,monospace}.termix-function-call__content-renderer{width:100%;overflow:auto}.termix-function-call__content-metadata{display:flex;flex-direction:column;gap:2px}.termix-function-call__content-metadata-description{font-size:14px;color:#6b7280}.termix-function-call__content-metadata-description-label{font-weight:500}.termix-function-call__content-metadata-contract{display:flex;flex-direction:column;gap:2px;font-size:14px}.termix-function-call__content-metadata-contract-item{color:#6b7280}.termix-function-call__content-metadata-contract-item-label{font-weight:500}.termix-function-call__content-metadata-contract-address{font-family:Monaco,Consolas,Courier New,monospace;font-size:12px}.termix-function-call__content-metadata-api{display:flex;flex-direction:column;gap:2px;font-size:14px}.termix-function-call__content-metadata-api-item{color:#6b7280}.termix-function-call__content-metadata-api-item-label{font-weight:500}.termix-function-call__content-metadata-fiat{display:flex;flex-direction:column;gap:2px;font-size:14px}.termix-function-call__content-metadata-fiat-item{color:#6b7280}.termix-function-call__content-metadata-fiat-item-label{font-weight:500}.termix-function-call__content-parameters{display:flex;flex-direction:column;gap:4px}.termix-function-call__content-parameters-header{display:flex;align-items:center;justify-content:space-between}.termix-function-call__content-parameters-header-label{font-size:14px;font-weight:500;color:#6b7280}.termix-function-call__content-parameters-header-toggle{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:500;border-radius:6px;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;-webkit-user-select:none;user-select:none;height:24px;padding:2px;background-color:transparent;border-color:transparent;color:#111827}.termix-function-call__content-parameters-header-toggle:focus{outline:2px solid #DBEAFE;outline-offset:2px}.termix-function-call__content-parameters-header-toggle:disabled{opacity:.5;cursor:not-allowed}.termix-function-call__content-parameters-header-toggle:hover{background-color:#e5e7eb}.termix-function-call__content-parameters-header-toggle svg{height:12px;width:12px}.termix-function-call__content-parameters-expanded{background-color:#f3f4f6;color:#374151;padding:4px;border-radius:8px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:256px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__content-parameters-expanded::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__content-parameters-expanded::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__content-parameters-expanded::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__content-parameters-expanded::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__content-parameters-expanded pre{margin:0;white-space:pre-wrap}.termix-function-call__content-parameters-preview{display:grid;grid-template-columns:1fr;gap:2px}.termix-function-call__content-parameters-preview-item{display:flex;align-items:center;justify-content:space-between;background-color:#f9fafb;padding:2px 6px;border-radius:4px;font-size:14px}.termix-function-call__content-parameters-preview-item-key{font-family:Monaco,Consolas,Courier New,monospace;color:#6b7280}.termix-function-call__content-parameters-preview-item-value{font-family:Monaco,Consolas,Courier New,monospace;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:2px;max-width:128px}.termix-function-call__content-parameters-preview-more{font-size:12px;color:#9ca3af;text-align:center}.termix-function-call__content-actions{display:flex;align-items:center;justify-content:space-between;padding-top:6px;border-top:1px solid #E5E7EB}.termix-function-call__content-actions-buttons{display:flex;gap:2px}.termix-function-call__content-actions-execute{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:500;border-radius:6px;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;-webkit-user-select:none;user-select:none;padding:2px 8px;font-size:12px;height:28px;background-color:#374151;color:#fff;border-color:#374151;white-space:nowrap}.termix-function-call__content-actions-execute:focus{outline:2px solid #DBEAFE;outline-offset:2px}.termix-function-call__content-actions-execute:disabled{opacity:.5;cursor:not-allowed}.termix-function-call__content-actions-execute:hover:not(:disabled){background-color:#1f2937}.termix-function-call__content-actions-execute:disabled{opacity:.5}.termix-function-call__content-actions-execute svg{height:8px;width:8px;margin-right:2px}.termix-function-call__content-actions-execute--loading{pointer-events:none}.termix-function-call__content-actions-execute--loading svg{animation:spin 1s linear infinite}.termix-function-call__content-actions-execute--secondary{background-color:transparent;color:#111827;border-color:#e5e7eb}.termix-function-call__content-actions-execute--secondary:hover:not(:disabled){background-color:#e5e7eb;border-color:#d1d5db}.termix-function-call__content-actions-copy{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:500;border-radius:6px;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;-webkit-user-select:none;user-select:none;padding:2px 8px;font-size:12px;height:28px;background-color:transparent;color:#111827;border-color:#e5e7eb;white-space:nowrap}.termix-function-call__content-actions-copy:focus{outline:2px solid #DBEAFE;outline-offset:2px}.termix-function-call__content-actions-copy:disabled{opacity:.5;cursor:not-allowed}.termix-function-call__content-actions-copy:hover:not(:disabled){background-color:#e5e7eb;border-color:#d1d5db}.termix-function-call__content-actions-copy svg{height:8px;width:8px;margin-right:2px}.termix-function-call__content-actions-copy--copied svg{color:#10b981}.termix-function-call__content-actions-status{display:flex;align-items:center;justify-content:flex-start;gap:2px;font-size:12px;color:#9ca3af}.termix-function-call__content-actions-status svg{height:8px;width:8px}.termix-function-call__result{margin-top:12px;padding-top:12px;border-top:1px solid #E5E7EB}.termix-function-call__result-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.termix-function-call__result-header-title{font-weight:500;font-size:14px;display:flex;align-items:center;justify-content:flex-start;gap:4px}.termix-function-call__result-header-title svg{height:12px;width:12px}.termix-function-call__result-header-title svg--success{color:#10b981}.termix-function-call__result-header-title svg--error{color:#ef4444}.termix-function-call__result-header-hide{display:inline-flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:500;border-radius:6px;transition:all .2s ease-in-out;cursor:pointer;outline:none;border:1px solid transparent;-webkit-user-select:none;user-select:none;padding:2px 4px;font-size:12px;height:24px;background-color:transparent;border-color:transparent;color:#111827}.termix-function-call__result-header-hide:focus{outline:2px solid #DBEAFE;outline-offset:2px}.termix-function-call__result-header-hide:disabled{opacity:.5;cursor:not-allowed}.termix-function-call__result-header-hide:hover{background-color:#e5e7eb}.termix-function-call__result-success{display:flex;flex-direction:column;gap:4px}.termix-function-call__result-api{background-color:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:8px}.termix-function-call__result-api-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:4px}.termix-function-call__result-api-status-badge{background-color:#e5e7eb;color:#374151;font-size:12px}.termix-function-call__result-api-status-url{font-size:12px;color:#4b5563}.termix-function-call__result-api-data{background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:200px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__result-api-data::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__result-api-data::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__result-api-data::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__result-api-data::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__result-api-data pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.termix-function-call__result-contract{background-color:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:8px}.termix-function-call__result-contract-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:4px}.termix-function-call__result-contract-status-badge{background-color:#e5e7eb;color:#374151;font-size:12px}.termix-function-call__result-contract-status-function{font-size:12px;color:#4b5563}.termix-function-call__result-contract-data{background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px;font-size:12px;display:flex;flex-direction:column;gap:2px}.termix-function-call__result-contract-data-label{font-weight:700}.termix-function-call__result-contract-data-content{font-size:12px;font-family:Monaco,Consolas,Courier New,monospace}.termix-function-call__result-contract-note{font-size:12px;color:#4b5563;margin-top:4px;padding:4px;background-color:#f3f4f6;border-radius:6px}.termix-function-call__result-contract-note-label{font-weight:700}.termix-function-call__result-fiat{background-color:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:8px}.termix-function-call__result-fiat-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:4px}.termix-function-call__result-fiat-status-badge{background-color:#e5e7eb;color:#374151;font-size:12px;display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-function-call__result-fiat-status-badge svg{height:8px;width:8px}.termix-function-call__result-fiat-status-popup{background-color:#dbeafe;color:#1d4ed8;font-size:12px;display:flex;align-items:center;justify-content:flex-start;gap:2px}.termix-function-call__result-fiat-status-popup svg{height:8px;width:8px}.termix-function-call__result-fiat-content{display:flex;flex-direction:column;gap:4px}.termix-function-call__result-fiat-message{font-size:14px;color:#4b5563;background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px}.termix-function-call__result-fiat-details{background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px;font-size:12px;display:flex;flex-direction:column;gap:2px}.termix-function-call__result-fiat-details-label{font-weight:700}.termix-function-call__result-fiat-details-item{display:flex;align-items:center;justify-content:space-between}.termix-function-call__result-fiat-details-item-key{font-weight:500}.termix-function-call__result-fiat-details-item-value{color:#6b7280}.termix-function-call__result-fiat-fallback{font-size:12px;color:#4b5563;margin-top:4px;padding:4px;background-color:#f3f4f6;border-radius:6px}.termix-function-call__result-fiat-fallback-label{font-weight:700}.termix-function-call__result-fiat-fallback-link{color:inherit;text-decoration:underline;margin-left:2px}.termix-function-call__result-fiat-fallback-link:hover{color:#1f2937}.termix-function-call__result-error{background-color:#fef2f2;border:1px solid #FECACA;border-radius:8px;padding:8px}.termix-function-call__result-error-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:4px;flex-wrap:wrap}.termix-function-call__result-error-status-badge{background-color:#fee2e2;color:#991b1b;font-size:12px}.termix-function-call__result-error-status-url{font-size:12px;color:#991b1b;word-break:break-all;max-width:100%}.termix-function-call__result-error-message{font-size:14px;color:#b91c1c;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word}.termix-function-call__result-error-details{margin-top:4px;font-size:12px;background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px;max-height:200px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__result-error-details::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__result-error-details::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__result-error-details::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__result-error-details::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__result-error-details-label{font-weight:700;margin-bottom:2px}.termix-function-call__result-error-details pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.termix-function-call__result-error-metadata{margin-top:4px;font-size:12px;background-color:#fff;border:1px solid #E5E7EB;border-radius:6px;padding:4px;max-height:200px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__result-error-metadata::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__result-error-metadata::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__result-error-metadata::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__result-error-metadata::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__result-error-metadata-label{font-weight:700;margin-bottom:2px}.termix-function-call__result-error-metadata pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}@media (max-width: 640px){.termix-function-call__header{padding:4px}.termix-function-call__header-title{font-size:12px}.termix-function-call__header-type-badge{font-size:10px}.termix-function-call__content{padding:4px}.termix-function-call__content-parameters-expanded{font-size:10px;max-height:200px}.termix-function-call__content-actions-execute,.termix-function-call__content-actions-copy{padding:2px 4px;font-size:10px;height:24px}.termix-function-call__content-actions-status{font-size:10px}}.termix-renderer-fallback{background-color:#f9fafb;border:1px solid #E5E7EB;border-radius:6px;overflow:hidden;width:100%}.termix-fallback-header{display:flex;align-items:center;justify-content:flex-start;gap:4px;padding:4px 8px;background-color:#f3f4f6;border-bottom:1px solid #E5E7EB;font-size:14px;font-weight:500;color:#6b7280}.termix-fallback-icon{font-size:16px}.termix-fallback-body{padding:4px;max-height:256px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-fallback-body::-webkit-scrollbar{width:6px;height:6px}.termix-fallback-body::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-fallback-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-fallback-body::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-fallback-body pre,.termix-fallback-body p{margin:0;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;color:#374151;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.termix-fallback-body summary{font-size:14px}@media (max-width: 640px){.termix-fallback-body{max-height:200px}.termix-fallback-body pre{font-size:10px}}.termix-function-call__loading{display:flex;align-items:center;justify-content:flex-start;gap:4px;padding:8px;color:#6b7280;font-size:14px}.termix-function-call__loading-spinner{width:12px;height:12px;border:2px solid #E5E7EB;border-top-color:#3b82f6;border-radius:9999px;animation:spin 1s linear infinite}.termix-function-call__result-generic{background-color:#f3f4f6;color:#374151;padding:4px;border-radius:6px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:256px;overflow:auto;width:100%;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__result-generic::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__result-generic::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__result-generic::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__result-generic::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__result-generic pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.termix-function-call__result-error-context{margin-top:4px;padding-top:4px;border-top:1px solid #FECACA;font-size:12px;color:#991b1b}.termix-function-call__result-error-context p{margin:0}.termix-function-call__result-error-context strong{font-weight:600}.lucide-icon{width:12px;height:12px;flex-shrink:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 640px){.termix-function-call__result-generic{max-height:200px;font-size:10px}}.termix-api-renderer{display:flex;flex-direction:column;gap:4px;width:100%}.termix-api-renderer__endpoint{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-wrap:wrap}.termix-api-renderer__path{font-size:14px;font-family:Monaco,Consolas,Courier New,monospace;color:#6b7280;word-break:break-all}.termix-api-renderer__base-url{display:flex;align-items:center;justify-content:flex-start;gap:2px;font-size:12px;color:#9ca3af}.termix-api-renderer__base-url-label{font-weight:500}.termix-api-renderer__base-url code{font-family:Monaco,Consolas,Courier New,monospace;word-break:break-all}.termix-api-renderer__result{display:flex;flex-direction:column;gap:4px}.termix-api-renderer__status-line{display:flex;align-items:center;justify-content:flex-start;gap:4px}.termix-api-renderer__status{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px}.termix-api-renderer__status--success{background-color:#d1fae5;color:#065f46}.termix-api-renderer__status--error{background-color:#fee2e2;color:#991b1b}.termix-api-renderer__status-text{font-size:12px;color:#6b7280}.termix-api-renderer__response{display:flex;flex-direction:column;gap:2px}.termix-api-renderer__response-label{font-size:14px;font-weight:500;color:#6b7280}.termix-api-renderer__response-body{background-color:#f3f4f6;color:#374151;padding:4px;border-radius:6px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:256px;overflow:auto;margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-api-renderer__response-body::-webkit-scrollbar{width:6px;height:6px}.termix-api-renderer__response-body::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-api-renderer__response-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-api-renderer__response-body::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-api-method{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.termix-api-method--get{background-color:#dbeafe;color:#1d4ed8}.termix-api-method--post{background-color:#d1fae5;color:#065f46}.termix-api-method--put,.termix-api-method--patch{background-color:#fef3c7;color:#92400e}.termix-api-method--delete{background-color:#fee2e2;color:#991b1b}.termix-api-method--head,.termix-api-method--options{background-color:#e5e7eb;color:#374151}@media (max-width: 640px){.termix-api-renderer__response-body{max-height:200px;font-size:10px}}.termix-contract-renderer{display:flex;flex-direction:column;gap:4px;width:100%}.termix-contract-renderer__header{display:flex;align-items:center;justify-content:flex-start;gap:4px;flex-wrap:wrap}.termix-contract-renderer__type-badge{font-size:12px;font-weight:600;padding:2px 6px;border-radius:4px;background-color:#e5e7eb;color:#374151}.termix-contract-renderer__mutability{font-size:12px;font-weight:500;padding:2px 6px;border-radius:4px}.termix-contract-renderer__mutability--view{background-color:#dbeafe;color:#1d4ed8}.termix-contract-renderer__mutability--pure{background-color:#e0e7ff;color:#4338ca}.termix-contract-renderer__mutability--nonpayable{background-color:#fef3c7;color:#92400e}.termix-contract-renderer__mutability--payable{background-color:#d1fae5;color:#065f46}.termix-contract-renderer__details{display:flex;flex-direction:column;gap:2px}.termix-contract-renderer__detail{display:flex;align-items:center;justify-content:flex-start;gap:2px;font-size:14px}.termix-contract-renderer__detail-label{font-weight:500;color:#6b7280}.termix-contract-renderer__detail-value{color:#111827}.termix-contract-renderer__address{font-family:Monaco,Consolas,Courier New,monospace;font-size:12px;background-color:#f9fafb;padding:2px 6px;border-radius:4px;color:#111827}.termix-contract-renderer__result{display:flex;flex-direction:column;gap:4px}.termix-contract-renderer__result-header{display:flex;align-items:center;justify-content:flex-start;gap:4px;font-weight:500;color:#111827}.termix-contract-renderer__success-icon{width:12px;height:12px;color:#10b981}.termix-contract-renderer__tx-hash{display:flex;align-items:center;justify-content:flex-start;gap:2px;font-size:14px}.termix-contract-renderer__tx-hash code{font-family:Monaco,Consolas,Courier New,monospace;font-size:12px;background-color:#f9fafb;padding:2px 6px;border-radius:4px}.termix-contract-renderer__tx-label{font-weight:500;color:#6b7280}.termix-contract-renderer__read-result{background-color:#f3f4f6;color:#374151;padding:4px;border-radius:6px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:256px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-contract-renderer__read-result::-webkit-scrollbar{width:6px;height:6px}.termix-contract-renderer__read-result::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-contract-renderer__read-result::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-contract-renderer__read-result::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-contract-renderer__read-result pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}@media (max-width: 640px){.termix-contract-renderer__read-result{max-height:200px;font-size:10px}.termix-contract-renderer__type-badge,.termix-contract-renderer__mutability{font-size:10px}}.termix-ap2-renderer,.termix-ap2-result{display:flex;flex-direction:column;gap:4px;width:100%}.termix-function-call__result-ap2{background-color:#f9fafb;border:1px solid #E5E7EB;border-radius:8px;padding:8px}.termix-function-call__result-ap2-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;font-size:14px;font-weight:600;color:#374151;margin-bottom:4px}.termix-function-call__result-ap2-status:before{content:"";display:inline-block;width:8px;height:8px;background-color:#10b981;border-radius:9999px}.termix-function-call__result-ap2-content{background-color:#f3f4f6;color:#374151;padding:4px;border-radius:6px;font-size:12px;font-family:Monaco,Consolas,Courier New,monospace;max-height:256px;overflow:auto;scrollbar-width:thin;scrollbar-color:#E5E7EB #F9FAFB}.termix-function-call__result-ap2-content::-webkit-scrollbar{width:6px;height:6px}.termix-function-call__result-ap2-content::-webkit-scrollbar-track{background:#f9fafb;border-radius:4px}.termix-function-call__result-ap2-content::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.termix-function-call__result-ap2-content::-webkit-scrollbar-thumb:hover{background:#d1d5db}.termix-function-call__result-ap2-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word}.termix-function-call__content-metadata--ap2{border-left:3px solid #3B82F6;padding-left:4px}.termix-function-call__content-metadata-ap2{display:flex;flex-direction:column;gap:2px;font-size:14px}.termix-function-call__content-metadata-ap2-item{color:#6b7280}.termix-function-call__content-metadata-ap2-item-label{font-weight:500}@media (max-width: 640px){.termix-function-call__result-ap2-content{max-height:200px;font-size:10px}}.termix-wallet-pill{display:inline-flex;align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);border-radius:9999px;border:1px solid rgba(37,99,235,.25);color:#fff;font-size:.85rem;font-weight:500;overflow:hidden;box-shadow:0 16px 28px -20px #2563eba6;transition:transform .2s ease,box-shadow .2s ease}.termix-wallet-pill:hover{transform:translateY(-1px);box-shadow:0 20px 34px -20px #2563ebbf}.termix-wallet-pill--connected{background:linear-gradient(135deg,#10b981,#22d3ee);border-color:#22d3ee59;color:#0f172a}.termix-wallet-pill--cta{gap:.55rem;padding:.55rem 1.15rem;cursor:pointer;border:none}.termix-wallet-pill--cta:disabled{opacity:.6;cursor:not-allowed}.termix-wallet-pill__segment{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border:none;background:transparent;color:inherit;font:inherit}.termix-wallet-pill__segment svg{width:1rem;height:1rem}.termix-wallet-pill__segment--primary{background:#fff3}.termix-wallet-pill__segment--muted{background:#ffffff1a;color:#ffffffd9}.termix-wallet-pill__segment--success{background:#ffffff2e}.termix-wallet-pill__segment--address{background:#0f172a14;border-left:1px solid rgba(15,23,42,.08);cursor:pointer;transition:background .2s ease}.termix-wallet-pill__segment--address:hover{background:#0f172a26}.termix-wallet-pill__segment--action{background:#0f172a14;border-left:1px solid rgba(15,23,42,.08);cursor:pointer;transition:background .2s ease,color .2s ease}.termix-wallet-pill__segment--action:hover{background:#ef444426;color:#b91c1c}.termix-wallet-pill__spinner{width:1rem;height:1rem;animation:termix-wallet-spin .7s linear infinite}.termix-wallet-pill__copy{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;border-radius:9999px;background:#0f172a1f;color:#0f172ab3;transition:background .2s ease,color .2s ease}.termix-wallet-pill__copy svg{width:.78rem;height:.78rem}.termix-wallet-pill__copy--active{background:#0f172a33;color:#0f172a}.termix-wallet-indicator__error,.termix-wallet-pill__error{display:block;margin-top:.35rem;color:#ef4444f2;font-size:.75rem}.termix-wallet-indicator--not-installed{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:.75rem;border:1px solid #fbbf24;background:#fef3c7;color:#92400e;font-size:.8rem}.termix-wallet-indicator__icon--error{width:.9rem;height:.9rem}.termix-wallet-indicator__link{color:#2563eb;font-weight:600;text-decoration:none}.termix-wallet-indicator__link:hover{text-decoration:underline}.termix-sources-badge{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:8px}.termix-sources-badge__dots{display:flex;align-items:center;gap:3px;padding:4px 8px;background:#3b82f61a;border-radius:12px;transition:all .2s ease}.termix-sources-badge__dots:hover{background:#3b82f633}.termix-sources-badge__dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;animation:pulse 2s ease-in-out infinite}.termix-sources-badge__dot:nth-child(2){animation-delay:.2s}.termix-sources-badge__dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.termix-sources-badge__more{font-size:10px;color:#3b82f6;font-weight:600;margin-left:2px}.termix-sources-badge__popover{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:280px;max-width:400px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;z-index:1000;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dark .termix-sources-badge__popover{background:#1f2937;border-color:#374151}.termix-sources-badge__popover-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid #e5e7eb;font-size:13px;font-weight:600;color:#374151}.dark .termix-sources-badge__popover-header{border-bottom-color:#374151;color:#e5e7eb}.termix-sources-badge__icon{flex-shrink:0;color:#3b82f6}.termix-sources-badge__popover-list{max-height:300px;overflow-y:auto}.termix-sources-badge__popover-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-bottom:1px solid #f3f4f6;transition:background-color .15s ease}.termix-sources-badge__popover-item:last-child{border-bottom:none}.termix-sources-badge__popover-item:hover{background-color:#f9fafb}.dark .termix-sources-badge__popover-item{border-bottom-color:#374151}.dark .termix-sources-badge__popover-item:hover{background-color:#374151}.termix-sources-badge__popover-item-icon{font-size:16px;line-height:1;flex-shrink:0;margin-top:2px}.termix-sources-badge__popover-item-content{flex:1;min-width:0}.termix-sources-badge__popover-item-title{font-size:13px;font-weight:500;color:#111827;margin-bottom:3px;word-wrap:break-word}.dark .termix-sources-badge__popover-item-title{color:#e5e7eb}.termix-sources-badge__popover-item-score{font-size:11px;color:#6b7280}.dark .termix-sources-badge__popover-item-score{color:#9ca3af}.termix-disclaimer-toast{position:absolute;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:8px 12px;background:#fff;border-bottom:1px solid rgba(156,163,175,.2);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.termix-disclaimer-toast--hiding{animation:slideUp .3s ease-out forwards}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.termix-disclaimer-toast__content{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.termix-disclaimer-toast__icon{flex-shrink:0;width:14px;height:14px;color:#6b7280}.termix-disclaimer-toast__text{font-size:12px;color:#6b7280;text-align:center;line-height:1.4}.termix-disclaimer-toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:4px;transition:all .15s ease}.termix-disclaimer-toast__close:hover{background:#9ca3af33;color:#6b7280}.termix-disclaimer-toast__close svg{width:14px;height:14px}.dark .termix-disclaimer-toast{background:#4b556333;border-bottom-color:#4b55634d}.dark .termix-disclaimer-toast__icon,.dark .termix-disclaimer-toast__text{color:#9ca3af}.dark .termix-disclaimer-toast__close{color:#6b7280}.dark .termix-disclaimer-toast__close:hover{background:#4b55634d;color:#9ca3af}.termix-prose{font-size:14px;line-height:1.625;color:#111827;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.termix-prose .termix-prose-h1{font-size:1.25rem;font-weight:700;margin-bottom:4px;margin-top:8px;word-wrap:break-word}.termix-prose .termix-prose-h1:first-child{margin-top:0}.termix-prose .termix-prose-h2{font-size:1.125rem;font-weight:700;margin-bottom:4px;margin-top:8px;word-wrap:break-word}.termix-prose .termix-prose-h2:first-child{margin-top:0}.termix-prose .termix-prose-h3{font-size:1rem;font-weight:700;margin-bottom:4px;margin-top:4px;word-wrap:break-word}.termix-prose .termix-prose-h3:first-child{margin-top:0}.termix-prose .termix-prose-h4,.termix-prose .termix-prose-h5,.termix-prose .termix-prose-h6{font-size:14px;font-weight:700;margin-bottom:2px;margin-top:4px;word-wrap:break-word}.termix-prose .termix-prose-h4:first-child,.termix-prose .termix-prose-h5:first-child,.termix-prose .termix-prose-h6:first-child{margin-top:0}.termix-prose .termix-prose-p{margin-bottom:4px;word-wrap:break-word}.termix-prose .termix-prose-p:last-child{margin-bottom:0}li .termix-prose .termix-prose-p{display:inline;margin-bottom:0}.termix-prose .termix-prose-ul{list-style-type:disc;list-style-position:inside;margin-bottom:4px;padding-left:0}.termix-prose .termix-prose-ul .termix-prose-ul{margin-left:8px;margin-bottom:0}.termix-prose .termix-prose-ol{list-style-type:decimal;list-style-position:inside;margin-bottom:4px;padding-left:0}.termix-prose .termix-prose-ol .termix-prose-ol{margin-left:8px;margin-bottom:0}.termix-prose .termix-prose-li{margin-left:4px;word-wrap:break-word;margin-bottom:2px}.termix-prose .termix-prose-li:last-child{margin-bottom:0}.termix-prose .termix-prose-code-block{margin-bottom:4px;max-width:100%;overflow:hidden;border-radius:6px;background-color:#f5f5f5}.termix-prose .termix-prose-code-block .termix-prose-code-lang{padding:2px 8px;font-size:12px;color:#666;background-color:#e0e0e0;border-bottom:1px solid #d0d0d0}.termix-prose .termix-prose-pre{overflow-x:auto;max-width:100%;background-color:#fff;padding:4px;margin:0;border-radius:0}.termix-prose .termix-prose-pre .termix-prose-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;color:#004ee0;background:none;padding:0}.termix-prose .termix-prose-code-inline{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;background-color:#f3f4f6;color:#dc2626;padding:.125rem .25rem;border-radius:4px;word-wrap:break-word;white-space:normal}.termix-prose .termix-prose-blockquote{border-left:4px solid #d1d5db;padding-left:8px;padding-top:2px;padding-bottom:2px;margin-bottom:4px;font-style:italic;color:#374151;word-wrap:break-word}.termix-prose .termix-prose-blockquote .termix-prose-p{margin-bottom:0}.termix-prose .termix-prose-link{color:#3b82f6;text-decoration:underline;word-break:break-all}.termix-prose .termix-prose-link:hover{color:#2563eb}.termix-prose .termix-prose-img{margin-top:8px;margin-bottom:8px;max-width:100%;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.termix-prose .termix-prose-table-wrapper{overflow-x:auto;margin-bottom:4px;max-width:100%}.termix-prose .termix-prose-table{min-width:100%;border-collapse:collapse;border:1px solid #d1d5db}.termix-prose .termix-prose-thead{background-color:#f3f4f6}.termix-prose .termix-prose-tr{border-bottom:1px solid #d1d5db}.termix-prose .termix-prose-th{border:1px solid #d1d5db;padding:4px 8px;text-align:left;font-weight:600;word-wrap:break-word;min-width:100px}.termix-prose .termix-prose-td{border:1px solid #d1d5db;padding:4px 8px;word-wrap:break-word;min-width:100px}.termix-prose .termix-prose-hr{margin-top:8px;margin-bottom:8px;border:none;border-top:1px solid #d1d5db}.termix-prose .termix-prose-strong{font-weight:700}.termix-prose .termix-prose-em{font-style:italic}.termix-prose .termix-prose-del{text-decoration:line-through}.whitespace-pre-wrap{white-space:pre-wrap}.termix-container{color:#111827;background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.termix-container .wallet-connect-container{padding:1rem;border-radius:.5rem;background:#f9fafb}.termix-container .wallet-connect-container.in-chat{background:transparent;padding:0}.termix-container .wallet-not-installed,.termix-container .wallet-disconnected,.termix-container .wallet-connected{display:flex;flex-direction:column;align-items:center;gap:1rem}.termix-container .wallet-icon{width:3rem;height:3rem;color:#6b7280}.termix-container .install-link{color:#3b82f6;text-decoration:underline;font-weight:500}.termix-container .wallet-connect-prompt{text-align:center;margin-bottom:1rem}.termix-container .prompt-text{color:#4b5563;margin-top:.5rem}.termix-container .wallet-connect-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f6851b;color:#fff;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:background .2s}.termix-container .wallet-connect-btn:hover:not(:disabled){background:#e5771a}.termix-container .wallet-connect-btn:disabled{opacity:.6;cursor:not-allowed}.termix-container .metamask-logo{width:1.25rem;height:1.25rem}.termix-container .spinner{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:termix-wallet-spin .6s linear infinite}.termix-container .wallet-connected{flex-direction:row;justify-content:space-between;width:100%}.termix-container .wallet-info{display:flex;flex-direction:column;gap:.5rem}.termix-container .wallet-status{display:flex;align-items:center;gap:.5rem}.termix-container .status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#ef4444}.termix-container .status-dot.connected{background:#10b981}.termix-container .status-text{font-size:.875rem;color:#6b7280}.termix-container .wallet-details{display:flex;flex-direction:column;gap:.25rem}.termix-container .wallet-address{font-family:monospace;font-size:.875rem;color:#1f2937}.termix-container .wallet-balance{font-size:.875rem;color:#4b5563;font-weight:500}.termix-container .wallet-network{font-size:.75rem;color:#6b7280}.termix-container .wallet-disconnect-btn{padding:.5rem 1rem;background:transparent;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;font-size:.875rem;cursor:pointer;transition:all .2s}.termix-container .wallet-disconnect-btn:hover{background:#f9fafb;border-color:#d1d5db}.termix-container .wallet-error{margin-top:.5rem;padding:.5rem;background:#fee2e2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;font-size:.875rem}@keyframes termix-wallet-spin{to{transform:rotate(360deg)}}.termix-container .ap2-payment-flow{max-width:600px;margin:0 auto;padding:1.5rem;background:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a}.termix-container .ap2-payment-header{margin-bottom:2rem}.termix-container .ap2-payment-header h3{font-size:1.25rem;font-weight:600;margin-bottom:1rem}.termix-container .payment-steps{display:flex;justify-content:space-between;position:relative;padding:0 1rem}.termix-container .payment-steps:before{content:"";position:absolute;top:50%;left:2rem;right:2rem;height:2px;z-index:0}.termix-container .step{position:relative;z-index:1;padding:.5rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:2rem;font-size:.75rem;color:#9ca3af;font-weight:500}.termix-container .step.active{border-color:#3b82f6;color:#3b82f6}.termix-container .step.complete{border-color:#10b981;color:#10b981}.termix-container .ap2-payment-content{min-height:300px}.termix-container .payment-step-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;text-align:center}.termix-container .step-icon,.termix-container .confirm-icon,.termix-container .success-icon{width:4rem;height:4rem;display:flex;align-items:center;justify-content:center}.termix-container .step-icon svg,.termix-container .confirm-icon svg{width:3rem;height:3rem;color:#6b7280}.termix-container .success-icon svg{width:4rem;height:4rem}.termix-container .processing-spinner{width:4rem;height:4rem;margin:0 auto}.termix-container .processing-spinner .spinner{width:3rem;height:3rem;border:3px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:termix-ap2-spin 1s linear infinite}.termix-container .payment-step-content h4{font-size:1.125rem;font-weight:600;margin:.5rem 0}.termix-container .payment-step-content p{color:#6b7280;margin:.5rem 0}.termix-container .processing-note{font-size:.875rem;color:#9ca3af}.termix-container .wallet-info-display,.termix-container .payment-details{width:100%;padding:1rem;background:#f9fafb;border-radius:.375rem;margin:1rem 0;text-align:left}.termix-container .payment-details h4{font-size:1rem;font-weight:600;margin-bottom:.75rem}.termix-container .info-row,.termix-container .detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e5e7eb}.termix-container .info-row:last-child,.termix-container .detail-row:last-child{border-bottom:none}.termix-container .label{color:#6b7280;font-size:.875rem}.termix-container .value{font-weight:500;font-size:.875rem;color:#1f2937;font-family:monospace}.termix-container .value.amount{color:#059669;font-size:1rem}.termix-container .mandate-info{width:100%;margin:1rem 0}.termix-container .info-box{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;text-align:left}.termix-container .info-icon{flex-shrink:0;width:1.25rem;height:1.25rem;color:#3b82f6}.termix-container .info-box p{margin:0;color:#1e40af;font-size:.875rem}.termix-container .payment-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.termix-container .btn-primary,.termix-container .btn-secondary{padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.termix-container .btn-primary{background:#3b82f6;color:#fff}.termix-container .btn-primary:hover{background:#2563eb}.termix-container .btn-primary.confirm{background:#059669}.termix-container .btn-primary.confirm:hover{background:#047857}.termix-container .btn-secondary{background:#fff;color:#6b7280;border-color:#e5e7eb}.termix-container .btn-secondary:hover{background:#f9fafb}.termix-container .confirm-message{max-width:400px;line-height:1.5}.termix-container .confirm-message strong{color:#059669}.termix-container .tx-details{width:100%;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.375rem;margin:1rem 0}.termix-container .tx-hash{display:flex;flex-direction:column;gap:.5rem}.termix-container .tx-link{color:#3b82f6;text-decoration:none;font-family:monospace;font-size:.875rem}.termix-container .tx-link:hover{text-decoration:underline}.termix-container .payment-error{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;margin-top:1rem}.termix-container .error-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.termix-container .payment-error p{margin:0;color:#dc2626;font-size:.875rem;text-align:left}@keyframes termix-ap2-spin{to{transform:rotate(360deg)}}.termix-container .payment-approval-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.termix-container .payment-approval-modal{background:#fff;color:#1f2937;border-radius:.5rem;box-shadow:0 10px 25px #0000001a;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out}@media (prefers-color-scheme: dark){.termix-container .payment-approval-modal{background:#1f2937;color:#f9fafb;box-shadow:0 10px 25px #00000080}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.termix-container .payment-modal-header{padding:1.5rem;border-bottom:1px solid #e5e7eb}@media (prefers-color-scheme: dark){.termix-container .payment-modal-header{border-bottom-color:#374151}}.termix-container .payment-modal-title{font-size:1.125rem;font-weight:600;margin:0;display:flex;align-items:center;gap:.5rem;color:inherit}.termix-container .payment-modal-title svg{width:1.25rem;height:1.25rem}.termix-container .payment-modal-description{font-size:.875rem;color:#6b7280;margin:.5rem 0 0}@media (prefers-color-scheme: dark){.termix-container .payment-modal-description{color:#9ca3af}}.termix-container .payment-modal-content{padding:1.5rem}.termix-container .payment-modal-section{margin-bottom:1.5rem}.termix-container .payment-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.375rem;margin-bottom:1rem}.termix-container .payment-alert-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.termix-container .payment-alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.termix-container .payment-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.termix-container .payment-alert svg{width:1rem;height:1rem;flex-shrink:0;margin-top:.125rem}.termix-container .payment-alert-description{font-size:.875rem;margin:0}.termix-container .wallet-badge-container{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:#f9fafb;border-radius:.5rem}@media (prefers-color-scheme: dark){.termix-container .wallet-badge-container{background:#374151}}.termix-container .wallet-badge-label{font-size:.875rem;font-weight:500;color:inherit}.termix-container .wallet-badge{background:#e5e7eb;color:#1f2937;padding:.25rem .75rem;border-radius:.25rem;font-size:.75rem;font-weight:500;font-family:monospace}@media (prefers-color-scheme: dark){.termix-container .wallet-badge{background:#4b5563;color:#f9fafb}}.termix-container .payment-details{background:#f9fafb;border-radius:.5rem;padding:1rem}@media (prefers-color-scheme: dark){.termix-container .payment-details{background:#374151}}.termix-container .payment-details h4{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:inherit}.termix-container .payment-detail-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #e5e7eb;font-size:.875rem}@media (prefers-color-scheme: dark){.termix-container .payment-detail-row{border-bottom-color:#4b5563}}.termix-container .payment-detail-row:last-child{border-bottom:none}.termix-container .payment-detail-label{color:#6b7280}@media (prefers-color-scheme: dark){.termix-container .payment-detail-label{color:#9ca3af}}.termix-container .payment-detail-value{font-weight:500;font-family:monospace;font-size:.75rem;color:#1f2937}@media (prefers-color-scheme: dark){.termix-container .payment-detail-value{color:#f9fafb}}.termix-container .payment-detail-amount{font-weight:600;font-size:1rem;color:#059669;font-family:inherit}@media (prefers-color-scheme: dark){.termix-container .payment-detail-amount{color:#10b981}}.termix-container .payment-detail-badge{background:#e5e7eb;color:#1f2937;padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}@media (prefers-color-scheme: dark){.termix-container .payment-detail-badge{background:#4b5563;color:#f9fafb}}.termix-container .cart-items{margin-top:1rem}.termix-container .cart-items h4{font-size:.875rem;font-weight:600;margin:0 0 .5rem;color:inherit}.termix-container .cart-items-list{max-height:8rem;overflow-y:auto}.termix-container .cart-item{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.875rem;color:inherit}.termix-container .cart-item-name{color:#6b7280}@media (prefers-color-scheme: dark){.termix-container .cart-item-name{color:#9ca3af}.termix-container .cart-item{color:#f9fafb}}.termix-container .payment-steps{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem 0}.termix-container .payment-step{display:flex;align-items:center;gap:.25rem}.termix-container .payment-step-dot{width:.5rem;height:.5rem;border-radius:50%;background:#e5e7eb}.termix-container .payment-step-dot.active{background:#3b82f6}.termix-container .payment-step-dot.complete{background:#10b981}.termix-container .payment-step-label{font-size:.75rem;color:#6b7280}.termix-container .payment-step-label.active{color:#3b82f6}.termix-container .payment-step-label.complete{color:#10b981}.termix-container .payment-step-separator{width:2rem;height:1px;background:#e5e7eb}.termix-container .payment-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}@media (prefers-color-scheme: dark){.termix-container .payment-modal-footer{border-top-color:#374151}}.termix-container .payment-btn{padding:.625rem 1.25rem;border-radius:.375rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s;border:1px solid transparent;display:inline-flex;align-items:center;gap:.5rem}.termix-container .payment-btn:disabled{opacity:.6;cursor:not-allowed}.termix-container .payment-btn-primary{background:#3b82f6;color:#fff}.termix-container .payment-btn-primary:hover:not(:disabled){background:#2563eb}.termix-container .payment-btn-outline{background:#fff;color:#6b7280;border-color:#e5e7eb}.termix-container .payment-btn-outline:hover:not(:disabled){background:#f9fafb}@media (prefers-color-scheme: dark){.termix-container .payment-btn-outline{background:#374151;color:#9ca3af;border-color:#4b5563}.termix-container .payment-btn-outline:hover:not(:disabled){background:#4b5563}}.termix-container .payment-btn svg{width:1rem;height:1rem}.termix-container .payment-spinner{width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.termix-container .payment-success-icon{width:3rem;height:3rem;margin:0 auto 1rem;color:#10b981}.termix-container .payment-success-icon svg{width:100%;height:100%}
@@ -0,0 +1,109 @@
1
+ import { CSSProperties } from 'vue';
2
+ import { BeforeCallApiFunc, DomainHeaderConfig } from '../core/types';
3
+
4
+ export interface Message {
5
+ id: string;
6
+ role: 'user' | 'assistant' | 'system';
7
+ content: string;
8
+ timestamp: Date;
9
+ usage?: {
10
+ promptTokens?: number;
11
+ completionTokens?: number;
12
+ totalTokens?: number;
13
+ cost: number;
14
+ };
15
+ knowledgeContext?: KnowledgeContext[];
16
+ toolCalls?: ToolCall[];
17
+ }
18
+ export interface ToolCall {
19
+ index?: number;
20
+ id?: string;
21
+ type?: string;
22
+ function?: {
23
+ name: string;
24
+ arguments: string | any;
25
+ };
26
+ }
27
+ export interface KnowledgeContext {
28
+ id: string;
29
+ title: string;
30
+ content: string;
31
+ type: string;
32
+ score?: number;
33
+ metadata?: {
34
+ sourceDescription?: string;
35
+ fileName?: string;
36
+ isChunk?: boolean;
37
+ chunkIndex?: number;
38
+ totalChunks?: number;
39
+ sourceId?: string;
40
+ [key: string]: any;
41
+ };
42
+ }
43
+ export interface FunctionCall {
44
+ name: string;
45
+ parameters: Record<string, any>;
46
+ metadata?: {
47
+ type?: 'api' | 'contract' | 'fiat' | 'ap2' | 'unknown';
48
+ description?: string;
49
+ method?: string;
50
+ path?: string;
51
+ baseUrl?: string;
52
+ contractName?: string;
53
+ contractAddress?: string;
54
+ chainName?: string;
55
+ projectId?: string;
56
+ apiBaseUrl?: string;
57
+ proxyMode?: boolean;
58
+ restExecuteHeaders?: Record<string, string>;
59
+ merchantAddress?: string;
60
+ [key: string]: any;
61
+ };
62
+ }
63
+ export interface ExecutionResult {
64
+ success: boolean;
65
+ type: 'api' | 'contract' | 'fiat' | 'ap2' | 'payment' | 'wallet' | 'error';
66
+ data?: any;
67
+ error?: string;
68
+ metadata?: Record<string, any>;
69
+ }
70
+ export interface ChatInterfaceProps {
71
+ projectId: string;
72
+ aiConfigId: string;
73
+ apiHeaders?: Record<string, string>;
74
+ authorization?: string;
75
+ restExecuteHeader?: Record<string, string>;
76
+ restExecuteHeaders?: DomainHeaderConfig[];
77
+ proxyMode?: boolean;
78
+ placeholder?: string;
79
+ enableStreamingMode?: boolean;
80
+ showHeader?: boolean;
81
+ showUsageInfo?: boolean;
82
+ showTimestamp?: boolean;
83
+ maxKnowledgeResults?: number;
84
+ messages?: Message[];
85
+ onMessagesChange?: (messages: Message[]) => void;
86
+ className?: string;
87
+ style?: CSSProperties;
88
+ messagesClassName?: string;
89
+ messagesStyle?: CSSProperties;
90
+ inputClassName?: string;
91
+ inputStyle?: CSSProperties;
92
+ onMessageSent?: (message: Message) => void;
93
+ onResponseReceived?: (message: Message) => void;
94
+ onFunctionExecuted?: (functionCall: FunctionCall, result: ExecutionResult) => void;
95
+ onError?: (error: any) => void;
96
+ /**
97
+ * Optional hook called before API executor makes a request.
98
+ * Only triggered when executing API type function calls.
99
+ * Allows modification of the request object before it's sent.
100
+ */
101
+ beforeCallApiFunc?: BeforeCallApiFunc;
102
+ personalityName?: string;
103
+ }
104
+ export interface APIConfig {
105
+ baseUrl: string;
106
+ headers?: Record<string, string>;
107
+ }
108
+ export type { DomainHeaderConfig, BeforeCallApiFunc, ApiRequest } from '../core/types';
109
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gBAAgB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACtC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE;QACT,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;QACvD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3E,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IAEjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAGjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,aAAa,CAAC;IAG3B,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAG/B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAGtC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * MoonPay-specific type definitions
3
+ */
4
+ export interface MoonPayConfig {
5
+ apiKey?: string;
6
+ environment?: 'sandbox' | 'production';
7
+ }
8
+ export interface MoonPayTransaction {
9
+ id: string;
10
+ status: 'pending' | 'completed' | 'failed';
11
+ cryptoCurrency: string;
12
+ baseCurrency: string;
13
+ baseCurrencyAmount: number;
14
+ quoteCurrencyAmount: number;
15
+ walletAddress: string;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ }
19
+ export interface MoonPayWidgetConfig {
20
+ apiKey: string;
21
+ currencyCode?: string;
22
+ baseCurrencyCode?: string;
23
+ baseCurrencyAmount?: string;
24
+ walletAddress?: string;
25
+ colorCode?: string;
26
+ language?: string;
27
+ redirectURL?: string;
28
+ showOnlyCurrencies?: string;
29
+ showWalletAddressForm?: boolean;
30
+ }
31
+ //# sourceMappingURL=moonpay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moonpay.d.ts","sourceRoot":"","sources":["../../src/types/moonpay.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC"}
package/package.json ADDED
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "@termix-it/vue-tool",
3
+ "version": "1.0.0",
4
+ "description": "A configurable AI chat interface component library for Vue",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js"
10
+ },
11
+ "./dist/style.css": "./dist/style.css",
12
+ "./style.css": "./dist/style.css"
13
+ },
14
+ "types": "./dist/index.d.ts",
15
+ "sideEffects": [
16
+ "*.css",
17
+ "*.less",
18
+ "./src/styles/**"
19
+ ],
20
+ "files": [
21
+ "dist",
22
+ "README.md"
23
+ ],
24
+ "scripts": {
25
+ "build": "cross-env NODE_ENV=production vite build",
26
+ "build:dev": "cross-env NODE_ENV=production VITE_API_BASE_URL=/api/v1-dev vite build",
27
+ "dev": "vite build --watch",
28
+ "dev:local": "cross-env BUILD_MODE=local vite build --watch",
29
+ "example": "vite --config example/vite.config.ts",
30
+ "example:dev": "cross-env VITE_API_BASE_URL=/api/v1-dev vite --config example/vite.config.ts",
31
+ "clean": "rimraf dist",
32
+ "prepublishOnly": "npm run clean && npm run build",
33
+ "type-check": "vue-tsc --noEmit",
34
+ "check-peers": "npx check-peer-dependencies"
35
+ },
36
+ "keywords": [
37
+ "ai",
38
+ "chat",
39
+ "interface",
40
+ "vue",
41
+ "vue3",
42
+ "ui",
43
+ "component",
44
+ "llm",
45
+ "assistant",
46
+ "web3"
47
+ ],
48
+ "author": "TermiX Team",
49
+ "license": "MIT",
50
+ "peerDependencies": {
51
+ "ethers": "^5.7.0 || ^6.15.0",
52
+ "vue": "^3.3.0"
53
+ },
54
+ "dependencies": {
55
+ "axios": "^1.6.0",
56
+ "clsx": "^2.0.0",
57
+ "dompurify": "^3.0.6",
58
+ "inversify": "^6.0.2",
59
+ "lucide-vue-next": "^0.562.0",
60
+ "marked": "^9.1.6",
61
+ "reflect-metadata": "^0.2.1",
62
+ "tailwind-merge": "^2.2.0"
63
+ },
64
+ "devDependencies": {
65
+ "@types/dompurify": "^3.0.5",
66
+ "@types/node": "^20.10.5",
67
+ "@vitejs/plugin-vue": "^5.0.0",
68
+ "cross-env": "^10.1.0",
69
+ "ethers": "^6.15.0",
70
+ "less": "^4.4.1",
71
+ "postcss": "^8.5.6",
72
+ "rimraf": "^5.0.0",
73
+ "typescript": "^5.9.2",
74
+ "vite": "^5.0.10",
75
+ "vite-plugin-dts": "^3.7.0",
76
+ "vue": "^3.4.0",
77
+ "vue-tsc": "^2.0.0"
78
+ },
79
+ "repository": {
80
+ "type": "git",
81
+ "url": "https://github.com/termix/vue-tool.git"
82
+ },
83
+ "bugs": {
84
+ "url": "https://github.com/termix/vue-tool/issues"
85
+ },
86
+ "homepage": "https://github.com/termix/vue-tool#readme"
87
+ }