controllers

package
v1.785.0 Latest Latest
Warning

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

Go to latest
Published: May 19, 2026 License: Apache-2.0 Imports: 51 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TunnelClosed          int = -1
	Normal                int = 0
	ConnectionNotFound    int = 800
	NewTunnelError        int = 801
	ForcedDisconnect      int = 802
	NodeNotActive         int = 803
	ParametersError       int = 804
	NodeNotFound          int = 805
	ConnectionUpdateError int = 806
)
View Source
const MsgTypeCloudOps uint16 = 110

MsgTypeCloudOps is the ZAP message type for inter-service cloud operations.

View Source
const StarterCreditDollars = 5.00

StarterCreditDollars is the amount granted to new users as free credit. Premium models require a balance above this threshold to ensure the user has added real funds beyond the starter credit.

Variables

View Source
var UpGrader = websocket.Upgrader{
	ReadBufferSize:  4096,
	WriteBufferSize: 4096,
	CheckOrigin: func(r *http.Request) bool {
		return true
	},
	Subprotocols: []string{"guacamole"},
}

Functions

func ConvertMessageDataToJSON

func ConvertMessageDataToJSON(data string) ([]byte, error)

func DenyRequest

func DenyRequest(ctx *context.Context)

func FilterStoresByHomepage

func FilterStoresByHomepage(stores []*object.Store, user *iam.User) []*object.Store

FilterStoresByHomepage filters stores based on user's Homepage field.

func GetUserName

func GetUserName(user *iam.User) string

func InitAuthConfig

func InitAuthConfig()

func InitBillingQueue

func InitBillingQueue() *util.BillingQueue

InitBillingQueue creates the billing queue from app config. Must be called once during startup. Returns the queue so main.go can call Shutdown().

func InitInterserviceZap

func InitInterserviceZap()

InitInterserviceZap starts a dedicated ZAP node for inter-service operations. Separate from the main inference ZAP node (port 9999).

func InitModelConfig

func InitModelConfig(path string) error

InitModelConfig loads the YAML config and optionally starts a background refresh goroutine (when live_mode is true). Returns an error if the file cannot be read or parsed. This is non-fatal — the caller can log and fall back to static maps.

func InitZapHandlers

func InitZapHandlers()

InitZapHandlers registers native ZAP service handlers on the node.

func QueryCarrierText

func QueryCarrierText(question string, writer *RefinedWriter, history []*model.RawMessage, prompt string, knowledge []*model.RawMessage, modelProviderObj model.ModelProvider, needTitle bool, suggestionCount int, lang string) (*model.ModelResult, error)

func RefineMessageImage

func RefineMessageImage(message *object.Message, lang string) error

func StopInterserviceZap

func StopInterserviceZap()

StopInterserviceZap gracefully shuts down the inter-service ZAP node.

Types

type AnthropicContentBlock

type AnthropicContentBlock struct {
	Type string `json:"type"`
	Text string `json:"text"`
}

AnthropicContentBlock is a content block in the response.

type AnthropicErrorBody

type AnthropicErrorBody struct {
	Type  string `json:"type"`
	Error struct {
		Type    string `json:"type"`
		Message string `json:"message"`
	} `json:"error"`
}

AnthropicErrorBody is the Anthropic error response shape.

type AnthropicMessage

type AnthropicMessage struct {
	Role    string          `json:"role"`
	Content json.RawMessage `json:"content"`
}

AnthropicMessage is a single message in the Anthropic conversation. Content accepts both string ("hello") and array-of-blocks ([{"type":"text","text":"hello"}]) formats per the Anthropic Messages API.

func (*AnthropicMessage) ContentText

func (m *AnthropicMessage) ContentText() string

ContentText returns the message content as a plain string. Handles both string format and array-of-content-blocks format.

type AnthropicRequest

type AnthropicRequest struct {
	Model     string             `json:"model"`
	MaxTokens int                `json:"max_tokens"`
	System    json.RawMessage    `json:"system,omitempty"`
	Messages  []AnthropicMessage `json:"messages"`
	Stream    bool               `json:"stream"`
}

AnthropicRequest is the Anthropic Messages API request body.

func (*AnthropicRequest) SystemText

func (r *AnthropicRequest) SystemText() string

SystemText returns the system prompt as a plain string. Handles both string format ("You are helpful") and array format ([{"type":"text","text":"You are helpful"}]) used by the Anthropic SDK.

type AnthropicResponse

type AnthropicResponse struct {
	ID         string                  `json:"id"`
	Type       string                  `json:"type"`
	Role       string                  `json:"role"`
	Content    []AnthropicContentBlock `json:"content"`
	Model      string                  `json:"model"`
	StopReason string                  `json:"stop_reason"`
	Usage      AnthropicUsage          `json:"usage"`
}

AnthropicResponse is the non-streaming Messages API response.

type AnthropicUsage

type AnthropicUsage struct {
	InputTokens  int `json:"input_tokens"`
	OutputTokens int `json:"output_tokens"`
}

AnthropicUsage tracks token counts.

type AnthropicWriter

type AnthropicWriter struct {
	context.Response
	Cleaner    Cleaner
	Buffer     []byte
	MessageBuf []byte
	RequestID  string
	Stream     bool
	StreamSent bool
	Model      string
	// contains filtered or unexported fields
}

AnthropicWriter implements io.Writer, collecting output for non-streaming and emitting SSE events in Anthropic format for streaming.

func (*AnthropicWriter) Close

func (w *AnthropicWriter) Close(promptTokens, completionTokens, totalTokens int) error

Close finalizes the streaming response with stop events.

func (*AnthropicWriter) MessageString

func (w *AnthropicWriter) MessageString() string

MessageString returns the full accumulated message text.

func (*AnthropicWriter) Write

func (w *AnthropicWriter) Write(p []byte) (n int, err error)

Write processes incoming data chunks from the model provider.

type ApiController

type ApiController struct {
	beego.Controller
}

func (*ApiController) ActivateFile

func (c *ApiController) ActivateFile()

ActivateFile @Title ActivateFile @Tag File API @Description activate file @Param key query string true "The key of the file" @Param filename query string true "The name of the file" @Success 200 {object} controllers.Response The Response object @router /activate-file [post]

func (*ApiController) AddApplication

func (c *ApiController) AddApplication()

AddApplication @Title AddApplication @Tag Application API @Description add application @Param body body object.Application true "The details of the application" @Success 200 {object} controllers.Response The Response object @router /add-application [post]

func (*ApiController) AddArticle

func (c *ApiController) AddArticle()

AddArticle @Title AddArticle @Tag Article API @Description add article @Param body body object.Article true "The details of the article" @Success 200 {object} controllers.Response The Response object @router /add-article [post]

func (*ApiController) AddAsset

func (c *ApiController) AddAsset()

AddAsset @Title AddAsset @Tag Asset API @Description add an asset @Param body body object.Asset true "The details of the asset" @Success 200 {object} controllers.Response The Response object @router /add-asset [post]

func (*ApiController) AddCaase

func (c *ApiController) AddCaase()

AddCaase @Title AddCaase @Tag Caase API @Description add a caase @Param body body object.Caase true "The details of the caase" @Success 200 {object} controllers.Response The Response object @router /add-caase [post]

func (*ApiController) AddChat

func (c *ApiController) AddChat()

AddChat @Title AddChat @Tag Chat API @Description add chat @Param body body object.Chat true "The details of the chat" @Success 200 {object} controllers.Response The Response object @router /add-chat [post]

func (*ApiController) AddConnection

func (c *ApiController) AddConnection()

AddConnection @Title AddConnection @Tag Connection API @Description add connection @Param body body object.Connection true "The connection object" @Success 200 {object} Response @router /add-connection [post]

func (*ApiController) AddConsultation

func (c *ApiController) AddConsultation()

AddConsultation @Title AddConsultation @Tag Consultation API @Description add a consultation @Param body body object.Consultation true "The details of the consultation" @Success 200 {object} controllers.Response The Response object @router /add-consultation [post]

func (*ApiController) AddContainer

func (c *ApiController) AddContainer()

AddContainer @Title AddContainer @Tag Container API @Description add a container @Param body body object.Container true "The details of the container" @Success 200 {object} controllers.Response The Response object @router /add-container [post]

func (*ApiController) AddDoctor

func (c *ApiController) AddDoctor()

AddDoctor @Title AddDoctor @Tag Doctor API @Description add a doctor @Param body body object.Doctor true "The details of the doctor" @Success 200 {object} controllers.Response The Response object @router /add-doctor [post]

func (*ApiController) AddFile

func (c *ApiController) AddFile()

AddFile @Title AddFile @Tag File API @Description add file object @Param body body object.File true "The details of the file object" @Success 200 {object} controllers.Response The Response object @router /add-file [post]

func (*ApiController) AddForm

func (c *ApiController) AddForm()

AddForm @Title AddForm @Tag Form API @Description add form @Param body body object.Form true "The details of the form" @Success 200 {object} controllers.Response The Response object @router /add-form [post]

func (*ApiController) AddGraph

func (c *ApiController) AddGraph()

AddGraph @Title AddGraph @Tag Graph API @Description add Graph @Param body body object.Graph true "The details of the Graph" @Success 200 {object} controllers.Response The Response object @router /add-Graph [post]

func (*ApiController) AddHospital

func (c *ApiController) AddHospital()

AddHospital @Title AddHospital @Tag Hospital API @Description add a hospital @Param body body object.Hospital true "The details of the hospital" @Success 200 {object} controllers.Response The Response object @router /add-hospital [post]

func (*ApiController) AddImage

func (c *ApiController) AddImage()

AddImage @Title AddImage @Tag Image API @Description add a image @Param body body object.Image true "The details of the image" @Success 200 {object} controllers.Response The Response object @router /add-image [post]

func (*ApiController) AddMachine

func (c *ApiController) AddMachine()

AddMachine @Title AddMachine @Tag Machine API @Description add a machine @Param body body object.Machine true "The details of the machine" @Success 200 {object} controllers.Response The Response object @router /add-machine [post]

func (*ApiController) AddMessage

func (c *ApiController) AddMessage()

AddMessage @Title AddMessage @Tag Message API @Description add message @Param body body object.Message true "The details of the message" @Success 200 {object} object.Chat The Response object @router /add-message [post]

func (*ApiController) AddModelRoute

func (c *ApiController) AddModelRoute()

AddModelRoute @Title AddModelRoute @Tag ModelRoute API @Description add a model route @Param body body object.ModelRoute true "The details of the model route" @Success 200 {object} controllers.Response The Response object @router /add-model-route [post]

func (*ApiController) AddNode

func (c *ApiController) AddNode()

AddNode @Title AddNode @Tag Node API @Description add a node @Param body body object.Node true "The details of the node" @Success 200 {object} controllers.Response The Response object @router /add-node [post]

func (*ApiController) AddNodeTunnel

func (c *ApiController) AddNodeTunnel()

AddNodeTunnel @Title AddNodeTunnel @Tag Connection API @Description add node tunnel session @Param nodeId query string true "The id of node" @Success 200 {object} Response @router /add-node-tunnel [get]

func (*ApiController) AddPatient

func (c *ApiController) AddPatient()

AddPatient @Title AddPatient @Tag Patient API @Description add a patient @Param body body object.Patient true "The details of the patient" @Success 200 {object} controllers.Response The Response object @router /add-patient [post]

func (*ApiController) AddPermission

func (c *ApiController) AddPermission()

AddPermission @Title AddPermission @Tag Permission API @Description add permission @Param body body iam.Permission true "The details of the permission" @Success 200 {object} controllers.Response The Response object @router /add-permission [post]

func (*ApiController) AddPod

func (c *ApiController) AddPod()

AddPod @Title AddPod @Tag Pod API @Description add a pod @Param body body object.Pod true "The details of the pod" @Success 200 {object} controllers.Response The Response object @router /add-pod [post]

func (*ApiController) AddProvider

func (c *ApiController) AddProvider()

AddProvider @Title AddProvider @Tag Provider API @Description add provider @Param body body object.Provider true "The details of the provider" @Success 200 {object} controllers.Response The Response object @router /add-provider [post]

func (*ApiController) AddRecord

func (c *ApiController) AddRecord()

AddRecord @Title AddRecord @Tag Record API @Description add a record @Param body body object.Record true "The details of the record" @Success 200 {object} controllers.Response The Response object @router /add-record [post]

func (*ApiController) AddRecords

func (c *ApiController) AddRecords()

AddRecords @Title AddRecords @Tag Record API @Description add multiple records @Param body body []object.Record true "The details of the records" @Param sync query string false "Set to 'true' or '1' to enable synchronous processing" @Success 200 {object} controllers.Response The Response object @router /add-records [post]

func (*ApiController) AddScale

func (c *ApiController) AddScale()

AddScale @router /add-scale [post]

func (*ApiController) AddScan

func (c *ApiController) AddScan()

AddScan @Title AddScan @Tag Scan API @Description add a scan @Param body body object.Scan true "The details of the scan" @Success 200 {object} controllers.Response The Response object @router /add-scan [post]

func (*ApiController) AddSession

func (c *ApiController) AddSession()

AddSession @Title AddSession @Tag Session API @Description Add session for one user in one application. If there are other existing sessions, join the session into the list. @Param id query string true "The id(organization/application/user) of session" @Param sessionId query string true "sessionId to be added" @Success 200 {array} string The Response object @router /add-session [post]

func (*ApiController) AddStore

func (c *ApiController) AddStore()

AddStore @Title AddStore @Tag Store API @Description add store @Param body body object.Store true "The details of the store" @Success 200 {object} controllers.Response The Response object @router /add-store [post]

func (*ApiController) AddTask

func (c *ApiController) AddTask()

AddTask @Title AddTask @Tag Task API @Description add task @Param body body object.Task true "The details of the task" @Success 200 {object} controllers.Response The Response object @router /add-task [post]

func (*ApiController) AddTemplate

func (c *ApiController) AddTemplate()

AddTemplate @Title AddTemplate @Tag Template API @Description add template @Param body body object.Template true "The details of the template" @Success 200 {object} controllers.Response The Response object @router /add-template [post]

func (*ApiController) AddTreeFile

func (c *ApiController) AddTreeFile()

AddTreeFile @Title AddTreeFile @Tag Tree File API @Description add tree file @Param store query string true "The store of the file" @Param key query string true "The key of the file" @Param isLeaf query string true "if is leaf" @Param filename query string true "The name of the file" @Success 200 {object} controllers.Response The Response object @router /add-tree-file [post]

func (*ApiController) AddVector

func (c *ApiController) AddVector()

AddVector @Title AddVector @Tag Vector API @Description add vector @Param body body object.Vector true "The details of the vector" @Success 200 {object} controllers.Response The Response object @router /add-vector [post]

func (*ApiController) AddVideo

func (c *ApiController) AddVideo()

AddVideo @Title AddVideo @Tag Video API @Description add video @Param body body object.Video true "The details of the video" @Success 200 {object} controllers.Response The Response object @router /add-video [post]

func (*ApiController) AddWorkflow

func (c *ApiController) AddWorkflow()

AddWorkflow @Title AddWorkflow @Tag Workflow API @Description add workflow @Param body body object.Workflow true "The details of the workflow" @Success 200 {object} controllers.Response The Response object @router /add-workflow [post]

func (*ApiController) AnalyzeTask

func (c *ApiController) AnalyzeTask()

AnalyzeTask @Title AnalyzeTask @Tag Task API @Description analyze task document and generate structured report @Param id query string true "The id (owner/name) of the task" @Success 200 {object} object.TaskResult The Response object @router /analyze-task [post]

func (*ApiController) AnthropicMessages

func (c *ApiController) AnthropicMessages()

AnthropicMessages implements the Anthropic Messages API. @Title AnthropicMessages @Tag Anthropic Compatible API @Description Anthropic compatible messages API. Accepts:

  • IAM API key (hk-...) via x-api-key or Authorization header
  • hanzo.id JWT token via Authorization header
  • Provider API key via Authorization header

@Param body body AnthropicRequest true "The Anthropic messages request" @Success 200 {object} AnthropicResponse @router /messages [post]

func (*ApiController) ChatCompletions

func (c *ApiController) ChatCompletions()

ChatCompletions implements the OpenAI-compatible chat completions API @Title ChatCompletions @Tag OpenAI Compatible API @Description OpenAI compatible chat completions API. Accepts:

  • Widget key (hz_...) — restricted models, no balance check, token-capped
  • IAM API key (hk-...) — full model routing + billing
  • hanzo.id JWT token — full model routing + billing
  • Provider API key — direct provider access

@Param body body openai.ChatCompletionRequest true "The OpenAI chat request" @Success 200 {object} openai.ChatCompletionResponse @router /chat [post]

func (*ApiController) CheckSignedIn

func (c *ApiController) CheckSignedIn() (string, bool)

func (*ApiController) CommitRecord

func (c *ApiController) CommitRecord()

CommitRecord @Title CommitRecord @Tag Record API @Description commit a record @Param body body object.Record true "The details of the record" @Success 200 {object} controllers.Response The Response object @router /commit-record [post]

func (*ApiController) CommitRecordSecond

func (c *ApiController) CommitRecordSecond()

CommitRecordSecond @Title CommitRecordSecond @Tag Record API @Description commit a record @Param body body object.Record true "The details of the record" @Success 200 {object} controllers.Response The Response object @router /commit-record-second [post]

func (*ApiController) DeleteAllVectors

func (c *ApiController) DeleteAllVectors()

DeleteAllVectors @Title DeleteAllVectors @Tag Vector API @Description delete all vectors @Success 200 {object} controllers.Response The Response object @router /delete-all-vectors [post]

func (*ApiController) DeleteApplication

func (c *ApiController) DeleteApplication()

DeleteApplication @Title DeleteApplication @Tag Application API @Description delete application @Param body body object.Application true "The details of the application" @Success 200 {object} controllers.Response The Response object @router /delete-application [post]

func (*ApiController) DeleteArticle

func (c *ApiController) DeleteArticle()

DeleteArticle @Title DeleteArticle @Tag Article API @Description delete article @Param body body object.Article true "The details of the article" @Success 200 {object} controllers.Response The Response object @router /delete-article [post]

func (*ApiController) DeleteAsset

func (c *ApiController) DeleteAsset()

DeleteAsset @Title DeleteAsset @Tag Asset API @Description delete an asset @Param body body object.Asset true "The details of the asset" @Success 200 {object} controllers.Response The Response object @router /delete-asset [post]

func (*ApiController) DeleteCaase

func (c *ApiController) DeleteCaase()

DeleteCaase @Title DeleteCaase @Tag Caase API @Description delete a caase @Param body body object.Caase true "The details of the caase" @Success 200 {object} controllers.Response The Response object @router /delete-caase [post]

func (*ApiController) DeleteChat

func (c *ApiController) DeleteChat()

DeleteChat @Title DeleteChat @Tag Chat API @Description delete chat @Param body body object.Chat true "The details of the chat" @Success 200 {object} controllers.Response The Response object @router /delete-chat [post]

func (*ApiController) DeleteConnection

func (c *ApiController) DeleteConnection()

DeleteConnection @Title DeleteConnection @Tag Connection API @Description delete connection @Param id query string true "The id of connection" @Success 200 {object} Response @router /delete-connection [post]

func (*ApiController) DeleteConsultation

func (c *ApiController) DeleteConsultation()

DeleteConsultation @Title DeleteConsultation @Tag Consultation API @Description delete a consultation @Param body body object.Consultation true "The details of the consultation" @Success 200 {object} controllers.Response The Response object @router /delete-consultation [post]

func (*ApiController) DeleteContainer

func (c *ApiController) DeleteContainer()

DeleteContainer @Title DeleteContainer @Tag Container API @Description delete a container @Param body body object.Container true "The details of the container" @Success 200 {object} controllers.Response The Response object @router /delete-container [post]

func (*ApiController) DeleteDoctor

func (c *ApiController) DeleteDoctor()

DeleteDoctor @Title DeleteDoctor @Tag Doctor API @Description delete a doctor @Param body body object.Doctor true "The details of the doctor" @Success 200 {object} controllers.Response The Response object @router /delete-doctor [post]

func (*ApiController) DeleteFile

func (c *ApiController) DeleteFile()

DeleteFile @Title DeleteFile @Tag File API @Description delete file object @Param body body object.File true "The details of the file object" @Success 200 {object} controllers.Response The Response object @router /delete-file [post]

func (*ApiController) DeleteForm

func (c *ApiController) DeleteForm()

DeleteForm @Title DeleteForm @Tag Form API @Description delete form @Param body body object.Form true "The details of the form" @Success 200 {object} controllers.Response The Response object @router /delete-form [post]

func (*ApiController) DeleteGraph

func (c *ApiController) DeleteGraph()

DeleteGraph @Title DeleteGraph @Tag Graph API @Description delete Graph @Param body body object.Graph true "The details of the Graph" @Success 200 {object} controllers.Response The Response object @router /delete-Graph [post]

func (*ApiController) DeleteHospital

func (c *ApiController) DeleteHospital()

DeleteHospital @Title DeleteHospital @Tag Hospital API @Description delete a hospital @Param body body object.Hospital true "The details of the hospital" @Success 200 {object} controllers.Response The Response object @router /delete-hospital [post]

func (*ApiController) DeleteImage

func (c *ApiController) DeleteImage()

DeleteImage @Title DeleteImage @Tag Image API @Description delete a image @Param body body object.Image true "The details of the image" @Success 200 {object} controllers.Response The Response object @router /delete-image [post]

func (*ApiController) DeleteMachine

func (c *ApiController) DeleteMachine()

DeleteMachine @Title DeleteMachine @Tag Machine API @Description delete a machine @Param body body object.Machine true "The details of the machine" @Success 200 {object} controllers.Response The Response object @router /delete-machine [post]

func (*ApiController) DeleteMessage

func (c *ApiController) DeleteMessage()

DeleteMessage @Title DeleteMessage @Tag Message API @Description delete message @Param body body object.Message true "The details of the message" @Success 200 {object} controllers.Response The Response object @router /delete-message [post]

func (*ApiController) DeleteModelRoute

func (c *ApiController) DeleteModelRoute()

DeleteModelRoute @Title DeleteModelRoute @Tag ModelRoute API @Description delete a model route @Param body body object.ModelRoute true "The details of the model route" @Success 200 {object} controllers.Response The Response object @router /delete-model-route [post]

func (*ApiController) DeleteNode

func (c *ApiController) DeleteNode()

DeleteNode @Title DeleteNode @Tag Node API @Description delete a node @Param body body object.Node true "The details of the node" @Success 200 {object} controllers.Response The Response object @router /delete-node [post]

func (*ApiController) DeletePatient

func (c *ApiController) DeletePatient()

DeletePatient @Title DeletePatient @Tag Patient API @Description delete a patient @Param body body object.Patient true "The details of the patient" @Success 200 {object} controllers.Response The Response object @router /delete-patient [post]

func (*ApiController) DeletePermission

func (c *ApiController) DeletePermission()

DeletePermission @Title DeletePermission @Tag Permission API @Description delete permission @Param body body iam.Permission true "The details of the permission" @Success 200 {object} controllers.Response The Response object @router /delete-permission [post]

func (*ApiController) DeletePod

func (c *ApiController) DeletePod()

DeletePod @Title DeletePod @Tag Pod API @Description delete a pod @Param body body object.Pod true "The details of the pod" @Success 200 {object} controllers.Response The Response object @router /delete-pod [post]

func (*ApiController) DeleteProvider

func (c *ApiController) DeleteProvider()

DeleteProvider @Title DeleteProvider @Tag Provider API @Description delete provider @Param body body object.Provider true "The details of the provider" @Success 200 {object} controllers.Response The Response object @router /delete-provider [post]

func (*ApiController) DeleteRecord

func (c *ApiController) DeleteRecord()

DeleteRecord @Title DeleteRecord @Tag Record API @Description delete a record @Param body body object.Record true "The details of the record" @Success 200 {object} controllers.Response The Response object @router /delete-record [post]

func (*ApiController) DeleteScale

func (c *ApiController) DeleteScale()

DeleteScale @router /delete-scale [post]

func (*ApiController) DeleteScan

func (c *ApiController) DeleteScan()

DeleteScan @Title DeleteScan @Tag Scan API @Description delete a scan @Param body body object.Scan true "The details of the scan" @Success 200 {object} controllers.Response The Response object @router /delete-scan [post]

func (*ApiController) DeleteSession

func (c *ApiController) DeleteSession()

DeleteSession @Title DeleteSession @Tag Session API @Description Delete session for one user in one application. @Param id query string true "The id(organization/application/user) of session" @Success 200 {array} string The Response object @router /delete-session [post]

func (*ApiController) DeleteStore

func (c *ApiController) DeleteStore()

DeleteStore @Title DeleteStore @Tag Store API @Description delete store @Param body body object.Store true "The details of the store" @Success 200 {object} controllers.Response The Response object @router /delete-store [post]

func (*ApiController) DeleteTask

func (c *ApiController) DeleteTask()

DeleteTask @Title DeleteTask @Tag Task API @Description delete task @Param body body object.Task true "The details of the task" @Success 200 {object} controllers.Response The Response object @router /delete-task [post]

func (*ApiController) DeleteTemplate

func (c *ApiController) DeleteTemplate()

DeleteTemplate @Title DeleteTemplate @Tag Template API @Description delete template @Param body body object.Template true "The details of the template" @Success 200 {object} controllers.Response The Response object @router /delete-template [post]

func (*ApiController) DeleteTreeFile

func (c *ApiController) DeleteTreeFile()

DeleteTreeFile @Title DeleteTreeFile @Tag Tree File API @Description delete tree file @Param store query string true "The store of the file" @Param key query string true "The key of the file" @Param isLeaf query string true "if is leaf" @Success 200 {object} controllers.Response The Response object @router /delete-tree-file [post]

func (*ApiController) DeleteVector

func (c *ApiController) DeleteVector()

DeleteVector @Title DeleteVector @Tag Vector API @Description delete vector @Param body body object.Vector true "The details of the vector" @Success 200 {object} controllers.Response The Response object @router /delete-vector [post]

func (*ApiController) DeleteVideo

func (c *ApiController) DeleteVideo()

DeleteVideo @Title DeleteVideo @Tag Video API @Description delete video @Param body body object.Video true "The details of the video" @Success 200 {object} controllers.Response The Response object @router /delete-video [post]

func (*ApiController) DeleteWelcomeMessage

func (c *ApiController) DeleteWelcomeMessage()

func (*ApiController) DeleteWorkflow

func (c *ApiController) DeleteWorkflow()

DeleteWorkflow @Title DeleteWorkflow @Tag Workflow API @Description delete workflow @Param body body object.Workflow true "The details of the workflow" @Success 200 {object} controllers.Response The Response object @router /delete-workflow [post]

func (*ApiController) DeployApplication

func (c *ApiController) DeployApplication()

DeployApplication @Title DeployApplication @Tag Application API @Description deploy application synchronously @Param body body object.Application true "The details of the application" @Success 200 {object} controllers.Response The Response object @router /deploy-application [post]

func (*ApiController) DevBridge

func (c *ApiController) DevBridge()

DevBridge upgrades to WebSocket and bridges JSON-RPC messages between the browser and a hanzo-app-server instance.

In local mode (default): spawns hanzo-app-server as a child process. In remote mode (?remote=host:port): proxies to a remote app-server via TCP.

GET /api/dev-bridge?cwd=/path/to/project GET /api/dev-bridge?remote=host:port&cwd=/path/to/project

func (*ApiController) EnforceStoreIsolation

func (c *ApiController) EnforceStoreIsolation(requestedStoreName string) (string, bool)

EnforceStoreIsolation enforces store isolation based on user's Homepage field. Returns the enforced store name and true if isolation check passes, or empty string and false if access denied.

func (*ApiController) Finish

func (c *ApiController) Finish()

func (*ApiController) GenerateTextToSpeechAudio

func (c *ApiController) GenerateTextToSpeechAudio()

GenerateTextToSpeechAudio @Title GenerateTextToSpeechAudio @Tag TTS API @Description convert text to speech @Param body controllers.TextToSpeechRequest true "The text to convert to speech" @Success 200 {object} []byte The audio data @router /generate-text-to-speech-audio [post]

func (*ApiController) GenerateTextToSpeechAudioStream

func (c *ApiController) GenerateTextToSpeechAudioStream()

GenerateTextToSpeechAudioStream @Title GenerateTextToSpeechAudioStream @Tag TTS API @Description convert text to speech with streaming @Param storeId query string true "The store ID" @Param messageId query string true "The message ID" @Success 200 {stream} string "An event stream of audio chunks in base64 format" @router /generate-text-to-speech-audio-stream [get]

func (*ApiController) GetAcceptLanguage

func (c *ApiController) GetAcceptLanguage() string

func (*ApiController) GetAccount

func (c *ApiController) GetAccount()

GetAccount @Title GetAccount @Tag Account API @Description get account @Success 200 {object} iam.Claims The Response object @router /get-account [get]

func (*ApiController) GetActiveFile

func (c *ApiController) GetActiveFile()

GetActiveFile @Title GetActiveFile @Tag File API @Description get active file @Param prefix query string true "The prefix of the file" @Success 200 {string} string "get active file" @router /get-active-file [get]

func (*ApiController) GetActivities

func (c *ApiController) GetActivities()

GetActivities @Title GetActivities @Tag Activity API @Description get activities @Param days query string true "days count" @Success 200 {array} object.Activity The Response object @router /get-activities [get]

func (*ApiController) GetAgentsDashboardUrl

func (c *ApiController) GetAgentsDashboardUrl()

GetAgentsDashboardUrl returns the URL of the Hanzo Agents control plane dashboard.

@Title GetAgentsDashboardUrl @Tag Agents API @Description get agents dashboard URL @Success 200 {object} Response The Response object @router /get-agents-dashboard-url [get]

func (*ApiController) GetAnswer

func (c *ApiController) GetAnswer()

GetAnswer @Title GetAnswer @Tag Message API @Description get answer @Param provider query string true "The provider" @Param question query string true "The question of message" @Param framework query string true "The framework" @Param video query string true "The video" @Success 200 {string} string "answer message" @router /get-answer [get]

func (*ApiController) GetApplication

func (c *ApiController) GetApplication()

GetApplication @Title GetApplication @Tag Application API @Description get application @Param id query string true "The id of application" @Success 200 {object} object.Application The Response object @router /get-application [get]

func (*ApiController) GetApplications

func (c *ApiController) GetApplications()

GetApplications @Title GetApplications @Tag Application API @Description get applications @Param owner query string true "The owner of applications" @Success 200 {array} object.Application The Response object @router /get-applications [get]

func (*ApiController) GetArticle

func (c *ApiController) GetArticle()

GetArticle @Title GetArticle @Tag Article API @Description get article @Param id query string true "The id (owner/name) of article" @Success 200 {object} object.Article The Response object @router /get-article [get]

func (*ApiController) GetArticles

func (c *ApiController) GetArticles()

GetArticles @Title GetArticles @Tag Article API @Description get articles @Param owner query string true "The owner of article" @Success 200 {array} object.Article The Response object @router /get-articles [get]

func (*ApiController) GetAsset

func (c *ApiController) GetAsset()

GetAsset @Title GetAsset @Tag Asset API @Description get asset @Param id query string true "The id ( owner/name ) of the asset" @Success 200 {object} object.Asset The Response object @router /get-asset [get]

func (*ApiController) GetAssets

func (c *ApiController) GetAssets()

GetAssets @Title GetAssets @Tag Asset API @Description get all assets @Param pageSize query string false "The size of each page" @Param p query string false "The number of the page" @Success 200 {object} object.Asset The Response object @router /get-assets [get]

func (*ApiController) GetCaase

func (c *ApiController) GetCaase()

GetCaase @Title GetCaase @Tag Caase API @Description get caase @Param id query string true "The id ( owner/name ) of the caase" @Success 200 {object} object.Caase The Response object @router /get-caase [get]

func (*ApiController) GetCaases

func (c *ApiController) GetCaases()

GetCaases @Title GetCaases @Tag Caase API @Description get all caases @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Caase The Response object @router /get-caases [get]

func (*ApiController) GetChat

func (c *ApiController) GetChat()

GetChat @Title GetChat @Tag Chat API @Description get chat @Param id query string true "The id of chat" @Success 200 {object} object.Chat The Response object @router /get-chat [get]

func (*ApiController) GetChats

func (c *ApiController) GetChats()

GetChats @Title GetChats @Tag Chat API @Description get chats @Param user query string true "The user of chat" @Param field query string true "The field of chat" @Param value query string true "The value of chat" @Param startTime query string false "Filter by start time" @Param endTime query string false "Filter by end time" @Success 200 {array} object.Chat The Response object @router /get-chats [get]

func (*ApiController) GetConnection

func (c *ApiController) GetConnection()

GetConnection @Title GetConnection @Tag Connection API @Description get connection @Param id query string true "The id of connection" @Success 200 {object} object.Connection @router /get-connection [get]

func (*ApiController) GetConnections

func (c *ApiController) GetConnections()

GetConnections @Title GetConnections @Tag Connection API @Description get all connections @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Connection The Response object @router /get-connections [get]

func (*ApiController) GetConsultation

func (c *ApiController) GetConsultation()

GetConsultation @Title GetConsultation @Tag Consultation API @Description get consultation @Param id query string true "The id ( owner/name ) of the consultation" @Success 200 {object} object.Consultation The Response object @router /get-consultation [get]

func (*ApiController) GetConsultations

func (c *ApiController) GetConsultations()

GetConsultations @Title GetConsultations @Tag Consultation API @Description get all consultations @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Consultation The Response object @router /get-consultations [get]

func (*ApiController) GetContainer

func (c *ApiController) GetContainer()

GetContainer @Title GetContainer @Tag Container API @Description get container @Param id query string true "The id ( owner/name ) of the container" @Success 200 {object} object.Container The Response object @router /get-container [get]

func (*ApiController) GetContainers

func (c *ApiController) GetContainers()

GetContainers @Title GetContainers @Tag Container API @Description get all containers @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Container The Response object @router /get-containers [get]

func (*ApiController) GetDoctor

func (c *ApiController) GetDoctor()

GetDoctor @Title GetDoctor @Tag Doctor API @Description get doctor @Param id query string true "The id ( owner/name ) of the doctor" @Success 200 {object} object.Doctor The Response object @router /get-doctor [get]

func (*ApiController) GetDoctors

func (c *ApiController) GetDoctors()

GetDoctors @Title GetDoctors @Tag Doctor API @Description get all doctors @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Doctor The Response object @router /get-doctors [get]

func (*ApiController) GetEffectiveOrg

func (c *ApiController) GetEffectiveOrg() string

GetEffectiveOrg resolves the organization for data-scoping purposes. Resolution order:

  1. X-IAM-Org-Id header (injected by gateway auth middleware from JWT)
  2. Authenticated session user's Owner field
  3. Config default (IAM_ORG env/config value)

func (*ApiController) GetFileMy

func (c *ApiController) GetFileMy()

GetFileMy @Title GetFileMy @Tag File API @Description get file object @Param id query string true "The id (owner/name) of the file object" @Success 200 {object} object.File The Response object @router /get-file [get]

func (*ApiController) GetFiles

func (c *ApiController) GetFiles()

GetFiles @Title GetFiles @Tag File API @Description get file objects @Param owner query string true "The owner of the file object" @Success 200 {array} object.File The Response object @router /get-files [get]

func (*ApiController) GetForm

func (c *ApiController) GetForm()

GetForm @Title GetForm @Tag Form API @Description get form @Param id query string true "The id (owner/name) of form" @Success 200 {object} object.Form The Response object @router /get-form [get]

func (*ApiController) GetFormData

func (c *ApiController) GetFormData()

GetFormData @Title GetFormData @Tag Form API @Description get forms @Param owner query string true "The owner of form" @Success 200 {array} object.Form The Response object @router /get-form-data [get]

func (*ApiController) GetForms

func (c *ApiController) GetForms()

GetForms @Title GetForms @Tag Form API @Description get forms @Param owner query string true "The owner of form" @Success 200 {array} object.Form The Response object @router /get-forms [get]

func (*ApiController) GetGlobalArticles

func (c *ApiController) GetGlobalArticles()

GetGlobalArticles @Title GetGlobalArticles @Tag Article API @Description get global articles @Success 200 {array} object.Article The Response object @router /get-global-articles [get]

func (*ApiController) GetGlobalChats

func (c *ApiController) GetGlobalChats()

GetGlobalChats @Title GetGlobalChats @Tag Chat API @Description get global chats @Success 200 {array} object.Chat The Response object @router /get-global-chats [get]

func (*ApiController) GetGlobalFiles

func (c *ApiController) GetGlobalFiles()

GetGlobalFiles @Title GetGlobalFiles @Tag File API @Description get global file objects @Success 200 {array} object.File The Response object @router /get-global-files [get]

func (*ApiController) GetGlobalForms

func (c *ApiController) GetGlobalForms()

GetGlobalForms @Title GetGlobalForms @Tag Form API @Description get global forms @Success 200 {array} object.Form The Response object @router /get-global-forms [get]

func (*ApiController) GetGlobalGraphs

func (c *ApiController) GetGlobalGraphs()

GetGlobalGraphs @Title GetGlobalGraphs @Tag Graph API @Description get global graphs @Success 200 {array} object.Graph The Response object @router /get-global-graphs [get]

func (*ApiController) GetGlobalMessages

func (c *ApiController) GetGlobalMessages()

GetGlobalMessages @Title GetGlobalMessages @Tag Message API @Description get global messages @Success 200 {array} object.Message The Response object @router /get-global-messages [get]

func (*ApiController) GetGlobalProviders

func (c *ApiController) GetGlobalProviders()

GetGlobalProviders @Title GetGlobalProviders @Tag Provider API @Description get global providers @Success 200 {array} object.Provider The Response object @router /get-global-providers [get]

func (*ApiController) GetGlobalScales

func (c *ApiController) GetGlobalScales()

GetGlobalScales @Title GetGlobalScales @Tag Scale API @Success 200 {array} object.Scale The Response object @router /get-global-scales [get]

func (*ApiController) GetGlobalStores

func (c *ApiController) GetGlobalStores()

GetGlobalStores @Title GetGlobalStores @Tag Store API @Description get global stores @Success 200 {array} object.Store The Response object @router /get-global-stores [get]

func (*ApiController) GetGlobalTasks

func (c *ApiController) GetGlobalTasks()

GetGlobalTasks @Title GetGlobalTasks @Tag Task API @Description get global tasks @Success 200 {array} object.Task The Response object @router /get-global-tasks [get]

func (*ApiController) GetGlobalVectors

func (c *ApiController) GetGlobalVectors()

GetGlobalVectors @Title GetGlobalVectors @Tag Vector API @Description get global vectors @Success 200 {array} object.Vector The Response object @router /get-global-vectors [get]

func (*ApiController) GetGlobalVideos

func (c *ApiController) GetGlobalVideos()

GetGlobalVideos @Title GetGlobalVideos @Tag Video API @Description get global videos @Success 200 {array} object.Video The Response object @router /get-global-videos [get]

func (*ApiController) GetGlobalWorkflows

func (c *ApiController) GetGlobalWorkflows()

GetGlobalWorkflows @Title GetGlobalWorkflows @Tag Workflow API @Description get global workflows @Success 200 {array} object.Workflow The Response object @router /get-global-workflows [get]

func (*ApiController) GetGraph

func (c *ApiController) GetGraph()

GetGraph @Title GetGraph @Tag Graph API @Description get Graph @Param id query string true "The id (owner/name) of Graph" @Success 200 {object} object.Graph The Response object @router /get-Graph [get]

func (*ApiController) GetGraphs

func (c *ApiController) GetGraphs()

GetGraphs @Title GetGraphs @Tag Graph API @Description get graphs @Param owner query string true "The owner of Graph" @Success 200 {array} object.Graph The Response object @router /get-graphs [get]

func (*ApiController) GetHospital

func (c *ApiController) GetHospital()

GetHospital @Title GetHospital @Tag Hospital API @Description get hospital @Param id query string true "The id ( owner/name ) of the hospital" @Success 200 {object} object.Hospital The Response object @router /get-hospital [get]

func (*ApiController) GetHospitals

func (c *ApiController) GetHospitals()

GetHospitals @Title GetHospitals @Tag Hospital API @Description get all hospitals @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Hospital The Response object @router /get-hospitals [get]

func (*ApiController) GetImage

func (c *ApiController) GetImage()

GetImage @Title GetImage @Tag Image API @Description get image @Param id query string true "The id ( owner/name ) of the image" @Success 200 {object} object.Image The Response object @router /get-image [get]

func (*ApiController) GetImages

func (c *ApiController) GetImages()

GetImages @Title GetImages @Tag Image API @Description get all images @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Image The Response object @router /get-images [get]

func (*ApiController) GetK8sStatus

func (c *ApiController) GetK8sStatus()

GetK8sStatus @Title GetK8sStatus @Tag Deployment API @Description get kubernetes cluster status @Success 200 {object} object.K8sStatus The Response object @router /get-k8s-status [get]

func (*ApiController) GetMachine

func (c *ApiController) GetMachine()

GetMachine @Title GetMachine @Tag Machine API @Description get machine @Param id query string true "The id ( owner/name ) of the machine" @Success 200 {object} object.Machine The Response object @router /get-machine [get]

func (*ApiController) GetMachines

func (c *ApiController) GetMachines()

GetMachines @Title GetMachines @Tag Machine API @Description get all machines @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Machine The Response object @router /get-machines [get]

func (*ApiController) GetMessage

func (c *ApiController) GetMessage()

GetMessage @Title GetMessage @Tag Message API @Description get message @Param id query string true "The id of message" @Success 200 {object} object.Message The Response object @router /get-message [get]

func (*ApiController) GetMessageAnswer

func (c *ApiController) GetMessageAnswer()

GetMessageAnswer @Title GetMessageAnswer @Tag Message API @Description get message answer @Param id query string true "The id of message" @Success 200 {stream} string "An event stream of message answers in JSON format" @router /get-message-answer [get]

func (*ApiController) GetMessages

func (c *ApiController) GetMessages()

GetMessages @Title GetMessages @Tag Message API @Description get Messages @Param user query string true "The user of message" @Param chat query string true "The chat of message" @Success 200 {array} object.Message The Response object @router /get-Messages [get]

func (*ApiController) GetMetrics

func (c *ApiController) GetMetrics()

GetMetrics @Title GetMetrics @Tag System API @Description get Prometheus metrics @Success 200 {string} string The Response metrics in Prometheus format @router /metrics [get]

func (*ApiController) GetModelRoute

func (c *ApiController) GetModelRoute()

GetModelRoute @Title GetModelRoute @Tag ModelRoute API @Description get a specific model route @Param owner query string true "The owner (org)" @Param modelName query string true "The model name" @Success 200 {object} object.ModelRoute The Response object @router /get-model-route [get]

func (*ApiController) GetModelRoutes

func (c *ApiController) GetModelRoutes()

GetModelRoutes @Title GetModelRoutes @Tag ModelRoute API @Description get model routes for an owner @Param owner query string true "The owner (org) of the model routes" @Success 200 {array} object.ModelRoute The Response object @router /get-model-routes [get]

func (*ApiController) GetNode

func (c *ApiController) GetNode()

GetNode @Title GetNode @Tag Node API @Description get node @Param id query string true "The id ( owner/name ) of the node" @Success 200 {object} object.Node The Response object @router /get-node [get]

func (*ApiController) GetNodeTunnel

func (c *ApiController) GetNodeTunnel()

GetNodeTunnel @Title GetNodeTunnel @Tag Connection API @Description get node tunnel session @Param width query string true "The width of the tunnel" @Param height query string true "The height of the tunnel" @Param dpi query string true "The dpi of the tunnel" @Param connectionId query string true "The id of the connectionId" @Param username query string true "The username for the tunnel" @Param password query string true "The password for the tunnel" @Success 200 {object} Response @router /get-node-tunnel [get]

func (*ApiController) GetNodes

func (c *ApiController) GetNodes()

GetNodes @Title GetNodes @Tag Node API @Description get all nodes @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Node The Response object @router /get-nodes [get]

func (*ApiController) GetPatient

func (c *ApiController) GetPatient()

GetPatient @Title GetPatient @Tag Patient API @Description get patient @Param id query string true "The id ( owner/name ) of the patient" @Success 200 {object} object.Patient The Response object @router /get-patient [get]

func (*ApiController) GetPatients

func (c *ApiController) GetPatients()

GetPatients @Title GetPatients @Tag Patient API @Description get all patients @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Patient The Response object @router /get-patients [get]

func (*ApiController) GetPermission

func (c *ApiController) GetPermission()

GetPermission @Title GetPermission @Tag Permission API @Description get permission @Param id query string true "The id(owner/name) of permission" @Success 200 {object} iam.Permission The Response object @router /get-permission [get]

func (*ApiController) GetPermissions

func (c *ApiController) GetPermissions()

GetPermissions @Title GetPermissions @Tag Permission API @Description get permissions @Success 200 {array} iam.Permission The Response object @router /get-permissions [get]

func (*ApiController) GetPod

func (c *ApiController) GetPod()

GetPod @Title GetPod @Tag Pod API @Description get pod @Param id query string true "The id ( owner/name ) of the pod" @Success 200 {object} object.Pod The Response object @router /get-pod [get]

func (*ApiController) GetPods

func (c *ApiController) GetPods()

GetPods @Title GetPods @Tag Pod API @Description get all pods @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Pod The Response object @router /get-pods [get]

func (*ApiController) GetPrometheusInfo

func (c *ApiController) GetPrometheusInfo()

GetPrometheusInfo @Title GetPrometheusInfo @Tag System API @Description get Prometheus Info @Success 200 {object} object.PrometheusInfo The Response object @router /get-prometheus-info [get]

func (*ApiController) GetProvider

func (c *ApiController) GetProvider()

GetProvider @Title GetProvider @Tag Provider API @Description get provider @Param id query string true "The id of provider" @Success 200 {object} object.Provider The Response object @router /get-provider [get]

func (*ApiController) GetProviders

func (c *ApiController) GetProviders()

GetProviders @Title GetProviders @Tag Provider API @Description get providers @Success 200 {array} object.Provider The Response object @router /get-providers [get]

func (*ApiController) GetPublicScales

func (c *ApiController) GetPublicScales()

GetPublicScales @Title GetPublicScales @Tag Scale API @Success 200 {array} object.Scale The Response object @router /get-public-scales [get]

func (*ApiController) GetRangeUsages

func (c *ApiController) GetRangeUsages()

GetRangeUsages @Title GetRangeUsages @Tag Usage API @Description get range usages @Param count query string true "count of range usages" @Success 200 {array} object.Usage The Response object @router /get-range-usages [get]

func (*ApiController) GetRecord

func (c *ApiController) GetRecord()

GetRecord @Title GetRecord @Tag Record API @Description get record @Param id query string true "The id ( owner/name ) of the record" @Success 200 {object} object.Record The Response object @router /get-record [get]

func (*ApiController) GetRecords

func (c *ApiController) GetRecords()

GetRecords @Title GetRecords @Tag Record API @Description get all records @Param pageSize query string true "The size of each page" @Param p query string true "The number of the page" @Success 200 {object} object.Record The Response object @router /get-records [get]

func (*ApiController) GetRequestTenantOrgID

func (c *ApiController) GetRequestTenantOrgID() string

func (*ApiController) GetRequestTenantProjectID

func (c *ApiController) GetRequestTenantProjectID() string

func (*ApiController) GetScale

func (c *ApiController) GetScale()

GetScale @router /get-scale [get]

func (*ApiController) GetScales

func (c *ApiController) GetScales()

GetScales @Title GetScales @Tag Scale API @router /get-scales [get]

func (*ApiController) GetScan

func (c *ApiController) GetScan()

GetScan @Title GetScan @Tag Scan API @Description get scan @Param id query string true "The id ( owner/name ) of the scan" @Success 200 {object} object.Scan The Response object @router /get-scan [get]

func (*ApiController) GetScans

func (c *ApiController) GetScans()

GetScans @Title GetScans @Tag Scan API @Description get all scans @Param pageSize query string false "The size of each page" @Param p query string false "The number of the page" @Param asset query string false "Filter by asset name" @Success 200 {object} object.Scan The Response object @router /get-scans [get]

func (*ApiController) GetScopedOwner

func (c *ApiController) GetScopedOwner() (string, bool)

GetScopedOwner resolves owner from the authenticated session. Non-admin users are always scoped to their own org, ignoring request owner params. Global admins can optionally target a specific owner via query parameter.

func (*ApiController) GetSessionClaims

func (c *ApiController) GetSessionClaims() *iam.Claims

func (*ApiController) GetSessionOwner

func (c *ApiController) GetSessionOwner() string

GetSessionOwner returns the organization (owner) of the authenticated user. This ensures multi-tenant resource scoping — users only see their own org's resources.

func (*ApiController) GetSessionUser

func (c *ApiController) GetSessionUser() *iam.User

func (*ApiController) GetSessionUsername

func (c *ApiController) GetSessionUsername() string

func (*ApiController) GetSessions

func (c *ApiController) GetSessions()

GetSessions @Title GetSessions @Tag Session API @Description Get organization user sessions. @Param owner query string true "The organization name" @Success 200 {array} string The Response object @router /get-sessions [get]

func (*ApiController) GetSingleSession

func (c *ApiController) GetSingleSession()

GetSingleSession @Title GetSingleSession @Tag Session API @Description Get session for one user in one application. @Param id query string true "The id(organization/user) of session" @Success 200 {array} string The Response object @router /get-session [get]

func (*ApiController) GetStorageProviders

func (c *ApiController) GetStorageProviders()

GetStorageProviders @Title GetStorageProviders @Tag Storage Provider API @Description get storage providers @Success 200 {array} object.Provider The Response object @router /get-storage-providers [get]

func (*ApiController) GetStore

func (c *ApiController) GetStore()

GetStore @Title GetStore @Tag Store API @Description get store @Param id query string true "The id (owner/name) of the store" @Success 200 {object} object.Store The Response object @router /get-store [get]

func (*ApiController) GetStoreNames

func (c *ApiController) GetStoreNames()

GetStoreNames ... @Title GetStoreNames @Tag Store API @Param owner query string true "owner" @Description get all store name and displayName @Success 200 {array} object.Store The Response object @router /get-store-names [get]

func (*ApiController) GetStores

func (c *ApiController) GetStores()

GetStores @Title GetStores @Tag Store API @Description get stores @Param owner query string true "The owner of the store" @Success 200 {array} object.Store The Response object @router /get-stores [get]

func (*ApiController) GetSystemInfo

func (c *ApiController) GetSystemInfo()

GetSystemInfo @Title GetSystemInfo @Tag System API @Description get system info like CPU and memory usage @Success 200 {object} util.SystemInfo The Response object @router /get-system-info [get]

func (*ApiController) GetTask

func (c *ApiController) GetTask()

GetTask @Title GetTask @Tag Task API @Description get task @Param id query string true "The id (owner/name) of task" @Success 200 {object} object.Task The Response object @router /get-task [get]

func (*ApiController) GetTasks

func (c *ApiController) GetTasks()

GetTasks @Title GetTasks @Tag Task API @Description get tasks @Param owner query string true "The owner of task" @Success 200 {array} object.Task The Response object @router /get-tasks [get]

func (*ApiController) GetTemplate

func (c *ApiController) GetTemplate()

GetTemplate @Title GetTemplate @Tag Template API @Description get template @Param id query string true "The id of template" @Success 200 {object} object.Template The Response object @router /get-template [get]

func (*ApiController) GetTemplates

func (c *ApiController) GetTemplates()

GetTemplates @Title GetTemplates @Tag Template API @Description get templates @Param owner query string true "The owner of templates" @Success 200 {array} object.Template The Response object @router /get-templates [get]

func (*ApiController) GetUsages

func (c *ApiController) GetUsages()

GetUsages @Title GetUsages @Tag Usage API @Description get usages @Param days query string true "days count" @Success 200 {array} object.Usage The Response object @router /get-usages [get]

func (*ApiController) GetUserTableInfos

func (c *ApiController) GetUserTableInfos()

GetUserTableInfos @Title GetUserTableInfos @Tag Usage API @Description get userTableInfos @Success 200 {array} object.Usage The Response object @router /get-usages [get]

func (*ApiController) GetUsers

func (c *ApiController) GetUsers()

GetUsers @Title GetUsers @Tag Usage API @Description get users @Success 200 {array} string The Response object @router /get-users [get]

func (*ApiController) GetVector

func (c *ApiController) GetVector()

func (*ApiController) GetVectors

func (c *ApiController) GetVectors()

GetVectors @Title GetVectors @Tag Vector API @Description get vectors @Success 200 {array} object.Vector The Response object @router /get-vectors [get]

func (*ApiController) GetVersionInfo

func (c *ApiController) GetVersionInfo()

GetVersionInfo @Title GetVersionInfo @Tag System API @Description get version info like IAM release version and commit ID @Success 200 {object} util.VersionInfo The Response object @router /get-version-info [get]

func (*ApiController) GetVideo

func (c *ApiController) GetVideo()

GetVideo @Title GetVideo @Tag Video API @Description get video @Param id query string true "The id of video" @Success 200 {object} object.Video The Response object @router /get-video [get]

func (*ApiController) GetVideos

func (c *ApiController) GetVideos()

GetVideos @Title GetVideos @Tag Video API @Description get videos @Param owner query string true "The owner of videos" @Success 200 {array} object.Video The Response object @router /get-videos [get]

func (*ApiController) GetVmDashboardUrl

func (c *ApiController) GetVmDashboardUrl()

GetVmDashboardUrl returns the URL of the Hanzo VM control plane dashboard.

@Title GetVmDashboardUrl @Tag VM API @Description get VM dashboard URL @Success 200 {object} Response The Response object @router /get-vm-dashboard-url [get]

func (*ApiController) GetWorkflow

func (c *ApiController) GetWorkflow()

GetWorkflow @Title GetWorkflow @Tag Workflow API @Description get workflow @Param id query string true "The id (owner/name) of workflow" @Success 200 {object} object.Workflow The Response object @router /get-workflow [get]

func (*ApiController) GetWorkflows

func (c *ApiController) GetWorkflows()

GetWorkflows @Title GetWorkflows @Tag Workflow API @Description get workflows @Param owner query string true "The owner of workflow" @Success 200 {array} object.Workflow The Response object @router /get-workflows [get]

func (*ApiController) Health

func (c *ApiController) Health()

Health @Title Health @Tag System API @Description check if the system is live @Success 200 {object} controllers.Response The Response object @router /health [get]

func (*ApiController) IndexDocs

func (c *ApiController) IndexDocs()

IndexDocs @Title IndexDocs @Tag Search Docs API @Description index documentation into Meilisearch and Qdrant @Param body body object.DocIndexRequest true "Index request" @Success 200 {object} controllers.Response The Response object @router /index [post]

func (*ApiController) InstallPatch

func (c *ApiController) InstallPatch()

InstallPatch @Title InstallPatch @Tag Patch API @Description install an OS patch by patch ID (KB number or title) asynchronously @Param provider query string true "The provider ID (owner/name)" @Param patchId query string true "The patch ID (KB number or title)" @Param scan query string true "The scan ID (owner/name) for async execution" @Success 200 {object} controllers.Response The Response object @router /install-patch [post]

func (*ApiController) IsAdmin

func (c *ApiController) IsAdmin() bool

func (*ApiController) IsCurrentUser

func (c *ApiController) IsCurrentUser(usernameInput string) bool

func (*ApiController) IsPreviewMode

func (c *ApiController) IsPreviewMode() bool

func (*ApiController) IsSessionDuplicated

func (c *ApiController) IsSessionDuplicated()

IsSessionDuplicated @Title IsSessionDuplicated @Tag Session API @Description Check if there are other different sessions for one user in one application. @Param id query string true "The id(organization/application/user) of session" @Param sessionId query string true "sessionId to be checked" @Success 200 {array} string The Response object @router /is-session-duplicated [get]

func (*ApiController) ListModels

func (c *ApiController) ListModels()

ListModels returns the list of available models from the routing table. Requires a valid Bearer token (JWT, hk-, pk-, sk-, or hz_ key). @Title ListModels @Tag OpenAI Compatible API @Description Returns a list of all available models. Requires authentication. @Param Authorization header string true "Bearer token" @Success 200 {object} object @Failure 401 {object} object "Unauthorized" @router /models [get]

func (*ApiController) ProcessSpeechToText

func (c *ApiController) ProcessSpeechToText()

ProcessSpeechToText @Title ProcessSpeechToText @Tag STT API @Description convert speech to text @Param audio formData file true "The audio file to convert to text" @Param storeId formData string true "The store ID" @Success 200 {object} controllers.SpeechToTextResponse The transcribed text @router /process-speech-to-text [post]

func (*ApiController) QueryRecord

func (c *ApiController) QueryRecord()

QueryRecord @Title QueryRecord @Tag Record API @Description query record @Param id query string true "The id ( owner/name ) of the record" @Success 200 {object} object.Record The Response object @router /query-record [get]

func (*ApiController) QueryRecordSecond

func (c *ApiController) QueryRecordSecond()

QueryRecordSecond @Title QueryRecordSecond @Tag Record API @Description query record @Param id query string true "The id ( owner/name ) of the record" @Success 200 {object} object.Record The Response object @router /query-record-second [get]

func (*ApiController) RefreshFileVectors

func (c *ApiController) RefreshFileVectors()

RefreshFileVectors @Title RefreshFileVectors @Tag File API @Description refresh file vectors @Param body body object.File true "The details of the file object" @Success 200 {object} controllers.Response The Response object @router /refresh-file-vectors [post]

func (*ApiController) RefreshMcpTools

func (c *ApiController) RefreshMcpTools()

RefreshMcpTools @Title RefreshMcpTools @Tag Provider API @Description refresh Mcp tools @Param body body object.Provider true "The details of the provider" @Success 200 {object} controllers.Response The Response object @router /refresh-mcp-tools [post]

func (*ApiController) RefreshStoreVectors

func (c *ApiController) RefreshStoreVectors()

RefreshStoreVectors @Title RefreshStoreVectors @Tag Store API @Description refresh store vectors @Param body body object.Store true "The details of the store" @Success 200 {object} controllers.Response The Response object @router /refresh-store-vectors [post]

func (*ApiController) ReloadModelConfig

func (c *ApiController) ReloadModelConfig()

ReloadModelConfig handles POST /api/reload-model-config. @Title ReloadModelConfig @Tag Admin @Description Reload model configuration from YAML and refresh live pricing. @Success 200 {object} controllers.Response @router /reload-model-config [post]

func (*ApiController) RequireAdmin

func (c *ApiController) RequireAdmin() bool

func (*ApiController) RequireSessionOwner

func (c *ApiController) RequireSessionOwner() (string, bool)

RequireSessionOwner ensures the caller is authenticated and returns their org owner. IAM headers are trusted when injected by the gateway, but session auth is primary here.

func (*ApiController) RequireSignedIn

func (c *ApiController) RequireSignedIn() (string, bool)

func (*ApiController) RequireSignedInUser

func (c *ApiController) RequireSignedInUser() (*iam.User, bool)

func (*ApiController) ResponseAudio

func (c *ApiController) ResponseAudio(audioData []byte, contentType string, filename string)

func (*ApiController) ResponseError

func (c *ApiController) ResponseError(error string, data ...interface{})

func (*ApiController) ResponseErrorStream

func (c *ApiController) ResponseErrorStream(message *object.Message, errorText string)

func (*ApiController) ResponseOk

func (c *ApiController) ResponseOk(data ...interface{})

func (*ApiController) ScanAsset

func (c *ApiController) ScanAsset()

ScanAsset @Title ScanAsset @Tag Asset API @Description unified API for scanning assets (combines test-scan and start-scan functionality) @Param provider query string true "The provider ID (owner/name)" @Param scan query string false "The scan ID (owner/name) for saving results" @Param targetMode query string true "Target mode: 'Manual Input' or 'Asset'" @Param target query string false "Manual input target (IP address or network range)" @Param asset query string false "Asset ID (owner/name) for Asset mode" @Param command query string false "Scan command with optional %s placeholder for target" @Param saveToScan query string false "Whether to save results to scan object (true/false)" @Success 200 {object} controllers.Response The Response object @router /scan-asset [post]

func (*ApiController) ScanAssets

func (c *ApiController) ScanAssets()

ScanAssets @Title ScanAssets @Tag Asset API @Description scan assets from a cloud provider @Param owner query string true "The owner" @Param provider query string true "The provider name" @Success 200 {object} controllers.Response The Response object @router /scan-assets [post]

func (*ApiController) ScrapeDocs

func (c *ApiController) ScrapeDocs()

ScrapeDocs @Title ScrapeDocs @Tag Scraper API @Description crawl a website and index structured content into search @Param body body object.ScrapeRequest true "Scrape request" @Success 200 {object} object.ScrapeStats "Scrape and index statistics" @router /scrape [post]

func (*ApiController) ScrapePreview

func (c *ApiController) ScrapePreview()

ScrapePreview @Title ScrapePreview @Tag Scraper API @Description scrape a single URL and return structured data without indexing @Param body body object.ScrapeRequest true "Preview request (url required, engine optional: fast|browser)" @Success 200 {object} object.ScrapeResult "Structured page content" @router /scrape/preview [post]

func (*ApiController) SearchDocs

func (c *ApiController) SearchDocs()

SearchDocs @Title SearchDocs @Tag Search Docs API @Description search documentation using hybrid fulltext + vector search @Param body body object.DocSearchRequest true "Search request" @Success 200 {array} object.DocSearchResult The search results (raw array, not wrapped) @router /search [post]

func (*ApiController) SearchDocsStats

func (c *ApiController) SearchDocsStats()

SearchDocsStats @Title SearchDocsStats @Tag Search Docs API @Description get search index statistics @Success 200 {object} object.DocStatsResponse The stats response @router /search/stats [get]

func (*ApiController) SetSessionClaims

func (c *ApiController) SetSessionClaims(claims *iam.Claims)

func (*ApiController) SetSessionUser

func (c *ApiController) SetSessionUser(user *iam.User)

func (*ApiController) Signin

func (c *ApiController) Signin()

Signin @Title Signin @Tag Account API @Description sign in @Param code query string true "code of account" @Param state query string true "state of account" @Success 200 {object} iam.Claims The Response object @router /signin [post]

func (*ApiController) Signout

func (c *ApiController) Signout()

Signout @Title Signout @Tag Account API @Description sign out @Success 200 {object} controllers.Response The Response object @router /signout [post]

func (*ApiController) StartConnection

func (c *ApiController) StartConnection()

StartConnection @Title StartConnection @Tag Connection API @Description start connection @Param id query string true "The id of connection" @Success 200 {object} Response @router /start-connection [post]

func (*ApiController) StopConnection

func (c *ApiController) StopConnection()

StopConnection @Title StopConnection @Tag Connection API @Description stop connection @Param id query string true "The id of connection" @Success 200 {object} Response @router /stop-connection [post]

func (*ApiController) T

func (c *ApiController) T(error string) string

func (*ApiController) TunnelMonitor

func (c *ApiController) TunnelMonitor()

func (*ApiController) UndeployApplication

func (c *ApiController) UndeployApplication()

UndeployApplication @Title UndeployApplication @Tag Application API @Description undeploy application synchronously @Param body body object.Application true "The details of the application" @Success 200 {object} controllers.Response The Response object @router /undeploy-application [post]

func (*ApiController) UpdateApplication

func (c *ApiController) UpdateApplication()

UpdateApplication @Title UpdateApplication @Tag Application API @Description update application @Param id query string true "The id (owner/name) of the application" @Param body body object.Application true "The details of the application" @Success 200 {object} controllers.Response The Response object @router /update-application [post]

func (*ApiController) UpdateArticle

func (c *ApiController) UpdateArticle()

UpdateArticle @Title UpdateArticle @Tag Article API @Description update article @Param id query string true "The id (owner/name) of the article" @Param body body object.Article true "The details of the article" @Success 200 {object} controllers.Response The Response object @router /update-article [post]

func (*ApiController) UpdateAsset

func (c *ApiController) UpdateAsset()

UpdateAsset @Title UpdateAsset @Tag Asset API @Description update asset @Param id query string true "The id ( owner/name ) of the asset" @Param body body object.Asset true "The details of the asset" @Success 200 {object} controllers.Response The Response object @router /update-asset [post]

func (*ApiController) UpdateCaase

func (c *ApiController) UpdateCaase()

UpdateCaase @Title UpdateCaase @Tag Caase API @Description update caase @Param id query string true "The id ( owner/name ) of the caase" @Param body body object.Caase true "The details of the caase" @Success 200 {object} controllers.Response The Response object @router /update-caase [post]

func (*ApiController) UpdateChat

func (c *ApiController) UpdateChat()

UpdateChat @Title UpdateChat @Tag Chat API @Description update Chat @Param id query string true "The id (owner/name) of the chat" @Param body body object.Chat true "The details of the chat" @Success 200 {object} controllers.Response The Response object @router /update-chat [post]

func (*ApiController) UpdateConnection

func (c *ApiController) UpdateConnection()

UpdateConnection @Title UpdateConnection @Tag Connection API @Description update connection @Param id query string true "The id of connection" @Param body body object.Connection true "The connection object" @Success 200 {object} Response @router /update-connection [post]

func (*ApiController) UpdateConsultation

func (c *ApiController) UpdateConsultation()

UpdateConsultation @Title UpdateConsultation @Tag Consultation API @Description update consultation @Param id query string true "The id ( owner/name ) of the consultation" @Param body body object.Consultation true "The details of the consultation" @Success 200 {object} controllers.Response The Response object @router /update-consultation [post]

func (*ApiController) UpdateContainer

func (c *ApiController) UpdateContainer()

UpdateContainer @Title UpdateContainer @Tag Container API @Description update container @Param id query string true "The id ( owner/name ) of the container" @Param body body object.Container true "The details of the container" @Success 200 {object} controllers.Response The Response object @router /update-container [post]

func (*ApiController) UpdateDoctor

func (c *ApiController) UpdateDoctor()

UpdateDoctor @Title UpdateDoctor @Tag Doctor API @Description update doctor @Param id query string true "The id ( owner/name ) of the doctor" @Param body body object.Doctor true "The details of the doctor" @Success 200 {object} controllers.Response The Response object @router /update-doctor [post]

func (*ApiController) UpdateFile

func (c *ApiController) UpdateFile()

UpdateFile @Title UpdateFile @Tag File API @Description update file object @Param id query string true "The id (owner/name) of the file object" @Param body body object.File true "The details of the file object" @Success 200 {object} controllers.Response The Response object @router /update-file [post]

func (*ApiController) UpdateForm

func (c *ApiController) UpdateForm()

UpdateForm @Title UpdateForm @Tag Form API @Description update form @Param id query string true "The id (owner/name) of the form" @Param body body object.Form true "The details of the form" @Success 200 {object} controllers.Response The Response object @router /update-form [post]

func (*ApiController) UpdateGraph

func (c *ApiController) UpdateGraph()

UpdateGraph @Title UpdateGraph @Tag Graph API @Description update Graph @Param id query string true "The id (owner/name) of the Graph" @Param body body object.Graph true "The details of the Graph" @Success 200 {object} controllers.Response The Response object @router /update-Graph [post]

func (*ApiController) UpdateHospital

func (c *ApiController) UpdateHospital()

UpdateHospital @Title UpdateHospital @Tag Hospital API @Description update hospital @Param id query string true "The id ( owner/name ) of the hospital" @Param body body object.Hospital true "The details of the hospital" @Success 200 {object} controllers.Response The Response object @router /update-hospital [post]

func (*ApiController) UpdateImage

func (c *ApiController) UpdateImage()

UpdateImage @Title UpdateImage @Tag Image API @Description update image @Param id query string true "The id ( owner/name ) of the image" @Param body body object.Image true "The details of the image" @Success 200 {object} controllers.Response The Response object @router /update-image [post]

func (*ApiController) UpdateMachine

func (c *ApiController) UpdateMachine()

UpdateMachine @Title UpdateMachine @Tag Machine API @Description update machine @Param id query string true "The id ( owner/name ) of the machine" @Param body body object.Machine true "The details of the machine" @Success 200 {object} controllers.Response The Response object @router /update-machine [post]

func (*ApiController) UpdateMessage

func (c *ApiController) UpdateMessage()

UpdateMessage @Title UpdateMessage @Tag Message API @Description update message @Param id query string true "The id (owner/name) of the message" @Param body body object.Message true "The details of the message" @Success 200 {object} controllers.Response The Response object @router /update-message [post]

func (*ApiController) UpdateModelRoute

func (c *ApiController) UpdateModelRoute()

UpdateModelRoute @Title UpdateModelRoute @Tag ModelRoute API @Description update a model route @Param owner query string true "The owner (org)" @Param modelName query string true "The model name" @Param body body object.ModelRoute true "The details of the model route" @Success 200 {object} controllers.Response The Response object @router /update-model-route [post]

func (*ApiController) UpdateNode

func (c *ApiController) UpdateNode()

UpdateNode @Title UpdateNode @Tag Node API @Description update node @Param id query string true "The id ( owner/name ) of the node" @Param body body object.Node true "The details of the node" @Success 200 {object} controllers.Response The Response object @router /update-node [post]

func (*ApiController) UpdatePatient

func (c *ApiController) UpdatePatient()

UpdatePatient @Title UpdatePatient @Tag Patient API @Description update patient @Param id query string true "The id ( owner/name ) of the patient" @Param body body object.Patient true "The details of the patient" @Success 200 {object} controllers.Response The Response object @router /update-patient [post]

func (*ApiController) UpdatePermission

func (c *ApiController) UpdatePermission()

UpdatePermission @Title UpdatePermission @Tag Permission API @Description update permission @Param body body iam.Permission true "The details of the permission" @Success 200 {object} controllers.Response The Response object @router /update-permission [post]

func (*ApiController) UpdatePod

func (c *ApiController) UpdatePod()

UpdatePod @Title UpdatePod @Tag Pod API @Description update pod @Param id query string true "The id ( owner/name ) of the pod" @Param body body object.Pod true "The details of the pod" @Success 200 {object} controllers.Response The Response object @router /update-pod [post]

func (*ApiController) UpdateProvider

func (c *ApiController) UpdateProvider()

UpdateProvider @Title UpdateProvider @Tag Provider API @Description update provider @Param id query string true "The id (owner/name) of the provider" @Param body body object.Provider true "The details of the provider" @Success 200 {object} controllers.Response The Response object @router /update-provider [post]

func (*ApiController) UpdateRecord

func (c *ApiController) UpdateRecord()

UpdateRecord @Title UpdateRecord @Tag Record API @Description update record @Param id query string true "The id ( owner/name ) of the record" @Param body body object.Record true "The details of the record" @Success 200 {object} controllers.Response The Response object @router /update-record [post]

func (*ApiController) UpdateScale

func (c *ApiController) UpdateScale()

UpdateScale @router /update-scale [post]

func (*ApiController) UpdateScan

func (c *ApiController) UpdateScan()

UpdateScan @Title UpdateScan @Tag Scan API @Description update scan @Param id query string true "The id ( owner/name ) of the scan" @Param body body object.Scan true "The details of the scan" @Success 200 {object} controllers.Response The Response object @router /update-scan [post]

func (*ApiController) UpdateSession

func (c *ApiController) UpdateSession()

UpdateSession @Title UpdateSession @Tag Session API @Description Update session for one user in one application. @Param id query string true "The id(organization/application/user) of session" @Success 200 {array} string The Response object @router /update-session [post]

func (*ApiController) UpdateStore

func (c *ApiController) UpdateStore()

UpdateStore @Title UpdateStore @Tag Store API @Description update store @Param id query string true "The id (owner/name) of the store" @Param body body object.Store true "The details of the store" @Success 200 {object} controllers.Response The Response object @router /update-store [post]

func (*ApiController) UpdateTask

func (c *ApiController) UpdateTask()

UpdateTask @Title UpdateTask @Tag Task API @Description update task @Param id query string true "The id (owner/name) of the task" @Param body body object.Task true "The details of the task" @Success 200 {object} controllers.Response The Response object @router /update-task [post]

func (*ApiController) UpdateTemplate

func (c *ApiController) UpdateTemplate()

UpdateTemplate @Title UpdateTemplate @Tag Template API @Description update template @Param id query string true "The id (owner/name) of the template" @Param body body object.Template true "The details of the template" @Success 200 {object} controllers.Response The Response object @router /update-template [post]

func (*ApiController) UpdateTreeFile

func (c *ApiController) UpdateTreeFile()

UpdateTreeFile @Title UpdateTreeFile @Tag Tree File API @Description update tree file @Param storeId query string true "The store id of the file" @Param key query string true "The key of the file" @Param body body object.TreeFile true "The details of the Tree File" @Success 200 {object} controllers.Response The Response object @router /update-tree-file [post]

func (*ApiController) UpdateVector

func (c *ApiController) UpdateVector()

UpdateVector @Title UpdateVector @Tag Vector API @Description update vector @Param id query string true "The id (owner/name) of the vector" @Param body body object.Vector true "The details of the vector" @Success 200 {object} controllers.Response The Response object @router /update-vector [post]

func (*ApiController) UpdateVideo

func (c *ApiController) UpdateVideo()

UpdateVideo @Title UpdateVideo @Tag Video API @Description update video @Param id query string true "The id (owner/name) of the video" @Param body body object.Video true "The details of the video" @Success 200 {object} controllers.Response The Response object @router /update-video [post]

func (*ApiController) UpdateWorkflow

func (c *ApiController) UpdateWorkflow()

UpdateWorkflow @Title UpdateWorkflow @Tag Workflow API @Description update workflow @Param id query string true "The id (owner/name) of the workflow" @Param body body object.Workflow true "The details of the workflow" @Success 200 {object} controllers.Response The Response object @router /update-workflow [post]

func (*ApiController) UploadFile

func (c *ApiController) UploadFile()

UploadFile @Title UploadFile @Tag File API @Description upload file to IAM storage @Param file formData string true "The base64 encoded file data" @Param type formData string true "The file type/extension" @Param name formData string true "The file name" @Success 200 {object} controllers.Response The Response object @router /upload-file [post]

func (*ApiController) UploadTaskDocument

func (c *ApiController) UploadTaskDocument()

UploadTaskDocument @Title UploadTaskDocument @Tag Task API @Description upload document for a task and parse its text @Param id query string true "The id (owner/name) of the task" @Param file formData string true "The base64 encoded file data" @Param type formData string true "The file type/extension" @Param name formData string true "The file name" @Success 200 {object} controllers.Response The Response object @router /upload-task-document [post]

func (*ApiController) UploadVideo

func (c *ApiController) UploadVideo()

UploadVideo @Title UploadVideo @Tag Video API @Description upload video @Param file formData file true "The video file to upload" @Success 200 {object} string "The fileId of the uploaded video" @router /upload-video [post]

func (*ApiController) WecomBotHandleMessage

func (c *ApiController) WecomBotHandleMessage()

WecomBotHandleMessage process WeChat work bot messages @Title WecomBotHandleMessage @Tag WechatWork Bot API @Description handle WeChat work bot messages @router /wecom-bot/callback/:botId [post]

func (*ApiController) WecomBotVerifyUrl

func (c *ApiController) WecomBotVerifyUrl()

WecomBotVerifyUrl verify WeChat work bot callback URL @Title WecomBotVerifyUrl @Tag WechatWork Bot API @Description verify WeChat work bot callback URL @router /wecom-bot/callback/:botId [get]

type CacheTTLs

type CacheTTLs struct {
	PricingTTL string `yaml:"pricing_ttl"`
}

CacheTTLs defines TTL durations for cached data.

type CarrierWriter

type CarrierWriter struct {
	// contains filtered or unexported fields
}

func (*CarrierWriter) Flush

func (w *CarrierWriter) Flush()

func (*CarrierWriter) MessageString

func (w *CarrierWriter) MessageString() string

func (*CarrierWriter) Write

func (w *CarrierWriter) Write(p []byte) (n int, err error)

type Cleaner

type Cleaner struct {
	// contains filtered or unexported fields
}

func NewCleaner

func NewCleaner(bufferSize int) *Cleaner

func (*Cleaner) AddData

func (c *Cleaner) AddData(data string)

func (*Cleaner) CleanString

func (c *Cleaner) CleanString(data string) string

func (*Cleaner) GetCleanedData

func (c *Cleaner) GetCleanedData() string

type FallbackDef

type FallbackDef struct {
	Provider string `yaml:"provider"`
	Upstream string `yaml:"upstream"`
}

FallbackDef describes an alternate provider+upstream for failover.

type FeatureFlags

type FeatureFlags struct {
	LiveMode      bool    `yaml:"live_mode"`
	PremiumGate   bool    `yaml:"premium_gate"`
	StarterCredit float64 `yaml:"starter_credit"`
}

FeatureFlags controls runtime behavior.

type GuacamoleHandler

type GuacamoleHandler struct {
	// contains filtered or unexported fields
}

func NewGuacamoleHandler

func NewGuacamoleHandler(ws *websocket.Conn, tunnel *guacamole.Tunnel) *GuacamoleHandler

func (GuacamoleHandler) Start

func (r GuacamoleHandler) Start()

func (GuacamoleHandler) Stop

func (r GuacamoleHandler) Stop()

type ModelConfig

type ModelConfig struct {
	// contains filtered or unexported fields
}

ModelConfig is the runtime singleton that serves model routing, pricing, and identity prompts from a parsed YAML config file.

func GetModelConfig

func GetModelConfig() *ModelConfig

GetModelConfig returns the singleton. Returns nil if not initialized.

func (*ModelConfig) GetIdentityPrompt

func (mc *ModelConfig) GetIdentityPrompt(model string) string

GetIdentityPrompt returns the identity system prompt for a zen model. Falls back through version aliases (zen-mini → zen4-mini → zen3-mini) and a generic zen catch-all.

func (*ModelConfig) GetPrice

func (mc *ModelConfig) GetPrice(model string) modelPrice

GetPrice returns pricing for a model name, with alias and default fallback.

func (*ModelConfig) LastPricingRefresh

func (mc *ModelConfig) LastPricingRefresh() time.Time

LastPricingRefresh returns when pricing was last refreshed from live source.

func (*ModelConfig) ListModels

func (mc *ModelConfig) ListModels() []modelInfo

ListModels returns visible models sorted by name (excludes hidden).

func (*ModelConfig) ListModelsWithUpstream

func (mc *ModelConfig) ListModelsWithUpstream() []zapModelEntry

ListModelsWithUpstream returns all models including upstream IDs (for ZAP).

func (*ModelConfig) PremiumGateEnabled

func (mc *ModelConfig) PremiumGateEnabled() bool

PremiumGateEnabled returns whether the premium gate feature is active.

func (*ModelConfig) Reload

func (mc *ModelConfig) Reload() error

Reload re-reads the config file and triggers a live pricing fetch if enabled.

func (*ModelConfig) ResolveRoute

func (mc *ModelConfig) ResolveRoute(model string) *modelRoute

ResolveRoute looks up a user-facing model name and returns its route. Returns nil if the model is not in the routing table.

func (*ModelConfig) StarterCreditDollars

func (mc *ModelConfig) StarterCreditDollars() float64

StarterCreditDollars returns the configured starter credit amount.

func (*ModelConfig) Status

func (mc *ModelConfig) Status() string

Status returns a human-readable status string for diagnostics.

func (*ModelConfig) Stop

func (mc *ModelConfig) Stop()

Stop signals the background refresh goroutine to exit.

type ModelConfigFile

type ModelConfigFile struct {
	Version        int                 `yaml:"version"`
	Services       ServiceEndpoints    `yaml:"services"`
	Cache          CacheTTLs           `yaml:"cache"`
	Features       FeatureFlags        `yaml:"features"`
	DefaultPricing ModelPriceDef       `yaml:"default_pricing"`
	Models         map[string]ModelDef `yaml:"models"`
}

ModelConfigFile is the top-level structure of conf/models.yaml.

type ModelDef

type ModelDef struct {
	Provider       string         `yaml:"provider"`
	Upstream       string         `yaml:"upstream"`
	Fallbacks      []FallbackDef  `yaml:"fallbacks,omitempty"`
	Premium        bool           `yaml:"premium"`
	Hidden         bool           `yaml:"hidden"`
	OwnedBy        string         `yaml:"owned_by"`
	IdentityPrompt string         `yaml:"identity_prompt"`
	AliasOf        string         `yaml:"alias_of"`
	AliasPricing   string         `yaml:"alias_pricing"`
	PricingOnly    bool           `yaml:"pricing_only"`
	Pricing        *ModelPriceDef `yaml:"pricing,omitempty"`
}

ModelDef describes a single model entry in the config.

type ModelPriceDef

type ModelPriceDef struct {
	InputPerMillion  float64 `yaml:"input_per_million,omitempty"`
	OutputPerMillion float64 `yaml:"output_per_million,omitempty"`
	Input            float64 `yaml:"input,omitempty"`
	Output           float64 `yaml:"output,omitempty"`
}

ModelPriceDef holds per-million token pricing.

type OpenAIWriter

type OpenAIWriter struct {
	context.Response
	Cleaner    Cleaner
	Buffer     []byte
	MessageBuf []byte
	RequestID  string
	Stream     bool
	StreamSent bool
	Model      string
}

OpenAIWriter implements a writer that formats responses in OpenAI format

func (*OpenAIWriter) Close

func (w *OpenAIWriter) Close(promptTokens, completionTokens, totalTokens int) error

Close finalizes the stream by sending completion message and DONE marker

func (*OpenAIWriter) MessageString

func (w *OpenAIWriter) MessageString() string

MessageString returns the complete buffered message

func (*OpenAIWriter) Write

func (w *OpenAIWriter) Write(p []byte) (n int, err error)

Write processes incoming data chunks and formats them for OpenAI compatibility

type RefinedWriter

type RefinedWriter struct {
	context.Response
	// contains filtered or unexported fields
}

func (*RefinedWriter) MessageString

func (w *RefinedWriter) MessageString() string

func (*RefinedWriter) ReasonString

func (w *RefinedWriter) ReasonString() string

func (*RefinedWriter) SearchString

func (w *RefinedWriter) SearchString() string

func (*RefinedWriter) String

func (w *RefinedWriter) String() string

func (*RefinedWriter) ToolString

func (w *RefinedWriter) ToolString() string

func (*RefinedWriter) Write

func (w *RefinedWriter) Write(p []byte) (n int, err error)

type Response

type Response struct {
	Status string      `json:"status"`
	Msg    string      `json:"msg"`
	Data   interface{} `json:"data"`
	Data2  interface{} `json:"data2"`
}

type ServiceEndpoints

type ServiceEndpoints struct {
	PricingURL string `yaml:"pricing_url"`
}

ServiceEndpoints holds URLs for external pricing/model services.

type TextToSpeechRequest

type TextToSpeechRequest struct {
	StoreId    string `json:"storeId"`
	ProviderId string `json:"providerId"`
	MessageId  string `json:"messageId"`
	Text       string `json:"text"`
}

Jump to

Keyboard shortcuts

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