hong-review-cli 1.0.30 → 1.0.31

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hong-review-cli",
3
- "version": "1.0.30",
3
+ "version": "1.0.31",
4
4
  "main": "index.js",
5
5
  "bin": {
6
6
  "hong-review": "bin/hong-review.js"
package/patch_openclaw.js DELETED
@@ -1,16 +0,0 @@
1
- const fs = require('fs');
2
- const configPath = '/Users/hong/.openclaw/openclaw.json';
3
- const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
4
-
5
- // Find the code-review mapping
6
- const mapping = config.hooks.mappings.find(m => m.match && m.match.path === 'code-review');
7
-
8
- if (mapping) {
9
- mapping.deliver = true;
10
- mapping.messageTemplate = "{{#if payload.speaker}}👤 **[{{payload.speaker}}]** ➯ **{{payload.actionTitle}}** (MR !{{payload.mrId}})\n{{#if payload.content}}\n📋 **内容:**\n{{payload.content}}\n{{/if}}{{#if payload.requestedFiles}}\n📂 **请求查阅:**\n`{{payload.requestedFiles}}`\n{{/if}}{{#if payload.reasoning}}\n🧠 **思考链路:**\n_{{payload.reasoning}}_\n{{/if}}{{#if payload.result}}\n✅ **审查总结**\n- **风险等级:** `{{payload.result.riskLevel}}`\n- **结论:**\n{{payload.result.summary}}\n{{/if}}{{else}}🔄 *系统调度: {{payload.status}}* (MR !{{payload.mrId}}){{/if}}";
11
-
12
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
13
- console.log("Updated openclaw.json successfully.");
14
- } else {
15
- console.log("Mapping not found!");
16
- }
@@ -1,17 +0,0 @@
1
- const fs = require('fs');
2
- const configPath = '/Users/hong/.openclaw/openclaw.json';
3
- const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
4
-
5
- const mapping = config.hooks.mappings.find(m => m.match && m.match.path === 'code-review');
6
-
7
- if (mapping) {
8
- mapping.messageTemplate = "{{#if payload.speaker}}👤 **[{{payload.speaker}}]** ➯ **{{payload.actionTitle}}** (MR !{{payload.mrId}})\n{{#if payload.content}}\n📋 **内容:**\n{{payload.content}}\n{{/if}}{{#if payload.requestedFiles}}\n📂 **请求查阅:**\n`{{payload.requestedFiles}}`\n{{/if}}{{#if payload.reasoning}}\n🧠 **思考链路:**\n_{{payload.reasoning}}_\n{{/if}}{{#if payload.result}}\n✅ **审查总结**\n- **风险等级:** `{{payload.result.riskLevel}}`\n- **结论:**\n{{payload.result.summary}}\n{{#if payload.result.issues.length}}\n\n⚠️ **发现的问题:**\n{{#each payload.result.issues}}\n- [{{this.severity}}] `{{this.file}}:{{this.line}}`\n **{{this.title}}**\n {{this.description}}\n{{/each}}\n{{/if}}{{#if payload.result.suggestions.length}}\n\n💡 **改进建议:**\n{{#each payload.result.suggestions}}\n- {{this}}\n{{/each}}\n{{/if}}{{/if}}{{else}}🔄 *系统调度: {{payload.status}}* (MR !{{payload.mrId}}){{/if}}";
9
-
10
- // Also remove "deliver": true so we don't double-deliver or interfere with Telegram plugin constraints
11
- delete mapping.deliver;
12
-
13
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
14
- console.log("Updated openclaw.json successfully.");
15
- } else {
16
- console.log("Mapping not found!");
17
- }
@@ -1,15 +0,0 @@
1
- const fs = require('fs');
2
- const configPath = '/Users/hong/.openclaw/openclaw.json';
3
- const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
4
-
5
- const mapping = config.hooks.mappings.find(m => m.match && m.match.path === 'code-review');
6
-
7
- if (mapping) {
8
- // Use triple brackets to avoid HTML-escaping newlines or bold markers
9
- mapping.messageTemplate = "{{{payload.formattedText}}}";
10
-
11
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
12
- console.log("Updated openclaw.json successfully.");
13
- } else {
14
- console.log("Mapping not found!");
15
- }
@@ -1,11 +0,0 @@
1
- const fs = require('fs');
2
- const configPath = '/Users/hong/.openclaw/openclaw.json';
3
- const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
4
-
5
- const mapping = config.hooks.mappings.find(m => m.match && m.match.path === 'code-review');
6
- if (mapping) {
7
- mapping.messageTemplate = "{{{payload.formattedText}}}";
8
- mapping.deliver = true; // DIRECTLY SEND TO TELEGRAM!
9
- fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
10
- console.log("Updated!");
11
- }
package/test_hook.js DELETED
@@ -1,11 +0,0 @@
1
- const axios = require('axios');
2
- const token = 'your_hook_token_here';
3
-
4
- axios.post('http://127.0.0.1:18790/hooks/code-review', {
5
- event: 'onReviewStart',
6
- mrId: 841,
7
- status: 'Started',
8
- formattedText: 'hello world test formattedText webhook'
9
- }, {
10
- headers: { 'Authorization': 'Bearer ' + token }
11
- }).then(res => console.log('OK', res.data)).catch(err => console.error(err.message));