Created 10 detailed GitHub issues covering: - Project activation and management UI (#1-2) - Worker node coordination and visualization (#3-4) - Automated GitHub repository scanning (#5) - Intelligent model-to-issue matching (#6) - Multi-model task execution system (#7) - N8N workflow integration (#8) - Hive-Bzzz P2P bridge (#9) - Peer assistance protocol (#10) Each issue includes detailed specifications, acceptance criteria, technical implementation notes, and dependency mapping. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
import runResolver from './utils/runResolver.js';
|
|
var ChainingLogic;
|
|
(function (ChainingLogic) {
|
|
ChainingLogic[ChainingLogic["ALL"] = 0] = "ALL";
|
|
ChainingLogic[ChainingLogic["FIRST_FOUND"] = 1] = "FIRST_FOUND";
|
|
})(ChainingLogic || (ChainingLogic = {}));
|
|
class ChainResolver {
|
|
constructor(resolvers, options) {
|
|
this.resolvers = resolvers;
|
|
this.options = options;
|
|
}
|
|
resolveFirstOnly(file) {
|
|
for (const resolver of this.resolvers) {
|
|
const components = runResolver(resolver, file);
|
|
if (components.length > 0) {
|
|
return components;
|
|
}
|
|
}
|
|
return [];
|
|
}
|
|
resolveAll(file) {
|
|
const allComponents = new Set();
|
|
for (const resolver of this.resolvers) {
|
|
const components = runResolver(resolver, file);
|
|
components.forEach((component) => {
|
|
allComponents.add(component);
|
|
});
|
|
}
|
|
return Array.from(allComponents);
|
|
}
|
|
resolve(file) {
|
|
if (this.options.chainingLogic === ChainingLogic.FIRST_FOUND) {
|
|
return this.resolveFirstOnly(file);
|
|
}
|
|
return this.resolveAll(file);
|
|
}
|
|
}
|
|
ChainResolver.Logic = ChainingLogic;
|
|
export default ChainResolver;
|