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:
parent
5b19f83040
commit
2ae463a8fe
40
build.ts
40
build.ts
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user