ft-scout 9.0.3 → 9.0.5
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/.firebase/hosting.d2Vi.cache +7 -7
- package/README.md +76 -83
- package/bin/src/commands/agent.d.ts.map +1 -1
- package/bin/src/commands/agent.js +31 -228
- package/bin/src/commands/agent.js.map +1 -1
- package/bin/src/commands/plan.d.ts.map +1 -1
- package/bin/src/commands/plan.js +45 -18
- package/bin/src/commands/plan.js.map +1 -1
- package/bin/src/engine/actionVerifier.d.ts.map +1 -1
- package/bin/src/engine/actionVerifier.js +61 -9
- package/bin/src/engine/actionVerifier.js.map +1 -1
- package/bin/src/engine/agentEngine.d.ts.map +1 -1
- package/bin/src/engine/agentEngine.js +701 -553
- package/bin/src/engine/agentEngine.js.map +1 -1
- package/bin/src/engine/agentState.d.ts.map +1 -1
- package/bin/src/engine/agentState.js +0 -64
- package/bin/src/engine/agentState.js.map +1 -1
- package/bin/src/engine/browser/browserController.d.ts.map +1 -1
- package/bin/src/engine/browser/browserController.js +8 -0
- package/bin/src/engine/browser/browserController.js.map +1 -1
- package/bin/src/engine/computer/computerController.d.ts.map +1 -1
- package/bin/src/engine/computer/computerController.js +686 -240
- package/bin/src/engine/computer/computerController.js.map +1 -1
- package/bin/src/engine/computer/computerDiagnostic.d.ts.map +1 -0
- package/bin/src/engine/computer/computerDiagnostic.js +71 -0
- package/bin/src/engine/computer/computerDiagnostic.js.map +1 -0
- package/bin/src/engine/computer/index.d.ts.map +1 -1
- package/bin/src/engine/computer/index.js +2 -0
- package/bin/src/engine/computer/index.js.map +1 -1
- package/bin/src/engine/computer/mockComputer.d.ts.map +1 -0
- package/bin/src/engine/computer/mockComputer.js +260 -0
- package/bin/src/engine/computer/mockComputer.js.map +1 -0
- package/bin/src/engine/computer/scoutDriver.cs +873 -0
- package/bin/src/engine/computer/scout_driver.exe +0 -0
- package/bin/src/engine/runtime/agentRuntime.d.ts.map +1 -0
- package/bin/src/engine/runtime/agentRuntime.js +1160 -0
- package/bin/src/engine/runtime/agentRuntime.js.map +1 -0
- package/bin/src/engine/runtime/index.d.ts.map +1 -0
- package/bin/src/engine/runtime/index.js +2 -0
- package/bin/src/engine/runtime/index.js.map +1 -0
- package/bin/src/engine/safety.d.ts.map +1 -1
- package/bin/src/engine/safety.js +59 -25
- package/bin/src/engine/safety.js.map +1 -1
- package/bin/src/engine/toolRegistry.d.ts.map +1 -1
- package/bin/src/engine/toolRegistry.js +293 -68
- package/bin/src/engine/toolRegistry.js.map +1 -1
- package/bin/src/engine/voiceEngine.d.ts.map +1 -1
- package/bin/src/engine/voiceEngine.js +0 -1
- package/bin/src/engine/voiceEngine.js.map +1 -1
- package/bin/src/engine/workspace/agentWorkspace.d.ts.map +1 -0
- package/bin/src/engine/workspace/agentWorkspace.js +505 -0
- package/bin/src/engine/workspace/agentWorkspace.js.map +1 -0
- package/bin/src/engine/workspace/index.d.ts.map +1 -0
- package/bin/src/engine/workspace/index.js +2 -0
- package/bin/src/engine/workspace/index.js.map +1 -0
- package/bin/src/index.js +4 -5
- package/bin/src/index.js.map +1 -1
- package/bin/src/server/server.d.ts.map +1 -1
- package/bin/src/server/server.js +25 -4
- package/bin/src/server/server.js.map +1 -1
- package/bin/src/utils/auth.d.ts.map +1 -1
- package/bin/src/utils/auth.js +81 -50
- package/bin/src/utils/auth.js.map +1 -1
- package/bin/src/utils/branding.js +1 -1
- package/bin/src/utils/payment.d.ts.map +1 -1
- package/bin/src/utils/payment.js +15 -1
- package/bin/src/utils/payment.js.map +1 -1
- package/bin/src/utils/pricing.js +1 -1
- package/bin/src/utils/pricing.js.map +1 -1
- package/bin/src/utils/razorpay.d.ts.map +1 -1
- package/bin/src/utils/razorpay.js +10 -2
- package/bin/src/utils/razorpay.js.map +1 -1
- package/downloads/invoice-2026-03.pdf +1 -0
- package/package.json +1 -1
- package/web/app.js +54 -135
- package/web/styles.css +2 -2
- package/bin/src/engine/appControl.d.ts.map +0 -1
- package/bin/src/engine/appControl.js +0 -2413
- package/bin/src/engine/appControl.js.map +0 -1
- package/bin/src/engine/liveScreenEngine.d.ts.map +0 -1
- package/bin/src/engine/liveScreenEngine.js +0 -421
- package/bin/src/engine/liveScreenEngine.js.map +0 -1
- package/bin/src/engine/scripts/winCapture.ps1 +0 -248
- package/downloads/INVOICE_2026_ACME.pdf +0 -1
|
@@ -1,8 +1,76 @@
|
|
|
1
1
|
import { AGENT_TOOLS } from './agentEngine.js';
|
|
2
|
+
export const BROWSER_AUTOMATION_TOOLS = [
|
|
3
|
+
{
|
|
4
|
+
name: 'browser_navigate',
|
|
5
|
+
description: 'Open a URL in the browser and parse its DOM contents and interactive elements.',
|
|
6
|
+
parameters: {
|
|
7
|
+
type: 'object',
|
|
8
|
+
properties: {
|
|
9
|
+
url: { type: 'string', description: 'Target HTTP or HTTPS URL' },
|
|
10
|
+
},
|
|
11
|
+
required: ['url'],
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'browser_inspect',
|
|
16
|
+
description: 'Inspect current web page DOM to discover clickable links, buttons, inputs, and form controls.',
|
|
17
|
+
parameters: {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {},
|
|
20
|
+
required: [],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'browser_click',
|
|
25
|
+
description: 'Click a button, link, or element on the active web page by selector, text, or ref ID.',
|
|
26
|
+
parameters: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
selectorOrText: { type: 'string', description: 'Element text, CSS selector, or ref (e.g. "[ref=1]", "#download", "Download Invoice")' },
|
|
30
|
+
},
|
|
31
|
+
required: ['selectorOrText'],
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: 'browser_type',
|
|
36
|
+
description: 'Type text into an input field or textarea on the active web page.',
|
|
37
|
+
parameters: {
|
|
38
|
+
type: 'object',
|
|
39
|
+
properties: {
|
|
40
|
+
selectorOrText: { type: 'string', description: 'Target input name, placeholder, or selector' },
|
|
41
|
+
text: { type: 'string', description: 'Text string to fill in' },
|
|
42
|
+
},
|
|
43
|
+
required: ['selectorOrText', 'text'],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'browser_download',
|
|
48
|
+
description: 'Download a file from an active page link or direct URL and save to workspace disk.',
|
|
49
|
+
parameters: {
|
|
50
|
+
type: 'object',
|
|
51
|
+
properties: {
|
|
52
|
+
urlOrSelector: { type: 'string', description: 'Download link URL or selector' },
|
|
53
|
+
destPath: { type: 'string', description: 'Optional destination file path' },
|
|
54
|
+
},
|
|
55
|
+
required: ['urlOrSelector'],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'browser_content',
|
|
60
|
+
description: 'Extract visible text and tabular content from the active web page.',
|
|
61
|
+
parameters: {
|
|
62
|
+
type: 'object',
|
|
63
|
+
properties: {
|
|
64
|
+
selector: { type: 'string', description: 'Optional CSS selector to scope extraction' },
|
|
65
|
+
},
|
|
66
|
+
required: [],
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
];
|
|
2
70
|
export const COMPUTER_USE_TOOLS = [
|
|
3
71
|
{
|
|
4
72
|
name: 'computer_screenshot',
|
|
5
|
-
description: 'Capture
|
|
73
|
+
description: 'Capture the current screen to observe visible windows, active applications, and UI controls.',
|
|
6
74
|
parameters: {
|
|
7
75
|
type: 'object',
|
|
8
76
|
properties: {},
|
|
@@ -11,91 +79,130 @@ export const COMPUTER_USE_TOOLS = [
|
|
|
11
79
|
},
|
|
12
80
|
{
|
|
13
81
|
name: 'computer_click',
|
|
14
|
-
description: 'Click mouse
|
|
82
|
+
description: 'Click the mouse at a specific screen (x, y) coordinate with optional button selection.',
|
|
83
|
+
parameters: {
|
|
84
|
+
type: 'object',
|
|
85
|
+
properties: {
|
|
86
|
+
x: { type: 'number', description: 'Horizontal pixel coordinate (0 to screen width)' },
|
|
87
|
+
y: { type: 'number', description: 'Vertical pixel coordinate (0 to screen height)' },
|
|
88
|
+
button: { type: 'string', enum: ['left', 'right', 'middle'], description: 'Mouse button to click (default: left)' },
|
|
89
|
+
},
|
|
90
|
+
required: ['x', 'y'],
|
|
91
|
+
},
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
name: 'computer_double_click',
|
|
95
|
+
description: 'Double click the primary mouse button at screen (x, y) coordinates to open files or select words.',
|
|
15
96
|
parameters: {
|
|
16
97
|
type: 'object',
|
|
17
98
|
properties: {
|
|
18
99
|
x: { type: 'number', description: 'Horizontal pixel coordinate' },
|
|
19
100
|
y: { type: 'number', description: 'Vertical pixel coordinate' },
|
|
20
|
-
button: { type: 'string', description: 'Mouse button ("left", "right", "middle")', enum: ['left', 'right', 'middle'] },
|
|
21
|
-
double: { type: 'boolean', description: 'Whether to perform double-click' },
|
|
22
101
|
},
|
|
23
102
|
required: ['x', 'y'],
|
|
24
103
|
},
|
|
25
104
|
},
|
|
26
105
|
{
|
|
27
106
|
name: 'computer_type',
|
|
28
|
-
description: 'Type text
|
|
107
|
+
description: 'Type text into the currently active or focused application window/input field.',
|
|
29
108
|
parameters: {
|
|
30
109
|
type: 'object',
|
|
31
110
|
properties: {
|
|
32
|
-
text: { type: 'string', description: '
|
|
111
|
+
text: { type: 'string', description: 'The text characters to type' },
|
|
33
112
|
},
|
|
34
113
|
required: ['text'],
|
|
35
114
|
},
|
|
36
115
|
},
|
|
116
|
+
{
|
|
117
|
+
name: 'computer_key_press',
|
|
118
|
+
description: 'Press an individual keyboard key (e.g. Enter, Tab, Escape, Backspace, Up, Down, Left, Right).',
|
|
119
|
+
parameters: {
|
|
120
|
+
type: 'object',
|
|
121
|
+
properties: {
|
|
122
|
+
key: { type: 'string', description: 'Key name to press (e.g. Enter, Tab, Escape, Backspace)' },
|
|
123
|
+
},
|
|
124
|
+
required: ['key'],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
37
127
|
{
|
|
38
128
|
name: 'computer_hotkey',
|
|
39
|
-
description: '
|
|
129
|
+
description: 'Trigger a keyboard shortcut combination (e.g. ["Control", "s"], ["Alt", "Tab"], ["Control", "c"]).',
|
|
40
130
|
parameters: {
|
|
41
131
|
type: 'object',
|
|
42
132
|
properties: {
|
|
43
|
-
keys: {
|
|
133
|
+
keys: {
|
|
134
|
+
type: 'array',
|
|
135
|
+
items: { type: 'string' },
|
|
136
|
+
description: 'Array of key names pressed in sequence (e.g. ["Control", "s"])',
|
|
137
|
+
},
|
|
44
138
|
},
|
|
45
139
|
required: ['keys'],
|
|
46
140
|
},
|
|
47
141
|
},
|
|
48
142
|
{
|
|
49
|
-
name: '
|
|
50
|
-
description: '
|
|
143
|
+
name: 'computer_scroll',
|
|
144
|
+
description: 'Scroll the mouse wheel at the current cursor position.',
|
|
51
145
|
parameters: {
|
|
52
146
|
type: 'object',
|
|
53
147
|
properties: {
|
|
54
|
-
|
|
55
|
-
|
|
148
|
+
deltaY: { type: 'number', description: 'Vertical scroll amount (positive = down, negative = up)' },
|
|
149
|
+
deltaX: { type: 'number', description: 'Optional horizontal scroll amount' },
|
|
56
150
|
},
|
|
57
|
-
required: ['
|
|
151
|
+
required: ['deltaY'],
|
|
58
152
|
},
|
|
59
153
|
},
|
|
60
154
|
{
|
|
61
|
-
name: '
|
|
62
|
-
description: '
|
|
155
|
+
name: 'computer_mouse_move',
|
|
156
|
+
description: 'Move the mouse cursor to a specific screen (x, y) coordinate.',
|
|
63
157
|
parameters: {
|
|
64
158
|
type: 'object',
|
|
65
159
|
properties: {
|
|
66
|
-
|
|
160
|
+
x: { type: 'number', description: 'Target X coordinate' },
|
|
161
|
+
y: { type: 'number', description: 'Target Y coordinate' },
|
|
67
162
|
},
|
|
68
|
-
required: ['
|
|
163
|
+
required: ['x', 'y'],
|
|
69
164
|
},
|
|
70
165
|
},
|
|
71
166
|
{
|
|
72
|
-
name: '
|
|
73
|
-
description: '
|
|
167
|
+
name: 'computer_drag',
|
|
168
|
+
description: 'Click and drag the mouse from one screen position to another.',
|
|
74
169
|
parameters: {
|
|
75
170
|
type: 'object',
|
|
76
171
|
properties: {
|
|
77
|
-
|
|
78
|
-
|
|
172
|
+
fromX: { type: 'number', description: 'Starting X coordinate' },
|
|
173
|
+
fromY: { type: 'number', description: 'Starting Y coordinate' },
|
|
174
|
+
toX: { type: 'number', description: 'Ending X coordinate' },
|
|
175
|
+
toY: { type: 'number', description: 'Ending Y coordinate' },
|
|
79
176
|
},
|
|
80
|
-
required: ['
|
|
177
|
+
required: ['fromX', 'fromY', 'toX', 'toY'],
|
|
81
178
|
},
|
|
82
179
|
},
|
|
83
|
-
];
|
|
84
|
-
export const BROWSER_AUTOMATION_TOOLS = [
|
|
85
180
|
{
|
|
86
|
-
name: '
|
|
87
|
-
description: '
|
|
181
|
+
name: 'computer_open_app',
|
|
182
|
+
description: 'Launch or bring to focus a desktop application (e.g. "code", "notepad", "explorer", "terminal").',
|
|
88
183
|
parameters: {
|
|
89
184
|
type: 'object',
|
|
90
185
|
properties: {
|
|
91
|
-
|
|
186
|
+
appName: { type: 'string', description: 'Name or executable command of the application' },
|
|
187
|
+
args: { type: 'array', items: { type: 'string' }, description: 'Optional command line arguments' },
|
|
92
188
|
},
|
|
93
|
-
required: ['
|
|
189
|
+
required: ['appName'],
|
|
94
190
|
},
|
|
95
191
|
},
|
|
96
192
|
{
|
|
97
|
-
name: '
|
|
98
|
-
description: '
|
|
193
|
+
name: 'computer_switch_window',
|
|
194
|
+
description: 'Switch focus to an open window by matching its title or application name.',
|
|
195
|
+
parameters: {
|
|
196
|
+
type: 'object',
|
|
197
|
+
properties: {
|
|
198
|
+
windowTitleOrApp: { type: 'string', description: 'Title or partial name of target window' },
|
|
199
|
+
},
|
|
200
|
+
required: ['windowTitleOrApp'],
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: 'computer_inspect_ui',
|
|
205
|
+
description: 'List all open windows and inspect the currently active focused application.',
|
|
99
206
|
parameters: {
|
|
100
207
|
type: 'object',
|
|
101
208
|
properties: {},
|
|
@@ -103,65 +210,136 @@ export const BROWSER_AUTOMATION_TOOLS = [
|
|
|
103
210
|
},
|
|
104
211
|
},
|
|
105
212
|
{
|
|
106
|
-
name: '
|
|
107
|
-
description: '
|
|
213
|
+
name: 'computer_right_click',
|
|
214
|
+
description: 'Right click the mouse at a specific screen (x, y) coordinate to open context menus.',
|
|
108
215
|
parameters: {
|
|
109
216
|
type: 'object',
|
|
110
217
|
properties: {
|
|
111
|
-
|
|
218
|
+
x: { type: 'number', description: 'Horizontal pixel coordinate' },
|
|
219
|
+
y: { type: 'number', description: 'Vertical pixel coordinate' },
|
|
112
220
|
},
|
|
113
|
-
required: ['
|
|
221
|
+
required: ['x', 'y'],
|
|
114
222
|
},
|
|
115
223
|
},
|
|
116
224
|
{
|
|
117
|
-
name: '
|
|
118
|
-
description: '
|
|
225
|
+
name: 'computer_mouse_down',
|
|
226
|
+
description: 'Press and hold a mouse button at optional (x, y) coordinates.',
|
|
119
227
|
parameters: {
|
|
120
228
|
type: 'object',
|
|
121
229
|
properties: {
|
|
122
|
-
|
|
123
|
-
|
|
230
|
+
x: { type: 'number', description: 'Optional horizontal pixel coordinate' },
|
|
231
|
+
y: { type: 'number', description: 'Optional vertical pixel coordinate' },
|
|
232
|
+
button: { type: 'string', enum: ['left', 'right', 'middle'], description: 'Mouse button to press down (default: left)' },
|
|
124
233
|
},
|
|
125
|
-
required: [
|
|
234
|
+
required: [],
|
|
126
235
|
},
|
|
127
236
|
},
|
|
128
237
|
{
|
|
129
|
-
name: '
|
|
130
|
-
description: '
|
|
238
|
+
name: 'computer_mouse_up',
|
|
239
|
+
description: 'Release a mouse button at optional (x, y) coordinates.',
|
|
131
240
|
parameters: {
|
|
132
241
|
type: 'object',
|
|
133
242
|
properties: {
|
|
134
|
-
|
|
135
|
-
|
|
243
|
+
x: { type: 'number', description: 'Optional horizontal pixel coordinate' },
|
|
244
|
+
y: { type: 'number', description: 'Optional vertical pixel coordinate' },
|
|
245
|
+
button: { type: 'string', enum: ['left', 'right', 'middle'], description: 'Mouse button to release (default: left)' },
|
|
136
246
|
},
|
|
137
|
-
required: [
|
|
247
|
+
required: [],
|
|
138
248
|
},
|
|
139
249
|
},
|
|
140
250
|
{
|
|
141
|
-
name: '
|
|
142
|
-
description: '
|
|
251
|
+
name: 'computer',
|
|
252
|
+
description: 'Execute desktop computer control actions including mouse movements, clicks, drag, typing, hotkeys, window management, and screen inspection.',
|
|
143
253
|
parameters: {
|
|
144
254
|
type: 'object',
|
|
145
255
|
properties: {
|
|
146
|
-
|
|
256
|
+
action: {
|
|
257
|
+
type: 'string',
|
|
258
|
+
enum: [
|
|
259
|
+
'click',
|
|
260
|
+
'left_click',
|
|
261
|
+
'right_click',
|
|
262
|
+
'double_click',
|
|
263
|
+
'move',
|
|
264
|
+
'mouse_move',
|
|
265
|
+
'mouse_down',
|
|
266
|
+
'mouse_up',
|
|
267
|
+
'drag',
|
|
268
|
+
'scroll',
|
|
269
|
+
'screenshot',
|
|
270
|
+
'type',
|
|
271
|
+
'key_press',
|
|
272
|
+
'hotkey',
|
|
273
|
+
'open_app',
|
|
274
|
+
'close_app',
|
|
275
|
+
'switch_window',
|
|
276
|
+
'inspect_ui',
|
|
277
|
+
'diagnostic',
|
|
278
|
+
],
|
|
279
|
+
description: 'Computer automation action to execute',
|
|
280
|
+
},
|
|
281
|
+
x: { type: 'number', description: 'Horizontal pixel coordinate' },
|
|
282
|
+
y: { type: 'number', description: 'Vertical pixel coordinate' },
|
|
283
|
+
startX: { type: 'number', description: 'Starting X for drag operation' },
|
|
284
|
+
startY: { type: 'number', description: 'Starting Y for drag operation' },
|
|
285
|
+
endX: { type: 'number', description: 'Ending X for drag operation' },
|
|
286
|
+
endY: { type: 'number', description: 'Ending Y for drag operation' },
|
|
287
|
+
fromX: { type: 'number', description: 'Alternative starting X for drag' },
|
|
288
|
+
fromY: { type: 'number', description: 'Alternative starting Y for drag' },
|
|
289
|
+
toX: { type: 'number', description: 'Alternative ending X for drag' },
|
|
290
|
+
toY: { type: 'number', description: 'Alternative ending Y for drag' },
|
|
291
|
+
button: { type: 'string', enum: ['left', 'right', 'middle'], description: 'Mouse button to click or press' },
|
|
292
|
+
text: { type: 'string', description: 'Text characters to type into active application' },
|
|
293
|
+
key: { type: 'string', description: 'Individual keyboard key name' },
|
|
294
|
+
keys: { type: 'array', items: { type: 'string' }, description: 'Array of key names for shortcut combinations' },
|
|
295
|
+
deltaY: { type: 'number', description: 'Vertical scroll amount' },
|
|
296
|
+
deltaX: { type: 'number', description: 'Horizontal scroll amount' },
|
|
297
|
+
appName: { type: 'string', description: 'Application name or executable' },
|
|
298
|
+
app: { type: 'string', description: 'Alternative application name' },
|
|
299
|
+
windowTitleOrApp: { type: 'string', description: 'Target window title or partial name' },
|
|
147
300
|
},
|
|
148
|
-
required: [],
|
|
301
|
+
required: ['action'],
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
];
|
|
305
|
+
export const SCRATCHPAD_TOOLS = [
|
|
306
|
+
{
|
|
307
|
+
name: 'scratchpad',
|
|
308
|
+
description: 'Private reasoning scratchpad for multi-step planning, recording hypotheses, tracking subtasks, and organizing working memory across execution steps. (Exclusive to Pro & Enterprise plans).',
|
|
309
|
+
parameters: {
|
|
310
|
+
type: 'object',
|
|
311
|
+
properties: {
|
|
312
|
+
action: {
|
|
313
|
+
type: 'string',
|
|
314
|
+
enum: ['write', 'read', 'append', 'clear'],
|
|
315
|
+
description: 'Scratchpad action: "write" (replace contents), "append" (add to end), "read" (view current scratchpad), or "clear"',
|
|
316
|
+
},
|
|
317
|
+
content: {
|
|
318
|
+
type: 'string',
|
|
319
|
+
description: 'Notes, plan steps, reasoning breakdown, or observations to record in scratchpad',
|
|
320
|
+
},
|
|
321
|
+
},
|
|
322
|
+
required: ['action'],
|
|
149
323
|
},
|
|
150
324
|
},
|
|
151
325
|
];
|
|
152
326
|
export class UnifiedToolRegistry {
|
|
153
327
|
toolsMap = new Map();
|
|
154
328
|
constructor() {
|
|
155
|
-
// Register all baseline tools
|
|
329
|
+
// Register all baseline tools (15 tools)
|
|
156
330
|
for (const tool of AGENT_TOOLS) {
|
|
157
331
|
this.toolsMap.set(tool.name, tool);
|
|
158
332
|
}
|
|
333
|
+
// Register browser automation tools
|
|
334
|
+
for (const tool of BROWSER_AUTOMATION_TOOLS) {
|
|
335
|
+
this.toolsMap.set(tool.name, tool);
|
|
336
|
+
}
|
|
159
337
|
// Register computer-use tools
|
|
160
338
|
for (const tool of COMPUTER_USE_TOOLS) {
|
|
161
339
|
this.toolsMap.set(tool.name, tool);
|
|
162
340
|
}
|
|
163
|
-
// Register
|
|
164
|
-
for (const tool of
|
|
341
|
+
// Register scratchpad reasoning tools (Pro & Enterprise)
|
|
342
|
+
for (const tool of SCRATCHPAD_TOOLS) {
|
|
165
343
|
this.toolsMap.set(tool.name, tool);
|
|
166
344
|
}
|
|
167
345
|
}
|
|
@@ -171,47 +349,94 @@ export class UnifiedToolRegistry {
|
|
|
171
349
|
getAllTools() {
|
|
172
350
|
return Array.from(this.toolsMap.values());
|
|
173
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Get tools filtered by user subscription tier:
|
|
354
|
+
* - Free: Only basic developer tools (code editing, creating files/folders, running commands, reading files)
|
|
355
|
+
* - Pro / Enterprise: All tools including Scratchpad, Autonomous Computer Use, and Browser Automation
|
|
356
|
+
*/
|
|
357
|
+
getToolsForTier(tier = 'free') {
|
|
358
|
+
const normTier = (tier || 'free').toLowerCase();
|
|
359
|
+
if (normTier === 'pro' || normTier === 'enterprise') {
|
|
360
|
+
return this.getAllTools();
|
|
361
|
+
}
|
|
362
|
+
const allowedBasicToolNames = new Set([
|
|
363
|
+
'read_file',
|
|
364
|
+
'write_file',
|
|
365
|
+
'edit_file',
|
|
366
|
+
'multi_edit_file',
|
|
367
|
+
'run_command',
|
|
368
|
+
'list_dir',
|
|
369
|
+
'grep_search',
|
|
370
|
+
'glob_search',
|
|
371
|
+
'tree_view',
|
|
372
|
+
'file_info',
|
|
373
|
+
'git_diff',
|
|
374
|
+
'ask_user',
|
|
375
|
+
'task_completed',
|
|
376
|
+
]);
|
|
377
|
+
return this.getAllTools().filter((t) => allowedBasicToolNames.has(t.name));
|
|
378
|
+
}
|
|
174
379
|
getToolsForMode(mode) {
|
|
175
380
|
if (mode === 'workspace_only')
|
|
176
381
|
return AGENT_TOOLS;
|
|
177
|
-
if (mode === 'browser_only')
|
|
178
|
-
return [
|
|
179
|
-
|
|
180
|
-
|
|
382
|
+
if (mode === 'browser_only') {
|
|
383
|
+
return [
|
|
384
|
+
...AGENT_TOOLS.filter((t) => ['read_file', 'write_file', 'task_completed', 'ask_user'].includes(t.name)),
|
|
385
|
+
...BROWSER_AUTOMATION_TOOLS,
|
|
386
|
+
];
|
|
387
|
+
}
|
|
388
|
+
if (mode === 'computer_only') {
|
|
389
|
+
return [
|
|
390
|
+
...AGENT_TOOLS.filter((t) => ['read_file', 'write_file', 'task_completed', 'ask_user'].includes(t.name)),
|
|
391
|
+
...COMPUTER_USE_TOOLS,
|
|
392
|
+
];
|
|
393
|
+
}
|
|
181
394
|
return this.getAllTools();
|
|
182
395
|
}
|
|
183
396
|
/**
|
|
184
|
-
* Tool selection strategy:
|
|
185
|
-
* 1. If
|
|
186
|
-
* 2. If web interaction is needed, PREFER DOM/BROWSER (browser_navigate, browser_click, browser_type)
|
|
187
|
-
* 3.
|
|
397
|
+
* Tool selection strategy enforcing strict tool hierarchy:
|
|
398
|
+
* 1. DIRECT TOOL/API: If exact file/command operation is possible, PREFER API/TOOL (read_file, write_file, run_command)
|
|
399
|
+
* 2. STRUCTURED BROWSER/DOM: If web interaction is needed, PREFER DOM/BROWSER (browser_navigate, browser_click, browser_type)
|
|
400
|
+
* 3. COMPUTER/VISUAL INTERACTION: If desktop app / GUI control is required, USE COMPUTER ACTIONS (computer_screenshot, computer_click, computer_type, computer_open_app)
|
|
188
401
|
*/
|
|
189
402
|
selectOptimalTool(actionGoal, context) {
|
|
190
403
|
const lower = actionGoal.toLowerCase();
|
|
191
|
-
|
|
192
|
-
return 'browser_get_dom';
|
|
193
|
-
}
|
|
194
|
-
// 1. File or code operations -> API Tool
|
|
404
|
+
// 1. Level 1: Direct Tool / API
|
|
195
405
|
if ((lower.includes('read') || lower.includes('inspect file') || lower.includes('view code')) && lower.includes('file')) {
|
|
196
406
|
return 'read_file';
|
|
197
407
|
}
|
|
198
|
-
if ((lower.includes('write') || lower.includes('create file') || lower.includes('save') || lower.includes('update file')) && !lower.includes('browser')) {
|
|
408
|
+
if ((lower.includes('write') || lower.includes('create file') || lower.includes('save') || lower.includes('update file')) && !lower.includes('browser') && !lower.includes('desktop')) {
|
|
199
409
|
return 'write_file';
|
|
200
410
|
}
|
|
201
|
-
// 2.
|
|
411
|
+
// 2. Level 2: Browser / DOM Automation
|
|
412
|
+
if (lower.includes('extract visible text') || (context?.hasBrowser && context?.hasDOM)) {
|
|
413
|
+
return 'browser_content';
|
|
414
|
+
}
|
|
202
415
|
if (lower.includes('navigate') || lower.includes('webpage') || lower.includes('website') || lower.includes('url') || lower.includes('http')) {
|
|
203
416
|
return 'browser_navigate';
|
|
204
417
|
}
|
|
205
418
|
if (lower.includes('download') && (lower.includes('invoice') || lower.includes('url') || lower.includes('link') || lower.includes('pdf'))) {
|
|
206
419
|
return 'browser_download';
|
|
207
420
|
}
|
|
208
|
-
if (
|
|
421
|
+
if (context?.hasBrowser && lower.includes('click')) {
|
|
209
422
|
return 'browser_click';
|
|
210
423
|
}
|
|
211
|
-
// 3.
|
|
212
|
-
if (lower.includes('
|
|
424
|
+
// 3. Level 3: Computer / Desktop Application Control
|
|
425
|
+
if (lower.includes('screenshot') || lower.includes('see screen') || lower.includes('observe screen')) {
|
|
426
|
+
return 'computer_screenshot';
|
|
427
|
+
}
|
|
428
|
+
if (lower.includes('open app') || lower.includes('launch') || lower.includes('vs code') || lower.includes('notepad') || lower.includes('explorer')) {
|
|
429
|
+
return 'computer_open_app';
|
|
430
|
+
}
|
|
431
|
+
if (lower.includes('switch window') || lower.includes('focus window')) {
|
|
432
|
+
return 'computer_switch_window';
|
|
433
|
+
}
|
|
434
|
+
if (lower.includes('click') && (context?.hasDesktopApp || lower.includes('coordinate') || lower.includes('screen'))) {
|
|
213
435
|
return 'computer_click';
|
|
214
436
|
}
|
|
437
|
+
if (lower.includes('type') && (context?.hasDesktopApp || lower.includes('window'))) {
|
|
438
|
+
return 'computer_type';
|
|
439
|
+
}
|
|
215
440
|
return 'run_command';
|
|
216
441
|
}
|
|
217
442
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["toolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,kBAAkB,CAAC;AAQpE,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAChD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8DAA8D;QAC3E,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACf;KACJ;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,wEAAwE;QACrF,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBACjE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;gBAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACtH,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iCAAiC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;SACvB;KACJ;IACD;QACI,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,oEAAoE;QACjF,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;aAC/D;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+EAA+E;QAC5F,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACrF;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD;QACI,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,2DAA2D;QACxE,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gEAAgE,EAAE;gBACvG,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;aAC1E;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,2DAA2D;QACxE,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;aAC/E;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACrB;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,4CAA4C;QACzD,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;gBAC9H,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SAC1B;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACtD;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,gFAAgF;QAC7F,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;aACnE;YACD,QAAQ,EAAE,CAAC,KAAK,CAAC;SACpB;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+FAA+F;QAC5G,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACf;KACJ;IACD;QACI,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,uFAAuF;QACpG,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sFAAsF,EAAE;aAC1I;YACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;SAC/B;KACJ;IACD;QACI,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,mEAAmE;QAChF,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBAC9F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC;SACvC;KACJ;IACD;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,oFAAoF;QACjG,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;gBAC/E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;aAC9E;YACD,QAAQ,EAAE,CAAC,eAAe,CAAC;SAC9B;KACJ;IACD;QACI,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,oEAAoE;QACjF,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;aACzF;YACD,QAAQ,EAAE,EAAE;SACf;KACJ;CACJ,CAAC;AAEF,MAAM,OAAO,mBAAmB;IACpB,QAAQ,GAAgC,IAAI,GAAG,EAAE,CAAC;IAE1D;QACI,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,oCAAoC;QACpC,KAAK,MAAM,IAAI,IAAI,wBAAwB,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,WAAW;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,eAAe,CAAC,IAAiE;QACpF,IAAI,IAAI,KAAK,gBAAgB;YAAE,OAAO,WAAW,CAAC;QAClD,IAAI,IAAI,KAAK,cAAc;YAAE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,wBAAwB,CAAC,CAAC;QAC5K,IAAI,IAAI,KAAK,eAAe;YAAE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,kBAAkB,CAAC,CAAC;QACvK,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,UAAkB,EAAE,OAAwE;QACjH,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAEvC,IAAI,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACrF,OAAO,iBAAiB,CAAC;QAC7B,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtH,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACtJ,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,6DAA6D;QAC7D,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1I,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACxI,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC5G,OAAO,eAAe,CAAC;QAC3B,CAAC;QAED,4DAA4D;QAC5D,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAClJ,OAAO,gBAAgB,CAAC;QAC5B,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ"}
|
|
1
|
+
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["toolRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceEngine.d.ts","sourceRoot":"","sources":["voiceEngine.ts"],"names":[],"mappings":"AAOA,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"voiceEngine.d.ts","sourceRoot":"","sources":["voiceEngine.ts"],"names":[],"mappings":"AAOA,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAcvE;AAED,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASvD;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CnF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAoEpF"}
|
|
@@ -10,7 +10,6 @@ export async function promptInteractionMode() {
|
|
|
10
10
|
options: [
|
|
11
11
|
{ value: 'text', label: 'Text Interaction', hint: 'Text command input -> Text response' },
|
|
12
12
|
{ value: 'audio', label: 'Audio Interaction', hint: 'Voice command input (STT) -> Text + Voice response (TTS)' },
|
|
13
|
-
{ value: 'screen_share', label: 'Live Screen Share Interaction', hint: 'Real-time live screen share stream to model + Voice & Text' },
|
|
14
13
|
],
|
|
15
14
|
});
|
|
16
15
|
if (isCancel(choice))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voiceEngine.js","sourceRoot":"","sources":["voiceEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACvC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;YACxB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC;YACpD,OAAO,EAAE;gBACL,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,qCAAqC,EAAE;gBACzF,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,0DAA0D,EAAE;
|
|
1
|
+
{"version":3,"file":"voiceEngine.js","sourceRoot":"","sources":["voiceEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentWorkspace.d.ts","sourceRoot":"","sources":["agentWorkspace.ts"],"names":[],"mappings":"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"}
|