beast-agent 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/preload.js CHANGED
@@ -1,128 +1,149 @@
1
- 'use strict';
2
-
3
- const { contextBridge, ipcRenderer } = require('electron');
4
-
5
- contextBridge.exposeInMainWorld('beast', {
6
- getState: () => ipcRenderer.invoke('app:state'),
7
- logsGet: () => ipcRenderer.invoke('logs:get'),
8
- logsClear: () => ipcRenderer.invoke('logs:clear'),
9
- listSessions: () => ipcRenderer.invoke('sessions:list'),
10
- createSession: () => ipcRenderer.invoke('sessions:create'),
11
- openSession: (id) => ipcRenderer.invoke('sessions:open', id),
12
- deleteSession: (id) => ipcRenderer.invoke('sessions:delete', id),
13
- send: (sessionId, text) => ipcRenderer.invoke('agent:send', { sessionId, text }),
14
- interrupt: (sessionId) => ipcRenderer.invoke('agent:interrupt', sessionId),
15
- setModel: (sel) => ipcRenderer.invoke('model:set', sel),
16
- pickWorkspace: () => ipcRenderer.invoke('cwd:set'),
17
- openExternal: (url) => ipcRenderer.send('open-external', url),
18
- getMemory: () => ipcRenderer.invoke('memory:get'),
19
- agentsList: () => ipcRenderer.invoke('agents:list'),
20
- agentsDetail: (id) => ipcRenderer.invoke('agents:detail', id),
21
- agentsCancel: (id) => ipcRenderer.invoke('agents:cancel', id),
22
- getCeoMode: () => ipcRenderer.invoke('ceo:get'),
23
- setCeoMode: (v) => ipcRenderer.invoke('ceo:set', v),
24
- listNotes: () => ipcRenderer.invoke('notes:list'),
25
- clearNotes: (id) => ipcRenderer.invoke('notes:clear', id),
26
- saveMemory: (file, content) => ipcRenderer.invoke('memory:save', { file, content }),
27
- listSkills: () => ipcRenderer.invoke('skills:list'),
28
- openSkillsFolder: () => ipcRenderer.invoke('skills:openFolder'),
29
- draftsList: () => ipcRenderer.invoke('skills:drafts:list'),
30
- draftAccept: (id) => ipcRenderer.invoke('skills:drafts:accept', id),
31
- draftDrop: (id) => ipcRenderer.invoke('skills:drafts:drop', id),
32
- rulesGet: () => ipcRenderer.invoke('rules:get'),
33
- ruleAdd: (t) => ipcRenderer.invoke('rules:add', t),
34
- ruleRemove: (id) => ipcRenderer.invoke('rules:remove', id),
35
- eventsGetConfig: () => ipcRenderer.invoke('events:config:get'),
36
- eventsSetConfig: (cfg) => ipcRenderer.invoke('events:config:set', cfg),
37
- eventsSubs: () => ipcRenderer.invoke('events:subs:list'),
38
- eventUnsub: (id) => ipcRenderer.invoke('events:subs:remove', id),
39
- getSettings: () => ipcRenderer.invoke('settings:get'),
40
- getFallout: () => ipcRenderer.invoke('fallout:get'),
41
- setFallout: (cfg) => ipcRenderer.invoke('fallout:set', cfg),
42
- getLimits: () => ipcRenderer.invoke('limits:get'),
43
- setLimits: (cfg) => ipcRenderer.invoke('limits:set', cfg),
44
- secGet: () => ipcRenderer.invoke('sec:get'),
45
- secSet: (cfg) => ipcRenderer.invoke('sec:set', cfg),
46
- approvalRespond: (id, ok, always) => ipcRenderer.invoke('approval:respond', { id, ok, always }),
47
- sttTranscribe: (b64, lang) => ipcRenderer.invoke('stt:transcribe', b64, lang),
48
- sttLangGet: () => ipcRenderer.invoke('stt:lang:get'),
49
- sttLangSet: (lang) => ipcRenderer.invoke('stt:lang:set', lang),
50
- updateStatus: () => ipcRenderer.invoke('update:status'),
51
- updateCheck: () => ipcRenderer.invoke('update:check'),
52
- updateInstall: () => ipcRenderer.invoke('update:install'),
53
- updateSetAuto: (cfg) => ipcRenderer.invoke('update:setAuto', cfg),
54
- setModel: (sel) => ipcRenderer.invoke('model:set', sel),
55
- setRoleModels: (map) => ipcRenderer.invoke('model:role', map),
56
- deleteModel: (sel) => ipcRenderer.invoke('model:delete', sel),
57
- restoreModel: (sel) => ipcRenderer.invoke('model:restore', sel),
58
- setVisibleModels: (list) => ipcRenderer.invoke('visible-models:set', list),
59
- refreshModels: () => ipcRenderer.invoke('models:refresh'),
60
- setTheme: (t) => ipcRenderer.invoke('theme:set', t),
61
- toggleBrowser: () => ipcRenderer.invoke('browser:toggle'),
62
- browserShownGet: () => ipcRenderer.invoke('browser:shown:get'),
63
- browserShownSet: (v) => ipcRenderer.invoke('browser:shown:set', v),
64
- terminalToggle: () => ipcRenderer.invoke('terminal:toggle'),
65
- terminalRun: (cmd, shell) => ipcRenderer.invoke('terminal:run', { cmd, shell }),
66
- terminalStop: () => ipcRenderer.invoke('terminal:stop'),
67
- thinkSet: (v) => ipcRenderer.invoke('think:set', v),
68
- exaGet: () => ipcRenderer.invoke('exa:get'),
69
- exaSet: (key) => ipcRenderer.invoke('exa:set', key),
70
- exaClear: () => ipcRenderer.invoke('exa:clear'),
71
- tinyfishGet: () => ipcRenderer.invoke('tinyfish:get'),
72
- tinyfishSet: (key) => ipcRenderer.invoke('tinyfish:set', key),
73
- tinyfishClear: () => ipcRenderer.invoke('tinyfish:clear'),
74
- browserNavigate: (url) => ipcRenderer.invoke('browser:navigate', url),
75
- browserCtrl: (action) => ipcRenderer.invoke('browser:ctrl', action),
76
- browserSetWidth: (w) => ipcRenderer.invoke('browser:setWidth', w),
77
- browserSetIgnoreMouse: (flag) => ipcRenderer.invoke('browser:setIgnoreMouse', flag),
78
- browserScreenshot: () => ipcRenderer.invoke('browser:screenshot'),
79
- cronList: () => ipcRenderer.invoke('cron:list'),
80
- cronAdd: (job) => ipcRenderer.invoke('cron:add', job),
81
- cronUpdate: (id, patch) => ipcRenderer.invoke('cron:update', { id, patch }),
82
- cronDelete: (id) => ipcRenderer.invoke('cron:delete', id),
83
- cronToggle: (id) => ipcRenderer.invoke('cron:toggle', id),
84
- cronRunNow: (id) => ipcRenderer.invoke('cron:runNow', id),
85
-
86
- watchersList: () => ipcRenderer.invoke('watchers:list'),
87
-
88
- watchersAdd: (input) => ipcRenderer.invoke('watchers:add', input),
89
-
90
- watchersRemove: (id) => ipcRenderer.invoke('watchers:remove', id),
91
-
92
- watchersToggle: (id) => ipcRenderer.invoke('watchers:toggle', id),
93
-
94
- providerKeys: () => ipcRenderer.invoke('providers:keys'),
95
-
96
- openPath: (p) => ipcRenderer.invoke('shell:openPath', p),
97
-
98
- showItemInFolder: (p) => ipcRenderer.invoke('shell:showItem', p),
99
- setCustomProviders: (list) => ipcRenderer.invoke('custom:set', list),
100
- fetchModels: (opts) => ipcRenderer.invoke('custom:fetchModels', opts),
101
- waStart: () => ipcRenderer.invoke('wa:start'),
102
- waStop: () => ipcRenderer.invoke('wa:stop'),
103
- waReset: () => ipcRenderer.invoke('wa:reset'),
104
- waStatus: () => ipcRenderer.invoke('wa:status'),
105
- waGetAllow: () => ipcRenderer.invoke('wa:allow:get'),
106
- waSetAllow: (list) => ipcRenderer.invoke('wa:allow:set', list),
107
- setWaLockdown: (v) => ipcRenderer.invoke('wa:lockdown:set', v),
108
- waGetTts: () => ipcRenderer.invoke('wa:tts:get'),
109
- waSetTts: (cfg) => ipcRenderer.invoke('wa:tts:set', cfg),
110
- waGetGroups: () => ipcRenderer.invoke('wa:groups:get'),
111
- waSetGroups: (cfg) => ipcRenderer.invoke('wa:groups:set', cfg),
112
- getUsage: () => ipcRenderer.invoke('usage:get'),
113
- resetUsage: () => ipcRenderer.invoke('usage:reset'),
114
- createBackup: () => ipcRenderer.invoke('backup:create'),
115
- restoreBackup: () => ipcRenderer.invoke('backup:restore'),
116
- setupStatus: () => ipcRenderer.invoke('setup:status'),
117
- setupSaveProvider: (p) => ipcRenderer.invoke('setup:saveProvider', p),
118
- setupComplete: (o) => ipcRenderer.invoke('setup:complete', o),
119
- setupSkip: () => ipcRenderer.invoke('setup:skip'),
120
- whereWasIGet: () => ipcRenderer.invoke('wherewasi:get'),
121
- whereWasISet: (cfg) => ipcRenderer.invoke('wherewasi:set', cfg),
122
- getEmail: () => ipcRenderer.invoke('email:get'),
123
- setEmail: (cfg) => ipcRenderer.invoke('email:set', cfg),
124
- captureScreen: () => ipcRenderer.invoke('screen:capture'),
125
- waListSessions: () => ipcRenderer.invoke('wa:sessions'),
126
- onWaEvent: (cb) => ipcRenderer.on('wa:event', (_e, ev) => cb(ev)),
127
- onEvent: (cb) => ipcRenderer.on('agent:event', (_e, ev) => cb(ev)),
128
- });
1
+ 'use strict';
2
+
3
+ const { contextBridge, ipcRenderer } = require('electron');
4
+
5
+ contextBridge.exposeInMainWorld('beast', {
6
+ getState: () => ipcRenderer.invoke('app:state'),
7
+ logsGet: () => ipcRenderer.invoke('logs:get'),
8
+ logsClear: () => ipcRenderer.invoke('logs:clear'),
9
+ listSessions: () => ipcRenderer.invoke('sessions:list'),
10
+ createSession: () => ipcRenderer.invoke('sessions:create'),
11
+ openSession: (id) => ipcRenderer.invoke('sessions:open', id),
12
+ deleteSession: (id) => ipcRenderer.invoke('sessions:delete', id),
13
+ send: (sessionId, text) => ipcRenderer.invoke('agent:send', { sessionId, text }),
14
+ interrupt: (sessionId) => ipcRenderer.invoke('agent:interrupt', sessionId),
15
+ setModel: (sel) => ipcRenderer.invoke('model:set', sel),
16
+ pickWorkspace: () => ipcRenderer.invoke('cwd:set'),
17
+ openExternal: (url) => ipcRenderer.send('open-external', url),
18
+ getMemory: () => ipcRenderer.invoke('memory:get'),
19
+ agentsList: () => ipcRenderer.invoke('agents:list'),
20
+ agentsDetail: (id) => ipcRenderer.invoke('agents:detail', id),
21
+ agentsCancel: (id) => ipcRenderer.invoke('agents:cancel', id),
22
+ getCeoMode: () => ipcRenderer.invoke('ceo:get'),
23
+ setCeoMode: (v) => ipcRenderer.invoke('ceo:set', v),
24
+ listNotes: () => ipcRenderer.invoke('notes:list'),
25
+ clearNotes: (id) => ipcRenderer.invoke('notes:clear', id),
26
+ saveMemory: (file, content) => ipcRenderer.invoke('memory:save', { file, content }),
27
+ listSkills: () => ipcRenderer.invoke('skills:list'),
28
+ openSkillsFolder: () => ipcRenderer.invoke('skills:openFolder'),
29
+ draftsList: () => ipcRenderer.invoke('skills:drafts:list'),
30
+ draftAccept: (id) => ipcRenderer.invoke('skills:drafts:accept', id),
31
+ draftDrop: (id) => ipcRenderer.invoke('skills:drafts:drop', id),
32
+ rulesGet: () => ipcRenderer.invoke('rules:get'),
33
+ ruleAdd: (t) => ipcRenderer.invoke('rules:add', t),
34
+ ruleRemove: (id) => ipcRenderer.invoke('rules:remove', id),
35
+ eventsGetConfig: () => ipcRenderer.invoke('events:config:get'),
36
+ eventsSetConfig: (cfg) => ipcRenderer.invoke('events:config:set', cfg),
37
+ eventsSubs: () => ipcRenderer.invoke('events:subs:list'),
38
+ eventUnsub: (id) => ipcRenderer.invoke('events:subs:remove', id),
39
+ getSettings: () => ipcRenderer.invoke('settings:get'),
40
+ getFallout: () => ipcRenderer.invoke('fallout:get'),
41
+ setFallout: (cfg) => ipcRenderer.invoke('fallout:set', cfg),
42
+ getLimits: () => ipcRenderer.invoke('limits:get'),
43
+ setLimits: (cfg) => ipcRenderer.invoke('limits:set', cfg),
44
+ secGet: () => ipcRenderer.invoke('sec:get'),
45
+ secSet: (cfg) => ipcRenderer.invoke('sec:set', cfg),
46
+ approvalRespond: (id, ok, always) => ipcRenderer.invoke('approval:respond', { id, ok, always }),
47
+ sttTranscribe: (b64, lang) => ipcRenderer.invoke('stt:transcribe', b64, lang),
48
+ sttLangGet: () => ipcRenderer.invoke('stt:lang:get'),
49
+ sttLangSet: (lang) => ipcRenderer.invoke('stt:lang:set', lang),
50
+ updateStatus: () => ipcRenderer.invoke('update:status'),
51
+ updateCheck: () => ipcRenderer.invoke('update:check'),
52
+ updateInstall: () => ipcRenderer.invoke('update:install'),
53
+ updateSetAuto: (cfg) => ipcRenderer.invoke('update:setAuto', cfg),
54
+ setModel: (sel) => ipcRenderer.invoke('model:set', sel),
55
+ setRoleModels: (map) => ipcRenderer.invoke('model:role', map),
56
+ deleteModel: (sel) => ipcRenderer.invoke('model:delete', sel),
57
+ restoreModel: (sel) => ipcRenderer.invoke('model:restore', sel),
58
+ setVisibleModels: (list) => ipcRenderer.invoke('visible-models:set', list),
59
+ refreshModels: () => ipcRenderer.invoke('models:refresh'),
60
+ setTheme: (t) => ipcRenderer.invoke('theme:set', t),
61
+ toggleBrowser: () => ipcRenderer.invoke('browser:toggle'),
62
+ browserShownGet: () => ipcRenderer.invoke('browser:shown:get'),
63
+ browserShownSet: (v) => ipcRenderer.invoke('browser:shown:set', v),
64
+ terminalToggle: () => ipcRenderer.invoke('terminal:toggle'),
65
+ terminalRun: (cmd, shell) => ipcRenderer.invoke('terminal:run', { cmd, shell }),
66
+ terminalStop: () => ipcRenderer.invoke('terminal:stop'),
67
+ thinkSet: (v) => ipcRenderer.invoke('think:set', v),
68
+ exaGet: () => ipcRenderer.invoke('exa:get'),
69
+ exaSet: (key) => ipcRenderer.invoke('exa:set', key),
70
+ exaClear: () => ipcRenderer.invoke('exa:clear'),
71
+ tinyfishGet: () => ipcRenderer.invoke('tinyfish:get'),
72
+ tinyfishSet: (key) => ipcRenderer.invoke('tinyfish:set', key),
73
+ tinyfishClear: () => ipcRenderer.invoke('tinyfish:clear'),
74
+ browserNavigate: (url) => ipcRenderer.invoke('browser:navigate', url),
75
+ browserCtrl: (action) => ipcRenderer.invoke('browser:ctrl', action),
76
+ browserSetWidth: (w) => ipcRenderer.invoke('browser:setWidth', w),
77
+ browserSetIgnoreMouse: (flag) => ipcRenderer.invoke('browser:setIgnoreMouse', flag),
78
+ browserScreenshot: () => ipcRenderer.invoke('browser:screenshot'),
79
+ cronList: () => ipcRenderer.invoke('cron:list'),
80
+ cronAdd: (job) => ipcRenderer.invoke('cron:add', job),
81
+ cronUpdate: (id, patch) => ipcRenderer.invoke('cron:update', { id, patch }),
82
+ cronDelete: (id) => ipcRenderer.invoke('cron:delete', id),
83
+ cronToggle: (id) => ipcRenderer.invoke('cron:toggle', id),
84
+ cronRunNow: (id) => ipcRenderer.invoke('cron:runNow', id),
85
+
86
+ watchersList: () => ipcRenderer.invoke('watchers:list'),
87
+
88
+ watchersAdd: (input) => ipcRenderer.invoke('watchers:add', input),
89
+
90
+ watchersRemove: (id) => ipcRenderer.invoke('watchers:remove', id),
91
+
92
+ watchersToggle: (id) => ipcRenderer.invoke('watchers:toggle', id),
93
+
94
+ providerKeys: () => ipcRenderer.invoke('providers:keys'),
95
+
96
+ openPath: (p) => ipcRenderer.invoke('shell:openPath', p),
97
+
98
+ showItemInFolder: (p) => ipcRenderer.invoke('shell:showItem', p),
99
+ setCustomProviders: (list) => ipcRenderer.invoke('custom:set', list),
100
+ fetchModels: (opts) => ipcRenderer.invoke('custom:fetchModels', opts),
101
+ builtinProviders: () => ipcRenderer.invoke('providers:builtin'),
102
+ zenOneClick: () => ipcRenderer.invoke('zen:oneClick'),
103
+ waStart: () => ipcRenderer.invoke('wa:start'),
104
+ waStop: () => ipcRenderer.invoke('wa:stop'),
105
+ waReset: () => ipcRenderer.invoke('wa:reset'),
106
+ waStatus: () => ipcRenderer.invoke('wa:status'),
107
+ waGetAllow: () => ipcRenderer.invoke('wa:allow:get'),
108
+ waQueueGet: () => ipcRenderer.invoke('wa:queue:get'),
109
+ waSetAllow: (list) => ipcRenderer.invoke('wa:allow:set', list),
110
+ setWaLockdown: (v) => ipcRenderer.invoke('wa:lockdown:set', v),
111
+ waGetTts: () => ipcRenderer.invoke('wa:tts:get'),
112
+ waSetTts: (cfg) => ipcRenderer.invoke('wa:tts:set', cfg),
113
+ waGetGroups: () => ipcRenderer.invoke('wa:groups:get'),
114
+ waSetGroups: (cfg) => ipcRenderer.invoke('wa:groups:set', cfg),
115
+ getUsage: () => ipcRenderer.invoke('usage:get'),
116
+ resetUsage: () => ipcRenderer.invoke('usage:reset'),
117
+ createBackup: () => ipcRenderer.invoke('backup:create'),
118
+ restoreBackup: () => ipcRenderer.invoke('backup:restore'),
119
+ setupStatus: () => ipcRenderer.invoke('setup:status'),
120
+ setupSaveProvider: (p) => ipcRenderer.invoke('setup:saveProvider', p),
121
+ setupComplete: (o) => ipcRenderer.invoke('setup:complete', o),
122
+ setupSkip: () => ipcRenderer.invoke('setup:skip'),
123
+ whereWasIGet: () => ipcRenderer.invoke('wherewasi:get'),
124
+ whereWasISet: (cfg) => ipcRenderer.invoke('wherewasi:set', cfg),
125
+ getEmail: () => ipcRenderer.invoke('email:get'),
126
+ setEmail: (cfg) => ipcRenderer.invoke('email:set', cfg),
127
+ captureScreen: () => ipcRenderer.invoke('screen:capture'),
128
+ waListSessions: () => ipcRenderer.invoke('wa:sessions'),
129
+ botsList: () => ipcRenderer.invoke('bots:list'),
130
+ botsAdd: (input) => ipcRenderer.invoke('bots:add', input),
131
+ botsUpdate: (id, patch) => ipcRenderer.invoke('bots:update', { id, patch }),
132
+ botsRemove: (id) => ipcRenderer.invoke('bots:remove', id),
133
+ botsStats: () => ipcRenderer.invoke('bots:stats'),
134
+ botsActiveGet: () => ipcRenderer.invoke('bots:active:get'),
135
+ botsActivate: (id) => ipcRenderer.invoke('bots:activate', id),
136
+ botsMemGet: (id) => ipcRenderer.invoke('bots:memory:get', id),
137
+ botsMemSet: (id, file, content) => ipcRenderer.invoke('bots:memory:set', { id, file, content }),
138
+ botsLogGet: (id) => ipcRenderer.invoke('bots:log:get', id),
139
+ storeList: () => ipcRenderer.invoke('store:list'),
140
+ storeSetIdentity: (p) => ipcRenderer.invoke('store:identity:set', p),
141
+ storePick: () => ipcRenderer.invoke('store:pick'),
142
+ storeCommit: (p) => ipcRenderer.invoke('store:commit', p),
143
+ storeInstall: (id) => ipcRenderer.invoke('store:install', id),
144
+ storeLike: (id) => ipcRenderer.invoke('store:like', id),
145
+ storeRemove: (id) => ipcRenderer.invoke('store:remove', id),
146
+ storeExport: (id) => ipcRenderer.invoke('store:export', id),
147
+ onWaEvent: (cb) => ipcRenderer.on('wa:event', (_e, ev) => cb(ev)),
148
+ onEvent: (cb) => ipcRenderer.on('agent:event', (_e, ev) => cb(ev)),
149
+ });