diff --git a/hookshot/devdesk.js b/hookshot/devdesk.js new file mode 100644 index 0000000..61b9aca --- /dev/null +++ b/hookshot/devdesk.js @@ -0,0 +1,19 @@ +// 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, '&').replace(//g, '>').replace(/"/g, '"'); +} +// 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: '🔔 Claude needs you in ' + esc(session) + ': ' + esc(message) + + (url ? ' — open in DevDesk' : ''), + msgtype: 'm.text', +};