- 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
29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
import { EndpointError } from "../types";
|
|
import { evaluateTemplate } from "./evaluateTemplate";
|
|
export const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({
|
|
...acc,
|
|
[propertyKey]: group.getEndpointProperty(propertyVal, options),
|
|
}), {});
|
|
export const getEndpointProperty = (property, options) => {
|
|
if (Array.isArray(property)) {
|
|
return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
|
|
}
|
|
switch (typeof property) {
|
|
case "string":
|
|
return evaluateTemplate(property, options);
|
|
case "object":
|
|
if (property === null) {
|
|
throw new EndpointError(`Unexpected endpoint property: ${property}`);
|
|
}
|
|
return group.getEndpointProperties(property, options);
|
|
case "boolean":
|
|
return property;
|
|
default:
|
|
throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);
|
|
}
|
|
};
|
|
export const group = {
|
|
getEndpointProperty,
|
|
getEndpointProperties,
|
|
};
|