1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/** Shared reactive app settings. */
let autoExpandThinking = $state(false);
let systemPrompt = $state("");
let savedSystemPrompt = $state("");
let toolPerms = $state<Record<string, boolean>>({
read: true,
edit: false,
bash: false,
summon: false,
user_agent: false,
send_to_tab: false,
read_tab: false,
external_directory: false,
web_search: false,
youtube_transcribe: false,
search_code: false,
key_usage: false,
lsp: false,
});
let savedToolPerms = $state<Record<string, boolean>>({
read: true,
edit: false,
bash: false,
summon: false,
user_agent: false,
send_to_tab: false,
read_tab: false,
external_directory: false,
web_search: false,
youtube_transcribe: false,
search_code: false,
key_usage: false,
lsp: false,
});
let skillChecks = $state<Record<string, boolean>>({});
let chunkLimit = $state(100);
export const appSettings = {
get chunkLimit() {
return chunkLimit;
},
set chunkLimit(v: number) {
chunkLimit = v;
},
get autoExpandThinking() {
return autoExpandThinking;
},
set autoExpandThinking(v: boolean) {
autoExpandThinking = v;
},
get systemPrompt() {
return systemPrompt;
},
set systemPrompt(v: string) {
systemPrompt = v;
},
get savedSystemPrompt() {
return savedSystemPrompt;
},
set savedSystemPrompt(v: string) {
savedSystemPrompt = v;
},
get toolPerms() {
return toolPerms;
},
set toolPerms(v: Record<string, boolean>) {
toolPerms = v;
},
get savedToolPerms() {
return savedToolPerms;
},
set savedToolPerms(v: Record<string, boolean>) {
savedToolPerms = v;
},
get toolPermsDirty() {
return Object.keys(toolPerms).some((k) => toolPerms[k] !== savedToolPerms[k]);
},
get skillChecks() {
return skillChecks;
},
set skillChecks(v: Record<string, boolean>) {
skillChecks = v;
},
get skillChecksDirty() {
return Object.values(skillChecks).some((v) => v);
},
};
|