- 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
41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
export const COMPLETABLE_SYMBOL = Symbol.for('mcp.completable');
|
|
/**
|
|
* Wraps a Zod type to provide autocompletion capabilities. Useful for, e.g., prompt arguments in MCP.
|
|
* Works with both Zod v3 and v4 schemas.
|
|
*/
|
|
export function completable(schema, complete) {
|
|
Object.defineProperty(schema, COMPLETABLE_SYMBOL, {
|
|
value: { complete },
|
|
enumerable: false,
|
|
writable: false,
|
|
configurable: false
|
|
});
|
|
return schema;
|
|
}
|
|
/**
|
|
* Checks if a schema is completable (has completion metadata).
|
|
*/
|
|
export function isCompletable(schema) {
|
|
return !!schema && typeof schema === 'object' && COMPLETABLE_SYMBOL in schema;
|
|
}
|
|
/**
|
|
* Gets the completer callback from a completable schema, if it exists.
|
|
*/
|
|
export function getCompleter(schema) {
|
|
const meta = schema[COMPLETABLE_SYMBOL];
|
|
return meta?.complete;
|
|
}
|
|
/**
|
|
* Unwraps a completable schema to get the underlying schema.
|
|
* For backward compatibility with code that called `.unwrap()`.
|
|
*/
|
|
export function unwrapCompletable(schema) {
|
|
return schema;
|
|
}
|
|
// Legacy exports for backward compatibility
|
|
// These types are deprecated but kept for existing code
|
|
export var McpZodTypeKind;
|
|
(function (McpZodTypeKind) {
|
|
McpZodTypeKind["Completable"] = "McpCompletable";
|
|
})(McpZodTypeKind || (McpZodTypeKind = {}));
|
|
//# sourceMappingURL=completable.js.map
|