refactor: dev.ts 和 build.ts 统一从 defines.ts 导入 feature flags

之前三个文件各自维护独立的 feature 列表,导致合并时容易漏掉变更
(如 CONTEXT_COLLAPSE 在 defines.ts 已禁用但 build.ts 仍启用)。

现在 dev.ts 和 build.ts 都从 defines.ts 导入 DEFAULT_BUILD_FEATURES,
与上游保持一致的单一定义源模式。

Co-Authored-By: CoStrict-DeepSeek-V4-Pro <deepseek-ai@claude-code-best.win>
This commit is contained in:
Askhz 2026-05-18 17:28:16 +08:00
parent 5b19f83040
commit 2ae463a8fe
2 changed files with 4 additions and 70 deletions

View File

@ -1,6 +1,6 @@
import { readdir, readFile, writeFile, cp, unlink, mkdir } from 'fs/promises' import { readdir, readFile, writeFile, cp, unlink, mkdir } from 'fs/promises'
import { join } from 'path' import { join } from 'path'
import { getMacroDefines } from './scripts/defines.ts' import { getMacroDefines, DEFAULT_BUILD_FEATURES } from './scripts/defines.ts'
const outdir = 'dist' const outdir = 'dist'
@ -23,44 +23,8 @@ if (process.env.SKIP_REVIEW_BUILTIN) {
} }
} }
// Default features that match the official CLI build. // Feature flags imported from defines.ts (single source of truth).
// Additional features can be enabled via FEATURE_<NAME>=1 env vars. // Additional features can be enabled via FEATURE_<NAME>=1 env vars.
const DEFAULT_BUILD_FEATURES = [
'AGENT_TRIGGERS_REMOTE',
'CHICAGO_MCP',
'VOICE_MODE',
'SHOT_STATS',
'PROMPT_CACHE_BREAK_DETECTION',
'TOKEN_BUDGET',
// P0: local features
'AGENT_TRIGGERS',
'ULTRATHINK',
'BUILTIN_EXPLORE_PLAN_AGENTS',
'LODESTONE',
// P1: API-dependent features
'EXTRACT_MEMORIES',
'VERIFICATION_AGENT',
'KAIROS_BRIEF',
'AWAY_SUMMARY',
'ULTRAPLAN',
// P2: daemon + remote control server
'DAEMON',
// PR-package restored features
'WORKFLOW_SCRIPTS',
'HISTORY_SNIP',
// 'CONTEXT_COLLAPSE', // 已禁用:实现是空壳 stub启用后会抑制 auto compact 导致上下文管理完全失效
'MONITOR_TOOL',
'FORK_SUBAGENT',
// 'UDS_INBOX',
'KAIROS',
'COORDINATOR_MODE',
'LAN_PIPES',
// 'REVIEW_ARTIFACT', // API 请求无响应,需进一步排查 schema 兼容性
// P3: poor mode (disable extract_memories + prompt_suggestion)
'POOR',
// P3: serve mode (HTTP API server)
'DIRECT_CONNECT',
]
// Collect FEATURE_* env vars → Bun.build features // Collect FEATURE_* env vars → Bun.build features
const envFeatures = Object.keys(process.env) const envFeatures = Object.keys(process.env)

View File

@ -6,7 +6,7 @@
*/ */
import { join, dirname } from "node:path"; import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url"; import { fileURLToPath } from "node:url";
import { getMacroDefines } from "./defines.ts"; import { getMacroDefines, DEFAULT_BUILD_FEATURES as DEFAULT_FEATURES } from "./defines.ts";
// Resolve project root from this script's location // Resolve project root from this script's location
const __filename = fileURLToPath(import.meta.url); const __filename = fileURLToPath(import.meta.url);
@ -22,37 +22,7 @@ const defineArgs = Object.entries(defines).flatMap(([k, v]) => [
]); ]);
// Bun --feature flags: enable feature() gates at runtime. // Bun --feature flags: enable feature() gates at runtime.
// Default features enabled in dev mode. // Default features imported from defines.ts (single source of truth).
const DEFAULT_FEATURES = [
"BUDDY", "TRANSCRIPT_CLASSIFIER", "BRIDGE_MODE",
"AGENT_TRIGGERS_REMOTE", "CHICAGO_MCP", "VOICE_MODE",
"SHOT_STATS", "PROMPT_CACHE_BREAK_DETECTION", "TOKEN_BUDGET",
// P0: local features
"AGENT_TRIGGERS",
"ULTRATHINK",
"BUILTIN_EXPLORE_PLAN_AGENTS",
"LODESTONE",
// P1: API-dependent features
"EXTRACT_MEMORIES", "VERIFICATION_AGENT",
"KAIROS_BRIEF", "AWAY_SUMMARY", "ULTRAPLAN",
// P2: daemon + remote control server
"DAEMON",
// PR-package restored features
"WORKFLOW_SCRIPTS",
"HISTORY_SNIP",
// "CONTEXT_COLLAPSE", // 已禁用:实现是空壳 stub启用后会抑制 auto compact 导致上下文管理完全失效
"MONITOR_TOOL",
"FORK_SUBAGENT",
"UDS_INBOX",
"KAIROS",
"COORDINATOR_MODE",
"LAN_PIPES",
// "REVIEW_ARTIFACT", // API 请求无响应,需进一步排查 schema 兼容性
// P3: poor mode (disable extract_memories + prompt_suggestion)
"POOR",
// P3: serve mode (HTTP API server)
"DIRECT_CONNECT",
];
// Any env var matching FEATURE_<NAME>=1 will also enable that feature. // Any env var matching FEATURE_<NAME>=1 will also enable that feature.
// e.g. FEATURE_PROACTIVE=1 bun run dev // e.g. FEATURE_PROACTIVE=1 bun run dev