[object Object]

← back to Whatsmystyle

crawl-catalog: log session-minutes after Browserbase session release

69af1171ea80e92e4dd0dec97605cf9bf9846c3f · 2026-05-12 16:53:33 -0700 · Steve

Files touched

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 →