@folterung/project-memory 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -8
- package/package.json +4 -2
- package/packages/cli/coverage/lcov-report/chunking/chunker.ts.html +81 -81
- package/packages/cli/coverage/lcov-report/chunking/hash.ts.html +12 -12
- package/packages/cli/coverage/lcov-report/chunking/index.html +1 -1
- package/packages/cli/coverage/lcov-report/chunking/types.ts.html +23 -23
- package/packages/cli/coverage/lcov-report/config/index.html +1 -1
- package/packages/cli/coverage/lcov-report/config/load.ts.html +1 -1
- package/packages/cli/coverage/lcov-report/config/types.ts.html +1 -1
- package/packages/cli/coverage/lcov-report/embedding/index.html +1 -1
- package/packages/cli/coverage/lcov-report/embedding/stub.ts.html +1 -1
- package/packages/cli/coverage/lcov-report/index.html +18 -18
- package/packages/cli/coverage/lcov-report/qdrant/index.html +1 -1
- package/packages/cli/coverage/lcov-report/qdrant/upsert.ts.html +1 -1
- package/packages/cli/coverage/lcov-report/scope/allowlist.ts.html +51 -51
- package/packages/cli/coverage/lcov-report/scope/ignore.ts.html +1 -1
- package/packages/cli/coverage/lcov-report/scope/index.html +19 -19
- package/packages/cli/coverage/lcov.info +221 -213
- package/packages/cli/coverage/tmp/{coverage-7460-1770137208481-0.json → coverage-24604-1770174821315-0.json} +1 -1
- package/packages/cli/coverage/tmp/coverage-24605-1770174821362-0.json +1 -0
- package/packages/cli/coverage/tmp/{coverage-7462-1770137208524-0.json → coverage-24606-1770174821361-0.json} +1 -1
- package/packages/cli/coverage/tmp/{coverage-7463-1770137208524-0.json → coverage-24607-1770174821359-0.json} +1 -1
- package/packages/cli/coverage/tmp/{coverage-7464-1770137208531-0.json → coverage-24608-1770174821367-0.json} +1 -1
- package/packages/cli/coverage/tmp/{coverage-7465-1770137208526-0.json → coverage-24609-1770174821359-0.json} +1 -1
- package/packages/cli/coverage/tmp/{coverage-7466-1770137208528-0.json → coverage-24610-1770174821360-0.json} +1 -1
- package/packages/cli/coverage/tmp/{coverage-7467-1770137208579-0.json → coverage-24611-1770174821416-0.json} +1 -1
- package/packages/cli/coverage/tmp/coverage-24612-1770174821392-0.json +1 -0
- package/packages/cli/coverage/tmp/{coverage-7469-1770137208543-0.json → coverage-24613-1770174821380-0.json} +1 -1
- package/packages/cli/dist/chunking/chunker.test.js +19 -0
- package/packages/cli/dist/chunking/chunker.test.js.map +1 -1
- package/packages/cli/dist/cli/index.js +1 -1
- package/packages/cli/dist/cli/index.js.map +1 -1
- package/packages/cli/dist/phase1/pipeline.js +17 -7
- package/packages/cli/dist/phase1/pipeline.js.map +1 -1
- package/packages/cli/dist/phase2/deep-index.js +18 -6
- package/packages/cli/dist/phase2/deep-index.js.map +1 -1
- package/packages/cli/dist/scope/allowlist.test.js +14 -1
- package/packages/cli/dist/scope/allowlist.test.js.map +1 -1
- package/packages/cli/src/chunking/chunker.test.ts +21 -0
- package/packages/cli/src/cli/index.ts +1 -1
- package/packages/cli/src/phase1/pipeline.ts +15 -8
- package/packages/cli/src/phase2/deep-index.ts +15 -6
- package/packages/cli/src/scope/allowlist.test.ts +16 -1
- package/packages/mcp-server/dist/index.js +174 -16
- package/packages/mcp-server/dist/index.js.map +1 -1
- package/packages/mcp-server/dist/system-instructions.md +2 -0
- package/packages/mcp-server/src/index.ts +204 -16
- package/packages/mcp-server/system-instructions.md +2 -0
- package/packages/server/coverage/lcov-report/api/index.html +146 -0
- package/packages/server/coverage/lcov-report/api/points.ts.html +361 -0
- package/packages/server/coverage/lcov-report/api/search.ts.html +436 -0
- package/packages/server/coverage/lcov-report/api/store.ts.html +487 -0
- package/packages/server/coverage/lcov-report/embedding/index.html +116 -0
- package/packages/server/coverage/lcov-report/embedding/stub.ts.html +184 -0
- package/packages/server/coverage/lcov-report/index.html +40 -10
- package/packages/server/coverage/lcov-report/qdrant/client.ts.html +517 -0
- package/packages/server/coverage/lcov-report/qdrant/index.html +116 -0
- package/packages/server/coverage/lcov-report/stub.ts.html +1 -1
- package/packages/server/coverage/lcov.info +674 -27
- package/packages/server/coverage/tmp/{coverage-7549-1770137209315-0.json → coverage-24692-1770174822211-0.json} +1 -1
- package/packages/server/coverage/tmp/coverage-24693-1770174822463-0.json +1 -0
- package/packages/server/coverage/tmp/coverage-24694-1770174822454-0.json +1 -0
- package/packages/server/coverage/tmp/coverage-24695-1770174822463-0.json +1 -0
- package/packages/server/coverage/tmp/{coverage-7550-1770137209349-0.json → coverage-24696-1770174822253-0.json} +1 -1
- package/packages/server/dist/api/points.d.ts +24 -0
- package/packages/server/dist/api/points.js +60 -0
- package/packages/server/dist/api/points.js.map +1 -0
- package/packages/server/dist/api/points.test.d.ts +1 -0
- package/packages/server/dist/api/points.test.js +105 -0
- package/packages/server/dist/api/points.test.js.map +1 -0
- package/packages/server/dist/api/search.d.ts +16 -0
- package/packages/server/dist/api/search.js +26 -8
- package/packages/server/dist/api/search.js.map +1 -1
- package/packages/server/dist/api/search.test.d.ts +1 -0
- package/packages/server/dist/api/search.test.js +102 -0
- package/packages/server/dist/api/search.test.js.map +1 -0
- package/packages/server/dist/api/store.d.ts +7 -0
- package/packages/server/dist/api/store.js +50 -7
- package/packages/server/dist/api/store.js.map +1 -1
- package/packages/server/dist/api/store.test.d.ts +1 -0
- package/packages/server/dist/api/store.test.js +85 -0
- package/packages/server/dist/api/store.test.js.map +1 -0
- package/packages/server/dist/index.js +2 -0
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/qdrant/client.d.ts +4 -0
- package/packages/server/dist/qdrant/client.js +12 -0
- package/packages/server/dist/qdrant/client.js.map +1 -1
- package/packages/server/package.json +1 -1
- package/packages/server/src/api/points.test.ts +113 -0
- package/packages/server/src/api/points.ts +92 -0
- package/packages/server/src/api/search.test.ts +110 -0
- package/packages/server/src/api/search.ts +59 -13
- package/packages/server/src/api/store.test.ts +91 -0
- package/packages/server/src/api/store.ts +60 -12
- package/packages/server/src/index.ts +2 -0
- package/packages/server/src/qdrant/client.ts +15 -0
- package/packages/cli/coverage/tmp/coverage-7461-1770137208528-0.json +0 -1
- package/packages/cli/coverage/tmp/coverage-7468-1770137208547-0.json +0 -1
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for qdrant/client.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">qdrant</a> client.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">92.36% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>133/144</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">46.87% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>15/32</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">88.88% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>8/9</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">92.36% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>133/144</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
211
|
+
<span class="cline-any cline-yes">1x</span>
|
|
212
|
+
<span class="cline-any cline-yes">1x</span>
|
|
213
|
+
<span class="cline-any cline-yes">1x</span>
|
|
214
|
+
<span class="cline-any cline-yes">1x</span>
|
|
215
|
+
<span class="cline-any cline-yes">1x</span>
|
|
216
|
+
<span class="cline-any cline-yes">1x</span>
|
|
217
|
+
<span class="cline-any cline-yes">1x</span>
|
|
218
|
+
<span class="cline-any cline-yes">1x</span>
|
|
219
|
+
<span class="cline-any cline-yes">1x</span>
|
|
220
|
+
<span class="cline-any cline-no"> </span>
|
|
221
|
+
<span class="cline-any cline-no"> </span>
|
|
222
|
+
<span class="cline-any cline-yes">1x</span>
|
|
223
|
+
<span class="cline-any cline-yes">1x</span>
|
|
224
|
+
<span class="cline-any cline-yes">2x</span>
|
|
225
|
+
<span class="cline-any cline-yes">2x</span>
|
|
226
|
+
<span class="cline-any cline-yes">2x</span>
|
|
227
|
+
<span class="cline-any cline-yes">2x</span>
|
|
228
|
+
<span class="cline-any cline-yes">2x</span>
|
|
229
|
+
<span class="cline-any cline-yes">2x</span>
|
|
230
|
+
<span class="cline-any cline-yes">2x</span>
|
|
231
|
+
<span class="cline-any cline-yes">2x</span>
|
|
232
|
+
<span class="cline-any cline-yes">2x</span>
|
|
233
|
+
<span class="cline-any cline-yes">2x</span>
|
|
234
|
+
<span class="cline-any cline-yes">2x</span>
|
|
235
|
+
<span class="cline-any cline-yes">1x</span>
|
|
236
|
+
<span class="cline-any cline-yes">1x</span>
|
|
237
|
+
<span class="cline-any cline-yes">1x</span>
|
|
238
|
+
<span class="cline-any cline-yes">1x</span>
|
|
239
|
+
<span class="cline-any cline-yes">1x</span>
|
|
240
|
+
<span class="cline-any cline-yes">1x</span>
|
|
241
|
+
<span class="cline-any cline-yes">1x</span>
|
|
242
|
+
<span class="cline-any cline-yes">1x</span>
|
|
243
|
+
<span class="cline-any cline-yes">1x</span>
|
|
244
|
+
<span class="cline-any cline-yes">2x</span>
|
|
245
|
+
<span class="cline-any cline-yes">2x</span>
|
|
246
|
+
<span class="cline-any cline-yes">2x</span>
|
|
247
|
+
<span class="cline-any cline-yes">2x</span>
|
|
248
|
+
<span class="cline-any cline-yes">2x</span>
|
|
249
|
+
<span class="cline-any cline-yes">2x</span>
|
|
250
|
+
<span class="cline-any cline-yes">2x</span>
|
|
251
|
+
<span class="cline-any cline-yes">2x</span>
|
|
252
|
+
<span class="cline-any cline-yes">2x</span>
|
|
253
|
+
<span class="cline-any cline-yes">2x</span>
|
|
254
|
+
<span class="cline-any cline-yes">2x</span>
|
|
255
|
+
<span class="cline-any cline-yes">2x</span>
|
|
256
|
+
<span class="cline-any cline-yes">2x</span>
|
|
257
|
+
<span class="cline-any cline-yes">2x</span>
|
|
258
|
+
<span class="cline-any cline-yes">1x</span>
|
|
259
|
+
<span class="cline-any cline-yes">1x</span>
|
|
260
|
+
<span class="cline-any cline-yes">8x</span>
|
|
261
|
+
<span class="cline-any cline-yes">8x</span>
|
|
262
|
+
<span class="cline-any cline-yes">8x</span>
|
|
263
|
+
<span class="cline-any cline-yes">8x</span>
|
|
264
|
+
<span class="cline-any cline-yes">8x</span>
|
|
265
|
+
<span class="cline-any cline-yes">8x</span>
|
|
266
|
+
<span class="cline-any cline-yes">8x</span>
|
|
267
|
+
<span class="cline-any cline-yes">8x</span>
|
|
268
|
+
<span class="cline-any cline-yes">8x</span>
|
|
269
|
+
<span class="cline-any cline-yes">8x</span>
|
|
270
|
+
<span class="cline-any cline-yes">8x</span>
|
|
271
|
+
<span class="cline-any cline-yes">1x</span>
|
|
272
|
+
<span class="cline-any cline-yes">1x</span>
|
|
273
|
+
<span class="cline-any cline-yes">4x</span>
|
|
274
|
+
<span class="cline-any cline-yes">4x</span>
|
|
275
|
+
<span class="cline-any cline-yes">4x</span>
|
|
276
|
+
<span class="cline-any cline-yes">4x</span>
|
|
277
|
+
<span class="cline-any cline-yes">4x</span>
|
|
278
|
+
<span class="cline-any cline-yes">4x</span>
|
|
279
|
+
<span class="cline-any cline-yes">4x</span>
|
|
280
|
+
<span class="cline-any cline-yes">4x</span>
|
|
281
|
+
<span class="cline-any cline-yes">4x</span>
|
|
282
|
+
<span class="cline-any cline-yes">4x</span>
|
|
283
|
+
<span class="cline-any cline-yes">4x</span>
|
|
284
|
+
<span class="cline-any cline-yes">4x</span>
|
|
285
|
+
<span class="cline-any cline-yes">1x</span>
|
|
286
|
+
<span class="cline-any cline-yes">3x</span>
|
|
287
|
+
<span class="cline-any cline-yes">3x</span>
|
|
288
|
+
<span class="cline-any cline-no"> </span>
|
|
289
|
+
<span class="cline-any cline-no"> </span>
|
|
290
|
+
<span class="cline-any cline-yes">3x</span>
|
|
291
|
+
<span class="cline-any cline-yes">3x</span>
|
|
292
|
+
<span class="cline-any cline-yes">3x</span>
|
|
293
|
+
<span class="cline-any cline-yes">3x</span>
|
|
294
|
+
<span class="cline-any cline-yes">3x</span>
|
|
295
|
+
<span class="cline-any cline-no"> </span>
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
|
+
<span class="cline-any cline-no"> </span>
|
|
298
|
+
<span class="cline-any cline-no"> </span>
|
|
299
|
+
<span class="cline-any cline-yes">1x</span>
|
|
300
|
+
<span class="cline-any cline-yes">12x</span>
|
|
301
|
+
<span class="cline-any cline-yes">12x</span>
|
|
302
|
+
<span class="cline-any cline-yes">12x</span>
|
|
303
|
+
<span class="cline-any cline-yes">12x</span>
|
|
304
|
+
<span class="cline-any cline-yes">12x</span>
|
|
305
|
+
<span class="cline-any cline-yes">12x</span>
|
|
306
|
+
<span class="cline-any cline-yes">3x</span>
|
|
307
|
+
<span class="cline-any cline-yes">3x</span>
|
|
308
|
+
<span class="cline-any cline-yes">12x</span>
|
|
309
|
+
<span class="cline-any cline-yes">12x</span>
|
|
310
|
+
<span class="cline-any cline-yes">12x</span>
|
|
311
|
+
<span class="cline-any cline-yes">12x</span>
|
|
312
|
+
<span class="cline-any cline-yes">12x</span>
|
|
313
|
+
<span class="cline-any cline-no"> </span>
|
|
314
|
+
<span class="cline-any cline-no"> </span>
|
|
315
|
+
<span class="cline-any cline-no"> </span>
|
|
316
|
+
<span class="cline-any cline-yes">12x</span>
|
|
317
|
+
<span class="cline-any cline-yes">1x</span>
|
|
318
|
+
<span class="cline-any cline-yes">12x</span>
|
|
319
|
+
<span class="cline-any cline-yes">12x</span>
|
|
320
|
+
<span class="cline-any cline-yes">12x</span>
|
|
321
|
+
<span class="cline-any cline-yes">12x</span>
|
|
322
|
+
<span class="cline-any cline-yes">12x</span>
|
|
323
|
+
<span class="cline-any cline-yes">12x</span>
|
|
324
|
+
<span class="cline-any cline-yes">12x</span>
|
|
325
|
+
<span class="cline-any cline-yes">12x</span>
|
|
326
|
+
<span class="cline-any cline-yes">12x</span>
|
|
327
|
+
<span class="cline-any cline-yes">12x</span>
|
|
328
|
+
<span class="cline-any cline-yes">12x</span>
|
|
329
|
+
<span class="cline-any cline-yes">12x</span>
|
|
330
|
+
<span class="cline-any cline-yes">12x</span>
|
|
331
|
+
<span class="cline-any cline-yes">12x</span>
|
|
332
|
+
<span class="cline-any cline-yes">12x</span>
|
|
333
|
+
<span class="cline-any cline-yes">12x</span>
|
|
334
|
+
<span class="cline-any cline-yes">12x</span>
|
|
335
|
+
<span class="cline-any cline-yes">12x</span>
|
|
336
|
+
<span class="cline-any cline-yes">12x</span>
|
|
337
|
+
<span class="cline-any cline-yes">12x</span>
|
|
338
|
+
<span class="cline-any cline-yes">12x</span>
|
|
339
|
+
<span class="cline-any cline-yes">1x</span>
|
|
340
|
+
<span class="cline-any cline-yes">1x</span>
|
|
341
|
+
<span class="cline-any cline-yes">3x</span>
|
|
342
|
+
<span class="cline-any cline-yes">3x</span>
|
|
343
|
+
<span class="cline-any cline-yes">3x</span>
|
|
344
|
+
<span class="cline-any cline-yes">3x</span>
|
|
345
|
+
<span class="cline-any cline-yes">3x</span>
|
|
346
|
+
<span class="cline-any cline-yes">3x</span>
|
|
347
|
+
<span class="cline-any cline-yes">3x</span>
|
|
348
|
+
<span class="cline-any cline-yes">3x</span>
|
|
349
|
+
<span class="cline-any cline-yes">3x</span>
|
|
350
|
+
<span class="cline-any cline-yes">4x</span>
|
|
351
|
+
<span class="cline-any cline-yes">4x</span>
|
|
352
|
+
<span class="cline-any cline-yes">3x</span>
|
|
353
|
+
<span class="cline-any cline-yes">3x</span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { QdrantClient } from "@qdrant/js-client-rest";
|
|
355
|
+
import { getVectorSize } from "../embedding/stub.js";
|
|
356
|
+
|
|
357
|
+
const DEFAULT_COLLECTION = "project_memory";
|
|
358
|
+
const VECTOR_NAME = "default";
|
|
359
|
+
|
|
360
|
+
/** Cached per collection: true = use named vector "default", false = use plain array (anonymous). */
|
|
361
|
+
const searchVectorFormatCache = new Map<string, boolean>();
|
|
362
|
+
|
|
363
|
+
export<span class="fstat-no" title="function not covered" > function createQdrantClient(host: string = "127.0.0.1", port: number = 6333): QdrantClient {</span>
|
|
364
|
+
<span class="cstat-no" title="statement not covered" > return new QdrantClient({ url: `http://${host}:${port}` });</span>
|
|
365
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
366
|
+
|
|
367
|
+
export async function ensureCollection(
|
|
368
|
+
client: QdrantClient,
|
|
369
|
+
collectionName: string = DEFAULT_COLLECTION
|
|
370
|
+
): Promise<void> {
|
|
371
|
+
const size = getVectorSize();
|
|
372
|
+
const vectorConfig = { [VECTOR_NAME]: { size, distance: "Cosine" as const } };
|
|
373
|
+
try {
|
|
374
|
+
await client.getCollection(collectionName);
|
|
375
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > } catch {</span>
|
|
376
|
+
await client.createCollection(collectionName, { vectors: vectorConfig });
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
export interface PointPayload {
|
|
381
|
+
kind: string;
|
|
382
|
+
path?: string;
|
|
383
|
+
text: string;
|
|
384
|
+
[key: string]: unknown;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export async function upsertPoints(
|
|
388
|
+
client: QdrantClient,
|
|
389
|
+
collectionName: string,
|
|
390
|
+
points: { id: string; vector: number[]; payload: PointPayload }[]
|
|
391
|
+
): Promise<void> {
|
|
392
|
+
if (points.length === 0) <span class="branch-0 cbranch-no" title="branch not covered" >return;</span>
|
|
393
|
+
await client.upsert(collectionName, {
|
|
394
|
+
wait: true,
|
|
395
|
+
points: points.map((p) => ({
|
|
396
|
+
id: p.id,
|
|
397
|
+
vector: { [VECTOR_NAME]: p.vector },
|
|
398
|
+
payload: p.payload,
|
|
399
|
+
})),
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
export async function searchPoints(
|
|
404
|
+
client: QdrantClient,
|
|
405
|
+
collectionName: string,
|
|
406
|
+
vector: number[],
|
|
407
|
+
limit: number = 10,
|
|
408
|
+
filterKind?: string
|
|
409
|
+
): Promise<{ id: string; score: number; payload: PointPayload }[]> {
|
|
410
|
+
const filter = filterKind
|
|
411
|
+
? { must: [{ key: "kind", match: { value: filterKind } }] }
|
|
412
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > : undefined;</span>
|
|
413
|
+
return doSearch(client, collectionName, vector, limit, filter);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export async function searchPointsKinds(
|
|
417
|
+
client: QdrantClient,
|
|
418
|
+
collectionName: string,
|
|
419
|
+
vector: number[],
|
|
420
|
+
limit: number,
|
|
421
|
+
kinds: string[]
|
|
422
|
+
): Promise<{ id: string; score: number; payload: PointPayload }[]> {
|
|
423
|
+
const filter =
|
|
424
|
+
kinds.length > 0
|
|
425
|
+
? { should: kinds.map((k) => ({ key: "kind", match: { value: k } })) }
|
|
426
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > : undefined;</span>
|
|
427
|
+
return doSearch(client, collectionName, vector, limit, filter);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
function useNamedVectorForSearch(vectors: unknown): boolean {
|
|
431
|
+
if (vectors == null || typeof vectors !== "object" || Array.isArray(vectors)) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
432
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
433
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
434
|
+
const v = vectors as Record<string, unknown>;
|
|
435
|
+
if (VECTOR_NAME in v && v[VECTOR_NAME] != null) {
|
|
436
|
+
return true;
|
|
437
|
+
}
|
|
438
|
+
<span class="branch-0 cbranch-no" title="branch not covered" > if ("size" in v && typeof (v as { size?: number }).size === "number")</span> <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
|
|
439
|
+
<span class="cstat-no" title="statement not covered" > return false;</span>
|
|
440
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
441
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
442
|
+
<span class="cstat-no" title="statement not covered" >}</span>
|
|
443
|
+
|
|
444
|
+
async function resolveSearchVectorFormat(
|
|
445
|
+
client: QdrantClient,
|
|
446
|
+
collectionName: string
|
|
447
|
+
): Promise<boolean> {
|
|
448
|
+
const cached = searchVectorFormatCache.get(collectionName);
|
|
449
|
+
if (cached !== undefined) return cached;
|
|
450
|
+
try {
|
|
451
|
+
const info = await client.getCollection(collectionName);
|
|
452
|
+
const params = (info as { config?: { params?: { vectors?: unknown } } }).config?.params;
|
|
453
|
+
const useNamed = useNamedVectorForSearch(params?.vectors);
|
|
454
|
+
searchVectorFormatCache.set(collectionName, useNamed);
|
|
455
|
+
return useNamed;
|
|
456
|
+
} <span class="branch-0 cbranch-no" title="branch not covered" >catch {</span>
|
|
457
|
+
<span class="cstat-no" title="statement not covered" > searchVectorFormatCache.set(collectionName, true);</span>
|
|
458
|
+
<span class="cstat-no" title="statement not covered" > return true;</span>
|
|
459
|
+
<span class="cstat-no" title="statement not covered" > }</span>
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
async function doSearch(
|
|
463
|
+
client: QdrantClient,
|
|
464
|
+
collectionName: string,
|
|
465
|
+
vector: number[],
|
|
466
|
+
limit: number,
|
|
467
|
+
filter: { must?: unknown[]; should?: unknown[] } | undefined
|
|
468
|
+
): Promise<{ id: string; score: number; payload: PointPayload }[]> {
|
|
469
|
+
const useNamed = await resolveSearchVectorFormat(client, collectionName);
|
|
470
|
+
const searchVector = useNamed ? { name: VECTOR_NAME, vector } <span class="branch-0 cbranch-no" title="branch not covered" >: vector;</span>
|
|
471
|
+
const result = await client.search(collectionName, {
|
|
472
|
+
vector: searchVector,
|
|
473
|
+
limit,
|
|
474
|
+
with_payload: true,
|
|
475
|
+
filter,
|
|
476
|
+
});
|
|
477
|
+
return result.map((r) => ({
|
|
478
|
+
id: (r.id as string)<span class="branch-0 cbranch-no" title="branch not covered" > ?? String(r.id),</span>
|
|
479
|
+
score: r.score<span class="branch-0 cbranch-no" title="branch not covered" > ?? 0,</span>
|
|
480
|
+
payload: (r.payload<span class="branch-0 cbranch-no" title="branch not covered" > ?? {})</span> as PointPayload,
|
|
481
|
+
}));
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
export async function retrievePointsById(
|
|
485
|
+
client: QdrantClient,
|
|
486
|
+
collectionName: string,
|
|
487
|
+
ids: string[]
|
|
488
|
+
): Promise<{ id: string; payload: PointPayload }[]> {
|
|
489
|
+
if (ids.length === 0) <span class="branch-0 cbranch-no" title="branch not covered" >return [];</span>
|
|
490
|
+
const retrieve = (client as { retrieve?: (c: string, o: { ids: string[] }) => Promise<{ id: unknown; payload?: Record<string, unknown> }[]> }).retrieve;
|
|
491
|
+
if (typeof retrieve !== "function") <span class="branch-0 cbranch-no" title="branch not covered" >return [];</span>
|
|
492
|
+
const result = await retrieve.call(client, collectionName, { ids, with_payload: true });
|
|
493
|
+
return (result<span class="branch-0 cbranch-no" title="branch not covered" > ?? [])</span>.map((r) => ({
|
|
494
|
+
id: (r.id as string)<span class="branch-0 cbranch-no" title="branch not covered" > ?? String(r.id),</span>
|
|
495
|
+
payload: (r.payload<span class="branch-0 cbranch-no" title="branch not covered" > ?? {})</span> as PointPayload,
|
|
496
|
+
}));
|
|
497
|
+
}
|
|
498
|
+
</pre></td></tr></table></pre>
|
|
499
|
+
|
|
500
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
501
|
+
</div><!-- /wrapper -->
|
|
502
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
|
+
Code coverage generated by
|
|
504
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
505
|
+
at 2026-02-04T03:13:42.507Z
|
|
506
|
+
</div>
|
|
507
|
+
<script src="../prettify.js"></script>
|
|
508
|
+
<script>
|
|
509
|
+
window.onload = function () {
|
|
510
|
+
prettyPrint();
|
|
511
|
+
};
|
|
512
|
+
</script>
|
|
513
|
+
<script src="../sorter.js"></script>
|
|
514
|
+
<script src="../block-navigation.js"></script>
|
|
515
|
+
</body>
|
|
516
|
+
</html>
|
|
517
|
+
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for qdrant</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> qdrant</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">92.36% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>133/144</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">46.87% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>15/32</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">88.88% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>8/9</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">92.36% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>133/144</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<div class="pad1">
|
|
66
|
+
<table class="coverage-summary">
|
|
67
|
+
<thead>
|
|
68
|
+
<tr>
|
|
69
|
+
<th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
|
|
70
|
+
<th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
|
|
71
|
+
<th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
|
|
72
|
+
<th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
73
|
+
<th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
|
|
74
|
+
<th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
75
|
+
<th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
|
|
76
|
+
<th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
77
|
+
<th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
|
|
78
|
+
<th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
|
|
79
|
+
</tr>
|
|
80
|
+
</thead>
|
|
81
|
+
<tbody><tr>
|
|
82
|
+
<td class="file high" data-value="client.ts"><a href="client.ts.html">client.ts</a></td>
|
|
83
|
+
<td data-value="92.36" class="pic high">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
|
|
85
|
+
</td>
|
|
86
|
+
<td data-value="92.36" class="pct high">92.36%</td>
|
|
87
|
+
<td data-value="144" class="abs high">133/144</td>
|
|
88
|
+
<td data-value="46.87" class="pct low">46.87%</td>
|
|
89
|
+
<td data-value="32" class="abs low">15/32</td>
|
|
90
|
+
<td data-value="88.88" class="pct high">88.88%</td>
|
|
91
|
+
<td data-value="9" class="abs high">8/9</td>
|
|
92
|
+
<td data-value="92.36" class="pct high">92.36%</td>
|
|
93
|
+
<td data-value="144" class="abs high">133/144</td>
|
|
94
|
+
</tr>
|
|
95
|
+
|
|
96
|
+
</tbody>
|
|
97
|
+
</table>
|
|
98
|
+
</div>
|
|
99
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
100
|
+
</div><!-- /wrapper -->
|
|
101
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
|
+
Code coverage generated by
|
|
103
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
+
at 2026-02-04T03:13:42.507Z
|
|
105
|
+
</div>
|
|
106
|
+
<script src="../prettify.js"></script>
|
|
107
|
+
<script>
|
|
108
|
+
window.onload = function () {
|
|
109
|
+
prettyPrint();
|
|
110
|
+
};
|
|
111
|
+
</script>
|
|
112
|
+
<script src="../sorter.js"></script>
|
|
113
|
+
<script src="../block-navigation.js"></script>
|
|
114
|
+
</body>
|
|
115
|
+
</html>
|
|
116
|
+
|
|
@@ -169,7 +169,7 @@ export function getVectorSize(): number {
|
|
|
169
169
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
170
170
|
Code coverage generated by
|
|
171
171
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
172
|
-
at 2026-02-
|
|
172
|
+
at 2026-02-04T03:00:44.924Z
|
|
173
173
|
</div>
|
|
174
174
|
<script src="prettify.js"></script>
|
|
175
175
|
<script>
|