@kolisachint/hoocode-agent 0.4.153 → 0.4.154
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/CHANGELOG.md +21 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +3 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/settings-defaults.d.ts +6 -0
- package/dist/core/settings-defaults.d.ts.map +1 -1
- package/dist/core/settings-defaults.js +6 -0
- package/dist/core/settings-defaults.js.map +1 -1
- package/dist/core/settings-manager.d.ts +12 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +44 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-types.d.ts +8 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/tools/webfetch.d.ts +2 -0
- package/dist/core/tools/webfetch.d.ts.map +1 -1
- package/dist/core/tools/webfetch.js +5 -4
- package/dist/core/tools/webfetch.js.map +1 -1
- package/dist/core/tools/websearch.d.ts +2 -0
- package/dist/core/tools/websearch.d.ts.map +1 -1
- package/dist/core/tools/websearch.js +5 -4
- package/dist/core/tools/websearch.js.map +1 -1
- package/dist/core/tools/webtools-shared.d.ts +9 -0
- package/dist/core/tools/webtools-shared.d.ts.map +1 -1
- package/dist/core/tools/webtools-shared.js +28 -0
- package/dist/core/tools/webtools-shared.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +4 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +27 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +30 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/voice/voice-controller.d.ts +18 -0
- package/dist/modes/interactive/voice/voice-controller.d.ts.map +1 -1
- package/dist/modes/interactive/voice/voice-controller.js +16 -10
- package/dist/modes/interactive/voice/voice-controller.js.map +1 -1
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +4 -4
|
@@ -57,6 +57,22 @@ import { getAvailableThemes, getAvailableThemesWithPaths, getEditorTheme, getMar
|
|
|
57
57
|
import { VoiceController } from "./voice/voice-controller.js";
|
|
58
58
|
/** Interface for components that can be expanded/collapsed */
|
|
59
59
|
const DEAD_TERMINAL_ERROR_CODES = new Set(["EIO", "EPIPE", "ENOTCONN"]);
|
|
60
|
+
/**
|
|
61
|
+
* Resolve the effective voice trailing-silence window (ms): env
|
|
62
|
+
* `VOICETOOLS_SILENCE_MS` wins (like `VOICETOOLS_BIN`), otherwise the settings
|
|
63
|
+
* value. Both paths are clamped to 300-10000; a malformed env value falls back to
|
|
64
|
+
* the settings value.
|
|
65
|
+
*/
|
|
66
|
+
function resolveVoiceSilenceMs(settingsManager) {
|
|
67
|
+
const envRaw = process.env.VOICETOOLS_SILENCE_MS?.trim();
|
|
68
|
+
if (envRaw) {
|
|
69
|
+
const envValue = Number(envRaw);
|
|
70
|
+
if (Number.isFinite(envValue) && envValue > 0) {
|
|
71
|
+
return Math.min(10000, Math.max(300, Math.floor(envValue)));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return settingsManager.getVoiceSilenceMs();
|
|
75
|
+
}
|
|
60
76
|
function isDeadTerminalError(error) {
|
|
61
77
|
if (!error || typeof error !== "object" || !("code" in error)) {
|
|
62
78
|
return false;
|
|
@@ -355,6 +371,7 @@ export class InteractiveMode {
|
|
|
355
371
|
statusContainer: this.statusContainer,
|
|
356
372
|
sendEditorInput: (data) => this.editor.handleInput(data),
|
|
357
373
|
showError: (message) => this.showError(message),
|
|
374
|
+
silenceMs: resolveVoiceSilenceMs(this.settingsManager),
|
|
358
375
|
});
|
|
359
376
|
const self = this;
|
|
360
377
|
this.bashExecution = new BashExecutionController({
|
|
@@ -2531,6 +2548,10 @@ export class InteractiveMode {
|
|
|
2531
2548
|
clearOnShrink: this.settingsManager.getClearOnShrink(),
|
|
2532
2549
|
showTerminalProgress: this.settingsManager.getShowTerminalProgress(),
|
|
2533
2550
|
warnings: this.settingsManager.getWarnings(),
|
|
2551
|
+
// Show the effective value: env VOICETOOLS_SILENCE_MS wins for voice;
|
|
2552
|
+
// getWebtoolsTimeoutSecs already folds in HOOCODE_WEBTOOLS_TIMEOUT.
|
|
2553
|
+
voiceSilenceMs: resolveVoiceSilenceMs(this.settingsManager),
|
|
2554
|
+
webtoolsTimeoutSecs: this.settingsManager.getWebtoolsTimeoutSecs(),
|
|
2534
2555
|
}, {
|
|
2535
2556
|
onAutoCompactChange: (enabled) => {
|
|
2536
2557
|
this.session.setAutoCompactionEnabled(enabled);
|
|
@@ -2714,6 +2735,15 @@ export class InteractiveMode {
|
|
|
2714
2735
|
onWarningsChange: (warnings) => {
|
|
2715
2736
|
this.settingsManager.setWarnings(warnings);
|
|
2716
2737
|
},
|
|
2738
|
+
onVoiceSilenceMsChange: (ms) => {
|
|
2739
|
+
this.settingsManager.setVoiceSilenceMs(ms);
|
|
2740
|
+
// Env override still wins; re-resolve so the live value stays consistent.
|
|
2741
|
+
this.voice.setSilenceMs(resolveVoiceSilenceMs(this.settingsManager));
|
|
2742
|
+
},
|
|
2743
|
+
onWebtoolsTimeoutSecsChange: (secs) => {
|
|
2744
|
+
// Persisted; webfetch/websearch pick it up when tools rebuild next session.
|
|
2745
|
+
this.settingsManager.setWebtoolsTimeoutSecs(secs);
|
|
2746
|
+
},
|
|
2717
2747
|
onCancel: () => {
|
|
2718
2748
|
done();
|
|
2719
2749
|
this.ui.requestRender();
|