mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-30 05:35:22 +08:00
42 lines
938 B
JavaScript
42 lines
938 B
JavaScript
#!/usr/bin/env node
|
|
'use strict';
|
|
|
|
function normalizeAdditionalContext(value) {
|
|
if (Array.isArray(value)) {
|
|
return value
|
|
.map(item => String(item || '').trim())
|
|
.filter(Boolean)
|
|
.join('\n');
|
|
}
|
|
|
|
return String(value || '').trim();
|
|
}
|
|
|
|
function combineAdditionalContext(current, next) {
|
|
const currentText = normalizeAdditionalContext(current);
|
|
const nextText = normalizeAdditionalContext(next);
|
|
|
|
if (!currentText) return nextText;
|
|
if (!nextText) return currentText;
|
|
|
|
return `${currentText}\n${nextText}`;
|
|
}
|
|
|
|
function buildPreToolUseAdditionalContext(value) {
|
|
const additionalContext = normalizeAdditionalContext(value);
|
|
if (!additionalContext) return '';
|
|
|
|
return JSON.stringify({
|
|
hookSpecificOutput: {
|
|
hookEventName: 'PreToolUse',
|
|
additionalContext,
|
|
},
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
buildPreToolUseAdditionalContext,
|
|
combineAdditionalContext,
|
|
normalizeAdditionalContext,
|
|
};
|