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

Method validateToolConfiguration

pkg/workflow/compiler_validators.go:127–146  ·  view source on GitHub ↗

validateToolConfiguration validates safe-outputs settings, on.needs and safe-job declarations, network configuration, labels, concurrency expressions, sandbox security constraints, GitHub tool-to-toolset alignment, the agentic-workflows permission requirement, and dispatch/call-workflow configuratio

(workflowData *WorkflowData, markdownPath string, workflowPermissions *Permissions)

Source from the content-addressed store, hash-verified

125// permission requirement, and dispatch/call-workflow configurations.
126// workflowPermissions is the *Permissions value returned by validatePermissions.
127func (c *Compiler) validateToolConfiguration(workflowData *WorkflowData, markdownPath string, workflowPermissions *Permissions) error {
128 workflowLog.Printf("Validating agent file if specified")
129 if err := c.validateAgentFile(workflowData, markdownPath); err != nil {
130 return err
131 }
132 if err := c.validateCoreToolConfiguration(workflowData, markdownPath); err != nil {
133 return err
134 }
135 if err := c.validateConcurrencyConfiguration(workflowData, markdownPath); err != nil {
136 return err
137 }
138 c.emitGeneralToolWarnings(workflowData, markdownPath)
139 if err := c.validateThreatDetectionSandboxRequirement(workflowData, markdownPath); err != nil {
140 return err
141 }
142 if err := c.validateGitHubToolsAndPermissions(workflowData, markdownPath, workflowPermissions); err != nil {
143 return err
144 }
145 return c.validateResourcesAndDispatches(workflowData, markdownPath)
146}
147
148func (c *Compiler) validateCoreToolConfiguration(workflowData *WorkflowData, markdownPath string) error {
149 validations := []struct {