Go CLI: fix api commands (#16457)

### Summary

As title.

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-06-29 19:09:32 +08:00
committed by GitHub
parent 48b77022f4
commit 7c1edca15e
8 changed files with 1178 additions and 1148 deletions

View File

@@ -130,7 +130,7 @@ func (c *CLI) ExecuteAdminCommand(cmd *Command) (ResponseIf, error) {
case "admin_list_provider_instance_models":
return c.CommonListInstanceModelsCommand(cmd)
case "admin_list_provider_instances":
return c.CommonListProviderInstances(cmd)
return c.CommonListProviderInstancesCommand(cmd)
case "admin_show_model":
return c.CommonShowModelCommand(cmd)
case "admin_list_providers":
@@ -160,9 +160,9 @@ func (c *CLI) ExecuteAdminCommand(cmd *Command) (ResponseIf, error) {
case "admin_check_license":
return c.AdminCheckLicenseCommand(cmd)
case "admin_check_provider_with_key":
return c.CommonCheckProviderWithKey(cmd)
return c.CommonCheckProviderWithKeyCommand(cmd)
case "admin_check_provider_instance":
return c.CommonCheckProviderConnection(cmd)
return c.CommonCheckProviderConnectionCommand(cmd)
case "admin_show_fingerprint":
return c.AdminShowFingerprintCommand(cmd)
case "admin_show_license":
@@ -254,9 +254,9 @@ func (c *CLI) ExecuteAdminCommand(cmd *Command) (ResponseIf, error) {
case "admin_delete_model":
return c.AdminDeleteModelsCommand(cmd)
case "admin_enable_model":
return c.CommonEnableOrDisableModel(cmd, "enable")
return c.CommonEnableOrDisableModelCommand(cmd, "enable")
case "admin_disable_model":
return c.CommonEnableOrDisableModel(cmd, "disable")
return c.CommonEnableOrDisableModelCommand(cmd, "disable")
case "admin_show_admin_server":
return c.CommonShowAdminServerCommand(cmd)
case "admin_show_api_server":
@@ -264,14 +264,14 @@ func (c *CLI) ExecuteAdminCommand(cmd *Command) (ResponseIf, error) {
case "admin_show_log_level":
return c.AdminShowLogLevelCommand(cmd)
case "admin_list_api_servers":
return c.CommonListAPIServers(cmd)
case "add_api_server":
return c.AddAPIServer(cmd)
case "delete_api_server":
return c.DeleteAPIServer(cmd)
case "add_admin_server":
return c.CommonListAPIServersCommand(cmd)
case "api_add_api_server":
return c.AddAPIServerCommand(cmd)
case "api_delete_api_server":
return c.DeleteAPIServerCommand(cmd)
case "api_add_admin_server":
return nil, fmt.Errorf("cannot add admin server in admin mode")
case "delete_admin_server":
case "api_delete_admin_server":
return nil, fmt.Errorf("cannot delete admin server in admin mode")
case "admin_save_config_command":
return c.CommonSaveServerConfigCommand(cmd)
@@ -377,9 +377,9 @@ func (c *CLI) ExecuteUserCommand(cmd *Command) (ResponseIf, error) {
case "api_add_provider":
return c.APIAddProviderCommand(cmd)
case "api_list_providers":
return c.APIListProviders(cmd)
return c.APIListProvidersCommand(cmd)
case "api_delete_provider":
return c.APIDeleteProvider(cmd)
return c.APIDeleteProviderCommand(cmd)
case "api_delete_provider_instance":
return c.APIDeleteProviderInstanceCommand(cmd)
case "api_drop_dataset":
@@ -395,66 +395,64 @@ func (c *CLI) ExecuteUserCommand(cmd *Command) (ResponseIf, error) {
case "api_add_provider_instance":
return c.APIAddProviderInstanceCommand(cmd)
case "api_list_provider_instances":
return c.CommonListProviderInstances(cmd)
return c.CommonListProviderInstancesCommand(cmd)
case "api_alter_provider_instance":
return c.CommonAlterProviderInstanceCommand(cmd)
case "api_delete_provider_instance_model":
return c.APIDeleteProviderInstanceModelCommand(cmd)
case "enable_model":
return c.CommonEnableOrDisableModel(cmd, "enable")
return c.CommonEnableOrDisableModelCommand(cmd, "enable")
case "disable_model":
return c.CommonEnableOrDisableModel(cmd, "disable")
return c.CommonEnableOrDisableModelCommand(cmd, "disable")
case "api_add_custom_model":
return c.AddCustomModel(cmd)
case "chat_to_model":
return c.ChatToModel(cmd)
case "think_chat_to_model":
return c.ChatToModel(cmd)
case "openai_chat":
return c.OpenaiChat(cmd)
return c.APIAddCustomModelCommand(cmd)
case "api_chat_to_model":
return c.APIChatToModelCommand(cmd)
case "api_openai_chat":
return c.APIOpenaiChatCommand(cmd)
case "openai_chat_help":
printOpenaiChatHelp()
return nil, nil
case "embed_user_text":
return c.EmbedUserText(cmd)
case "rarank_user_document":
return c.RerankUserDocument(cmd)
case "api_embed_user_text":
return c.EmbedUserTextCommand(cmd)
case "api_rarank_user_document":
return c.APIRerankUserDocumentCommand(cmd)
case "tts_user_command":
return c.TTSUserCommand(cmd)
return c.APITTSUserCommand(cmd)
case "asr_user_command":
return c.ASRUserCommand(cmd)
return c.APIASRUserCommand(cmd)
case "ocr_user_command":
return c.OCRUserCommand(cmd)
case "parse_file_user_command":
return c.ParseFileUserCommand(cmd)
return c.APIOCRUserCommand(cmd)
case "api_model_parse_file":
return c.APIModelParseFileCommand(cmd)
case "check_provider_connection":
return c.CommonCheckProviderConnection(cmd)
return c.CommonCheckProviderConnectionCommand(cmd)
case "check_provider_with_key":
return c.CommonCheckProviderWithKey(cmd)
return c.CommonCheckProviderWithKeyCommand(cmd)
case "api_use_model":
return c.APIUseModelCommand(cmd)
case "api_use_api_server":
return c.CommonUseAPIServerCommand(cmd)
case "api_use_admin_server":
return c.CommonUseAdminServerCommand(cmd)
case "set_default_model":
return c.SetDefaultModel(cmd)
case "api_set_default_model":
return c.APISetDefaultModelCommand(cmd)
case "api_reset_default_model":
return c.ResetDefaultModel(cmd)
return c.APIResetDefaultModelCommand(cmd)
case "api_list_default_models":
return c.ListDefaultModels(cmd)
case "parse_documents_user_command":
return c.ParseDocumentsUserCommand(cmd)
case "user_start_ingestion_command":
return c.UserStartIngestionCommand(cmd)
case "user_stop_ingestion_command":
return c.UserStopIngestionCommand(cmd)
return c.APIListDefaultModelsCommand(cmd)
case "api_parse_documents":
return c.APIParseDocumentsUserCommand(cmd)
case "api_start_ingestion":
return c.APIStartIngestionCommand(cmd)
case "api_stop_ingestion":
return c.APIStopIngestionCommand(cmd)
case "api_list_ingestion_tasks":
return c.ListUserIngestionTasks(cmd)
case "user_remove_task_command":
return c.UserRemoveTaskCommand(cmd)
return c.APIListIngestionTasks(cmd)
case "api_remove_task":
return c.APIRemoveTaskCommand(cmd)
case "user_parse_local_file_command":
return c.UserParseLocalFile(cmd)
return c.APIParseLocalFileCommand(cmd)
case "api_show_admin_server":
return c.CommonShowAdminServerCommand(cmd)
case "api_show_api_server":
@@ -462,21 +460,19 @@ func (c *CLI) ExecuteUserCommand(cmd *Command) (ResponseIf, error) {
case "api_show_log_level":
return c.APIShowLogLevelCommand(cmd)
case "api_list_api_servers":
return c.CommonListAPIServers(cmd)
return c.CommonListAPIServersCommand(cmd)
case "api_list_environments":
return c.APIListEnvironmentsCommand(cmd)
case "api_list_variables":
return c.APIListVariablesCommand(cmd)
case "add_api_server":
return c.AddAPIServer(cmd)
case "delete_api_server":
return c.DeleteAPIServer(cmd)
case "add_admin_server":
return c.AddAdminServer(cmd)
case "delete_admin_server":
return c.DeleteAdminServer(cmd)
case "user_chunk_command":
return c.ChunkCommand(cmd)
case "api_add_api_server":
return c.AddAPIServerCommand(cmd)
case "api_delete_api_server":
return c.DeleteAPIServerCommand(cmd)
case "api_add_admin_server":
return c.AddAdminServerCommand(cmd)
case "api_delete_admin_server":
return c.DeleteAdminServerCommand(cmd)
case "api_save_config_command":
return c.CommonSaveServerConfigCommand(cmd)
@@ -485,6 +481,8 @@ func (c *CLI) ExecuteUserCommand(cmd *Command) (ResponseIf, error) {
return c.ExecuteFilesystemCommand(cmd)
// For debug
case "dev_chunk":
return c.DevChunkCommand(cmd)
case "dev_create_chunk_store":
return c.DevCreateChunkStoreCommand(cmd)
case "dev_drop_chunk_store":

View File

@@ -429,9 +429,9 @@ func (c *CLI) CommonShowProviderInstanceBalanceCommand(cmd *Command) (ResponseIf
return &result, nil
}
// CommonListProviderInstances lists all instances of a provider
// CommonListProviderInstancesCommand lists all instances of a provider
// LIST INSTANCES FROM PROVIDER <name>
func (c *CLI) CommonListProviderInstances(cmd *Command) (ResponseIf, error) {
func (c *CLI) CommonListProviderInstancesCommand(cmd *Command) (ResponseIf, error) {
providerName, ok := cmd.Params["provider_name"].(string)
if !ok {
@@ -647,7 +647,7 @@ func (c *CLI) CommonShowProviderModelCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) CommonCheckProviderWithKey(cmd *Command) (ResponseIf, error) {
func (c *CLI) CommonCheckProviderWithKeyCommand(cmd *Command) (ResponseIf, error) {
providerName, ok := cmd.Params["provider_name"].(string)
if !ok || providerName == "" {
@@ -725,7 +725,7 @@ func (c *CLI) CommonCheckProviderWithKey(cmd *Command) (ResponseIf, error) {
}
}
func (c *CLI) CommonCheckProviderConnection(cmd *Command) (ResponseIf, error) {
func (c *CLI) CommonCheckProviderConnectionCommand(cmd *Command) (ResponseIf, error) {
instanceName, ok := cmd.Params["instance_name"].(string)
if !ok {
@@ -857,7 +857,7 @@ func (c *CLI) CommonAlterProviderInstanceCommand(cmd *Command) (ResponseIf, erro
}
}
func (c *CLI) CommonEnableOrDisableModel(cmd *Command, status string) (ResponseIf, error) {
func (c *CLI) CommonEnableOrDisableModelCommand(cmd *Command, status string) (ResponseIf, error) {
modelName, ok := cmd.Params["model_name"].(string)
if !ok {
@@ -925,7 +925,7 @@ func (c *CLI) CommonEnableOrDisableModel(cmd *Command, status string) (ResponseI
}
}
func (c *CLI) SetDefaultModel(cmd *Command) (ResponseIf, error) {
func (c *CLI) APISetDefaultModelCommand(cmd *Command) (ResponseIf, error) {
modelType, ok := cmd.Params["model_type"].(string)
if !ok {
@@ -981,7 +981,7 @@ func (c *CLI) SetDefaultModel(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ResetDefaultModel(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIResetDefaultModelCommand(cmd *Command) (ResponseIf, error) {
modelType, ok := cmd.Params["model_type"].(string)
if !ok {
@@ -1023,7 +1023,7 @@ func (c *CLI) ResetDefaultModel(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ListDefaultModels(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIListDefaultModelsCommand(cmd *Command) (ResponseIf, error) {
var resp *Response
var err error
@@ -1117,7 +1117,7 @@ func (c *CLI) CommonShowAPIServerCommand(cmd *Command) (ResponseIf, error) {
return result, nil
}
func (c *CLI) CommonListAPIServers(cmd *Command) (ResponseIf, error) {
func (c *CLI) CommonListAPIServersCommand(cmd *Command) (ResponseIf, error) {
var result CommonResponse
result.Data = make([]map[string]interface{}, 0)
@@ -1147,7 +1147,7 @@ func (c *CLI) CommonListAPIServers(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) AddAPIServer(cmd *Command) (ResponseIf, error) {
func (c *CLI) AddAPIServerCommand(cmd *Command) (ResponseIf, error) {
apiServerName, ok := cmd.Params["server_name"].(string)
if !ok {
return nil, fmt.Errorf("server name not provided")
@@ -1213,7 +1213,7 @@ func (c *CLI) AddAPIServer(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) DeleteAPIServer(cmd *Command) (ResponseIf, error) {
func (c *CLI) DeleteAPIServerCommand(cmd *Command) (ResponseIf, error) {
apiServerName, ok := cmd.Params["server_name"].(string)
if !ok {
return nil, fmt.Errorf("server name not provided")
@@ -1235,7 +1235,7 @@ func (c *CLI) DeleteAPIServer(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) AddAdminServer(cmd *Command) (ResponseIf, error) {
func (c *CLI) AddAdminServerCommand(cmd *Command) (ResponseIf, error) {
if c.AdminServerClient != nil && c.AdminServerClient.LoginToken != nil {
return nil, fmt.Errorf("admin server already login, please logout")
@@ -1289,7 +1289,7 @@ func (c *CLI) AddAdminServer(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) DeleteAdminServer(cmd *Command) (ResponseIf, error) {
func (c *CLI) DeleteAdminServerCommand(cmd *Command) (ResponseIf, error) {
if c.AdminServerClient == nil && c.Config.AdminClientConfig == nil {
return nil, fmt.Errorf("admin server not exists")

View File

@@ -104,8 +104,8 @@ func (p *Parser) parseInsertMetadataFromFile() (*Command, error) {
return cmd, nil
}
// parseGetCommand parses: GET CHUNK or GET METADATA
func (p *Parser) parseGetCommand() (*Command, error) {
// parseDevGetCommand parses: GET CHUNK or GET METADATA
func (p *Parser) parseDevGetCommand() (*Command, error) {
p.nextToken() // consume GET
if p.curToken.Type == TokenChunk {
@@ -260,8 +260,8 @@ func (p *Parser) parseUpdateChunk() (*Command, error) {
return cmd, nil
}
// parseSetMeta parses: SET METADATA OF DOCUMENT 'doc_id' TO '{"key": "value"}'
func (p *Parser) parseSetMeta() (*Command, error) {
// parseDevSetMeta parses: SET METADATA OF DOCUMENT 'doc_id' TO '{"key": "value"}'
func (p *Parser) parseDevSetMeta() (*Command, error) {
p.nextToken() // consume METADATA
// Expect OF
@@ -613,8 +613,8 @@ func (p *Parser) parseDevCreateChunkStore() (*Command, error) {
}
// Internal CLI for GO
// parseCreateMetadataStore parses: CREATE METADATA STORE
func (p *Parser) parseCreateMetadataStore() (*Command, error) {
// parseDevCreateMetadataStore parses: CREATE METADATA STORE
func (p *Parser) parseDevCreateMetadataStore() (*Command, error) {
// CREATE METADATA STORE
p.nextToken() // consume METADATA
@@ -657,3 +657,95 @@ func (p *Parser) parseCreateRole() (*Command, error) {
}
return cmd, nil
}
func (p *Parser) parseGetMetadata() (*Command, error) {
p.nextToken() // consume METADATA
if p.curToken.Type != TokenOf {
return nil, fmt.Errorf("expected OF after METADATA")
}
p.nextToken()
if p.curToken.Type != TokenDataset {
return nil, fmt.Errorf("expected DATASET after OF")
}
p.nextToken()
// Parse dataset names (space-separated)
var datasetNames []string
for {
name, err := p.parseQuotedString()
if err != nil {
return nil, fmt.Errorf("expected dataset name: %w", err)
}
datasetNames = append(datasetNames, name)
p.nextToken()
if p.curToken.Type == TokenComma {
return nil, fmt.Errorf("syntax error: dataset names must be space-separated, not comma-separated (got %q after %q)", "'", name)
}
// Stop at semicolon or non-quoted (dataset name must be quoted)
if p.curToken.Type == TokenSemicolon {
break
}
// If next token is not a quoted string, stop parsing dataset names
if p.curToken.Type != TokenQuotedString {
break
}
}
cmd := NewCommand("dev_get_metadata")
cmd.Params["dataset_names"] = datasetNames
// Semicolon is optional
if p.curToken.Type == TokenSemicolon {
p.nextToken()
}
return cmd, nil
}
func (p *Parser) parseDevExplain() (*Command, error) {
p.nextToken() // consume EXPLAIN
switch p.curToken.Type {
case TokenChunk:
return p.parseDevChunk(true)
default:
return nil, fmt.Errorf("expected CHUNK after EXPLAIN")
}
}
func (p *Parser) parseDevChunk(explain bool) (*Command, error) {
p.nextToken() // consume CHUNK
filename, err := p.parseQuotedString()
if err != nil {
return nil, fmt.Errorf("expected filename: %w", err)
}
p.nextToken()
if p.curToken.Type != TokenWith {
return nil, fmt.Errorf("expected WITH after filename")
}
p.nextToken()
dsl, err := p.parseQuotedString()
if err != nil {
return nil, fmt.Errorf("expected DSL: %w", err)
}
// Semicolon is optional
if p.curToken.Type == TokenSemicolon {
p.nextToken()
}
p.nextToken()
cmd := NewCommand("dev_chunk")
cmd.Params["dsl"] = dsl
cmd.Params["filename"] = filename
cmd.Params["explain"] = explain
return cmd, nil
}

View File

@@ -148,6 +148,8 @@ func (p *Parser) parseUserCommand() (*Command, error) {
return p.parseAPILogout()
case TokenPing:
return p.parseAPIPingServer()
case TokenRegister:
return p.parseAPIRegister()
case TokenList:
return p.parseAPIListCommands()
case TokenShow:
@@ -167,64 +169,61 @@ func (p *Parser) parseUserCommand() (*Command, error) {
case TokenReset:
return p.parseAPIResetCommands()
case TokenImport:
return p.parseImportCommand()
return p.parseAPIImport()
case TokenInsert:
// Use for development only
return p.parseDevInsertCommand()
case TokenRetrieve:
return p.parseRetrieveCommand()
return p.parseAPIRetrieve()
case TokenParse:
return p.parseParseCommand()
return p.parseParseCommands()
case TokenBenchmark:
return p.parseBenchmarkCommand()
case TokenRegister:
return p.parseAPIRegisterCommand()
case TokenEnable:
return p.parseEnableCommand()
return p.parseAPIEnable()
case TokenDisable:
return p.parseDisableCommand()
case TokenStream:
return p.parseStreamCommand()
return p.parseAPIDisable()
case TokenChat:
return p.parseChatCommand()
case TokenOpenaiChat:
return p.parseOpenaiChatCommand()
return p.parseAPIChat()
case TokenStream:
return p.parseAPIStream()
case TokenThink:
return p.parseThinkCommand()
return p.parseAPIThink()
case TokenEmbed:
return p.parseEmbedCommand()
return p.parseAPIEmbed()
case TokenRerank:
return p.parseRerankCommand()
return p.parseAPIRerank()
case TokenASR:
return p.parseASRCommand()
return p.parseAPIASR()
case TokenTTS:
return p.parseTTSCommand()
return p.parseAPITTS()
case TokenOCR:
return p.parseOCRCommand()
return p.parseAPIOCR()
case TokenCheck:
return p.parseCheckCommand()
return p.parseAPICheck()
case TokenStart:
return p.parseUserStartIngestion()
case TokenStop:
return p.parseUserStopIngestion()
case TokenSave:
return p.parseAPISaveCommand()
return p.parseAPISave()
case TokenUse:
return p.parseAPIUseCommands()
case TokenUpdate:
return p.parseDevUpdateCommand()
case TokenRemove:
return p.parseAPIRemoveCommands()
return p.parseAPIRemove()
case TokenGet:
return p.parseGetCommand()
return p.parseDevGetCommand()
case TokenExplain:
return p.parseExplainCommand()
return p.parseDevExplain()
case TokenChunk:
return p.parseChunkCommand(false)
return p.parseDevChunk(false)
case TokenOpenaiChat:
return p.parseOpenaiChat()
case TokenLS, TokenCat, TokenSearch:
// For context engine
return p.parseFileSystemCommand()
return p.parseFileSystemCommands()
default:
return nil, fmt.Errorf("unknown command: %s", p.curToken.Value)
}
@@ -389,7 +388,7 @@ func tokenTypeToString(t int) string {
return fmt.Sprintf("token(%d)", t)
}
func (p *Parser) parseFileSystemCommand() (*Command, error) {
func (p *Parser) parseFileSystemCommands() (*Command, error) {
p.nextToken() // consume COMMAND
cmd := NewCommand("file_system_command")

View File

@@ -1679,8 +1679,8 @@ func (c *CLI) APIAddProviderCommand(cmd *Command) (ResponseIf, error) {
return HandleSimpleResponse(resp, "add provider")
}
// APIListProviders lists added providers
func (c *CLI) APIListProviders(cmd *Command) (ResponseIf, error) {
// APIListProvidersCommand lists added providers
func (c *CLI) APIListProvidersCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("this command is only allowed in USER mode")
}
@@ -1707,9 +1707,9 @@ func (c *CLI) APIListProviders(cmd *Command) (ResponseIf, error) {
return &result, nil
}
// APIDeleteProvider deletes a provider
// APIDeleteProviderCommand deletes a provider
// DELETE PROVIDER <name>
func (c *CLI) APIDeleteProvider(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIDeleteProviderCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("this command is only allowed in USER mode")
}
@@ -2107,7 +2107,7 @@ func isValidURL(str string) bool {
return u.Scheme != "" && u.Host != ""
}
func (c *CLI) ChatToModel(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIChatToModelCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("this command is only allowed in USER mode")
}
@@ -2375,7 +2375,7 @@ func (c *CLI) ChatToModel(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) EmbedUserText(cmd *Command) (ResponseIf, error) {
func (c *CLI) EmbedUserTextCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -2458,7 +2458,7 @@ func (c *CLI) EmbedUserText(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) RerankUserDocument(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIRerankUserDocumentCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -2547,7 +2547,7 @@ func (c *CLI) RerankUserDocument(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) TTSUserCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APITTSUserCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -2755,7 +2755,7 @@ func (c *CLI) TTSUserCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ASRUserCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIASRUserCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -2859,7 +2859,7 @@ func (c *CLI) ASRUserCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) OCRUserCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIOCRUserCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -2955,7 +2955,7 @@ func (c *CLI) OCRUserCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ParseFileUserCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIModelParseFileCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3184,7 +3184,7 @@ func (c *CLI) APIUseModelCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) AddCustomModel(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIAddCustomModelCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3659,7 +3659,7 @@ func (c *CLI) DevRemoveChunksCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ParseDocumentsUserCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIParseDocumentsUserCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3697,7 +3697,7 @@ func (c *CLI) ParseDocumentsUserCommand(cmd *Command) (ResponseIf, error) {
return HandleSimpleResponse(resp, "list documents")
}
func (c *CLI) UserParseLocalFile(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIParseLocalFileCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("this command is only allowed in USER mode")
}
@@ -3779,7 +3779,7 @@ func formatRequestError(action string, err error) error {
}
}
func (c *CLI) ListUserIngestionTasks(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIListIngestionTasks(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3912,7 +3912,7 @@ func (c *CLI) APIListVariablesCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) UserStartIngestionCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIStartIngestionCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3960,7 +3960,7 @@ func (c *CLI) UserStartIngestionCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) UserStopIngestionCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIStopIngestionCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -3999,7 +3999,7 @@ func (c *CLI) UserStopIngestionCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) UserRemoveTaskCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIRemoveTaskCommand(cmd *Command) (ResponseIf, error) {
if c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].APIKey == nil && c.APIServerClientMap[c.Config.APIClientConfig.CurrentAPIServer].LoginToken == nil {
return nil, fmt.Errorf("API key not set. Please login first")
}
@@ -4039,7 +4039,7 @@ func (c *CLI) UserRemoveTaskCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
func (c *CLI) ChunkCommand(cmd *Command) (ResponseIf, error) {
func (c *CLI) DevChunkCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("this command is only allowed in USER mode")
}
@@ -4103,10 +4103,10 @@ func (c *CLI) ChunkCommand(cmd *Command) (ResponseIf, error) {
return &result, nil
}
// OpenaiChat dispatches the parsed OPENAI_CHAT command to either a
// APIOpenaiChatCommand dispatches the parsed OPENAI_CHAT command to either a
// non-streaming oneshot call or a streaming SSE call, depending on the
// `stream` option.
func (c *CLI) OpenaiChat(cmd *Command) (ResponseIf, error) {
func (c *CLI) APIOpenaiChatCommand(cmd *Command) (ResponseIf, error) {
if c.Config.CLIMode != APIMode {
return nil, fmt.Errorf("OPENAI_CHAT is only allowed in USER mode")
}

File diff suppressed because it is too large Load Diff

View File

@@ -12,8 +12,8 @@ func TestParseChatMessageUsesCurrentModel(t *testing.T) {
t.Fatalf("Parse() error = %v", err)
}
if cmd.Type != "chat_to_model" {
t.Fatalf("Command Type = %v, expected chat_to_model", cmd.Type)
if cmd.Type != "api_chat_to_model" {
t.Fatalf("Command Type = %v, expected api_chat_to_model", cmd.Type)
}
if _, ok := cmd.Params["composite_model_name"]; ok {
t.Fatal("composite_model_name should not be set")

View File

@@ -225,7 +225,7 @@ func (e *infinityEngine) InsertMetadata(ctx context.Context, metadata []map[stri
// reader naturally parses as "replace". The merge semantics exist so
// that user-driven metadata edits compose with auto-extracted fields
// produced by the LLM extraction pipeline. See the CLI parser in
// internal/cli/user_parser.go (parseSetMeta) for the user-facing
// internal/cli/user_parser.go (parseDevSetMeta) for the user-facing
// surface that drives this engine method.
func (e *infinityEngine) UpdateMetadata(ctx context.Context, docID string, datasetID string, metaFields map[string]interface{}, tenantID string) error {
tableName := buildMetadataTableName(tenantID)