Connects to user's running Brave via Chrome DevTools Protocol to automate ChatGPT interaction. Uses puppeteer-core to open a tab, send the prompt, wait for response, and extract the result. No cookies, no separate profiles, no copy/paste. Just connects to the browser where the user is already logged in. One-time setup: relaunch Brave with --remote-debugging-port=9222 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
37 lines
685 B
Markdown
37 lines
685 B
Markdown
# wrappy
|
|
|
|
Callback wrapping utility
|
|
|
|
## USAGE
|
|
|
|
```javascript
|
|
var wrappy = require("wrappy")
|
|
|
|
// var wrapper = wrappy(wrapperFunction)
|
|
|
|
// make sure a cb is called only once
|
|
// See also: http://npm.im/once for this specific use case
|
|
var once = wrappy(function (cb) {
|
|
var called = false
|
|
return function () {
|
|
if (called) return
|
|
called = true
|
|
return cb.apply(this, arguments)
|
|
}
|
|
})
|
|
|
|
function printBoo () {
|
|
console.log('boo')
|
|
}
|
|
// has some rando property
|
|
printBoo.iAmBooPrinter = true
|
|
|
|
var onlyPrintOnce = once(printBoo)
|
|
|
|
onlyPrintOnce() // prints 'boo'
|
|
onlyPrintOnce() // does nothing
|
|
|
|
// random property is retained!
|
|
assert.equal(onlyPrintOnce.iAmBooPrinter, true)
|
|
```
|