@folterung/project-memory 0.1.20 → 0.1.22

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 (68) hide show
  1. package/package.json +4 -2
  2. package/packages/cli/coverage/lcov-report/chunking/chunker.ts.html +1 -1
  3. package/packages/cli/coverage/lcov-report/chunking/hash.ts.html +1 -1
  4. package/packages/cli/coverage/lcov-report/chunking/index.html +1 -1
  5. package/packages/cli/coverage/lcov-report/chunking/types.ts.html +1 -1
  6. package/packages/cli/coverage/lcov-report/config/index.html +7 -7
  7. package/packages/cli/coverage/lcov-report/config/load.ts.html +16 -4
  8. package/packages/cli/coverage/lcov-report/config/types.ts.html +35 -5
  9. package/packages/cli/coverage/lcov-report/embedding/index.html +1 -1
  10. package/packages/cli/coverage/lcov-report/embedding/stub.ts.html +1 -1
  11. package/packages/cli/coverage/lcov-report/index.html +21 -21
  12. package/packages/cli/coverage/lcov-report/qdrant/index.html +1 -1
  13. package/packages/cli/coverage/lcov-report/qdrant/upsert.ts.html +1 -1
  14. package/packages/cli/coverage/lcov-report/scope/allowlist.ts.html +1 -1
  15. package/packages/cli/coverage/lcov-report/scope/architecture-anchors.ts.html +529 -0
  16. package/packages/cli/coverage/lcov-report/scope/ignore.ts.html +1 -1
  17. package/packages/cli/coverage/lcov-report/scope/index.html +24 -9
  18. package/packages/cli/coverage/lcov.info +255 -19
  19. package/packages/cli/coverage/tmp/{coverage-2869-1770174337342-0.json → coverage-43283-1770177058833-0.json} +1 -1
  20. package/packages/cli/coverage/tmp/{coverage-2870-1770174337389-0.json → coverage-43284-1770177058881-0.json} +1 -1
  21. package/packages/cli/coverage/tmp/{coverage-2871-1770174337388-0.json → coverage-43285-1770177058878-0.json} +1 -1
  22. package/packages/cli/coverage/tmp/{coverage-2872-1770174337386-0.json → coverage-43286-1770177058876-0.json} +1 -1
  23. package/packages/cli/coverage/tmp/{coverage-2873-1770174337394-0.json → coverage-43287-1770177058882-0.json} +1 -1
  24. package/packages/cli/coverage/tmp/{coverage-2874-1770174337388-0.json → coverage-43288-1770177058880-0.json} +1 -1
  25. package/packages/cli/coverage/tmp/{coverage-2875-1770174337386-0.json → coverage-43289-1770177058879-0.json} +1 -1
  26. package/packages/cli/coverage/tmp/{coverage-2876-1770174337444-0.json → coverage-43290-1770177058933-0.json} +1 -1
  27. package/packages/cli/coverage/tmp/{coverage-2877-1770174337415-0.json → coverage-43291-1770177058905-0.json} +1 -1
  28. package/packages/cli/coverage/tmp/coverage-43292-1770177058903-0.json +1 -0
  29. package/packages/cli/coverage/tmp/{coverage-2878-1770174337404-0.json → coverage-43293-1770177058897-0.json} +1 -1
  30. package/packages/cli/dist/config/load.js +4 -0
  31. package/packages/cli/dist/config/load.js.map +1 -1
  32. package/packages/cli/dist/config/types.d.ts +8 -0
  33. package/packages/cli/dist/config/types.js +2 -0
  34. package/packages/cli/dist/config/types.js.map +1 -1
  35. package/packages/cli/dist/phase2/deep-index.js +39 -5
  36. package/packages/cli/dist/phase2/deep-index.js.map +1 -1
  37. package/packages/cli/dist/scope/architecture-anchors.d.ts +37 -0
  38. package/packages/cli/dist/scope/architecture-anchors.js +125 -0
  39. package/packages/cli/dist/scope/architecture-anchors.js.map +1 -0
  40. package/packages/cli/dist/scope/architecture-anchors.test.d.ts +1 -0
  41. package/packages/cli/dist/scope/architecture-anchors.test.js +58 -0
  42. package/packages/cli/dist/scope/architecture-anchors.test.js.map +1 -0
  43. package/packages/cli/src/config/load.ts +4 -0
  44. package/packages/cli/src/config/types.ts +11 -1
  45. package/packages/cli/src/phase2/deep-index.ts +43 -5
  46. package/packages/cli/src/scope/architecture-anchors.test.ts +83 -0
  47. package/packages/cli/src/scope/architecture-anchors.ts +148 -0
  48. package/packages/mcp-server/dist/system-instructions.md +7 -0
  49. package/packages/mcp-server/system-instructions.md +7 -0
  50. package/packages/server/coverage/lcov-report/api/index.html +5 -5
  51. package/packages/server/coverage/lcov-report/api/points.ts.html +1 -1
  52. package/packages/server/coverage/lcov-report/api/search.ts.html +14 -5
  53. package/packages/server/coverage/lcov-report/api/store.ts.html +1 -1
  54. package/packages/server/coverage/lcov-report/embedding/index.html +1 -1
  55. package/packages/server/coverage/lcov-report/embedding/stub.ts.html +1 -1
  56. package/packages/server/coverage/lcov-report/index.html +7 -7
  57. package/packages/server/coverage/lcov-report/qdrant/client.ts.html +1 -1
  58. package/packages/server/coverage/lcov-report/qdrant/index.html +1 -1
  59. package/packages/server/coverage/lcov.info +20 -17
  60. package/packages/server/coverage/tmp/{coverage-2969-1770174338264-0.json → coverage-43380-1770177059752-0.json} +1 -1
  61. package/packages/server/coverage/tmp/{coverage-2976-1770174338504-0.json → coverage-43381-1770177059983-0.json} +1 -1
  62. package/packages/server/coverage/tmp/{coverage-2977-1770174338496-0.json → coverage-43382-1770177059974-0.json} +1 -1
  63. package/packages/server/coverage/tmp/coverage-43383-1770177059981-0.json +1 -0
  64. package/packages/server/coverage/tmp/{coverage-2979-1770174338307-0.json → coverage-43384-1770177059795-0.json} +1 -1
  65. package/packages/server/dist/api/search.js +3 -1
  66. package/packages/server/dist/api/search.js.map +1 -1
  67. package/packages/server/src/api/search.ts +4 -1
  68. package/packages/server/coverage/tmp/coverage-2978-1770174338502-0.json +0 -1
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@folterung/project-memory",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "private": false,
5
5
  "description": "Local-first Project Memory: scoped indexing, embeddings, Cursor integration",
6
6
  "repository": "https://github.com/folterung/project-memory",
7
7
  "dependencies": {
8
+ "@modelcontextprotocol/sdk": "^1.0.0",
8
9
  "@qdrant/js-client-rest": "^1.9.0",
9
10
  "chalk": "^5.3.0",
10
11
  "chokidar": "^3.5.3",
@@ -13,7 +14,8 @@
13
14
  "fast-glob": "^3.3.2",
14
15
  "fastify": "^4.24.3",
15
16
  "js-yaml": "^4.1.0",
16
- "minimatch": "^9.0.3"
17
+ "minimatch": "^9.0.3",
18
+ "zod": "^3.23.0"
17
19
  },
18
20
  "workspaces": [
19
21
  "packages/cli",
@@ -523,7 +523,7 @@ export function chunkFile(path: string, content: string): Chunk[] {
523
523
  <div class='footer quiet pad2 space-top1 center small'>
524
524
  Code coverage generated by
525
525
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
526
- at 2026-02-04T03:05:37.484Z
526
+ at 2026-02-04T03:50:58.973Z
527
527
  </div>
528
528
  <script src="../prettify.js"></script>
529
529
  <script>
@@ -133,7 +133,7 @@ export function chunkIdFromParts(path: string, part: string, contentHash: string
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2026-02-04T03:05:37.484Z
136
+ at 2026-02-04T03:50:58.973Z
137
137
  </div>
138
138
  <script src="../prettify.js"></script>
139
139
  <script>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-02-04T03:05:37.484Z
134
+ at 2026-02-04T03:50:58.973Z
135
135
  </div>
136
136
  <script src="../prettify.js"></script>
137
137
  <script>
@@ -199,7 +199,7 @@ export function getLanguageFromPath(path: string): string {
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2026-02-04T03:05:37.484Z
202
+ at 2026-02-04T03:50:58.973Z
203
203
  </div>
204
204
  <script src="../prettify.js"></script>
205
205
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>83/83</span>
28
+ <span class='fraction'>97/97</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>83/83</span>
49
+ <span class='fraction'>97/97</span>
50
50
  </div>
51
51
 
52
52
 
@@ -84,13 +84,13 @@
84
84
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="33" class="abs high">33/33</td>
87
+ <td data-value="37" class="abs high">37/37</td>
88
88
  <td data-value="83.33" class="pct high">83.33%</td>
89
89
  <td data-value="6" class="abs high">5/6</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="4" class="abs high">4/4</td>
92
92
  <td data-value="100" class="pct high">100%</td>
93
- <td data-value="33" class="abs high">33/33</td>
93
+ <td data-value="37" class="abs high">37/37</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="50" class="abs high">50/50</td>
102
+ <td data-value="60" class="abs high">60/60</td>
103
103
  <td data-value="100" class="pct high">100%</td>
104
104
  <td data-value="0" class="abs high">0/0</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="0" class="abs high">0/0</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="50" class="abs high">50/50</td>
108
+ <td data-value="60" class="abs high">60/60</td>
109
109
  </tr>
110
110
 
111
111
  </tbody>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-02-04T03:05:37.484Z
119
+ at 2026-02-04T03:50:58.973Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>33/33</span>
28
+ <span class='fraction'>37/37</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>33/33</span>
49
+ <span class='fraction'>37/37</span>
50
50
  </div>
51
51
 
52
52
 
@@ -96,7 +96,11 @@
96
96
  <a name='L31'></a><a href='#L31'>31</a>
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
100
104
  <span class="cline-any cline-yes">1x</span>
101
105
  <span class="cline-any cline-yes">1x</span>
102
106
  <span class="cline-any cline-yes">1x</span>
@@ -111,6 +115,10 @@
111
115
  <span class="cline-any cline-yes">2x</span>
112
116
  <span class="cline-any cline-yes">2x</span>
113
117
  <span class="cline-any cline-yes">2x</span>
118
+ <span class="cline-any cline-yes">2x</span>
119
+ <span class="cline-any cline-yes">2x</span>
120
+ <span class="cline-any cline-yes">2x</span>
121
+ <span class="cline-any cline-yes">2x</span>
114
122
  <span class="cline-any cline-yes">1x</span>
115
123
  <span class="cline-any cline-yes">1x</span>
116
124
  <span class="cline-any cline-yes">2x</span>
@@ -138,6 +146,10 @@ import { DEFAULT_CONFIG, CONFIG_FILE } from "./types.js";
138
146
  function mergeConfig(loaded: MemConfig): MemConfig {
139
147
  return {
140
148
  indexing: loaded.indexing ?? DEFAULT_CONFIG.indexing,
149
+ architectureAnchors: {
150
+ ...DEFAULT_CONFIG.architectureAnchors,
151
+ ...loaded.architectureAnchors,
152
+ },
141
153
  phase1: { ...DEFAULT_CONFIG.phase1, ...loaded.phase1 },
142
154
  qdrant: { ...DEFAULT_CONFIG.qdrant, ...loaded.qdrant },
143
155
  chunk: { ...DEFAULT_CONFIG.chunk, ...loaded.chunk },
@@ -169,7 +181,7 @@ export function configExists(cwd: string): boolean {
169
181
  <div class='footer quiet pad2 space-top1 center small'>
170
182
  Code coverage generated by
171
183
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2026-02-04T03:05:37.484Z
184
+ at 2026-02-04T03:50:58.973Z
173
185
  </div>
174
186
  <script src="../prettify.js"></script>
175
187
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>50/50</span>
28
+ <span class='fraction'>60/60</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>50/50</span>
49
+ <span class='fraction'>60/60</span>
50
50
  </div>
51
51
 
52
52
 
@@ -113,7 +113,27 @@
113
113
  <a name='L48'></a><a href='#L48'>48</a>
114
114
  <a name='L49'></a><a href='#L49'>49</a>
115
115
  <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
127
+ <span class="cline-any cline-yes">1x</span>
128
+ <span class="cline-any cline-yes">1x</span>
129
+ <span class="cline-any cline-yes">1x</span>
130
+ <span class="cline-any cline-yes">1x</span>
131
+ <span class="cline-any cline-yes">1x</span>
132
+ <span class="cline-any cline-yes">1x</span>
133
+ <span class="cline-any cline-yes">1x</span>
134
+ <span class="cline-any cline-yes">1x</span>
135
+ <span class="cline-any cline-yes">1x</span>
136
+ <span class="cline-any cline-yes">1x</span>
117
137
  <span class="cline-any cline-yes">1x</span>
118
138
  <span class="cline-any cline-yes">1x</span>
119
139
  <span class="cline-any cline-yes">1x</span>
@@ -168,6 +188,10 @@
168
188
  include?: string[];
169
189
  exclude?: string[];
170
190
  };
191
+ architectureAnchors?: {
192
+ enabled?: boolean;
193
+ allowOutsideInclude?: boolean;
194
+ };
171
195
  phase1?: {
172
196
  maxEntrypointFiles?: number;
173
197
  maxEntrypointChunks?: number;
@@ -186,9 +210,15 @@
186
210
  };
187
211
  }
188
212
  &nbsp;
213
+ const DEFAULT_ARCHITECTURE_ANCHORS = { enabled: true, allowOutsideInclude: false };
214
+ &nbsp;
189
215
  export const DEFAULT_CONFIG: Required&lt;
190
216
  Pick&lt;MemConfig, "phase1" | "qdrant" | "chunk" | "embedding"&gt;
191
- &gt; &amp; { indexing: { include?: string[]; exclude?: string[] } } = {
217
+ &gt; &amp; {
218
+ indexing: { include?: string[]; exclude?: string[] };
219
+ architectureAnchors: { enabled: boolean; allowOutsideInclude: boolean };
220
+ } = {
221
+ architectureAnchors: DEFAULT_ARCHITECTURE_ANCHORS,
192
222
  phase1: {
193
223
  maxEntrypointFiles: 50,
194
224
  maxEntrypointChunks: 300,
@@ -220,7 +250,7 @@ export const MEMORY_SERVER_PID_FILE = ".mem/memory-server.pid";
220
250
  <div class='footer quiet pad2 space-top1 center small'>
221
251
  Code coverage generated by
222
252
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2026-02-04T03:05:37.484Z
253
+ at 2026-02-04T03:50:58.973Z
224
254
  </div>
225
255
  <script src="../prettify.js"></script>
226
256
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-04T03:05:37.484Z
104
+ at 2026-02-04T03:50:58.973Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -214,7 +214,7 @@ export<span class="fstat-no" title="function not covered" > function textWithPat
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
217
- at 2026-02-04T03:05:37.484Z
217
+ at 2026-02-04T03:50:58.973Z
218
218
  </div>
219
219
  <script src="../prettify.js"></script>
220
220
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">91.77% </span>
26
+ <span class="strong">89.38% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>491/535</span>
28
+ <span class='fraction'>623/697</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">87.5% </span>
33
+ <span class="strong">89.93% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>84/96</span>
35
+ <span class='fraction'>134/149</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">88.57% </span>
40
+ <span class="strong">87.8% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>31/35</span>
42
+ <span class='fraction'>36/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">91.77% </span>
47
+ <span class="strong">89.38% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>491/535</span>
49
+ <span class='fraction'>623/697</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
101
  <td data-value="100" class="pct high">100%</td>
102
- <td data-value="83" class="abs high">83/83</td>
102
+ <td data-value="97" class="abs high">97/97</td>
103
103
  <td data-value="83.33" class="pct high">83.33%</td>
104
104
  <td data-value="6" class="abs high">5/6</td>
105
105
  <td data-value="100" class="pct high">100%</td>
106
106
  <td data-value="4" class="abs high">4/4</td>
107
107
  <td data-value="100" class="pct high">100%</td>
108
- <td data-value="83" class="abs high">83/83</td>
108
+ <td data-value="97" class="abs high">97/97</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -140,17 +140,17 @@
140
140
 
141
141
  <tr>
142
142
  <td class="file high" data-value="scope"><a href="scope/index.html">scope</a></td>
143
- <td data-value="100" class="pic high">
144
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
143
+ <td data-value="88.97" class="pic high">
144
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
145
145
  </td>
146
- <td data-value="100" class="pct high">100%</td>
147
- <td data-value="124" class="abs high">124/124</td>
148
- <td data-value="94.28" class="pct high">94.28%</td>
149
- <td data-value="35" class="abs high">33/35</td>
150
- <td data-value="100" class="pct high">100%</td>
151
- <td data-value="9" class="abs high">9/9</td>
152
- <td data-value="100" class="pct high">100%</td>
153
- <td data-value="124" class="abs high">124/124</td>
146
+ <td data-value="88.97" class="pct high">88.97%</td>
147
+ <td data-value="272" class="abs high">242/272</td>
148
+ <td data-value="94.31" class="pct high">94.31%</td>
149
+ <td data-value="88" class="abs high">83/88</td>
150
+ <td data-value="93.33" class="pct high">93.33%</td>
151
+ <td data-value="15" class="abs high">14/15</td>
152
+ <td data-value="88.97" class="pct high">88.97%</td>
153
+ <td data-value="272" class="abs high">242/272</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2026-02-04T03:05:37.484Z
164
+ at 2026-02-04T03:50:58.973Z
165
165
  </div>
166
166
  <script src="prettify.js"></script>
167
167
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-04T03:05:37.484Z
104
+ at 2026-02-04T03:50:58.973Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -265,7 +265,7 @@ export <span class="fstat-no" title="function not covered" >async function upser
265
265
  <div class='footer quiet pad2 space-top1 center small'>
266
266
  Code coverage generated by
267
267
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268
- at 2026-02-04T03:05:37.484Z
268
+ at 2026-02-04T03:50:58.973Z
269
269
  </div>
270
270
  <script src="../prettify.js"></script>
271
271
  <script>
@@ -184,7 +184,7 @@ export function toRelativePath(cwd: string, absolutePath: string): string {
184
184
  <div class='footer quiet pad2 space-top1 center small'>
185
185
  Code coverage generated by
186
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
187
- at 2026-02-04T03:05:37.484Z
187
+ at 2026-02-04T03:50:58.973Z
188
188
  </div>
189
189
  <script src="../prettify.js"></script>
190
190
  <script>