← back to Whatsmystyle
crawl-catalog: log session-minutes after Browserbase session release
69af1171ea80e92e4dd0dec97605cf9bf9846c3f · 2026-05-12 16:53:33 -0700 · Steve
Files touched
M scripts/crawl-catalog.js
Diff
commit 69af1171ea80e92e4dd0dec97605cf9bf9846c3f
Author: Steve <steve@designerwallcoverings.com>
Date: Tue May 12 16:53:33 2026 -0700
crawl-catalog: log session-minutes after Browserbase session release
---
scripts/crawl-catalog.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/scripts/crawl-catalog.js b/scripts/crawl-catalog.js
index 77f2181..fcbbd87 100644
--- a/scripts/crawl-catalog.js
+++ b/scripts/crawl-catalog.js
@@ -58,6 +58,7 @@ async function browserbaseFetch(url) {
});
if (!sRes.ok) throw new Error(`Browserbase session ${sRes.status}: ${await sRes.text()}`);
const { id, connectUrl } = await sRes.json();
+ const __bbStart = Date.now();
// 2) connect via puppeteer/playwright over CDP, navigate, get HTML
let html = '';
try {
@@ -74,6 +75,10 @@ async function browserbaseFetch(url) {
} finally {
// 3) close the session (so we stop billing the minute)
try { await fetch(`https://api.browserbase.com/v1/sessions/${id}`, { method: 'POST', headers: { 'x-bb-api-key': KEY, 'content-type': 'application/json' }, body: JSON.stringify({ status: 'REQUEST_RELEASE' }) }); } catch {}
+ try {
+ const helper = require(require('path').join(require('os').homedir(), '.claude/skills/browserbase/track-session.js'));
+ helper.logSessionMinutes(Date.now() - __bbStart, 'whatsmystyle-crawl', url.slice(0, 120));
+ } catch {}
}
return html;
}
← 6515824 yolo tick 30: recs grid server-side sort (best/sustain/newes
·
back to Whatsmystyle
·
yolo tick 31: /recs empty-state panel (clear-filters button 91dc0d4 →