- 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
385 lines
12 KiB
JavaScript
385 lines
12 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @lightSyntaxTransform
|
|
* @noflow
|
|
* @nolint
|
|
* @preventMunge
|
|
* @preserve-invariant-messages
|
|
*/
|
|
|
|
"use no memo";
|
|
"use strict";
|
|
var __create = Object.create;
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __getProtoOf = Object.getPrototypeOf;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __export = (target, all) => {
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __copyProps = (to, from, except, desc) => {
|
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
for (let key of __getOwnPropNames(from))
|
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
}
|
|
return to;
|
|
};
|
|
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
// If the importer is in node compatibility mode or this is not an ESM
|
|
// file that has been converted to a CommonJS file using a Babel-
|
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
mod
|
|
));
|
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
|
|
// src/index.ts
|
|
var index_exports = {};
|
|
__export(index_exports, {
|
|
$dispatcherGuard: () => $dispatcherGuard,
|
|
$makeReadOnly: () => $makeReadOnly,
|
|
$reset: () => $reset,
|
|
$structuralCheck: () => $structuralCheck,
|
|
c: () => c,
|
|
clearRenderCounterRegistry: () => clearRenderCounterRegistry,
|
|
renderCounterRegistry: () => renderCounterRegistry,
|
|
useRenderCounter: () => useRenderCounter
|
|
});
|
|
module.exports = __toCommonJS(index_exports);
|
|
var React = __toESM(require("react"));
|
|
var { useRef, useEffect, isValidElement } = React;
|
|
var _a;
|
|
var ReactSecretInternals = (
|
|
//@ts-ignore
|
|
(_a = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE) != null ? _a : React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
|
|
);
|
|
var $empty = Symbol.for("react.memo_cache_sentinel");
|
|
var _a2;
|
|
var c = (
|
|
// @ts-expect-error
|
|
typeof ((_a2 = React.__COMPILER_RUNTIME) == null ? void 0 : _a2.c) === "function" ? (
|
|
// @ts-expect-error
|
|
React.__COMPILER_RUNTIME.c
|
|
) : function c2(size) {
|
|
return React.useMemo(() => {
|
|
const $ = new Array(size);
|
|
for (let ii = 0; ii < size; ii++) {
|
|
$[ii] = $empty;
|
|
}
|
|
$[$empty] = true;
|
|
return $;
|
|
}, []);
|
|
}
|
|
);
|
|
var LazyGuardDispatcher = {};
|
|
[
|
|
"readContext",
|
|
"useCallback",
|
|
"useContext",
|
|
"useEffect",
|
|
"useImperativeHandle",
|
|
"useInsertionEffect",
|
|
"useLayoutEffect",
|
|
"useMemo",
|
|
"useReducer",
|
|
"useRef",
|
|
"useState",
|
|
"useDebugValue",
|
|
"useDeferredValue",
|
|
"useTransition",
|
|
"useMutableSource",
|
|
"useSyncExternalStore",
|
|
"useId",
|
|
"unstable_isNewReconciler",
|
|
"getCacheSignal",
|
|
"getCacheForType",
|
|
"useCacheRefresh"
|
|
].forEach((name) => {
|
|
LazyGuardDispatcher[name] = () => {
|
|
throw new Error(
|
|
`[React] Unexpected React hook call (${name}) from a React compiled function. Check that all hooks are called directly and named according to convention ('use[A-Z]') `
|
|
);
|
|
};
|
|
});
|
|
var originalDispatcher = null;
|
|
LazyGuardDispatcher["useMemoCache"] = (count) => {
|
|
if (originalDispatcher == null) {
|
|
throw new Error(
|
|
"React Compiler internal invariant violation: unexpected null dispatcher"
|
|
);
|
|
} else {
|
|
return originalDispatcher.useMemoCache(count);
|
|
}
|
|
};
|
|
function setCurrent(newDispatcher) {
|
|
ReactSecretInternals.ReactCurrentDispatcher.current = newDispatcher;
|
|
return ReactSecretInternals.ReactCurrentDispatcher.current;
|
|
}
|
|
var guardFrames = [];
|
|
function $dispatcherGuard(kind) {
|
|
const curr = ReactSecretInternals.ReactCurrentDispatcher.current;
|
|
if (kind === 0 /* PushGuardContext */) {
|
|
guardFrames.push(curr);
|
|
if (guardFrames.length === 1) {
|
|
originalDispatcher = curr;
|
|
}
|
|
if (curr === LazyGuardDispatcher) {
|
|
throw new Error(
|
|
`[React] Unexpected call to custom hook or component from a React compiled function. Check that (1) all hooks are called directly and named according to convention ('use[A-Z]') and (2) components are returned as JSX instead of being directly invoked.`
|
|
);
|
|
}
|
|
setCurrent(LazyGuardDispatcher);
|
|
} else if (kind === 1 /* PopGuardContext */) {
|
|
const lastFrame = guardFrames.pop();
|
|
if (lastFrame == null) {
|
|
throw new Error(
|
|
"React Compiler internal error: unexpected null in guard stack"
|
|
);
|
|
}
|
|
if (guardFrames.length === 0) {
|
|
originalDispatcher = null;
|
|
}
|
|
setCurrent(lastFrame);
|
|
} else if (kind === 2 /* PushExpectHook */) {
|
|
guardFrames.push(curr);
|
|
setCurrent(originalDispatcher);
|
|
} else if (kind === 3 /* PopExpectHook */) {
|
|
const lastFrame = guardFrames.pop();
|
|
if (lastFrame == null) {
|
|
throw new Error(
|
|
"React Compiler internal error: unexpected null in guard stack"
|
|
);
|
|
}
|
|
setCurrent(lastFrame);
|
|
} else {
|
|
throw new Error("React Compiler internal error: unreachable block" + kind);
|
|
}
|
|
}
|
|
function $reset($) {
|
|
for (let ii = 0; ii < $.length; ii++) {
|
|
$[ii] = $empty;
|
|
}
|
|
}
|
|
function $makeReadOnly() {
|
|
throw new Error("TODO: implement $makeReadOnly in react-compiler-runtime");
|
|
}
|
|
var renderCounterRegistry = /* @__PURE__ */ new Map();
|
|
function clearRenderCounterRegistry() {
|
|
for (const counters of renderCounterRegistry.values()) {
|
|
counters.forEach((counter) => {
|
|
counter.count = 0;
|
|
});
|
|
}
|
|
}
|
|
function registerRenderCounter(name, val) {
|
|
let counters = renderCounterRegistry.get(name);
|
|
if (counters == null) {
|
|
counters = /* @__PURE__ */ new Set();
|
|
renderCounterRegistry.set(name, counters);
|
|
}
|
|
counters.add(val);
|
|
}
|
|
function removeRenderCounter(name, val) {
|
|
const counters = renderCounterRegistry.get(name);
|
|
if (counters == null) {
|
|
return;
|
|
}
|
|
counters.delete(val);
|
|
}
|
|
function useRenderCounter(name) {
|
|
const val = useRef(null);
|
|
if (val.current != null) {
|
|
val.current.count += 1;
|
|
}
|
|
useEffect(() => {
|
|
if (val.current == null) {
|
|
const counter = { count: 0 };
|
|
registerRenderCounter(name, counter);
|
|
val.current = counter;
|
|
}
|
|
return () => {
|
|
if (val.current !== null) {
|
|
removeRenderCounter(name, val.current);
|
|
}
|
|
};
|
|
});
|
|
}
|
|
var seenErrors = /* @__PURE__ */ new Set();
|
|
function $structuralCheck(oldValue, newValue, variableName, fnName, kind, loc) {
|
|
function error(l, r, path, depth) {
|
|
const str = `${fnName}:${loc} [${kind}] ${variableName}${path} changed from ${l} to ${r} at depth ${depth}`;
|
|
if (seenErrors.has(str)) {
|
|
return;
|
|
}
|
|
seenErrors.add(str);
|
|
console.error(str);
|
|
}
|
|
const depthLimit = 2;
|
|
function recur(oldValue2, newValue2, path, depth) {
|
|
if (depth > depthLimit) {
|
|
return;
|
|
} else if (oldValue2 === newValue2) {
|
|
return;
|
|
} else if (typeof oldValue2 !== typeof newValue2) {
|
|
error(`type ${typeof oldValue2}`, `type ${typeof newValue2}`, path, depth);
|
|
} else if (typeof oldValue2 === "object") {
|
|
const oldArray = Array.isArray(oldValue2);
|
|
const newArray = Array.isArray(newValue2);
|
|
if (oldValue2 === null && newValue2 !== null) {
|
|
error("null", `type ${typeof newValue2}`, path, depth);
|
|
} else if (newValue2 === null) {
|
|
error(`type ${typeof oldValue2}`, "null", path, depth);
|
|
} else if (oldValue2 instanceof Map) {
|
|
if (!(newValue2 instanceof Map)) {
|
|
error(`Map instance`, `other value`, path, depth);
|
|
} else if (oldValue2.size !== newValue2.size) {
|
|
error(
|
|
`Map instance with size ${oldValue2.size}`,
|
|
`Map instance with size ${newValue2.size}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
for (const [k, v] of oldValue2) {
|
|
if (!newValue2.has(k)) {
|
|
error(
|
|
`Map instance with key ${k}`,
|
|
`Map instance without key ${k}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
recur(v, newValue2.get(k), `${path}.get(${k})`, depth + 1);
|
|
}
|
|
}
|
|
}
|
|
} else if (newValue2 instanceof Map) {
|
|
error("other value", `Map instance`, path, depth);
|
|
} else if (oldValue2 instanceof Set) {
|
|
if (!(newValue2 instanceof Set)) {
|
|
error(`Set instance`, `other value`, path, depth);
|
|
} else if (oldValue2.size !== newValue2.size) {
|
|
error(
|
|
`Set instance with size ${oldValue2.size}`,
|
|
`Set instance with size ${newValue2.size}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
for (const v of newValue2) {
|
|
if (!oldValue2.has(v)) {
|
|
error(
|
|
`Set instance without element ${v}`,
|
|
`Set instance with element ${v}`,
|
|
path,
|
|
depth
|
|
);
|
|
}
|
|
}
|
|
}
|
|
} else if (newValue2 instanceof Set) {
|
|
error("other value", `Set instance`, path, depth);
|
|
} else if (oldArray || newArray) {
|
|
if (oldArray !== newArray) {
|
|
error(
|
|
`type ${oldArray ? "array" : "object"}`,
|
|
`type ${newArray ? "array" : "object"}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else if (oldValue2.length !== newValue2.length) {
|
|
error(
|
|
`array with length ${oldValue2.length}`,
|
|
`array with length ${newValue2.length}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
for (let ii = 0; ii < oldValue2.length; ii++) {
|
|
recur(oldValue2[ii], newValue2[ii], `${path}[${ii}]`, depth + 1);
|
|
}
|
|
}
|
|
} else if (isValidElement(oldValue2) || isValidElement(newValue2)) {
|
|
if (isValidElement(oldValue2) !== isValidElement(newValue2)) {
|
|
error(
|
|
`type ${isValidElement(oldValue2) ? "React element" : "object"}`,
|
|
`type ${isValidElement(newValue2) ? "React element" : "object"}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else if (oldValue2.type !== newValue2.type) {
|
|
error(
|
|
`React element of type ${oldValue2.type}`,
|
|
`React element of type ${newValue2.type}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
recur(
|
|
oldValue2.props,
|
|
newValue2.props,
|
|
`[props of ${path}]`,
|
|
depth + 1
|
|
);
|
|
}
|
|
} else {
|
|
for (const key in newValue2) {
|
|
if (!(key in oldValue2)) {
|
|
error(
|
|
`object without key ${key}`,
|
|
`object with key ${key}`,
|
|
path,
|
|
depth
|
|
);
|
|
}
|
|
}
|
|
for (const key in oldValue2) {
|
|
if (!(key in newValue2)) {
|
|
error(
|
|
`object with key ${key}`,
|
|
`object without key ${key}`,
|
|
path,
|
|
depth
|
|
);
|
|
} else {
|
|
recur(oldValue2[key], newValue2[key], `${path}.${key}`, depth + 1);
|
|
}
|
|
}
|
|
}
|
|
} else if (typeof oldValue2 === "function") {
|
|
return;
|
|
} else if (isNaN(oldValue2) || isNaN(newValue2)) {
|
|
if (isNaN(oldValue2) !== isNaN(newValue2)) {
|
|
error(
|
|
`${isNaN(oldValue2) ? "NaN" : "non-NaN value"}`,
|
|
`${isNaN(newValue2) ? "NaN" : "non-NaN value"}`,
|
|
path,
|
|
depth
|
|
);
|
|
}
|
|
} else if (oldValue2 !== newValue2) {
|
|
error(oldValue2, newValue2, path, depth);
|
|
}
|
|
}
|
|
recur(oldValue, newValue, "", 0);
|
|
}
|
|
// Annotate the CommonJS export names for ESM import in node:
|
|
0 && (module.exports = {
|
|
$dispatcherGuard,
|
|
$makeReadOnly,
|
|
$reset,
|
|
$structuralCheck,
|
|
c,
|
|
clearRenderCounterRegistry,
|
|
renderCounterRegistry,
|
|
useRenderCounter
|
|
});
|
|
//# sourceMappingURL=index.js.map
|