Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
2.6 kB · 72 lines
TypeScript
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import type { CoordinateMode, CuSubGates } from '@ant/computer-use-mcp/types'
import { getDynamicConfig_CACHED_MAY_BE_STALE } from '../../services/analytics/growthbook.js'import { getSubscriptionType } from '../auth.js'import { isEnvTruthy } from '../envUtils.js'
type ChicagoConfig = CuSubGates & { enabled: boolean coordinateMode: CoordinateMode}
const DEFAULTS: ChicagoConfig = { enabled: false, pixelValidation: false, clipboardPasteMultiline: true, mouseAnimation: true, hideBeforeAction: true, autoTargetDisplay: true, clipboardGuard: true, coordinateMode: 'pixels',}
// Spread over defaults so a partial JSON ({"enabled": true} alone) inherits the// rest. The generic on getDynamicConfig is a type assertion, not a validator —// GB returning a partial object would otherwise surface undefined fields.function readConfig(): ChicagoConfig { return { ...DEFAULTS, ...getDynamicConfig_CACHED_MAY_BE_STALE<Partial<ChicagoConfig>>( 'tengu_malort_pedway', DEFAULTS, ), }}
// Max/Pro only for external rollout. Ant bypass so dogfooding continues// regardless of subscription tier — not all ants are max/pro, and per// CLAUDE.md:281, USER_TYPE !== 'ant' branches get zero antfooding.function hasRequiredSubscription(): boolean { if (process.env.USER_TYPE === 'ant') return true const tier = getSubscriptionType() return tier === 'max' || tier === 'pro'}
export function getChicagoEnabled(): boolean { // Disable for ants whose shell inherited monorepo dev config. // MONOREPO_ROOT_DIR is exported by config/local/zsh/zshrc, which // laptop-setup.sh wires into ~/.zshrc — its presence is the cheap // proxy for "has monorepo access". Override: ALLOW_ANT_COMPUTER_USE_MCP=1. if ( process.env.USER_TYPE === 'ant' && process.env.MONOREPO_ROOT_DIR && !isEnvTruthy(process.env.ALLOW_ANT_COMPUTER_USE_MCP) ) { return false } return hasRequiredSubscription() && readConfig().enabled}
export function getChicagoSubGates(): CuSubGates { const { enabled: _e, coordinateMode: _c, ...subGates } = readConfig() return subGates}
// Frozen at first read — setup.ts builds tool descriptions and executor.ts// scales coordinates off the same value. A live read here lets a mid-session// GB flip tell the model "pixels" while transforming clicks as normalized.let frozenCoordinateMode: CoordinateMode | undefinedexport function getChicagoCoordinateMode(): CoordinateMode { frozenCoordinateMode ??= readConfig().coordinateMode return frozenCoordinateMode}