feat: Complete zCode CLI X with Telegram bot integration

- 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
This commit is contained in:
admin
2026-05-05 09:01:26 +00:00
Unverified
parent 4a7035dd92
commit 875c7f9b91
24688 changed files with 3224957 additions and 221 deletions

View File

@@ -0,0 +1,10 @@
import type { GrowthBook } from "../GrowthBook";
import type { UserScopedGrowthBook, GrowthBookClient } from "../GrowthBookClient";
export type AutoAttributeSettings = {
uuidCookieName?: string;
uuidKey?: string;
uuid?: string;
uuidAutoPersist?: boolean;
};
export declare function autoAttributesPlugin(settings?: AutoAttributeSettings): (gb: GrowthBook | UserScopedGrowthBook | GrowthBookClient) => void;
//# sourceMappingURL=auto-attributes.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"auto-attributes.d.ts","sourceRoot":"","sources":["../../src/plugins/auto-attributes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA4BF,wBAAgB,oBAAoB,CAAC,QAAQ,GAAE,qBAA0B,QAoD3D,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,UAsCjE"}

View File

@@ -0,0 +1,79 @@
import { GrowthBook } from "../GrowthBook";
import { Attributes, FeatureApiResponse, LogUnion, Plugin } from "../types/growthbook";
import { UserScopedGrowthBook } from "../GrowthBookClient";
export type DevtoolsState = {
attributes?: Record<string, any>;
features?: Record<string, any>;
experiments?: Record<string, number>;
};
export interface NextjsReadonlyRequestCookiesCompat {
get: (name: string) => {
name: string;
value: string;
} | undefined;
}
export interface NextjsRequestCompat {
nextUrl: {
searchParams: URLSearchParams;
};
cookies: {
get: (name: string) => {
name: string;
value: string;
} | undefined;
};
}
export interface ExpressRequestCompat {
cookies: Record<string, string | string[]>;
query: Record<string, string>;
[key: string]: unknown;
}
export declare function devtoolsPlugin(devtoolsState?: DevtoolsState): Plugin;
/**
* For NextJS environments.
* When using server components, use the `searchParams` and `requestCookies` fields.
* - Note: In NextJS 15+, you should await these values before passing them to the plugin
* When using middleware / api routes, provide the `request` field instead.
*/
export declare function devtoolsNextjsPlugin({ searchParams, requestCookies, request, }: {
searchParams?: {
_gbdebug?: string;
};
requestCookies?: NextjsReadonlyRequestCookiesCompat;
request?: NextjsRequestCompat;
}): Plugin;
/**
* Intended to be used with cookieParser() middleware from npm: 'cookie-parser'.
*/
export declare function devtoolsExpressPlugin({ request, }: {
request?: ExpressRequestCompat;
}): Plugin;
export type SdkInfo = {
apiHost: string;
clientKey: string;
source?: string;
version?: string;
payload?: FeatureApiResponse;
attributes?: Attributes;
};
export type LogEvent = {
logs: LogUnion[];
sdkInfo?: SdkInfo;
};
/**
* Helper method to get debug script contents for DevTools
* @param gb - GrowthBook instance. DevMode must be enabled to view log events.
* @param {string} [source] - Label these events for ease of reading in DevTools
* @example
* A React logger component (implement yourself):
```
return (
<script dangerouslySetInnerHTML={{
__html: getDebugScriptContents(gb, "nextjs")
}} />
);
```
*/
export declare function getDebugScriptContents(gb: GrowthBook, source?: string): string;
export declare function getDebugEvent(gb: GrowthBook | UserScopedGrowthBook, source?: string): LogEvent | null;
//# sourceMappingURL=devtools.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/plugins/devtools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,MAAM,EACP,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAoB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,WAAW,kCAAkC;IACjD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CACpE;AACD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE;QACP,YAAY,EAAE,eAAe,CAAC;KAC/B,CAAC;IACF,OAAO,EAAE;QACP,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACpE,CAAC;CACH;AACD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AA6BD,wBAAgB,cAAc,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,MAAM,CAYpE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,YAAY,EACZ,cAAc,EACd,OAAO,GACR,EAAE;IACD,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,cAAc,CAAC,EAAE,kCAAkC,CAAC;IACpD,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,GAAG,MAAM,CAwCT;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,GACR,EAAE;IACD,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,GAAG,MAAM,CAwBT;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AACF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,UAAU,EACd,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,UAAU,GAAG,oBAAoB,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,QAAQ,GAAG,IAAI,CAwCjB"}

View File

@@ -0,0 +1,31 @@
import type { Attributes, EventProperties } from "../types/growthbook";
import type { GrowthBook } from "../GrowthBook";
import type { GrowthBookClient, UserScopedGrowthBook } from "../GrowthBookClient";
type GlobalTrackedEvent = {
eventName: string;
properties: Record<string, unknown>;
};
declare global {
interface Window {
gbEvents?: (GlobalTrackedEvent | string)[] | {
push: (event: GlobalTrackedEvent | string) => void;
};
}
}
type EventData = {
eventName: string;
properties: EventProperties;
attributes: Attributes;
url: string;
};
export declare function growthbookTrackingPlugin({ queueFlushInterval, ingestorHost, enable, debug, dedupeCacheSize, dedupeKeyAttributes, eventFilter, }?: {
queueFlushInterval?: number;
ingestorHost?: string;
enable?: boolean;
debug?: boolean;
dedupeCacheSize?: number;
dedupeKeyAttributes?: string[];
eventFilter?: (event: EventData) => boolean;
}): (gb: GrowthBook | UserScopedGrowthBook | GrowthBookClient) => void;
export {};
//# sourceMappingURL=growthbook-tracking.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"growthbook-tracking.d.ts","sourceRoot":"","sources":["../../src/plugins/growthbook-tracking.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAK7B,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AACF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,QAAQ,CAAC,EACL,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,GAC/B;YACE,IAAI,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,KAAK,IAAI,CAAC;SACpD,CAAC;KACP;CACF;AAyED,KAAK,SAAS,GAAG;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAoDF,wBAAgB,wBAAwB,CAAC,EACvC,kBAAwB,EACxB,YAAY,EACZ,MAAa,EACb,KAAK,EACL,eAAsB,EACtB,mBAAwB,EACxB,WAAW,GACZ,GAAE;IAED,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CACxC,QACQ,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,UAiIjE"}

View File

@@ -0,0 +1,6 @@
export { autoAttributesPlugin } from "./auto-attributes";
export { growthbookTrackingPlugin } from "./growthbook-tracking";
export { thirdPartyTrackingPlugin } from "./third-party-tracking";
export { devtoolsPlugin, devtoolsNextjsPlugin, devtoolsExpressPlugin, getDebugScriptContents, getDebugEvent, } from "./devtools";
export type { DevtoolsState, ExpressRequestCompat, NextjsReadonlyRequestCookiesCompat, NextjsRequestCompat, LogEvent, SdkInfo, } from "./devtools";
//# sourceMappingURL=index.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,kCAAkC,EAClC,mBAAmB,EACnB,QAAQ,EACR,OAAO,GACR,MAAM,YAAY,CAAC"}

View File

@@ -0,0 +1,9 @@
import type { TrackingCallback } from "../types/growthbook";
import type { GrowthBook } from "../GrowthBook";
import type { GrowthBookClient, UserScopedGrowthBook } from "../GrowthBookClient";
export type Trackers = "gtag" | "gtm" | "segment";
export declare function thirdPartyTrackingPlugin({ additionalCallback, trackers, }?: {
additionalCallback?: TrackingCallback;
trackers?: Trackers[];
}): (gb: GrowthBook | UserScopedGrowthBook | GrowthBookClient) => void;
//# sourceMappingURL=third-party-tracking.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"third-party-tracking.d.ts","sourceRoot":"","sources":["../../src/plugins/third-party-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAElD,wBAAgB,wBAAwB,CAAC,EACvC,kBAAkB,EAClB,QAAqC,GACtC,GAAE;IACD,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CAClB,QAMQ,UAAU,GAAG,oBAAoB,GAAG,gBAAgB,UAoDjE"}