Forge
csharpdeeb25a2
1namespace CascadeIDE.Models;
2
3/// <summary>AEE policy and runner (ADR 0148 §11). TOML: <c>[agent.environment]</c>.</summary>
4public sealed class AgentEnvironmentSettings
5{
6 public string DefaultVerifyPolicy { get; set; } = "standard";
7
8 public string DefaultSandboxProfile { get; set; } = "agent_ephemeral";
9
10 public int RunnerMaxConcurrency { get; set; } = 2;
11
12 public int CoalesceWindowMs { get; set; } = 1500;
13
14 /// <summary>deny | tests_only | allow_with_audit</summary>
15 public string ShellEscapeTier { get; set; } = "deny";
16
17 /// <summary>agent_ephemeral | agent_worktree | in_place — для длинных autonomous run (W6).</summary>
18 public string LongRunSandboxProfile { get; set; } = "agent_worktree";
19
20 /// <summary>supervised-inproc | supervised-worker-process | supervised-worker-daemon</summary>
21 public string BuildVerifyHost { get; set; } = "supervised-inproc";
22
23 /// <summary>Абсолютный путь к <c>CascadeIDE.BuildVerifyWorker.dll</c>; пусто = авто рядом с exe / repo tools.</summary>
24 public string? BuildVerifyWorkerAssemblyPath { get; set; }
25
26 public AgentDevServiceContractSettings DevServices { get; set; } = new();
27
28 public AgentEnvironmentLadderSettings Ladder { get; set; } = new();
29
30 public AgentEnvironmentTimeAccountingSettings TimeAccounting { get; set; } = new();
31}
32
33public sealed class AgentEnvironmentLadderSettings
34{
35 public bool DiagnoseFilesEnabled { get; set; } = true;
36
37 public bool TestFullRequireExplicit { get; set; } = true;
38
39 /// <summary>open_tabs | open_tabs_and_git_dirty_cs — см. <c>AgentDiagnoseFilesCsScopeParser</c> (ADR 0148).</summary>
40 public string DiagnoseFilesCsScope { get; set; } = "open_tabs_and_git_dirty_cs";
41
42 /// <summary>Макс. доп. <c>.cs</c>-файлов из git diff (рабочее дерево + индекс).</summary>
43 public int DiagnoseFilesGitDirtyMaxFiles { get; set; } = 48;
44
45 /// <summary>Добавлять в diagnose.files пути из solution warm-up (открытые/активный .cs), читая с диска если не во вкладках.</summary>
46 public bool DiagnoseFilesIncludeWarmupCs { get; set; } = true;
47
48 /// <summary>Лимит доп. warmup-путей; 0 = как <c>solution_warmup.max_open_document_files</c>.</summary>
49 public int DiagnoseFilesWarmupMaxFiles { get; set; }
50
51 /// <summary>test.scoped: только тесты, затронутые git-dirty <c>.cs</c> (ADR 0148 F).</summary>
52 public bool TestScopedTouchedTestsOnly { get; set; } = true;
53}
54
55public sealed class AgentEnvironmentTimeAccountingSettings
56{
57 public bool ShowInChat { get; set; } = true;
58
59 public bool PfdInstrumentEnabled { get; set; } = true;
60
61 /// <summary>Краткие строки build/test в чат (W3).</summary>
62 public bool ShowTaskProgressInChat { get; set; } = true;
63
64 /// <summary>0 = выкл; иначе порог без фокуса CIDE для idle_user (W3+).</summary>
65 public int IdleUserThresholdMs { get; set; }
66}
67
View only · write via MCP/CIDE