Small refactor to reduce LOC and keep code DRY. (#53)

This commit is contained in:
Chris
2023-06-26 11:55:49 -05:00
committed by GitHub
parent a90c3974bd
commit 9670cf00c8
3 changed files with 22 additions and 21 deletions

18
main.go
View File

@ -4,16 +4,16 @@ import (
"beelzebub/builder"
"beelzebub/parser"
"flag"
"fmt"
log "github.com/sirupsen/logrus"
)
var quit = make(chan struct{})
func main() {
var configurationsCorePath string
var configurationsServicesDirectory string
var (
quit = make(chan struct{})
configurationsCorePath string
configurationsServicesDirectory string
)
flag.StringVar(&configurationsCorePath, "confCore", "./configurations/beelzebub.yaml", "Provide the path of configurations core")
flag.StringVar(&configurationsServicesDirectory, "confServices", "./configurations/services/", "Directory config services")
@ -22,20 +22,20 @@ func main() {
parser := parser.Init(configurationsCorePath, configurationsServicesDirectory)
coreConfigurations, err := parser.ReadConfigurationsCore()
failOnError(err, fmt.Sprintf("Error during ReadConfigurationsCore: "))
failOnError(err, "Error during ReadConfigurationsCore: ")
beelzebubServicesConfiguration, err := parser.ReadConfigurationsServices()
failOnError(err, fmt.Sprintf("Error during ReadConfigurationsServices: "))
failOnError(err, "Error during ReadConfigurationsServices: ")
beelzebubBuilder := builder.NewBuilder()
director := builder.NewDirector(beelzebubBuilder)
beelzebubBuilder, err = director.BuildBeelzebub(coreConfigurations, beelzebubServicesConfiguration)
failOnError(err, fmt.Sprintf("Error during BuildBeelzebub: "))
failOnError(err, "Error during BuildBeelzebub: ")
err = beelzebubBuilder.Run()
failOnError(err, fmt.Sprintf("Error during run beelzebub core: "))
failOnError(err, "Error during run beelzebub core: ")
defer beelzebubBuilder.Close()

View File

@ -5,19 +5,23 @@ import (
"errors"
"fmt"
"strings"
log "github.com/sirupsen/logrus"
"github.com/go-resty/resty/v2"
)
const ChatGPTPluginName = "OpenAIGPTLinuxTerminal"
const openAIGPTEndpoint = "https://api.openai.com/v1/completions"
const (
// Reference: https://www.engraved.blog/building-a-virtual-machine-inside/
promptVirtualizeLinuxTerminal = "I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do no write explanations. Do not type commands unless I instruct you to do so.\n\nA:pwd\n\nQ:/home/user\n\n"
ChatGPTPluginName = "OpenAIGPTLinuxTerminal"
openAIGPTEndpoint = "https://api.openai.com/v1/completions"
)
type History struct {
Input, Output string
}
type OpenAIGPTVirtualTerminal struct {
Histories []History
OpenAPIChatGPTSecretKey string
@ -62,7 +66,6 @@ type gptRequest struct {
}
// Reference: https://www.engraved.blog/building-a-virtual-machine-inside/
const promptVirtualizeLinuxTerminal = "I want you to act as a Linux terminal. I will type commands and you will reply with what the terminal should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. Do no write explanations. Do not type commands unless I instruct you to do so.\n\nA:pwd\n\nQ:/home/user\n\n"
func buildPrompt(histories []History, command string) string {
var sb strings.Builder

View File

@ -30,7 +30,10 @@ type Event struct {
Description string
}
type Protocol int
type (
Protocol int
Status int
)
const (
HTTP Protocol = iota
@ -42,8 +45,6 @@ func (status Protocol) String() string {
return [...]string{"HTTP", "SSH", "TCP"}[status]
}
type Status int
const (
Start Status = iota
End
@ -105,12 +106,9 @@ func (tracer *tracer) TraceEvent(event Event) {
switch event.Protocol {
case HTTP.String():
eventsHTTPTotal.Inc()
break
case SSH.String():
eventsSSHTotal.Inc()
break
case TCP.String():
eventsTCPTotal.Inc()
break
}
}