- 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
35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.headStream = headStream;
|
|
async function headStream(stream, bytes) {
|
|
let byteLengthCounter = 0;
|
|
const chunks = [];
|
|
const reader = stream.getReader();
|
|
let isDone = false;
|
|
while (!isDone) {
|
|
const { done, value } = await reader.read();
|
|
if (value) {
|
|
chunks.push(value);
|
|
byteLengthCounter += value?.byteLength ?? 0;
|
|
}
|
|
if (byteLengthCounter >= bytes) {
|
|
break;
|
|
}
|
|
isDone = done;
|
|
}
|
|
reader.releaseLock();
|
|
const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));
|
|
let offset = 0;
|
|
for (const chunk of chunks) {
|
|
if (chunk.byteLength > collected.byteLength - offset) {
|
|
collected.set(chunk.subarray(0, collected.byteLength - offset), offset);
|
|
break;
|
|
}
|
|
else {
|
|
collected.set(chunk, offset);
|
|
}
|
|
offset += chunk.length;
|
|
}
|
|
return collected;
|
|
}
|