Files
admin 875c7f9b91 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
2026-05-05 09:01:26 +00:00

1 line
24 KiB
Plaintext

{"version":3,"file":"GrowthBookClient.mjs","names":["loadSDKVersion","clearAutoRefresh","configureCache","refreshFeatures","startStreaming","unsubscribe","decryptPayload","evalFeature","_evalFeature","getAllStickyBucketAssignmentDocs","getApiHosts","runExperiment","SDK_VERSION","GrowthBookClient","constructor","options","version","_options","debug","ready","_features","_experiments","log","bind","plugins","plugin","setPayload","payload","_payload","data","decryptionKey","_decryptedPayload","features","experiments","savedGroups","initSync","encryptedExperiments","encryptedFeatures","Error","init","cacheSettings","success","source","res","_refresh","allowStale","getApiInfo","apiHost","getClientKey","clientKey","getPayload","getFeatures","getDecryptedPayload","timeout","skipCache","streaming","instance","disableCache","backgroundSync","getGlobalAttributes","globalAttributes","setGlobalAttributes","attributes","destroy","_destroyed","destroyAllStreams","undefined","isDestroyed","setEventLogger","logger","eventLogger","logEvent","eventName","properties","userContext","ctx","_getEvalContext","user","runInlineExperiment","experiment","result","global","_getGlobalContext","stack","evaluatedFeatures","Set","enabled","qaMode","forcedFeatureValues","forcedVariations","trackingCallback","onFeatureUsage","isOn","key","on","isOff","off","getFeatureValue","defaultValue","value","id","msg","console","setTrackingCallback","callback","setFeatureUsageCallback","applyStickyBuckets","partialContext","stickyBucketService","stickyBucketAssignmentDocs","saveStickyBucketAssignmentDoc","doc","saveAssignments","createScopedInstance","userPlugins","UserScopedGrowthBook","gb","_gb","_userContext","logs","trackedExperiments","trackedFeatureUsage","devLogs","enableDevMode","push","timestamp","Date","now","toString","logType","cb","setURL","url","updateAttributes","setAttributeOverrides","overrides","attributeOverrides","setForcedVariations","vars","setForcedFeatures","map","getUserContext","getVersion","inDevMode"],"sources":["../../src/GrowthBookClient.ts"],"sourcesContent":["import type {\n ApiHost,\n Attributes,\n AutoExperiment,\n ClientKey,\n ClientOptions,\n DestroyOptions,\n EvalContext,\n EventLogger,\n EventProperties,\n Experiment,\n FeatureApiResponse,\n FeatureDefinitions,\n FeatureResult,\n FeatureUsageCallback,\n GlobalContext,\n InitOptions,\n InitResponse,\n InitSyncOptions,\n LogUnion,\n Plugin,\n RefreshFeaturesOptions,\n Result,\n TrackingCallback,\n TrackingCallbackWithUser,\n UserContext,\n WidenPrimitives,\n} from \"./types/growthbook\";\nimport { loadSDKVersion } from \"./util\";\nimport {\n clearAutoRefresh,\n configureCache,\n refreshFeatures,\n startStreaming,\n unsubscribe,\n} from \"./feature-repository\";\nimport {\n decryptPayload,\n evalFeature as _evalFeature,\n getAllStickyBucketAssignmentDocs,\n getApiHosts,\n runExperiment,\n} from \"./core\";\nimport { StickyBucketService } from \"./sticky-bucket-service\";\n\nconst SDK_VERSION = loadSDKVersion();\n\nexport class GrowthBookClient<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AppFeatures extends Record<string, any> = Record<string, any>,\n> {\n public debug: boolean;\n public ready: boolean;\n public version: string;\n\n // Properties and methods that start with \"_\" are mangled by Terser (saves ~150 bytes)\n private _options: ClientOptions;\n\n private _features: FeatureDefinitions;\n private _experiments: AutoExperiment[];\n private _payload: FeatureApiResponse | undefined;\n private _decryptedPayload: FeatureApiResponse | undefined;\n private _destroyed?: boolean;\n\n constructor(options?: ClientOptions) {\n options = options || {};\n // These properties are all initialized in the constructor instead of above\n // This saves ~80 bytes in the final output\n this.version = SDK_VERSION;\n this._options = options;\n this.debug = !!options.debug;\n this.ready = false;\n this._features = {};\n this._experiments = [];\n\n this.log = this.log.bind(this);\n\n if (options.plugins) {\n for (const plugin of options.plugins) {\n plugin(this);\n }\n }\n }\n\n public async setPayload(payload: FeatureApiResponse): Promise<void> {\n this._payload = payload;\n const data = await decryptPayload(payload, this._options.decryptionKey);\n this._decryptedPayload = data;\n if (data.features) {\n this._features = data.features;\n }\n if (data.experiments) {\n this._experiments = data.experiments;\n }\n if (data.savedGroups) {\n this._options.savedGroups = data.savedGroups;\n }\n this.ready = true;\n }\n\n public initSync(options: InitSyncOptions): GrowthBookClient<AppFeatures> {\n const payload = options.payload;\n\n if (payload.encryptedExperiments || payload.encryptedFeatures) {\n throw new Error(\"initSync does not support encrypted payloads\");\n }\n\n this._payload = payload;\n this._decryptedPayload = payload;\n if (payload.features) {\n this._features = payload.features;\n }\n if (payload.experiments) {\n this._experiments = payload.experiments;\n }\n\n this.ready = true;\n\n startStreaming(this, options);\n\n return this;\n }\n\n public async init(options?: InitOptions): Promise<InitResponse> {\n options = options || {};\n\n if (options.cacheSettings) {\n configureCache(options.cacheSettings);\n }\n\n if (options.payload) {\n await this.setPayload(options.payload);\n startStreaming(this, options);\n return {\n success: true,\n source: \"init\",\n };\n } else {\n const { data, ...res } = await this._refresh({\n ...options,\n allowStale: true,\n });\n startStreaming(this, options);\n await this.setPayload(data || {});\n return res;\n }\n }\n\n public async refreshFeatures(\n options?: RefreshFeaturesOptions,\n ): Promise<void> {\n const res = await this._refresh({\n ...(options || {}),\n allowStale: false,\n });\n if (res.data) {\n await this.setPayload(res.data);\n }\n }\n\n public getApiInfo(): [ApiHost, ClientKey] {\n return [this.getApiHosts().apiHost, this.getClientKey()];\n }\n public getApiHosts() {\n return getApiHosts(this._options);\n }\n public getClientKey(): string {\n return this._options.clientKey || \"\";\n }\n public getPayload(): FeatureApiResponse {\n return (\n this._payload || {\n features: this.getFeatures(),\n experiments: this._experiments || [],\n }\n );\n }\n public getDecryptedPayload(): FeatureApiResponse {\n return this._decryptedPayload || this.getPayload();\n }\n\n private async _refresh({\n timeout,\n skipCache,\n allowStale,\n streaming,\n }: RefreshFeaturesOptions & {\n allowStale?: boolean;\n streaming?: boolean;\n }) {\n if (!this._options.clientKey) {\n throw new Error(\"Missing clientKey\");\n }\n // Trigger refresh in feature repository\n return refreshFeatures({\n instance: this,\n timeout,\n skipCache: skipCache || this._options.disableCache,\n allowStale,\n backgroundSync: streaming ?? true,\n });\n }\n\n public getFeatures() {\n return this._features || {};\n }\n\n public getGlobalAttributes(): Attributes {\n return this._options.globalAttributes || {};\n }\n public setGlobalAttributes(attributes: Attributes) {\n this._options.globalAttributes = attributes;\n }\n\n public destroy(options?: DestroyOptions) {\n options = options || {};\n this._destroyed = true;\n unsubscribe(this);\n if (options.destroyAllStreams) {\n clearAutoRefresh();\n }\n\n // Release references to save memory\n this._features = {};\n this._experiments = [];\n this._decryptedPayload = undefined;\n this._payload = undefined;\n this._options = {};\n }\n\n public isDestroyed() {\n return !!this._destroyed;\n }\n\n public setEventLogger(logger: EventLogger) {\n this._options.eventLogger = logger;\n }\n\n public logEvent(\n eventName: string,\n properties: EventProperties,\n userContext: UserContext,\n ) {\n if (this._options.eventLogger) {\n const ctx = this._getEvalContext(userContext);\n this._options.eventLogger(eventName, properties, ctx.user);\n }\n }\n\n public runInlineExperiment<T>(\n experiment: Experiment<T>,\n userContext: UserContext,\n ): Result<T> {\n const { result } = runExperiment(\n experiment,\n null,\n this._getEvalContext(userContext),\n );\n return result;\n }\n\n private _getEvalContext(userContext: UserContext): EvalContext {\n if (this._options.globalAttributes) {\n userContext = {\n ...userContext,\n attributes: {\n ...this._options.globalAttributes,\n ...userContext.attributes,\n },\n };\n }\n\n return {\n user: userContext,\n global: this._getGlobalContext(),\n stack: {\n evaluatedFeatures: new Set(),\n },\n };\n }\n\n private _getGlobalContext(): GlobalContext {\n return {\n features: this._features,\n experiments: this._experiments,\n log: this.log,\n enabled: this._options.enabled,\n qaMode: this._options.qaMode,\n savedGroups: this._options.savedGroups,\n forcedFeatureValues: this._options.forcedFeatureValues,\n forcedVariations: this._options.forcedVariations,\n trackingCallback: this._options.trackingCallback,\n onFeatureUsage: this._options.onFeatureUsage,\n };\n }\n\n public isOn<K extends string & keyof AppFeatures = string>(\n key: K,\n userContext: UserContext,\n ): boolean {\n return this.evalFeature(key, userContext).on;\n }\n\n public isOff<K extends string & keyof AppFeatures = string>(\n key: K,\n userContext: UserContext,\n ): boolean {\n return this.evalFeature(key, userContext).off;\n }\n\n public getFeatureValue<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string,\n >(key: K, defaultValue: V, userContext: UserContext): WidenPrimitives<V> {\n const value = this.evalFeature<WidenPrimitives<V>, K>(\n key,\n userContext,\n ).value;\n return value === null ? (defaultValue as WidenPrimitives<V>) : value;\n }\n\n public evalFeature<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string,\n >(id: K, userContext: UserContext): FeatureResult<V | null> {\n return _evalFeature(id, this._getEvalContext(userContext));\n }\n\n log(msg: string, ctx: Record<string, unknown>) {\n if (!this.debug) return;\n if (this._options.log) this._options.log(msg, ctx);\n else console.log(msg, ctx);\n }\n\n public setTrackingCallback(callback: TrackingCallbackWithUser) {\n this._options.trackingCallback = callback;\n }\n\n public setFeatureUsageCallback(callback: FeatureUsageCallback) {\n this._options.onFeatureUsage = callback;\n }\n\n public async applyStickyBuckets(\n partialContext: Omit<\n UserContext,\n \"stickyBucketService\" | \"stickyBucketAssignmentDocs\"\n >,\n stickyBucketService: StickyBucketService,\n ): Promise<UserContext> {\n const ctx = this._getEvalContext(partialContext);\n\n const stickyBucketAssignmentDocs = await getAllStickyBucketAssignmentDocs(\n ctx,\n stickyBucketService,\n );\n\n return {\n ...partialContext,\n stickyBucketAssignmentDocs,\n saveStickyBucketAssignmentDoc: (doc) =>\n stickyBucketService.saveAssignments(doc),\n };\n }\n\n public createScopedInstance(\n userContext: UserContext,\n userPlugins?: Plugin[],\n ) {\n return new UserScopedGrowthBook(this, userContext, [\n ...(this._options.plugins || []),\n ...(userPlugins || []),\n ]);\n }\n}\n\nexport class UserScopedGrowthBook<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n AppFeatures extends Record<string, any> = Record<string, any>,\n> {\n private _gb: GrowthBookClient;\n private _userContext: UserContext;\n public logs: Array<LogUnion>;\n\n constructor(\n gb: GrowthBookClient<AppFeatures>,\n userContext: UserContext,\n plugins?: Plugin[],\n ) {\n this._gb = gb;\n this._userContext = userContext;\n this.logs = [];\n\n this._userContext.trackedExperiments =\n this._userContext.trackedExperiments || new Set();\n this._userContext.trackedFeatureUsage =\n this._userContext.trackedFeatureUsage || {};\n this._userContext.devLogs = this.logs;\n\n if (plugins) {\n for (const plugin of plugins) {\n plugin(this);\n }\n }\n }\n\n public runInlineExperiment<T>(experiment: Experiment<T>): Result<T> {\n return this._gb.runInlineExperiment(experiment, this._userContext);\n }\n\n public isOn<K extends string & keyof AppFeatures = string>(key: K): boolean {\n return this._gb.isOn(key, this._userContext);\n }\n\n public isOff<K extends string & keyof AppFeatures = string>(key: K): boolean {\n return this._gb.isOff(key, this._userContext);\n }\n\n public getFeatureValue<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string,\n >(key: K, defaultValue: V): WidenPrimitives<V> {\n return this._gb.getFeatureValue(key, defaultValue, this._userContext);\n }\n\n public evalFeature<\n V extends AppFeatures[K],\n K extends string & keyof AppFeatures = string,\n >(id: K): FeatureResult<V | null> {\n return this._gb.evalFeature(id, this._userContext);\n }\n\n public logEvent(eventName: string, properties?: EventProperties) {\n if (this._userContext.enableDevMode) {\n this.logs.push({\n eventName,\n properties,\n timestamp: Date.now().toString(),\n logType: \"event\",\n });\n }\n this._gb.logEvent(eventName, properties || {}, this._userContext);\n }\n\n public setTrackingCallback(cb: TrackingCallback) {\n this._userContext.trackingCallback = cb;\n }\n public getApiInfo(): [ApiHost, ClientKey] {\n return this._gb.getApiInfo();\n }\n public getClientKey() {\n return this._gb.getClientKey();\n }\n public setURL(url: string) {\n this._userContext.url = url;\n }\n public updateAttributes(attributes: Attributes) {\n this._userContext.attributes = {\n ...this._userContext.attributes,\n ...attributes,\n };\n }\n public setAttributeOverrides(overrides: Attributes) {\n this._userContext.attributeOverrides = overrides;\n }\n public async setForcedVariations(vars: Record<string, number>) {\n this._userContext.forcedVariations = vars || {};\n }\n // eslint-disable-next-line\n public setForcedFeatures(map: Map<string, any>) {\n this._userContext.forcedFeatureValues = map;\n }\n public getUserContext() {\n return this._userContext;\n }\n public getVersion() {\n return SDK_VERSION;\n }\n public getDecryptedPayload() {\n return this._gb.getDecryptedPayload();\n }\n public inDevMode(): boolean {\n return !!this._userContext.enableDevMode;\n }\n}\n"],"mappings":"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","ignoreList":[]}