MCPcopy Create free account
hub / github.com/github/gh-aw / validateEngineMCPSessionTimeout

Method validateEngineMCPSessionTimeout

pkg/workflow/engine_validation.go:179–197  ·  view source on GitHub ↗

validateEngineMCPSessionTimeout validates optional engine.mcp.session-timeout configuration. The value must be a valid Go duration string of at least 5m (no upper bound).

(workflowData *WorkflowData)

Source from the content-addressed store, hash-verified

177// validateEngineMCPSessionTimeout validates optional engine.mcp.session-timeout configuration.
178// The value must be a valid Go duration string of at least 5m (no upper bound).
179func (c *Compiler) validateEngineMCPSessionTimeout(workflowData *WorkflowData) error {
180 if workflowData == nil || workflowData.EngineConfig == nil || workflowData.EngineConfig.MCPSessionTimeout == "" {
181 return nil
182 }
183
184 raw := workflowData.EngineConfig.MCPSessionTimeout
185
186 d, err := time.ParseDuration(raw)
187 if err != nil {
188 return fmt.Errorf("engine.mcp.session-timeout: invalid duration %q. Must be a valid Go duration string (e.g. \"30m\", \"4h\", \"24h\").\n\nExamples:\n engine:\n mcp:\n session-timeout: 4h\n\nSee: %s", raw, constants.DocsEnginesURL)
189 }
190
191 if d < constants.MCPSessionTimeoutMin {
192 return fmt.Errorf("engine.mcp.session-timeout: %q is too short (minimum is 5m).\n\nExamples:\n session-timeout: 30m\n session-timeout: 4h\n\nSee: %s", raw, constants.DocsEnginesURL)
193 }
194
195 engineValidationLog.Printf("engine.mcp.session-timeout validated: %s (%s)", raw, d)
196 return nil
197}
198
199// validateEngineMCPToolTimeout validates optional engine.mcp.tool-timeout configuration.
200// The value must be a valid Go duration string between 10s and 600s inclusive.

Callers 2

ParseWorkflowStringMethod · 0.95

Calls 2

ErrorfMethod · 0.45
PrintfMethod · 0.45

Tested by 1