@hddz/plugin-harness 0.1.16 → 0.1.18
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/README.md +1 -1
- package/dist/index.js +15 -15
- package/openclaw.plugin.json +1 -1
- package/package.json +7 -2
package/README.md
CHANGED
package/dist/index.js
CHANGED
|
@@ -42,15 +42,15 @@ const harnessPlugin = {
|
|
|
42
42
|
const configLogger = new harness_1.ConfigLogger(workspacePath);
|
|
43
43
|
const operationLogger = new harness_1.OperationLogger(workspacePath);
|
|
44
44
|
const traceLogger = new harness_1.TraceLogger(workspacePath);
|
|
45
|
-
api.
|
|
45
|
+
api.logger.info('[Harness] 插件已加载,工作空间:', workspacePath);
|
|
46
46
|
// Hook: 配置修改前验证
|
|
47
47
|
if (config.autoValidateConfig) {
|
|
48
48
|
api.onConfigChange?.(async (newConfig, sessionId) => {
|
|
49
|
-
api.
|
|
49
|
+
api.logger.info('🔍 [Harness] 验证配置变更...');
|
|
50
50
|
const result = configValidator.validateContent(newConfig);
|
|
51
51
|
if (!result.valid) {
|
|
52
|
-
api.
|
|
53
|
-
result.errors.forEach((e) => api.
|
|
52
|
+
api.logger.error('❌ [Harness] 配置验证失败:');
|
|
53
|
+
result.errors.forEach((e) => api.logger.error(` - ${e}`));
|
|
54
54
|
configLogger.log({
|
|
55
55
|
sessionId: sessionId || 'unknown',
|
|
56
56
|
modifier: 'AI Agent',
|
|
@@ -71,20 +71,20 @@ const harnessPlugin = {
|
|
|
71
71
|
verified: true,
|
|
72
72
|
gatewayRestarted: true,
|
|
73
73
|
});
|
|
74
|
-
api.
|
|
74
|
+
api.logger.info('✅ [Harness] 配置验证通过');
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
// Hook: Skill 安装前审核
|
|
78
78
|
if (config.autoAuditSkill) {
|
|
79
79
|
api.onSkillInstall?.(async (skillPath) => {
|
|
80
|
-
api.
|
|
80
|
+
api.logger.info('🔍 [Harness] 审核 Skill:', skillPath);
|
|
81
81
|
const auditResult = await skillAuditor.audit(skillPath, 'local');
|
|
82
82
|
if (!auditResult.passed) {
|
|
83
|
-
api.
|
|
84
|
-
auditResult.warnings.forEach((w) => api.
|
|
83
|
+
api.logger.error('❌ [Harness] Skill 审核失败:');
|
|
84
|
+
auditResult.warnings.forEach((w) => api.logger.error(` - ${w.message}`));
|
|
85
85
|
throw new Error(`Skill 审核失败:${auditResult.warnings.map((w) => w.message).join(', ')}`);
|
|
86
86
|
}
|
|
87
|
-
api.
|
|
87
|
+
api.logger.info('✅ [Harness] Skill 审核通过');
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
90
|
// Hook: 文件编辑时循环检测
|
|
@@ -92,9 +92,9 @@ const harnessPlugin = {
|
|
|
92
92
|
api.onFileEdit?.(async (filePath, content) => {
|
|
93
93
|
const warning = loopDetector.onFileEdit(filePath);
|
|
94
94
|
if (warning) {
|
|
95
|
-
api.
|
|
96
|
-
api.
|
|
97
|
-
api.
|
|
95
|
+
api.logger.warn('⚠️ [Harness] 检测到频繁编辑:');
|
|
96
|
+
api.logger.warn(` 文件:${filePath}`);
|
|
97
|
+
api.logger.warn(` 警告:${warning}`);
|
|
98
98
|
throw new Error(`检测到循环编辑:${warning}`);
|
|
99
99
|
}
|
|
100
100
|
});
|
|
@@ -103,7 +103,7 @@ const harnessPlugin = {
|
|
|
103
103
|
api.onFileDelete?.(async (filePath) => {
|
|
104
104
|
const fileName = filePath.split('/').pop() || filePath;
|
|
105
105
|
if (config.protectedFiles.includes(fileName)) {
|
|
106
|
-
api.
|
|
106
|
+
api.logger.error(`❌ [Harness] 阻止删除保护文件:${filePath}`);
|
|
107
107
|
throw new Error(`不允许删除保护文件:${fileName}`);
|
|
108
108
|
}
|
|
109
109
|
});
|
|
@@ -123,10 +123,10 @@ const harnessPlugin = {
|
|
|
123
123
|
data: { tool: 'exec', command },
|
|
124
124
|
});
|
|
125
125
|
});
|
|
126
|
-
api.
|
|
126
|
+
api.logger.info('✅ [Harness] 所有 Hook 已注册');
|
|
127
127
|
},
|
|
128
128
|
};
|
|
129
129
|
// CommonJS 导出(OpenClaw 期望的格式)
|
|
130
130
|
// @ts-ignore
|
|
131
131
|
module.exports = harnessPlugin;
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9DQUFvQzs7QUFFcEMsMkNBQXdIO0FBVXhILE1BQU0sY0FBYyxHQUF3QjtJQUMxQyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLG9CQUFvQixFQUFFLElBQUk7SUFDMUIsY0FBYyxFQUFFO1FBQ2QsU0FBUztRQUNULFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxlQUFlO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFLHdCQUF3QjtDQUNsQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7SUFDcEIsRUFBRSxFQUFFLFNBQVM7SUFDYixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFdBQVcsRUFBRSxnRUFBZ0U7SUFDN0UsSUFBSSxFQUFFLGFBQWE7SUFDbkIsWUFBWSxFQUFFO1FBQ1osSUFBSSxFQUFFLFFBQWlCO1FBQ3ZCLG9CQUFvQixFQUFFLEtBQUs7UUFDM0IsVUFBVSxFQUFFO1lBQ1Ysa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQy9ELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDM0Qsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ2pFLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFpQixFQUFFLEVBQUU7WUFDOUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQWlCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFO1NBQ3hFO0tBQ0Y7SUFDRCxRQUFRLENBQUMsR0FBUTtRQUNmLE1BQU0sYUFBYSxHQUFH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aW5kZXgudHMgLSBIYXJuZXNzIFBsdWdpbiDkuLvlhaXlj6NcblxuaW1wb3J0IHsgQ29uZmlnVmFsaWRhdG9yLCBTa2lsbEF1ZGl0b3IsIExvb3BEZXRlY3RvciwgQ29uZmlnTG9nZ2VyLCBPcGVyYXRpb25Mb2dnZXIsIFRyYWNlTG9nZ2VyIH0gZnJvbSAnQGhkZHovaGFybmVzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFybmVzc1BsdWdpbkNvbmZpZyB7XG4gIGF1dG9WYWxpZGF0ZUNvbmZpZzogYm9vbGVhbjtcbiAgYXV0b0F1ZGl0U2tpbGw6IGJvb2xlYW47XG4gIGxvb3BEZXRlY3Rpb25FbmFibGVkOiBib29sZWFuO1xuICBwcm90ZWN0ZWRGaWxlczogc3RyaW5nW107XG4gIGxvZ3NEaXI6IHN0cmluZztcbn1cblxuY29uc3QgREVGQVVMVF9DT05GSUc6IEhhcm5lc3NQbHVnaW5Db25maWcgPSB7XG4gIGF1dG9WYWxpZGF0ZUNvbmZpZzogdHJ1ZSxcbiAgYXV0b0F1ZGl0U2tpbGw6IHRydWUsXG4gIGxvb3BEZXRlY3Rpb25FbmFibGVkOiB0cnVlLFxuICBwcm90ZWN0ZWRGaWxlczogW1xuICAgICdTT1VMLm1kJyxcbiAgICAnVVNFUi5tZCcsXG4gICAgJ0FHRU5UUy5tZCcsXG4gICAgJ1RPT0xTLm1kJyxcbiAgICAnTUVNT1JZLm1kJyxcbiAgICAnb3BlbmNsYXcuanNvbicsXG4gIF0sXG4gIGxvZ3NEaXI6ICd3b3Jrc3BhY2UvbG9ncy9oYXJuZXNzJyxcbn07XG5cbmNvbnN0IGhhcm5lc3NQbHVnaW4gPSB7XG4gIGlkOiAnaGFybmVzcycsXG4gIG5hbWU6ICdIYXJuZXNzIEVuZ2luZWVyaW5nJyxcbiAgZGVzY3JpcHRpb246ICdDb25zdHJhaW50cywgZmVlZGJhY2sgbG9vcHMsIGFuZCBjb250cm9sIHN5c3RlbXMgZm9yIEFJIGFnZW50cycsXG4gIGtpbmQ6ICdlbmdpbmVlcmluZycsXG4gIGNvbmZpZ1NjaGVtYToge1xuICAgIHR5cGU6ICdvYmplY3QnIGFzIGNvbnN0LFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICBhdXRvVmFsaWRhdGVDb25maWc6IHsgdHlwZTogJ2Jvb2xlYW4nIGFzIGNvbnN0LCBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICBhdXRvQXVkaXRTa2lsbDogeyB0eXBlOiAnYm9vbGVhbicgYXMgY29uc3QsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgIGxvb3BEZXRlY3Rpb25FbmFibGVkOiB7IHR5cGU6ICdib29sZWFuJyBhcyBjb25zdCwgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgcHJvdGVjdGVkRmlsZXM6IHsgdHlwZTogJ2FycmF5JyBhcyBjb25zdCwgaXRlbXM6IHsgdHlwZTogJ3N0cmluZycgYXMgY29uc3QgfSB9LFxuICAgICAgbG9nc0RpcjogeyB0eXBlOiAnc3RyaW5nJyBhcyBjb25zdCwgZGVmYXVsdDogJ3dvcmtzcGFjZS9sb2dzL2hhcm5lc3MnIH0sXG4gICAgfSxcbiAgfSxcbiAgcmVnaXN0ZXIoYXBpOiBhbnkpIHtcbiAgICBjb25zdCB3b3Jrc3BhY2VQYXRoID0gYXBpLndvcmtzcGFjZVBhdGggfHwgcHJvY2Vzcy5jd2QoKTtcbiAgICBjb25zdCBjb25maWc6IEhhcm5lc3NQbHVnaW5Db25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHLCAuLi5hcGkuY29uZmlnIH07XG4gICAgXG4gICAgLy8g5Yid5aeL5YyW5bel5YW3XG4gICAgY29uc3QgY29uZmlnVmFsaWRhdG9yID0gbmV3IENvbmZpZ1ZhbGlkYXRvcih3b3Jrc3BhY2VQYXRoKTtcbiAgICBjb25zdCBza2lsbEF1ZGl0b3IgPSBuZXcgU2tpbGxBdWRpdG9yKHdvcmtzcGFjZVBhdGgpO1xuICAgIGNvbnN0IGxvb3BEZXRlY3RvciA9IG5ldyBMb29wRGV0ZWN0b3Iod29ya3NwYWNlUGF0aCwgeyBsaW1pdDogNSwgd2luZG93TXM6IDMwMDAwMCB9KTtcbiAgICBjb25zdCBjb25maWdMb2dnZXIgPSBuZXcgQ29uZmlnTG9nZ2VyKHdvcmtzcGFjZVBhdGgpO1xuICAgIGNvbnN0IG9wZXJhdGlvbkxvZ2dlciA9IG5ldyBPcGVyYXRpb25Mb2dnZXIod29ya3NwYWNlUGF0aCk7XG4gICAgY29uc3QgdHJhY2VMb2dnZXIgPSBuZXcgVHJhY2VMb2dnZXIod29ya3NwYWNlUGF0aCk7XG5cbiAgICBhcGkubG9nKCdbSGFybmVzc10g5o+S5Lu25bey5Yqg6L2977yM5bel5L2c56m66Ze0OicsIHdvcmtzcGFjZVBhdGgpO1xuXG4gICAgLy8gSG9vazog6YWN572u5L+u5pS55YmN6aqM6K+BXG4gICAgaWYgKGNvbmZpZy5hdXRvVmFsaWRhdGVDb25maWcpIHtcbiAgICAgIGFwaS5vbkNvbmZpZ0NoYW5nZT8uKGFzeW5jIChuZXdDb25maWc6IGFueSwgc2Vzc2lvbklkPzogc3RyaW5nKSA9PiB7XG4gICAgICAgIGFwaS5sb2coJ/CflI0gW0hhcm5lc3NdIOmqjOivgemFjee9ruWPmOabtC4uLicpO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY29uZmlnVmFsaWRhdG9yLnZhbGlkYXRlQ29udGVudChuZXdDb25maWcpO1xuICAgICAgICBcbiAgICAgICAgaWYgKCFyZXN1bHQudmFsaWQpIHtcbiAgICAgICAgICBhcGkubG9nKCfinYwgW0hhcm5lc3NdIOmFjee9rumqjOivgeWksei0pTonKTtcbiAgICAgICAgICByZXN1bHQuZXJyb3JzLmZvckVhY2goKGU6IHN0cmluZykgPT4gYXBpLmxvZyhgICAgLSAke2V9YCkpO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbmZpZ0xvZ2dlci5sb2coe1xuICAgICAgICAgICAgc2Vzc2lvbklkOiBzZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICAgICAgbW9kaWZpZXI6ICdBSSBBZ2VudCcsXG4gICAgICAgICAgICBmaWxlOiAnb3BlbmNsYXcuanNvbicsXG4gICAgICAgICAgICBjaGFuZ2VzOiBbXSxcbiAgICAgICAgICAgIHJlYXNvbjogJ+mFjee9ruS/ruaUue+8iOmqjOivgeWksei0pe+8iScsXG4gICAgICAgICAgICB2ZXJpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBnYXRld2F5UmVzdGFydGVkOiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYOmFjee9rumqjOivgeWksei0pe+8miR7cmVzdWx0LmVycm9ycy5qb2luKCcsICcpfWApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25maWdMb2dnZXIubG9nKHtcbiAgICAgICAgICBzZXNzaW9uSWQ6IHNlc3Npb25JZCB8fCAndW5rbm93bicsXG4gICAgICAgICAgbW9kaWZpZXI6ICdBSSBBZ2VudCcsXG4gICAgICAgICAgZmlsZTogJ29wZW5jbGF3Lmpzb24nLFxuICAgICAgICAgIGNoYW5nZXM6IFtdLFxuICAgICAgICAgIHJlYXNvbjogJ+mFjee9ruS/ruaUuScsXG4gICAgICAgICAgdmVyaWZpZWQ6IHRydWUsXG4gICAgICAgICAgZ2F0ZXdheVJlc3RhcnRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICBhcGkubG9nKCfinIUgW0hhcm5lc3NdIOmFjee9rumqjOivgemAmui/hycpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSG9vazogU2tpbGwg5a6J6KOF5YmN5a6h5qC4XG4gICAgaWYgKGNvbmZpZy5hdXRvQXVkaXRTa2lsbCkge1xuICAgICAgYXBpLm9uU2tpbGxJbnN0YWxsPy4oYXN5bmMgKHNraWxsUGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICAgIGFwaS5sb2coJ/CflI0gW0hhcm5lc3NdIOWuoeaguCBTa2lsbDonLCBza2lsbFBhdGgpO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgYXVkaXRSZXN1bHQgPSBhd2FpdCBza2lsbEF1ZGl0b3IuYXVkaXQoc2tpbGxQYXRoLCAnbG9jYWwnKTtcbiAgICAgICAgXG4gICAgICAgIGlmICghYXVkaXRSZXN1bHQucGFzc2VkKSB7XG4gICAgICAgICAgYXBpLmxvZygn4p2MIFtIYXJuZXNzXSBTa2lsbCDlrqHmoLjlpLHotKU6Jyk7XG4gICAgICAgICAgYXVkaXRSZXN1bHQud2FybmluZ3MuZm9yRWFjaCgodzogYW55KSA9PiBhcGkubG9nKGAgICAtICR7dy5tZXNzYWdlfWApKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNraWxsIOWuoeaguOWksei0pe+8miR7YXVkaXRSZXN1bHQud2FybmluZ3MubWFwKCh3OiBhbnkpID0+IHcubWVzc2FnZSkuam9pbignLCAnKX1gKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYXBpLmxvZygn4pyFIFtIYXJuZXNzXSBTa2lsbCDlrqHmoLjpgJrov4cnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEhvb2s6IOaWh+S7tue8lui+keaXtuW+queOr+ajgOa1i1xuICAgIGlmIChjb25maWcubG9vcERldGVjdGlvbkVuYWJsZWQpIHtcbiAgICAgIGFwaS5vbkZpbGVFZGl0Py4oYXN5bmMgKGZpbGVQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB3YXJuaW5nID0gbG9vcERldGVjdG9yLm9uRmlsZUVkaXQoZmlsZVBhdGgpO1xuICAgICAgICBcbiAgICAgICAgaWYgKHdhcm5pbmcpIHtcbiAgICAgICAgICBhcGkubG9nKCfimqDvuI8gW0hhcm5lc3NdIOajgOa1i+WIsOmikee5gee8lui+kTonKTtcbiAgICAgICAgICBhcGkubG9nKGAgICDmlofku7bvvJoke2ZpbGVQYXRofWApO1xuICAgICAgICAgIGFwaS5sb2coYCAgIOitpuWRiu+8miR7d2FybmluZ31gKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYOajgOa1i+WIsOW+queOr+e8lui+ke+8miR7d2FybmluZ31gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSG9vazog5paH5Lu25Yig6Zmk5YmN5qOA5p+l5L+d5oqk5paH5Lu2XG4gICAgYXBpLm9uRmlsZURlbGV0ZT8uKGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVQYXRoLnNwbGl0KCcvJykucG9wKCkgfHwgZmlsZVBhdGg7XG4gICAgICBcbiAgICAgIGlmIChjb25maWcucHJvdGVjdGVkRmlsZXMuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XG4gICAgICAgIGFwaS5sb2coYOKdjCBbSGFybmVzc10g6Zi75q2i5Yig6Zmk5L+d5oqk5paH5Lu277yaJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDkuI3lhYHorrjliKDpmaTkv53miqTmlofku7bvvJoke2ZpbGVOYW1lfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gSG9vazog5ZG95Luk5omn6KGM5a6h6K6hXG4gICAgYXBpLm9uRXhlY0NvbW1hbmQ/Lihhc3luYyAoY29tbWFuZDogc3RyaW5nLCBvcHRpb25zPzogYW55KSA9PiB7XG4gICAgICBvcGVyYXRpb25Mb2dnZXIubG9nKHtcbiAgICAgICAgc2Vzc2lvbklkOiBvcHRpb25zPy5zZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICBtb2RpZmllcjogJ0FJIEFnZW50JyxcbiAgICAgICAgdHlwZTogJ3N5c3RlbV9jb21tYW5kJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGDmiafooYzlkb3ku6TvvJoke2NvbW1hbmR9YCxcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgcmVzdWx0OiAnc3VjY2VzcycsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgdHJhY2VMb2dnZXIubG9nKHtcbiAgICAgICAgc2Vzc2lvbklkOiBvcHRpb25zPy5zZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICB0eXBlOiAndG9vbF9jYWxsJyxcbiAgICAgICAgZGF0YTogeyB0b29sOiAnZXhlYycsIGNvbW1hbmQgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYXBpLmxvZygn4pyFIFtIYXJuZXNzXSDmiYDmnIkgSG9vayDlt7Lms6jlhownKTtcbiAgfSxcbn07XG5cbi8vIENvbW1vbkpTIOWvvOWHuu+8iE9wZW5DbGF3IOacn+acm+eahOagvOW8j++8iVxuLy8gQHRzLWlnbm9yZVxubW9kdWxlLmV4cG9ydHMgPSBoYXJuZXNzUGx1Z2luO1xuIl19
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9DQUFvQzs7QUFFcEMsMkNBQXdIO0FBVXhILE1BQU0sY0FBYyxHQUF3QjtJQUMxQyxrQkFBa0IsRUFBRSxJQUFJO0lBQ3hCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLG9CQUFvQixFQUFFLElBQUk7SUFDMUIsY0FBYyxFQUFFO1FBQ2QsU0FBUztRQUNULFNBQVM7UUFDVCxXQUFXO1FBQ1gsVUFBVTtRQUNWLFdBQVc7UUFDWCxlQUFlO0tBQ2hCO0lBQ0QsT0FBTyxFQUFFLHdCQUF3QjtDQUNsQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUc7SUFDcEIsRUFBRSxFQUFFLFNBQVM7SUFDYixJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFdBQVcsRUFBRSxnRUFBZ0U7SUFDN0UsSUFBSSxFQUFFLGFBQWE7SUFDbkIsWUFBWSxFQUFFO1FBQ1osSUFBSSxFQUFFLFFBQWlCO1FBQ3ZCLG9CQUFvQixFQUFFLEtBQUs7UUFDM0IsVUFBVSxFQUFFO1lBQ1Ysa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQy9ELGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFrQixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7WUFDM0Qsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFO1lBQ2pFLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFpQixFQUFFLEVBQUU7WUFDOUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQWlCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFO1NBQ3hFO0tBQ0Y7SUFDRCxRQUFRLENBQUMsR0FBUTtRQUNmLE1BQU0sYUFBYSxHQUFH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TSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRixDQUFDO0FBRUYsOEJBQThCO0FBQzlCLGFBQWE7QUFDYixNQUFNLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHNyYy9pbmRleC50cyAtIEhhcm5lc3MgUGx1Z2luIOS4u+WFpeWPo1xuXG5pbXBvcnQgeyBDb25maWdWYWxpZGF0b3IsIFNraWxsQXVkaXRvciwgTG9vcERldGVjdG9yLCBDb25maWdMb2dnZXIsIE9wZXJhdGlvbkxvZ2dlciwgVHJhY2VMb2dnZXIgfSBmcm9tICdAaGRkei9oYXJuZXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBIYXJuZXNzUGx1Z2luQ29uZmlnIHtcbiAgYXV0b1ZhbGlkYXRlQ29uZmlnOiBib29sZWFuO1xuICBhdXRvQXVkaXRTa2lsbDogYm9vbGVhbjtcbiAgbG9vcERldGVjdGlvbkVuYWJsZWQ6IGJvb2xlYW47XG4gIHByb3RlY3RlZEZpbGVzOiBzdHJpbmdbXTtcbiAgbG9nc0Rpcjogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX0NPTkZJRzogSGFybmVzc1BsdWdpbkNvbmZpZyA9IHtcbiAgYXV0b1ZhbGlkYXRlQ29uZmlnOiB0cnVlLFxuICBhdXRvQXVkaXRTa2lsbDogdHJ1ZSxcbiAgbG9vcERldGVjdGlvbkVuYWJsZWQ6IHRydWUsXG4gIHByb3RlY3RlZEZpbGVzOiBbXG4gICAgJ1NPVUwubWQnLFxuICAgICdVU0VSLm1kJyxcbiAgICAnQUdFTlRTLm1kJyxcbiAgICAnVE9PTFMubWQnLFxuICAgICdNRU1PUlkubWQnLFxuICAgICdvcGVuY2xhdy5qc29uJyxcbiAgXSxcbiAgbG9nc0RpcjogJ3dvcmtzcGFjZS9sb2dzL2hhcm5lc3MnLFxufTtcblxuY29uc3QgaGFybmVzc1BsdWdpbiA9IHtcbiAgaWQ6ICdoYXJuZXNzJyxcbiAgbmFtZTogJ0hhcm5lc3MgRW5naW5lZXJpbmcnLFxuICBkZXNjcmlwdGlvbjogJ0NvbnN0cmFpbnRzLCBmZWVkYmFjayBsb29wcywgYW5kIGNvbnRyb2wgc3lzdGVtcyBmb3IgQUkgYWdlbnRzJyxcbiAga2luZDogJ2VuZ2luZWVyaW5nJyxcbiAgY29uZmlnU2NoZW1hOiB7XG4gICAgdHlwZTogJ29iamVjdCcgYXMgY29uc3QsXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGF1dG9WYWxpZGF0ZUNvbmZpZzogeyB0eXBlOiAnYm9vbGVhbicgYXMgY29uc3QsIGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgIGF1dG9BdWRpdFNraWxsOiB7IHR5cGU6ICdib29sZWFuJyBhcyBjb25zdCwgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgbG9vcERldGVjdGlvbkVuYWJsZWQ6IHsgdHlwZTogJ2Jvb2xlYW4nIGFzIGNvbnN0LCBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICBwcm90ZWN0ZWRGaWxlczogeyB0eXBlOiAnYXJyYXknIGFzIGNvbnN0LCBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyBhcyBjb25zdCB9IH0sXG4gICAgICBsb2dzRGlyOiB7IHR5cGU6ICdzdHJpbmcnIGFzIGNvbnN0LCBkZWZhdWx0OiAnd29ya3NwYWNlL2xvZ3MvaGFybmVzcycgfSxcbiAgICB9LFxuICB9LFxuICByZWdpc3RlcihhcGk6IGFueSkge1xuICAgIGNvbnN0IHdvcmtzcGFjZVBhdGggPSBhcGkud29ya3NwYWNlUGF0aCB8fCBwcm9jZXNzLmN3ZCgpO1xuICAgIGNvbnN0IGNvbmZpZzogSGFybmVzc1BsdWdpbkNvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLmFwaS5jb25maWcgfTtcbiAgICBcbiAgICAvLyDliJ3lp4vljJblt6XlhbdcbiAgICBjb25zdCBjb25maWdWYWxpZGF0b3IgPSBuZXcgQ29uZmlnVmFsaWRhdG9yKHdvcmtzcGFjZVBhdGgpO1xuICAgIGNvbnN0IHNraWxsQXVkaXRvciA9IG5ldyBTa2lsbEF1ZGl0b3Iod29ya3NwYWNlUGF0aCk7XG4gICAgY29uc3QgbG9vcERldGVjdG9yID0gbmV3IExvb3BEZXRlY3Rvcih3b3Jrc3BhY2VQYXRoLCB7IGxpbWl0OiA1LCB3aW5kb3dNczogMzAwMDAwIH0pO1xuICAgIGNvbnN0IGNvbmZpZ0xvZ2dlciA9IG5ldyBDb25maWdMb2dnZXIod29ya3NwYWNlUGF0aCk7XG4gICAgY29uc3Qgb3BlcmF0aW9uTG9nZ2VyID0gbmV3IE9wZXJhdGlvbkxvZ2dlcih3b3Jrc3BhY2VQYXRoKTtcbiAgICBjb25zdCB0cmFjZUxvZ2dlciA9IG5ldyBUcmFjZUxvZ2dlcih3b3Jrc3BhY2VQYXRoKTtcblxuICAgIGFwaS5sb2dnZXIuaW5mbygnW0hhcm5lc3NdIOaPkuS7tuW3suWKoOi9ve+8jOW3peS9nOepuumXtDonLCB3b3Jrc3BhY2VQYXRoKTtcblxuICAgIC8vIEhvb2s6IOmFjee9ruS/ruaUueWJjemqjOivgVxuICAgIGlmIChjb25maWcuYXV0b1ZhbGlkYXRlQ29uZmlnKSB7XG4gICAgICBhcGkub25Db25maWdDaGFuZ2U/Lihhc3luYyAobmV3Q29uZmlnOiBhbnksIHNlc3Npb25JZD86IHN0cmluZykgPT4ge1xuICAgICAgICBhcGkubG9nZ2VyLmluZm8oJ/CflI0gW0hhcm5lc3NdIOmqjOivgemFjee9ruWPmOabtC4uLicpO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gY29uZmlnVmFsaWRhdG9yLnZhbGlkYXRlQ29udGVudChuZXdDb25maWcpO1xuICAgICAgICBcbiAgICAgICAgaWYgKCFyZXN1bHQudmFsaWQpIHtcbiAgICAgICAgICBhcGkubG9nZ2VyLmVycm9yKCfinYwgW0hhcm5lc3NdIOmFjee9rumqjOivgeWksei0pTonKTtcbiAgICAgICAgICByZXN1bHQuZXJyb3JzLmZvckVhY2goKGU6IHN0cmluZykgPT4gYXBpLmxvZ2dlci5lcnJvcihgICAgLSAke2V9YCkpO1xuICAgICAgICAgIFxuICAgICAgICAgIGNvbmZpZ0xvZ2dlci5sb2coe1xuICAgICAgICAgICAgc2Vzc2lvbklkOiBzZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICAgICAgbW9kaWZpZXI6ICdBSSBBZ2VudCcsXG4gICAgICAgICAgICBmaWxlOiAnb3BlbmNsYXcuanNvbicsXG4gICAgICAgICAgICBjaGFuZ2VzOiBbXSxcbiAgICAgICAgICAgIHJlYXNvbjogJ+mFjee9ruS/ruaUue+8iOmqjOivgeWksei0pe+8iScsXG4gICAgICAgICAgICB2ZXJpZmllZDogZmFsc2UsXG4gICAgICAgICAgICBnYXRld2F5UmVzdGFydGVkOiBmYWxzZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYOmFjee9rumqjOivgeWksei0pe+8miR7cmVzdWx0LmVycm9ycy5qb2luKCcsICcpfWApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25maWdMb2dnZXIubG9nKHtcbiAgICAgICAgICBzZXNzaW9uSWQ6IHNlc3Npb25JZCB8fCAndW5rbm93bicsXG4gICAgICAgICAgbW9kaWZpZXI6ICdBSSBBZ2VudCcsXG4gICAgICAgICAgZmlsZTogJ29wZW5jbGF3Lmpzb24nLFxuICAgICAgICAgIGNoYW5nZXM6IFtdLFxuICAgICAgICAgIHJlYXNvbjogJ+mFjee9ruS/ruaUuScsXG4gICAgICAgICAgdmVyaWZpZWQ6IHRydWUsXG4gICAgICAgICAgZ2F0ZXdheVJlc3RhcnRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICBhcGkubG9nZ2VyLmluZm8oJ+KchSBbSGFybmVzc10g6YWN572u6aqM6K+B6YCa6L+HJyk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBIb29rOiBTa2lsbCDlronoo4XliY3lrqHmoLhcbiAgICBpZiAoY29uZmlnLmF1dG9BdWRpdFNraWxsKSB7XG4gICAgICBhcGkub25Ta2lsbEluc3RhbGw/Lihhc3luYyAoc2tpbGxQYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgYXBpLmxvZ2dlci5pbmZvKCfwn5SNIFtIYXJuZXNzXSDlrqHmoLggU2tpbGw6Jywgc2tpbGxQYXRoKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGF1ZGl0UmVzdWx0ID0gYXdhaXQgc2tpbGxBdWRpdG9yLmF1ZGl0KHNraWxsUGF0aCwgJ2xvY2FsJyk7XG4gICAgICAgIFxuICAgICAgICBpZiAoIWF1ZGl0UmVzdWx0LnBhc3NlZCkge1xuICAgICAgICAgIGFwaS5sb2dnZXIuZXJyb3IoJ+KdjCBbSGFybmVzc10gU2tpbGwg5a6h5qC45aSx6LSlOicpO1xuICAgICAgICAgIGF1ZGl0UmVzdWx0Lndhcm5pbmdzLmZvckVhY2goKHc6IGFueSkgPT4gYXBpLmxvZ2dlci5lcnJvcihgICAgLSAke3cubWVzc2FnZX1gKSk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTa2lsbCDlrqHmoLjlpLHotKXvvJoke2F1ZGl0UmVzdWx0Lndhcm5pbmdzLm1hcCgodzogYW55KSA9PiB3Lm1lc3NhZ2UpLmpvaW4oJywgJyl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGFwaS5sb2dnZXIuaW5mbygn4pyFIFtIYXJuZXNzXSBTa2lsbCDlrqHmoLjpgJrov4cnKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEhvb2s6IOaWh+S7tue8lui+keaXtuW+queOr+ajgOa1i1xuICAgIGlmIChjb25maWcubG9vcERldGVjdGlvbkVuYWJsZWQpIHtcbiAgICAgIGFwaS5vbkZpbGVFZGl0Py4oYXN5bmMgKGZpbGVQYXRoOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB3YXJuaW5nID0gbG9vcERldGVjdG9yLm9uRmlsZUVkaXQoZmlsZVBhdGgpO1xuICAgICAgICBcbiAgICAgICAgaWYgKHdhcm5pbmcpIHtcbiAgICAgICAgICBhcGkubG9nZ2VyLndhcm4oJ+KaoO+4jyBbSGFybmVzc10g5qOA5rWL5Yiw6aKR57mB57yW6L6ROicpO1xuICAgICAgICAgIGFwaS5sb2dnZXIud2FybihgICAg5paH5Lu277yaJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgICBhcGkubG9nZ2VyLndhcm4oYCAgIOitpuWRiu+8miR7d2FybmluZ31gKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYOajgOa1i+WIsOW+queOr+e8lui+ke+8miR7d2FybmluZ31gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSG9vazog5paH5Lu25Yig6Zmk5YmN5qOA5p+l5L+d5oqk5paH5Lu2XG4gICAgYXBpLm9uRmlsZURlbGV0ZT8uKGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBmaWxlTmFtZSA9IGZpbGVQYXRoLnNwbGl0KCcvJykucG9wKCkgfHwgZmlsZVBhdGg7XG4gICAgICBcbiAgICAgIGlmIChjb25maWcucHJvdGVjdGVkRmlsZXMuaW5jbHVkZXMoZmlsZU5hbWUpKSB7XG4gICAgICAgIGFwaS5sb2dnZXIuZXJyb3IoYOKdjCBbSGFybmVzc10g6Zi75q2i5Yig6Zmk5L+d5oqk5paH5Lu277yaJHtmaWxlUGF0aH1gKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGDkuI3lhYHorrjliKDpmaTkv53miqTmlofku7bvvJoke2ZpbGVOYW1lfWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gSG9vazog5ZG95Luk5omn6KGM5a6h6K6hXG4gICAgYXBpLm9uRXhlY0NvbW1hbmQ/Lihhc3luYyAoY29tbWFuZDogc3RyaW5nLCBvcHRpb25zPzogYW55KSA9PiB7XG4gICAgICBvcGVyYXRpb25Mb2dnZXIubG9nKHtcbiAgICAgICAgc2Vzc2lvbklkOiBvcHRpb25zPy5zZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICBtb2RpZmllcjogJ0FJIEFnZW50JyxcbiAgICAgICAgdHlwZTogJ3N5c3RlbV9jb21tYW5kJyxcbiAgICAgICAgZGVzY3JpcHRpb246IGDmiafooYzlkb3ku6TvvJoke2NvbW1hbmR9YCxcbiAgICAgICAgY29tbWFuZCxcbiAgICAgICAgcmVzdWx0OiAnc3VjY2VzcycsXG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgdHJhY2VMb2dnZXIubG9nKHtcbiAgICAgICAgc2Vzc2lvbklkOiBvcHRpb25zPy5zZXNzaW9uSWQgfHwgJ3Vua25vd24nLFxuICAgICAgICB0eXBlOiAndG9vbF9jYWxsJyxcbiAgICAgICAgZGF0YTogeyB0b29sOiAnZXhlYycsIGNvbW1hbmQgfSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgYXBpLmxvZ2dlci5pbmZvKCfinIUgW0hhcm5lc3NdIOaJgOaciSBIb29rIOW3suazqOWGjCcpO1xuICB9LFxufTtcblxuLy8gQ29tbW9uSlMg5a+85Ye677yIT3BlbkNsYXcg5pyf5pyb55qE5qC85byP77yJXG4vLyBAdHMtaWdub3JlXG5tb2R1bGUuZXhwb3J0cyA9IGhhcm5lc3NQbHVnaW47XG4iXX0=
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hddz/plugin-harness",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.18",
|
|
4
4
|
"description": "Harness Engineering plugin for OpenClaw - constraints, feedback loops, and control systems for AI agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -41,6 +41,11 @@
|
|
|
41
41
|
"openclaw": ">=2026.3.0"
|
|
42
42
|
},
|
|
43
43
|
"openclaw": {
|
|
44
|
-
"extensions": [
|
|
44
|
+
"extensions": [
|
|
45
|
+
{
|
|
46
|
+
"id": "harness",
|
|
47
|
+
"path": "./dist/index.js"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
45
50
|
}
|
|
46
51
|
}
|