rensan-browser 0.1.2 → 0.1.3

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * interceptor.ts
3
- * Captures JSON network responses from a Playwright page.
3
+ * Captures JSON, XML/RSS, and text responses from a Playwright page.
4
4
  * Uses structural scoring to rank useful vs junk URLs.
5
5
  */
6
6
  import type { Page } from 'playwright';
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAsC/C,qBAAa,WAAW;IAKV,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,QAAQ,CAA6C;IAC7D,OAAO,CAAC,OAAO,CAAmD;IAClE,OAAO,CAAC,OAAO,CAAS;gBAEJ,IAAI,EAAE,IAAI,EAAE,OAAO,SAAK;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,KAAK,IAAI,IAAI;IA2Bb,IAAI,IAAI,eAAe,EAAE;IAQzB,IAAI,GAAG,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAE/C;IAED,MAAM,CAAC,IAAI,SAAK,GAAG,eAAe,EAAE;CAMrC"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAyG/C,qBAAa,WAAW;IAKV,OAAO,CAAC,IAAI;IAJxB,OAAO,CAAC,QAAQ,CAA8D;IAC9E,OAAO,CAAC,OAAO,CAAmD;IAClE,OAAO,CAAC,OAAO,CAAS;gBAEJ,IAAI,EAAE,IAAI,EAAE,OAAO,SAAK;IAI5C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,KAAK,IAAI,IAAI;IAmDb,IAAI,IAAI,eAAe,EAAE;IAQzB,IAAI,GAAG,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAE/C;IAED,MAAM,CAAC,IAAI,SAAK,GAAG,eAAe,EAAE;CAUrC"}
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  /**
3
3
  * interceptor.ts
4
- * Captures JSON network responses from a Playwright page.
4
+ * Captures JSON, XML/RSS, and text responses from a Playwright page.
5
5
  * Uses structural scoring to rank useful vs junk URLs.
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Interceptor = void 0;
9
- function scoreUrl(url, siteUrl) {
9
+ function scoreUrl(url, siteUrl, isXml = false) {
10
10
  let score = 0;
11
11
  try {
12
12
  const u = new URL(url);
@@ -27,6 +27,11 @@ function scoreUrl(url, siteUrl) {
27
27
  score += 3;
28
28
  if (/\/products?\/|\/items?\/|\/catalog\//.test(path))
29
29
  score += 2;
30
+ if (/\/rss|\.rss|\.xml|\/feed/.test(path))
31
+ score += 4;
32
+ // XML/RSS responses are almost always real content
33
+ if (isXml)
34
+ score += 5;
30
35
  // Tracking param keys
31
36
  const trackingKeys = ['uid', 'partner_id', 'gdpr', 'xcid', 'anId', 'tid', 'sjk', 'pid', 'coppa', 'enrich', 'sdkp'];
32
37
  const trackingHits = params.filter(([k]) => trackingKeys.includes(k)).length;
@@ -45,6 +50,64 @@ function scoreUrl(url, siteUrl) {
45
50
  }
46
51
  return score;
47
52
  }
53
+ /** Parse RSS/Atom XML to a JSON array of items */
54
+ function parseXml(text, url) {
55
+ try {
56
+ // RSS items
57
+ const items = [];
58
+ const itemRegex = /<item[^>]*>([\s\S]*?)<\/item>/gi;
59
+ let m;
60
+ while ((m = itemRegex.exec(text)) !== null && items.length < 50) {
61
+ const block = m[1];
62
+ const get = (tag) => {
63
+ const r = new RegExp(`<${tag}[^>]*>(?:<!\[CDATA\[)?([\s\S]*?)(?:\]\]>)?<\/${tag}>`, 'i');
64
+ return (r.exec(block)?.[1] ?? '').trim();
65
+ };
66
+ const getAttr = (tag, attr) => {
67
+ const r = new RegExp(`<${tag}[^>]*${attr}="([^"]*)"`, 'i');
68
+ return (r.exec(block)?.[1] ?? '').trim();
69
+ };
70
+ const title = get('title');
71
+ const description = get('description') || get('summary') || get('content:encoded');
72
+ const link = get('link') || getAttr('link', 'href');
73
+ const pubDate = get('pubDate') || get('published') || get('dc:date');
74
+ const imageUrl = getAttr('media:content', 'url') || getAttr('media:thumbnail', 'url') || getAttr('enclosure', 'url');
75
+ if (title || link) {
76
+ items.push({ title, description: description.replace(/<[^>]+>/g, '').slice(0, 200), link, pubDate, imageUrl });
77
+ }
78
+ }
79
+ // Atom entries fallback
80
+ if (items.length === 0) {
81
+ const entryRegex = /<entry[^>]*>([\s\S]*?)<\/entry>/gi;
82
+ while ((m = entryRegex.exec(text)) !== null && items.length < 50) {
83
+ const block = m[1];
84
+ const get = (tag) => {
85
+ const r = new RegExp(`<${tag}[^>]*>(?:<!\[CDATA\[)?([\s\S]*?)(?:\]\]>)?<\/${tag}>`, 'i');
86
+ return (r.exec(block)?.[1] ?? '').trim();
87
+ };
88
+ const getAttr = (tag, attr) => {
89
+ const r = new RegExp(`<${tag}[^>]*${attr}="([^"]*)"`, 'i');
90
+ return (r.exec(block)?.[1] ?? '').trim();
91
+ };
92
+ items.push({
93
+ title: get('title'),
94
+ description: (get('summary') || get('content')).replace(/<[^>]+>/g, '').slice(0, 200),
95
+ link: getAttr('link', 'href') || get('id'),
96
+ pubDate: get('updated') || get('published'),
97
+ imageUrl: getAttr('media:content', 'url'),
98
+ });
99
+ }
100
+ }
101
+ if (items.length === 0)
102
+ return null;
103
+ // Extract feed metadata
104
+ const feedTitle = (/<title[^>]*>(?:<!\[CDATA\[)?([\s\S]*?)(?:\]\]>)?<\/title>/i.exec(text)?.[1] ?? '').trim();
105
+ return { feed: feedTitle, url, items };
106
+ }
107
+ catch {
108
+ return null;
109
+ }
110
+ }
48
111
  class Interceptor {
49
112
  constructor(page, siteUrl = '') {
50
113
  this.page = page;
@@ -63,19 +126,48 @@ class Interceptor {
63
126
  const url = res.url();
64
127
  if (status !== 200)
65
128
  return;
66
- if (!ct.includes('json'))
129
+ const isJson = ct.includes('json');
130
+ const isXml = ct.includes('xml') || ct.includes('rss') || ct.includes('atom');
131
+ const isText = ct.includes('text/plain');
132
+ if (!isJson && !isXml && !isText)
67
133
  return;
68
134
  try {
69
- const data = await res.json();
70
- if (!data || typeof data !== 'object')
71
- return;
72
- // Accept arrays and objects — even single-key responses like { data: [...] }
73
- const isEmpty = Array.isArray(data)
74
- ? data.length === 0
75
- : Object.keys(data).length === 0;
76
- if (isEmpty)
77
- return;
78
- this.captured.push({ url, data });
135
+ if (isJson) {
136
+ const data = await res.json();
137
+ if (!data || typeof data !== 'object')
138
+ return;
139
+ const isEmpty = Array.isArray(data)
140
+ ? data.length === 0
141
+ : Object.keys(data).length === 0;
142
+ if (isEmpty)
143
+ return;
144
+ this.captured.push({ url, data });
145
+ }
146
+ else if (isXml) {
147
+ const text = await res.text();
148
+ const parsed = parseXml(text, url);
149
+ if (!parsed)
150
+ return;
151
+ this.captured.push({ url, data: parsed, isXml: true });
152
+ }
153
+ else if (isText) {
154
+ // Some APIs return JSON with content-type text/plain
155
+ const text = await res.text();
156
+ if (!text.trim().startsWith('{') && !text.trim().startsWith('['))
157
+ return;
158
+ try {
159
+ const data = JSON.parse(text);
160
+ if (!data || typeof data !== 'object')
161
+ return;
162
+ const isEmpty = Array.isArray(data)
163
+ ? data.length === 0
164
+ : Object.keys(data).length === 0;
165
+ if (isEmpty)
166
+ return;
167
+ this.captured.push({ url, data });
168
+ }
169
+ catch { /* not JSON */ }
170
+ }
79
171
  }
80
172
  catch { /* skip */ }
81
173
  };
@@ -91,9 +183,13 @@ class Interceptor {
91
183
  get raw() {
92
184
  return [...this.captured];
93
185
  }
94
- ranked(topN = 25) {
186
+ ranked(topN = 30) {
95
187
  return this.captured
96
- .map(r => ({ url: r.url, data: r.data, score: scoreUrl(r.url, this.siteUrl) }))
188
+ .map(r => ({
189
+ url: r.url,
190
+ data: r.data,
191
+ score: scoreUrl(r.url, this.siteUrl, r.isXml),
192
+ }))
97
193
  .sort((a, b) => b.score - a.score)
98
194
  .slice(0, topN);
99
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptor.js","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rensan-browser",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "AI-powered browser for agents — navigate, click, type, read, see images, capture requests",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",