@meet-eleanor/session-recorder
v0.1.3
Published
Development-only screen recorder for uploading local app sessions to Eleanor.
Readme
@meet-eleanor/session-recorder
Development-only browser screen recorder for uploading customer local-app sessions to Eleanor.
The package records a real browser/tab/window video with getDisplayMedia and MediaRecorder, uploads the resulting video/webm blob to an Eleanor signed upload URL, then completes the recording upload so Eleanor can create a video note on the product canvas.
Install
npm i -D @meet-eleanor/session-recorder
pnpm add -D @meet-eleanor/session-recorder
bun add -d @meet-eleanor/session-recorderUsage
Use only behind a local-development guard. Eleanor MCP returns the config.
if (import.meta.env.DEV) {
import("@meet-eleanor/session-recorder").then(
({ init_eleanor_session_recorder }) => {
init_eleanor_session_recorder({
product_id: "product-id",
token: "stable-recording-token-from-eleanor",
enabled: true,
});
},
);
}Safety
- No-ops unless
enabledistrue. - No-ops outside
localhost,127.0.0.1, or[::1]. - Always asks for explicit consent before recording.
- Uses the browser's native screen/tab picker.
- Uploads with Eleanor's
product_idand stable recordingtoken; there is no session id in recorder API URLs. - Shows user-visible upload errors for non-2xx Eleanor responses and
{ success: false }responses. - Auto-stops after five minutes.
Build and package
The package is built as a browser-targeted ESM library. The publish artifact is
a single bundled dist/index.js file plus dist/index.d.ts declarations, so
consumers do not need TypeScript path or extension-resolution support.
npm run typecheck
npm run build
npm run pack:checkprepack builds dist before packaging, and prepublishOnly runs typecheck
plus build before publishing.
