@dp-pcs/ogp 0.2.20 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/daemon/notify.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../src/daemon/notify.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4EnF"}
|
package/dist/daemon/notify.js
CHANGED
|
@@ -1,53 +1,63 @@
|
|
|
1
1
|
import { requireConfig } from '../shared/config.js';
|
|
2
2
|
export async function notifyOpenClaw(payload) {
|
|
3
3
|
const config = requireConfig();
|
|
4
|
-
// Method 1:
|
|
5
|
-
|
|
4
|
+
// Method 1: POST /hooks/agent — deliver:true routes the message to the user's last channel
|
|
5
|
+
// This is the correct OpenClaw webhook ingress for external systems (e.g. OGP daemon).
|
|
6
|
+
// Requires hooks.enabled=true and hooks.token in openclaw.json.
|
|
7
|
+
// Falls back to Method 2 if the hooks token is not configured.
|
|
8
|
+
const hooksToken = config.openclawHooksToken;
|
|
9
|
+
if (hooksToken && config.openclawUrl) {
|
|
6
10
|
const openclawUrl = config.openclawUrl.replace(/\/$/, '');
|
|
7
11
|
try {
|
|
8
|
-
// Use node:https directly to support self-signed localhost certs
|
|
9
12
|
const result = await new Promise((resolve) => {
|
|
10
|
-
import('node:https').then(({ request }) => {
|
|
11
|
-
import('node:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
import('node:https').then(({ request: httpsRequest }) => {
|
|
14
|
+
import('node:http').then(({ request: httpRequest }) => {
|
|
15
|
+
import('node:url').then(({ URL }) => {
|
|
16
|
+
const url = new URL(`${openclawUrl}/hooks/agent`);
|
|
17
|
+
const isHttps = url.protocol === 'https:';
|
|
18
|
+
const body = JSON.stringify({
|
|
19
|
+
message: payload.text,
|
|
20
|
+
name: 'OGP',
|
|
21
|
+
deliver: true,
|
|
22
|
+
channel: config.notifyChannel || 'last',
|
|
23
|
+
...(config.notifyTarget
|
|
24
|
+
? { to: String(config.notifyTarget) }
|
|
25
|
+
: {}),
|
|
26
|
+
});
|
|
27
|
+
const reqFn = isHttps ? httpsRequest : httpRequest;
|
|
28
|
+
const req = reqFn({
|
|
29
|
+
hostname: url.hostname,
|
|
30
|
+
port: url.port || (isHttps ? 443 : 80),
|
|
31
|
+
path: url.pathname,
|
|
32
|
+
method: 'POST',
|
|
33
|
+
rejectUnauthorized: false,
|
|
34
|
+
headers: {
|
|
35
|
+
'Content-Type': 'application/json',
|
|
36
|
+
'Authorization': `Bearer ${hooksToken}`,
|
|
37
|
+
'Content-Length': Buffer.byteLength(body),
|
|
38
|
+
},
|
|
39
|
+
}, (res) => {
|
|
40
|
+
resolve(res.statusCode !== undefined && res.statusCode >= 200 && res.statusCode < 300);
|
|
41
|
+
});
|
|
42
|
+
req.on('error', () => resolve(false));
|
|
43
|
+
req.setTimeout(5000, () => { req.destroy(); resolve(false); });
|
|
44
|
+
req.write(body);
|
|
45
|
+
req.end();
|
|
19
46
|
});
|
|
20
|
-
const req = request({
|
|
21
|
-
hostname: url.hostname,
|
|
22
|
-
port: url.port || 443,
|
|
23
|
-
path: url.pathname,
|
|
24
|
-
method: 'POST',
|
|
25
|
-
rejectUnauthorized: false,
|
|
26
|
-
headers: {
|
|
27
|
-
'Content-Type': 'application/json',
|
|
28
|
-
'Authorization': `Bearer ${config.openclawToken}`,
|
|
29
|
-
'Content-Length': Buffer.byteLength(body)
|
|
30
|
-
}
|
|
31
|
-
}, (res) => {
|
|
32
|
-
resolve(res.statusCode !== undefined && res.statusCode >= 200 && res.statusCode < 300);
|
|
33
|
-
});
|
|
34
|
-
req.on('error', () => resolve(false));
|
|
35
|
-
req.setTimeout(5000, () => { req.destroy(); resolve(false); });
|
|
36
|
-
req.write(body);
|
|
37
|
-
req.end();
|
|
38
47
|
});
|
|
39
48
|
});
|
|
40
49
|
});
|
|
41
50
|
if (result) {
|
|
42
|
-
console.log('[OGP] Notified OpenClaw via
|
|
51
|
+
console.log('[OGP] Notified OpenClaw via /hooks/agent:', payload.text);
|
|
43
52
|
return true;
|
|
44
53
|
}
|
|
54
|
+
console.warn('[OGP] /hooks/agent call failed (non-2xx or error), falling back');
|
|
45
55
|
}
|
|
46
56
|
catch (error) {
|
|
47
|
-
console.error('[OGP]
|
|
57
|
+
console.error('[OGP] /hooks/agent failed:', error);
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
|
-
// Method 2: openclaw system event --mode now (CLI fallback)
|
|
60
|
+
// Method 2: openclaw system event --mode now (CLI fallback, no channel routing)
|
|
51
61
|
try {
|
|
52
62
|
const { execSync } = await import('node:child_process');
|
|
53
63
|
const escaped = payload.text.replace(/'/g, "'\\''");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/daemon/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAA4B;IAC/D,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../src/daemon/notify.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED