tangweijie 7b40485f60 feat: 初始化 Monorepo 项目结构
- 添加 pnpm workspace 和 Turborepo 配置
- 创建 packages/shared 共享类型和工具
- 创建 packages/core-sdk 核心 SDK
- 创建 packages/vscode-extension VSCode 插件
- 创建 packages/jetbrains-plugin JetBrains 插件基础结构
- 添加 README 文档
2026-01-05 18:08:18 +08:00

105 lines
2.0 KiB
TypeScript

import type { CollectorConfig, PrivacyConfig } from '../types';
import { EventType } from '../types';
/**
* 默认隐私配置
*/
export const DEFAULT_PRIVACY_CONFIG: PrivacyConfig = {
anonymizeUser: true,
obfuscateCode: true,
excludePaths: ['*.secret.*', 'node_modules/', '.git/', '*.env*', '*.key', '*.pem'],
maxCodeLength: 500,
};
/**
* 默认采集配置
*/
export const DEFAULT_COLLECTOR_CONFIG: CollectorConfig = {
enabled: true,
samplingRate: 1.0,
realtimeEnabled: false,
batchSize: 50,
flushIntervalSeconds: 60,
apiEndpoint: 'http://localhost:8000/api/v1/events',
privacy: DEFAULT_PRIVACY_CONFIG,
eventsToCapture: [
EventType.CODE_COMPLETION_SHOWN,
EventType.CODE_COMPLETION_ACCEPTED,
EventType.CODE_COMPLETION_REJECTED,
EventType.CHAT_SESSION_START,
EventType.CHAT_MESSAGE_SENT,
EventType.CHAT_RESPONSE_RECEIVED,
EventType.CHAT_SESSION_END,
],
};
/**
* 支持的编程语言列表
*/
export const SUPPORTED_LANGUAGES = [
'javascript',
'typescript',
'python',
'java',
'go',
'rust',
'cpp',
'c',
'csharp',
'php',
'ruby',
'swift',
'kotlin',
'scala',
'vue',
'react',
'html',
'css',
'sql',
'shell',
'markdown',
] as const;
/**
* API 版本
*/
export const API_VERSION = 'v1';
/**
* 插件版本
*/
export const PLUGIN_VERSION = '0.1.0';
/**
* 本地存储键名
*/
export const STORAGE_KEYS = {
CONFIG: 'ide-collector-config',
USER_ID: 'ide-collector-user-id',
EVENT_QUEUE: 'ide-collector-event-queue',
LAST_SYNC: 'ide-collector-last-sync',
} as const;
/**
* HTTP 请求超时 (ms)
*/
export const HTTP_TIMEOUT_MS = 30000;
/**
* 最大队列长度
*/
export const MAX_QUEUE_SIZE = 1000;
/**
* 敏感词模式
*/
export const SENSITIVE_PATTERNS = [
/password\s*[:=]\s*['"][^'"]+['"]/gi,
/api[_-]?key\s*[:=]\s*['"][^'"]+['"]/gi,
/secret\s*[:=]\s*['"][^'"]+['"]/gi,
/token\s*[:=]\s*['"][^'"]+['"]/gi,
/\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b/g, // IP 地址
/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g, // Email
];