836f733a2e
- Add get_api_key() and require_api_key() to auth.py - Add generic key-value settings storage to SettingsStore - Add test_api_key_auth to verify the implementation - Uses secrets.compare_digest for timing-safe comparison - Auto-generates API key on first use and stores in settings DB
127 lines
4.0 KiB
JSON
127 lines
4.0 KiB
JSON
{
|
|
"nextId": 1,
|
|
"settings": {
|
|
"globalPause": false,
|
|
"enginePaused": false,
|
|
"maxConcurrent": 2,
|
|
"maxTriageConcurrent": 2,
|
|
"globalMaxConcurrent": 4,
|
|
"maxWorktrees": 4,
|
|
"pollIntervalMs": 15000,
|
|
"heartbeatMultiplier": 1,
|
|
"groupOverlappingFiles": true,
|
|
"overlapIgnorePaths": [],
|
|
"autoMerge": true,
|
|
"mergeStrategy": "direct",
|
|
"requirePrApproval": false,
|
|
"pushAfterMerge": false,
|
|
"pushRemote": "origin",
|
|
"unavailableNodePolicy": "block",
|
|
"recycleWorktrees": false,
|
|
"worktreeNaming": "random",
|
|
"taskPrefix": "FN",
|
|
"includeTaskIdInCommit": true,
|
|
"commitAuthorEnabled": true,
|
|
"commitAuthorName": "Fusion",
|
|
"commitAuthorEmail": "noreply@runfusion.ai",
|
|
"modelPresets": [],
|
|
"autoSelectModelPreset": false,
|
|
"completionDocumentationMode": "off",
|
|
"defaultPresetBySize": {},
|
|
"autoResolveConflicts": true,
|
|
"smartConflictResolution": true,
|
|
"mergerAutostashMaxAgeHours": 24,
|
|
"worktreeRebaseBeforeMerge": true,
|
|
"worktreeRebaseRemote": "",
|
|
"worktreeRebaseLocalBase": true,
|
|
"mergeConflictStrategy": "smart-prefer-main",
|
|
"workflowStepTimeoutMs": 360000,
|
|
"strictScopeEnforcement": false,
|
|
"buildRetryCount": 0,
|
|
"verificationFixRetries": 3,
|
|
"buildTimeoutMs": 300000,
|
|
"requirePlanApproval": false,
|
|
"specStalenessEnabled": false,
|
|
"specStalenessMaxAgeMs": 21600000,
|
|
"aiSessionTtlMs": 604800000,
|
|
"aiSessionCleanupIntervalMs": 3600000,
|
|
"autoUnpauseEnabled": true,
|
|
"autoUnpauseBaseDelayMs": 300000,
|
|
"autoUnpauseMaxDelayMs": 3600000,
|
|
"maxStuckKills": 6,
|
|
"preserveProgressOnStuckRequeue": true,
|
|
"maxPostReviewFixes": 1,
|
|
"maxSpawnedAgentsPerParent": 5,
|
|
"maxSpawnedAgentsGlobal": 20,
|
|
"maintenanceIntervalMs": 300000,
|
|
"autoArchiveDoneTasksEnabled": true,
|
|
"autoArchiveDoneAfterMs": 172800000,
|
|
"archiveAgentLogMode": "compact",
|
|
"autoUpdatePrStatus": false,
|
|
"githubCommentOnDone": false,
|
|
"githubTrackingEnabledByDefault": false,
|
|
"githubAuthMode": "gh-cli",
|
|
"autoBackupEnabled": false,
|
|
"autoBackupSchedule": "0 2 * * *",
|
|
"autoBackupRetention": 7,
|
|
"autoBackupDir": ".fusion/backups",
|
|
"memoryBackupEnabled": false,
|
|
"memoryBackupSchedule": "0 3 * * *",
|
|
"memoryBackupRetention": 14,
|
|
"memoryBackupDir": ".fusion/backups/memory",
|
|
"memoryBackupScope": "all",
|
|
"autoSummarizeTitles": false,
|
|
"useAiMergeCommitSummary": true,
|
|
"insightExtractionEnabled": false,
|
|
"insightExtractionSchedule": "0 2 * * *",
|
|
"insightExtractionMinIntervalMs": 86400000,
|
|
"taskEvaluationEnabled": false,
|
|
"taskEvaluationSchedule": "0 5 * * *",
|
|
"taskEvaluationFollowUpPolicy": "off",
|
|
"memoryEnabled": true,
|
|
"memoryBackendType": "qmd",
|
|
"memoryAutoSummarizeEnabled": false,
|
|
"memoryAutoSummarizeThresholdChars": 50000,
|
|
"memoryAutoSummarizeSchedule": "0 3 * * *",
|
|
"memoryDreamsEnabled": false,
|
|
"memoryDreamsSchedule": "0 4 * * *",
|
|
"runStepsInNewSessions": false,
|
|
"maxParallelSteps": 2,
|
|
"missionStaleThresholdMs": 600000,
|
|
"missionMaxTaskRetries": 3,
|
|
"missionHealthCheckIntervalMs": 300000,
|
|
"reflectionEnabled": false,
|
|
"reflectionIntervalMs": 3600000,
|
|
"reflectionAfterTask": true,
|
|
"reviewHandoffPolicy": "disabled",
|
|
"showQuickChatFAB": false,
|
|
"researchSettings": {
|
|
"enabled": true,
|
|
"enabledSources": {
|
|
"webSearch": true,
|
|
"pageFetch": true,
|
|
"github": false,
|
|
"localDocs": true,
|
|
"llmSynthesis": true
|
|
},
|
|
"limits": {
|
|
"maxConcurrentRuns": 3,
|
|
"maxSourcesPerRun": 20,
|
|
"maxDurationMs": 300000,
|
|
"requestTimeoutMs": 30000
|
|
}
|
|
},
|
|
"evalSettings": {
|
|
"enabled": false,
|
|
"intervalMs": 86400000,
|
|
"followUpPolicy": "suggest-only",
|
|
"retentionDays": 30
|
|
},
|
|
"researchEnabled": true,
|
|
"researchMaxConcurrentRuns": 3,
|
|
"researchDefaultTimeout": 300000,
|
|
"researchMaxSourcesPerRun": 20,
|
|
"researchMaxSynthesisRounds": 2,
|
|
"globalPauseReason": "manual"
|
|
}
|
|
} |