@staticn0va/wigolo 0.3.1 → 0.5.1

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 (255) hide show
  1. package/README.md +57 -2
  2. package/SKILL.md +196 -0
  3. package/dist/agent/executor.d.ts +13 -0
  4. package/dist/agent/executor.d.ts.map +1 -0
  5. package/dist/agent/executor.js +128 -0
  6. package/dist/agent/executor.js.map +1 -0
  7. package/dist/agent/pipeline.d.ts +5 -0
  8. package/dist/agent/pipeline.d.ts.map +1 -0
  9. package/dist/agent/pipeline.js +198 -0
  10. package/dist/agent/pipeline.js.map +1 -0
  11. package/dist/agent/planner.d.ts +9 -0
  12. package/dist/agent/planner.d.ts.map +1 -0
  13. package/dist/agent/planner.js +190 -0
  14. package/dist/agent/planner.js.map +1 -0
  15. package/dist/cache/change-detector.d.ts +7 -0
  16. package/dist/cache/change-detector.d.ts.map +1 -0
  17. package/dist/cache/change-detector.js +43 -0
  18. package/dist/cache/change-detector.js.map +1 -0
  19. package/dist/cache/db.d.ts.map +1 -1
  20. package/dist/cache/db.js +32 -0
  21. package/dist/cache/db.js.map +1 -1
  22. package/dist/cache/diff-summary.d.ts +2 -0
  23. package/dist/cache/diff-summary.d.ts.map +1 -0
  24. package/dist/cache/diff-summary.js +87 -0
  25. package/dist/cache/diff-summary.js.map +1 -0
  26. package/dist/cache/store.d.ts +16 -0
  27. package/dist/cache/store.d.ts.map +1 -1
  28. package/dist/cache/store.js +79 -0
  29. package/dist/cache/store.js.map +1 -1
  30. package/dist/cli/auth.d.ts +2 -0
  31. package/dist/cli/auth.d.ts.map +1 -0
  32. package/dist/cli/auth.js +95 -0
  33. package/dist/cli/auth.js.map +1 -0
  34. package/dist/cli/daemon.d.ts +6 -1
  35. package/dist/cli/daemon.d.ts.map +1 -1
  36. package/dist/cli/daemon.js +56 -3
  37. package/dist/cli/daemon.js.map +1 -1
  38. package/dist/cli/health.d.ts +1 -1
  39. package/dist/cli/health.d.ts.map +1 -1
  40. package/dist/cli/health.js +41 -3
  41. package/dist/cli/health.js.map +1 -1
  42. package/dist/cli/index.d.ts +1 -1
  43. package/dist/cli/index.d.ts.map +1 -1
  44. package/dist/cli/index.js +1 -1
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/cli/plugin.d.ts +5 -0
  47. package/dist/cli/plugin.d.ts.map +1 -0
  48. package/dist/cli/plugin.js +188 -0
  49. package/dist/cli/plugin.js.map +1 -0
  50. package/dist/cli/shell.d.ts +2 -0
  51. package/dist/cli/shell.d.ts.map +1 -0
  52. package/dist/cli/shell.js +86 -0
  53. package/dist/cli/shell.js.map +1 -0
  54. package/dist/cli/warmup.d.ts +8 -0
  55. package/dist/cli/warmup.d.ts.map +1 -1
  56. package/dist/cli/warmup.js +106 -1
  57. package/dist/cli/warmup.js.map +1 -1
  58. package/dist/config.d.ts +15 -0
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +23 -0
  61. package/dist/config.js.map +1 -1
  62. package/dist/daemon/health-check.d.ts +16 -0
  63. package/dist/daemon/health-check.d.ts.map +1 -0
  64. package/dist/daemon/health-check.js +36 -0
  65. package/dist/daemon/health-check.js.map +1 -0
  66. package/dist/daemon/http-server.d.ts +26 -0
  67. package/dist/daemon/http-server.d.ts.map +1 -0
  68. package/dist/daemon/http-server.js +282 -0
  69. package/dist/daemon/http-server.js.map +1 -0
  70. package/dist/daemon/proxy.d.ts +10 -0
  71. package/dist/daemon/proxy.d.ts.map +1 -0
  72. package/dist/daemon/proxy.js +99 -0
  73. package/dist/daemon/proxy.js.map +1 -0
  74. package/dist/embedding/embed.d.ts +19 -0
  75. package/dist/embedding/embed.d.ts.map +1 -0
  76. package/dist/embedding/embed.js +131 -0
  77. package/dist/embedding/embed.js.map +1 -0
  78. package/dist/embedding/key-terms.d.ts +12 -0
  79. package/dist/embedding/key-terms.d.ts.map +1 -0
  80. package/dist/embedding/key-terms.js +138 -0
  81. package/dist/embedding/key-terms.js.map +1 -0
  82. package/dist/embedding/subprocess.d.ts +31 -0
  83. package/dist/embedding/subprocess.d.ts.map +1 -0
  84. package/dist/embedding/subprocess.js +213 -0
  85. package/dist/embedding/subprocess.js.map +1 -0
  86. package/dist/embedding/vector-index.d.ts +26 -0
  87. package/dist/embedding/vector-index.d.ts.map +1 -0
  88. package/dist/embedding/vector-index.js +78 -0
  89. package/dist/embedding/vector-index.js.map +1 -0
  90. package/dist/fetch/action-executor.d.ts +28 -0
  91. package/dist/fetch/action-executor.d.ts.map +1 -0
  92. package/dist/fetch/action-executor.js +86 -0
  93. package/dist/fetch/action-executor.js.map +1 -0
  94. package/dist/fetch/auth.d.ts +2 -1
  95. package/dist/fetch/auth.d.ts.map +1 -1
  96. package/dist/fetch/auth.js +30 -2
  97. package/dist/fetch/auth.js.map +1 -1
  98. package/dist/fetch/browser-pool.d.ts +30 -11
  99. package/dist/fetch/browser-pool.d.ts.map +1 -1
  100. package/dist/fetch/browser-pool.js +228 -51
  101. package/dist/fetch/browser-pool.js.map +1 -1
  102. package/dist/fetch/browser-selector.d.ts +17 -0
  103. package/dist/fetch/browser-selector.d.ts.map +1 -0
  104. package/dist/fetch/browser-selector.js +70 -0
  105. package/dist/fetch/browser-selector.js.map +1 -0
  106. package/dist/fetch/browser-types.d.ts +3 -0
  107. package/dist/fetch/browser-types.d.ts.map +1 -0
  108. package/dist/fetch/browser-types.js +45 -0
  109. package/dist/fetch/browser-types.js.map +1 -0
  110. package/dist/fetch/cdp-client.d.ts +9 -0
  111. package/dist/fetch/cdp-client.d.ts.map +1 -0
  112. package/dist/fetch/cdp-client.js +90 -0
  113. package/dist/fetch/cdp-client.js.map +1 -0
  114. package/dist/fetch/lightpanda.d.ts +28 -0
  115. package/dist/fetch/lightpanda.d.ts.map +1 -0
  116. package/dist/fetch/lightpanda.js +177 -0
  117. package/dist/fetch/lightpanda.js.map +1 -0
  118. package/dist/fetch/router.d.ts +4 -1
  119. package/dist/fetch/router.d.ts.map +1 -1
  120. package/dist/fetch/router.js +8 -2
  121. package/dist/fetch/router.js.map +1 -1
  122. package/dist/index.js +32 -3
  123. package/dist/index.js.map +1 -1
  124. package/dist/instructions.d.ts +29 -0
  125. package/dist/instructions.d.ts.map +1 -0
  126. package/dist/instructions.js +176 -0
  127. package/dist/instructions.js.map +1 -0
  128. package/dist/logger.d.ts +1 -1
  129. package/dist/logger.d.ts.map +1 -1
  130. package/dist/plugins/loader.d.ts +20 -0
  131. package/dist/plugins/loader.d.ts.map +1 -0
  132. package/dist/plugins/loader.js +162 -0
  133. package/dist/plugins/loader.js.map +1 -0
  134. package/dist/plugins/registry.d.ts +26 -0
  135. package/dist/plugins/registry.d.ts.map +1 -0
  136. package/dist/plugins/registry.js +68 -0
  137. package/dist/plugins/registry.js.map +1 -0
  138. package/dist/plugins/validate.d.ts +9 -0
  139. package/dist/plugins/validate.d.ts.map +1 -0
  140. package/dist/plugins/validate.js +70 -0
  141. package/dist/plugins/validate.js.map +1 -0
  142. package/dist/repl/commands/agent.d.ts +5 -0
  143. package/dist/repl/commands/agent.d.ts.map +1 -0
  144. package/dist/repl/commands/agent.js +48 -0
  145. package/dist/repl/commands/agent.js.map +1 -0
  146. package/dist/repl/commands/cache.d.ts +4 -0
  147. package/dist/repl/commands/cache.d.ts.map +1 -0
  148. package/dist/repl/commands/cache.js +44 -0
  149. package/dist/repl/commands/cache.js.map +1 -0
  150. package/dist/repl/commands/crawl.d.ts +7 -0
  151. package/dist/repl/commands/crawl.d.ts.map +1 -0
  152. package/dist/repl/commands/crawl.js +42 -0
  153. package/dist/repl/commands/crawl.js.map +1 -0
  154. package/dist/repl/commands/extract.d.ts +5 -0
  155. package/dist/repl/commands/extract.d.ts.map +1 -0
  156. package/dist/repl/commands/extract.js +37 -0
  157. package/dist/repl/commands/extract.js.map +1 -0
  158. package/dist/repl/commands/fetch.d.ts +5 -0
  159. package/dist/repl/commands/fetch.d.ts.map +1 -0
  160. package/dist/repl/commands/fetch.js +53 -0
  161. package/dist/repl/commands/fetch.js.map +1 -0
  162. package/dist/repl/commands/find-similar.d.ts +5 -0
  163. package/dist/repl/commands/find-similar.d.ts.map +1 -0
  164. package/dist/repl/commands/find-similar.js +61 -0
  165. package/dist/repl/commands/find-similar.js.map +1 -0
  166. package/dist/repl/commands/research.d.ts +5 -0
  167. package/dist/repl/commands/research.d.ts.map +1 -0
  168. package/dist/repl/commands/research.js +50 -0
  169. package/dist/repl/commands/research.js.map +1 -0
  170. package/dist/repl/commands/search.d.ts +5 -0
  171. package/dist/repl/commands/search.d.ts.map +1 -0
  172. package/dist/repl/commands/search.js +62 -0
  173. package/dist/repl/commands/search.js.map +1 -0
  174. package/dist/repl/commands/types.d.ts +9 -0
  175. package/dist/repl/commands/types.d.ts.map +1 -0
  176. package/dist/repl/commands/types.js +2 -0
  177. package/dist/repl/commands/types.js.map +1 -0
  178. package/dist/repl/formatters.d.ts +13 -0
  179. package/dist/repl/formatters.d.ts.map +1 -0
  180. package/dist/repl/formatters.js +282 -0
  181. package/dist/repl/formatters.js.map +1 -0
  182. package/dist/repl/parser.d.ts +9 -0
  183. package/dist/repl/parser.d.ts.map +1 -0
  184. package/dist/repl/parser.js +84 -0
  185. package/dist/repl/parser.js.map +1 -0
  186. package/dist/repl/shell.d.ts +8 -0
  187. package/dist/repl/shell.d.ts.map +1 -0
  188. package/dist/repl/shell.js +177 -0
  189. package/dist/repl/shell.js.map +1 -0
  190. package/dist/research/decompose.d.ts +7 -0
  191. package/dist/research/decompose.d.ts.map +1 -0
  192. package/dist/research/decompose.js +195 -0
  193. package/dist/research/decompose.js.map +1 -0
  194. package/dist/research/pipeline.d.ts +5 -0
  195. package/dist/research/pipeline.d.ts.map +1 -0
  196. package/dist/research/pipeline.js +135 -0
  197. package/dist/research/pipeline.js.map +1 -0
  198. package/dist/research/synthesize.d.ts +10 -0
  199. package/dist/research/synthesize.d.ts.map +1 -0
  200. package/dist/research/synthesize.js +119 -0
  201. package/dist/research/synthesize.js.map +1 -0
  202. package/dist/search/answer-synthesis.d.ts +13 -0
  203. package/dist/search/answer-synthesis.d.ts.map +1 -0
  204. package/dist/search/answer-synthesis.js +120 -0
  205. package/dist/search/answer-synthesis.js.map +1 -0
  206. package/dist/search/context-formatter.d.ts +3 -0
  207. package/dist/search/context-formatter.d.ts.map +1 -0
  208. package/dist/search/context-formatter.js +56 -0
  209. package/dist/search/context-formatter.js.map +1 -0
  210. package/dist/search/find-similar.d.ts +5 -0
  211. package/dist/search/find-similar.d.ts.map +1 -0
  212. package/dist/search/find-similar.js +329 -0
  213. package/dist/search/find-similar.js.map +1 -0
  214. package/dist/search/multi-query.d.ts +22 -0
  215. package/dist/search/multi-query.d.ts.map +1 -0
  216. package/dist/search/multi-query.js +157 -0
  217. package/dist/search/multi-query.js.map +1 -0
  218. package/dist/search/rrf.d.ts +17 -0
  219. package/dist/search/rrf.d.ts.map +1 -0
  220. package/dist/search/rrf.js +48 -0
  221. package/dist/search/rrf.js.map +1 -0
  222. package/dist/search/sampling.d.ts +25 -0
  223. package/dist/search/sampling.d.ts.map +1 -0
  224. package/dist/search/sampling.js +52 -0
  225. package/dist/search/sampling.js.map +1 -0
  226. package/dist/server.d.ts +17 -0
  227. package/dist/server.d.ts.map +1 -1
  228. package/dist/server.js +366 -105
  229. package/dist/server.js.map +1 -1
  230. package/dist/tools/agent.d.ts +5 -0
  231. package/dist/tools/agent.d.ts.map +1 -0
  232. package/dist/tools/agent.js +67 -0
  233. package/dist/tools/agent.js.map +1 -0
  234. package/dist/tools/cache.d.ts +2 -1
  235. package/dist/tools/cache.d.ts.map +1 -1
  236. package/dist/tools/cache.js +56 -1
  237. package/dist/tools/cache.js.map +1 -1
  238. package/dist/tools/fetch.d.ts.map +1 -1
  239. package/dist/tools/fetch.js +26 -1
  240. package/dist/tools/fetch.js.map +1 -1
  241. package/dist/tools/find-similar.d.ts +5 -0
  242. package/dist/tools/find-similar.d.ts.map +1 -0
  243. package/dist/tools/find-similar.js +48 -0
  244. package/dist/tools/find-similar.js.map +1 -0
  245. package/dist/tools/research.d.ts +5 -0
  246. package/dist/tools/research.d.ts.map +1 -0
  247. package/dist/tools/research.js +50 -0
  248. package/dist/tools/research.js.map +1 -0
  249. package/dist/tools/search.d.ts +2 -1
  250. package/dist/tools/search.d.ts.map +1 -1
  251. package/dist/tools/search.js +179 -13
  252. package/dist/tools/search.js.map +1 -1
  253. package/dist/types.d.ts +147 -2
  254. package/dist/types.d.ts.map +1 -1
  255. package/package.json +43 -4
@@ -0,0 +1,9 @@
1
+ import { type SamplingCapableServer } from '../search/sampling.js';
2
+ export interface AgentPlan {
3
+ searches: string[];
4
+ urls: string[];
5
+ notes: string;
6
+ samplingUsed: boolean;
7
+ }
8
+ export declare function planExecution(prompt: string, urls?: string[], server?: SamplingCapableServer): Promise<AgentPlan>;
9
+ //# sourceMappingURL=planner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/agent/planner.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,MAAM,CAAC,EAAE,qBAAqB,GAC7B,OAAO,CAAC,SAAS,CAAC,CAwCpB"}
@@ -0,0 +1,190 @@
1
+ import { createLogger } from '../logger.js';
2
+ import { requestSampling, checkSamplingSupport, } from '../search/sampling.js';
3
+ const log = createLogger('agent');
4
+ const MAX_SEARCH_QUERIES = 5;
5
+ const MAX_QUERY_LENGTH = 250;
6
+ export async function planExecution(prompt, urls, server) {
7
+ const trimmedPrompt = prompt.trim();
8
+ if (!trimmedPrompt) {
9
+ return {
10
+ searches: [],
11
+ urls: urls ?? [],
12
+ notes: 'Empty prompt provided',
13
+ samplingUsed: false,
14
+ };
15
+ }
16
+ if (server) {
17
+ try {
18
+ const samplingResult = await planWithSampling(trimmedPrompt, server);
19
+ if (samplingResult) {
20
+ const mergedUrls = mergeUrls(samplingResult.urls, urls ?? []);
21
+ return {
22
+ searches: samplingResult.searches,
23
+ urls: mergedUrls,
24
+ notes: samplingResult.notes,
25
+ samplingUsed: true,
26
+ };
27
+ }
28
+ }
29
+ catch (err) {
30
+ log.warn('sampling planning failed, using fallback', {
31
+ error: err instanceof Error ? err.message : String(err),
32
+ });
33
+ }
34
+ }
35
+ const fallback = planWithFallback(trimmedPrompt);
36
+ const mergedUrls = mergeUrls(fallback.urls, urls ?? []);
37
+ return {
38
+ searches: fallback.searches,
39
+ urls: mergedUrls,
40
+ notes: fallback.notes,
41
+ samplingUsed: false,
42
+ };
43
+ }
44
+ async function planWithSampling(prompt, server) {
45
+ try {
46
+ if (!checkSamplingSupport(server)) {
47
+ log.debug('client does not support sampling for planning');
48
+ return null;
49
+ }
50
+ const samplingPrompt = `You are a data gathering assistant. Given the user's prompt, create an execution plan.
51
+
52
+ Return a JSON object with:
53
+ - "searches": array of 1-5 search engine queries to find the needed data
54
+ - "urls": array of specific URLs to visit (if any are obvious from the prompt)
55
+ - "notes": brief string with any relevant observations
56
+
57
+ Prompt: ${prompt}
58
+
59
+ Respond with ONLY valid JSON: {"searches": [...], "urls": [...], "notes": "..."}`;
60
+ const response = await requestSampling(server, [{ role: 'user', content: { type: 'text', text: samplingPrompt } }], 500);
61
+ if (!response?.content?.text) {
62
+ log.debug('sampling returned empty response for planning');
63
+ return null;
64
+ }
65
+ const text = response.content.text.trim();
66
+ let parsed;
67
+ try {
68
+ parsed = JSON.parse(text);
69
+ }
70
+ catch {
71
+ const jsonMatch = text.match(/\{[\s\S]*\}/);
72
+ if (jsonMatch) {
73
+ try {
74
+ parsed = JSON.parse(jsonMatch[0]);
75
+ }
76
+ catch {
77
+ log.debug('could not extract JSON from sampling plan response');
78
+ return null;
79
+ }
80
+ }
81
+ else {
82
+ return null;
83
+ }
84
+ }
85
+ if (typeof parsed !== 'object' || parsed === null)
86
+ return null;
87
+ const obj = parsed;
88
+ const searches = Array.isArray(obj.searches)
89
+ ? obj.searches.filter((s) => typeof s === 'string' && s.trim().length > 0).map((s) => s.trim())
90
+ : [];
91
+ const extractedUrls = Array.isArray(obj.urls)
92
+ ? obj.urls.filter((u) => typeof u === 'string' && isValidUrl(u))
93
+ : [];
94
+ const notes = typeof obj.notes === 'string' ? obj.notes : '';
95
+ if (searches.length === 0 && extractedUrls.length === 0) {
96
+ log.debug('sampling plan had no searches or URLs');
97
+ return null;
98
+ }
99
+ return { searches: searches.slice(0, MAX_SEARCH_QUERIES), urls: extractedUrls, notes };
100
+ }
101
+ catch (err) {
102
+ log.debug('sampling planning request failed', {
103
+ error: err instanceof Error ? err.message : String(err),
104
+ });
105
+ return null;
106
+ }
107
+ }
108
+ function planWithFallback(prompt) {
109
+ const extractedUrls = extractUrlsFromText(prompt);
110
+ const searches = generateSearchQueries(prompt);
111
+ return {
112
+ searches,
113
+ urls: extractedUrls,
114
+ notes: 'Fallback plan from keyword extraction',
115
+ };
116
+ }
117
+ function extractUrlsFromText(text) {
118
+ const urlRegex = /https?:\/\/[^\s,;"')\]]+/gi;
119
+ const matches = text.match(urlRegex) ?? [];
120
+ const cleaned = matches.map((url) => url.replace(/[.,;:!?)]+$/, ''));
121
+ return [...new Set(cleaned)].filter(isValidUrl);
122
+ }
123
+ function isValidUrl(url) {
124
+ try {
125
+ new URL(url);
126
+ return true;
127
+ }
128
+ catch {
129
+ return false;
130
+ }
131
+ }
132
+ function generateSearchQueries(prompt) {
133
+ const stopWords = new Set([
134
+ 'the', 'a', 'an', 'is', 'are', 'was', 'were', 'be', 'been', 'being',
135
+ 'have', 'has', 'had', 'do', 'does', 'did', 'will', 'would', 'could',
136
+ 'should', 'may', 'might', 'can', 'shall', 'to', 'of', 'in', 'for',
137
+ 'on', 'with', 'at', 'by', 'from', 'as', 'into', 'through', 'and',
138
+ 'but', 'or', 'not', 'so', 'yet', 'find', 'get', 'search', 'look',
139
+ 'show', 'me', 'i', 'we', 'you', 'they', 'it', 'this', 'that',
140
+ 'my', 'your', 'our', 'their', 'all', 'each', 'every', 'some',
141
+ 'any', 'also', 'about', 'up', 'out', 'if', 'then', 'than',
142
+ 'too', 'very', 'just', 'please', 'need', 'want',
143
+ ]);
144
+ const urlFree = prompt.replace(/https?:\/\/[^\s]+/g, '').trim();
145
+ if (!urlFree)
146
+ return [];
147
+ const words = urlFree
148
+ .replace(/[?!.,;:'"()\[\]{}]/g, ' ')
149
+ .split(/\s+/)
150
+ .filter(Boolean);
151
+ const contentWords = words.filter((w) => !stopWords.has(w.toLowerCase()) && w.length > 1);
152
+ if (contentWords.length === 0)
153
+ return [];
154
+ const queries = [];
155
+ const fullQuery = contentWords.join(' ');
156
+ if (fullQuery.length <= MAX_QUERY_LENGTH) {
157
+ queries.push(fullQuery);
158
+ }
159
+ else {
160
+ queries.push(fullQuery.slice(0, MAX_QUERY_LENGTH));
161
+ }
162
+ if (contentWords.length >= 4) {
163
+ const half = Math.ceil(contentWords.length / 2);
164
+ queries.push(contentWords.slice(0, half).join(' '));
165
+ }
166
+ if (contentWords.length >= 4) {
167
+ const half = Math.ceil(contentWords.length / 2);
168
+ queries.push(contentWords.slice(half).join(' '));
169
+ }
170
+ if (contentWords.length >= 3) {
171
+ const bigrams = [];
172
+ for (let i = 0; i < contentWords.length - 1 && bigrams.length < 3; i++) {
173
+ bigrams.push(`${contentWords[i]} ${contentWords[i + 1]}`);
174
+ }
175
+ if (bigrams.length > 0) {
176
+ queries.push(bigrams.join(' '));
177
+ }
178
+ }
179
+ const keyTerms = contentWords.filter((w) => w.length > 4 || w[0] === w[0].toUpperCase());
180
+ if (keyTerms.length >= 2) {
181
+ queries.push(keyTerms.slice(0, 5).join(' '));
182
+ }
183
+ const unique = [...new Set(queries)].map((q) => q.length > MAX_QUERY_LENGTH ? q.slice(0, MAX_QUERY_LENGTH) : q);
184
+ return unique.slice(0, MAX_SEARCH_QUERIES);
185
+ }
186
+ function mergeUrls(samplingUrls, explicitUrls) {
187
+ const all = [...samplingUrls, ...explicitUrls];
188
+ return [...new Set(all)];
189
+ }
190
+ //# sourceMappingURL=planner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/agent/planner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface ChangeResult {
2
+ changed: boolean;
3
+ previousHash?: string;
4
+ diffSummary?: string;
5
+ }
6
+ export declare function detectChange(url: string, newMarkdown: string): ChangeResult;
7
+ //# sourceMappingURL=change-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-detector.d.ts","sourceRoot":"","sources":["../../src/cache/change-detector.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,YAAY,CAyC3E"}
@@ -0,0 +1,43 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { createLogger } from '../logger.js';
3
+ import { normalizeUrl, getHashForNormalizedUrl, getMarkdownForNormalizedUrl } from './store.js';
4
+ import { computeDiffSummary } from './diff-summary.js';
5
+ const log = createLogger('cache');
6
+ export function detectChange(url, newMarkdown) {
7
+ try {
8
+ const normalizedUrl = normalizeUrl(url);
9
+ const previousHash = getHashForNormalizedUrl(normalizedUrl);
10
+ if (previousHash === null) {
11
+ log.debug('no cached entry for change detection', { url: normalizedUrl });
12
+ return { changed: false };
13
+ }
14
+ const newHash = createHash('sha256').update(newMarkdown).digest('hex');
15
+ if (newHash === previousHash) {
16
+ log.debug('content unchanged', { url: normalizedUrl, hash: newHash });
17
+ return { changed: false };
18
+ }
19
+ const previousMarkdown = getMarkdownForNormalizedUrl(normalizedUrl);
20
+ const diffSummary = previousMarkdown !== null
21
+ ? computeDiffSummary(previousMarkdown, newMarkdown)
22
+ : undefined;
23
+ log.info('content change detected', {
24
+ url: normalizedUrl,
25
+ previousHash,
26
+ newHash,
27
+ diffSummary,
28
+ });
29
+ return {
30
+ changed: true,
31
+ previousHash,
32
+ diffSummary,
33
+ };
34
+ }
35
+ catch (err) {
36
+ log.error('change detection failed', {
37
+ url,
38
+ error: err instanceof Error ? err.message : String(err),
39
+ });
40
+ return { changed: false };
41
+ }
42
+ }
43
+ //# sourceMappingURL=change-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"change-detector.js","sourceRoot":"","sources":["../../src/cache/change-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AAQlC,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,WAAmB;IAC3D,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,YAAY,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;QAE5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,gBAAgB,KAAK,IAAI;YAC3C,CAAC,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,WAAW,CAAC;YACnD,CAAC,CAAC,SAAS,CAAC;QAEd,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAClC,GAAG,EAAE,aAAa;YAClB,YAAY;YACZ,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY;YACZ,WAAW;SACZ,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/cache/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAqF9D;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/cache/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAsH9D;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAAC,QAAQ,CAK/C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC"}
package/dist/cache/db.js CHANGED
@@ -54,6 +54,11 @@ export function initDatabase(dbPath) {
54
54
  VALUES ('delete', old.id, old.title, old.markdown, old.url);
55
55
  END;
56
56
 
57
+ CREATE TRIGGER IF NOT EXISTS url_cache_au_after AFTER UPDATE ON url_cache BEGIN
58
+ INSERT INTO url_cache_fts(rowid, title, markdown, url)
59
+ VALUES (new.id, new.title, new.markdown, new.url);
60
+ END;
61
+
57
62
  CREATE TABLE IF NOT EXISTS search_cache (
58
63
  id INTEGER PRIMARY KEY AUTOINCREMENT,
59
64
  query TEXT NOT NULL,
@@ -71,6 +76,16 @@ export function initDatabase(dbPath) {
71
76
  last_updated TEXT
72
77
  );
73
78
 
79
+ CREATE TABLE IF NOT EXISTS lightpanda_routing (
80
+ domain TEXT PRIMARY KEY,
81
+ success_count INTEGER DEFAULT 0,
82
+ failure_count INTEGER DEFAULT 0,
83
+ prefer_chromium INTEGER DEFAULT 0,
84
+ last_success TEXT,
85
+ last_failure TEXT,
86
+ last_updated TEXT NOT NULL DEFAULT (datetime('now'))
87
+ );
88
+
74
89
  CREATE TABLE IF NOT EXISTS domain_boilerplate (
75
90
  domain TEXT NOT NULL,
76
91
  block_hash TEXT NOT NULL,
@@ -79,6 +94,23 @@ export function initDatabase(dbPath) {
79
94
  PRIMARY KEY (domain, block_hash)
80
95
  );
81
96
  `);
97
+ // Embedding columns migration (Slice 22)
98
+ try {
99
+ const columns = db.pragma('table_info(url_cache)');
100
+ const columnNames = new Set(columns.map(c => c.name));
101
+ if (!columnNames.has('embedding')) {
102
+ db.exec('ALTER TABLE url_cache ADD COLUMN embedding BLOB');
103
+ }
104
+ if (!columnNames.has('embedding_model')) {
105
+ db.exec('ALTER TABLE url_cache ADD COLUMN embedding_model TEXT');
106
+ }
107
+ if (!columnNames.has('embedding_dims')) {
108
+ db.exec('ALTER TABLE url_cache ADD COLUMN embedding_dims INTEGER');
109
+ }
110
+ }
111
+ catch {
112
+ // Migration already applied or column already exists
113
+ }
82
114
  instance = db;
83
115
  return db;
84
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/cache/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,IAAI,QAAQ,GAA6B,IAAI,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEP,CAAC,CAAC;IAEH,QAAQ,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/cache/db.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,IAAI,QAAQ,GAA6B,IAAI,CAAC;AAE9C,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAE/B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFP,CAAC,CAAC;IAEH,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAA4B,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,EAAE,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACvC,EAAE,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;IAED,QAAQ,GAAG,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function computeDiffSummary(oldMarkdown: string, newMarkdown: string): string;
2
+ //# sourceMappingURL=diff-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-summary.d.ts","sourceRoot":"","sources":["../../src/cache/diff-summary.ts"],"names":[],"mappings":"AA4EA,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA+BnF"}
@@ -0,0 +1,87 @@
1
+ import { createLogger } from '../logger.js';
2
+ const log = createLogger('cache');
3
+ function normalizeLineEndings(text) {
4
+ return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
5
+ }
6
+ function splitLines(text) {
7
+ if (text === '')
8
+ return [];
9
+ const normalized = normalizeLineEndings(text);
10
+ const lines = normalized.split('\n');
11
+ if (lines.length > 0 && lines[lines.length - 1] === '') {
12
+ lines.pop();
13
+ }
14
+ return lines;
15
+ }
16
+ function computeLCS(oldLines, newLines) {
17
+ const m = oldLines.length;
18
+ const n = newLines.length;
19
+ const dp = Array.from({ length: m + 1 }, () => new Array(n + 1).fill(0));
20
+ for (let i = 1; i <= m; i++) {
21
+ for (let j = 1; j <= n; j++) {
22
+ if (oldLines[i - 1] === newLines[j - 1]) {
23
+ dp[i][j] = dp[i - 1][j - 1] + 1;
24
+ }
25
+ else {
26
+ dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
27
+ }
28
+ }
29
+ }
30
+ return dp;
31
+ }
32
+ function computeDiffCounts(oldLines, newLines) {
33
+ const m = oldLines.length;
34
+ const n = newLines.length;
35
+ if (m === 0 && n === 0)
36
+ return { added: 0, removed: 0, modified: 0 };
37
+ if (m === 0)
38
+ return { added: n, removed: 0, modified: 0 };
39
+ if (n === 0)
40
+ return { added: 0, removed: m, modified: 0 };
41
+ const dp = computeLCS(oldLines, newLines);
42
+ const lcsLength = dp[m][n];
43
+ const removed = m - lcsLength;
44
+ const added = n - lcsLength;
45
+ let modified = 0;
46
+ const pairable = Math.min(removed, added);
47
+ if (pairable > 0) {
48
+ modified = pairable;
49
+ }
50
+ return {
51
+ added: added - modified,
52
+ removed: removed - modified,
53
+ modified,
54
+ };
55
+ }
56
+ function pluralize(count, singular) {
57
+ return count === 1 ? `${count} ${singular}` : `${count} ${singular}s`;
58
+ }
59
+ const MAX_DIFF_LINES = 5000;
60
+ export function computeDiffSummary(oldMarkdown, newMarkdown) {
61
+ try {
62
+ const oldLines = splitLines(oldMarkdown);
63
+ const newLines = splitLines(newMarkdown);
64
+ if (oldLines.length > MAX_DIFF_LINES || newLines.length > MAX_DIFF_LINES) {
65
+ log.debug('content too large for LCS diff, returning approximate summary', {
66
+ oldLineCount: oldLines.length,
67
+ newLineCount: newLines.length,
68
+ });
69
+ return `Content changed significantly (${oldLines.length} -> ${newLines.length} lines)`;
70
+ }
71
+ const counts = computeDiffCounts(oldLines, newLines);
72
+ const summary = `${pluralize(counts.added, 'line')} added, ` +
73
+ `${pluralize(counts.removed, 'line')} removed, ` +
74
+ `${pluralize(counts.modified, 'line')} modified`;
75
+ log.debug('diff summary computed', {
76
+ oldLineCount: oldLines.length,
77
+ newLineCount: newLines.length,
78
+ ...counts,
79
+ });
80
+ return summary;
81
+ }
82
+ catch (err) {
83
+ log.warn('diff summary computation failed', { error: err instanceof Error ? err.message : String(err) });
84
+ return 'Unable to compute diff summary';
85
+ }
86
+ }
87
+ //# sourceMappingURL=diff-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff-summary.js","sourceRoot":"","sources":["../../src/cache/diff-summary.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { RawFetchResult, ExtractionResult, CachedContent, SearchResultItem,
2
2
  export declare function normalizeUrl(url: string): string;
3
3
  export declare function cacheContent(result: RawFetchResult, extraction: ExtractionResult): void;
4
4
  export declare function getCachedContent(url: string): CachedContent | null;
5
+ export declare function getHashForNormalizedUrl(normalizedUrl: string): string | null;
6
+ export declare function getMarkdownForNormalizedUrl(normalizedUrl: string): string | null;
5
7
  export declare function isExpired(cached: CachedContent): boolean;
6
8
  export declare function searchCache(query: string): CachedContent[];
7
9
  export interface CachedSearchResult {
@@ -23,4 +25,18 @@ export declare function clearCacheEntries(options: {
23
25
  since?: string;
24
26
  }): number;
25
27
  export declare function getCacheStats(): CacheStats;
28
+ export declare function updateCacheEmbedding(url: string, embedding: Buffer, model: string, dims: number): boolean;
29
+ export interface EmbeddingData {
30
+ embedding: Buffer;
31
+ model: string;
32
+ dims: number;
33
+ }
34
+ export declare function getEmbeddingForUrl(url: string): EmbeddingData | null;
35
+ export interface StoredEmbedding {
36
+ normalizedUrl: string;
37
+ embedding: Buffer;
38
+ model: string;
39
+ dims: number;
40
+ }
41
+ export declare function getAllEmbeddings(): StoredEmbedding[];
26
42
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgBjH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BhD;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAsCvF;AAsCD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASlE;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAGxD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAY1D;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAqBN;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAgB/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,aAAa,EAAE,CA4BlB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CA0BT;AAED,wBAAgB,aAAa,IAAI,UAAU,CAiB1C"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgBjH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA0BhD;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAsCvF;AAsCD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASlE;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM5E;AAED,wBAAgB,2BAA2B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMhF;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAGxD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAY1D;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,MAAM,EAAE,GACpB,IAAI,CAqBN;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAgB/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,aAAa,EAAE,CA4BlB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,MAAM,CA0BT;AAED,wBAAgB,aAAa,IAAI,UAAU,CAiB1C;AAID,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,OAAO,CAoBT;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA2BpE;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,gBAAgB,IAAI,eAAe,EAAE,CAuBpD"}
@@ -99,6 +99,16 @@ export function getCachedContent(url) {
99
99
  `).get(url, normalizedUrl);
100
100
  return row ? rowToCachedContent(row) : null;
101
101
  }
102
+ export function getHashForNormalizedUrl(normalizedUrl) {
103
+ const db = getDatabase();
104
+ const row = db.prepare('SELECT content_hash FROM url_cache WHERE normalized_url = ? LIMIT 1').get(normalizedUrl);
105
+ return row?.content_hash ?? null;
106
+ }
107
+ export function getMarkdownForNormalizedUrl(normalizedUrl) {
108
+ const db = getDatabase();
109
+ const row = db.prepare('SELECT markdown FROM url_cache WHERE normalized_url = ? LIMIT 1').get(normalizedUrl);
110
+ return row ? row.markdown : null;
111
+ }
102
112
  export function isExpired(cached) {
103
113
  if (!cached.expiresAt)
104
114
  return false;
@@ -211,4 +221,73 @@ export function getCacheStats() {
211
221
  newest: row.newest ?? '',
212
222
  };
213
223
  }
224
+ // --- Embedding store functions (Slice 22) ---
225
+ export function updateCacheEmbedding(url, embedding, model, dims) {
226
+ try {
227
+ const db = getDatabase();
228
+ let normalized;
229
+ try {
230
+ normalized = normalizeUrl(url);
231
+ }
232
+ catch {
233
+ normalized = url;
234
+ }
235
+ const result = db.prepare(`
236
+ UPDATE url_cache
237
+ SET embedding = ?, embedding_model = ?, embedding_dims = ?, updated_at = datetime('now')
238
+ WHERE normalized_url = ?
239
+ `).run(embedding, model, dims, normalized);
240
+ return result.changes > 0;
241
+ }
242
+ catch {
243
+ return false;
244
+ }
245
+ }
246
+ export function getEmbeddingForUrl(url) {
247
+ try {
248
+ const db = getDatabase();
249
+ let normalized;
250
+ try {
251
+ normalized = normalizeUrl(url);
252
+ }
253
+ catch {
254
+ normalized = url;
255
+ }
256
+ const row = db.prepare(`
257
+ SELECT embedding, embedding_model, embedding_dims
258
+ FROM url_cache
259
+ WHERE (url = ? OR normalized_url = ?) AND embedding IS NOT NULL
260
+ LIMIT 1
261
+ `).get(url, normalized);
262
+ if (!row)
263
+ return null;
264
+ return {
265
+ embedding: row.embedding,
266
+ model: row.embedding_model,
267
+ dims: row.embedding_dims,
268
+ };
269
+ }
270
+ catch {
271
+ return null;
272
+ }
273
+ }
274
+ export function getAllEmbeddings() {
275
+ try {
276
+ const db = getDatabase();
277
+ const rows = db.prepare(`
278
+ SELECT normalized_url, embedding, embedding_model, embedding_dims
279
+ FROM url_cache
280
+ WHERE embedding IS NOT NULL
281
+ `).all();
282
+ return rows.map(r => ({
283
+ normalizedUrl: r.normalized_url,
284
+ embedding: r.embedding,
285
+ model: r.embedding_model,
286
+ dims: r.embedding_dims,
287
+ }));
288
+ }
289
+ catch {
290
+ return [];
291
+ }
292
+ }
214
293
  //# sourceMappingURL=store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cache/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runAuth(args: string[]): Promise<number>;
2
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AA2FA,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB7D"}