Help us shape the future of Go! Take the 2026 Go Developer Survey

sharedtypes

package
v1.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2025 License: MIT Imports: 9 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACSSearchResponse

type ACSSearchResponse struct {
	Physics             string  `json:"physics"`
	SourceTitleLvl3     string  `json:"sourceTitle_lvl3"`
	SourceURLLvl3       string  `json:"sourceURL_lvl3"`
	TokenSize           int     `json:"tokenSize"`
	SourceTitleLvl2     string  `json:"sourceTitle_lvl2"`
	Weight              float64 `json:"weight"`
	SourceURLLvl2       string  `json:"sourceURL_lvl2"`
	Product             string  `json:"product"`
	Content             string  `json:"content"`
	TypeOFasset         string  `json:"typeOFasset"`
	Version             string  `json:"version"`
	SearchScore         float64 `json:"@search.score"`
	SearchRerankerScore float64 `json:"@search.rerankerScore"`
	IndexName           string  `json:"indexName"`
}

ACSSearchResponse represents the response from the ACS search.

type AnsysGPTCitation

type AnsysGPTCitation struct {
	Title     string  `json:"Title"`
	URL       string  `json:"URL"`
	Relevance float64 `json:"Relevance"`
}

AnsysGPTCitation represents the citation from the AnsysGPT.

type AnsysGPTDefaultFields

type AnsysGPTDefaultFields struct {
	QueryWord         string
	FieldName         string
	FieldDefaultValue string
}

DefaultFields represents the default fields for the user query.

type AnsysGPTRetrieverModuleChunk added in v1.0.3

type AnsysGPTRetrieverModuleChunk struct {
	Captions        string  `json:"@search.captions"`
	Highlights      string  `json:"@search.highlights"`
	RerankerScore   float64 `json:"@search.reranker_score"`
	Score           float64 `json:"@search.score"`
	Content         string  `json:"content"`
	IndexName       string  `json:"index_name"`
	Physics         string  `json:"physics"`
	Product         string  `json:"product"`
	SourceTitleLvl2 string  `json:"sourceTitle_lvl2"`
	SourceTitleLvl3 string  `json:"sourceTitle_lvl3"`
	SourceUrlLvl2   string  `json:"sourceURL_lvl2"`
	SourceUrlLvl3   string  `json:"sourceURL_lvl3"`
	TokenSize       int     `json:"token_size"`
	TypeOfAsset     string  `json:"typeOFasset"`
	Version         string  `json:"version"`
	Weight          float64 `json:"weight"`
}

RetrieverModuleChunk represents a chunk of data context received from the retriever module.

type CodeGenerationElement

type CodeGenerationElement struct {
	Guid uuid.UUID          `json:"guid"`
	Type CodeGenerationType `json:"type"`

	NamePseudocode string `json:"name_pseudocode"` // Function name without dependencies
	NameFormatted  string `json:"name_formatted"`  // Name of the function with spaces and without parameters
	Description    string `json:"description"`

	Name              string   `json:"name"`
	Dependencies      []string `json:"dependencies"`
	Summary           string   `json:"summary"`
	ReturnType        string   `json:"return"`
	ReturnElementList []string `json:"return_element_list"`
	ReturnDescription string   `json:"return_description"` // Return description
	Remarks           string   `json:"remarks"`

	// Only for type "function" or "method"
	Parameters []XMLMemberParam `json:"parameters"`
	Example    XMLMemberExample `json:"example"`

	// Only for type "enum"
	EnumValues []string `json:"enum_values"`

	// Metadata for databases
	VectorDBMetadata any `json:"vector_db_metadata,omitempty"` // Optional metadata for vector databases
	GraphDBMetadata  any `json:"graph_db_metadata,omitempty"`  // Optional metadata for graph databases
}

type CodeGenerationExample

type CodeGenerationExample struct {
	Guid                   uuid.UUID         `json:"guid"`
	Name                   string            `json:"name"`
	Dependencies           []string          `json:"dependencies"`
	DependencyEquivalences map[string]string `json:"dependency_equivalences"`
	Chunks                 []string          `json:"chunks"`
}

type CodeGenerationType

type CodeGenerationType string

Enum values for CodeGenerationType

const (
	Function  CodeGenerationType = "Function"
	Method    CodeGenerationType = "Method"
	Class     CodeGenerationType = "Class"
	Parameter CodeGenerationType = "Parameter"
	Enum      CodeGenerationType = "Enum"
	Module    CodeGenerationType = "Module"
)

type CodeGenerationUserGuideSection

type CodeGenerationUserGuideSection struct {
	Name            string   `json:"name"`
	Title           string   `json:"title"`
	IsFirstChild    bool     `json:"is_first_child"`
	NextSibling     string   `json:"next_sibling"`
	NextParent      string   `json:"next_parent"`
	DocumentName    string   `json:"document_name"`
	Parent          string   `json:"parent"`
	Content         string   `json:"content"`
	Level           int      `json:"level"`
	Link            string   `json:"link"`
	ReferencedLinks []string `json:"referenced_links"`
	Chunks          []string `json:"chunks"`
}

type ConversationHistoryMessage

type ConversationHistoryMessage struct {
	MessageId        string   `json:"message_id"`
	Role             string   `json:"role"`
	Content          string   `json:"content"`
	Images           []string `json:"images"` // image in base64 format
	PositiveFeedback bool     `json:"positive_feedback"`
	NegativeFeedback bool     `json:"negative_feedback"`
}

ConversationHistoryMessage is a structure that contains the message ID, role, content, and images of a conversation history message.

type DBListCollectionsOutput

type DBListCollectionsOutput struct {
	Success     bool     `json:"success" description:"Returns true if the collections were listed successfully. Returns false or an error if not."`
	Collections []string `json:"collections" description:"A list of collection names."`
}

DBListCollectionsOutput represents the output of listing collections in the database.

type DataExtractionDocumentData

type DataExtractionDocumentData struct {
	DocumentName      string    `json:"documentName"`
	DocumentId        string    `json:"documentId"`
	Guid              uuid.UUID `json:"guid"`
	Level             string    `json:"level"`
	ChildIds          []string  `json:"childIds"`
	ParentId          string    `json:"parentId"`
	PreviousSiblingId string    `json:"previousSiblingId"`
	NextSiblingId     string    `json:"nextSiblingId"`
	LastChildId       string    `json:"lastChildId"`
	FirstChildId      string    `json:"firstChildId"`
	Text              string    `json:"text"`
	Keywords          []string  `json:"keywords"`
	Summary           string    `json:"summary"`
	Embedding         []float32 `json:"embedding"`
}

DataExtractionDocumentData represents the data extracted from a document.

type DbAddDataInput

type DbAddDataInput struct {
	CollectionName string   `` /* 142-byte string literal not displayed */
	Data           []DbData `json:"data" description:"Data objects to be added to the DB." required:"true"`
}

DbAddDataInput represents the input for adding data to the database.

type DbAddDataOutput

type DbAddDataOutput struct {
	Success             bool   `json:"success" description:"Returns true if the data was added successfully. Returns false or an error if not."`
	IgnoredObjectsCount int    `json:"ignored_objects_count" description:"Number of ignored documents."`
	Error               string `json:"error" description:"Error message if the collection could not be created."`
}

DbAddDataOutput represents the output of adding data to the database.

type DbArrayFilter

type DbArrayFilter struct {
	NeedAll    bool     `json:"needAll"`
	FilterData []string `json:"filterData"`
}

DbArrayFilter represents the filter for an array field in the database.

type DbCreateCollectionInput

type DbCreateCollectionInput struct {
	CollectionName string `` /* 142-byte string literal not displayed */
}

DbCreateCollectionInput represents the input for creating a collection in the database.

type DbCreateCollectionOutput

type DbCreateCollectionOutput struct {
	Success bool   `json:"success" description:"Returns true if the collection was created successfully. Returns false or an error if not."`
	Error   string `json:"error" description:"Error message if the collection could not be created."`
}

DbCreateCollectionOutput represents the output of creating a collection in the database.

type DbData

type DbData struct {
	Guid              uuid.UUID              `json:"guid"`
	DocumentId        string                 `json:"document_id"`
	DocumentName      string                 `json:"document_name"`
	Text              string                 `json:"text"`
	Keywords          []string               `json:"keywords"`
	Summary           string                 `json:"summary"`
	Embedding         []float32              `json:"embeddings"`
	Tags              []string               `json:"tags"`
	Metadata          map[string]interface{} `json:"metadata"`
	ParentId          *uuid.UUID             `json:"parent_id"`
	ChildIds          []uuid.UUID            `json:"child_ids"`
	PreviousSiblingId *uuid.UUID             `json:"previous_sibling_id"`
	NextSiblingId     *uuid.UUID             `json:"next_sibling_id"`
	LastChildId       *uuid.UUID             `json:"last_child_id"`
	FirstChildId      *uuid.UUID             `json:"first_child_id"`
	Level             string                 `json:"level"`
	HasNeo4jEntry     bool                   `json:"has_neo4j_entry"`
}

DbData represents the data stored in the database.

type DbFilters

type DbFilters struct {
	// Filters for string fields
	GuidFilter         []string `json:"guid,omitempty"`
	DocumentIdFilter   []string `json:"document_id,omitempty"`
	DocumentNameFilter []string `json:"document_name,omitempty"`
	LevelFilter        []string `json:"level,omitempty"`

	// Filters for array fields
	TagsFilter     DbArrayFilter `json:"tags,omitempty"`
	KeywordsFilter DbArrayFilter `json:"keywords,omitempty"`

	// Filters for JSON fields
	MetadataFilter []DbJsonFilter `json:"metadata,omitempty"`
}

DbFilters represents the filters for the database.

type DbJsonFilter

type DbJsonFilter struct {
	FieldName  string   `json:"fieldName"`
	FieldType  string   `json:"fieldType" description:"Can be either string or array."` // "string" or "array"
	FilterData []string `json:"filterData"`
	NeedAll    bool     `json:"needAll" description:"Only needed if the FieldType is array."` // only needed for array fields
}

DbJsonFilter represents the filter for a JSON field in the database.

type DbResponse

type DbResponse struct {
	Guid              uuid.UUID              `json:"guid"`
	DocumentId        string                 `json:"document_id"`
	DocumentName      string                 `json:"document_name"`
	Text              string                 `json:"text"`
	Keywords          []string               `json:"keywords"`
	Summary           string                 `json:"summary"`
	Embedding         []float32              `json:"embeddings"`
	Tags              []string               `json:"tags"`
	Metadata          map[string]interface{} `json:"metadata"`
	ParentId          *uuid.UUID             `json:"parent_id"`
	ChildIds          []uuid.UUID            `json:"child_ids"`
	PreviousSiblingId *uuid.UUID             `json:"previous_sibling_id"`
	NextSiblingId     *uuid.UUID             `json:"next_sibling_id"`
	LastChildId       *uuid.UUID             `json:"last_child_id"`
	FirstChildId      *uuid.UUID             `json:"first_child_id"`
	Distance          float64                `json:"distance"`
	Level             string                 `json:"level"`
	HasNeo4jEntry     bool                   `json:"has_neo4j_entry"`

	// Siblings
	Parent    *DbData  `json:"parent,omitempty"`
	Children  []DbData `json:"children,omitempty"`
	LeafNodes []DbData `json:"leaf_nodes,omitempty"`
	Siblings  []DbData `json:"siblings,omitempty"`
}

DbResponse represents the response from the database.

type EmbeddingOptions

type EmbeddingOptions struct {
	ReturnDense   *bool `json:"returnDense"`   // defines if the response should include dense vectors; only for BAAI/bge-m3
	ReturnSparse  *bool `json:"returnSparse"`  // defines if the response should include lexical weights; only for BAAI/bge-m3
	ReturnColbert *bool `json:"returnColbert"` // defines if the response should include colbert vectors; only for BAAI/bge-m3
}

EmbeddingsOptions represents the options for an embeddings request.

type EmbeddingResult added in v1.0.3

type EmbeddingResult struct {
	Dense  []float32
	Sparse map[uint]float32
}

EmbeddingResult holds both dense and sparse embeddings

type ErrorResponse

type ErrorResponse struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
}

ErrorResponse represents the error response sent to the client when something fails during the processing of the request.

type ExecRequest

type ExecRequest struct {
	Type                 string                       `json:"type"`   // "code", "flowkit"
	Action               string                       `json:"action"` // type "code":"execute", "append", "cancel", "status"; for type "flowkit": "<functionName>"
	InstructionGuid      string                       `json:"instructionGuid"`
	ExecutionInstruction *ExecutionInstruction        `json:"executionInstruction"` // only for type "code"
	Inputs               map[string]FilledInputOutput `json:"inputs"`               // only for type "flowkit"
}

ExecRequest represents the requests that can be sent to aali-exec

type ExecResponse

type ExecResponse struct {
	Type             string                       `json:"type"` // "status", "flowkit", "file", "error"
	InstructionGuid  string                       `json:"instructionGuid"`
	Error            *ErrorResponse               `json:"error,omitempty"`
	ExecutionDetails *ExecutionDetails            `json:"executionDetails,omitempty"`
	FileDetails      *FileDetails                 `json:"fileDetails,omitempty"`
	Outputs          map[string]FilledInputOutput `json:"outputs"` // only for type "flowkit"
}

ExecResponse represents the response that aali-exec sends back

type ExecutionDetails

type ExecutionDetails struct {
	InstructionGuid     string        `json:"instructionGuid"`
	ClientGuid          string        `json:"clientGuid"`
	StartTime           time.Time     `json:"startTime"`
	TimeoutAt           time.Time     `json:"timeoutAt"`
	Response            string        `json:"response"`
	Status              string        `json:"status"` // "started", "running", "completed", "failed"
	LastResponseDiff    string        `json:"lastResponseDiff"`
	InterruptionChannel chan bool     `json:"-"`
	StdinChannel        chan []string `json:"-"`
	Cancelled           bool          `json:"-"`
}

ExecutionDetails represents the details of the execution

type ExecutionInstruction

type ExecutionInstruction struct {
	CodeType       string   `json:"codeType"` // "python", "bash"
	Code           []string `json:"code"`
	VenvExecutable string   `json:"venvExecutable"`
}

ExecutionInstruction contain an array of strings that represent the code to be executed in aali-exec

type Feedback

type Feedback struct {
	ConversationHistory []ConversationHistoryMessage `json:"conversation"`
	MessageId           string                       `json:"message_id"`
	AddPositive         bool                         `json:"add_positive"`
	AddNegative         bool                         `json:"add_negative"`
	RemovePositive      bool                         `json:"remove_positive"`
	RemoveNegative      bool                         `json:"remove_negative"`
}

Feedback is a structure that contains the conversation history, message ID, and feedback options of a workflow feedback.

type FileDetails

type FileDetails struct {
	FileName        string `json:"fileName"`
	FileSize        int64  `json:"fileSize"`
	FileChunkNumber int    `json:"fileChunkNumber"`
	FileChunk       []byte `json:"fileChunk"`
	IsLastChunk     bool   `json:"isLastChunk"`
}

FileDetails contain parts of a file that is being sent

type FilledInputOutput

type FilledInputOutput struct {
	Name   string      `json:"name" yaml:"name"`
	GoType string      `json:"go_type" yaml:"go_type"`
	Value  interface{} `json:"value" yaml:"value"`
}

FilledInputOutput is a struct that contains the name, go type and value of a filled input/output

type FlowKitPythonFunction

type FlowKitPythonFunction struct {
	Name        string           `json:"name"`
	Path        string           `json:"path"`
	Description string           `json:"description"`
	Category    string           `json:"category"`
	DisplayName string           `json:"display_name"`
	Inputs      []FunctionInput  `json:"inputs"`
	Outputs     []FunctionOutput `json:"outputs"`
	Definitions interface{}      `json:"definitions"`
}

FlowKitPythonFunction is a struct that contains the name, path, description, inputs, outputs and definitions of a FlowKit-Python function

type FunctionDefinition

type FunctionDefinition struct {
	Name        string           `json:"name" yaml:"name"`
	FlowkitUrl  string           `json:"flowkit_url" yaml:"flowkit_url"` // URL of the connected FlowKit server containing this function
	ApiKey      string           `json:"api_key" yaml:"api_key"`         // API key for the FlowKit server
	DisplayName string           `json:"display_name" yaml:"display_name"`
	Description string           `json:"description" yaml:"description"`
	Category    string           `json:"category" yaml:"category"` // "data_extraction", "generic", "knowledge_db", "llm_handler", "ansys_gpt"
	Type        string           `json:"type" yaml:"type"`         // "go", "python"
	Path        string           `json:"path" yaml:"path"`         // only for python functions
	Inputs      []FunctionInput  `json:"inputs" yaml:"inputs"`
	Outputs     []FunctionOutput `json:"outputs" yaml:"outputs"`
}

FunctionDefinition is a struct that contains the id, name, description, package, inputs and outputs of a function

type FunctionDefinitionShort

type FunctionDefinitionShort struct {
	Name        string           `json:"name" yaml:"name"`
	FlowkitUrl  string           `json:"flowkit_url" yaml:"flowkit_url"` // URL of the connected FlowKit server containing this function
	DisplayName string           `json:"display_name" yaml:"display_name"`
	Description string           `json:"description" yaml:"description"`
	Category    string           `json:"category" yaml:"category"` // "data_extraction", "generic", "knowledge_db", "llm_handler", "ansys_gpt"
	Type        string           `json:"type" yaml:"type"`         // "go", "python"
	Path        string           `json:"path" yaml:"path"`         // only for python functions
	Inputs      []FunctionInput  `json:"inputs" yaml:"inputs"`
	Outputs     []FunctionOutput `json:"outputs" yaml:"outputs"`
}

FunctionDefinitionShort is equivalent to FunctionDefinition but without the API key (used for aali-agent rest API)

type FunctionInput

type FunctionInput struct {
	Name    string   `json:"name" yaml:"name"`
	Type    string   `json:"type" yaml:"type"` // string, number, boolean, json
	GoType  string   `json:"go_type" yaml:"go_type"`
	Options []string `json:"options" yaml:"options"` // only applicable if not empty
}

FunctionInput is a struct that contains the name, type, go type and options of a function input

type FunctionOutput

type FunctionOutput struct {
	Name   string `json:"name" yaml:"name"`
	Type   string `json:"type" yaml:"type"` // string, number, boolean, json
	GoType string `json:"go_type" yaml:"go_type"`
}

FunctionOutput is a struct that contains the name, type and go type of a function output

type GeneralNeo4jQueryInput

type GeneralNeo4jQueryInput struct {
	Query string `json:"query" description:"Neo4j query to be executed. Required for executing a query." required:"true"`
}

GeneralNeo4jQueryInput represents the input for executing a Neo4j query.

type GeneralNeo4jQueryOutput

type GeneralNeo4jQueryOutput struct {
	Success  bool          `json:"success" description:"Returns true if the query was executed successfully. Returns false or an error if not."`
	Response Neo4jResponse `json:"response" description:"Summary and records of the query execution."`
}

GeneralNeo4jQueryOutput represents the output of executing a Neo4j query.

type GraphDbValueType added in v1.0.3

type GraphDbValueType string
const (
	Bool         GraphDbValueType = "bool"
	Int64        GraphDbValueType = "int64"
	Int32        GraphDbValueType = "int32"
	Int16        GraphDbValueType = "int16"
	Int8         GraphDbValueType = "int8"
	UInt64       GraphDbValueType = "uint64"
	UInt32       GraphDbValueType = "uint32"
	UInt16       GraphDbValueType = "uint16"
	UInt8        GraphDbValueType = "uint8"
	Int128       GraphDbValueType = "int128"
	Double       GraphDbValueType = "double"
	Float        GraphDbValueType = "float"
	Date         GraphDbValueType = "date"
	Interval     GraphDbValueType = "interval"
	Timestamp    GraphDbValueType = "timestamp"
	TimestampTz  GraphDbValueType = "timestamptz"
	TimestampNs  GraphDbValueType = "timestampns"
	TimestampMs  GraphDbValueType = "timestampms"
	TimestampSec GraphDbValueType = "timestampsec"
	String       GraphDbValueType = "string"
	Blob         GraphDbValueType = "blob"
	Struct       GraphDbValueType = "struct"
	UUID         GraphDbValueType = "uuid"
	Decimal      GraphDbValueType = "decimal"
)

some types don't really make sense to be parsed in the aali flowkit context. These are not included here: - Null - InternalID - List/Array (would require somehow parsing/infering the LogicalType as well) - Struct (would require knowing type of each value) - Node/Rel/RecursiveRel - Map - Union

func (GraphDbValueType) Parse added in v1.0.3

func (valType GraphDbValueType) Parse(val string) (aali_graphdb.Value, error)

type HandlerRequest

type HandlerRequest struct {
	Adapter             string            `json:"adapter"` // "chat", "embeddings"
	InstructionGuid     string            `json:"instructionGuid"`
	ModelIds            []string          `json:"modelIds"`                   // optional model ids to define a set of specific models to be used for this request
	Data                interface{}       `json:"data"`                       // for embeddings, this can be a string or []string; for chat, only string is allowed
	Images              []string          `json:"images"`                     // List of images in base64 format
	ChatRequestType     string            `json:"chatRequestType"`            // "summary", "code", "keywords", "general"; only relevant if "adapter" is "chat"
	DataStream          bool              `json:"dataStream"`                 // only relevant if "adapter" is "chat"
	MaxNumberOfKeywords uint32            `json:"maxNumberOfKeywords"`        // only relevant if "chatRequestType" is "keywords"
	IsConversation      bool              `json:"isConversation"`             // only relevant if "chatRequestType" is "code"
	ConversationHistory []HistoricMessage `json:"conversationHistory"`        // only relevant if "isConversation" is true
	GeneralContext      string            `json:"generalContext"`             // any added context you might need
	MsgContext          string            `json:"msgContext"`                 // any added context you might need
	SystemPrompt        interface{}       `json:"systemPrompt"`               // only relevant if "chatRequestType" is "general"
	ModelOptions        ModelOptions      `json:"modelOptions,omitempty"`     // only relevant if "adapter" is "chat"
	EmbeddingOptions    EmbeddingOptions  `json:"embeddingOptions,omitempty"` // only relevant if "adapter" is "embeddings"
}

HandlerRequest represents the client request for a specific chat or embeddings operation.

type HandlerResponse

type HandlerResponse struct {
	// Common properties
	InstructionGuid string `json:"instructionGuid"`
	Type            string `json:"type"` // "info", "error", "chat", "embeddings"

	// Chat properties
	IsLast           *bool   `json:"isLast,omitempty"`
	Position         *uint32 `json:"position,omitempty"`
	InputTokenCount  *int    `json:"inputTokenCount,omitempty"`
	OutputTokenCount *int    `json:"outputTokenCount,omitempty"`
	ChatData         *string `json:"chatData,omitempty"`

	// Embeddings properties
	EmbeddedData   interface{} `json:"embeddedData,omitempty"`   // []float32 or [][]float32; for BAAI/bge-m3 these are dense vectors
	LexicalWeights interface{} `json:"lexicalWeights,omitempty"` // map[uint]float32 or []map[uint]float32; only for BAAI/bge-m3
	ColbertVecs    interface{} `json:"colbertVecs,omitempty"`    // [][]float32 or [][][]float32; only for BAAI/bge-m3

	// Error properties
	Error *ErrorResponse `json:"error,omitempty"`

	// Info properties
	InfoMessage *string `json:"infoMessage,omitempty"`
}

HandlerResponse represents the LLM Handler response for a specific request.

type HistoricMessage

type HistoricMessage struct {
	Role    string   `json:"role"`
	Content string   `json:"content"`
	Images  []string `json:"images"` // image in base64 format
}

HistoricMessage represents a past chat messages.

type MaterialAttribute added in v1.0.3

type MaterialAttribute struct {
	Name string `json:"name"`
	Guid string `json:"guid"`
}

Represents a defined material attribute with its name and GUID.

type MaterialCriterionWithGuid added in v1.0.3

type MaterialCriterionWithGuid struct {
	AttributeName string `json:"attributeName"`
	AttributeGuid string `json:"attributeGuid"`
	Explanation   string `json:"explanation"`
	Confidence    int    `json:"confidence"`
}

Represents a criterion with its GUID

type MaterialLlmCriterion added in v1.0.3

type MaterialLlmCriterion struct {
	AttributeName string `json:"attributeName"`
	Explanation   string `json:"explanation"`
	Confidence    int    `json:"confidence"`
}

Represents a criterion returned from the llm

type ModelOptions

type ModelOptions struct {
	FrequencyPenalty *float32 `json:"frequencyPenalty,omitempty"`
	MaxTokens        *int32   `json:"maxTokens,omitempty"`
	PresencePenalty  *float32 `json:"presencePenalty,omitempty"`
	Stop             []string `json:"stop,omitempty"`
	Temperature      *float32 `json:"temperature,omitempty"`
	TopP             *float32 `json:"topP,omitempty"`
}

OpenAIOption represents an option for an OpenAI API call.

type Neo4jResponse

type Neo4jResponse struct {
	Record          neo4jRecord     `json:"record"`
	SummaryCounters summaryCounters `json:"summaryCounters"`
}

neo4jResponse represents the response from the Neo4j query.

type SessionContext

type SessionContext struct {
	SessionType string            `json:"session_type"`          // Type of session: "workflow", "exec"
	ApiKey      string            `json:"api_key"`               // API key for authentication, only relevant if "session_type" is "exec"
	JwtToken    string            `json:"jwt_token"`             // JWT token for authentication (optional)
	ExecId      string            `json:"exec_id,omitempty"`     // Unique identifier of connecting Exec, only relevant if "session_type" is "exec"
	WorkflowId  string            `json:"workflow_id,omitempty"` // Workflow ID, only relevant if "workflow_endpoint" is "custom"
	Variables   map[string]string `json:"variables,omitempty"`   // Variables to be passed to the workflow
	// Snapshot logic
	SnapshotId     string `json:"snapshot_id,omitempty"`     // Snapshot ID, only relevant if "session_type" is "workflow"; if defined, the given snapshot will retrived from the database
	WorkflowRunId  string `json:"workflow_run_id,omitempty"` // Workflow run ID, only relevant if "session_type" is "workflow"; if defined, mandatory if "snapshot_id" is defined in order to retrieve the snapshot from the database
	UserId         string `json:"user_id,omitempty"`         // User ID, only relevant if "session_type" is "workflow"; if defined, mandatory if "snapshot_id" is defined in order to retrieve the snapshot from the database
	StoreSnapshots bool   `json:"store_snapshots,omitempty"` // Store snapshots, only relevant if "session_type" is "workflow"; if true, all taken snapshots will be stored in the database
	// Other
	IpAddress string `json:"ip_address,omitempty"` // IP address of the client, required for some auth_types
}

Message represents the JSON message you are expecting

func ExtractSessionContext

func ExtractSessionContext(ctx *logging.ContextMap, msg []byte) (SessionContext, error)

SetSessionContext sets the SessionContext struct from the JSON payload

Parameters:

  • msg: the JSON payload

Returns:

  • SessionContext: the SessionContext struct

type TransferDetails

type TransferDetails struct {
	ResponseChannel chan HandlerResponse
	RequestChannel  chan HandlerRequest
}

TransferDetails holds communication channels for the websocket listener and writer.

type XMLMemberExample

type XMLMemberExample struct {
	Description string               `xml:",chardata" json:"description"` // Text content of <example>
	Code        XMLMemberExampleCode `xml:"code,omitempty" json:"code"`   // Optional <code> element
}

type XMLMemberExampleCode

type XMLMemberExampleCode struct {
	Type string `xml:"type,attr" json:"type"` // Attribute for <code>
	Text string `xml:",chardata" json:"text"` // Text content of <code>
}

type XMLMemberParam

type XMLMemberParam struct {
	Name        string `xml:"name" json:"name"`             // Attribute for <param>
	Type        string `xml:"type,omitempty" json:"type"`   // Attribute for <param>
	Description string `xml:",chardata" json:"description"` // Text content of <param>
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL