feat(cron): make cron tools opt-in via experimental settings

Change cron/loop tools from opt-out to opt-in. Cron tools are now
disabled by default and can be enabled via:
- settings.json: { "experimental": { "cron": true } }
- Environment variable: QWEN_CODE_ENABLE_CRON=1

This ensures experimental features are explicitly enabled by users
who want to try them.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
tanzhenxin 2026-03-29 02:25:28 +00:00
parent 99e5a9fbfd
commit 439a1a46e2
9 changed files with 75 additions and 32 deletions

View file

@ -204,7 +204,7 @@ describe('useGeminiStream', () => {
.mockReturnValue(contentGeneratorConfig),
getMaxSessionTurns: vi.fn(() => 50),
getArenaAgentClient: vi.fn(() => null),
isCronDisabled: vi.fn(() => true),
isCronEnabled: vi.fn(() => false),
getCronScheduler: vi.fn(() => null),
} as unknown as Config;
mockOnDebugMessage = vi.fn();

View file

@ -1643,7 +1643,7 @@ export const useGeminiStream = (
// Start the scheduler on mount, stop on unmount
useEffect(() => {
if (config.isCronDisabled()) return;
if (!config.isCronEnabled()) return;
const scheduler = config.getCronScheduler();
scheduler.start((job: { prompt: string }) => {
cronQueueRef.current.push(job.prompt);