Files
matrix/hookshot/devdesk.js
T

20 lines
942 B
JavaScript
Raw Normal View History

// DevDesk "Claude needs you" (devdesk#28)
// Receives: { session, message, url, host, text } from devdesk-notify-matrix on
// CT 126 when a Claude session waits for input and no browser tab or SSH client
// is attached to it.
var session = String(data.session || 'a session');
var message = String(data.message || 'Claude is waiting for your input');
var url = data.url ? String(data.url) : '';
function esc(t) {
return t.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}
// m.text, not m.notice: notices are muted by default push rules, and this one
// exists to reach your phone.
result = {
version: 'v2',
plain: '🔔 Claude needs you in ' + session + ': ' + message + (url ? ' — ' + url : ''),
html: '🔔 <b>Claude needs you</b> in <code>' + esc(session) + '</code>: ' + esc(message)
+ (url ? ' — <a href="' + esc(url) + '">open in DevDesk</a>' : ''),
msgtype: 'm.text',
};