- Add full Telegram bot functionality with Z.AI API integration
- Implement 4 tools: Bash, FileEdit, WebSearch, Git
- Add 3 agents: Code Reviewer, Architect, DevOps Engineer
- Add 6 skills for common coding tasks
- Add systemd service file for 24/7 operation
- Add nginx configuration for HTTPS webhook
- Add comprehensive documentation
- Implement WebSocket server for real-time updates
- Add logging system with Winston
- Add environment validation
🤖 zCode CLI X - Agentic coder with Z.AI + Telegram integration
37 lines
1.5 KiB
JavaScript
37 lines
1.5 KiB
JavaScript
const ALIAS = Symbol.for('yaml.alias');
|
|
const DOC = Symbol.for('yaml.document');
|
|
const MAP = Symbol.for('yaml.map');
|
|
const PAIR = Symbol.for('yaml.pair');
|
|
const SCALAR = Symbol.for('yaml.scalar');
|
|
const SEQ = Symbol.for('yaml.seq');
|
|
const NODE_TYPE = Symbol.for('yaml.node.type');
|
|
const isAlias = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === ALIAS;
|
|
const isDocument = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === DOC;
|
|
const isMap = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === MAP;
|
|
const isPair = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === PAIR;
|
|
const isScalar = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SCALAR;
|
|
const isSeq = (node) => !!node && typeof node === 'object' && node[NODE_TYPE] === SEQ;
|
|
function isCollection(node) {
|
|
if (node && typeof node === 'object')
|
|
switch (node[NODE_TYPE]) {
|
|
case MAP:
|
|
case SEQ:
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function isNode(node) {
|
|
if (node && typeof node === 'object')
|
|
switch (node[NODE_TYPE]) {
|
|
case ALIAS:
|
|
case MAP:
|
|
case SCALAR:
|
|
case SEQ:
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
const hasAnchor = (node) => (isScalar(node) || isCollection(node)) && !!node.anchor;
|
|
|
|
export { ALIAS, DOC, MAP, NODE_TYPE, PAIR, SCALAR, SEQ, hasAnchor, isAlias, isCollection, isDocument, isMap, isNode, isPair, isScalar, isSeq };
|