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>
78 lines
3.4 KiB
JavaScript
78 lines
3.4 KiB
JavaScript
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
};
|
|
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
};
|
|
var _FileState_importer;
|
|
import babelTraverse, { NodePath } from '@babel/traverse';
|
|
import babelParse from './babelParser.js';
|
|
// Workaround while babel is not a proper ES module
|
|
const traverse = babelTraverse.default ?? babelTraverse;
|
|
class FileState {
|
|
constructor(options, { code, ast, importer }) {
|
|
_FileState_importer.set(this, void 0);
|
|
this.hub = {
|
|
// keep it for the usage in babel-core, ex: path.hub.file.opts.filename
|
|
file: this,
|
|
parse: this.parse.bind(this),
|
|
import: this.import.bind(this),
|
|
getCode: () => this.code,
|
|
getScope: () => this.scope,
|
|
addHelper: () => undefined,
|
|
buildError: (node, msg, Error) => {
|
|
const err = new Error(msg);
|
|
err.node = node;
|
|
return err;
|
|
},
|
|
};
|
|
this.opts = options;
|
|
this.code = code;
|
|
this.ast = ast;
|
|
__classPrivateFieldSet(this, _FileState_importer, importer, "f");
|
|
this.path = NodePath.get({
|
|
hub: this.hub,
|
|
parentPath: null,
|
|
parent: this.ast,
|
|
container: this.ast,
|
|
key: 'program',
|
|
}).setContext();
|
|
this.scope = this.path.scope;
|
|
}
|
|
/**
|
|
* Try to resolve and import the ImportPath with the `name`
|
|
*/
|
|
import(path, name) {
|
|
return __classPrivateFieldGet(this, _FileState_importer, "f").call(this, path, name, this);
|
|
}
|
|
/**
|
|
* Parse the content of a new file
|
|
* The `filename` is required so that potential imports inside the content can be correctly resolved and
|
|
* the correct babel config file could be loaded. `filename` needs to be an absolute path.
|
|
*/
|
|
parse(code, filename) {
|
|
const newOptions = { ...this.opts, filename };
|
|
// We need to build a new parser, because there might be a new
|
|
// babel config file in effect, so we need to load it
|
|
const ast = babelParse(code, newOptions);
|
|
return new FileState(newOptions, {
|
|
ast,
|
|
code,
|
|
importer: __classPrivateFieldGet(this, _FileState_importer, "f"),
|
|
});
|
|
}
|
|
/**
|
|
* Traverse the current file
|
|
*/
|
|
traverse(visitors, state) {
|
|
traverse(this.ast, visitors, this.scope, state);
|
|
}
|
|
}
|
|
_FileState_importer = new WeakMap();
|
|
export default FileState;
|