|
|
|
|
@@ -136,6 +136,11 @@ const CHECKPOINTS_DEFAULTS = {
|
|
|
|
|
checkpointMinIntervalHours: 24,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const CRON_DEFAULTS = {
|
|
|
|
|
cronWrapResponse: true,
|
|
|
|
|
cronMaxParallelJobs: 0,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const APPROVALS_DEFAULTS = {
|
|
|
|
|
approvalMode: 'manual',
|
|
|
|
|
approvalTimeout: 60,
|
|
|
|
|
@@ -203,6 +208,7 @@ export function render() {
|
|
|
|
|
let executionLimitsValues = { ...EXECUTION_LIMITS_DEFAULTS }
|
|
|
|
|
let ioSafetyValues = { ...IO_SAFETY_DEFAULTS }
|
|
|
|
|
let checkpointsValues = { ...CHECKPOINTS_DEFAULTS }
|
|
|
|
|
let cronValues = { ...CRON_DEFAULTS }
|
|
|
|
|
let approvalsValues = { ...APPROVALS_DEFAULTS }
|
|
|
|
|
let privacyValues = { ...PRIVACY_DEFAULTS }
|
|
|
|
|
let browserValues = { ...BROWSER_DEFAULTS }
|
|
|
|
|
@@ -224,6 +230,7 @@ export function render() {
|
|
|
|
|
let executionLimitsLoading = true
|
|
|
|
|
let ioSafetyLoading = true
|
|
|
|
|
let checkpointsLoading = true
|
|
|
|
|
let cronLoading = true
|
|
|
|
|
let approvalsLoading = true
|
|
|
|
|
let privacyLoading = true
|
|
|
|
|
let browserLoading = true
|
|
|
|
|
@@ -245,6 +252,7 @@ export function render() {
|
|
|
|
|
let executionLimitsSaving = false
|
|
|
|
|
let ioSafetySaving = false
|
|
|
|
|
let checkpointsSaving = false
|
|
|
|
|
let cronSaving = false
|
|
|
|
|
let approvalsSaving = false
|
|
|
|
|
let privacySaving = false
|
|
|
|
|
let browserSaving = false
|
|
|
|
|
@@ -266,6 +274,7 @@ export function render() {
|
|
|
|
|
let executionLimitsError = null
|
|
|
|
|
let ioSafetyError = null
|
|
|
|
|
let checkpointsError = null
|
|
|
|
|
let cronError = null
|
|
|
|
|
let approvalsError = null
|
|
|
|
|
let privacyError = null
|
|
|
|
|
let browserError = null
|
|
|
|
|
@@ -280,7 +289,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function isBusy() {
|
|
|
|
|
return loading || runtimeLoading || compressionLoading || toolGuardrailsLoading || memoryLoading || skillsLoading || quickCommandsLoading || agentToolsetsLoading || agentRuntimeLoading || unauthorizedDmLoading || securityLoading || displayLoading || humanDelayLoading || streamingLoading || executionLimitsLoading || ioSafetyLoading || checkpointsLoading || approvalsLoading || privacyLoading || browserLoading || terminalLoading || saving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || displaySaving || humanDelaySaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving
|
|
|
|
|
return loading || runtimeLoading || compressionLoading || toolGuardrailsLoading || memoryLoading || skillsLoading || quickCommandsLoading || agentToolsetsLoading || agentRuntimeLoading || unauthorizedDmLoading || securityLoading || displayLoading || humanDelayLoading || streamingLoading || executionLimitsLoading || ioSafetyLoading || checkpointsLoading || cronLoading || approvalsLoading || privacyLoading || browserLoading || terminalLoading || saving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || displaySaving || humanDelaySaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving || cronSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function option(labelKey, value, selected) {
|
|
|
|
|
@@ -297,7 +306,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderRuntimePanel() {
|
|
|
|
|
const disabled = loading || saving || runtimeLoading || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || runtimeLoading || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -345,7 +354,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderCompressionPanel() {
|
|
|
|
|
const disabled = loading || saving || compressionLoading || compressionSaving || runtimeSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || compressionLoading || compressionSaving || runtimeSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-compression-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -395,7 +404,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderToolGuardrailsPanel() {
|
|
|
|
|
const disabled = loading || saving || toolGuardrailsLoading || toolGuardrailsSaving || runtimeSaving || compressionSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || toolGuardrailsLoading || toolGuardrailsSaving || runtimeSaving || compressionSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-guardrails-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -457,7 +466,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderMemoryPanel() {
|
|
|
|
|
const disabled = loading || saving || memoryLoading || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || memoryLoading || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-memory-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -507,7 +516,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderSkillsConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || skillsLoading || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || skillsLoading || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-skills-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -539,7 +548,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderQuickCommandsConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || quickCommandsLoading || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || quickCommandsLoading || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-quick-commands-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -565,7 +574,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderAgentToolsetsConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || agentToolsetsLoading || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || agentToolsetsLoading || agentToolsetsSaving || agentRuntimeSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-agent-toolsets-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -591,7 +600,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderAgentRuntimeConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || agentRuntimeLoading || agentRuntimeSaving || agentToolsetsSaving || unauthorizedDmSaving || securitySaving || displaySaving || humanDelaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || agentRuntimeLoading || agentRuntimeSaving || agentToolsetsSaving || unauthorizedDmSaving || securitySaving || displaySaving || humanDelaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving || cronSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-agent-runtime-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -653,7 +662,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderUnauthorizedDmConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || unauthorizedDmLoading || unauthorizedDmSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || securitySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || unauthorizedDmLoading || unauthorizedDmSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || securitySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-unauthorized-dm-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -683,7 +692,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderSecurityConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || securityLoading || securitySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || securityLoading || securitySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-security-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -725,7 +734,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderDisplayConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || displayLoading || displaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || humanDelaySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || displayLoading || displaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || humanDelaySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-display-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -789,7 +798,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderHumanDelayConfigPanel() {
|
|
|
|
|
const disabled = loading || saving || humanDelayLoading || humanDelaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || humanDelayLoading || humanDelaySaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || streamingSaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-human-delay-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -827,7 +836,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderStreamingPanel() {
|
|
|
|
|
const disabled = loading || saving || streamingLoading || streamingSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || executionLimitsSaving || checkpointsSaving || approvalsSaving || terminalSaving
|
|
|
|
|
const disabled = loading || saving || streamingLoading || streamingSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || securitySaving || executionLimitsSaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-streaming-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -879,7 +888,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderExecutionLimitsPanel() {
|
|
|
|
|
const disabled = loading || saving || executionLimitsLoading || executionLimitsSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || checkpointsSaving || approvalsSaving
|
|
|
|
|
const disabled = loading || saving || executionLimitsLoading || executionLimitsSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || checkpointsSaving || cronSaving || approvalsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-execution-limits-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -951,7 +960,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderIoSafetyPanel() {
|
|
|
|
|
const disabled = loading || saving || ioSafetyLoading || ioSafetySaving || checkpointsSaving || approvalsSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving
|
|
|
|
|
const disabled = loading || saving || ioSafetyLoading || ioSafetySaving || checkpointsSaving || cronSaving || approvalsSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-io-safety-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -991,7 +1000,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderCheckpointsPanel() {
|
|
|
|
|
const disabled = loading || saving || checkpointsLoading || checkpointsSaving || ioSafetySaving || approvalsSaving || privacySaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving
|
|
|
|
|
const disabled = loading || saving || checkpointsLoading || checkpointsSaving || ioSafetySaving || cronSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-checkpoints-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -1048,8 +1057,42 @@ export function render() {
|
|
|
|
|
`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderCronPanel() {
|
|
|
|
|
const disabled = loading || saving || cronLoading || cronSaving || checkpointsSaving || approvalsSaving || privacySaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-cron-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
<div>
|
|
|
|
|
<div class="hm-panel-title">${t('engine.hermesCronConfigTitle')}</div>
|
|
|
|
|
<div class="hm-channel-panel-desc">${t('engine.hermesCronConfigDesc')}</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="hm-panel-actions">
|
|
|
|
|
<span class="hm-muted">${cronSaving ? t('engine.hermesConfigStatusSaving') : cronLoading ? t('engine.hermesConfigStatusLoading') : t('engine.hermesCronConfigStatusReady')}</span>
|
|
|
|
|
<button class="hm-btn hm-btn--cta hm-btn--sm" id="hm-cron-save" ${disabled ? 'disabled' : ''}>${t('engine.hermesCronConfigSave')}</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="hm-panel-body">
|
|
|
|
|
${renderError(cronError)}
|
|
|
|
|
<div class="hm-config-check-grid">
|
|
|
|
|
<label class="hm-channel-check">
|
|
|
|
|
<input id="hm-cron-wrap-response" type="checkbox" ${cronValues.cronWrapResponse ? 'checked' : ''} ${disabled ? 'disabled' : ''}>
|
|
|
|
|
<span>${t('engine.hermesCronConfigWrapResponse')}</span>
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="hm-config-runtime-grid hm-config-cron-grid">
|
|
|
|
|
<label class="hm-field">
|
|
|
|
|
<span class="hm-field-label">${t('engine.hermesCronConfigMaxParallelJobs')}</span>
|
|
|
|
|
<input id="hm-cron-max-parallel-jobs" class="hm-input" type="number" inputmode="numeric" min="0" max="10000" step="1" value="${esc(cronValues.cronMaxParallelJobs)}" ${disabled ? 'disabled' : ''}>
|
|
|
|
|
</label>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="hm-channel-footnote">${t('engine.hermesCronConfigFootnote')}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderApprovalsPanel() {
|
|
|
|
|
const disabled = loading || saving || approvalsLoading || approvalsSaving || checkpointsSaving || privacySaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving
|
|
|
|
|
const disabled = loading || saving || approvalsLoading || approvalsSaving || checkpointsSaving || cronSaving || privacySaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-approvals-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -1099,7 +1142,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderPrivacyPanel() {
|
|
|
|
|
const disabled = loading || saving || privacyLoading || privacySaving || approvalsSaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving
|
|
|
|
|
const disabled = loading || saving || privacyLoading || privacySaving || approvalsSaving || cronSaving || browserSaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-privacy-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -1127,7 +1170,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderBrowserPanel() {
|
|
|
|
|
const disabled = loading || saving || browserLoading || browserSaving || approvalsSaving || privacySaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving
|
|
|
|
|
const disabled = loading || saving || browserLoading || browserSaving || approvalsSaving || cronSaving || privacySaving || terminalSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || ioSafetySaving || checkpointsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-browser-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -1171,7 +1214,7 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function renderTerminalPanel() {
|
|
|
|
|
const disabled = loading || saving || terminalLoading || terminalSaving || approvalsSaving || browserSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving
|
|
|
|
|
const disabled = loading || saving || terminalLoading || terminalSaving || approvalsSaving || cronSaving || browserSaving || runtimeSaving || compressionSaving || toolGuardrailsSaving || memorySaving || skillsSaving || quickCommandsSaving || agentToolsetsSaving || agentRuntimeSaving || unauthorizedDmSaving || streamingSaving || executionLimitsSaving || checkpointsSaving
|
|
|
|
|
return `
|
|
|
|
|
<div class="hm-panel hm-config-runtime-panel hm-config-terminal-panel">
|
|
|
|
|
<div class="hm-panel-header">
|
|
|
|
|
@@ -1261,6 +1304,7 @@ export function render() {
|
|
|
|
|
${renderExecutionLimitsPanel()}
|
|
|
|
|
${renderIoSafetyPanel()}
|
|
|
|
|
${renderCheckpointsPanel()}
|
|
|
|
|
${renderCronPanel()}
|
|
|
|
|
${renderApprovalsPanel()}
|
|
|
|
|
${renderPrivacyPanel()}
|
|
|
|
|
${renderBrowserPanel()}
|
|
|
|
|
@@ -1310,6 +1354,7 @@ export function render() {
|
|
|
|
|
el.querySelector('#hm-execution-limits-save')?.addEventListener('click', saveExecutionLimits)
|
|
|
|
|
el.querySelector('#hm-io-safety-save')?.addEventListener('click', saveIoSafety)
|
|
|
|
|
el.querySelector('#hm-checkpoints-save')?.addEventListener('click', saveCheckpoints)
|
|
|
|
|
el.querySelector('#hm-cron-save')?.addEventListener('click', saveCronConfig)
|
|
|
|
|
el.querySelector('#hm-approvals-save')?.addEventListener('click', saveApprovalsConfig)
|
|
|
|
|
el.querySelector('#hm-privacy-save')?.addEventListener('click', savePrivacyConfig)
|
|
|
|
|
el.querySelector('#hm-browser-save')?.addEventListener('click', saveBrowserConfig)
|
|
|
|
|
@@ -1401,6 +1446,11 @@ export function render() {
|
|
|
|
|
checkpointsValues = { ...CHECKPOINTS_DEFAULTS, ...(data?.values || {}) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function loadCronConfig() {
|
|
|
|
|
const data = await api.hermesCronConfigRead()
|
|
|
|
|
cronValues = { ...CRON_DEFAULTS, ...(data?.values || {}) }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function loadApprovalsConfig() {
|
|
|
|
|
const data = await api.hermesApprovalsConfigRead()
|
|
|
|
|
approvalsValues = { ...APPROVALS_DEFAULTS, ...(data?.values || {}) }
|
|
|
|
|
@@ -1439,6 +1489,7 @@ export function render() {
|
|
|
|
|
executionLimitsLoading = true
|
|
|
|
|
ioSafetyLoading = true
|
|
|
|
|
checkpointsLoading = true
|
|
|
|
|
cronLoading = true
|
|
|
|
|
approvalsLoading = true
|
|
|
|
|
privacyLoading = true
|
|
|
|
|
browserLoading = true
|
|
|
|
|
@@ -1460,6 +1511,7 @@ export function render() {
|
|
|
|
|
executionLimitsError = null
|
|
|
|
|
ioSafetyError = null
|
|
|
|
|
checkpointsError = null
|
|
|
|
|
cronError = null
|
|
|
|
|
approvalsError = null
|
|
|
|
|
privacyError = null
|
|
|
|
|
browserError = null
|
|
|
|
|
@@ -1528,6 +1580,14 @@ export function render() {
|
|
|
|
|
checkpointsLoading = false
|
|
|
|
|
draw()
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
await loadCronConfig()
|
|
|
|
|
} catch (err) {
|
|
|
|
|
cronError = humanizeError(err, t('engine.hermesCronConfigLoadFailed') || 'Load cron config failed')
|
|
|
|
|
} finally {
|
|
|
|
|
cronLoading = false
|
|
|
|
|
draw()
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
await loadApprovalsConfig()
|
|
|
|
|
} catch (err) {
|
|
|
|
|
@@ -1701,6 +1761,9 @@ export function render() {
|
|
|
|
|
try {
|
|
|
|
|
await loadCheckpoints()
|
|
|
|
|
} catch {}
|
|
|
|
|
try {
|
|
|
|
|
await loadCronConfig()
|
|
|
|
|
} catch {}
|
|
|
|
|
try {
|
|
|
|
|
await loadApprovalsConfig()
|
|
|
|
|
} catch {}
|
|
|
|
|
@@ -2188,6 +2251,32 @@ export function render() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function saveCronConfig() {
|
|
|
|
|
const form = {
|
|
|
|
|
cronWrapResponse: !!el.querySelector('#hm-cron-wrap-response')?.checked,
|
|
|
|
|
cronMaxParallelJobs: el.querySelector('#hm-cron-max-parallel-jobs')?.value || '0',
|
|
|
|
|
}
|
|
|
|
|
cronSaving = true
|
|
|
|
|
cronError = null
|
|
|
|
|
draw()
|
|
|
|
|
try {
|
|
|
|
|
const result = await api.hermesCronConfigSave(form)
|
|
|
|
|
cronValues = { ...CRON_DEFAULTS, ...(result?.values || form) }
|
|
|
|
|
await refreshRawAfterStructuredSave()
|
|
|
|
|
const backup = result?.backup || ''
|
|
|
|
|
toast({
|
|
|
|
|
message: t('engine.hermesCronConfigSaveSuccess'),
|
|
|
|
|
hint: backup ? t('engine.hermesConfigBackupHint', { path: backup }) : '',
|
|
|
|
|
}, 'success')
|
|
|
|
|
} catch (err) {
|
|
|
|
|
cronError = humanizeError(err, t('engine.hermesCronConfigSaveFailed') || 'Save cron config failed')
|
|
|
|
|
toast(cronError, 'error')
|
|
|
|
|
} finally {
|
|
|
|
|
cronSaving = false
|
|
|
|
|
draw()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function saveApprovalsConfig() {
|
|
|
|
|
const form = {
|
|
|
|
|
approvalMode: el.querySelector('#hm-approval-mode')?.value || 'manual',
|
|
|
|
|
|