vectra-client 0.3.2 → 0.3.4
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -0
- data/CHANGELOG.md +12 -179
- data/docs/_layouts/default.html +1 -0
- data/docs/_layouts/home.html +44 -3
- data/docs/_layouts/page.html +42 -9
- data/docs/assets/style.css +226 -1
- data/docs/examples/index.md +9 -0
- data/docs/examples/real-world.md +536 -0
- data/docs/grafana_final.png +0 -0
- data/docs/guides/monitoring.md +50 -0
- data/examples/GRAFANA_QUICKSTART.md +158 -0
- data/examples/README.md +320 -0
- data/examples/comprehensive_demo.rb +1116 -0
- data/examples/grafana-dashboard.json +878 -0
- data/examples/grafana-setup.md +340 -0
- data/examples/prometheus-exporter.rb +229 -0
- data/lib/vectra/providers/weaviate.rb +454 -10
- data/lib/vectra/version.rb +1 -1
- data/vectra.gemspec +56 -0
- metadata +10 -1
data/docs/assets/style.css
CHANGED
|
@@ -164,6 +164,40 @@ body {
|
|
|
164
164
|
border-color: var(--tma-color-border-hover);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
+
.tma-nav__toggle {
|
|
168
|
+
display: none;
|
|
169
|
+
flex-direction: column;
|
|
170
|
+
justify-content: space-around;
|
|
171
|
+
width: 24px;
|
|
172
|
+
height: 24px;
|
|
173
|
+
background: transparent;
|
|
174
|
+
border: none;
|
|
175
|
+
cursor: pointer;
|
|
176
|
+
padding: 0;
|
|
177
|
+
z-index: 10;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.tma-nav__toggle-line {
|
|
181
|
+
width: 100%;
|
|
182
|
+
height: 2px;
|
|
183
|
+
background: var(--tma-color-text-primary);
|
|
184
|
+
border-radius: 2px;
|
|
185
|
+
transition: all var(--tma-transition-normal);
|
|
186
|
+
transform-origin: center;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.tma-nav__toggle[aria-expanded="true"] .tma-nav__toggle-line:nth-child(1) {
|
|
190
|
+
transform: rotate(45deg) translate(6px, 6px);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.tma-nav__toggle[aria-expanded="true"] .tma-nav__toggle-line:nth-child(2) {
|
|
194
|
+
opacity: 0;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.tma-nav__toggle[aria-expanded="true"] .tma-nav__toggle-line:nth-child(3) {
|
|
198
|
+
transform: rotate(-45deg) translate(6px, -6px);
|
|
199
|
+
}
|
|
200
|
+
|
|
167
201
|
/* ============================================
|
|
168
202
|
Hero Section
|
|
169
203
|
============================================ */
|
|
@@ -751,8 +785,49 @@ code {
|
|
|
751
785
|
padding: 0 var(--tma-spacing-md);
|
|
752
786
|
}
|
|
753
787
|
|
|
788
|
+
.tma-nav__toggle {
|
|
789
|
+
display: flex;
|
|
790
|
+
}
|
|
791
|
+
|
|
754
792
|
.tma-nav__menu {
|
|
755
|
-
display:
|
|
793
|
+
display: flex;
|
|
794
|
+
position: fixed;
|
|
795
|
+
top: var(--tma-header-height);
|
|
796
|
+
left: 0;
|
|
797
|
+
right: 0;
|
|
798
|
+
height: 0;
|
|
799
|
+
max-height: 400px;
|
|
800
|
+
background: rgba(10, 10, 15, 0.98);
|
|
801
|
+
backdrop-filter: blur(12px);
|
|
802
|
+
flex-direction: column;
|
|
803
|
+
align-items: stretch;
|
|
804
|
+
padding: 0;
|
|
805
|
+
gap: var(--tma-spacing-xs);
|
|
806
|
+
transform: translateX(100%);
|
|
807
|
+
transition: transform var(--tma-transition-normal), opacity var(--tma-transition-normal), height var(--tma-transition-normal), padding var(--tma-transition-normal);
|
|
808
|
+
z-index: 999;
|
|
809
|
+
overflow-y: auto;
|
|
810
|
+
opacity: 0;
|
|
811
|
+
pointer-events: none;
|
|
812
|
+
border-top: 1px solid var(--tma-color-border);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
.tma-nav__menu.tma-nav__menu--open {
|
|
816
|
+
transform: translateX(0);
|
|
817
|
+
opacity: 1;
|
|
818
|
+
pointer-events: auto;
|
|
819
|
+
height: 400px;
|
|
820
|
+
padding: var(--tma-spacing-lg);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
.tma-nav__menu li {
|
|
824
|
+
width: 100%;
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
.tma-nav__link {
|
|
828
|
+
width: 100%;
|
|
829
|
+
padding: var(--tma-spacing-md);
|
|
830
|
+
justify-content: flex-start;
|
|
756
831
|
}
|
|
757
832
|
|
|
758
833
|
.tma-hero {
|
|
@@ -925,3 +1000,153 @@ code {
|
|
|
925
1000
|
color: #ef4444;
|
|
926
1001
|
font-weight: bold;
|
|
927
1002
|
}
|
|
1003
|
+
|
|
1004
|
+
/* ============================================
|
|
1005
|
+
Dashboard Showcase
|
|
1006
|
+
============================================ */
|
|
1007
|
+
.tma-dashboard-showcase {
|
|
1008
|
+
display: grid;
|
|
1009
|
+
grid-template-columns: 1fr 1fr;
|
|
1010
|
+
gap: var(--tma-spacing-2xl);
|
|
1011
|
+
margin: var(--tma-spacing-2xl) 0;
|
|
1012
|
+
padding: var(--tma-spacing-xl);
|
|
1013
|
+
background: var(--tma-color-bg-secondary);
|
|
1014
|
+
border-radius: var(--tma-radius-lg);
|
|
1015
|
+
border: 1px solid var(--tma-color-border);
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
.tma-dashboard-showcase__image {
|
|
1019
|
+
position: relative;
|
|
1020
|
+
border-radius: var(--tma-radius-md);
|
|
1021
|
+
overflow: hidden;
|
|
1022
|
+
box-shadow: var(--tma-shadow-lg);
|
|
1023
|
+
background: var(--tma-color-bg-primary);
|
|
1024
|
+
border: 1px solid var(--tma-color-border);
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
.tma-dashboard-screenshot {
|
|
1028
|
+
width: 100%;
|
|
1029
|
+
height: auto;
|
|
1030
|
+
display: block;
|
|
1031
|
+
border-radius: var(--tma-radius-md);
|
|
1032
|
+
transition: transform var(--tma-transition-normal);
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
.tma-dashboard-showcase__image:hover .tma-dashboard-screenshot {
|
|
1036
|
+
transform: scale(1.02);
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
.tma-dashboard-showcase__features {
|
|
1040
|
+
display: flex;
|
|
1041
|
+
flex-direction: column;
|
|
1042
|
+
justify-content: center;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
.tma-dashboard-showcase__features h4 {
|
|
1046
|
+
font-size: 1.3rem;
|
|
1047
|
+
font-weight: 700;
|
|
1048
|
+
margin-bottom: var(--tma-spacing-lg);
|
|
1049
|
+
color: var(--tma-color-text-primary);
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
.tma-dashboard-showcase__features ul {
|
|
1053
|
+
list-style: none;
|
|
1054
|
+
padding-left: 0;
|
|
1055
|
+
margin: 0 0 var(--tma-spacing-xl) 0;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
.tma-dashboard-showcase__features li {
|
|
1059
|
+
margin-bottom: var(--tma-spacing-md);
|
|
1060
|
+
padding-left: var(--tma-spacing-lg);
|
|
1061
|
+
position: relative;
|
|
1062
|
+
color: var(--tma-color-text-secondary);
|
|
1063
|
+
line-height: 1.6;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
.tma-dashboard-showcase__features li::before {
|
|
1067
|
+
content: '▸';
|
|
1068
|
+
position: absolute;
|
|
1069
|
+
left: 0;
|
|
1070
|
+
color: var(--tma-color-accent-primary);
|
|
1071
|
+
font-weight: bold;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
.tma-dashboard-showcase__features strong {
|
|
1075
|
+
color: var(--tma-color-text-primary);
|
|
1076
|
+
font-weight: 600;
|
|
1077
|
+
}
|
|
1078
|
+
|
|
1079
|
+
.tma-dashboard-showcase__actions {
|
|
1080
|
+
display: flex;
|
|
1081
|
+
gap: var(--tma-spacing-md);
|
|
1082
|
+
flex-wrap: wrap;
|
|
1083
|
+
margin-top: var(--tma-spacing-lg);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
.tma-button {
|
|
1087
|
+
display: inline-flex;
|
|
1088
|
+
align-items: center;
|
|
1089
|
+
gap: var(--tma-spacing-sm);
|
|
1090
|
+
padding: var(--tma-spacing-md) var(--tma-spacing-lg);
|
|
1091
|
+
border-radius: var(--tma-radius-md);
|
|
1092
|
+
font-weight: 600;
|
|
1093
|
+
font-size: 0.95rem;
|
|
1094
|
+
text-decoration: none;
|
|
1095
|
+
transition: all var(--tma-transition-fast);
|
|
1096
|
+
border: 1px solid transparent;
|
|
1097
|
+
}
|
|
1098
|
+
|
|
1099
|
+
.tma-button--primary {
|
|
1100
|
+
background: var(--tma-color-accent-primary);
|
|
1101
|
+
color: #0a0a0f!important;
|
|
1102
|
+
border-color: var(--tma-color-accent-primary);
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
.tma-button--primary:hover {
|
|
1106
|
+
background: var(--tma-color-accent-light);
|
|
1107
|
+
border-color: var(--tma-color-accent-light);
|
|
1108
|
+
color: #0a0a0f!important;
|
|
1109
|
+
transform: translateY(-1px);
|
|
1110
|
+
box-shadow: var(--tma-shadow-md);
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
.tma-button--secondary {
|
|
1114
|
+
background: transparent;
|
|
1115
|
+
color: var(--tma-color-accent-primary);
|
|
1116
|
+
border-color: var(--tma-color-accent-primary);
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
.tma-button--secondary:hover {
|
|
1120
|
+
background: var(--tma-color-accent-muted);
|
|
1121
|
+
border-color: var(--tma-color-accent-light);
|
|
1122
|
+
color: var(--tma-color-accent-light);
|
|
1123
|
+
transform: translateY(-1px);
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
/* Responsive Dashboard Showcase */
|
|
1127
|
+
@media (max-width: 1024px) {
|
|
1128
|
+
.tma-dashboard-showcase {
|
|
1129
|
+
grid-template-columns: 1fr;
|
|
1130
|
+
gap: var(--tma-spacing-xl);
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
.tma-dashboard-showcase__features {
|
|
1134
|
+
order: -1;
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1138
|
+
@media (max-width: 768px) {
|
|
1139
|
+
.tma-dashboard-showcase {
|
|
1140
|
+
padding: var(--tma-spacing-md);
|
|
1141
|
+
margin: var(--tma-spacing-lg) 0;
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
.tma-dashboard-showcase__actions {
|
|
1145
|
+
flex-direction: column;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.tma-button {
|
|
1149
|
+
width: 100%;
|
|
1150
|
+
justify-content: center;
|
|
1151
|
+
}
|
|
1152
|
+
}
|
data/docs/examples/index.md
CHANGED
|
@@ -48,7 +48,16 @@ Practical examples to get started with Vectra.
|
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
50
|
|
|
51
|
+
## Real-World Examples
|
|
52
|
+
|
|
53
|
+
<div class="tma-comparison-card">
|
|
54
|
+
<h4>Production Use Cases</h4>
|
|
55
|
+
<p>E-commerce search, RAG chatbots, multi-tenant SaaS, and batch processing</p>
|
|
56
|
+
<a href="{{ site.baseurl }}/examples/real-world/">View Examples →</a>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
51
59
|
## More Resources
|
|
52
60
|
|
|
53
61
|
- [GitHub Examples](https://github.com/stokry/vectra/tree/main/examples) - Full example files
|
|
62
|
+
- [Comprehensive Demo](https://github.com/stokry/vectra/tree/main/examples/comprehensive_demo.rb) - Complete feature demonstration
|
|
54
63
|
- [Integration Tests](https://github.com/stokry/vectra/tree/main/spec/integration) - Real-world test cases
|