@folterung/project-memory 0.1.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 (215) hide show
  1. package/.memignore.example +11 -0
  2. package/README.md +48 -0
  3. package/docker-compose.yml +17 -0
  4. package/package.json +36 -0
  5. package/packages/cli/bin/mem.js +6 -0
  6. package/packages/cli/coverage/lcov-report/base.css +224 -0
  7. package/packages/cli/coverage/lcov-report/block-navigation.js +87 -0
  8. package/packages/cli/coverage/lcov-report/chunking/chunker.ts.html +538 -0
  9. package/packages/cli/coverage/lcov-report/chunking/hash.ts.html +148 -0
  10. package/packages/cli/coverage/lcov-report/chunking/index.html +146 -0
  11. package/packages/cli/coverage/lcov-report/chunking/types.ts.html +214 -0
  12. package/packages/cli/coverage/lcov-report/config/index.html +131 -0
  13. package/packages/cli/coverage/lcov-report/config/load.ts.html +184 -0
  14. package/packages/cli/coverage/lcov-report/config/types.ts.html +232 -0
  15. package/packages/cli/coverage/lcov-report/embedding/index.html +116 -0
  16. package/packages/cli/coverage/lcov-report/embedding/stub.ts.html +181 -0
  17. package/packages/cli/coverage/lcov-report/favicon.png +0 -0
  18. package/packages/cli/coverage/lcov-report/index.html +161 -0
  19. package/packages/cli/coverage/lcov-report/prettify.css +1 -0
  20. package/packages/cli/coverage/lcov-report/prettify.js +2 -0
  21. package/packages/cli/coverage/lcov-report/scope/allowlist.ts.html +199 -0
  22. package/packages/cli/coverage/lcov-report/scope/ignore.ts.html +343 -0
  23. package/packages/cli/coverage/lcov-report/scope/index.html +131 -0
  24. package/packages/cli/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  25. package/packages/cli/coverage/lcov-report/sorter.js +210 -0
  26. package/packages/cli/coverage/lcov.info +669 -0
  27. package/packages/cli/coverage/tmp/coverage-25917-1770055893226-0.json +1 -0
  28. package/packages/cli/coverage/tmp/coverage-25918-1770055893272-0.json +1 -0
  29. package/packages/cli/coverage/tmp/coverage-25919-1770055893273-0.json +1 -0
  30. package/packages/cli/coverage/tmp/coverage-25920-1770055893271-0.json +1 -0
  31. package/packages/cli/coverage/tmp/coverage-25921-1770055893279-0.json +1 -0
  32. package/packages/cli/coverage/tmp/coverage-25922-1770055893272-0.json +1 -0
  33. package/packages/cli/coverage/tmp/coverage-25923-1770055893275-0.json +1 -0
  34. package/packages/cli/coverage/tmp/coverage-25924-1770055893294-0.json +1 -0
  35. package/packages/cli/coverage/tmp/coverage-25925-1770055893290-0.json +1 -0
  36. package/packages/cli/dist/chunking/chunker.d.ts +2 -0
  37. package/packages/cli/dist/chunking/chunker.js +142 -0
  38. package/packages/cli/dist/chunking/chunker.js.map +1 -0
  39. package/packages/cli/dist/chunking/chunker.test.d.ts +1 -0
  40. package/packages/cli/dist/chunking/chunker.test.js +50 -0
  41. package/packages/cli/dist/chunking/chunker.test.js.map +1 -0
  42. package/packages/cli/dist/chunking/hash.d.ts +3 -0
  43. package/packages/cli/dist/chunking/hash.js +17 -0
  44. package/packages/cli/dist/chunking/hash.js.map +1 -0
  45. package/packages/cli/dist/chunking/hash.test.d.ts +1 -0
  46. package/packages/cli/dist/chunking/hash.test.js +36 -0
  47. package/packages/cli/dist/chunking/hash.test.js.map +1 -0
  48. package/packages/cli/dist/chunking/types.d.ts +19 -0
  49. package/packages/cli/dist/chunking/types.js +24 -0
  50. package/packages/cli/dist/chunking/types.js.map +1 -0
  51. package/packages/cli/dist/chunking/types.test.d.ts +1 -0
  52. package/packages/cli/dist/chunking/types.test.js +25 -0
  53. package/packages/cli/dist/chunking/types.test.js.map +1 -0
  54. package/packages/cli/dist/cli/index.d.ts +1 -0
  55. package/packages/cli/dist/cli/index.js +67 -0
  56. package/packages/cli/dist/cli/index.js.map +1 -0
  57. package/packages/cli/dist/commands/deep-index.d.ts +1 -0
  58. package/packages/cli/dist/commands/deep-index.js +17 -0
  59. package/packages/cli/dist/commands/deep-index.js.map +1 -0
  60. package/packages/cli/dist/commands/doctor.d.ts +1 -0
  61. package/packages/cli/dist/commands/doctor.js +27 -0
  62. package/packages/cli/dist/commands/doctor.js.map +1 -0
  63. package/packages/cli/dist/commands/down.d.ts +1 -0
  64. package/packages/cli/dist/commands/down.js +13 -0
  65. package/packages/cli/dist/commands/down.js.map +1 -0
  66. package/packages/cli/dist/commands/explain.d.ts +1 -0
  67. package/packages/cli/dist/commands/explain.js +23 -0
  68. package/packages/cli/dist/commands/explain.js.map +1 -0
  69. package/packages/cli/dist/commands/init.d.ts +1 -0
  70. package/packages/cli/dist/commands/init.js +35 -0
  71. package/packages/cli/dist/commands/init.js.map +1 -0
  72. package/packages/cli/dist/commands/query.d.ts +1 -0
  73. package/packages/cli/dist/commands/query.js +44 -0
  74. package/packages/cli/dist/commands/query.js.map +1 -0
  75. package/packages/cli/dist/commands/reset.d.ts +3 -0
  76. package/packages/cli/dist/commands/reset.js +28 -0
  77. package/packages/cli/dist/commands/reset.js.map +1 -0
  78. package/packages/cli/dist/commands/scaffold.d.ts +1 -0
  79. package/packages/cli/dist/commands/scaffold.js +52 -0
  80. package/packages/cli/dist/commands/scaffold.js.map +1 -0
  81. package/packages/cli/dist/commands/update.d.ts +5 -0
  82. package/packages/cli/dist/commands/update.js +23 -0
  83. package/packages/cli/dist/commands/update.js.map +1 -0
  84. package/packages/cli/dist/commands/watch.d.ts +1 -0
  85. package/packages/cli/dist/commands/watch.js +46 -0
  86. package/packages/cli/dist/commands/watch.js.map +1 -0
  87. package/packages/cli/dist/config/defaults.d.ts +2 -0
  88. package/packages/cli/dist/config/defaults.js +47 -0
  89. package/packages/cli/dist/config/defaults.js.map +1 -0
  90. package/packages/cli/dist/config/load.d.ts +4 -0
  91. package/packages/cli/dist/config/load.js +29 -0
  92. package/packages/cli/dist/config/load.js.map +1 -0
  93. package/packages/cli/dist/config/load.test.d.ts +1 -0
  94. package/packages/cli/dist/config/load.test.js +51 -0
  95. package/packages/cli/dist/config/load.test.js.map +1 -0
  96. package/packages/cli/dist/config/types.d.ts +32 -0
  97. package/packages/cli/dist/config/types.js +24 -0
  98. package/packages/cli/dist/config/types.js.map +1 -0
  99. package/packages/cli/dist/config/types.test.d.ts +1 -0
  100. package/packages/cli/dist/config/types.test.js +31 -0
  101. package/packages/cli/dist/config/types.test.js.map +1 -0
  102. package/packages/cli/dist/docker/compose.d.ts +5 -0
  103. package/packages/cli/dist/docker/compose.js +75 -0
  104. package/packages/cli/dist/docker/compose.js.map +1 -0
  105. package/packages/cli/dist/embedding/stub.d.ts +6 -0
  106. package/packages/cli/dist/embedding/stub.js +29 -0
  107. package/packages/cli/dist/embedding/stub.js.map +1 -0
  108. package/packages/cli/dist/embedding/stub.test.d.ts +1 -0
  109. package/packages/cli/dist/embedding/stub.test.js +31 -0
  110. package/packages/cli/dist/embedding/stub.test.js.map +1 -0
  111. package/packages/cli/dist/phase1/pipeline.d.ts +1 -0
  112. package/packages/cli/dist/phase1/pipeline.js +145 -0
  113. package/packages/cli/dist/phase1/pipeline.js.map +1 -0
  114. package/packages/cli/dist/phase2/deep-index.d.ts +1 -0
  115. package/packages/cli/dist/phase2/deep-index.js +105 -0
  116. package/packages/cli/dist/phase2/deep-index.js.map +1 -0
  117. package/packages/cli/dist/qdrant/upsert.d.ts +14 -0
  118. package/packages/cli/dist/qdrant/upsert.js +30 -0
  119. package/packages/cli/dist/qdrant/upsert.js.map +1 -0
  120. package/packages/cli/dist/scope/allowlist.d.ts +11 -0
  121. package/packages/cli/dist/scope/allowlist.js +36 -0
  122. package/packages/cli/dist/scope/allowlist.js.map +1 -0
  123. package/packages/cli/dist/scope/allowlist.test.d.ts +1 -0
  124. package/packages/cli/dist/scope/allowlist.test.js +23 -0
  125. package/packages/cli/dist/scope/allowlist.test.js.map +1 -0
  126. package/packages/cli/dist/scope/ignore.d.ts +2 -0
  127. package/packages/cli/dist/scope/ignore.js +80 -0
  128. package/packages/cli/dist/scope/ignore.js.map +1 -0
  129. package/packages/cli/dist/scope/ignore.test.d.ts +1 -0
  130. package/packages/cli/dist/scope/ignore.test.js +71 -0
  131. package/packages/cli/dist/scope/ignore.test.js.map +1 -0
  132. package/packages/cli/package.json +46 -0
  133. package/packages/cli/src/chunking/chunker.test.ts +54 -0
  134. package/packages/cli/src/chunking/chunker.ts +151 -0
  135. package/packages/cli/src/chunking/hash.test.ts +41 -0
  136. package/packages/cli/src/chunking/hash.ts +21 -0
  137. package/packages/cli/src/chunking/types.test.ts +28 -0
  138. package/packages/cli/src/chunking/types.ts +43 -0
  139. package/packages/cli/src/cli/index.ts +79 -0
  140. package/packages/cli/src/commands/deep-index.ts +16 -0
  141. package/packages/cli/src/commands/doctor.ts +32 -0
  142. package/packages/cli/src/commands/down.ts +12 -0
  143. package/packages/cli/src/commands/explain.ts +22 -0
  144. package/packages/cli/src/commands/init.ts +37 -0
  145. package/packages/cli/src/commands/query.ts +49 -0
  146. package/packages/cli/src/commands/reset.ts +30 -0
  147. package/packages/cli/src/commands/scaffold.ts +55 -0
  148. package/packages/cli/src/commands/update.ts +22 -0
  149. package/packages/cli/src/commands/watch.ts +47 -0
  150. package/packages/cli/src/config/defaults.ts +49 -0
  151. package/packages/cli/src/config/load.test.ts +55 -0
  152. package/packages/cli/src/config/load.ts +33 -0
  153. package/packages/cli/src/config/types.test.ts +43 -0
  154. package/packages/cli/src/config/types.ts +49 -0
  155. package/packages/cli/src/docker/compose.ts +75 -0
  156. package/packages/cli/src/embedding/stub.test.ts +35 -0
  157. package/packages/cli/src/embedding/stub.ts +32 -0
  158. package/packages/cli/src/phase1/pipeline.ts +164 -0
  159. package/packages/cli/src/phase2/deep-index.ts +120 -0
  160. package/packages/cli/src/qdrant/upsert.ts +45 -0
  161. package/packages/cli/src/scope/allowlist.test.ts +25 -0
  162. package/packages/cli/src/scope/allowlist.ts +38 -0
  163. package/packages/cli/src/scope/ignore.test.ts +71 -0
  164. package/packages/cli/src/scope/ignore.ts +86 -0
  165. package/packages/cli/tsconfig.json +16 -0
  166. package/packages/server/coverage/lcov-report/base.css +224 -0
  167. package/packages/server/coverage/lcov-report/block-navigation.js +87 -0
  168. package/packages/server/coverage/lcov-report/favicon.png +0 -0
  169. package/packages/server/coverage/lcov-report/index.html +116 -0
  170. package/packages/server/coverage/lcov-report/prettify.css +1 -0
  171. package/packages/server/coverage/lcov-report/prettify.js +2 -0
  172. package/packages/server/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  173. package/packages/server/coverage/lcov-report/sorter.js +210 -0
  174. package/packages/server/coverage/lcov-report/stub.ts.html +184 -0
  175. package/packages/server/coverage/lcov.info +57 -0
  176. package/packages/server/coverage/tmp/coverage-26012-1770055894042-0.json +1 -0
  177. package/packages/server/coverage/tmp/coverage-26013-1770055894077-0.json +1 -0
  178. package/packages/server/dist/api/explain.d.ts +6 -0
  179. package/packages/server/dist/api/explain.js +16 -0
  180. package/packages/server/dist/api/explain.js.map +1 -0
  181. package/packages/server/dist/api/health.d.ts +7 -0
  182. package/packages/server/dist/api/health.js +43 -0
  183. package/packages/server/dist/api/health.js.map +1 -0
  184. package/packages/server/dist/api/refresh.d.ts +2 -0
  185. package/packages/server/dist/api/refresh.js +8 -0
  186. package/packages/server/dist/api/refresh.js.map +1 -0
  187. package/packages/server/dist/api/search.d.ts +28 -0
  188. package/packages/server/dist/api/search.js +36 -0
  189. package/packages/server/dist/api/search.js.map +1 -0
  190. package/packages/server/dist/api/system.d.ts +6 -0
  191. package/packages/server/dist/api/system.js +17 -0
  192. package/packages/server/dist/api/system.js.map +1 -0
  193. package/packages/server/dist/embedding/stub.d.ts +7 -0
  194. package/packages/server/dist/embedding/stub.js +30 -0
  195. package/packages/server/dist/embedding/stub.js.map +1 -0
  196. package/packages/server/dist/embedding/stub.test.d.ts +1 -0
  197. package/packages/server/dist/embedding/stub.test.js +25 -0
  198. package/packages/server/dist/embedding/stub.test.js.map +1 -0
  199. package/packages/server/dist/index.d.ts +1 -0
  200. package/packages/server/dist/index.js +26 -0
  201. package/packages/server/dist/index.js.map +1 -0
  202. package/packages/server/dist/qdrant/client.d.ts +24 -0
  203. package/packages/server/dist/qdrant/client.js +55 -0
  204. package/packages/server/dist/qdrant/client.js.map +1 -0
  205. package/packages/server/package.json +37 -0
  206. package/packages/server/src/api/explain.ts +24 -0
  207. package/packages/server/src/api/health.ts +50 -0
  208. package/packages/server/src/api/refresh.ts +9 -0
  209. package/packages/server/src/api/search.ts +57 -0
  210. package/packages/server/src/api/system.ts +25 -0
  211. package/packages/server/src/embedding/stub.test.ts +28 -0
  212. package/packages/server/src/embedding/stub.ts +33 -0
  213. package/packages/server/src/index.ts +29 -0
  214. package/packages/server/src/qdrant/client.ts +92 -0
  215. package/packages/server/tsconfig.json +16 -0
@@ -0,0 +1,210 @@
1
+ /* eslint-disable */
2
+ var addSorting = (function() {
3
+ 'use strict';
4
+ var cols,
5
+ currentSort = {
6
+ index: 0,
7
+ desc: false
8
+ };
9
+
10
+ // returns the summary table element
11
+ function getTable() {
12
+ return document.querySelector('.coverage-summary');
13
+ }
14
+ // returns the thead element of the summary table
15
+ function getTableHeader() {
16
+ return getTable().querySelector('thead tr');
17
+ }
18
+ // returns the tbody element of the summary table
19
+ function getTableBody() {
20
+ return getTable().querySelector('tbody');
21
+ }
22
+ // returns the th element for nth column
23
+ function getNthColumn(n) {
24
+ return getTableHeader().querySelectorAll('th')[n];
25
+ }
26
+
27
+ function onFilterInput() {
28
+ const searchValue = document.getElementById('fileSearch').value;
29
+ const rows = document.getElementsByTagName('tbody')[0].children;
30
+
31
+ // Try to create a RegExp from the searchValue. If it fails (invalid regex),
32
+ // it will be treated as a plain text search
33
+ let searchRegex;
34
+ try {
35
+ searchRegex = new RegExp(searchValue, 'i'); // 'i' for case-insensitive
36
+ } catch (error) {
37
+ searchRegex = null;
38
+ }
39
+
40
+ for (let i = 0; i < rows.length; i++) {
41
+ const row = rows[i];
42
+ let isMatch = false;
43
+
44
+ if (searchRegex) {
45
+ // If a valid regex was created, use it for matching
46
+ isMatch = searchRegex.test(row.textContent);
47
+ } else {
48
+ // Otherwise, fall back to the original plain text search
49
+ isMatch = row.textContent
50
+ .toLowerCase()
51
+ .includes(searchValue.toLowerCase());
52
+ }
53
+
54
+ row.style.display = isMatch ? '' : 'none';
55
+ }
56
+ }
57
+
58
+ // loads the search box
59
+ function addSearchBox() {
60
+ var template = document.getElementById('filterTemplate');
61
+ var templateClone = template.content.cloneNode(true);
62
+ templateClone.getElementById('fileSearch').oninput = onFilterInput;
63
+ template.parentElement.appendChild(templateClone);
64
+ }
65
+
66
+ // loads all columns
67
+ function loadColumns() {
68
+ var colNodes = getTableHeader().querySelectorAll('th'),
69
+ colNode,
70
+ cols = [],
71
+ col,
72
+ i;
73
+
74
+ for (i = 0; i < colNodes.length; i += 1) {
75
+ colNode = colNodes[i];
76
+ col = {
77
+ key: colNode.getAttribute('data-col'),
78
+ sortable: !colNode.getAttribute('data-nosort'),
79
+ type: colNode.getAttribute('data-type') || 'string'
80
+ };
81
+ cols.push(col);
82
+ if (col.sortable) {
83
+ col.defaultDescSort = col.type === 'number';
84
+ colNode.innerHTML =
85
+ colNode.innerHTML + '<span class="sorter"></span>';
86
+ }
87
+ }
88
+ return cols;
89
+ }
90
+ // attaches a data attribute to every tr element with an object
91
+ // of data values keyed by column name
92
+ function loadRowData(tableRow) {
93
+ var tableCols = tableRow.querySelectorAll('td'),
94
+ colNode,
95
+ col,
96
+ data = {},
97
+ i,
98
+ val;
99
+ for (i = 0; i < tableCols.length; i += 1) {
100
+ colNode = tableCols[i];
101
+ col = cols[i];
102
+ val = colNode.getAttribute('data-value');
103
+ if (col.type === 'number') {
104
+ val = Number(val);
105
+ }
106
+ data[col.key] = val;
107
+ }
108
+ return data;
109
+ }
110
+ // loads all row data
111
+ function loadData() {
112
+ var rows = getTableBody().querySelectorAll('tr'),
113
+ i;
114
+
115
+ for (i = 0; i < rows.length; i += 1) {
116
+ rows[i].data = loadRowData(rows[i]);
117
+ }
118
+ }
119
+ // sorts the table using the data for the ith column
120
+ function sortByIndex(index, desc) {
121
+ var key = cols[index].key,
122
+ sorter = function(a, b) {
123
+ a = a.data[key];
124
+ b = b.data[key];
125
+ return a < b ? -1 : a > b ? 1 : 0;
126
+ },
127
+ finalSorter = sorter,
128
+ tableBody = document.querySelector('.coverage-summary tbody'),
129
+ rowNodes = tableBody.querySelectorAll('tr'),
130
+ rows = [],
131
+ i;
132
+
133
+ if (desc) {
134
+ finalSorter = function(a, b) {
135
+ return -1 * sorter(a, b);
136
+ };
137
+ }
138
+
139
+ for (i = 0; i < rowNodes.length; i += 1) {
140
+ rows.push(rowNodes[i]);
141
+ tableBody.removeChild(rowNodes[i]);
142
+ }
143
+
144
+ rows.sort(finalSorter);
145
+
146
+ for (i = 0; i < rows.length; i += 1) {
147
+ tableBody.appendChild(rows[i]);
148
+ }
149
+ }
150
+ // removes sort indicators for current column being sorted
151
+ function removeSortIndicators() {
152
+ var col = getNthColumn(currentSort.index),
153
+ cls = col.className;
154
+
155
+ cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
156
+ col.className = cls;
157
+ }
158
+ // adds sort indicators for current column being sorted
159
+ function addSortIndicators() {
160
+ getNthColumn(currentSort.index).className += currentSort.desc
161
+ ? ' sorted-desc'
162
+ : ' sorted';
163
+ }
164
+ // adds event listeners for all sorter widgets
165
+ function enableUI() {
166
+ var i,
167
+ el,
168
+ ithSorter = function ithSorter(i) {
169
+ var col = cols[i];
170
+
171
+ return function() {
172
+ var desc = col.defaultDescSort;
173
+
174
+ if (currentSort.index === i) {
175
+ desc = !currentSort.desc;
176
+ }
177
+ sortByIndex(i, desc);
178
+ removeSortIndicators();
179
+ currentSort.index = i;
180
+ currentSort.desc = desc;
181
+ addSortIndicators();
182
+ };
183
+ };
184
+ for (i = 0; i < cols.length; i += 1) {
185
+ if (cols[i].sortable) {
186
+ // add the click event handler on the th so users
187
+ // dont have to click on those tiny arrows
188
+ el = getNthColumn(i).querySelector('.sorter').parentElement;
189
+ if (el.addEventListener) {
190
+ el.addEventListener('click', ithSorter(i));
191
+ } else {
192
+ el.attachEvent('onclick', ithSorter(i));
193
+ }
194
+ }
195
+ }
196
+ }
197
+ // adds sorting functionality to the UI
198
+ return function() {
199
+ if (!getTable()) {
200
+ return;
201
+ }
202
+ cols = loadColumns();
203
+ loadData();
204
+ addSearchBox();
205
+ addSortIndicators();
206
+ enableUI();
207
+ };
208
+ })();
209
+
210
+ window.addEventListener('load', addSorting);