@dexto/tui 1.6.25 → 1.6.26

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.
@@ -233,11 +233,11 @@ const ToolBrowser = (0, import_react.forwardRef)(function ToolBrowser2({ isVisib
233
233
  setSelectedTool(updatedSelected);
234
234
  const autoApprovedTools = updatedTools.filter((tool) => tool.isAutoApproved).map((tool) => tool.name);
235
235
  if (sessionId) {
236
- agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
236
+ await agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
237
237
  }
238
238
  const disabledTools = updatedTools.filter((tool) => !tool.isEnabled).map((tool) => tool.name);
239
239
  if (effectiveTarget === "session" && sessionId) {
240
- agent.setSessionDisabledTools(sessionId, disabledTools);
240
+ await agent.setSessionDisabledTools(sessionId, disabledTools);
241
241
  } else if (effectiveTarget === "global") {
242
242
  try {
243
243
  const { updateAgentPreferences, saveAgentPreferences, agentPreferencesExist } = await import("@dexto/agent-management");
@@ -253,7 +253,7 @@ const ToolBrowser = (0, import_react.forwardRef)(function ToolBrowser2({ isVisib
253
253
  agent.setGlobalDisabledTools(disabledTools);
254
254
  } catch (_error) {
255
255
  if (sessionId) {
256
- agent.setSessionDisabledTools(sessionId, disabledTools);
256
+ await agent.setSessionDisabledTools(sessionId, disabledTools);
257
257
  } else {
258
258
  setTools(previousTools);
259
259
  setSelectedTool(
@@ -264,8 +264,10 @@ const ToolBrowser = (0, import_react.forwardRef)(function ToolBrowser2({ isVisib
264
264
  }
265
265
  closeScopePrompt();
266
266
  };
267
- const toggleAutoApprove = () => {
267
+ const toggleAutoApprove = async () => {
268
268
  if (!sessionId) return;
269
+ const previousTools = toolsRef.current;
270
+ const previousSelectedToolName = selectedToolRef.current?.name;
269
271
  const updatedTools = toolsRef.current.map(
270
272
  (tool) => tool.name === selectedToolRef.current?.name ? { ...tool, isAutoApproved: !tool.isAutoApproved } : tool
271
273
  );
@@ -275,7 +277,14 @@ const ToolBrowser = (0, import_react.forwardRef)(function ToolBrowser2({ isVisib
275
277
  setTools(updatedTools);
276
278
  setSelectedTool(updatedSelected ?? null);
277
279
  const autoApprovedTools = updatedTools.filter((tool) => tool.isAutoApproved).map((tool) => tool.name);
278
- agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
280
+ try {
281
+ await agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
282
+ } catch (_error) {
283
+ setTools(previousTools);
284
+ setSelectedTool(
285
+ previousTools.find((tool) => tool.name === previousSelectedToolName) ?? null
286
+ );
287
+ }
279
288
  };
280
289
  const closeConfigMenu = () => {
281
290
  setViewMode("list-actions");
@@ -341,7 +350,7 @@ const ToolBrowser = (0, import_react.forwardRef)(function ToolBrowser2({ isVisib
341
350
  openScopePrompt(tool);
342
351
  } else if (configIndexRef.current === 1) {
343
352
  if (sessionId && tool.isEnabled) {
344
- toggleAutoApprove();
353
+ void toggleAutoApprove();
345
354
  }
346
355
  } else {
347
356
  closeConfigMenu();
@@ -1 +1 @@
1
- {"version":3,"file":"ToolBrowser.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/ToolBrowser.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAK/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,UAAU,gBAAgB;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAkBD;;GAEG;AACH,QAAA,MAAM,WAAW,4FA8rBf,CAAC;AAyZH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"ToolBrowser.d.ts","sourceRoot":"","sources":["../../../src/components/overlays/ToolBrowser.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAK/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,UAAU,gBAAgB;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;CACrD;AAkBD;;GAEG;AACH,QAAA,MAAM,WAAW,4FAusBf,CAAC;AAyZH,eAAe,WAAW,CAAC"}
@@ -207,11 +207,11 @@ const ToolBrowser = forwardRef(function ToolBrowser2({ isVisible, onClose, agent
207
207
  setSelectedTool(updatedSelected);
208
208
  const autoApprovedTools = updatedTools.filter((tool) => tool.isAutoApproved).map((tool) => tool.name);
209
209
  if (sessionId) {
210
- agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
210
+ await agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
211
211
  }
212
212
  const disabledTools = updatedTools.filter((tool) => !tool.isEnabled).map((tool) => tool.name);
213
213
  if (effectiveTarget === "session" && sessionId) {
214
- agent.setSessionDisabledTools(sessionId, disabledTools);
214
+ await agent.setSessionDisabledTools(sessionId, disabledTools);
215
215
  } else if (effectiveTarget === "global") {
216
216
  try {
217
217
  const { updateAgentPreferences, saveAgentPreferences, agentPreferencesExist } = await import("@dexto/agent-management");
@@ -227,7 +227,7 @@ const ToolBrowser = forwardRef(function ToolBrowser2({ isVisible, onClose, agent
227
227
  agent.setGlobalDisabledTools(disabledTools);
228
228
  } catch (_error) {
229
229
  if (sessionId) {
230
- agent.setSessionDisabledTools(sessionId, disabledTools);
230
+ await agent.setSessionDisabledTools(sessionId, disabledTools);
231
231
  } else {
232
232
  setTools(previousTools);
233
233
  setSelectedTool(
@@ -238,8 +238,10 @@ const ToolBrowser = forwardRef(function ToolBrowser2({ isVisible, onClose, agent
238
238
  }
239
239
  closeScopePrompt();
240
240
  };
241
- const toggleAutoApprove = () => {
241
+ const toggleAutoApprove = async () => {
242
242
  if (!sessionId) return;
243
+ const previousTools = toolsRef.current;
244
+ const previousSelectedToolName = selectedToolRef.current?.name;
243
245
  const updatedTools = toolsRef.current.map(
244
246
  (tool) => tool.name === selectedToolRef.current?.name ? { ...tool, isAutoApproved: !tool.isAutoApproved } : tool
245
247
  );
@@ -249,7 +251,14 @@ const ToolBrowser = forwardRef(function ToolBrowser2({ isVisible, onClose, agent
249
251
  setTools(updatedTools);
250
252
  setSelectedTool(updatedSelected ?? null);
251
253
  const autoApprovedTools = updatedTools.filter((tool) => tool.isAutoApproved).map((tool) => tool.name);
252
- agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
254
+ try {
255
+ await agent.setSessionAutoApproveTools(sessionId, autoApprovedTools);
256
+ } catch (_error) {
257
+ setTools(previousTools);
258
+ setSelectedTool(
259
+ previousTools.find((tool) => tool.name === previousSelectedToolName) ?? null
260
+ );
261
+ }
253
262
  };
254
263
  const closeConfigMenu = () => {
255
264
  setViewMode("list-actions");
@@ -315,7 +324,7 @@ const ToolBrowser = forwardRef(function ToolBrowser2({ isVisible, onClose, agent
315
324
  openScopePrompt(tool);
316
325
  } else if (configIndexRef.current === 1) {
317
326
  if (sessionId && tool.isEnabled) {
318
- toggleAutoApprove();
327
+ void toggleAutoApprove();
319
328
  }
320
329
  } else {
321
330
  closeConfigMenu();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dexto/tui",
3
- "version": "1.6.25",
3
+ "version": "1.6.26",
4
4
  "description": "Interactive terminal UI for Dexto CLI",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -28,9 +28,9 @@
28
28
  "string-width": "^8.1.0",
29
29
  "strip-ansi": "^7.1.2",
30
30
  "wrap-ansi": "^9.0.2",
31
- "@dexto/agent-management": "1.6.25",
32
- "@dexto/core": "1.6.25",
33
- "@dexto/registry": "1.6.25"
31
+ "@dexto/agent-management": "1.6.26",
32
+ "@dexto/registry": "1.6.26",
33
+ "@dexto/core": "1.6.26"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/react": "^19.0.0",