2bbf42b741
Remove Agent Desk users, roles, login sessions, tokens, and local permission persistence. Expose the backend as an embeddable ai-agent module with host-provided subject lookup and operation authorization callbacks, and complete the frontend/backend repository split.
37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package instruction
|
|
|
|
import (
|
|
"code.tczkiot.com/wlw/ai-agent/internal/ai/runtime/tooling"
|
|
"code.tczkiot.com/wlw/ai-agent/internal/models"
|
|
"code.tczkiot.com/wlw/ai-agent/internal/pkg/toolx"
|
|
)
|
|
|
|
type ToolAppendixProvider struct{}
|
|
|
|
func NewToolAppendixProvider() *ToolAppendixProvider {
|
|
return &ToolAppendixProvider{}
|
|
}
|
|
|
|
type SkillInstructionProvider struct{}
|
|
|
|
func NewSkillInstructionProvider() *SkillInstructionProvider {
|
|
return &SkillInstructionProvider{}
|
|
}
|
|
|
|
func (p *SkillInstructionProvider) Resolve(selectedSkill *models.SkillDefinition) string {
|
|
return BuildSelectedSkillActivationInstruction(selectedSkill)
|
|
}
|
|
|
|
func (p *ToolAppendixProvider) Build(toolDefinitions []tooling.MCPToolDefinition, extraToolCodes map[string]string) []string {
|
|
appendixParts := make([]string, 0, 1)
|
|
toolCodes := make([]string, 0, len(toolDefinitions)+len(extraToolCodes))
|
|
for _, item := range toolDefinitions {
|
|
toolCodes = append(toolCodes, item.ToolCode)
|
|
}
|
|
for _, item := range extraToolCodes {
|
|
toolCodes = append(toolCodes, item)
|
|
}
|
|
appendixParts = append(appendixParts, toolx.BuildToolAppendicesForCodes(len(toolDefinitions) > 0, toolCodes)...)
|
|
return appendixParts
|
|
}
|