cbrowser 18.79.0 → 18.81.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 (238) hide show
  1. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  2. package/dist/analysis/accessibility-empathy.js +395 -66
  3. package/dist/analysis/accessibility-empathy.js.map +1 -1
  4. package/dist/analysis/agent-ready-audit.d.ts.map +1 -1
  5. package/dist/analysis/agent-ready-audit.js +78 -0
  6. package/dist/analysis/agent-ready-audit.js.map +1 -1
  7. package/dist/analysis/page-understanding.d.ts +139 -1
  8. package/dist/analysis/page-understanding.d.ts.map +1 -1
  9. package/dist/analysis/page-understanding.js +179 -12
  10. package/dist/analysis/page-understanding.js.map +1 -1
  11. package/dist/artifact-store.d.ts +19 -5
  12. package/dist/artifact-store.d.ts.map +1 -1
  13. package/dist/artifact-store.js +41 -11
  14. package/dist/artifact-store.js.map +1 -1
  15. package/dist/browser.d.ts +9 -0
  16. package/dist/browser.d.ts.map +1 -1
  17. package/dist/browser.js +81 -5
  18. package/dist/browser.js.map +1 -1
  19. package/dist/cli.js +55 -10
  20. package/dist/cli.js.map +1 -1
  21. package/dist/cognitive/index.d.ts.map +1 -1
  22. package/dist/cognitive/index.js +3 -2
  23. package/dist/cognitive/index.js.map +1 -1
  24. package/dist/config.d.ts +57 -0
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js +234 -7
  27. package/dist/config.js.map +1 -1
  28. package/dist/content-integrity.d.ts +65 -0
  29. package/dist/content-integrity.d.ts.map +1 -0
  30. package/dist/content-integrity.js +127 -0
  31. package/dist/content-integrity.js.map +1 -0
  32. package/dist/index.js +1 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/mcp-server-remote.d.ts.map +1 -1
  35. package/dist/mcp-server-remote.js +148 -6
  36. package/dist/mcp-server-remote.js.map +1 -1
  37. package/dist/mcp-server.d.ts.map +1 -1
  38. package/dist/mcp-server.js +62 -938
  39. package/dist/mcp-server.js.map +1 -1
  40. package/dist/mcp-tools/account-personas.d.ts +41 -0
  41. package/dist/mcp-tools/account-personas.d.ts.map +1 -0
  42. package/dist/mcp-tools/account-personas.js +98 -0
  43. package/dist/mcp-tools/account-personas.js.map +1 -0
  44. package/dist/mcp-tools/base/analysis-tools.d.ts.map +1 -1
  45. package/dist/mcp-tools/base/analysis-tools.js +12 -2
  46. package/dist/mcp-tools/base/analysis-tools.js.map +1 -1
  47. package/dist/mcp-tools/base/artifact-tools.d.ts +3 -0
  48. package/dist/mcp-tools/base/artifact-tools.d.ts.map +1 -0
  49. package/dist/mcp-tools/base/artifact-tools.js +78 -0
  50. package/dist/mcp-tools/base/artifact-tools.js.map +1 -0
  51. package/dist/mcp-tools/base/audit-tools.d.ts +11 -0
  52. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  53. package/dist/mcp-tools/base/audit-tools.js +624 -342
  54. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  55. package/dist/mcp-tools/base/browser-management-tools.d.ts.map +1 -1
  56. package/dist/mcp-tools/base/browser-management-tools.js +18 -0
  57. package/dist/mcp-tools/base/browser-management-tools.js.map +1 -1
  58. package/dist/mcp-tools/base/bug-analysis-tools.d.ts.map +1 -1
  59. package/dist/mcp-tools/base/bug-analysis-tools.js +59 -3
  60. package/dist/mcp-tools/base/bug-analysis-tools.js.map +1 -1
  61. package/dist/mcp-tools/base/capture-tools.d.ts +37 -0
  62. package/dist/mcp-tools/base/capture-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/capture-tools.js +267 -6
  64. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/cognitive-tools.d.ts +12 -0
  66. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  67. package/dist/mcp-tools/base/cognitive-tools.js +63 -15
  68. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  69. package/dist/mcp-tools/base/extraction-tools.d.ts.map +1 -1
  70. package/dist/mcp-tools/base/extraction-tools.js +33 -2
  71. package/dist/mcp-tools/base/extraction-tools.js.map +1 -1
  72. package/dist/mcp-tools/base/index.d.ts +2 -0
  73. package/dist/mcp-tools/base/index.d.ts.map +1 -1
  74. package/dist/mcp-tools/base/index.js +9 -0
  75. package/dist/mcp-tools/base/index.js.map +1 -1
  76. package/dist/mcp-tools/base/marketing-tools.js +3 -3
  77. package/dist/mcp-tools/base/marketing-tools.js.map +1 -1
  78. package/dist/mcp-tools/base/navigation-tools.d.ts.map +1 -1
  79. package/dist/mcp-tools/base/navigation-tools.js +21 -1
  80. package/dist/mcp-tools/base/navigation-tools.js.map +1 -1
  81. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/persona-comparison-tools.js +529 -40
  83. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/site-knowledge-tools.d.ts.map +1 -1
  85. package/dist/mcp-tools/base/site-knowledge-tools.js +36 -3
  86. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  87. package/dist/mcp-tools/base/values-tools.d.ts +113 -0
  88. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  89. package/dist/mcp-tools/base/values-tools.js +868 -78
  90. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  91. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  92. package/dist/mcp-tools/base/visual-testing-tools.js +130 -10
  93. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  94. package/dist/mcp-tools/index.d.ts +3 -1
  95. package/dist/mcp-tools/index.d.ts.map +1 -1
  96. package/dist/mcp-tools/index.js +3 -28
  97. package/dist/mcp-tools/index.js.map +1 -1
  98. package/dist/mcp-tools/persona-creation-tools.d.ts.map +1 -1
  99. package/dist/mcp-tools/persona-creation-tools.js +363 -20
  100. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  101. package/dist/mcp-tools/persona-lifecycle-tools.d.ts +3 -0
  102. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -0
  103. package/dist/mcp-tools/persona-lifecycle-tools.js +406 -0
  104. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -0
  105. package/dist/mcp-tools/screenshot-utils.d.ts.map +1 -1
  106. package/dist/mcp-tools/screenshot-utils.js +56 -10
  107. package/dist/mcp-tools/screenshot-utils.js.map +1 -1
  108. package/dist/mcp-tools/tier-gate.js +2 -2
  109. package/dist/mcp-tools/tier-gate.js.map +1 -1
  110. package/dist/mcp-tools/tool-categories.d.ts.map +1 -1
  111. package/dist/mcp-tools/tool-categories.js +4 -1
  112. package/dist/mcp-tools/tool-categories.js.map +1 -1
  113. package/dist/mcp-tools/ui-resources.d.ts +167 -0
  114. package/dist/mcp-tools/ui-resources.d.ts.map +1 -0
  115. package/dist/mcp-tools/ui-resources.js +707 -0
  116. package/dist/mcp-tools/ui-resources.js.map +1 -0
  117. package/dist/mcp-tools/widget-kit.d.ts +299 -0
  118. package/dist/mcp-tools/widget-kit.d.ts.map +1 -0
  119. package/dist/mcp-tools/widget-kit.js +2034 -0
  120. package/dist/mcp-tools/widget-kit.js.map +1 -0
  121. package/dist/mcp-ui-resources.d.ts.map +1 -1
  122. package/dist/mcp-ui-resources.js +14 -4
  123. package/dist/mcp-ui-resources.js.map +1 -1
  124. package/dist/persona-questionnaire.d.ts +69 -1
  125. package/dist/persona-questionnaire.d.ts.map +1 -1
  126. package/dist/persona-questionnaire.js +177 -76
  127. package/dist/persona-questionnaire.js.map +1 -1
  128. package/dist/persona-scope.d.ts +20 -0
  129. package/dist/persona-scope.d.ts.map +1 -0
  130. package/dist/persona-scope.js +59 -0
  131. package/dist/persona-scope.js.map +1 -0
  132. package/dist/personas.d.ts +51 -17
  133. package/dist/personas.d.ts.map +1 -1
  134. package/dist/personas.js +947 -286
  135. package/dist/personas.js.map +1 -1
  136. package/dist/recording/capture-player.d.ts +68 -0
  137. package/dist/recording/capture-player.d.ts.map +1 -0
  138. package/dist/recording/capture-player.js +298 -0
  139. package/dist/recording/capture-player.js.map +1 -0
  140. package/dist/recording/engine.d.ts +52 -0
  141. package/dist/recording/engine.d.ts.map +1 -1
  142. package/dist/recording/engine.js +241 -3
  143. package/dist/recording/engine.js.map +1 -1
  144. package/dist/recording/inline-player.d.ts +39 -0
  145. package/dist/recording/inline-player.d.ts.map +1 -0
  146. package/dist/recording/inline-player.js +272 -0
  147. package/dist/recording/inline-player.js.map +1 -0
  148. package/dist/recording/saliency-overlay.d.ts +133 -0
  149. package/dist/recording/saliency-overlay.d.ts.map +1 -0
  150. package/dist/recording/saliency-overlay.js +360 -0
  151. package/dist/recording/saliency-overlay.js.map +1 -0
  152. package/dist/recording/types.d.ts +32 -0
  153. package/dist/recording/types.d.ts.map +1 -1
  154. package/dist/recording/types.js +46 -0
  155. package/dist/recording/types.js.map +1 -1
  156. package/dist/site-model/manager.d.ts +20 -0
  157. package/dist/site-model/manager.d.ts.map +1 -1
  158. package/dist/site-model/manager.js +52 -0
  159. package/dist/site-model/manager.js.map +1 -1
  160. package/dist/trait-reference.d.ts +26 -2
  161. package/dist/trait-reference.d.ts.map +1 -1
  162. package/dist/trait-reference.js +129 -19
  163. package/dist/trait-reference.js.map +1 -1
  164. package/dist/types.d.ts +105 -18
  165. package/dist/types.d.ts.map +1 -1
  166. package/dist/types.js.map +1 -1
  167. package/dist/url-resolution.d.ts +58 -0
  168. package/dist/url-resolution.d.ts.map +1 -0
  169. package/dist/url-resolution.js +143 -0
  170. package/dist/url-resolution.js.map +1 -0
  171. package/dist/values/big-five-inference.d.ts +121 -0
  172. package/dist/values/big-five-inference.d.ts.map +1 -0
  173. package/dist/values/big-five-inference.js +241 -0
  174. package/dist/values/big-five-inference.js.map +1 -0
  175. package/dist/values/big-five-values.d.ts +76 -0
  176. package/dist/values/big-five-values.d.ts.map +1 -0
  177. package/dist/values/big-five-values.js +152 -0
  178. package/dist/values/big-five-values.js.map +1 -0
  179. package/dist/values/index.d.ts +1 -1
  180. package/dist/values/index.d.ts.map +1 -1
  181. package/dist/values/index.js +1 -1
  182. package/dist/values/index.js.map +1 -1
  183. package/dist/values/persona-completeness.d.ts +91 -0
  184. package/dist/values/persona-completeness.d.ts.map +1 -0
  185. package/dist/values/persona-completeness.js +114 -0
  186. package/dist/values/persona-completeness.js.map +1 -0
  187. package/dist/values/persona-diff.d.ts +50 -0
  188. package/dist/values/persona-diff.d.ts.map +1 -0
  189. package/dist/values/persona-diff.js +126 -0
  190. package/dist/values/persona-diff.js.map +1 -0
  191. package/dist/values/persona-values.d.ts +16 -0
  192. package/dist/values/persona-values.d.ts.map +1 -1
  193. package/dist/values/persona-values.js +33 -0
  194. package/dist/values/persona-values.js.map +1 -1
  195. package/dist/values/schwartz-values.d.ts +9 -1
  196. package/dist/values/schwartz-values.d.ts.map +1 -1
  197. package/dist/values/schwartz-values.js +10 -2
  198. package/dist/values/schwartz-values.js.map +1 -1
  199. package/dist/values/value-mappings.d.ts +41 -2
  200. package/dist/values/value-mappings.d.ts.map +1 -1
  201. package/dist/values/value-mappings.js +65 -8
  202. package/dist/values/value-mappings.js.map +1 -1
  203. package/dist/visual/attention-quality.d.ts +27 -0
  204. package/dist/visual/attention-quality.d.ts.map +1 -1
  205. package/dist/visual/attention-quality.js +164 -2
  206. package/dist/visual/attention-quality.js.map +1 -1
  207. package/dist/visual/attention-transport.d.ts +41 -2
  208. package/dist/visual/attention-transport.d.ts.map +1 -1
  209. package/dist/visual/attention-transport.js +98 -26
  210. package/dist/visual/attention-transport.js.map +1 -1
  211. package/dist/visual/barrier-overlay-html.d.ts +10 -0
  212. package/dist/visual/barrier-overlay-html.d.ts.map +1 -1
  213. package/dist/visual/barrier-overlay-html.js.map +1 -1
  214. package/dist/visual/cognitive-models.d.ts +109 -13
  215. package/dist/visual/cognitive-models.d.ts.map +1 -1
  216. package/dist/visual/cognitive-models.js +166 -3
  217. package/dist/visual/cognitive-models.js.map +1 -1
  218. package/dist/visual/cognitive-transport-chain.d.ts +165 -5
  219. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  220. package/dist/visual/cognitive-transport-chain.js +567 -31
  221. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  222. package/dist/visual/cognitive-transport.d.ts +45 -3
  223. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  224. package/dist/visual/cognitive-transport.js +126 -12
  225. package/dist/visual/cognitive-transport.js.map +1 -1
  226. package/dist/visual/llm-relevance.d.ts +193 -0
  227. package/dist/visual/llm-relevance.d.ts.map +1 -0
  228. package/dist/visual/llm-relevance.js +480 -0
  229. package/dist/visual/llm-relevance.js.map +1 -0
  230. package/dist/visual/perceptual-transport.d.ts +60 -0
  231. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  232. package/dist/visual/perceptual-transport.js +228 -19
  233. package/dist/visual/perceptual-transport.js.map +1 -1
  234. package/dist/visual/persona-context.d.ts +23 -0
  235. package/dist/visual/persona-context.d.ts.map +1 -0
  236. package/dist/visual/persona-context.js +44 -0
  237. package/dist/visual/persona-context.js.map +1 -0
  238. package/package.json +2 -1
package/dist/config.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * All paths are configurable via environment variables or constructor options.
10
10
  * Default: ~/.cbrowser/
11
11
  */
12
- import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, statSync, rmdirSync } from "fs";
12
+ import { existsSync, mkdirSync, readFileSync, readdirSync, unlinkSync, statSync, rmdirSync, rmSync } from "fs";
13
13
  import { homedir } from "os";
14
14
  import { join } from "path";
15
15
  import { randomUUID } from "crypto";
@@ -197,6 +197,9 @@ export function ensureDirectories(paths) {
197
197
  // Automatic cleanup of OLD screenshot sessions on startup
198
198
  // This is safe for multi-user: only deletes sessions older than retention period
199
199
  cleanupOldScreenshotSessions(p);
200
+ // Both no-ops unless their env var is set; see getVideoRetention.
201
+ cleanupOldVideos(p);
202
+ cleanupOldBrowserState(p);
200
203
  return p;
201
204
  }
202
205
  /**
@@ -265,6 +268,198 @@ function formatRetention(ms) {
265
268
  * Called automatically on CBrowser startup.
266
269
  * Returns the number of session directories deleted.
267
270
  */
271
+ /**
272
+ * What the sweepers would remove, without removing anything.
273
+ *
274
+ * Retention ships disabled, so the honest way to decide whether to enable it
275
+ * is to see the cost first. Reports against the given windows regardless of
276
+ * whether the env vars are set.
277
+ */
278
+ export function previewRetention(videoHours = 24, browserStateDays = 30, paths) {
279
+ const p = paths || getPaths();
280
+ const now = Date.now();
281
+ const out = { videos: { directories: 0, files: 0 }, browserState: { profiles: 0 } };
282
+ const scan = (base, cutoff, onHit) => {
283
+ if (!existsSync(base))
284
+ return;
285
+ try {
286
+ for (const entry of readdirSync(base)) {
287
+ if (entry.startsWith(".") || entry === p.sessionId)
288
+ continue;
289
+ const dir = join(base, entry);
290
+ try {
291
+ if (!statSync(dir).isDirectory())
292
+ continue;
293
+ if (newestMtime(dir) > cutoff)
294
+ continue;
295
+ onHit(dir);
296
+ }
297
+ catch { /* skip */ }
298
+ }
299
+ }
300
+ catch { /* skip */ }
301
+ };
302
+ scan(p.videosDir, now - videoHours * 3600_000, (dir) => {
303
+ out.videos.directories += 1;
304
+ out.videos.files += countFiles(dir);
305
+ });
306
+ scan(p.browserStateDir, now - browserStateDays * 86400_000, () => {
307
+ out.browserState.profiles += 1;
308
+ });
309
+ return out;
310
+ }
311
+ /**
312
+ * Retention for capture output, in milliseconds. 0 disables cleanup.
313
+ *
314
+ * Capture artifacts are regenerable: frames, GIFs and manifests can be
315
+ * produced again by re-running the capture. Measured on this box before any
316
+ * retention existed: 10,169 files and 344MB, growing with every capture and
317
+ * never shrinking. A default of 24 hours keeps recent work reviewable while
318
+ * bounding the directory.
319
+ */
320
+ export function getVideoRetention() {
321
+ const raw = process.env.CBROWSER_VIDEO_RETENTION;
322
+ // Off unless asked for. Turning this on deletes existing captures on the
323
+ // next start -- 344MB of them on this box at the time it was written -- and
324
+ // that is a decision for whoever owns the data, not a default to inherit.
325
+ // Set CBROWSER_VIDEO_RETENTION to a number of hours to enable.
326
+ if (!raw || raw === "0" || raw === "off")
327
+ return 0;
328
+ const hours = parseFloat(raw);
329
+ return Number.isFinite(hours) && hours > 0 ? hours * 3600_000 : 0;
330
+ }
331
+ /**
332
+ * Retention for browser profiles, in milliseconds. 0 disables cleanup.
333
+ *
334
+ * Deliberately far longer than the others and measured from last use, because
335
+ * unlike a screenshot or a capture frame this data is NOT regenerable: a
336
+ * browser-state directory holds cookies and saved logins, and deleting one
337
+ * signs the user out of whatever they had authenticated. 110MB across 1,659
338
+ * files is worth bounding, but not at the cost of silently destroying a
339
+ * session someone still relies on -- so the default is 30 days of disuse, and
340
+ * the active profile is never touched.
341
+ */
342
+ export function getBrowserStateRetention() {
343
+ const raw = process.env.CBROWSER_BROWSER_STATE_RETENTION;
344
+ // Off unless asked for, and doubly so here: these profiles hold cookies and
345
+ // saved logins, so a sweep signs people out of whatever they had
346
+ // authenticated. Set CBROWSER_BROWSER_STATE_RETENTION to a number of days.
347
+ if (!raw || raw === "0" || raw === "off")
348
+ return 0;
349
+ const days = parseFloat(raw);
350
+ return Number.isFinite(days) && days > 0 ? days * 86400_000 : 0;
351
+ }
352
+ /**
353
+ * Delete capture directories older than the video retention period.
354
+ *
355
+ * Whole directories only, and only when every entry inside is older than the
356
+ * cutoff -- the same rule the screenshot sweeper uses, so a capture still
357
+ * being written is never half-removed.
358
+ *
359
+ * Returns the number of directories deleted.
360
+ */
361
+ export function cleanupOldVideos(paths) {
362
+ const p = paths || getPaths();
363
+ const retention = getVideoRetention();
364
+ if (retention === 0)
365
+ return 0;
366
+ if (!existsSync(p.videosDir))
367
+ return 0;
368
+ const now = Date.now();
369
+ let deleted = 0;
370
+ try {
371
+ for (const entry of readdirSync(p.videosDir)) {
372
+ if (entry.startsWith("."))
373
+ continue;
374
+ const dir = join(p.videosDir, entry);
375
+ try {
376
+ const stats = statSync(dir);
377
+ if (!stats.isDirectory()) {
378
+ if (now - stats.mtimeMs > retention) {
379
+ unlinkSync(dir);
380
+ deleted += 1;
381
+ }
382
+ continue;
383
+ }
384
+ if (entry === p.sessionId)
385
+ continue;
386
+ if (newestMtime(dir) > now - retention)
387
+ continue;
388
+ rmSync(dir, { recursive: true, force: true });
389
+ deleted += 1;
390
+ }
391
+ catch { /* a directory that vanished mid-sweep needs no action */ }
392
+ }
393
+ }
394
+ catch { /* an unreadable videos dir is not worth failing startup over */ }
395
+ return deleted;
396
+ }
397
+ /**
398
+ * Delete browser profiles untouched for longer than the retention period.
399
+ *
400
+ * Never removes the profile in use. Keyed on the newest mtime anywhere inside
401
+ * the profile, so a directory whose top-level entry is old but whose cookies
402
+ * were written this morning counts as active.
403
+ */
404
+ export function cleanupOldBrowserState(paths) {
405
+ const p = paths || getPaths();
406
+ const retention = getBrowserStateRetention();
407
+ if (retention === 0)
408
+ return 0;
409
+ const base = p.browserStateDir;
410
+ if (!existsSync(base))
411
+ return 0;
412
+ const now = Date.now();
413
+ let deleted = 0;
414
+ try {
415
+ for (const entry of readdirSync(base)) {
416
+ if (entry.startsWith("."))
417
+ continue;
418
+ const dir = join(base, entry);
419
+ try {
420
+ const stats = statSync(dir);
421
+ if (!stats.isDirectory())
422
+ continue;
423
+ if (entry === p.sessionId)
424
+ continue;
425
+ if (newestMtime(dir) > now - retention)
426
+ continue;
427
+ rmSync(dir, { recursive: true, force: true });
428
+ deleted += 1;
429
+ }
430
+ catch { /* skip */ }
431
+ }
432
+ }
433
+ catch { /* skip */ }
434
+ return deleted;
435
+ }
436
+ /**
437
+ * Newest mtime anywhere under a directory, depth-limited.
438
+ *
439
+ * A directory's own mtime only reflects its immediate entries, so a capture
440
+ * whose frames were written minutes ago can present an hours-old timestamp at
441
+ * the top level. Deleting on that reading would remove live work.
442
+ */
443
+ function newestMtime(dir, depth = 3) {
444
+ let newest = 0;
445
+ try {
446
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
447
+ const full = join(dir, entry.name);
448
+ try {
449
+ if (entry.isDirectory()) {
450
+ if (depth > 0)
451
+ newest = Math.max(newest, newestMtime(full, depth - 1));
452
+ }
453
+ else {
454
+ newest = Math.max(newest, statSync(full).mtimeMs);
455
+ }
456
+ }
457
+ catch { /* skip */ }
458
+ }
459
+ }
460
+ catch { /* skip */ }
461
+ return newest;
462
+ }
268
463
  export function cleanupOldScreenshotSessions(paths) {
269
464
  const p = paths || getPaths();
270
465
  const retention = getScreenshotRetention();
@@ -357,14 +552,38 @@ export function cleanupCurrentSessionScreenshots(paths) {
357
552
  }
358
553
  return deleted;
359
554
  }
360
- function countFiles(dir, ext) {
555
+ /**
556
+ * Count files in a directory, including nested ones.
557
+ *
558
+ * Recursive because these directories are session-scoped: screenshots live in
559
+ * per-session subdirectories, and visual baselines under a nested store. A
560
+ * top-level readdir therefore reported 0 screenshots while 12 sat one level
561
+ * down, and 1 visual baseline against 34 on disk -- an extension filter also
562
+ * excludes the subdirectory entries themselves, so the count collapsed to
563
+ * zero rather than merely being low.
564
+ *
565
+ * Depth-limited because a runaway tree should not turn a status call into a
566
+ * filesystem walk; three levels covers every layout in use.
567
+ */
568
+ function countFiles(dir, ext, depth = 3) {
361
569
  if (!existsSync(dir))
362
570
  return 0;
363
571
  try {
364
- const files = readdirSync(dir);
365
- if (ext)
366
- return files.filter(f => f.endsWith(ext)).length;
367
- return files.filter(f => !f.startsWith(".")).length;
572
+ let total = 0;
573
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
574
+ if (entry.name.startsWith("."))
575
+ continue;
576
+ if (entry.isDirectory()) {
577
+ if (depth > 0)
578
+ total += countFiles(join(dir, entry.name), ext, depth - 1);
579
+ }
580
+ else if (!ext || (Array.isArray(ext)
581
+ ? ext.some((e) => entry.name.endsWith(e))
582
+ : entry.name.endsWith(ext))) {
583
+ total += 1;
584
+ }
585
+ }
586
+ return total;
368
587
  }
369
588
  catch {
370
589
  return 0;
@@ -471,7 +690,10 @@ export async function getStatusInfo(version, toolCount) {
471
690
  const screenshotStats = countScreenshotSessions(paths.screenshotsBaseDir);
472
691
  // Directory status
473
692
  const dirEntries = [
474
- ["screenshots", paths.screenshotsBaseDir, ".png"],
693
+ // Every extension screenshots are actually written in. It filtered on
694
+ // .png alone while remote-mode compression writes .jpg, so a directory
695
+ // holding twelve screenshots reported zero.
696
+ ["screenshots", paths.screenshotsBaseDir, [".png", ".jpg", ".jpeg", ".webp"]],
475
697
  ["sessions", paths.sessionsDir, ".json"],
476
698
  ["baselines", paths.baselinesDir, ".json"],
477
699
  ["visual-baselines", paths.visualBaselinesDir],
@@ -482,6 +704,11 @@ export async function getStatusInfo(version, toolCount) {
482
704
  ["videos", paths.videosDir],
483
705
  ["audit", paths.auditDir],
484
706
  ];
707
+ // Directory counts read the filesystem; the summary counts below read
708
+ // registries -- baselines.json for visualBaselines, the session store for
709
+ // screenshotSessions, the built-in table plus custom files for personas.
710
+ // They are different populations, not two views of one, and reporting both
711
+ // without saying so left a reader to guess which was authoritative.
485
712
  const directories = dirEntries.map(([name, dirPath, ext]) => ({
486
713
  name,
487
714
  path: dirPath,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Did we land on the content, or on something standing in front of it?
3
+ *
4
+ * `navigate` answered a narrower question than callers assumed. It reported whether
5
+ * the request completed, and every cognitive tool downstream read that as "the page
6
+ * is here". Two failures in one external session, neither surfaced:
7
+ *
8
+ * claude.ai/code/artifact/<uuid> reported success, 200, zero console errors
9
+ * -- rendered the SPA not-found branch
10
+ * <uuid>.frame.claudeusercontent.com reported success
11
+ * -- rendered a Cloudflare Turnstile challenge
12
+ *
13
+ * The second is the instructive one, because the browser layer had ALREADY decided it
14
+ * was a failure: it compared hosts, set `success: false` and `desyncDetected`, and
15
+ * emitted "Expected domain: X, Actual domain: Y". The tool layer forwarded the warning
16
+ * and dropped the verdict. The signal existed, was computed, and was discarded one
17
+ * function above where it was produced.
18
+ *
19
+ * That matters more than a wrong status. `cognitive_effort` would have scored the
20
+ * Turnstile interstitial as a page and called it comfortable, because an interstitial
21
+ * genuinely IS low-effort: one button, no text, no choices. Every layer would have
22
+ * been correct about the DOM it was given and wrong about the page it claimed to
23
+ * describe. A wrong page analysed silently beats a refusal only in the sense that it
24
+ * produces numbers.
25
+ *
26
+ * Deliberately NOT a bot-detection module. It answers one question -- "is there reason
27
+ * to think this is not the requested content?" -- from signals navigation already has
28
+ * in hand: requested URL vs landed URL, the title, the DOM size, and the browser's own
29
+ * desync verdict. No new instrumentation, no network calls, no heuristics that need
30
+ * tuning against a corpus. A caller that gets `ok: false` should decide for itself;
31
+ * this never blocks a navigation.
32
+ *
33
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
34
+ * @license MIT
35
+ */
36
+ /** What `navigate` needs to expose for this to be decidable. */
37
+ export interface IntegrityInput {
38
+ /** Where the browser actually ended up. */
39
+ url: string;
40
+ /** Document title as rendered. */
41
+ title?: string;
42
+ /** The browser layer's own verdict, when it reached one. */
43
+ success?: boolean;
44
+ /** Set by the browser layer when the landed host differs from the requested host. */
45
+ desyncDetected?: boolean;
46
+ /** Rendered HTML length, when the caller has it. Optional: absence is not evidence. */
47
+ contentLength?: number;
48
+ }
49
+ export interface ContentIntegrity {
50
+ /** False when there is positive reason to doubt this is the requested content. */
51
+ ok: boolean;
52
+ /** Machine-readable reasons. Empty iff ok. */
53
+ reasons: string[];
54
+ /** One sentence a caller can show a human. Absent when ok. */
55
+ note?: string;
56
+ /** Where the caller asked to go, when it differs from where it arrived. */
57
+ requestedUrl?: string;
58
+ landedUrl?: string;
59
+ }
60
+ /**
61
+ * Judge a completed navigation. Never throws: an integrity check that can fail is a
62
+ * new way for navigate to fail, which is not a trade worth making for a caveat field.
63
+ */
64
+ export declare function describeContentIntegrity(requestedUrl: string, result: IntegrityInput): ContentIntegrity;
65
+ //# sourceMappingURL=content-integrity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-integrity.d.ts","sourceRoot":"","sources":["../src/content-integrity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,gEAAgE;AAChE,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uFAAuF;IACvF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,EAAE,EAAE,OAAO,CAAC;IACZ,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwCD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,GACrB,gBAAgB,CA2ClB"}
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Did we land on the content, or on something standing in front of it?
3
+ *
4
+ * `navigate` answered a narrower question than callers assumed. It reported whether
5
+ * the request completed, and every cognitive tool downstream read that as "the page
6
+ * is here". Two failures in one external session, neither surfaced:
7
+ *
8
+ * claude.ai/code/artifact/<uuid> reported success, 200, zero console errors
9
+ * -- rendered the SPA not-found branch
10
+ * <uuid>.frame.claudeusercontent.com reported success
11
+ * -- rendered a Cloudflare Turnstile challenge
12
+ *
13
+ * The second is the instructive one, because the browser layer had ALREADY decided it
14
+ * was a failure: it compared hosts, set `success: false` and `desyncDetected`, and
15
+ * emitted "Expected domain: X, Actual domain: Y". The tool layer forwarded the warning
16
+ * and dropped the verdict. The signal existed, was computed, and was discarded one
17
+ * function above where it was produced.
18
+ *
19
+ * That matters more than a wrong status. `cognitive_effort` would have scored the
20
+ * Turnstile interstitial as a page and called it comfortable, because an interstitial
21
+ * genuinely IS low-effort: one button, no text, no choices. Every layer would have
22
+ * been correct about the DOM it was given and wrong about the page it claimed to
23
+ * describe. A wrong page analysed silently beats a refusal only in the sense that it
24
+ * produces numbers.
25
+ *
26
+ * Deliberately NOT a bot-detection module. It answers one question -- "is there reason
27
+ * to think this is not the requested content?" -- from signals navigation already has
28
+ * in hand: requested URL vs landed URL, the title, the DOM size, and the browser's own
29
+ * desync verdict. No new instrumentation, no network calls, no heuristics that need
30
+ * tuning against a corpus. A caller that gets `ok: false` should decide for itself;
31
+ * this never blocks a navigation.
32
+ *
33
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
34
+ * @license MIT
35
+ */
36
+ /**
37
+ * Titles interstitials use. Matched case-insensitively against the whole title, and
38
+ * kept short on purpose: a list long enough to catch everything is long enough to
39
+ * catch real pages, and a false "this is a challenge page" on a legitimate site is a
40
+ * worse failure than a missed challenge. Cloudflare's own wording is the anchor.
41
+ */
42
+ const CHALLENGE_TITLES = [
43
+ "just a moment",
44
+ "attention required",
45
+ "checking your browser",
46
+ "please wait...",
47
+ "access denied",
48
+ "verifying you are human",
49
+ "one more step",
50
+ ];
51
+ /**
52
+ * Below this many characters of rendered HTML, a 200 is not plausibly a content page.
53
+ * A challenge or an error stub is typically a few hundred bytes of shell; the smallest
54
+ * real pages this tool is pointed at run to several thousand. Set where a miss is more
55
+ * likely than a false positive, because this only ever ADDS a caveat -- it never
56
+ * refuses a navigation, so the cost of the two errors is not symmetric.
57
+ */
58
+ const IMPLAUSIBLY_SMALL_DOM = 500;
59
+ function hostOf(u) {
60
+ try {
61
+ return new URL(u).hostname.toLowerCase();
62
+ }
63
+ catch {
64
+ return u.toLowerCase();
65
+ }
66
+ }
67
+ /** True when two hosts are the same site, treating sub/parent domains as the same. */
68
+ function sameSite(a, b) {
69
+ return a === b || a.endsWith(`.${b}`) || b.endsWith(`.${a}`);
70
+ }
71
+ /**
72
+ * Judge a completed navigation. Never throws: an integrity check that can fail is a
73
+ * new way for navigate to fail, which is not a trade worth making for a caveat field.
74
+ */
75
+ export function describeContentIntegrity(requestedUrl, result) {
76
+ const reasons = [];
77
+ try {
78
+ const wanted = hostOf(requestedUrl);
79
+ const landed = hostOf(result.url);
80
+ // The browser layer's verdict is authoritative where it has one. Recomputing the
81
+ // host comparison here instead of reading it would let the two disagree, and two
82
+ // sources of truth for one fact is how the original defect became invisible.
83
+ if (result.desyncDetected || (wanted && landed && !sameSite(wanted, landed))) {
84
+ reasons.push("cross-origin-landing");
85
+ }
86
+ const title = (result.title ?? "").trim().toLowerCase();
87
+ if (title && CHALLENGE_TITLES.some((t) => title.includes(t))) {
88
+ reasons.push("challenge-page-title");
89
+ }
90
+ // Absent length is UNKNOWN, not small. A check that treats missing data as a
91
+ // finding manufactures findings on every caller that does not measure.
92
+ if (typeof result.contentLength === "number" && result.contentLength < IMPLAUSIBLY_SMALL_DOM) {
93
+ reasons.push("implausibly-small-dom");
94
+ }
95
+ if (result.success === false && reasons.length === 0) {
96
+ reasons.push("navigation-reported-failure");
97
+ }
98
+ if (reasons.length === 0)
99
+ return { ok: true, reasons: [] };
100
+ return {
101
+ ok: false,
102
+ reasons,
103
+ note: noteFor(reasons, requestedUrl, result.url),
104
+ requestedUrl,
105
+ landedUrl: result.url,
106
+ };
107
+ }
108
+ catch {
109
+ // Undecidable is not a finding. Saying "ok" here is the correct failure
110
+ // direction only because this field exists to RAISE doubt, never to certify:
111
+ // no caller should read `ok: true` as "verified content".
112
+ return { ok: true, reasons: [] };
113
+ }
114
+ }
115
+ function noteFor(reasons, requested, landed) {
116
+ if (reasons.includes("challenge-page-title")) {
117
+ return `This looks like an interstitial or challenge page, not ${requested}. Anything measured from it describes the interstitial.`;
118
+ }
119
+ if (reasons.includes("cross-origin-landing")) {
120
+ return `Requested ${requested} but landed on ${landed}. The content is from a different origin than was asked for.`;
121
+ }
122
+ if (reasons.includes("implausibly-small-dom")) {
123
+ return `The response rendered almost no content. A 200 with an near-empty DOM is usually an error or challenge stub.`;
124
+ }
125
+ return `The browser reported this navigation as failed.`;
126
+ }
127
+ //# sourceMappingURL=content-integrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-integrity.js","sourceRoot":"","sources":["../src/content-integrity.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -48,7 +48,7 @@ export * from "./stealth/index.js";
48
48
  // Persona Questionnaire (v16.5.0) - Research-based persona generation
49
49
  export * from "./persona-questionnaire.js";
50
50
  // Values System (v16.7.0) - Research-backed psychological values framework
51
- // Based on Schwartz's Theory of Basic Human Values, SDT, and Maslow
51
+ // Based on Shalom Schwartz's Theory of Basic Human Values, SDT, and Maslow
52
52
  export * from "./values/index.js";
53
53
  // MCP Tools (v17.5.0) - Modular MCP tool registration
54
54
  // Allows granular tool imports for custom server composition
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnF,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,yEAAyE;AACzE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,+BAA+B;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC;AAEnC,sEAAsE;AACtE,cAAc,4BAA4B,CAAC;AAE3C,2EAA2E;AAC3E,oEAAoE;AACpE,cAAc,mBAAmB,CAAC;AAElC,sDAAsD;AACtD,6DAA6D;AAC7D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB;AACvB,8CAA8C;AAC9C,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,gEAAgE;AAChE,cAAc,qBAAqB,CAAC;AAEpC,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AACzJ,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACnF,cAAc,YAAY,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,yEAAyE;AACzE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,+BAA+B;AAC/B,cAAc,wBAAwB,CAAC;AAEvC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC;AAEnC,sEAAsE;AACtE,cAAc,4BAA4B,CAAC;AAE3C,2EAA2E;AAC3E,2EAA2E;AAC3E,cAAc,mBAAmB,CAAC;AAElC,sDAAsD;AACtD,6DAA6D;AAC7D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,4BAA4B,EAC5B,mBAAmB,EACnB,uBAAuB;AACvB,8CAA8C;AAC9C,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,EAC9B,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,gEAAgE;AAChE,cAAc,qBAAqB,CAAC;AAEpC,wEAAwE;AACxE,uEAAuE;AACvE,uEAAuE;AACvE,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAmCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAiBxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAoBpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,6EAA6E;AAC7E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,KAAK,EAAE,MAAM;CAI1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCrG;AAmhBD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;CAAE,CAAC;AA2C3F;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAWD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAAC,UAAU,CAAC,CAuDrB;AAsJD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAseD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA24B1F"}
1
+ {"version":3,"file":"mcp-server-remote.d.ts","sourceRoot":"","sources":["../src/mcp-server-remote.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAoCH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AA4CxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAuBpE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED,6EAA6E;AAC7E,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,KAAK,EAAE,MAAM;CAI1B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCrG;AAmhBD;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAClB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,qBAAqB,GAAG,oBAAoB,CAAA;CAAE,CAAC;AA2C3F;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAWD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACnD,OAAO,CAAC,UAAU,CAAC,CAuDrB;AA2JD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAghBD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4EAA4E;IAC5E,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC;AAExC;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAy8B1F"}