visus-mcp 0.6.1 → 0.6.2

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 (111) hide show
  1. package/.claude/settings.local.json +28 -1
  2. package/.mcpregistry_github_token +1 -1
  3. package/.mcpregistry_registry_token +1 -1
  4. package/CLAUDE.md +197 -0
  5. package/TROUBLESHOOT-COGNITO-AUTH-20260324-2029.md +415 -0
  6. package/TROUBLESHOOT-COGNITO-JWT-20260324.md +592 -0
  7. package/dist/browser/playwright-renderer.d.ts.map +1 -1
  8. package/dist/browser/playwright-renderer.js +71 -51
  9. package/dist/browser/playwright-renderer.js.map +1 -1
  10. package/dist/index.js +0 -0
  11. package/infrastructure/stack.ts +1 -0
  12. package/lambda-deploy/index.js +81512 -0
  13. package/lambda-deploy/index.js.map +7 -0
  14. package/lambda-package/browser/__mocks__/playwright-renderer.d.ts +25 -0
  15. package/lambda-package/browser/__mocks__/playwright-renderer.d.ts.map +1 -0
  16. package/lambda-package/browser/__mocks__/playwright-renderer.js +119 -0
  17. package/lambda-package/browser/__mocks__/playwright-renderer.js.map +1 -0
  18. package/lambda-package/browser/playwright-renderer.d.ts +40 -0
  19. package/lambda-package/browser/playwright-renderer.d.ts.map +1 -0
  20. package/lambda-package/browser/playwright-renderer.js +214 -0
  21. package/lambda-package/browser/playwright-renderer.js.map +1 -0
  22. package/lambda-package/browser/reader.d.ts +31 -0
  23. package/lambda-package/browser/reader.d.ts.map +1 -0
  24. package/lambda-package/browser/reader.js +98 -0
  25. package/lambda-package/browser/reader.js.map +1 -0
  26. package/lambda-package/index.d.ts +18 -0
  27. package/lambda-package/index.d.ts.map +1 -0
  28. package/lambda-package/index.js +238 -0
  29. package/lambda-package/index.js.map +1 -0
  30. package/lambda-package/lambda-handler.d.ts +28 -0
  31. package/lambda-package/lambda-handler.d.ts.map +1 -0
  32. package/lambda-package/lambda-handler.js +257 -0
  33. package/lambda-package/lambda-handler.js.map +1 -0
  34. package/lambda-package/package-lock.json +7435 -0
  35. package/lambda-package/package.json +74 -0
  36. package/lambda-package/runtime.d.ts +50 -0
  37. package/lambda-package/runtime.d.ts.map +1 -0
  38. package/lambda-package/runtime.js +86 -0
  39. package/lambda-package/runtime.js.map +1 -0
  40. package/lambda-package/sanitizer/elicit-runner.d.ts +48 -0
  41. package/lambda-package/sanitizer/elicit-runner.d.ts.map +1 -0
  42. package/lambda-package/sanitizer/elicit-runner.js +100 -0
  43. package/lambda-package/sanitizer/elicit-runner.js.map +1 -0
  44. package/lambda-package/sanitizer/framework-mapper.d.ts +24 -0
  45. package/lambda-package/sanitizer/framework-mapper.d.ts.map +1 -0
  46. package/lambda-package/sanitizer/framework-mapper.js +342 -0
  47. package/lambda-package/sanitizer/framework-mapper.js.map +1 -0
  48. package/lambda-package/sanitizer/hitl-gate.d.ts +69 -0
  49. package/lambda-package/sanitizer/hitl-gate.d.ts.map +1 -0
  50. package/lambda-package/sanitizer/hitl-gate.js +101 -0
  51. package/lambda-package/sanitizer/hitl-gate.js.map +1 -0
  52. package/lambda-package/sanitizer/index.d.ts +63 -0
  53. package/lambda-package/sanitizer/index.d.ts.map +1 -0
  54. package/lambda-package/sanitizer/index.js +105 -0
  55. package/lambda-package/sanitizer/index.js.map +1 -0
  56. package/lambda-package/sanitizer/injection-detector.d.ts +34 -0
  57. package/lambda-package/sanitizer/injection-detector.d.ts.map +1 -0
  58. package/lambda-package/sanitizer/injection-detector.js +89 -0
  59. package/lambda-package/sanitizer/injection-detector.js.map +1 -0
  60. package/lambda-package/sanitizer/patterns.d.ts +30 -0
  61. package/lambda-package/sanitizer/patterns.d.ts.map +1 -0
  62. package/lambda-package/sanitizer/patterns.js +372 -0
  63. package/lambda-package/sanitizer/patterns.js.map +1 -0
  64. package/lambda-package/sanitizer/pii-allowlist.d.ts +49 -0
  65. package/lambda-package/sanitizer/pii-allowlist.d.ts.map +1 -0
  66. package/lambda-package/sanitizer/pii-allowlist.js +231 -0
  67. package/lambda-package/sanitizer/pii-allowlist.js.map +1 -0
  68. package/lambda-package/sanitizer/pii-redactor.d.ts +41 -0
  69. package/lambda-package/sanitizer/pii-redactor.d.ts.map +1 -0
  70. package/lambda-package/sanitizer/pii-redactor.js +213 -0
  71. package/lambda-package/sanitizer/pii-redactor.js.map +1 -0
  72. package/lambda-package/sanitizer/severity-classifier.d.ts +33 -0
  73. package/lambda-package/sanitizer/severity-classifier.d.ts.map +1 -0
  74. package/lambda-package/sanitizer/severity-classifier.js +113 -0
  75. package/lambda-package/sanitizer/severity-classifier.js.map +1 -0
  76. package/lambda-package/sanitizer/threat-reporter.d.ts +66 -0
  77. package/lambda-package/sanitizer/threat-reporter.d.ts.map +1 -0
  78. package/lambda-package/sanitizer/threat-reporter.js +163 -0
  79. package/lambda-package/sanitizer/threat-reporter.js.map +1 -0
  80. package/lambda-package/tools/fetch-structured.d.ts +51 -0
  81. package/lambda-package/tools/fetch-structured.d.ts.map +1 -0
  82. package/lambda-package/tools/fetch-structured.js +237 -0
  83. package/lambda-package/tools/fetch-structured.js.map +1 -0
  84. package/lambda-package/tools/fetch.d.ts +49 -0
  85. package/lambda-package/tools/fetch.d.ts.map +1 -0
  86. package/lambda-package/tools/fetch.js +131 -0
  87. package/lambda-package/tools/fetch.js.map +1 -0
  88. package/lambda-package/tools/read.d.ts +51 -0
  89. package/lambda-package/tools/read.d.ts.map +1 -0
  90. package/lambda-package/tools/read.js +127 -0
  91. package/lambda-package/tools/read.js.map +1 -0
  92. package/lambda-package/tools/search.d.ts +45 -0
  93. package/lambda-package/tools/search.d.ts.map +1 -0
  94. package/lambda-package/tools/search.js +220 -0
  95. package/lambda-package/tools/search.js.map +1 -0
  96. package/lambda-package/types.d.ts +167 -0
  97. package/lambda-package/types.d.ts.map +1 -0
  98. package/lambda-package/types.js +16 -0
  99. package/lambda-package/types.js.map +1 -0
  100. package/lambda-package/utils/format-converter.d.ts +39 -0
  101. package/lambda-package/utils/format-converter.d.ts.map +1 -0
  102. package/lambda-package/utils/format-converter.js +191 -0
  103. package/lambda-package/utils/format-converter.js.map +1 -0
  104. package/lambda-package/utils/truncate.d.ts +26 -0
  105. package/lambda-package/utils/truncate.d.ts.map +1 -0
  106. package/lambda-package/utils/truncate.js +54 -0
  107. package/lambda-package/utils/truncate.js.map +1 -0
  108. package/lambda.zip +0 -0
  109. package/package.json +3 -2
  110. package/server.json +3 -3
  111. package/src/browser/playwright-renderer.ts +74 -51
@@ -8,7 +8,6 @@
8
8
  * CRITICAL: The sanitizer ALWAYS runs locally. Rendered HTML is returned from
9
9
  * Lambda to the local process before Claude sees it. PHI never touches Lateos infrastructure.
10
10
  */
11
- import { request } from 'undici';
12
11
  import { Ok, Err } from '../types.js';
13
12
  /**
14
13
  * Configuration
@@ -63,21 +62,27 @@ async function renderWithLambda(url, timeout_ms) {
63
62
  try {
64
63
  // Retry Lambda calls with exponential backoff (3 attempts)
65
64
  const response = await retryWithBackoff(async () => {
66
- return await request(`${RENDERER_URL}/render`, {
67
- method: 'POST',
68
- headers: {
69
- 'Content-Type': 'application/json',
70
- },
71
- body: JSON.stringify({
72
- url,
73
- timeout_ms,
74
- content_limit_bytes: 512000, // 500KB default
75
- }),
76
- bodyTimeout: timeout_ms + 5000, // Add 5s buffer for network overhead
77
- headersTimeout: timeout_ms + 5000,
78
- });
65
+ const controller = new AbortController();
66
+ const timeoutId = setTimeout(() => controller.abort(), timeout_ms + 5000);
67
+ try {
68
+ return await fetch(`${RENDERER_URL}/render`, {
69
+ method: 'POST',
70
+ headers: {
71
+ 'Content-Type': 'application/json',
72
+ },
73
+ body: JSON.stringify({
74
+ url,
75
+ timeout_ms,
76
+ content_limit_bytes: 512000, // 500KB default
77
+ }),
78
+ signal: controller.signal,
79
+ });
80
+ }
81
+ finally {
82
+ clearTimeout(timeoutId);
83
+ }
79
84
  }, 3, 1000); // 3 retries, starting with 1s delay
80
- const body = await response.body.json();
85
+ const body = await response.json();
81
86
  // Check if response is an error
82
87
  if ('error' in body) {
83
88
  return Err(new Error(`Lambda renderer error: ${body.error}`));
@@ -103,40 +108,50 @@ async function renderWithLambda(url, timeout_ms) {
103
108
  }
104
109
  }
105
110
  /**
106
- * Render a page using undici fetch (fallback)
111
+ * Render a page using native fetch (fallback)
107
112
  */
108
113
  async function renderWithFetch(url, timeout_ms) {
109
114
  logRenderer('fetch', url);
110
115
  try {
111
- const response = await request(url, {
112
- method: 'GET',
113
- headers: {
114
- 'User-Agent': 'Visus-MCP/0.2.0 (Security-focused web content fetcher; +https://github.com/visus-mcp/visus-mcp)',
115
- },
116
- bodyTimeout: timeout_ms,
117
- headersTimeout: timeout_ms,
118
- });
119
- const html = await response.body.text();
120
- // Capture Content-Type header
121
- const contentTypeHeader = response.headers['content-type'];
122
- const contentType = typeof contentTypeHeader === 'string'
123
- ? contentTypeHeader.split(';')[0].trim() // Remove charset and other params
124
- : 'text/html'; // Default to HTML if missing
125
- // Extract title using regex (simple fallback)
126
- const titleMatch = html.match(/<title[^>]*>(.*?)<\/title>/i);
127
- const title = titleMatch ? titleMatch[1].trim() : '';
128
- return Ok({
129
- html,
130
- title,
131
- url,
132
- contentType,
133
- text: undefined,
134
- });
116
+ // Use AbortController for timeout
117
+ const controller = new AbortController();
118
+ const timeoutId = setTimeout(() => controller.abort(), timeout_ms);
119
+ try {
120
+ const response = await fetch(url, {
121
+ method: 'GET',
122
+ headers: {
123
+ 'User-Agent': 'Visus-MCP/0.3.1 (Security-focused web content fetcher; +https://github.com/lateos/visus-mcp)',
124
+ },
125
+ signal: controller.signal,
126
+ });
127
+ if (!response.ok) {
128
+ return Err(new Error(`HTTP ${response.status}: ${response.statusText}`));
129
+ }
130
+ const html = await response.text();
131
+ // Capture Content-Type header
132
+ const contentTypeHeader = response.headers.get('content-type');
133
+ const contentType = contentTypeHeader
134
+ ? contentTypeHeader.split(';')[0].trim() // Remove charset and other params
135
+ : 'text/html'; // Default to HTML if missing
136
+ // Extract title using regex (simple fallback)
137
+ const titleMatch = html.match(/<title[^>]*>(.*?)<\/title>/i);
138
+ const title = titleMatch ? titleMatch[1].trim() : '';
139
+ return Ok({
140
+ html,
141
+ title,
142
+ url,
143
+ contentType,
144
+ text: undefined,
145
+ });
146
+ }
147
+ finally {
148
+ clearTimeout(timeoutId);
149
+ }
135
150
  }
136
151
  catch (error) {
137
152
  if (error instanceof Error) {
138
- // Handle timeout errors
139
- if (error.message.includes('timeout') || error.message.includes('UND_ERR')) {
153
+ // Handle abort/timeout errors
154
+ if (error.name === 'AbortError') {
140
155
  return Err(new Error(`Navigation timeout after ${timeout_ms}ms`));
141
156
  }
142
157
  // Handle network errors
@@ -188,15 +203,20 @@ export async function renderPage(url, options = {}) {
188
203
  */
189
204
  export async function checkUrl(url, timeout_ms = 5000) {
190
205
  try {
191
- const response = await request(url, {
192
- method: 'HEAD',
193
- headersTimeout: timeout_ms,
194
- bodyTimeout: timeout_ms,
195
- });
196
- // Consider 2xx and 3xx status codes as accessible
197
- const statusCode = response.statusCode;
198
- const isAccessible = (statusCode >= 200 && statusCode < 400);
199
- return Ok(isAccessible);
206
+ const controller = new AbortController();
207
+ const timeoutId = setTimeout(() => controller.abort(), timeout_ms);
208
+ try {
209
+ const response = await fetch(url, {
210
+ method: 'HEAD',
211
+ signal: controller.signal,
212
+ });
213
+ // Consider 2xx and 3xx status codes as accessible
214
+ const isAccessible = (response.status >= 200 && response.status < 400);
215
+ return Ok(isAccessible);
216
+ }
217
+ finally {
218
+ clearTimeout(timeoutId);
219
+ }
200
220
  }
201
221
  catch (error) {
202
222
  // URL is not accessible
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-renderer.js","sourceRoot":"","sources":["../../src/browser/playwright-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-renderer.js","sourceRoot":"","sources":["../../src/browser/playwright-renderer.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -170,6 +170,7 @@ export class VisusStack extends cdk.Stack {
170
170
  externalModules: [
171
171
  'playwright-core', // Playwright is huge, will be added via layer
172
172
  '@sparticuz/chromium', // Chromium binary
173
+ '@modelcontextprotocol/sdk', // MCP SDK only needed for stdio mode, not Lambda
173
174
  ],
174
175
  },
175
176
  });