diff --git a/.github/.codecov.yaml b/.github/.codecov.yaml index 410accc0d..1ca402194 100644 --- a/.github/.codecov.yaml +++ b/.github/.codecov.yaml @@ -56,7 +56,6 @@ ignore: - "**/repo/mysql/**" - "**/repo/**/mysql/**" - "**/repo/redis/**" - - "**/repo/**/redis/**" - "backend/api/router/coze/loop/apis/*.go" parsers: diff --git a/.github/workflows/ai-cr-required.yaml b/.github/workflows/ai-cr-required.yaml deleted file mode 100644 index e8c0c89b0..000000000 --- a/.github/workflows/ai-cr-required.yaml +++ /dev/null @@ -1,38 +0,0 @@ -name: AI CR Required -permissions: - pull-requests: read - -on: - pull_request: - branches: [ "main" ] - paths: - - 'backend/**' - - 'idl/**' - - 'release/**' - - '.github/workflows/backend-ci.yaml' - -jobs: - require-ai-cr-comment: - runs-on: ubuntu-latest - steps: - - name: Install gh and jq - run: | - sudo apt-get update - sudo apt-get install -y jq - curl -sSL https://github.com/cli/cli/releases/download/v2.40.0/gh_2.40.0_linux_amd64.deb -o gh.deb - sudo dpkg -i gh.deb - - - name: Check for ai's CR comment - env: - PR_NUMBER: ${{ github.event.pull_request.number }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - echo "PR number: $PR_NUMBER" - COMMENTS=$(gh api -H "Accept: application/vnd.github+json" /repos/${{ github.repository }}/pulls/${PR_NUMBER}/comments --jq '.[].user.login') - echo "Comment authors: $COMMENTS" - echo "$COMMENTS" | grep -q "^CozeLoop$" - if [ $? -ne 0 ]; then - echo "❌ No comment from target ai. Merge is blocked." - exit 1 - fi - echo "✅ Target ai has commented. Merge is allowed." \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0f5fa2d27..9c827483e 100644 --- a/.gitignore +++ b/.gitignore @@ -53,4 +53,3 @@ release/deployment/helm-chart/umbrella/Chart.lock .coda/ backend/script/errorx/.env .cursor/ -AGENTS.md \ No newline at end of file diff --git a/Makefile b/Makefile index 3d6d63a49..f1967d95b 100644 --- a/Makefile +++ b/Makefile @@ -2,10 +2,6 @@ IMAGE_REGISTRY := docker.io IMAGE_REPOSITORY := cozedev IMAGE_NAME := coze-loop -# Python FaaS image config -PYFAAS_IMAGE_NAME := coze-loop-python-faas -PYFAAS_DOCKERFILE := ./release/image/python-faas.Dockerfile - DOCKER_COMPOSE_DIR := ./release/deployment/docker-compose HELM_CHART_DIR := ./release/deployment/helm-chart/umbrella @@ -37,37 +33,18 @@ image%: docker run --rm $(IMAGE_REPOSITORY)/$(IMAGE_NAME):latest du -sh /coze-loop/bin; \ docker run --rm $(IMAGE_REPOSITORY)/$(IMAGE_NAME):latest du -sh /coze-loop/resources; \ docker run --rm $(IMAGE_REPOSITORY)/$(IMAGE_NAME):latest du -sh /coze-loop ;; \ - -python-faas-bpush-*) \ - version="$*"; \ - version="$${version#-python-faas-bpush-}"; \ - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --progress=plain \ - --push \ - --build-context bootstrap=$(DOCKER_COMPOSE_DIR)/bootstrap/python-faas \ - -f $(PYFAAS_DOCKERFILE) \ - -t $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME):latest \ - -t $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME):"$$version" \ - .; \ - docker pull $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME):latest; \ - docker run --rm $(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME):latest du -sh /app; \ - docker run --rm $(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME):latest du -sh /app/vendor; \ - ;; \ -help|*) \ echo "Usage:"; \ - echo " make image--login # Login to the image registry ($(IMAGE_REGISTRY))"; \ - echo " make image- # Build & push coze-loop image (, latest)"; \ - echo " make image-python-faas-bpush- # Build & push python-faas image (, latest)"; \ + echo " make image--login # Login to the image registry ($(IMAGE_REGISTRY))"; \ + echo " make image- # Build & push multi-arch image with tags and latest"; \ echo; \ echo "Examples:"; \ - echo " make image--login"; \ - echo " make image-1.0.0"; \ - echo " make image-python-faas-bpush-1.0.0"; \ + echo " make image--login # Login before pushing images"; \ + echo " make image-1.0.0 # Build & push images tagged '1.0.0' and 'latest'"; \ echo; \ echo "Notes:"; \ - echo " - 'image--login' logs in using IMAGE_REPOSITORY as the username."; \ - echo " - 'image-' pushes to $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(IMAGE_NAME)"; \ - echo " - 'image-python-faas-bpush-' pushes to $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(PYFAAS_IMAGE_NAME)"; \ + echo " - 'image--login' logs in using IMAGE_REPOSITORY as the username."; \ + echo " - 'image-' will push to $(IMAGE_REGISTRY)/$(IMAGE_REPOSITORY)/$(IMAGE_NAME)"; \ exit 1 ;; \ esac diff --git a/backend/api/handler/coze/loop/apis/eval_open_apiservice.go b/backend/api/handler/coze/loop/apis/eval_open_apiservice.go deleted file mode 100644 index 80d836f98..000000000 --- a/backend/api/handler/coze/loop/apis/eval_open_apiservice.go +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -// Code generated by hertz generator. - -package apis - -import ( - "context" - - "github.com/cloudwego/hertz/pkg/app" - "github.com/cloudwego/hertz/pkg/protocol/consts" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice" - openapi0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -var localEvalOpenAPIClient evalopenapiservice.Client - -// ReportEvalTargetInvokeResult . -// @router /v1/loop/evaluation/eval_targets/result [POST] -func ReportEvalTargetInvokeResult(ctx context.Context, c *app.RequestContext) { - var err error - var req openapi0.ReportEvalTargetInvokeResultRequest - err = c.BindAndValidate(&req) - if err != nil { - c.String(consts.StatusBadRequest, err.Error()) - return - } - - resp := new(openapi0.ReportEvalTargetInvokeResultResponse) - - c.JSON(consts.StatusOK, resp) -} diff --git a/backend/api/handler/coze/loop/apis/eval_target_service.go b/backend/api/handler/coze/loop/apis/eval_target_service.go index 3a4d0c5a7..a07f5e005 100644 --- a/backend/api/handler/coze/loop/apis/eval_target_service.go +++ b/backend/api/handler/coze/loop/apis/eval_target_service.go @@ -9,7 +9,9 @@ import ( "context" "github.com/cloudwego/hertz/pkg/app" + "github.com/cloudwego/hertz/pkg/protocol/consts" + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaltargetservice" ) @@ -54,19 +56,49 @@ func ListSourceEvalTargetVersions(ctx context.Context, c *app.RequestContext) { // ExecuteEvalTarget . // @router /api/evaluation/v2/eval_targets/execute [POST] func ExecuteEvalTarget(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.ExecuteEvalTarget) + var err error + var req eval_target.ExecuteEvalTargetRequest + err = c.BindAndValidate(&req) + if err != nil { + c.String(consts.StatusBadRequest, err.Error()) + return + } + + resp := new(eval_target.ExecuteEvalTargetResponse) + + c.JSON(consts.StatusOK, resp) } // GetEvalTargetRecord . // @router /api/evaluation/v2/eval_targets/records/:eval_target_record_id [GET] func GetEvalTargetRecord(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.GetEvalTargetRecord) + var err error + var req eval_target.GetEvalTargetRecordRequest + err = c.BindAndValidate(&req) + if err != nil { + c.String(consts.StatusBadRequest, err.Error()) + return + } + + resp := new(eval_target.GetEvalTargetRecordResponse) + + c.JSON(consts.StatusOK, resp) } // BatchGetEvalTargetRecords // @router /api/evaluation/v2/eval_targets/records/batch_get [POST] func BatchGetEvalTargetRecords(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.BatchGetEvalTargetRecords) + var err error + var req eval_target.BatchGetEvalTargetRecordsRequest + err = c.BindAndValidate(&req) + if err != nil { + c.String(consts.StatusBadRequest, err.Error()) + return + } + + resp := new(eval_target.BatchGetEvalTargetRecordsResponse) + + c.JSON(consts.StatusOK, resp) } // BatchGetSourceEvalTargets . @@ -75,24 +107,6 @@ func BatchGetSourceEvalTargets(ctx context.Context, c *app.RequestContext) { invokeAndRender(ctx, c, localEvalTargetSvc.BatchGetSourceEvalTargets) } -// SearchCustomEvalTarget . -// @router /api/evaluation/v1/eval_targets/search_custom [POST] -func SearchCustomEvalTarget(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.SearchCustomEvalTarget) -} - -// DebugEvalTarget . -// @router /api/evaluation/v1/eval_targets/debug [POST] -func DebugEvalTarget(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.DebugEvalTarget) -} - -// AsyncDebugEvalTarget . -// @router /api/evaluation/v1/eval_targets/async_debug [POST] -func AsyncDebugEvalTarget(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvalTargetSvc.AsyncDebugEvalTarget) -} - // MockEvalTargetOutput . // @router /api/evaluation/v1/eval_targets/mock_output [POST] func MockEvalTargetOutput(ctx context.Context, c *app.RequestContext) { diff --git a/backend/api/handler/coze/loop/apis/evaluator_service.go b/backend/api/handler/coze/loop/apis/evaluator_service.go index e66b4dd87..34aac5154 100644 --- a/backend/api/handler/coze/loop/apis/evaluator_service.go +++ b/backend/api/handler/coze/loop/apis/evaluator_service.go @@ -9,8 +9,10 @@ import ( "context" "github.com/cloudwego/hertz/pkg/app" + "github.com/cloudwego/hertz/pkg/protocol/consts" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/apis/evaluatorservice" + evaluator "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" ) var localEvaluatorSvc evaluatorservice.Client @@ -144,7 +146,17 @@ func BatchGetEvaluatorRecords(ctx context.Context, c *app.RequestContext) { // ValidateEvaluator . // @router /api/evaluation/v1/evaluators/validate [POST] func ValidateEvaluator(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, localEvaluatorSvc.ValidateEvaluator) + var err error + var req evaluator.ValidateEvaluatorRequest + err = c.BindAndValidate(&req) + if err != nil { + c.String(consts.StatusBadRequest, err.Error()) + return + } + + resp := new(evaluator.ValidateEvaluatorResponse) + + c.JSON(consts.StatusOK, resp) } // BatchDebugEvaluator . diff --git a/backend/api/handler/coze/loop/apis/handler.go b/backend/api/handler/coze/loop/apis/handler.go index 11d20bd01..3c5a828e4 100644 --- a/backend/api/handler/coze/loop/apis/handler.go +++ b/backend/api/handler/coze/loop/apis/handler.go @@ -28,7 +28,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - evalopen "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/auth" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/authn" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/file" @@ -49,7 +48,6 @@ import ( "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/evaluation/loeval_target" "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/evaluation/loevaluator" "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/evaluation/loexpt" - loevalopen "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/evaluation/loopenapi" "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/foundation/loauthn" foundationlofile "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/foundation/lofile" foundationloopenapi "github.com/coze-dev/coze-loop/backend/loop_gen/coze/loop/foundation/loopenapi" @@ -87,7 +85,6 @@ type EvaluationHandler struct { evaluation.EvaluatorService evaluation.EvaluationSetService evaluation.EvalTargetService - evaluation.EvalOpenAPIService } type FoundationHandler struct { @@ -128,20 +125,17 @@ func NewEvaluationHandler( evaluatorApp evaluation.EvaluatorService, evaluationSetApp evaluation.EvaluationSetService, evalTargetService evaluation.EvalTargetService, - evalOpenAPIApp evaluation.EvalOpenAPIService, ) *EvaluationHandler { h := &EvaluationHandler{ EvaluatorService: evaluatorApp, IExperimentApplication: exptApp, EvaluationSetService: evaluationSetApp, EvalTargetService: evalTargetService, - EvalOpenAPIService: evalOpenAPIApp, } bindLocalCallClient(expt.ExperimentService(h), &localExptSvc, loexpt.NewLocalExperimentService) bindLocalCallClient(evaluator.EvaluatorService(h), &localEvaluatorSvc, loevaluator.NewLocalEvaluatorService) bindLocalCallClient(eval_set.EvaluationSetService(h), &localEvalSetSvc, loeval_set.NewLocalEvaluationSetService) bindLocalCallClient(eval_target.EvalTargetService(h), &localEvalTargetSvc, loeval_target.NewLocalEvalTargetService) - bindLocalCallClient(evalopen.EvaluationOpenAPIService(h), &localEvalOpenAPIClient, loevalopen.NewLocalEvaluationOpenAPIService) return h } diff --git a/backend/api/handler/coze/loop/apis/handler_test.go b/backend/api/handler/coze/loop/apis/handler_test.go index 847ffb42e..95d971b60 100644 --- a/backend/api/handler/coze/loop/apis/handler_test.go +++ b/backend/api/handler/coze/loop/apis/handler_test.go @@ -120,35 +120,3 @@ func Test_invokeAndRender(t *testing.T) { }) } } - -func TestValidateEvaluator(t *testing.T) { - tests := []struct { - name string - wantPanic bool - }{ - { - name: "ValidateEvaluator function exists and can be called", - wantPanic: false, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctx := context.Background() - c := &app.RequestContext{} - - // The function will panic due to nil localEvaluatorSvc, but we verify it exists and can be called - // This test mainly ensures the function compiles and follows the expected pattern - if tt.wantPanic { - assert.Panics(t, func() { - ValidateEvaluator(ctx, c) - }) - } else { - // Even though it panics, we verify the function signature is correct - assert.Panics(t, func() { - ValidateEvaluator(ctx, c) - }) - } - }) - } -} diff --git a/backend/api/handler/coze/loop/apis/observability_open_apiservice.go b/backend/api/handler/coze/loop/apis/observability_open_apiservice.go index e7a6687d4..ac453f74b 100644 --- a/backend/api/handler/coze/loop/apis/observability_open_apiservice.go +++ b/backend/api/handler/coze/loop/apis/observability_open_apiservice.go @@ -61,12 +61,6 @@ func ListTracesOApi(ctx context.Context, c *app.RequestContext) { invokeAndRender(ctx, c, observabilityOpenAPIClient.ListTracesOApi) } -// SearchTraceTreeOApi . -// @router /v1/loop/traces/search_tree [POST] -func SearchTraceTreeOApi(ctx context.Context, c *app.RequestContext) { - invokeAndRender(ctx, c, observabilityOpenAPIClient.SearchTraceTreeOApi) -} - // CreateAnnotation . // @router /v1/loop/annotations/create [POST] func CreateAnnotation(ctx context.Context, c *app.RequestContext) { diff --git a/backend/api/handler/coze/loop/apis/observability_trace_service.go b/backend/api/handler/coze/loop/apis/observability_trace_service.go index 64ba512ea..15ba67560 100644 --- a/backend/api/handler/coze/loop/apis/observability_trace_service.go +++ b/backend/api/handler/coze/loop/apis/observability_trace_service.go @@ -121,22 +121,6 @@ func PreviewExportTracesToDataset(ctx context.Context, c *app.RequestContext) { c.JSON(consts.StatusOK, resp) } -// SearchTraceTree . -// @router /api/observability/v1/traces/search_tree [POST] -func SearchTraceTree(ctx context.Context, c *app.RequestContext) { - var err error - var req trace.SearchTraceTreeRequest - err = c.BindAndValidate(&req) - if err != nil { - c.String(consts.StatusBadRequest, err.Error()) - return - } - - resp := new(trace.SearchTraceTreeResponse) - - c.JSON(consts.StatusOK, resp) -} - // ChangeEvaluatorScore . // @router /api/observability/v1/annotations/change_eEvaluator_sScore [POST] func ChangeEvaluatorScore(ctx context.Context, c *app.RequestContext) { diff --git a/backend/api/handler/coze/loop/apis/wire.go b/backend/api/handler/coze/loop/apis/wire.go index 35e9c3119..7872ab501 100644 --- a/backend/api/handler/coze/loop/apis/wire.go +++ b/backend/api/handler/coze/loop/apis/wire.go @@ -81,7 +81,6 @@ var ( evaluationapp.InitEvaluatorApplication, evaluationapp.InitEvaluationSetApplication, evaluationapp.InitEvalTargetApplication, - evaluationapp.InitEvalOpenAPIApplication, ) dataSet = wire.NewSet( NewDataHandler, diff --git a/backend/api/handler/coze/loop/apis/wire_gen.go b/backend/api/handler/coze/loop/apis/wire_gen.go index 47af4031a..8c08b6ecf 100644 --- a/backend/api/handler/coze/loop/apis/wire_gen.go +++ b/backend/api/handler/coze/loop/apis/wire_gen.go @@ -8,7 +8,6 @@ package apis import ( "context" - "github.com/cloudwego/kitex/pkg/endpoint" "github.com/coze-dev/coze-loop/backend/infra/ck" "github.com/coze-dev/coze-loop/backend/infra/db" @@ -129,11 +128,7 @@ func InitEvaluationHandler(ctx context.Context, idgen2 idgen.IIDGenerator, db2 d if err != nil { return nil, err } - evalOpenAPIService, err := application4.InitEvalOpenAPIApplication(ctx, configFactory, mqFactory, cmdable, idgen2, db2, promptClient, pec, authClient, meter) - if err != nil { - return nil, err - } - evaluationHandler := NewEvaluationHandler(iExperimentApplication, evaluatorService, evaluationSetService, evalTargetService, evalOpenAPIService) + evaluationHandler := NewEvaluationHandler(iExperimentApplication, evaluatorService, evaluationSetService, evalTargetService) return evaluationHandler, nil } @@ -189,7 +184,7 @@ var ( NewPromptHandler, application2.InitPromptManageApplication, application2.InitPromptDebugApplication, application2.InitPromptExecuteApplication, application2.InitPromptOpenAPIApplication, ) evaluationSet = wire.NewSet( - NewEvaluationHandler, data.NewDatasetRPCAdapter, prompt.NewPromptRPCAdapter, application4.InitExperimentApplication, application4.InitEvaluatorApplication, application4.InitEvaluationSetApplication, application4.InitEvalTargetApplication, application4.InitEvalOpenAPIApplication, + NewEvaluationHandler, data.NewDatasetRPCAdapter, prompt.NewPromptRPCAdapter, application4.InitExperimentApplication, application4.InitEvaluatorApplication, application4.InitEvaluationSetApplication, application4.InitEvalTargetApplication, ) dataSet = wire.NewSet( NewDataHandler, application5.InitDatasetApplication, application5.InitTagApplication, foundation.NewAuthRPCProvider, conf2.NewConfigerFactory, diff --git a/backend/api/router/coze/loop/apis/coze.loop.apis.go b/backend/api/router/coze/loop/apis/coze.loop.apis.go index 8c817934b..260200703 100644 --- a/backend/api/router/coze/loop/apis/coze.loop.apis.go +++ b/backend/api/router/coze/loop/apis/coze.loop.apis.go @@ -101,14 +101,11 @@ func Register(r *server.Hertz, handler *apis.APIHandler) { _v11 := _evaluation.Group("/v1", _v11Mw(handler)...) _v11.POST("/eval_targets", append(_eval_targetsMw(handler), apis.CreateEvalTarget)...) _eval_targets := _v11.Group("/eval_targets", _eval_targetsMw(handler)...) - _eval_targets.POST("/async_debug", append(_asyncdebugevaltargetMw(handler), apis.AsyncDebugEvalTarget)...) _eval_targets.POST("/batch_get_by_source", append(_batchgetevaltargetsbysourceMw(handler), apis.BatchGetEvalTargetsBySource)...) _eval_targets.POST("/batch_get_source", append(_batchgetsourceevaltargetsMw(handler), apis.BatchGetSourceEvalTargets)...) - _eval_targets.POST("/debug", append(_debugevaltargetMw(handler), apis.DebugEvalTarget)...) _eval_targets.POST("/list_source", append(_listsourceevaltargetsMw(handler), apis.ListSourceEvalTargets)...) _eval_targets.POST("/list_source_version", append(_listsourceevaltargetversionsMw(handler), apis.ListSourceEvalTargetVersions)...) _eval_targets.POST("/mock_output", append(_mockevaltargetoutputMw(handler), apis.MockEvalTargetOutput)...) - _eval_targets.POST("/search_custom", append(_searchcustomevaltargetMw(handler), apis.SearchCustomEvalTarget)...) { _eval_target_id := _eval_targets.Group("/:eval_target_id", _eval_target_idMw(handler)...) { @@ -320,7 +317,6 @@ func Register(r *server.Hertz, handler *apis.APIHandler) { _traces.POST("/export_to_dataset", append(_exporttracestodatasetMw(handler), apis.ExportTracesToDataset)...) _traces.GET("/meta_info", append(_gettracesmetainfoMw(handler), apis.GetTracesMetaInfo)...) _traces.POST("/preview_export_to_dataset", append(_previewexporttracestodatasetMw(handler), apis.PreviewExportTracesToDataset)...) - _traces.POST("/search_tree", append(_searchtracetreeMw(handler), apis.SearchTraceTree)...) _traces.GET("/:trace_id", append(_gettraceMw(handler), apis.GetTrace)...) } } @@ -375,11 +371,10 @@ func Register(r *server.Hertz, handler *apis.APIHandler) { _v16 := root.Group("/v1", _v16Mw(handler)...) { _loop := _v16.Group("/loop", _loopMw(handler)...) - _loop.DELETE("/annotations", append(_deleteannotationMw(handler), apis.DeleteAnnotation)...) - _loop.POST("/annotations", append(_createannotationMw(handler), apis.CreateAnnotation)...) { - _eval_targets0 := _loop.Group("/eval_targets", _eval_targets0Mw(handler)...) - _eval_targets0.POST("/result", append(_reportevaltargetinvokeresultMw(handler), apis.ReportEvalTargetInvokeResult)...) + _annotations0 := _loop.Group("/annotations", _annotations0Mw(handler)...) + _annotations0.POST("/create", append(_createannotationMw(handler), apis.CreateAnnotation)...) + _annotations0.DELETE("/delete", append(_deleteannotationMw(handler), apis.DeleteAnnotation)...) } { _files := _loop.Group("/files", _filesMw(handler)...) @@ -407,7 +402,6 @@ func Register(r *server.Hertz, handler *apis.APIHandler) { _traces0.POST("/ingest", append(_ingesttracesMw(handler), apis.IngestTraces)...) _traces0.POST("/list", append(_listtracesoapiMw(handler), apis.ListTracesOApi)...) _traces0.POST("/search", append(_searchtraceoapiMw(handler), apis.SearchTraceOApi)...) - _traces0.POST("/search_tree", append(_searchtracetreeoapiMw(handler), apis.SearchTraceTreeOApi)...) } } } diff --git a/backend/api/router/coze/loop/apis/middleware.go b/backend/api/router/coze/loop/apis/middleware.go index ac4522715..0172bae17 100644 --- a/backend/api/router/coze/loop/apis/middleware.go +++ b/backend/api/router/coze/loop/apis/middleware.go @@ -1271,19 +1271,11 @@ func _listtracesoapiMw(handler *apis.APIHandler) []app.HandlerFunc { return nil } -func _asyncdebugevaltargetMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _validateevaluatorMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil } -func _debugevaltargetMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _tasksMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil @@ -1339,19 +1331,11 @@ func _mockevaltargetoutputMw(handler *apis.APIHandler) []app.HandlerFunc { return nil } -func _passbackevaltargetinvokeresultMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _batchdebugevaluatorMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil } -func _searchcustomevaltargetMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _extractspaninfoMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil @@ -1367,28 +1351,16 @@ func _insightanalysisexperimentMw(handler *apis.APIHandler) []app.HandlerFunc { return nil } -func _evaluation0Mw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _insight_analysis_recordsMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil } -func _eval_targets0Mw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _insight_analysis_record_idMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil } -func _reportevaltargetinvokeresultMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _deleteexptinsightanalysisrecordMw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil @@ -1419,35 +1391,6 @@ func _listexptinsightanalysisrecordMw(handler *apis.APIHandler) []app.HandlerFun return nil } -func _v2Mw(handler *apis.APIHandler) []app.HandlerFunc { - // your code... - return nil -} - -func _gettracev2Mw(handler *apis.APIHandler) []app.HandlerFunc { - // your code... - return nil -} - -func _traces1Mw(handler *apis.APIHandler) []app.HandlerFunc { - // your code... - return nil -} - -func _trace_treeMw(handler *apis.APIHandler) []app.HandlerFunc { - // your code... - return nil -} - -func _searchtracetreeMw(handler *apis.APIHandler) []app.HandlerFunc { - // your code... - return nil -} - -func _searchtracetreeoapiMw(handler *apis.APIHandler) []app.HandlerFunc { - return nil -} - func _annotations0Mw(handler *apis.APIHandler) []app.HandlerFunc { // your code... return nil diff --git a/backend/go.sum b/backend/go.sum index 53bf8e523..ed089935d 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -473,7 +473,6 @@ github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAx github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.8 h1:zZDs9gcbt9ZPLV0ndSyQk6Kacx2g/X+SKYovpnz3SMM= github.com/google/s2a-go v0.1.8/go.mod h1:6iNWHTpQ+nfNRN5E00MSdfDwVesa8hhS32PhPO8deJA= -github.com/google/subcommands v1.2.0 h1:vWQspBTo2nEqTUFita5/KeEWlUL8kQObDFbub/EN9oE= github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/backend/infra/external/benefit/benifit.go b/backend/infra/external/benefit/benifit.go index 3dd078a77..0f998474d 100644 --- a/backend/infra/external/benefit/benifit.go +++ b/backend/infra/external/benefit/benifit.go @@ -28,7 +28,7 @@ type IBenefitService interface { BatchCheckEnableTypeBenefit(ctx context.Context, param *BatchCheckEnableTypeBenefitParams) (result *BatchCheckEnableTypeBenefitResult, err error) // CheckAndDeductOptimizationBenefit 校验扣减优化权益 CheckAndDeductOptimizationBenefit(ctx context.Context, param *CheckAndDeductOptimizationBenefitParams) (result *CheckAndDeductOptimizationBenefitResult, err error) - // Deprecated: DeductOptimizationBenefit is deprecated. Use CheckAndDeductOptimizationBenefit(...) instead. + // DeductOptimizationBenefit 上报优化资源点 DeductOptimizationBenefit(ctx context.Context, param *DeductOptimizationBenefitParams) (err error) } @@ -111,14 +111,6 @@ func (h *DenyReason) ToErr() error { } } -type When int64 - -const ( - WhenStart When = 1 - WhenRunning When = 2 - WhenFinish When = 3 -) - type CheckAndDeductEvalBenefitParams struct { ConnectorUID string `json:"connector_uid"` // Coze登录ID SpaceID int64 `json:"space_id"` // 空间ID @@ -154,12 +146,10 @@ type BatchCheckEnableTypeBenefitResult struct { } type CheckAndDeductOptimizationBenefitParams struct { - ConnectorUID string `json:"connector_uid"` // Coze登录ID - SpaceID int64 `json:"space_id"` // 空间ID - PromptID int64 `json:"prompt_id"` // prompt id,用于唯一标识 - TaskID int64 `json:"task_id"` // task id - Amount float64 `json:"amount"` // 消耗的资源点数 - When When `json:"when"` // 适用场景:1-启动时校验,2-运行时校验,3-结束时校验 + ConnectorUID string `json:"connector_uid"` // Coze登录ID + SpaceID int64 `json:"space_id"` // 空间ID + PromptID int64 `json:"prompt_id"` // prompt id,用于唯一标识 + TaskID int64 `json:"task_id"` // task id } type CheckAndDeductOptimizationBenefitResult struct { diff --git a/backend/infra/http/http.go b/backend/infra/http/http.go index 538230a53..0ac7b3c69 100644 --- a/backend/infra/http/http.go +++ b/backend/infra/http/http.go @@ -21,6 +21,4 @@ type RequestParam struct { Response interface{} Timeout time.Duration - Cluster *string - WithSD *bool } diff --git a/backend/infra/platestwrite/latest_write_tracker.go b/backend/infra/platestwrite/latest_write_tracker.go index dd4707b02..6278b4d6c 100644 --- a/backend/infra/platestwrite/latest_write_tracker.go +++ b/backend/infra/platestwrite/latest_write_tracker.go @@ -129,7 +129,6 @@ const ( ResourceTypePromptCommit ResourceType = "prompt_commit" ResourceTypePromptLabel ResourceType = "prompt_label" ResourceTypePromptCommitLabelMapping ResourceType = "prompt_commit_label_mapping" - ResourceTypeCozeloopOptimizeTask ResourceType = "cozeloop_optimize_task" // 外场智能优化 ResourceTypeExperiment ResourceType = "experiment" ResourceTypeEvalSet ResourceType = "eval_set" diff --git a/backend/kitex_gen/coze/loop/apis/coze.loop.apis.go b/backend/kitex_gen/coze/loop/apis/coze.loop.apis.go index 95e8a7de8..f9329c2a8 100644 --- a/backend/kitex_gen/coze/loop/apis/coze.loop.apis.go +++ b/backend/kitex_gen/coze/loop/apis/coze.loop.apis.go @@ -10,7 +10,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - openapi0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/auth" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/authn" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/file" @@ -19,13 +18,13 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/user" manage0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/llm/manage" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/llm/runtime" - openapi2 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/openapi" + openapi1 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/openapi" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/task" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/trace" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/debug" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/execute" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/manage" - openapi1 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/openapi" + openapi0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/openapi" ) type EvaluationSetService interface { @@ -132,32 +131,6 @@ func NewExperimentServiceClient(c thrift.TClient) *ExperimentServiceClient { } } -type EvalOpenAPIService interface { - openapi0.EvaluationOpenAPIService -} - -type EvalOpenAPIServiceClient struct { - *openapi0.EvaluationOpenAPIServiceClient -} - -func NewEvalOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi0.NewEvaluationOpenAPIServiceClientFactory(t, f), - } -} - -func NewEvalOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi0.NewEvaluationOpenAPIServiceClientProtocol(t, iprot, oprot), - } -} - -func NewEvalOpenAPIServiceClient(c thrift.TClient) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi0.NewEvaluationOpenAPIServiceClient(c), - } -} - type DatasetService interface { dataset.DatasetService } @@ -289,28 +262,28 @@ func NewPromptExecuteServiceClient(c thrift.TClient) *PromptExecuteServiceClient } type PromptOpenAPIService interface { - openapi1.PromptOpenAPIService + openapi0.PromptOpenAPIService } type PromptOpenAPIServiceClient struct { - *openapi1.PromptOpenAPIServiceClient + *openapi0.PromptOpenAPIServiceClient } func NewPromptOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *PromptOpenAPIServiceClient { return &PromptOpenAPIServiceClient{ - PromptOpenAPIServiceClient: openapi1.NewPromptOpenAPIServiceClientFactory(t, f), + PromptOpenAPIServiceClient: openapi0.NewPromptOpenAPIServiceClientFactory(t, f), } } func NewPromptOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *PromptOpenAPIServiceClient { return &PromptOpenAPIServiceClient{ - PromptOpenAPIServiceClient: openapi1.NewPromptOpenAPIServiceClientProtocol(t, iprot, oprot), + PromptOpenAPIServiceClient: openapi0.NewPromptOpenAPIServiceClientProtocol(t, iprot, oprot), } } func NewPromptOpenAPIServiceClient(c thrift.TClient) *PromptOpenAPIServiceClient { return &PromptOpenAPIServiceClient{ - PromptOpenAPIServiceClient: openapi1.NewPromptOpenAPIServiceClient(c), + PromptOpenAPIServiceClient: openapi0.NewPromptOpenAPIServiceClient(c), } } @@ -393,28 +366,28 @@ func NewObservabilityTraceServiceClient(c thrift.TClient) *ObservabilityTraceSer } type ObservabilityOpenAPIService interface { - openapi2.OpenAPIService + openapi1.OpenAPIService } type ObservabilityOpenAPIServiceClient struct { - *openapi2.OpenAPIServiceClient + *openapi1.OpenAPIServiceClient } func NewObservabilityOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *ObservabilityOpenAPIServiceClient { return &ObservabilityOpenAPIServiceClient{ - OpenAPIServiceClient: openapi2.NewOpenAPIServiceClientFactory(t, f), + OpenAPIServiceClient: openapi1.NewOpenAPIServiceClientFactory(t, f), } } func NewObservabilityOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *ObservabilityOpenAPIServiceClient { return &ObservabilityOpenAPIServiceClient{ - OpenAPIServiceClient: openapi2.NewOpenAPIServiceClientProtocol(t, iprot, oprot), + OpenAPIServiceClient: openapi1.NewOpenAPIServiceClientProtocol(t, iprot, oprot), } } func NewObservabilityOpenAPIServiceClient(c thrift.TClient) *ObservabilityOpenAPIServiceClient { return &ObservabilityOpenAPIServiceClient{ - OpenAPIServiceClient: openapi2.NewOpenAPIServiceClient(c), + OpenAPIServiceClient: openapi1.NewOpenAPIServiceClient(c), } } @@ -636,15 +609,6 @@ func NewExperimentServiceProcessor(handler ExperimentService) *ExperimentService return self } -type EvalOpenAPIServiceProcessor struct { - *openapi0.EvaluationOpenAPIServiceProcessor -} - -func NewEvalOpenAPIServiceProcessor(handler EvalOpenAPIService) *EvalOpenAPIServiceProcessor { - self := &EvalOpenAPIServiceProcessor{openapi0.NewEvaluationOpenAPIServiceProcessor(handler)} - return self -} - type DatasetServiceProcessor struct { *dataset.DatasetServiceProcessor } @@ -691,11 +655,11 @@ func NewPromptExecuteServiceProcessor(handler PromptExecuteService) *PromptExecu } type PromptOpenAPIServiceProcessor struct { - *openapi1.PromptOpenAPIServiceProcessor + *openapi0.PromptOpenAPIServiceProcessor } func NewPromptOpenAPIServiceProcessor(handler PromptOpenAPIService) *PromptOpenAPIServiceProcessor { - self := &PromptOpenAPIServiceProcessor{openapi1.NewPromptOpenAPIServiceProcessor(handler)} + self := &PromptOpenAPIServiceProcessor{openapi0.NewPromptOpenAPIServiceProcessor(handler)} return self } @@ -727,11 +691,11 @@ func NewObservabilityTraceServiceProcessor(handler ObservabilityTraceService) *O } type ObservabilityOpenAPIServiceProcessor struct { - *openapi2.OpenAPIServiceProcessor + *openapi1.OpenAPIServiceProcessor } func NewObservabilityOpenAPIServiceProcessor(handler ObservabilityOpenAPIService) *ObservabilityOpenAPIServiceProcessor { - self := &ObservabilityOpenAPIServiceProcessor{openapi2.NewOpenAPIServiceProcessor(handler)} + self := &ObservabilityOpenAPIServiceProcessor{openapi1.NewOpenAPIServiceProcessor(handler)} return self } diff --git a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/client.go b/backend/kitex_gen/coze/loop/apis/evalopenapiservice/client.go deleted file mode 100644 index 99ffd25bc..000000000 --- a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalopenapiservice - -import ( - "context" - client "github.com/cloudwego/kitex/client" - callopt "github.com/cloudwego/kitex/client/callopt" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. -type Client interface { - ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) -} - -// NewClient creates a client for the service defined in IDL. -func NewClient(destService string, opts ...client.Option) (Client, error) { - var options []client.Option - options = append(options, client.WithDestService(destService)) - - options = append(options, opts...) - - kc, err := client.NewClient(serviceInfo(), options...) - if err != nil { - return nil, err - } - return &kEvalOpenAPIServiceClient{ - kClient: newServiceClient(kc), - }, nil -} - -// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. -func MustNewClient(destService string, opts ...client.Option) Client { - kc, err := NewClient(destService, opts...) - if err != nil { - panic(err) - } - return kc -} - -type kEvalOpenAPIServiceClient struct { - *kClient -} - -func (p *kEvalOpenAPIServiceClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.ReportEvalTargetInvokeResult_(ctx, req) -} diff --git a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/evalopenapiservice.go b/backend/kitex_gen/coze/loop/apis/evalopenapiservice/evalopenapiservice.go deleted file mode 100644 index 253a8b5fc..000000000 --- a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/evalopenapiservice.go +++ /dev/null @@ -1,96 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalopenapiservice - -import ( - "context" - "errors" - client "github.com/cloudwego/kitex/client" - kitex "github.com/cloudwego/kitex/pkg/serviceinfo" - apis "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/apis" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -var errInvalidMessageType = errors.New("invalid message type for service method handler") - -var serviceMethods = map[string]kitex.MethodInfo{ - "ReportEvalTargetInvokeResult": kitex.NewMethodInfo( - reportEvalTargetInvokeResult_Handler, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), -} - -var ( - evalOpenAPIServiceServiceInfo = NewServiceInfo() -) - -// for server -func serviceInfo() *kitex.ServiceInfo { - return evalOpenAPIServiceServiceInfo -} - -// NewServiceInfo creates a new ServiceInfo -func NewServiceInfo() *kitex.ServiceInfo { - return newServiceInfo() -} - -func newServiceInfo() *kitex.ServiceInfo { - serviceName := "EvalOpenAPIService" - handlerType := (*apis.EvalOpenAPIService)(nil) - extra := map[string]interface{}{ - "PackageName": "apis", - } - svcInfo := &kitex.ServiceInfo{ - ServiceName: serviceName, - HandlerType: handlerType, - Methods: serviceMethods, - PayloadCodec: kitex.Thrift, - KiteXGenVersion: "v0.13.1", - Extra: extra, - } - return svcInfo -} - -func reportEvalTargetInvokeResult_Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) - realResult := result.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) - success, err := handler.(openapi.EvaluationOpenAPIService).ReportEvalTargetInvokeResult_(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() -} - -type kClient struct { - c client.Client - sc client.Streaming -} - -func newServiceClient(c client.Client) *kClient { - return &kClient{ - c: c, - sc: c.(client.Streaming), - } -} - -func (p *kClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - var _args openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs - _args.Req = req - var _result openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult - if err = p.c.Call(ctx, "ReportEvalTargetInvokeResult", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} diff --git a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/server.go b/backend/kitex_gen/coze/loop/apis/evalopenapiservice/server.go deleted file mode 100644 index ca3c51150..000000000 --- a/backend/kitex_gen/coze/loop/apis/evalopenapiservice/server.go +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. -package evalopenapiservice - -import ( - server "github.com/cloudwego/kitex/server" - apis "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/apis" -) - -// NewServer creates a server.Server with the given handler and options. -func NewServer(handler apis.EvalOpenAPIService, opts ...server.Option) server.Server { - var options []server.Option - - options = append(options, opts...) - options = append(options, server.WithCompatibleMiddlewareForUnary()) - - svr := server.NewServer(options...) - if err := svr.RegisterService(serviceInfo(), handler); err != nil { - panic(err) - } - return svr -} - -func RegisterService(svr server.Server, handler apis.EvalOpenAPIService, opts ...server.RegisterOption) error { - return svr.RegisterService(serviceInfo(), handler, opts...) -} diff --git a/backend/kitex_gen/coze/loop/apis/evaltargetservice/client.go b/backend/kitex_gen/coze/loop/apis/evaltargetservice/client.go index fa938c7d5..c96d8aa0d 100644 --- a/backend/kitex_gen/coze/loop/apis/evaltargetservice/client.go +++ b/backend/kitex_gen/coze/loop/apis/evaltargetservice/client.go @@ -18,13 +18,9 @@ type Client interface { ListSourceEvalTargets(ctx context.Context, request *eval_target.ListSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetsResponse, err error) ListSourceEvalTargetVersions(ctx context.Context, request *eval_target.ListSourceEvalTargetVersionsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetVersionsResponse, err error) BatchGetSourceEvalTargets(ctx context.Context, request *eval_target.BatchGetSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetSourceEvalTargetsResponse, err error) - SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) - AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) BatchGetEvalTargetRecords(ctx context.Context, request *eval_target.BatchGetEvalTargetRecordsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetEvalTargetRecordsResponse, err error) - DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) - AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) } @@ -92,21 +88,11 @@ func (p *kEvalTargetServiceClient) BatchGetSourceEvalTargets(ctx context.Context return p.kClient.BatchGetSourceEvalTargets(ctx, request) } -func (p *kEvalTargetServiceClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchCustomEvalTarget(ctx, req) -} - func (p *kEvalTargetServiceClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ExecuteEvalTarget(ctx, request) } -func (p *kEvalTargetServiceClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncExecuteEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetEvalTargetRecord(ctx, request) @@ -117,16 +103,6 @@ func (p *kEvalTargetServiceClient) BatchGetEvalTargetRecords(ctx context.Context return p.kClient.BatchGetEvalTargetRecords(ctx, request) } -func (p *kEvalTargetServiceClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.DebugEvalTarget(ctx, request) -} - -func (p *kEvalTargetServiceClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncDebugEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.MockEvalTargetOutput(ctx, request) diff --git a/backend/kitex_gen/coze/loop/apis/evaltargetservice/evaltargetservice.go b/backend/kitex_gen/coze/loop/apis/evaltargetservice/evaltargetservice.go index d936d73df..fea799d5b 100644 --- a/backend/kitex_gen/coze/loop/apis/evaltargetservice/evaltargetservice.go +++ b/backend/kitex_gen/coze/loop/apis/evaltargetservice/evaltargetservice.go @@ -63,13 +63,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchCustomEvalTarget": kitex.NewMethodInfo( - searchCustomEvalTargetHandler, - newEvalTargetServiceSearchCustomEvalTargetArgs, - newEvalTargetServiceSearchCustomEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ExecuteEvalTarget": kitex.NewMethodInfo( executeEvalTargetHandler, newEvalTargetServiceExecuteEvalTargetArgs, @@ -77,13 +70,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "AsyncExecuteEvalTarget": kitex.NewMethodInfo( - asyncExecuteEvalTargetHandler, - newEvalTargetServiceAsyncExecuteEvalTargetArgs, - newEvalTargetServiceAsyncExecuteEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "GetEvalTargetRecord": kitex.NewMethodInfo( getEvalTargetRecordHandler, newEvalTargetServiceGetEvalTargetRecordArgs, @@ -98,20 +84,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "DebugEvalTarget": kitex.NewMethodInfo( - debugEvalTargetHandler, - newEvalTargetServiceDebugEvalTargetArgs, - newEvalTargetServiceDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "AsyncDebugEvalTarget": kitex.NewMethodInfo( - asyncDebugEvalTargetHandler, - newEvalTargetServiceAsyncDebugEvalTargetArgs, - newEvalTargetServiceAsyncDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "MockEvalTargetOutput": kitex.NewMethodInfo( mockEvalTargetOutputHandler, newEvalTargetServiceMockEvalTargetOutputArgs, @@ -285,25 +257,6 @@ func newEvalTargetServiceBatchGetSourceEvalTargetsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetSourceEvalTargetsResult() } -func searchCustomEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceSearchCustomEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceSearchCustomEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).SearchCustomEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceSearchCustomEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetArgs() -} - -func newEvalTargetServiceSearchCustomEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetResult() -} - func executeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceExecuteEvalTargetArgs) realResult := result.(*eval_target.EvalTargetServiceExecuteEvalTargetResult) @@ -323,25 +276,6 @@ func newEvalTargetServiceExecuteEvalTargetResult() interface{} { return eval_target.NewEvalTargetServiceExecuteEvalTargetResult() } -func asyncExecuteEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncExecuteEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncExecuteEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetArgs() -} - -func newEvalTargetServiceAsyncExecuteEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetResult() -} - func getEvalTargetRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceGetEvalTargetRecordArgs) realResult := result.(*eval_target.EvalTargetServiceGetEvalTargetRecordResult) @@ -380,44 +314,6 @@ func newEvalTargetServiceBatchGetEvalTargetRecordsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetEvalTargetRecordsResult() } -func debugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).DebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetArgs() -} - -func newEvalTargetServiceDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetResult() -} - -func asyncDebugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncDebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetArgs() -} - -func newEvalTargetServiceAsyncDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetResult() -} - func mockEvalTargetOutputHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceMockEvalTargetOutputArgs) realResult := result.(*eval_target.EvalTargetServiceMockEvalTargetOutputResult) @@ -519,16 +415,6 @@ func (p *kClient) BatchGetSourceEvalTargets(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceSearchCustomEvalTargetArgs - _args.Req = req - var _result eval_target.EvalTargetServiceSearchCustomEvalTargetResult - if err = p.c.Call(ctx, "SearchCustomEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest) (r *eval_target.ExecuteEvalTargetResponse, err error) { var _args eval_target.EvalTargetServiceExecuteEvalTargetArgs _args.Request = request @@ -539,16 +425,6 @@ func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.Ex return _result.GetSuccess(), nil } -func (p *kClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult - if err = p.c.Call(ctx, "AsyncExecuteEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest) (r *eval_target.GetEvalTargetRecordResponse, err error) { var _args eval_target.EvalTargetServiceGetEvalTargetRecordArgs _args.Request = request @@ -569,26 +445,6 @@ func (p *kClient) BatchGetEvalTargetRecords(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest) (r *eval_target.DebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceDebugEvalTargetResult - if err = p.c.Call(ctx, "DebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncDebugEvalTargetResult - if err = p.c.Call(ctx, "AsyncDebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest) (r *eval_target.MockEvalTargetOutputResponse, err error) { var _args eval_target.EvalTargetServiceMockEvalTargetOutputArgs _args.Request = request diff --git a/backend/kitex_gen/coze/loop/apis/k-coze.loop.apis.go b/backend/kitex_gen/coze/loop/apis/k-coze.loop.apis.go index 7d4c4bc1f..9144d3e55 100644 --- a/backend/kitex_gen/coze/loop/apis/k-coze.loop.apis.go +++ b/backend/kitex_gen/coze/loop/apis/k-coze.loop.apis.go @@ -16,7 +16,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - openapi0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/auth" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/authn" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/file" @@ -25,13 +24,13 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/foundation/user" manage0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/llm/manage" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/llm/runtime" - openapi2 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/openapi" + openapi1 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/openapi" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/task" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/trace" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/debug" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/execute" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/manage" - openapi1 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/openapi" + openapi0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/prompt/openapi" ) var ( @@ -41,7 +40,6 @@ var ( _ = eval_target.KitexUnusedProtection _ = evaluator.KitexUnusedProtection _ = expt.KitexUnusedProtection - _ = openapi0.KitexUnusedProtection _ = auth.KitexUnusedProtection _ = authn.KitexUnusedProtection _ = file.KitexUnusedProtection @@ -50,13 +48,13 @@ var ( _ = user.KitexUnusedProtection _ = manage0.KitexUnusedProtection _ = runtime.KitexUnusedProtection - _ = openapi2.KitexUnusedProtection + _ = openapi1.KitexUnusedProtection _ = task.KitexUnusedProtection _ = trace.KitexUnusedProtection _ = debug.KitexUnusedProtection _ = execute.KitexUnusedProtection _ = manage.KitexUnusedProtection - _ = openapi1.KitexUnusedProtection + _ = openapi0.KitexUnusedProtection ) // unused protection diff --git a/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/client.go b/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/client.go index e1d170434..2952f3631 100644 --- a/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/client.go +++ b/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/client.go @@ -14,7 +14,6 @@ type Client interface { IngestTraces(ctx context.Context, req *openapi.IngestTracesRequest, callOptions ...callopt.Option) (r *openapi.IngestTracesResponse, err error) OtelIngestTraces(ctx context.Context, req *openapi.OtelIngestTracesRequest, callOptions ...callopt.Option) (r *openapi.OtelIngestTracesResponse, err error) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceOApiResponse, err error) - SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) ListTracesOApi(ctx context.Context, req *openapi.ListTracesOApiRequest, callOptions ...callopt.Option) (r *openapi.ListTracesOApiResponse, err error) CreateAnnotation(ctx context.Context, req *openapi.CreateAnnotationRequest, callOptions ...callopt.Option) (r *openapi.CreateAnnotationResponse, err error) @@ -65,11 +64,6 @@ func (p *kObservabilityOpenAPIServiceClient) SearchTraceOApi(ctx context.Context return p.kClient.SearchTraceOApi(ctx, req) } -func (p *kObservabilityOpenAPIServiceClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTreeOApi(ctx, req) -} - func (p *kObservabilityOpenAPIServiceClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ListSpansOApi(ctx, req) diff --git a/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/observabilityopenapiservice.go b/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/observabilityopenapiservice.go index 53774af40..9a1ce2e4d 100644 --- a/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/observabilityopenapiservice.go +++ b/backend/kitex_gen/coze/loop/apis/observabilityopenapiservice/observabilityopenapiservice.go @@ -35,13 +35,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTreeOApi": kitex.NewMethodInfo( - searchTraceTreeOApiHandler, - newOpenAPIServiceSearchTraceTreeOApiArgs, - newOpenAPIServiceSearchTraceTreeOApiResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ListSpansOApi": kitex.NewMethodInfo( listSpansOApiHandler, newOpenAPIServiceListSpansOApiArgs, @@ -160,25 +153,6 @@ func newOpenAPIServiceSearchTraceOApiResult() interface{} { return openapi.NewOpenAPIServiceSearchTraceOApiResult() } -func searchTraceTreeOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.OpenAPIServiceSearchTraceTreeOApiArgs) - realResult := result.(*openapi.OpenAPIServiceSearchTraceTreeOApiResult) - success, err := handler.(openapi.OpenAPIService).SearchTraceTreeOApi(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newOpenAPIServiceSearchTraceTreeOApiArgs() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiArgs() -} - -func newOpenAPIServiceSearchTraceTreeOApiResult() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiResult() -} - func listSpansOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*openapi.OpenAPIServiceListSpansOApiArgs) realResult := result.(*openapi.OpenAPIServiceListSpansOApiResult) @@ -297,16 +271,6 @@ func (p *kClient) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceO return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) (r *openapi.SearchTraceTreeOApiResponse, err error) { - var _args openapi.OpenAPIServiceSearchTraceTreeOApiArgs - _args.Req = req - var _result openapi.OpenAPIServiceSearchTraceTreeOApiResult - if err = p.c.Call(ctx, "SearchTraceTreeOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest) (r *openapi.ListSpansOApiResponse, err error) { var _args openapi.OpenAPIServiceListSpansOApiArgs _args.Req = req diff --git a/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/client.go b/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/client.go index 21403e1db..9079d147d 100644 --- a/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/client.go +++ b/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/client.go @@ -13,7 +13,6 @@ import ( type Client interface { ListSpans(ctx context.Context, req *trace.ListSpansRequest, callOptions ...callopt.Option) (r *trace.ListSpansResponse, err error) GetTrace(ctx context.Context, req *trace.GetTraceRequest, callOptions ...callopt.Option) (r *trace.GetTraceResponse, err error) - SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) IngestTracesInner(ctx context.Context, req *trace.IngestTracesRequest, callOptions ...callopt.Option) (r *trace.IngestTracesResponse, err error) GetTracesMetaInfo(ctx context.Context, req *trace.GetTracesMetaInfoRequest, callOptions ...callopt.Option) (r *trace.GetTracesMetaInfoResponse, err error) @@ -71,11 +70,6 @@ func (p *kObservabilityTraceServiceClient) GetTrace(ctx context.Context, req *tr return p.kClient.GetTrace(ctx, req) } -func (p *kObservabilityTraceServiceClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTree(ctx, req) -} - func (p *kObservabilityTraceServiceClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.BatchGetTracesAdvanceInfo(ctx, req) diff --git a/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/observabilitytraceservice.go b/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/observabilitytraceservice.go index 78ab55468..b2b236cd3 100644 --- a/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/observabilitytraceservice.go +++ b/backend/kitex_gen/coze/loop/apis/observabilitytraceservice/observabilitytraceservice.go @@ -28,13 +28,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTree": kitex.NewMethodInfo( - searchTraceTreeHandler, - newTraceServiceSearchTraceTreeArgs, - newTraceServiceSearchTraceTreeResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "BatchGetTracesAdvanceInfo": kitex.NewMethodInfo( batchGetTracesAdvanceInfoHandler, newTraceServiceBatchGetTracesAdvanceInfoArgs, @@ -218,25 +211,6 @@ func newTraceServiceGetTraceResult() interface{} { return trace.NewTraceServiceGetTraceResult() } -func searchTraceTreeHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*trace.TraceServiceSearchTraceTreeArgs) - realResult := result.(*trace.TraceServiceSearchTraceTreeResult) - success, err := handler.(trace.TraceService).SearchTraceTree(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newTraceServiceSearchTraceTreeArgs() interface{} { - return trace.NewTraceServiceSearchTraceTreeArgs() -} - -func newTraceServiceSearchTraceTreeResult() interface{} { - return trace.NewTraceServiceSearchTraceTreeResult() -} - func batchGetTracesAdvanceInfoHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*trace.TraceServiceBatchGetTracesAdvanceInfoArgs) realResult := result.(*trace.TraceServiceBatchGetTracesAdvanceInfoResult) @@ -573,16 +547,6 @@ func (p *kClient) GetTrace(ctx context.Context, req *trace.GetTraceRequest) (r * return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest) (r *trace.SearchTraceTreeResponse, err error) { - var _args trace.TraceServiceSearchTraceTreeArgs - _args.Req = req - var _result trace.TraceServiceSearchTraceTreeResult - if err = p.c.Call(ctx, "SearchTraceTree", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { var _args trace.TraceServiceBatchGetTracesAdvanceInfoArgs _args.Req = req diff --git a/backend/kitex_gen/coze/loop/evaluation/coze.loop.evaluation.go b/backend/kitex_gen/coze/loop/evaluation/coze.loop.evaluation.go index 7fb7dcda2..789421e84 100644 --- a/backend/kitex_gen/coze/loop/evaluation/coze.loop.evaluation.go +++ b/backend/kitex_gen/coze/loop/evaluation/coze.loop.evaluation.go @@ -8,8 +8,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" ) type EvaluationSetService interface { @@ -116,58 +114,6 @@ func NewEvalTargetServiceClient(c thrift.TClient) *EvalTargetServiceClient { } } -type EvalOpenAPIService interface { - openapi.EvaluationOpenAPIService -} - -type EvalOpenAPIServiceClient struct { - *openapi.EvaluationOpenAPIServiceClient -} - -func NewEvalOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi.NewEvaluationOpenAPIServiceClientFactory(t, f), - } -} - -func NewEvalOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi.NewEvaluationOpenAPIServiceClientProtocol(t, iprot, oprot), - } -} - -func NewEvalOpenAPIServiceClient(c thrift.TClient) *EvalOpenAPIServiceClient { - return &EvalOpenAPIServiceClient{ - EvaluationOpenAPIServiceClient: openapi.NewEvaluationOpenAPIServiceClient(c), - } -} - -type EvalSPIService interface { - spi.EvaluationSPIService -} - -type EvalSPIServiceClient struct { - *spi.EvaluationSPIServiceClient -} - -func NewEvalSPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvalSPIServiceClient { - return &EvalSPIServiceClient{ - EvaluationSPIServiceClient: spi.NewEvaluationSPIServiceClientFactory(t, f), - } -} - -func NewEvalSPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvalSPIServiceClient { - return &EvalSPIServiceClient{ - EvaluationSPIServiceClient: spi.NewEvaluationSPIServiceClientProtocol(t, iprot, oprot), - } -} - -func NewEvalSPIServiceClient(c thrift.TClient) *EvalSPIServiceClient { - return &EvalSPIServiceClient{ - EvaluationSPIServiceClient: spi.NewEvaluationSPIServiceClient(c), - } -} - type EvaluationSetServiceProcessor struct { *eval_set.EvaluationSetServiceProcessor } @@ -203,21 +149,3 @@ func NewEvalTargetServiceProcessor(handler EvalTargetService) *EvalTargetService self := &EvalTargetServiceProcessor{eval_target.NewEvalTargetServiceProcessor(handler)} return self } - -type EvalOpenAPIServiceProcessor struct { - *openapi.EvaluationOpenAPIServiceProcessor -} - -func NewEvalOpenAPIServiceProcessor(handler EvalOpenAPIService) *EvalOpenAPIServiceProcessor { - self := &EvalOpenAPIServiceProcessor{openapi.NewEvaluationOpenAPIServiceProcessor(handler)} - return self -} - -type EvalSPIServiceProcessor struct { - *spi.EvaluationSPIServiceProcessor -} - -func NewEvalSPIServiceProcessor(handler EvalSPIService) *EvalSPIServiceProcessor { - self := &EvalSPIServiceProcessor{spi.NewEvaluationSPIServiceProcessor(handler)} - return self -} diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target.go b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target.go index 3cd44c78f..e8f9ac560 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target.go @@ -11,26 +11,6 @@ import ( "strings" ) -const ( - RegionBOE = "boe" - - RegionCN = "cn" - - RegionI18N = "i18n" - - AccessProtocolRPC = "rpc" - - AccessProtocolRPCOld = "rpc_old" - - AccessProtocolFaasHTTP = "faas_http" - - AccessProtocolFaasHTTPOld = "faas_http_old" - - HTTPMethodGet = "get" - - HTTPMethodPost = "post" -) - type EvalTargetType int64 const ( @@ -43,8 +23,6 @@ const ( EvalTargetType_CozeWorkflow EvalTargetType = 4 // 火山智能体 EvalTargetType_VolcengineAgent EvalTargetType = 5 - // 自定义RPC服务 for内场 - EvalTargetType_CustomRPCServer EvalTargetType = 6 ) func (p EvalTargetType) String() string { @@ -59,8 +37,6 @@ func (p EvalTargetType) String() string { return "CozeWorkflow" case EvalTargetType_VolcengineAgent: return "VolcengineAgent" - case EvalTargetType_CustomRPCServer: - return "CustomRPCServer" } return "" } @@ -77,8 +53,6 @@ func EvalTargetTypeFromString(s string) (EvalTargetType, error) { return EvalTargetType_CozeWorkflow, nil case "VolcengineAgent": return EvalTargetType_VolcengineAgent, nil - case "CustomRPCServer": - return EvalTargetType_CustomRPCServer, nil } return EvalTargetType(0), fmt.Errorf("not a valid EvalTargetType string") } @@ -241,10 +215,9 @@ func (p *ModelPlatform) Value() (driver.Value, error) { type EvalTargetRunStatus int64 const ( - EvalTargetRunStatus_Unknown EvalTargetRunStatus = 0 - EvalTargetRunStatus_Success EvalTargetRunStatus = 1 - EvalTargetRunStatus_Fail EvalTargetRunStatus = 2 - EvalTargetRunStatus_AsyncInvoking EvalTargetRunStatus = 3 + EvalTargetRunStatus_Unknown EvalTargetRunStatus = 0 + EvalTargetRunStatus_Success EvalTargetRunStatus = 1 + EvalTargetRunStatus_Fail EvalTargetRunStatus = 2 ) func (p EvalTargetRunStatus) String() string { @@ -255,8 +228,6 @@ func (p EvalTargetRunStatus) String() string { return "Success" case EvalTargetRunStatus_Fail: return "Fail" - case EvalTargetRunStatus_AsyncInvoking: - return "AsyncInvoking" } return "" } @@ -269,8 +240,6 @@ func EvalTargetRunStatusFromString(s string) (EvalTargetRunStatus, error) { return EvalTargetRunStatus_Success, nil case "Fail": return EvalTargetRunStatus_Fail, nil - case "AsyncInvoking": - return EvalTargetRunStatus_AsyncInvoking, nil } return EvalTargetRunStatus(0), fmt.Errorf("not a valid EvalTargetRunStatus string") } @@ -290,12 +259,6 @@ func (p *EvalTargetRunStatus) Value() (driver.Value, error) { return int64(*p), nil } -type Region = string - -type AccessProtocol = string - -type HTTPMethod = string - type EvalTarget struct { // 基本信息 ID *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"id" form:"id" query:"id"` @@ -1424,8 +1387,6 @@ type EvalTargetContent struct { CozeWorkflow *CozeWorkflow `thrift:"coze_workflow,103,optional" frugal:"103,optional,CozeWorkflow" form:"coze_workflow" json:"coze_workflow,omitempty" query:"coze_workflow"` // EvalTargetType=5 时,传参此字段。 评测对象为 VolcengineAgent 时, 需要设置 VolcengineAgent 信息 VolcengineAgent *VolcengineAgent `thrift:"volcengine_agent,104,optional" frugal:"104,optional,VolcengineAgent" form:"volcengine_agent" json:"volcengine_agent,omitempty" query:"volcengine_agent"` - // EvalTargetType=6 时,传参此字段。 评测对象为 CustomRPCServer 时, 需要设置 CustomRPCServer 信息 - CustomRPCServer *CustomRPCServer `thrift:"custom_rpc_server,105,optional" frugal:"105,optional,CustomRPCServer" form:"custom_rpc_server" json:"custom_rpc_server,omitempty" query:"custom_rpc_server"` } func NewEvalTargetContent() *EvalTargetContent { @@ -1518,18 +1479,6 @@ func (p *EvalTargetContent) GetVolcengineAgent() (v *VolcengineAgent) { } return p.VolcengineAgent } - -var EvalTargetContent_CustomRPCServer_DEFAULT *CustomRPCServer - -func (p *EvalTargetContent) GetCustomRPCServer() (v *CustomRPCServer) { - if p == nil { - return - } - if !p.IsSetCustomRPCServer() { - return EvalTargetContent_CustomRPCServer_DEFAULT - } - return p.CustomRPCServer -} func (p *EvalTargetContent) SetInputSchemas(val []*common.ArgsSchema) { p.InputSchemas = val } @@ -1551,9 +1500,6 @@ func (p *EvalTargetContent) SetCozeWorkflow(val *CozeWorkflow) { func (p *EvalTargetContent) SetVolcengineAgent(val *VolcengineAgent) { p.VolcengineAgent = val } -func (p *EvalTargetContent) SetCustomRPCServer(val *CustomRPCServer) { - p.CustomRPCServer = val -} var fieldIDToName_EvalTargetContent = map[int16]string{ 1: "input_schemas", @@ -1563,7 +1509,6 @@ var fieldIDToName_EvalTargetContent = map[int16]string{ 102: "prompt", 103: "coze_workflow", 104: "volcengine_agent", - 105: "custom_rpc_server", } func (p *EvalTargetContent) IsSetInputSchemas() bool { @@ -1594,10 +1539,6 @@ func (p *EvalTargetContent) IsSetVolcengineAgent() bool { return p.VolcengineAgent != nil } -func (p *EvalTargetContent) IsSetCustomRPCServer() bool { - return p.CustomRPCServer != nil -} - func (p *EvalTargetContent) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -1672,14 +1613,6 @@ func (p *EvalTargetContent) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 105: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField105(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } default: if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError @@ -1798,14 +1731,6 @@ func (p *EvalTargetContent) ReadField104(iprot thrift.TProtocol) error { p.VolcengineAgent = _field return nil } -func (p *EvalTargetContent) ReadField105(iprot thrift.TProtocol) error { - _field := NewCustomRPCServer() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomRPCServer = _field - return nil -} func (p *EvalTargetContent) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 @@ -1841,10 +1766,6 @@ func (p *EvalTargetContent) Write(oprot thrift.TProtocol) (err error) { fieldId = 104 goto WriteFieldError } - if err = p.writeField105(oprot); err != nil { - fieldId = 105 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -2005,24 +1926,6 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 104 end error: ", p), err) } -func (p *EvalTargetContent) writeField105(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomRPCServer() { - if err = oprot.WriteFieldBegin("custom_rpc_server", thrift.STRUCT, 105); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomRPCServer.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 105 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 105 end error: ", p), err) -} func (p *EvalTargetContent) String() string { if p == nil { @@ -2059,9 +1962,6 @@ func (p *EvalTargetContent) DeepEqual(ano *EvalTargetContent) bool { if !p.Field104DeepEqual(ano.VolcengineAgent) { return false } - if !p.Field105DeepEqual(ano.CustomRPCServer) { - return false - } return true } @@ -2131,2241 +2031,6 @@ func (p *EvalTargetContent) Field104DeepEqual(src *VolcengineAgent) bool { } return true } -func (p *EvalTargetContent) Field105DeepEqual(src *CustomRPCServer) bool { - - if !p.CustomRPCServer.DeepEqual(src) { - return false - } - return true -} - -type CustomRPCServer struct { - // 应用ID - ID *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" form:"id" json:"id,omitempty" query:"id"` - // DTO使用,不存数据库 - Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty" query:"name"` - // DTO使用,不存数据库 - Description *string `thrift:"description,3,optional" frugal:"3,optional,string" form:"description" json:"description,omitempty" query:"description"` - // 注意以下信息会存储到DB,也就是说实验创建时以下内容就确定了,运行时直接从评测DB中获取,而不是实时从app模块拉 - ServerName *string `thrift:"server_name,10,optional" frugal:"10,optional,string" form:"server_name" json:"server_name,omitempty" query:"server_name"` - // 接入协议 - AccessProtocol *AccessProtocol `thrift:"access_protocol,11,optional" frugal:"11,optional,string" form:"access_protocol" json:"access_protocol,omitempty" query:"access_protocol"` - Regions []Region `thrift:"regions,12,optional" frugal:"12,optional,list" form:"regions" json:"regions,omitempty" query:"regions"` - Cluster *string `thrift:"cluster,13,optional" frugal:"13,optional,string" form:"cluster" json:"cluster,omitempty" query:"cluster"` - // 执行http信息 - InvokeHTTPInfo *HTTPInfo `thrift:"invoke_http_info,14,optional" frugal:"14,optional,HTTPInfo" form:"invoke_http_info" json:"invoke_http_info,omitempty" query:"invoke_http_info"` - // 异步执行http信息,如果用户选了异步就传入这个字段 - AsyncInvokeHTTPInfo *HTTPInfo `thrift:"async_invoke_http_info,15,optional" frugal:"15,optional,HTTPInfo" form:"async_invoke_http_info" json:"async_invoke_http_info,omitempty" query:"async_invoke_http_info"` - // 是否需要搜索对象 - NeedSearchTarget *bool `thrift:"need_search_target,16,optional" frugal:"16,optional,bool" form:"need_search_target" json:"need_search_target,omitempty" query:"need_search_target"` - // 搜索对象http信息 - SearchHTTPInfo *HTTPInfo `thrift:"search_http_info,17,optional" frugal:"17,optional,HTTPInfo" form:"search_http_info" json:"search_http_info,omitempty" query:"search_http_info"` - // 搜索对象返回的信息 - CustomEvalTarget *CustomEvalTarget `thrift:"custom_eval_target,18,optional" frugal:"18,optional,CustomEvalTarget" form:"custom_eval_target" json:"custom_eval_target,omitempty" query:"custom_eval_target"` - // 是否异步 - IsAsync *bool `thrift:"is_async,19,optional" frugal:"19,optional,bool" form:"is_async" json:"is_async,omitempty" query:"is_async"` - // 执行区域 - ExecRegion *Region `thrift:"exec_region,20,optional" frugal:"20,optional,string" form:"exec_region" json:"exec_region,omitempty" query:"exec_region"` - // 执行环境 - ExecEnv *string `thrift:"exec_env,21,optional" frugal:"21,optional,string" form:"exec_env" json:"exec_env,omitempty" query:"exec_env"` - // 执行超时时间,单位ms - Timeout *int64 `thrift:"timeout,22,optional" frugal:"22,optional,i64" form:"timeout" json:"timeout,omitempty" query:"timeout"` - // 异步执行超时时间,单位ms - AsyncTimeout *int64 `thrift:"async_timeout,23,optional" frugal:"23,optional,i64" form:"async_timeout" json:"async_timeout,omitempty" query:"async_timeout"` - Ext map[string]string `thrift:"ext,50,optional" frugal:"50,optional,map" form:"ext" json:"ext,omitempty" query:"ext"` -} - -func NewCustomRPCServer() *CustomRPCServer { - return &CustomRPCServer{} -} - -func (p *CustomRPCServer) InitDefault() { -} - -var CustomRPCServer_ID_DEFAULT int64 - -func (p *CustomRPCServer) GetID() (v int64) { - if p == nil { - return - } - if !p.IsSetID() { - return CustomRPCServer_ID_DEFAULT - } - return *p.ID -} - -var CustomRPCServer_Name_DEFAULT string - -func (p *CustomRPCServer) GetName() (v string) { - if p == nil { - return - } - if !p.IsSetName() { - return CustomRPCServer_Name_DEFAULT - } - return *p.Name -} - -var CustomRPCServer_Description_DEFAULT string - -func (p *CustomRPCServer) GetDescription() (v string) { - if p == nil { - return - } - if !p.IsSetDescription() { - return CustomRPCServer_Description_DEFAULT - } - return *p.Description -} - -var CustomRPCServer_ServerName_DEFAULT string - -func (p *CustomRPCServer) GetServerName() (v string) { - if p == nil { - return - } - if !p.IsSetServerName() { - return CustomRPCServer_ServerName_DEFAULT - } - return *p.ServerName -} - -var CustomRPCServer_AccessProtocol_DEFAULT AccessProtocol - -func (p *CustomRPCServer) GetAccessProtocol() (v AccessProtocol) { - if p == nil { - return - } - if !p.IsSetAccessProtocol() { - return CustomRPCServer_AccessProtocol_DEFAULT - } - return *p.AccessProtocol -} - -var CustomRPCServer_Regions_DEFAULT []Region - -func (p *CustomRPCServer) GetRegions() (v []Region) { - if p == nil { - return - } - if !p.IsSetRegions() { - return CustomRPCServer_Regions_DEFAULT - } - return p.Regions -} - -var CustomRPCServer_Cluster_DEFAULT string - -func (p *CustomRPCServer) GetCluster() (v string) { - if p == nil { - return - } - if !p.IsSetCluster() { - return CustomRPCServer_Cluster_DEFAULT - } - return *p.Cluster -} - -var CustomRPCServer_InvokeHTTPInfo_DEFAULT *HTTPInfo - -func (p *CustomRPCServer) GetInvokeHTTPInfo() (v *HTTPInfo) { - if p == nil { - return - } - if !p.IsSetInvokeHTTPInfo() { - return CustomRPCServer_InvokeHTTPInfo_DEFAULT - } - return p.InvokeHTTPInfo -} - -var CustomRPCServer_AsyncInvokeHTTPInfo_DEFAULT *HTTPInfo - -func (p *CustomRPCServer) GetAsyncInvokeHTTPInfo() (v *HTTPInfo) { - if p == nil { - return - } - if !p.IsSetAsyncInvokeHTTPInfo() { - return CustomRPCServer_AsyncInvokeHTTPInfo_DEFAULT - } - return p.AsyncInvokeHTTPInfo -} - -var CustomRPCServer_NeedSearchTarget_DEFAULT bool - -func (p *CustomRPCServer) GetNeedSearchTarget() (v bool) { - if p == nil { - return - } - if !p.IsSetNeedSearchTarget() { - return CustomRPCServer_NeedSearchTarget_DEFAULT - } - return *p.NeedSearchTarget -} - -var CustomRPCServer_SearchHTTPInfo_DEFAULT *HTTPInfo - -func (p *CustomRPCServer) GetSearchHTTPInfo() (v *HTTPInfo) { - if p == nil { - return - } - if !p.IsSetSearchHTTPInfo() { - return CustomRPCServer_SearchHTTPInfo_DEFAULT - } - return p.SearchHTTPInfo -} - -var CustomRPCServer_CustomEvalTarget_DEFAULT *CustomEvalTarget - -func (p *CustomRPCServer) GetCustomEvalTarget() (v *CustomEvalTarget) { - if p == nil { - return - } - if !p.IsSetCustomEvalTarget() { - return CustomRPCServer_CustomEvalTarget_DEFAULT - } - return p.CustomEvalTarget -} - -var CustomRPCServer_IsAsync_DEFAULT bool - -func (p *CustomRPCServer) GetIsAsync() (v bool) { - if p == nil { - return - } - if !p.IsSetIsAsync() { - return CustomRPCServer_IsAsync_DEFAULT - } - return *p.IsAsync -} - -var CustomRPCServer_ExecRegion_DEFAULT Region - -func (p *CustomRPCServer) GetExecRegion() (v Region) { - if p == nil { - return - } - if !p.IsSetExecRegion() { - return CustomRPCServer_ExecRegion_DEFAULT - } - return *p.ExecRegion -} - -var CustomRPCServer_ExecEnv_DEFAULT string - -func (p *CustomRPCServer) GetExecEnv() (v string) { - if p == nil { - return - } - if !p.IsSetExecEnv() { - return CustomRPCServer_ExecEnv_DEFAULT - } - return *p.ExecEnv -} - -var CustomRPCServer_Timeout_DEFAULT int64 - -func (p *CustomRPCServer) GetTimeout() (v int64) { - if p == nil { - return - } - if !p.IsSetTimeout() { - return CustomRPCServer_Timeout_DEFAULT - } - return *p.Timeout -} - -var CustomRPCServer_AsyncTimeout_DEFAULT int64 - -func (p *CustomRPCServer) GetAsyncTimeout() (v int64) { - if p == nil { - return - } - if !p.IsSetAsyncTimeout() { - return CustomRPCServer_AsyncTimeout_DEFAULT - } - return *p.AsyncTimeout -} - -var CustomRPCServer_Ext_DEFAULT map[string]string - -func (p *CustomRPCServer) GetExt() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetExt() { - return CustomRPCServer_Ext_DEFAULT - } - return p.Ext -} -func (p *CustomRPCServer) SetID(val *int64) { - p.ID = val -} -func (p *CustomRPCServer) SetName(val *string) { - p.Name = val -} -func (p *CustomRPCServer) SetDescription(val *string) { - p.Description = val -} -func (p *CustomRPCServer) SetServerName(val *string) { - p.ServerName = val -} -func (p *CustomRPCServer) SetAccessProtocol(val *AccessProtocol) { - p.AccessProtocol = val -} -func (p *CustomRPCServer) SetRegions(val []Region) { - p.Regions = val -} -func (p *CustomRPCServer) SetCluster(val *string) { - p.Cluster = val -} -func (p *CustomRPCServer) SetInvokeHTTPInfo(val *HTTPInfo) { - p.InvokeHTTPInfo = val -} -func (p *CustomRPCServer) SetAsyncInvokeHTTPInfo(val *HTTPInfo) { - p.AsyncInvokeHTTPInfo = val -} -func (p *CustomRPCServer) SetNeedSearchTarget(val *bool) { - p.NeedSearchTarget = val -} -func (p *CustomRPCServer) SetSearchHTTPInfo(val *HTTPInfo) { - p.SearchHTTPInfo = val -} -func (p *CustomRPCServer) SetCustomEvalTarget(val *CustomEvalTarget) { - p.CustomEvalTarget = val -} -func (p *CustomRPCServer) SetIsAsync(val *bool) { - p.IsAsync = val -} -func (p *CustomRPCServer) SetExecRegion(val *Region) { - p.ExecRegion = val -} -func (p *CustomRPCServer) SetExecEnv(val *string) { - p.ExecEnv = val -} -func (p *CustomRPCServer) SetTimeout(val *int64) { - p.Timeout = val -} -func (p *CustomRPCServer) SetAsyncTimeout(val *int64) { - p.AsyncTimeout = val -} -func (p *CustomRPCServer) SetExt(val map[string]string) { - p.Ext = val -} - -var fieldIDToName_CustomRPCServer = map[int16]string{ - 1: "id", - 2: "name", - 3: "description", - 10: "server_name", - 11: "access_protocol", - 12: "regions", - 13: "cluster", - 14: "invoke_http_info", - 15: "async_invoke_http_info", - 16: "need_search_target", - 17: "search_http_info", - 18: "custom_eval_target", - 19: "is_async", - 20: "exec_region", - 21: "exec_env", - 22: "timeout", - 23: "async_timeout", - 50: "ext", -} - -func (p *CustomRPCServer) IsSetID() bool { - return p.ID != nil -} - -func (p *CustomRPCServer) IsSetName() bool { - return p.Name != nil -} - -func (p *CustomRPCServer) IsSetDescription() bool { - return p.Description != nil -} - -func (p *CustomRPCServer) IsSetServerName() bool { - return p.ServerName != nil -} - -func (p *CustomRPCServer) IsSetAccessProtocol() bool { - return p.AccessProtocol != nil -} - -func (p *CustomRPCServer) IsSetRegions() bool { - return p.Regions != nil -} - -func (p *CustomRPCServer) IsSetCluster() bool { - return p.Cluster != nil -} - -func (p *CustomRPCServer) IsSetInvokeHTTPInfo() bool { - return p.InvokeHTTPInfo != nil -} - -func (p *CustomRPCServer) IsSetAsyncInvokeHTTPInfo() bool { - return p.AsyncInvokeHTTPInfo != nil -} - -func (p *CustomRPCServer) IsSetNeedSearchTarget() bool { - return p.NeedSearchTarget != nil -} - -func (p *CustomRPCServer) IsSetSearchHTTPInfo() bool { - return p.SearchHTTPInfo != nil -} - -func (p *CustomRPCServer) IsSetCustomEvalTarget() bool { - return p.CustomEvalTarget != nil -} - -func (p *CustomRPCServer) IsSetIsAsync() bool { - return p.IsAsync != nil -} - -func (p *CustomRPCServer) IsSetExecRegion() bool { - return p.ExecRegion != nil -} - -func (p *CustomRPCServer) IsSetExecEnv() bool { - return p.ExecEnv != nil -} - -func (p *CustomRPCServer) IsSetTimeout() bool { - return p.Timeout != nil -} - -func (p *CustomRPCServer) IsSetAsyncTimeout() bool { - return p.AsyncTimeout != nil -} - -func (p *CustomRPCServer) IsSetExt() bool { - return p.Ext != nil -} - -func (p *CustomRPCServer) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRING { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 11: - if fieldTypeId == thrift.STRING { - if err = p.ReadField11(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 12: - if fieldTypeId == thrift.LIST { - if err = p.ReadField12(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 13: - if fieldTypeId == thrift.STRING { - if err = p.ReadField13(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 14: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField14(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 15: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField15(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 16: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField16(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 17: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField17(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 18: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField18(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 19: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField19(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 20: - if fieldTypeId == thrift.STRING { - if err = p.ReadField20(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 21: - if fieldTypeId == thrift.STRING { - if err = p.ReadField21(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 22: - if fieldTypeId == thrift.I64 { - if err = p.ReadField22(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 23: - if fieldTypeId == thrift.I64 { - if err = p.ReadField23(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 50: - if fieldTypeId == thrift.MAP { - if err = p.ReadField50(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomRPCServer[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *CustomRPCServer) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.ID = _field - return nil -} -func (p *CustomRPCServer) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Name = _field - return nil -} -func (p *CustomRPCServer) ReadField3(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Description = _field - return nil -} -func (p *CustomRPCServer) ReadField10(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ServerName = _field - return nil -} -func (p *CustomRPCServer) ReadField11(iprot thrift.TProtocol) error { - - var _field *AccessProtocol - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.AccessProtocol = _field - return nil -} -func (p *CustomRPCServer) ReadField12(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]Region, 0, size) - for i := 0; i < size; i++ { - - var _elem Region - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _elem = v - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.Regions = _field - return nil -} -func (p *CustomRPCServer) ReadField13(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Cluster = _field - return nil -} -func (p *CustomRPCServer) ReadField14(iprot thrift.TProtocol) error { - _field := NewHTTPInfo() - if err := _field.Read(iprot); err != nil { - return err - } - p.InvokeHTTPInfo = _field - return nil -} -func (p *CustomRPCServer) ReadField15(iprot thrift.TProtocol) error { - _field := NewHTTPInfo() - if err := _field.Read(iprot); err != nil { - return err - } - p.AsyncInvokeHTTPInfo = _field - return nil -} -func (p *CustomRPCServer) ReadField16(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.NeedSearchTarget = _field - return nil -} -func (p *CustomRPCServer) ReadField17(iprot thrift.TProtocol) error { - _field := NewHTTPInfo() - if err := _field.Read(iprot); err != nil { - return err - } - p.SearchHTTPInfo = _field - return nil -} -func (p *CustomRPCServer) ReadField18(iprot thrift.TProtocol) error { - _field := NewCustomEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomEvalTarget = _field - return nil -} -func (p *CustomRPCServer) ReadField19(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.IsAsync = _field - return nil -} -func (p *CustomRPCServer) ReadField20(iprot thrift.TProtocol) error { - - var _field *Region - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ExecRegion = _field - return nil -} -func (p *CustomRPCServer) ReadField21(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ExecEnv = _field - return nil -} -func (p *CustomRPCServer) ReadField22(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.Timeout = _field - return nil -} -func (p *CustomRPCServer) ReadField23(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.AsyncTimeout = _field - return nil -} -func (p *CustomRPCServer) ReadField50(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.Ext = _field - return nil -} - -func (p *CustomRPCServer) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("CustomRPCServer"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField11(oprot); err != nil { - fieldId = 11 - goto WriteFieldError - } - if err = p.writeField12(oprot); err != nil { - fieldId = 12 - goto WriteFieldError - } - if err = p.writeField13(oprot); err != nil { - fieldId = 13 - goto WriteFieldError - } - if err = p.writeField14(oprot); err != nil { - fieldId = 14 - goto WriteFieldError - } - if err = p.writeField15(oprot); err != nil { - fieldId = 15 - goto WriteFieldError - } - if err = p.writeField16(oprot); err != nil { - fieldId = 16 - goto WriteFieldError - } - if err = p.writeField17(oprot); err != nil { - fieldId = 17 - goto WriteFieldError - } - if err = p.writeField18(oprot); err != nil { - fieldId = 18 - goto WriteFieldError - } - if err = p.writeField19(oprot); err != nil { - fieldId = 19 - goto WriteFieldError - } - if err = p.writeField20(oprot); err != nil { - fieldId = 20 - goto WriteFieldError - } - if err = p.writeField21(oprot); err != nil { - fieldId = 21 - goto WriteFieldError - } - if err = p.writeField22(oprot); err != nil { - fieldId = 22 - goto WriteFieldError - } - if err = p.writeField23(oprot); err != nil { - fieldId = 23 - goto WriteFieldError - } - if err = p.writeField50(oprot); err != nil { - fieldId = 50 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *CustomRPCServer) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetID() { - if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.ID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *CustomRPCServer) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetName() { - if err = oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Name); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *CustomRPCServer) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetDescription() { - if err = oprot.WriteFieldBegin("description", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Description); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *CustomRPCServer) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetServerName() { - if err = oprot.WriteFieldBegin("server_name", thrift.STRING, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ServerName); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *CustomRPCServer) writeField11(oprot thrift.TProtocol) (err error) { - if p.IsSetAccessProtocol() { - if err = oprot.WriteFieldBegin("access_protocol", thrift.STRING, 11); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.AccessProtocol); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) -} -func (p *CustomRPCServer) writeField12(oprot thrift.TProtocol) (err error) { - if p.IsSetRegions() { - if err = oprot.WriteFieldBegin("regions", thrift.LIST, 12); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRING, len(p.Regions)); err != nil { - return err - } - for _, v := range p.Regions { - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 end error: ", p), err) -} -func (p *CustomRPCServer) writeField13(oprot thrift.TProtocol) (err error) { - if p.IsSetCluster() { - if err = oprot.WriteFieldBegin("cluster", thrift.STRING, 13); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Cluster); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 13 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 13 end error: ", p), err) -} -func (p *CustomRPCServer) writeField14(oprot thrift.TProtocol) (err error) { - if p.IsSetInvokeHTTPInfo() { - if err = oprot.WriteFieldBegin("invoke_http_info", thrift.STRUCT, 14); err != nil { - goto WriteFieldBeginError - } - if err := p.InvokeHTTPInfo.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 14 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 14 end error: ", p), err) -} -func (p *CustomRPCServer) writeField15(oprot thrift.TProtocol) (err error) { - if p.IsSetAsyncInvokeHTTPInfo() { - if err = oprot.WriteFieldBegin("async_invoke_http_info", thrift.STRUCT, 15); err != nil { - goto WriteFieldBeginError - } - if err := p.AsyncInvokeHTTPInfo.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 15 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 15 end error: ", p), err) -} -func (p *CustomRPCServer) writeField16(oprot thrift.TProtocol) (err error) { - if p.IsSetNeedSearchTarget() { - if err = oprot.WriteFieldBegin("need_search_target", thrift.BOOL, 16); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.NeedSearchTarget); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 16 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 16 end error: ", p), err) -} -func (p *CustomRPCServer) writeField17(oprot thrift.TProtocol) (err error) { - if p.IsSetSearchHTTPInfo() { - if err = oprot.WriteFieldBegin("search_http_info", thrift.STRUCT, 17); err != nil { - goto WriteFieldBeginError - } - if err := p.SearchHTTPInfo.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 17 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 17 end error: ", p), err) -} -func (p *CustomRPCServer) writeField18(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomEvalTarget() { - if err = oprot.WriteFieldBegin("custom_eval_target", thrift.STRUCT, 18); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomEvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 18 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 18 end error: ", p), err) -} -func (p *CustomRPCServer) writeField19(oprot thrift.TProtocol) (err error) { - if p.IsSetIsAsync() { - if err = oprot.WriteFieldBegin("is_async", thrift.BOOL, 19); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.IsAsync); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 19 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 19 end error: ", p), err) -} -func (p *CustomRPCServer) writeField20(oprot thrift.TProtocol) (err error) { - if p.IsSetExecRegion() { - if err = oprot.WriteFieldBegin("exec_region", thrift.STRING, 20); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ExecRegion); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) -} -func (p *CustomRPCServer) writeField21(oprot thrift.TProtocol) (err error) { - if p.IsSetExecEnv() { - if err = oprot.WriteFieldBegin("exec_env", thrift.STRING, 21); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ExecEnv); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 21 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 21 end error: ", p), err) -} -func (p *CustomRPCServer) writeField22(oprot thrift.TProtocol) (err error) { - if p.IsSetTimeout() { - if err = oprot.WriteFieldBegin("timeout", thrift.I64, 22); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.Timeout); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 22 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 22 end error: ", p), err) -} -func (p *CustomRPCServer) writeField23(oprot thrift.TProtocol) (err error) { - if p.IsSetAsyncTimeout() { - if err = oprot.WriteFieldBegin("async_timeout", thrift.I64, 23); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.AsyncTimeout); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 23 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 23 end error: ", p), err) -} -func (p *CustomRPCServer) writeField50(oprot thrift.TProtocol) (err error) { - if p.IsSetExt() { - if err = oprot.WriteFieldBegin("ext", thrift.MAP, 50); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Ext)); err != nil { - return err - } - for k, v := range p.Ext { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 end error: ", p), err) -} - -func (p *CustomRPCServer) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("CustomRPCServer(%+v)", *p) - -} - -func (p *CustomRPCServer) DeepEqual(ano *CustomRPCServer) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.ID) { - return false - } - if !p.Field2DeepEqual(ano.Name) { - return false - } - if !p.Field3DeepEqual(ano.Description) { - return false - } - if !p.Field10DeepEqual(ano.ServerName) { - return false - } - if !p.Field11DeepEqual(ano.AccessProtocol) { - return false - } - if !p.Field12DeepEqual(ano.Regions) { - return false - } - if !p.Field13DeepEqual(ano.Cluster) { - return false - } - if !p.Field14DeepEqual(ano.InvokeHTTPInfo) { - return false - } - if !p.Field15DeepEqual(ano.AsyncInvokeHTTPInfo) { - return false - } - if !p.Field16DeepEqual(ano.NeedSearchTarget) { - return false - } - if !p.Field17DeepEqual(ano.SearchHTTPInfo) { - return false - } - if !p.Field18DeepEqual(ano.CustomEvalTarget) { - return false - } - if !p.Field19DeepEqual(ano.IsAsync) { - return false - } - if !p.Field20DeepEqual(ano.ExecRegion) { - return false - } - if !p.Field21DeepEqual(ano.ExecEnv) { - return false - } - if !p.Field22DeepEqual(ano.Timeout) { - return false - } - if !p.Field23DeepEqual(ano.AsyncTimeout) { - return false - } - if !p.Field50DeepEqual(ano.Ext) { - return false - } - return true -} - -func (p *CustomRPCServer) Field1DeepEqual(src *int64) bool { - - if p.ID == src { - return true - } else if p.ID == nil || src == nil { - return false - } - if *p.ID != *src { - return false - } - return true -} -func (p *CustomRPCServer) Field2DeepEqual(src *string) bool { - - if p.Name == src { - return true - } else if p.Name == nil || src == nil { - return false - } - if strings.Compare(*p.Name, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field3DeepEqual(src *string) bool { - - if p.Description == src { - return true - } else if p.Description == nil || src == nil { - return false - } - if strings.Compare(*p.Description, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field10DeepEqual(src *string) bool { - - if p.ServerName == src { - return true - } else if p.ServerName == nil || src == nil { - return false - } - if strings.Compare(*p.ServerName, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field11DeepEqual(src *AccessProtocol) bool { - - if p.AccessProtocol == src { - return true - } else if p.AccessProtocol == nil || src == nil { - return false - } - if strings.Compare(*p.AccessProtocol, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field12DeepEqual(src []Region) bool { - - if len(p.Regions) != len(src) { - return false - } - for i, v := range p.Regions { - _src := src[i] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} -func (p *CustomRPCServer) Field13DeepEqual(src *string) bool { - - if p.Cluster == src { - return true - } else if p.Cluster == nil || src == nil { - return false - } - if strings.Compare(*p.Cluster, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field14DeepEqual(src *HTTPInfo) bool { - - if !p.InvokeHTTPInfo.DeepEqual(src) { - return false - } - return true -} -func (p *CustomRPCServer) Field15DeepEqual(src *HTTPInfo) bool { - - if !p.AsyncInvokeHTTPInfo.DeepEqual(src) { - return false - } - return true -} -func (p *CustomRPCServer) Field16DeepEqual(src *bool) bool { - - if p.NeedSearchTarget == src { - return true - } else if p.NeedSearchTarget == nil || src == nil { - return false - } - if *p.NeedSearchTarget != *src { - return false - } - return true -} -func (p *CustomRPCServer) Field17DeepEqual(src *HTTPInfo) bool { - - if !p.SearchHTTPInfo.DeepEqual(src) { - return false - } - return true -} -func (p *CustomRPCServer) Field18DeepEqual(src *CustomEvalTarget) bool { - - if !p.CustomEvalTarget.DeepEqual(src) { - return false - } - return true -} -func (p *CustomRPCServer) Field19DeepEqual(src *bool) bool { - - if p.IsAsync == src { - return true - } else if p.IsAsync == nil || src == nil { - return false - } - if *p.IsAsync != *src { - return false - } - return true -} -func (p *CustomRPCServer) Field20DeepEqual(src *Region) bool { - - if p.ExecRegion == src { - return true - } else if p.ExecRegion == nil || src == nil { - return false - } - if strings.Compare(*p.ExecRegion, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field21DeepEqual(src *string) bool { - - if p.ExecEnv == src { - return true - } else if p.ExecEnv == nil || src == nil { - return false - } - if strings.Compare(*p.ExecEnv, *src) != 0 { - return false - } - return true -} -func (p *CustomRPCServer) Field22DeepEqual(src *int64) bool { - - if p.Timeout == src { - return true - } else if p.Timeout == nil || src == nil { - return false - } - if *p.Timeout != *src { - return false - } - return true -} -func (p *CustomRPCServer) Field23DeepEqual(src *int64) bool { - - if p.AsyncTimeout == src { - return true - } else if p.AsyncTimeout == nil || src == nil { - return false - } - if *p.AsyncTimeout != *src { - return false - } - return true -} -func (p *CustomRPCServer) Field50DeepEqual(src map[string]string) bool { - - if len(p.Ext) != len(src) { - return false - } - for k, v := range p.Ext { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} - -type CustomEvalTarget struct { - // 唯一键,平台不消费,仅做透传 - ID *string `thrift:"id,1,optional" frugal:"1,optional,string" form:"id" json:"id,omitempty" query:"id"` - // 名称,平台用于展示在对象搜索下拉列表 - Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty" query:"name"` - // 头像url,平台用于展示在对象搜索下拉列表 - AvatarURL *string `thrift:"avatar_url,3,optional" frugal:"3,optional,string" form:"avatar_url" json:"avatar_url,omitempty" query:"avatar_url"` - // 扩展字段,目前主要存储旧版协议response中的额外字段:object_type(旧版ID)、object_meta、space_id - Ext map[string]string `thrift:"ext,10,optional" frugal:"10,optional,map" form:"ext" json:"ext,omitempty" query:"ext"` -} - -func NewCustomEvalTarget() *CustomEvalTarget { - return &CustomEvalTarget{} -} - -func (p *CustomEvalTarget) InitDefault() { -} - -var CustomEvalTarget_ID_DEFAULT string - -func (p *CustomEvalTarget) GetID() (v string) { - if p == nil { - return - } - if !p.IsSetID() { - return CustomEvalTarget_ID_DEFAULT - } - return *p.ID -} - -var CustomEvalTarget_Name_DEFAULT string - -func (p *CustomEvalTarget) GetName() (v string) { - if p == nil { - return - } - if !p.IsSetName() { - return CustomEvalTarget_Name_DEFAULT - } - return *p.Name -} - -var CustomEvalTarget_AvatarURL_DEFAULT string - -func (p *CustomEvalTarget) GetAvatarURL() (v string) { - if p == nil { - return - } - if !p.IsSetAvatarURL() { - return CustomEvalTarget_AvatarURL_DEFAULT - } - return *p.AvatarURL -} - -var CustomEvalTarget_Ext_DEFAULT map[string]string - -func (p *CustomEvalTarget) GetExt() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetExt() { - return CustomEvalTarget_Ext_DEFAULT - } - return p.Ext -} -func (p *CustomEvalTarget) SetID(val *string) { - p.ID = val -} -func (p *CustomEvalTarget) SetName(val *string) { - p.Name = val -} -func (p *CustomEvalTarget) SetAvatarURL(val *string) { - p.AvatarURL = val -} -func (p *CustomEvalTarget) SetExt(val map[string]string) { - p.Ext = val -} - -var fieldIDToName_CustomEvalTarget = map[int16]string{ - 1: "id", - 2: "name", - 3: "avatar_url", - 10: "ext", -} - -func (p *CustomEvalTarget) IsSetID() bool { - return p.ID != nil -} - -func (p *CustomEvalTarget) IsSetName() bool { - return p.Name != nil -} - -func (p *CustomEvalTarget) IsSetAvatarURL() bool { - return p.AvatarURL != nil -} - -func (p *CustomEvalTarget) IsSetExt() bool { - return p.Ext != nil -} - -func (p *CustomEvalTarget) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.MAP { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomEvalTarget[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *CustomEvalTarget) ReadField1(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ID = _field - return nil -} -func (p *CustomEvalTarget) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Name = _field - return nil -} -func (p *CustomEvalTarget) ReadField3(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.AvatarURL = _field - return nil -} -func (p *CustomEvalTarget) ReadField10(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.Ext = _field - return nil -} - -func (p *CustomEvalTarget) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("CustomEvalTarget"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *CustomEvalTarget) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetID() { - if err = oprot.WriteFieldBegin("id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *CustomEvalTarget) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetName() { - if err = oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Name); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *CustomEvalTarget) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetAvatarURL() { - if err = oprot.WriteFieldBegin("avatar_url", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.AvatarURL); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *CustomEvalTarget) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetExt() { - if err = oprot.WriteFieldBegin("ext", thrift.MAP, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Ext)); err != nil { - return err - } - for k, v := range p.Ext { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} - -func (p *CustomEvalTarget) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("CustomEvalTarget(%+v)", *p) - -} - -func (p *CustomEvalTarget) DeepEqual(ano *CustomEvalTarget) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.ID) { - return false - } - if !p.Field2DeepEqual(ano.Name) { - return false - } - if !p.Field3DeepEqual(ano.AvatarURL) { - return false - } - if !p.Field10DeepEqual(ano.Ext) { - return false - } - return true -} - -func (p *CustomEvalTarget) Field1DeepEqual(src *string) bool { - - if p.ID == src { - return true - } else if p.ID == nil || src == nil { - return false - } - if strings.Compare(*p.ID, *src) != 0 { - return false - } - return true -} -func (p *CustomEvalTarget) Field2DeepEqual(src *string) bool { - - if p.Name == src { - return true - } else if p.Name == nil || src == nil { - return false - } - if strings.Compare(*p.Name, *src) != 0 { - return false - } - return true -} -func (p *CustomEvalTarget) Field3DeepEqual(src *string) bool { - - if p.AvatarURL == src { - return true - } else if p.AvatarURL == nil || src == nil { - return false - } - if strings.Compare(*p.AvatarURL, *src) != 0 { - return false - } - return true -} -func (p *CustomEvalTarget) Field10DeepEqual(src map[string]string) bool { - - if len(p.Ext) != len(src) { - return false - } - for k, v := range p.Ext { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} - -type HTTPInfo struct { - Method *HTTPMethod `thrift:"method,1,optional" frugal:"1,optional,string" form:"method" json:"method,omitempty" query:"method"` - Path *string `thrift:"path,2,optional" frugal:"2,optional,string" form:"path" json:"path,omitempty" query:"path"` -} - -func NewHTTPInfo() *HTTPInfo { - return &HTTPInfo{} -} - -func (p *HTTPInfo) InitDefault() { -} - -var HTTPInfo_Method_DEFAULT HTTPMethod - -func (p *HTTPInfo) GetMethod() (v HTTPMethod) { - if p == nil { - return - } - if !p.IsSetMethod() { - return HTTPInfo_Method_DEFAULT - } - return *p.Method -} - -var HTTPInfo_Path_DEFAULT string - -func (p *HTTPInfo) GetPath() (v string) { - if p == nil { - return - } - if !p.IsSetPath() { - return HTTPInfo_Path_DEFAULT - } - return *p.Path -} -func (p *HTTPInfo) SetMethod(val *HTTPMethod) { - p.Method = val -} -func (p *HTTPInfo) SetPath(val *string) { - p.Path = val -} - -var fieldIDToName_HTTPInfo = map[int16]string{ - 1: "method", - 2: "path", -} - -func (p *HTTPInfo) IsSetMethod() bool { - return p.Method != nil -} - -func (p *HTTPInfo) IsSetPath() bool { - return p.Path != nil -} - -func (p *HTTPInfo) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_HTTPInfo[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *HTTPInfo) ReadField1(iprot thrift.TProtocol) error { - - var _field *HTTPMethod - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Method = _field - return nil -} -func (p *HTTPInfo) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Path = _field - return nil -} - -func (p *HTTPInfo) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("HTTPInfo"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *HTTPInfo) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetMethod() { - if err = oprot.WriteFieldBegin("method", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Method); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *HTTPInfo) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetPath() { - if err = oprot.WriteFieldBegin("path", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Path); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} - -func (p *HTTPInfo) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("HTTPInfo(%+v)", *p) - -} - -func (p *HTTPInfo) DeepEqual(ano *HTTPInfo) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Method) { - return false - } - if !p.Field2DeepEqual(ano.Path) { - return false - } - return true -} - -func (p *HTTPInfo) Field1DeepEqual(src *HTTPMethod) bool { - - if p.Method == src { - return true - } else if p.Method == nil || src == nil { - return false - } - if strings.Compare(*p.Method, *src) != 0 { - return false - } - return true -} -func (p *HTTPInfo) Field2DeepEqual(src *string) bool { - - if p.Path == src { - return true - } else if p.Path == nil || src == nil { - return false - } - if strings.Compare(*p.Path, *src) != 0 { - return false - } - return true -} type VolcengineAgent struct { // 罗盘应用ID diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target_validator.go b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target_validator.go index 3d993f85f..2ffb3cd7d 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target_validator.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/eval_target_validator.go @@ -68,40 +68,6 @@ func (p *EvalTargetContent) IsValid() error { return fmt.Errorf("field VolcengineAgent not valid, %w", err) } } - if p.CustomRPCServer != nil { - if err := p.CustomRPCServer.IsValid(); err != nil { - return fmt.Errorf("field CustomRPCServer not valid, %w", err) - } - } - return nil -} -func (p *CustomRPCServer) IsValid() error { - if p.InvokeHTTPInfo != nil { - if err := p.InvokeHTTPInfo.IsValid(); err != nil { - return fmt.Errorf("field InvokeHTTPInfo not valid, %w", err) - } - } - if p.AsyncInvokeHTTPInfo != nil { - if err := p.AsyncInvokeHTTPInfo.IsValid(); err != nil { - return fmt.Errorf("field AsyncInvokeHTTPInfo not valid, %w", err) - } - } - if p.SearchHTTPInfo != nil { - if err := p.SearchHTTPInfo.IsValid(); err != nil { - return fmt.Errorf("field SearchHTTPInfo not valid, %w", err) - } - } - if p.CustomEvalTarget != nil { - if err := p.CustomEvalTarget.IsValid(); err != nil { - return fmt.Errorf("field CustomEvalTarget not valid, %w", err) - } - } - return nil -} -func (p *CustomEvalTarget) IsValid() error { - return nil -} -func (p *HTTPInfo) IsValid() error { return nil } func (p *VolcengineAgent) IsValid() error { diff --git a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/k-eval_target.go b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/k-eval_target.go index fc92c906d..50ca9cc6c 100644 --- a/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/k-eval_target.go +++ b/backend/kitex_gen/coze/loop/evaluation/domain/eval_target/k-eval_target.go @@ -922,20 +922,6 @@ func (p *EvalTargetContent) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 105: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField105(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } default: l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -1066,18 +1052,6 @@ func (p *EvalTargetContent) FastReadField104(buf []byte) (int, error) { return offset, nil } -func (p *EvalTargetContent) FastReadField105(buf []byte) (int, error) { - offset := 0 - _field := NewCustomRPCServer() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomRPCServer = _field - return offset, nil -} - func (p *EvalTargetContent) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } @@ -1092,7 +1066,6 @@ func (p *EvalTargetContent) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) i offset += p.fastWriteField102(buf[offset:], w) offset += p.fastWriteField103(buf[offset:], w) offset += p.fastWriteField104(buf[offset:], w) - offset += p.fastWriteField105(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) return offset @@ -1108,7 +1081,6 @@ func (p *EvalTargetContent) BLength() int { l += p.field102Length() l += p.field103Length() l += p.field104Length() - l += p.field105Length() } l += thrift.Binary.FieldStopLength() return l @@ -1191,15 +1163,6 @@ func (p *EvalTargetContent) fastWriteField104(buf []byte, w thrift.NocopyWriter) return offset } -func (p *EvalTargetContent) fastWriteField105(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomRPCServer() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 105) - offset += p.CustomRPCServer.FastWriteNocopy(buf[offset:], w) - } - return offset -} - func (p *EvalTargetContent) field1Length() int { l := 0 if p.IsSetInputSchemas() { @@ -1271,15 +1234,6 @@ func (p *EvalTargetContent) field104Length() int { return l } -func (p *EvalTargetContent) field105Length() int { - l := 0 - if p.IsSetCustomRPCServer() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomRPCServer.BLength() - } - return l -} - func (p *EvalTargetContent) DeepCopy(s interface{}) error { src, ok := s.(*EvalTargetContent) if !ok { @@ -1360,1627 +1314,6 @@ func (p *EvalTargetContent) DeepCopy(s interface{}) error { } p.VolcengineAgent = _volcengineAgent - var _customRPCServer *CustomRPCServer - if src.CustomRPCServer != nil { - _customRPCServer = &CustomRPCServer{} - if err := _customRPCServer.DeepCopy(src.CustomRPCServer); err != nil { - return err - } - } - p.CustomRPCServer = _customRPCServer - - return nil -} - -func (p *CustomRPCServer) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 11: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField11(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 12: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField12(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 13: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField13(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 14: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField14(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 15: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField15(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 16: - if fieldTypeId == thrift.BOOL { - l, err = p.FastReadField16(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 17: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField17(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 18: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField18(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 19: - if fieldTypeId == thrift.BOOL { - l, err = p.FastReadField19(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 20: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField20(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 21: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField21(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 22: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField22(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 23: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField23(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 50: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField50(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomRPCServer[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *CustomRPCServer) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ID = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Name = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Description = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField10(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ServerName = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField11(buf []byte) (int, error) { - offset := 0 - - var _field *AccessProtocol - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.AccessProtocol = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField12(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]Region, 0, size) - for i := 0; i < size; i++ { - var _elem Region - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _elem = v - } - - _field = append(_field, _elem) - } - p.Regions = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField13(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Cluster = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField14(buf []byte) (int, error) { - offset := 0 - _field := NewHTTPInfo() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.InvokeHTTPInfo = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField15(buf []byte) (int, error) { - offset := 0 - _field := NewHTTPInfo() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.AsyncInvokeHTTPInfo = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField16(buf []byte) (int, error) { - offset := 0 - - var _field *bool - if v, l, err := thrift.Binary.ReadBool(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.NeedSearchTarget = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField17(buf []byte) (int, error) { - offset := 0 - _field := NewHTTPInfo() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.SearchHTTPInfo = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField18(buf []byte) (int, error) { - offset := 0 - _field := NewCustomEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomEvalTarget = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField19(buf []byte) (int, error) { - offset := 0 - - var _field *bool - if v, l, err := thrift.Binary.ReadBool(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.IsAsync = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField20(buf []byte) (int, error) { - offset := 0 - - var _field *Region - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ExecRegion = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField21(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ExecEnv = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField22(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Timeout = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField23(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.AsyncTimeout = _field - return offset, nil -} - -func (p *CustomRPCServer) FastReadField50(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.Ext = _field - return offset, nil -} - -func (p *CustomRPCServer) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *CustomRPCServer) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField16(buf[offset:], w) - offset += p.fastWriteField19(buf[offset:], w) - offset += p.fastWriteField22(buf[offset:], w) - offset += p.fastWriteField23(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField11(buf[offset:], w) - offset += p.fastWriteField12(buf[offset:], w) - offset += p.fastWriteField13(buf[offset:], w) - offset += p.fastWriteField14(buf[offset:], w) - offset += p.fastWriteField15(buf[offset:], w) - offset += p.fastWriteField17(buf[offset:], w) - offset += p.fastWriteField18(buf[offset:], w) - offset += p.fastWriteField20(buf[offset:], w) - offset += p.fastWriteField21(buf[offset:], w) - offset += p.fastWriteField50(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *CustomRPCServer) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field10Length() - l += p.field11Length() - l += p.field12Length() - l += p.field13Length() - l += p.field14Length() - l += p.field15Length() - l += p.field16Length() - l += p.field17Length() - l += p.field18Length() - l += p.field19Length() - l += p.field20Length() - l += p.field21Length() - l += p.field22Length() - l += p.field23Length() - l += p.field50Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *CustomRPCServer) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.ID) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetName() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Name) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetDescription() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Description) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetServerName() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 10) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ServerName) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField11(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetAccessProtocol() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 11) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.AccessProtocol) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField12(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetRegions() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 12) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.Regions { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField13(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCluster() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 13) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Cluster) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField14(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInvokeHTTPInfo() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 14) - offset += p.InvokeHTTPInfo.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField15(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetAsyncInvokeHTTPInfo() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 15) - offset += p.AsyncInvokeHTTPInfo.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField16(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetNeedSearchTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.BOOL, 16) - offset += thrift.Binary.WriteBool(buf[offset:], *p.NeedSearchTarget) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField17(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSearchHTTPInfo() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 17) - offset += p.SearchHTTPInfo.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField18(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 18) - offset += p.CustomEvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField19(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetIsAsync() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.BOOL, 19) - offset += thrift.Binary.WriteBool(buf[offset:], *p.IsAsync) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExecRegion() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 20) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ExecRegion) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField21(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExecEnv() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 21) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ExecEnv) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField22(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTimeout() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 22) - offset += thrift.Binary.WriteI64(buf[offset:], *p.Timeout) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField23(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetAsyncTimeout() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 23) - offset += thrift.Binary.WriteI64(buf[offset:], *p.AsyncTimeout) - } - return offset -} - -func (p *CustomRPCServer) fastWriteField50(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExt() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 50) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.Ext { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *CustomRPCServer) field1Length() int { - l := 0 - if p.IsSetID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *CustomRPCServer) field2Length() int { - l := 0 - if p.IsSetName() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Name) - } - return l -} - -func (p *CustomRPCServer) field3Length() int { - l := 0 - if p.IsSetDescription() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Description) - } - return l -} - -func (p *CustomRPCServer) field10Length() int { - l := 0 - if p.IsSetServerName() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ServerName) - } - return l -} - -func (p *CustomRPCServer) field11Length() int { - l := 0 - if p.IsSetAccessProtocol() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.AccessProtocol) - } - return l -} - -func (p *CustomRPCServer) field12Length() int { - l := 0 - if p.IsSetRegions() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.Regions { - _ = v - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *CustomRPCServer) field13Length() int { - l := 0 - if p.IsSetCluster() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Cluster) - } - return l -} - -func (p *CustomRPCServer) field14Length() int { - l := 0 - if p.IsSetInvokeHTTPInfo() { - l += thrift.Binary.FieldBeginLength() - l += p.InvokeHTTPInfo.BLength() - } - return l -} - -func (p *CustomRPCServer) field15Length() int { - l := 0 - if p.IsSetAsyncInvokeHTTPInfo() { - l += thrift.Binary.FieldBeginLength() - l += p.AsyncInvokeHTTPInfo.BLength() - } - return l -} - -func (p *CustomRPCServer) field16Length() int { - l := 0 - if p.IsSetNeedSearchTarget() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.BoolLength() - } - return l -} - -func (p *CustomRPCServer) field17Length() int { - l := 0 - if p.IsSetSearchHTTPInfo() { - l += thrift.Binary.FieldBeginLength() - l += p.SearchHTTPInfo.BLength() - } - return l -} - -func (p *CustomRPCServer) field18Length() int { - l := 0 - if p.IsSetCustomEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomEvalTarget.BLength() - } - return l -} - -func (p *CustomRPCServer) field19Length() int { - l := 0 - if p.IsSetIsAsync() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.BoolLength() - } - return l -} - -func (p *CustomRPCServer) field20Length() int { - l := 0 - if p.IsSetExecRegion() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ExecRegion) - } - return l -} - -func (p *CustomRPCServer) field21Length() int { - l := 0 - if p.IsSetExecEnv() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ExecEnv) - } - return l -} - -func (p *CustomRPCServer) field22Length() int { - l := 0 - if p.IsSetTimeout() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *CustomRPCServer) field23Length() int { - l := 0 - if p.IsSetAsyncTimeout() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *CustomRPCServer) field50Length() int { - l := 0 - if p.IsSetExt() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.Ext { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *CustomRPCServer) DeepCopy(s interface{}) error { - src, ok := s.(*CustomRPCServer) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.ID != nil { - tmp := *src.ID - p.ID = &tmp - } - - if src.Name != nil { - var tmp string - if *src.Name != "" { - tmp = kutils.StringDeepCopy(*src.Name) - } - p.Name = &tmp - } - - if src.Description != nil { - var tmp string - if *src.Description != "" { - tmp = kutils.StringDeepCopy(*src.Description) - } - p.Description = &tmp - } - - if src.ServerName != nil { - var tmp string - if *src.ServerName != "" { - tmp = kutils.StringDeepCopy(*src.ServerName) - } - p.ServerName = &tmp - } - - if src.AccessProtocol != nil { - tmp := *src.AccessProtocol - p.AccessProtocol = &tmp - } - - if src.Regions != nil { - p.Regions = make([]Region, 0, len(src.Regions)) - for _, elem := range src.Regions { - var _elem Region - _elem = elem - p.Regions = append(p.Regions, _elem) - } - } - - if src.Cluster != nil { - var tmp string - if *src.Cluster != "" { - tmp = kutils.StringDeepCopy(*src.Cluster) - } - p.Cluster = &tmp - } - - var _invokeHTTPInfo *HTTPInfo - if src.InvokeHTTPInfo != nil { - _invokeHTTPInfo = &HTTPInfo{} - if err := _invokeHTTPInfo.DeepCopy(src.InvokeHTTPInfo); err != nil { - return err - } - } - p.InvokeHTTPInfo = _invokeHTTPInfo - - var _asyncInvokeHTTPInfo *HTTPInfo - if src.AsyncInvokeHTTPInfo != nil { - _asyncInvokeHTTPInfo = &HTTPInfo{} - if err := _asyncInvokeHTTPInfo.DeepCopy(src.AsyncInvokeHTTPInfo); err != nil { - return err - } - } - p.AsyncInvokeHTTPInfo = _asyncInvokeHTTPInfo - - if src.NeedSearchTarget != nil { - tmp := *src.NeedSearchTarget - p.NeedSearchTarget = &tmp - } - - var _searchHTTPInfo *HTTPInfo - if src.SearchHTTPInfo != nil { - _searchHTTPInfo = &HTTPInfo{} - if err := _searchHTTPInfo.DeepCopy(src.SearchHTTPInfo); err != nil { - return err - } - } - p.SearchHTTPInfo = _searchHTTPInfo - - var _customEvalTarget *CustomEvalTarget - if src.CustomEvalTarget != nil { - _customEvalTarget = &CustomEvalTarget{} - if err := _customEvalTarget.DeepCopy(src.CustomEvalTarget); err != nil { - return err - } - } - p.CustomEvalTarget = _customEvalTarget - - if src.IsAsync != nil { - tmp := *src.IsAsync - p.IsAsync = &tmp - } - - if src.ExecRegion != nil { - tmp := *src.ExecRegion - p.ExecRegion = &tmp - } - - if src.ExecEnv != nil { - var tmp string - if *src.ExecEnv != "" { - tmp = kutils.StringDeepCopy(*src.ExecEnv) - } - p.ExecEnv = &tmp - } - - if src.Timeout != nil { - tmp := *src.Timeout - p.Timeout = &tmp - } - - if src.AsyncTimeout != nil { - tmp := *src.AsyncTimeout - p.AsyncTimeout = &tmp - } - - if src.Ext != nil { - p.Ext = make(map[string]string, len(src.Ext)) - for key, val := range src.Ext { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.Ext[_key] = _val - } - } - - return nil -} - -func (p *CustomEvalTarget) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomEvalTarget[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *CustomEvalTarget) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ID = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Name = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.AvatarURL = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastReadField10(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.Ext = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *CustomEvalTarget) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *CustomEvalTarget) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field10Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *CustomEvalTarget) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 1) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ID) - } - return offset -} - -func (p *CustomEvalTarget) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetName() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Name) - } - return offset -} - -func (p *CustomEvalTarget) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetAvatarURL() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.AvatarURL) - } - return offset -} - -func (p *CustomEvalTarget) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExt() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 10) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.Ext { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *CustomEvalTarget) field1Length() int { - l := 0 - if p.IsSetID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ID) - } - return l -} - -func (p *CustomEvalTarget) field2Length() int { - l := 0 - if p.IsSetName() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Name) - } - return l -} - -func (p *CustomEvalTarget) field3Length() int { - l := 0 - if p.IsSetAvatarURL() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.AvatarURL) - } - return l -} - -func (p *CustomEvalTarget) field10Length() int { - l := 0 - if p.IsSetExt() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.Ext { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *CustomEvalTarget) DeepCopy(s interface{}) error { - src, ok := s.(*CustomEvalTarget) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.ID != nil { - var tmp string - if *src.ID != "" { - tmp = kutils.StringDeepCopy(*src.ID) - } - p.ID = &tmp - } - - if src.Name != nil { - var tmp string - if *src.Name != "" { - tmp = kutils.StringDeepCopy(*src.Name) - } - p.Name = &tmp - } - - if src.AvatarURL != nil { - var tmp string - if *src.AvatarURL != "" { - tmp = kutils.StringDeepCopy(*src.AvatarURL) - } - p.AvatarURL = &tmp - } - - if src.Ext != nil { - p.Ext = make(map[string]string, len(src.Ext)) - for key, val := range src.Ext { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.Ext[_key] = _val - } - } - - return nil -} - -func (p *HTTPInfo) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_HTTPInfo[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *HTTPInfo) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *HTTPMethod - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Method = _field - return offset, nil -} - -func (p *HTTPInfo) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Path = _field - return offset, nil -} - -func (p *HTTPInfo) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *HTTPInfo) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *HTTPInfo) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *HTTPInfo) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetMethod() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 1) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Method) - } - return offset -} - -func (p *HTTPInfo) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetPath() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Path) - } - return offset -} - -func (p *HTTPInfo) field1Length() int { - l := 0 - if p.IsSetMethod() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Method) - } - return l -} - -func (p *HTTPInfo) field2Length() int { - l := 0 - if p.IsSetPath() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Path) - } - return l -} - -func (p *HTTPInfo) DeepCopy(s interface{}) error { - src, ok := s.(*HTTPInfo) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.Method != nil { - tmp := *src.Method - p.Method = &tmp - } - - if src.Path != nil { - var tmp string - if *src.Path != "" { - tmp = kutils.StringDeepCopy(*src.Path) - } - p.Path = &tmp - } - return nil } diff --git a/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target.go b/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target.go index beb95f696..7241febb5 100644 --- a/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target.go +++ b/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target.go @@ -7,17 +7,10 @@ import ( "fmt" "github.com/apache/thrift/lib/go/thrift" "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/eval_target" "strings" ) -type AsyncExecuteEvalTargetRequest = ExecuteEvalTargetRequest - -func NewAsyncExecuteEvalTargetRequest() *AsyncExecuteEvalTargetRequest { - return (*AsyncExecuteEvalTargetRequest)(NewExecuteEvalTargetRequest()) -} - type CreateEvalTargetRequest struct { WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` Param *CreateEvalTargetParam `thrift:"param,2,optional" frugal:"2,optional,CreateEvalTargetParam" form:"param" json:"param,omitempty" query:"param"` @@ -336,12 +329,6 @@ type CreateEvalTargetParam struct { BotInfoType *eval_target.CozeBotInfoType `thrift:"bot_info_type,4,optional" frugal:"4,optional,CozeBotInfoType" form:"bot_info_type" json:"bot_info_type,omitempty" query:"bot_info_type"` // 如果是发布版本则需要填充这个字段 BotPublishVersion *string `thrift:"bot_publish_version,5,optional" frugal:"5,optional,string" form:"bot_publish_version" json:"bot_publish_version,omitempty" query:"bot_publish_version"` - // type=6,并且有搜索对象,搜索结果信息通过这个字段透传 - CustomEvalTarget *eval_target.CustomEvalTarget `thrift:"custom_eval_target,6,optional" frugal:"6,optional,eval_target.CustomEvalTarget" form:"custom_eval_target" json:"custom_eval_target,omitempty" query:"custom_eval_target"` - // 有区域限制需要填充这个字段 - Region *eval_target.Region `thrift:"region,7,optional" frugal:"7,optional,string" form:"region" json:"region,omitempty" query:"region"` - // 有环境限制需要填充这个字段 - Env *string `thrift:"env,8,optional" frugal:"8,optional,string" form:"env" json:"env,omitempty" query:"env"` } func NewCreateEvalTargetParam() *CreateEvalTargetParam { @@ -410,42 +397,6 @@ func (p *CreateEvalTargetParam) GetBotPublishVersion() (v string) { } return *p.BotPublishVersion } - -var CreateEvalTargetParam_CustomEvalTarget_DEFAULT *eval_target.CustomEvalTarget - -func (p *CreateEvalTargetParam) GetCustomEvalTarget() (v *eval_target.CustomEvalTarget) { - if p == nil { - return - } - if !p.IsSetCustomEvalTarget() { - return CreateEvalTargetParam_CustomEvalTarget_DEFAULT - } - return p.CustomEvalTarget -} - -var CreateEvalTargetParam_Region_DEFAULT eval_target.Region - -func (p *CreateEvalTargetParam) GetRegion() (v eval_target.Region) { - if p == nil { - return - } - if !p.IsSetRegion() { - return CreateEvalTargetParam_Region_DEFAULT - } - return *p.Region -} - -var CreateEvalTargetParam_Env_DEFAULT string - -func (p *CreateEvalTargetParam) GetEnv() (v string) { - if p == nil { - return - } - if !p.IsSetEnv() { - return CreateEvalTargetParam_Env_DEFAULT - } - return *p.Env -} func (p *CreateEvalTargetParam) SetSourceTargetID(val *string) { p.SourceTargetID = val } @@ -461,15 +412,6 @@ func (p *CreateEvalTargetParam) SetBotInfoType(val *eval_target.CozeBotInfoType) func (p *CreateEvalTargetParam) SetBotPublishVersion(val *string) { p.BotPublishVersion = val } -func (p *CreateEvalTargetParam) SetCustomEvalTarget(val *eval_target.CustomEvalTarget) { - p.CustomEvalTarget = val -} -func (p *CreateEvalTargetParam) SetRegion(val *eval_target.Region) { - p.Region = val -} -func (p *CreateEvalTargetParam) SetEnv(val *string) { - p.Env = val -} var fieldIDToName_CreateEvalTargetParam = map[int16]string{ 1: "source_target_id", @@ -477,9 +419,6 @@ var fieldIDToName_CreateEvalTargetParam = map[int16]string{ 3: "eval_target_type", 4: "bot_info_type", 5: "bot_publish_version", - 6: "custom_eval_target", - 7: "region", - 8: "env", } func (p *CreateEvalTargetParam) IsSetSourceTargetID() bool { @@ -502,18 +441,6 @@ func (p *CreateEvalTargetParam) IsSetBotPublishVersion() bool { return p.BotPublishVersion != nil } -func (p *CreateEvalTargetParam) IsSetCustomEvalTarget() bool { - return p.CustomEvalTarget != nil -} - -func (p *CreateEvalTargetParam) IsSetRegion() bool { - return p.Region != nil -} - -func (p *CreateEvalTargetParam) IsSetEnv() bool { - return p.Env != nil -} - func (p *CreateEvalTargetParam) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -572,30 +499,6 @@ func (p *CreateEvalTargetParam) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 6: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: - if fieldTypeId == thrift.STRING { - if err = p.ReadField7(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 8: - if fieldTypeId == thrift.STRING { - if err = p.ReadField8(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } default: if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError @@ -682,36 +585,6 @@ func (p *CreateEvalTargetParam) ReadField5(iprot thrift.TProtocol) error { p.BotPublishVersion = _field return nil } -func (p *CreateEvalTargetParam) ReadField6(iprot thrift.TProtocol) error { - _field := eval_target.NewCustomEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomEvalTarget = _field - return nil -} -func (p *CreateEvalTargetParam) ReadField7(iprot thrift.TProtocol) error { - - var _field *eval_target.Region - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Region = _field - return nil -} -func (p *CreateEvalTargetParam) ReadField8(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Env = _field - return nil -} func (p *CreateEvalTargetParam) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 @@ -739,18 +612,6 @@ func (p *CreateEvalTargetParam) Write(oprot thrift.TProtocol) (err error) { fieldId = 5 goto WriteFieldError } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } - if err = p.writeField8(oprot); err != nil { - fieldId = 8 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -859,60 +720,6 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *CreateEvalTargetParam) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomEvalTarget() { - if err = oprot.WriteFieldBegin("custom_eval_target", thrift.STRUCT, 6); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomEvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *CreateEvalTargetParam) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetRegion() { - if err = oprot.WriteFieldBegin("region", thrift.STRING, 7); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Region); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) -} -func (p *CreateEvalTargetParam) writeField8(oprot thrift.TProtocol) (err error) { - if p.IsSetEnv() { - if err = oprot.WriteFieldBegin("env", thrift.STRING, 8); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Env); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) -} func (p *CreateEvalTargetParam) String() string { if p == nil { @@ -943,15 +750,6 @@ func (p *CreateEvalTargetParam) DeepEqual(ano *CreateEvalTargetParam) bool { if !p.Field5DeepEqual(ano.BotPublishVersion) { return false } - if !p.Field6DeepEqual(ano.CustomEvalTarget) { - return false - } - if !p.Field7DeepEqual(ano.Region) { - return false - } - if !p.Field8DeepEqual(ano.Env) { - return false - } return true } @@ -1015,37 +813,6 @@ func (p *CreateEvalTargetParam) Field5DeepEqual(src *string) bool { } return true } -func (p *CreateEvalTargetParam) Field6DeepEqual(src *eval_target.CustomEvalTarget) bool { - - if !p.CustomEvalTarget.DeepEqual(src) { - return false - } - return true -} -func (p *CreateEvalTargetParam) Field7DeepEqual(src *eval_target.Region) bool { - - if p.Region == src { - return true - } else if p.Region == nil || src == nil { - return false - } - if strings.Compare(*p.Region, *src) != 0 { - return false - } - return true -} -func (p *CreateEvalTargetParam) Field8DeepEqual(src *string) bool { - - if p.Env == src { - return true - } else if p.Env == nil || src == nil { - return false - } - if strings.Compare(*p.Env, *src) != 0 { - return false - } - return true -} type CreateEvalTargetResponse struct { ID *int64 `thrift:"id,1,optional" frugal:"1,optional,i64" json:"id" form:"id" query:"id"` @@ -3387,7 +3154,6 @@ type ExecuteEvalTargetRequest struct { EvalTargetVersionID int64 `thrift:"eval_target_version_id,3,required" frugal:"3,required,i64" json:"eval_target_version_id" path:"eval_target_version_id,required" ` InputData *eval_target.EvalTargetInputData `thrift:"input_data,4,required" frugal:"4,required,eval_target.EvalTargetInputData" form:"input_data,required" json:"input_data,required" query:"input_data,required"` ExperimentRunID *int64 `thrift:"experiment_run_id,5,optional" frugal:"5,optional,i64" json:"experiment_run_id" form:"experiment_run_id" query:"experiment_run_id"` - EvalTarget *eval_target.EvalTarget `thrift:"eval_target,10,optional" frugal:"10,optional,eval_target.EvalTarget" form:"eval_target" json:"eval_target,omitempty" query:"eval_target"` Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } @@ -3443,18 +3209,6 @@ func (p *ExecuteEvalTargetRequest) GetExperimentRunID() (v int64) { return *p.ExperimentRunID } -var ExecuteEvalTargetRequest_EvalTarget_DEFAULT *eval_target.EvalTarget - -func (p *ExecuteEvalTargetRequest) GetEvalTarget() (v *eval_target.EvalTarget) { - if p == nil { - return - } - if !p.IsSetEvalTarget() { - return ExecuteEvalTargetRequest_EvalTarget_DEFAULT - } - return p.EvalTarget -} - var ExecuteEvalTargetRequest_Base_DEFAULT *base.Base func (p *ExecuteEvalTargetRequest) GetBase() (v *base.Base) { @@ -3481,9 +3235,6 @@ func (p *ExecuteEvalTargetRequest) SetInputData(val *eval_target.EvalTargetInput func (p *ExecuteEvalTargetRequest) SetExperimentRunID(val *int64) { p.ExperimentRunID = val } -func (p *ExecuteEvalTargetRequest) SetEvalTarget(val *eval_target.EvalTarget) { - p.EvalTarget = val -} func (p *ExecuteEvalTargetRequest) SetBase(val *base.Base) { p.Base = val } @@ -3494,7 +3245,6 @@ var fieldIDToName_ExecuteEvalTargetRequest = map[int16]string{ 3: "eval_target_version_id", 4: "input_data", 5: "experiment_run_id", - 10: "eval_target", 255: "Base", } @@ -3506,10 +3256,6 @@ func (p *ExecuteEvalTargetRequest) IsSetExperimentRunID() bool { return p.ExperimentRunID != nil } -func (p *ExecuteEvalTargetRequest) IsSetEvalTarget() bool { - return p.EvalTarget != nil -} - func (p *ExecuteEvalTargetRequest) IsSetBase() bool { return p.Base != nil } @@ -3580,14 +3326,6 @@ func (p *ExecuteEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 10: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -3698,14 +3436,6 @@ func (p *ExecuteEvalTargetRequest) ReadField5(iprot thrift.TProtocol) error { p.ExperimentRunID = _field return nil } -func (p *ExecuteEvalTargetRequest) ReadField10(iprot thrift.TProtocol) error { - _field := eval_target.NewEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.EvalTarget = _field - return nil -} func (p *ExecuteEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { @@ -3741,10 +3471,6 @@ func (p *ExecuteEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 5 goto WriteFieldError } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -3849,24 +3575,6 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *ExecuteEvalTargetRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTarget() { - if err = oprot.WriteFieldBegin("eval_target", thrift.STRUCT, 10); err != nil { - goto WriteFieldBeginError - } - if err := p.EvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} func (p *ExecuteEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { @@ -3915,9 +3623,6 @@ func (p *ExecuteEvalTargetRequest) DeepEqual(ano *ExecuteEvalTargetRequest) bool if !p.Field5DeepEqual(ano.ExperimentRunID) { return false } - if !p.Field10DeepEqual(ano.EvalTarget) { - return false - } if !p.Field255DeepEqual(ano.Base) { return false } @@ -3964,13 +3669,6 @@ func (p *ExecuteEvalTargetRequest) Field5DeepEqual(src *int64) bool { } return true } -func (p *ExecuteEvalTargetRequest) Field10DeepEqual(src *eval_target.EvalTarget) bool { - - if !p.EvalTarget.DeepEqual(src) { - return false - } - return true -} func (p *ExecuteEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { @@ -4225,85 +3923,90 @@ func (p *ExecuteEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type AsyncExecuteEvalTargetResponse struct { - InvokeID *int64 `thrift:"invoke_id,1,optional" frugal:"1,optional,i64" form:"invoke_id" json:"invoke_id,omitempty" query:"invoke_id"` - Callee *string `thrift:"callee,2,optional" frugal:"2,optional,string" form:"callee" json:"callee,omitempty" query:"callee"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +type ListEvalTargetRecordRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + EvalTargetID int64 `thrift:"eval_target_id,2,required" frugal:"2,required,i64" json:"eval_target_id" form:"eval_target_id,required" query:"eval_target_id,required"` + ExperimentRunIds []int64 `thrift:"experiment_run_ids,3,optional" frugal:"3,optional,list" json:"experiment_run_ids" form:"experiment_run_ids" query:"experiment_run_ids"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewAsyncExecuteEvalTargetResponse() *AsyncExecuteEvalTargetResponse { - return &AsyncExecuteEvalTargetResponse{} +func NewListEvalTargetRecordRequest() *ListEvalTargetRecordRequest { + return &ListEvalTargetRecordRequest{} } -func (p *AsyncExecuteEvalTargetResponse) InitDefault() { +func (p *ListEvalTargetRecordRequest) InitDefault() { } -var AsyncExecuteEvalTargetResponse_InvokeID_DEFAULT int64 - -func (p *AsyncExecuteEvalTargetResponse) GetInvokeID() (v int64) { - if p == nil { - return +func (p *ListEvalTargetRecordRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID } - if !p.IsSetInvokeID() { - return AsyncExecuteEvalTargetResponse_InvokeID_DEFAULT + return +} + +func (p *ListEvalTargetRecordRequest) GetEvalTargetID() (v int64) { + if p != nil { + return p.EvalTargetID } - return *p.InvokeID + return } -var AsyncExecuteEvalTargetResponse_Callee_DEFAULT string +var ListEvalTargetRecordRequest_ExperimentRunIds_DEFAULT []int64 -func (p *AsyncExecuteEvalTargetResponse) GetCallee() (v string) { +func (p *ListEvalTargetRecordRequest) GetExperimentRunIds() (v []int64) { if p == nil { return } - if !p.IsSetCallee() { - return AsyncExecuteEvalTargetResponse_Callee_DEFAULT + if !p.IsSetExperimentRunIds() { + return ListEvalTargetRecordRequest_ExperimentRunIds_DEFAULT } - return *p.Callee + return p.ExperimentRunIds } -var AsyncExecuteEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp +var ListEvalTargetRecordRequest_Base_DEFAULT *base.Base -func (p *AsyncExecuteEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListEvalTargetRecordRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return AsyncExecuteEvalTargetResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return ListEvalTargetRecordRequest_Base_DEFAULT } - return p.BaseResp + return p.Base } -func (p *AsyncExecuteEvalTargetResponse) SetInvokeID(val *int64) { - p.InvokeID = val +func (p *ListEvalTargetRecordRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *AsyncExecuteEvalTargetResponse) SetCallee(val *string) { - p.Callee = val +func (p *ListEvalTargetRecordRequest) SetEvalTargetID(val int64) { + p.EvalTargetID = val } -func (p *AsyncExecuteEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *ListEvalTargetRecordRequest) SetExperimentRunIds(val []int64) { + p.ExperimentRunIds = val } - -var fieldIDToName_AsyncExecuteEvalTargetResponse = map[int16]string{ - 1: "invoke_id", - 2: "callee", - 255: "BaseResp", +func (p *ListEvalTargetRecordRequest) SetBase(val *base.Base) { + p.Base = val } -func (p *AsyncExecuteEvalTargetResponse) IsSetInvokeID() bool { - return p.InvokeID != nil +var fieldIDToName_ListEvalTargetRecordRequest = map[int16]string{ + 1: "workspace_id", + 2: "eval_target_id", + 3: "experiment_run_ids", + 255: "Base", } -func (p *AsyncExecuteEvalTargetResponse) IsSetCallee() bool { - return p.Callee != nil +func (p *ListEvalTargetRecordRequest) IsSetExperimentRunIds() bool { + return p.ExperimentRunIds != nil } -func (p *AsyncExecuteEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *ListEvalTargetRecordRequest) IsSetBase() bool { + return p.Base != nil } -func (p *AsyncExecuteEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false + var issetEvalTargetID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4324,19 +4027,29 @@ func (p *AsyncExecuteEvalTargetResponse) Read(iprot thrift.TProtocol) (err error if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetEvalTargetID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 255: - if fieldTypeId == thrift.STRUCT { + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { goto ReadFieldError } @@ -4356,13 +4069,22 @@ func (p *AsyncExecuteEvalTargetResponse) Read(iprot thrift.TProtocol) (err error goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetEvalTargetID { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncExecuteEvalTargetResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4370,42 +4092,67 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListEvalTargetRecordRequest[fieldId])) } -func (p *AsyncExecuteEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *ListEvalTargetRecordRequest) ReadField1(iprot thrift.TProtocol) error { - var _field *int64 + var _field int64 if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } - p.InvokeID = _field + p.WorkspaceID = _field return nil } -func (p *AsyncExecuteEvalTargetResponse) ReadField2(iprot thrift.TProtocol) error { +func (p *ListEvalTargetRecordRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *string - if v, err := iprot.ReadString(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } - p.Callee = _field + p.EvalTargetID = _field return nil } -func (p *AsyncExecuteEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *ListEvalTargetRecordRequest) ReadField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]int64, 0, size) + for i := 0; i < size; i++ { + + var _elem int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _elem = v + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.ExperimentRunIds = _field + return nil +} +func (p *ListEvalTargetRecordRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *AsyncExecuteEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AsyncExecuteEvalTargetResponse"); err != nil { + if err = oprot.WriteStructBegin("ListEvalTargetRecordRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4417,6 +4164,10 @@ func (p *AsyncExecuteEvalTargetResponse) Write(oprot thrift.TProtocol) (err erro fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -4439,17 +4190,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *AsyncExecuteEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetInvokeID() { - if err = oprot.WriteFieldBegin("invoke_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.InvokeID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListEvalTargetRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -4457,12 +4206,36 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *AsyncExecuteEvalTargetResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetCallee() { - if err = oprot.WriteFieldBegin("callee", thrift.STRING, 2); err != nil { +func (p *ListEvalTargetRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("eval_target_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.EvalTargetID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ListEvalTargetRecordRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetExperimentRunIds() { + if err = oprot.WriteFieldBegin("experiment_run_ids", thrift.LIST, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.Callee); err != nil { + if err := oprot.WriteListBegin(thrift.I64, len(p.ExperimentRunIds)); err != nil { + return err + } + for _, v := range p.ExperimentRunIds { + if err := oprot.WriteI64(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4471,19 +4244,21 @@ func (p *AsyncExecuteEvalTargetResponse) writeField2(oprot thrift.TProtocol) (er } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *AsyncExecuteEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ListEvalTargetRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -4492,148 +4267,120 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *AsyncExecuteEvalTargetResponse) String() string { +func (p *ListEvalTargetRecordRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("AsyncExecuteEvalTargetResponse(%+v)", *p) + return fmt.Sprintf("ListEvalTargetRecordRequest(%+v)", *p) } -func (p *AsyncExecuteEvalTargetResponse) DeepEqual(ano *AsyncExecuteEvalTargetResponse) bool { +func (p *ListEvalTargetRecordRequest) DeepEqual(ano *ListEvalTargetRecordRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.InvokeID) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.Callee) { + if !p.Field2DeepEqual(ano.EvalTargetID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field3DeepEqual(ano.ExperimentRunIds) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *AsyncExecuteEvalTargetResponse) Field1DeepEqual(src *int64) bool { +func (p *ListEvalTargetRecordRequest) Field1DeepEqual(src int64) bool { - if p.InvokeID == src { - return true - } else if p.InvokeID == nil || src == nil { + if p.WorkspaceID != src { return false } - if *p.InvokeID != *src { + return true +} +func (p *ListEvalTargetRecordRequest) Field2DeepEqual(src int64) bool { + + if p.EvalTargetID != src { return false } return true } -func (p *AsyncExecuteEvalTargetResponse) Field2DeepEqual(src *string) bool { +func (p *ListEvalTargetRecordRequest) Field3DeepEqual(src []int64) bool { - if p.Callee == src { - return true - } else if p.Callee == nil || src == nil { + if len(p.ExperimentRunIds) != len(src) { return false } - if strings.Compare(*p.Callee, *src) != 0 { - return false + for i, v := range p.ExperimentRunIds { + _src := src[i] + if v != _src { + return false + } } return true } -func (p *AsyncExecuteEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListEvalTargetRecordRequest) Field255DeepEqual(src *base.Base) bool { - if !p.BaseResp.DeepEqual(src) { + if !p.Base.DeepEqual(src) { return false } return true } -type ListEvalTargetRecordRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - EvalTargetID int64 `thrift:"eval_target_id,2,required" frugal:"2,required,i64" json:"eval_target_id" form:"eval_target_id,required" query:"eval_target_id,required"` - ExperimentRunIds []int64 `thrift:"experiment_run_ids,3,optional" frugal:"3,optional,list" json:"experiment_run_ids" form:"experiment_run_ids" query:"experiment_run_ids"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewListEvalTargetRecordRequest() *ListEvalTargetRecordRequest { - return &ListEvalTargetRecordRequest{} +type ListEvalTargetRecordResponse struct { + EvalTargetRecords []*eval_target.EvalTargetRecord `thrift:"eval_target_records,1,required" frugal:"1,required,list" form:"eval_target_records,required" json:"eval_target_records,required" query:"eval_target_records,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func (p *ListEvalTargetRecordRequest) InitDefault() { +func NewListEvalTargetRecordResponse() *ListEvalTargetRecordResponse { + return &ListEvalTargetRecordResponse{} } -func (p *ListEvalTargetRecordRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func (p *ListEvalTargetRecordResponse) InitDefault() { } -func (p *ListEvalTargetRecordRequest) GetEvalTargetID() (v int64) { +func (p *ListEvalTargetRecordResponse) GetEvalTargetRecords() (v []*eval_target.EvalTargetRecord) { if p != nil { - return p.EvalTargetID + return p.EvalTargetRecords } return } -var ListEvalTargetRecordRequest_ExperimentRunIds_DEFAULT []int64 - -func (p *ListEvalTargetRecordRequest) GetExperimentRunIds() (v []int64) { - if p == nil { - return - } - if !p.IsSetExperimentRunIds() { - return ListEvalTargetRecordRequest_ExperimentRunIds_DEFAULT - } - return p.ExperimentRunIds -} - -var ListEvalTargetRecordRequest_Base_DEFAULT *base.Base +var ListEvalTargetRecordResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ListEvalTargetRecordRequest) GetBase() (v *base.Base) { +func (p *ListEvalTargetRecordResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return ListEvalTargetRecordRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return ListEvalTargetRecordResponse_BaseResp_DEFAULT } - return p.Base -} -func (p *ListEvalTargetRecordRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ListEvalTargetRecordRequest) SetEvalTargetID(val int64) { - p.EvalTargetID = val -} -func (p *ListEvalTargetRecordRequest) SetExperimentRunIds(val []int64) { - p.ExperimentRunIds = val + return p.BaseResp } -func (p *ListEvalTargetRecordRequest) SetBase(val *base.Base) { - p.Base = val +func (p *ListEvalTargetRecordResponse) SetEvalTargetRecords(val []*eval_target.EvalTargetRecord) { + p.EvalTargetRecords = val } - -var fieldIDToName_ListEvalTargetRecordRequest = map[int16]string{ - 1: "workspace_id", - 2: "eval_target_id", - 3: "experiment_run_ids", - 255: "Base", +func (p *ListEvalTargetRecordResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *ListEvalTargetRecordRequest) IsSetExperimentRunIds() bool { - return p.ExperimentRunIds != nil +var fieldIDToName_ListEvalTargetRecordResponse = map[int16]string{ + 1: "eval_target_records", + 255: "BaseResp", } -func (p *ListEvalTargetRecordRequest) IsSetBase() bool { - return p.Base != nil +func (p *ListEvalTargetRecordResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *ListEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false - var issetEvalTargetID bool = false + var issetEvalTargetRecords bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4650,28 +4397,11 @@ func (p *ListEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetEvalTargetID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.LIST { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } + issetEvalTargetRecords = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -4696,22 +4426,17 @@ func (p *ListEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { + if !issetEvalTargetRecords { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetEvalTargetID { - fieldId = 2 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4720,44 +4445,22 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListEvalTargetRecordRequest[fieldId])) -} - -func (p *ListEvalTargetRecordRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListEvalTargetRecordResponse[fieldId])) } -func (p *ListEvalTargetRecordRequest) ReadField2(iprot thrift.TProtocol) error { - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.EvalTargetID = _field - return nil -} -func (p *ListEvalTargetRecordRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ListEvalTargetRecordResponse) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]int64, 0, size) + _field := make([]*eval_target.EvalTargetRecord, 0, size) + values := make([]eval_target.EvalTargetRecord, size) for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _elem int64 - if v, err := iprot.ReadI64(); err != nil { + if err := _elem.Read(iprot); err != nil { return err - } else { - _elem = v } _field = append(_field, _elem) @@ -4765,21 +4468,21 @@ func (p *ListEvalTargetRecordRequest) ReadField3(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.ExperimentRunIds = _field + p.EvalTargetRecords = _field return nil } -func (p *ListEvalTargetRecordRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *ListEvalTargetRecordResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *ListEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListEvalTargetRecordRequest"); err != nil { + if err = oprot.WriteStructBegin("ListEvalTargetRecordResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4787,14 +4490,6 @@ func (p *ListEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -4817,11 +4512,19 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListEvalTargetRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { +func (p *ListEvalTargetRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("eval_target_records", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargetRecords)); err != nil { + return err + } + for _, v := range p.EvalTargetRecords { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4833,181 +4536,130 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListEvalTargetRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("eval_target_id", thrift.I64, 2); err != nil { +func (p *ListEvalTargetRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.EvalTargetID); err != nil { + if err := p.BaseResp.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { goto WriteFieldEndError } return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ListEvalTargetRecordRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetExperimentRunIds() { - if err = oprot.WriteFieldBegin("experiment_run_ids", thrift.LIST, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.I64, len(p.ExperimentRunIds)); err != nil { - return err - } - for _, v := range p.ExperimentRunIds { - if err := oprot.WriteI64(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ListEvalTargetRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListEvalTargetRecordRequest) String() string { +func (p *ListEvalTargetRecordResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ListEvalTargetRecordRequest(%+v)", *p) + return fmt.Sprintf("ListEvalTargetRecordResponse(%+v)", *p) } -func (p *ListEvalTargetRecordRequest) DeepEqual(ano *ListEvalTargetRecordRequest) bool { +func (p *ListEvalTargetRecordResponse) DeepEqual(ano *ListEvalTargetRecordResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.EvalTargetID) { - return false - } - if !p.Field3DeepEqual(ano.ExperimentRunIds) { - return false - } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field1DeepEqual(ano.EvalTargetRecords) { return false } - return true -} - -func (p *ListEvalTargetRecordRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *ListEvalTargetRecordRequest) Field2DeepEqual(src int64) bool { - if p.EvalTargetID != src { - return false - } - return true -} -func (p *ListEvalTargetRecordRequest) Field3DeepEqual(src []int64) bool { +func (p *ListEvalTargetRecordResponse) Field1DeepEqual(src []*eval_target.EvalTargetRecord) bool { - if len(p.ExperimentRunIds) != len(src) { + if len(p.EvalTargetRecords) != len(src) { return false } - for i, v := range p.ExperimentRunIds { + for i, v := range p.EvalTargetRecords { _src := src[i] - if v != _src { + if !v.DeepEqual(_src) { return false } } return true } -func (p *ListEvalTargetRecordRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListEvalTargetRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { - if !p.Base.DeepEqual(src) { + if !p.BaseResp.DeepEqual(src) { return false } return true } -type ListEvalTargetRecordResponse struct { - EvalTargetRecords []*eval_target.EvalTargetRecord `thrift:"eval_target_records,1,required" frugal:"1,required,list" form:"eval_target_records,required" json:"eval_target_records,required" query:"eval_target_records,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +type GetEvalTargetRecordRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" query:"workspace_id,required" ` + EvalTargetRecordID int64 `thrift:"eval_target_record_id,2,required" frugal:"2,required,i64" json:"eval_target_record_id" path:"eval_target_record_id,required" ` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewListEvalTargetRecordResponse() *ListEvalTargetRecordResponse { - return &ListEvalTargetRecordResponse{} +func NewGetEvalTargetRecordRequest() *GetEvalTargetRecordRequest { + return &GetEvalTargetRecordRequest{} } -func (p *ListEvalTargetRecordResponse) InitDefault() { +func (p *GetEvalTargetRecordRequest) InitDefault() { } -func (p *ListEvalTargetRecordResponse) GetEvalTargetRecords() (v []*eval_target.EvalTargetRecord) { +func (p *GetEvalTargetRecordRequest) GetWorkspaceID() (v int64) { if p != nil { - return p.EvalTargetRecords + return p.WorkspaceID } return } -var ListEvalTargetRecordResponse_BaseResp_DEFAULT *base.BaseResp +func (p *GetEvalTargetRecordRequest) GetEvalTargetRecordID() (v int64) { + if p != nil { + return p.EvalTargetRecordID + } + return +} -func (p *ListEvalTargetRecordResponse) GetBaseResp() (v *base.BaseResp) { +var GetEvalTargetRecordRequest_Base_DEFAULT *base.Base + +func (p *GetEvalTargetRecordRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return ListEvalTargetRecordResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return GetEvalTargetRecordRequest_Base_DEFAULT } - return p.BaseResp + return p.Base } -func (p *ListEvalTargetRecordResponse) SetEvalTargetRecords(val []*eval_target.EvalTargetRecord) { - p.EvalTargetRecords = val +func (p *GetEvalTargetRecordRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *ListEvalTargetRecordResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *GetEvalTargetRecordRequest) SetEvalTargetRecordID(val int64) { + p.EvalTargetRecordID = val +} +func (p *GetEvalTargetRecordRequest) SetBase(val *base.Base) { + p.Base = val } -var fieldIDToName_ListEvalTargetRecordResponse = map[int16]string{ - 1: "eval_target_records", - 255: "BaseResp", +var fieldIDToName_GetEvalTargetRecordRequest = map[int16]string{ + 1: "workspace_id", + 2: "eval_target_record_id", + 255: "Base", } -func (p *ListEvalTargetRecordResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *GetEvalTargetRecordRequest) IsSetBase() bool { + return p.Base != nil } -func (p *ListEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *GetEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetEvalTargetRecords bool = false + var issetWorkspaceID bool = false + var issetEvalTargetRecordID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5024,17 +4676,26 @@ func (p *ListEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetEvalTargetRecords = true + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetEvalTargetRecordID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -5053,17 +4714,22 @@ func (p *ListEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetEvalTargetRecords { + if !issetWorkspaceID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetEvalTargetRecordID { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetEvalTargetRecordRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5072,44 +4738,43 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListEvalTargetRecordResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_GetEvalTargetRecordRequest[fieldId])) } -func (p *ListEvalTargetRecordResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { +func (p *GetEvalTargetRecordRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - _field := make([]*eval_target.EvalTargetRecord, 0, size) - values := make([]eval_target.EvalTargetRecord, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } + p.WorkspaceID = _field + return nil +} +func (p *GetEvalTargetRecordRequest) ReadField2(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - p.EvalTargetRecords = _field + p.EvalTargetRecordID = _field return nil } -func (p *ListEvalTargetRecordResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *GetEvalTargetRecordRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *ListEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *GetEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListEvalTargetRecordResponse"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetRecordRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5117,6 +4782,10 @@ func (p *ListEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) fieldId = 1 goto WriteFieldError } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5139,19 +4808,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListEvalTargetRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("eval_target_records", thrift.LIST, 1); err != nil { +func (p *GetEvalTargetRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargetRecords)); err != nil { - return err - } - for _, v := range p.EvalTargetRecords { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5163,130 +4824,147 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListEvalTargetRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { +func (p *GetEvalTargetRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("eval_target_record_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } - if err := p.BaseResp.Write(oprot); err != nil { + if err := oprot.WriteI64(p.EvalTargetRecordID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { goto WriteFieldEndError } return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *GetEvalTargetRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListEvalTargetRecordResponse) String() string { +func (p *GetEvalTargetRecordRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListEvalTargetRecordResponse(%+v)", *p) + return fmt.Sprintf("GetEvalTargetRecordRequest(%+v)", *p) } -func (p *ListEvalTargetRecordResponse) DeepEqual(ano *ListEvalTargetRecordResponse) bool { +func (p *GetEvalTargetRecordRequest) DeepEqual(ano *GetEvalTargetRecordRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EvalTargetRecords) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field2DeepEqual(ano.EvalTargetRecordID) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *ListEvalTargetRecordResponse) Field1DeepEqual(src []*eval_target.EvalTargetRecord) bool { +func (p *GetEvalTargetRecordRequest) Field1DeepEqual(src int64) bool { - if len(p.EvalTargetRecords) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.EvalTargetRecords { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *ListEvalTargetRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *GetEvalTargetRecordRequest) Field2DeepEqual(src int64) bool { - if !p.BaseResp.DeepEqual(src) { + if p.EvalTargetRecordID != src { return false } return true } +func (p *GetEvalTargetRecordRequest) Field255DeepEqual(src *base.Base) bool { -type GetEvalTargetRecordRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" query:"workspace_id,required" ` - EvalTargetRecordID int64 `thrift:"eval_target_record_id,2,required" frugal:"2,required,i64" json:"eval_target_record_id" path:"eval_target_record_id,required" ` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + if !p.Base.DeepEqual(src) { + return false + } + return true } -func NewGetEvalTargetRecordRequest() *GetEvalTargetRecordRequest { - return &GetEvalTargetRecordRequest{} +type GetEvalTargetRecordResponse struct { + EvalTargetRecord *eval_target.EvalTargetRecord `thrift:"eval_target_record,1,optional" frugal:"1,optional,eval_target.EvalTargetRecord" form:"eval_target_record" json:"eval_target_record,omitempty" query:"eval_target_record"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func (p *GetEvalTargetRecordRequest) InitDefault() { +func NewGetEvalTargetRecordResponse() *GetEvalTargetRecordResponse { + return &GetEvalTargetRecordResponse{} } -func (p *GetEvalTargetRecordRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func (p *GetEvalTargetRecordResponse) InitDefault() { } -func (p *GetEvalTargetRecordRequest) GetEvalTargetRecordID() (v int64) { - if p != nil { - return p.EvalTargetRecordID +var GetEvalTargetRecordResponse_EvalTargetRecord_DEFAULT *eval_target.EvalTargetRecord + +func (p *GetEvalTargetRecordResponse) GetEvalTargetRecord() (v *eval_target.EvalTargetRecord) { + if p == nil { + return } - return + if !p.IsSetEvalTargetRecord() { + return GetEvalTargetRecordResponse_EvalTargetRecord_DEFAULT + } + return p.EvalTargetRecord } -var GetEvalTargetRecordRequest_Base_DEFAULT *base.Base +var GetEvalTargetRecordResponse_BaseResp_DEFAULT *base.BaseResp -func (p *GetEvalTargetRecordRequest) GetBase() (v *base.Base) { +func (p *GetEvalTargetRecordResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return GetEvalTargetRecordRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return GetEvalTargetRecordResponse_BaseResp_DEFAULT } - return p.Base + return p.BaseResp } -func (p *GetEvalTargetRecordRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val +func (p *GetEvalTargetRecordResponse) SetEvalTargetRecord(val *eval_target.EvalTargetRecord) { + p.EvalTargetRecord = val } -func (p *GetEvalTargetRecordRequest) SetEvalTargetRecordID(val int64) { - p.EvalTargetRecordID = val +func (p *GetEvalTargetRecordResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *GetEvalTargetRecordRequest) SetBase(val *base.Base) { - p.Base = val + +var fieldIDToName_GetEvalTargetRecordResponse = map[int16]string{ + 1: "eval_target_record", + 255: "BaseResp", } -var fieldIDToName_GetEvalTargetRecordRequest = map[int16]string{ - 1: "workspace_id", - 2: "eval_target_record_id", - 255: "Base", +func (p *GetEvalTargetRecordResponse) IsSetEvalTargetRecord() bool { + return p.EvalTargetRecord != nil } -func (p *GetEvalTargetRecordRequest) IsSetBase() bool { - return p.Base != nil +func (p *GetEvalTargetRecordResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *GetEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *GetEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false - var issetEvalTargetRecordID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5303,20 +4981,10 @@ func (p *GetEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetEvalTargetRecordID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5341,22 +5009,13 @@ func (p *GetEvalTargetRecordRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetEvalTargetRecordID { - fieldId = 2 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetEvalTargetRecordRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetEvalTargetRecordResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5364,44 +5023,28 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_GetEvalTargetRecordRequest[fieldId])) } -func (p *GetEvalTargetRecordRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *GetEvalTargetRecordResponse) ReadField1(iprot thrift.TProtocol) error { + _field := eval_target.NewEvalTargetRecord() + if err := _field.Read(iprot); err != nil { return err - } else { - _field = v } - p.WorkspaceID = _field + p.EvalTargetRecord = _field return nil } -func (p *GetEvalTargetRecordRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *GetEvalTargetRecordResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { return err - } else { - _field = v } - p.EvalTargetRecordID = _field - return nil -} -func (p *GetEvalTargetRecordRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field + p.BaseResp = _field return nil } -func (p *GetEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *GetEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetRecordRequest"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetRecordResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5409,10 +5052,6 @@ func (p *GetEvalTargetRecordRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5435,15 +5074,17 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *GetEvalTargetRecordRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *GetEvalTargetRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEvalTargetRecord() { + if err = oprot.WriteFieldBegin("eval_target_record", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.EvalTargetRecord.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -5451,147 +5092,132 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *GetEvalTargetRecordRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("eval_target_record_id", thrift.I64, 2); err != nil { +func (p *GetEvalTargetRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.EvalTargetRecordID); err != nil { + if err := p.BaseResp.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { goto WriteFieldEndError } return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *GetEvalTargetRecordRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *GetEvalTargetRecordRequest) String() string { +func (p *GetEvalTargetRecordResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("GetEvalTargetRecordRequest(%+v)", *p) + return fmt.Sprintf("GetEvalTargetRecordResponse(%+v)", *p) } -func (p *GetEvalTargetRecordRequest) DeepEqual(ano *GetEvalTargetRecordRequest) bool { +func (p *GetEvalTargetRecordResponse) DeepEqual(ano *GetEvalTargetRecordResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.EvalTargetRecordID) { + if !p.Field1DeepEqual(ano.EvalTargetRecord) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *GetEvalTargetRecordRequest) Field1DeepEqual(src int64) bool { +func (p *GetEvalTargetRecordResponse) Field1DeepEqual(src *eval_target.EvalTargetRecord) bool { - if p.WorkspaceID != src { + if !p.EvalTargetRecord.DeepEqual(src) { return false } return true } -func (p *GetEvalTargetRecordRequest) Field2DeepEqual(src int64) bool { +func (p *GetEvalTargetRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.EvalTargetRecordID != src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *GetEvalTargetRecordRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false - } - return true +type BatchGetEvalTargetRecordsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + EvalTargetRecordIds []int64 `thrift:"eval_target_record_ids,2,optional" frugal:"2,optional,list" json:"eval_target_record_ids" form:"eval_target_record_ids" query:"eval_target_record_ids"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -type GetEvalTargetRecordResponse struct { - EvalTargetRecord *eval_target.EvalTargetRecord `thrift:"eval_target_record,1,optional" frugal:"1,optional,eval_target.EvalTargetRecord" form:"eval_target_record" json:"eval_target_record,omitempty" query:"eval_target_record"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +func NewBatchGetEvalTargetRecordsRequest() *BatchGetEvalTargetRecordsRequest { + return &BatchGetEvalTargetRecordsRequest{} } -func NewGetEvalTargetRecordResponse() *GetEvalTargetRecordResponse { - return &GetEvalTargetRecordResponse{} +func (p *BatchGetEvalTargetRecordsRequest) InitDefault() { } -func (p *GetEvalTargetRecordResponse) InitDefault() { +func (p *BatchGetEvalTargetRecordsRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return } -var GetEvalTargetRecordResponse_EvalTargetRecord_DEFAULT *eval_target.EvalTargetRecord +var BatchGetEvalTargetRecordsRequest_EvalTargetRecordIds_DEFAULT []int64 -func (p *GetEvalTargetRecordResponse) GetEvalTargetRecord() (v *eval_target.EvalTargetRecord) { +func (p *BatchGetEvalTargetRecordsRequest) GetEvalTargetRecordIds() (v []int64) { if p == nil { return } - if !p.IsSetEvalTargetRecord() { - return GetEvalTargetRecordResponse_EvalTargetRecord_DEFAULT + if !p.IsSetEvalTargetRecordIds() { + return BatchGetEvalTargetRecordsRequest_EvalTargetRecordIds_DEFAULT } - return p.EvalTargetRecord + return p.EvalTargetRecordIds } -var GetEvalTargetRecordResponse_BaseResp_DEFAULT *base.BaseResp +var BatchGetEvalTargetRecordsRequest_Base_DEFAULT *base.Base -func (p *GetEvalTargetRecordResponse) GetBaseResp() (v *base.BaseResp) { +func (p *BatchGetEvalTargetRecordsRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return GetEvalTargetRecordResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return BatchGetEvalTargetRecordsRequest_Base_DEFAULT } - return p.BaseResp + return p.Base } -func (p *GetEvalTargetRecordResponse) SetEvalTargetRecord(val *eval_target.EvalTargetRecord) { - p.EvalTargetRecord = val +func (p *BatchGetEvalTargetRecordsRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *GetEvalTargetRecordResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *BatchGetEvalTargetRecordsRequest) SetEvalTargetRecordIds(val []int64) { + p.EvalTargetRecordIds = val +} +func (p *BatchGetEvalTargetRecordsRequest) SetBase(val *base.Base) { + p.Base = val } -var fieldIDToName_GetEvalTargetRecordResponse = map[int16]string{ - 1: "eval_target_record", - 255: "BaseResp", +var fieldIDToName_BatchGetEvalTargetRecordsRequest = map[int16]string{ + 1: "workspace_id", + 2: "eval_target_record_ids", + 255: "Base", } -func (p *GetEvalTargetRecordResponse) IsSetEvalTargetRecord() bool { - return p.EvalTargetRecord != nil +func (p *BatchGetEvalTargetRecordsRequest) IsSetEvalTargetRecordIds() bool { + return p.EvalTargetRecordIds != nil } -func (p *GetEvalTargetRecordResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *BatchGetEvalTargetRecordsRequest) IsSetBase() bool { + return p.Base != nil } -func (p *GetEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetEvalTargetRecordsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5608,10 +5234,19 @@ func (p *GetEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5636,13 +5271,17 @@ func (p *GetEvalTargetRecordResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetEvalTargetRecordResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetEvalTargetRecordsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5650,28 +5289,56 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetEvalTargetRecordsRequest[fieldId])) } -func (p *GetEvalTargetRecordResponse) ReadField1(iprot thrift.TProtocol) error { - _field := eval_target.NewEvalTargetRecord() - if err := _field.Read(iprot); err != nil { +func (p *BatchGetEvalTargetRecordsRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - p.EvalTargetRecord = _field + p.WorkspaceID = _field return nil } -func (p *GetEvalTargetRecordResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *BatchGetEvalTargetRecordsRequest) ReadField2(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]int64, 0, size) + for i := 0; i < size; i++ { + + var _elem int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _elem = v + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.EvalTargetRecordIds = _field + return nil +} +func (p *BatchGetEvalTargetRecordsRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *GetEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetEvalTargetRecordsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetRecordResponse"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetRecordsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5679,6 +5346,10 @@ func (p *GetEvalTargetRecordResponse) Write(oprot thrift.TProtocol) (err error) fieldId = 1 goto WriteFieldError } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5701,12 +5372,36 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *GetEvalTargetRecordResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargetRecord() { - if err = oprot.WriteFieldBegin("eval_target_record", thrift.STRUCT, 1); err != nil { +func (p *BatchGetEvalTargetRecordsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *BatchGetEvalTargetRecordsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetEvalTargetRecordIds() { + if err = oprot.WriteFieldBegin("eval_target_record_ids", thrift.LIST, 2); err != nil { goto WriteFieldBeginError } - if err := p.EvalTargetRecord.Write(oprot); err != nil { + if err := oprot.WriteListBegin(thrift.I64, len(p.EvalTargetRecordIds)); err != nil { + return err + } + for _, v := range p.EvalTargetRecordIds { + if err := oprot.WriteI64(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5715,19 +5410,21 @@ func (p *GetEvalTargetRecordResponse) writeField1(oprot thrift.TProtocol) (err e } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *GetEvalTargetRecordResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *BatchGetEvalTargetRecordsRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -5736,115 +5433,110 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *GetEvalTargetRecordResponse) String() string { +func (p *BatchGetEvalTargetRecordsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("GetEvalTargetRecordResponse(%+v)", *p) + return fmt.Sprintf("BatchGetEvalTargetRecordsRequest(%+v)", *p) } -func (p *GetEvalTargetRecordResponse) DeepEqual(ano *GetEvalTargetRecordResponse) bool { +func (p *BatchGetEvalTargetRecordsRequest) DeepEqual(ano *BatchGetEvalTargetRecordsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EvalTargetRecord) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field2DeepEqual(ano.EvalTargetRecordIds) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *GetEvalTargetRecordResponse) Field1DeepEqual(src *eval_target.EvalTargetRecord) bool { +func (p *BatchGetEvalTargetRecordsRequest) Field1DeepEqual(src int64) bool { - if !p.EvalTargetRecord.DeepEqual(src) { + if p.WorkspaceID != src { return false } return true } -func (p *GetEvalTargetRecordResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *BatchGetEvalTargetRecordsRequest) Field2DeepEqual(src []int64) bool { - if !p.BaseResp.DeepEqual(src) { + if len(p.EvalTargetRecordIds) != len(src) { return false } + for i, v := range p.EvalTargetRecordIds { + _src := src[i] + if v != _src { + return false + } + } return true } +func (p *BatchGetEvalTargetRecordsRequest) Field255DeepEqual(src *base.Base) bool { -type BatchGetEvalTargetRecordsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - EvalTargetRecordIds []int64 `thrift:"eval_target_record_ids,2,optional" frugal:"2,optional,list" json:"eval_target_record_ids" form:"eval_target_record_ids" query:"eval_target_record_ids"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + if !p.Base.DeepEqual(src) { + return false + } + return true } -func NewBatchGetEvalTargetRecordsRequest() *BatchGetEvalTargetRecordsRequest { - return &BatchGetEvalTargetRecordsRequest{} +type BatchGetEvalTargetRecordsResponse struct { + EvalTargetRecords []*eval_target.EvalTargetRecord `thrift:"eval_target_records,1,required" frugal:"1,required,list" form:"eval_target_records,required" json:"eval_target_records,required" query:"eval_target_records,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func (p *BatchGetEvalTargetRecordsRequest) InitDefault() { +func NewBatchGetEvalTargetRecordsResponse() *BatchGetEvalTargetRecordsResponse { + return &BatchGetEvalTargetRecordsResponse{} } -func (p *BatchGetEvalTargetRecordsRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func (p *BatchGetEvalTargetRecordsResponse) InitDefault() { } -var BatchGetEvalTargetRecordsRequest_EvalTargetRecordIds_DEFAULT []int64 - -func (p *BatchGetEvalTargetRecordsRequest) GetEvalTargetRecordIds() (v []int64) { - if p == nil { - return - } - if !p.IsSetEvalTargetRecordIds() { - return BatchGetEvalTargetRecordsRequest_EvalTargetRecordIds_DEFAULT +func (p *BatchGetEvalTargetRecordsResponse) GetEvalTargetRecords() (v []*eval_target.EvalTargetRecord) { + if p != nil { + return p.EvalTargetRecords } - return p.EvalTargetRecordIds + return } -var BatchGetEvalTargetRecordsRequest_Base_DEFAULT *base.Base +var BatchGetEvalTargetRecordsResponse_BaseResp_DEFAULT *base.BaseResp -func (p *BatchGetEvalTargetRecordsRequest) GetBase() (v *base.Base) { +func (p *BatchGetEvalTargetRecordsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return BatchGetEvalTargetRecordsRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return BatchGetEvalTargetRecordsResponse_BaseResp_DEFAULT } - return p.Base -} -func (p *BatchGetEvalTargetRecordsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *BatchGetEvalTargetRecordsRequest) SetEvalTargetRecordIds(val []int64) { - p.EvalTargetRecordIds = val + return p.BaseResp } -func (p *BatchGetEvalTargetRecordsRequest) SetBase(val *base.Base) { - p.Base = val +func (p *BatchGetEvalTargetRecordsResponse) SetEvalTargetRecords(val []*eval_target.EvalTargetRecord) { + p.EvalTargetRecords = val } - -var fieldIDToName_BatchGetEvalTargetRecordsRequest = map[int16]string{ - 1: "workspace_id", - 2: "eval_target_record_ids", - 255: "Base", +func (p *BatchGetEvalTargetRecordsResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *BatchGetEvalTargetRecordsRequest) IsSetEvalTargetRecordIds() bool { - return p.EvalTargetRecordIds != nil +var fieldIDToName_BatchGetEvalTargetRecordsResponse = map[int16]string{ + 1: "eval_target_records", + 255: "BaseResp", } -func (p *BatchGetEvalTargetRecordsRequest) IsSetBase() bool { - return p.Base != nil +func (p *BatchGetEvalTargetRecordsResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *BatchGetEvalTargetRecordsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetEvalTargetRecordsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false + var issetEvalTargetRecords bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5861,19 +5553,11 @@ func (p *BatchGetEvalTargetRecordsRequest) Read(iprot thrift.TProtocol) (err err switch fieldId { case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { + if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetEvalTargetRecords = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5898,7 +5582,7 @@ func (p *BatchGetEvalTargetRecordsRequest) Read(iprot thrift.TProtocol) (err err goto ReadStructEndError } - if !issetWorkspaceID { + if !issetEvalTargetRecords { fieldId = 1 goto RequiredFieldNotSetError } @@ -5908,7 +5592,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetEvalTargetRecordsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetEvalTargetRecordsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5917,33 +5601,22 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetEvalTargetRecordsRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetEvalTargetRecordsResponse[fieldId])) } -func (p *BatchGetEvalTargetRecordsRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *BatchGetEvalTargetRecordsRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *BatchGetEvalTargetRecordsResponse) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]int64, 0, size) + _field := make([]*eval_target.EvalTargetRecord, 0, size) + values := make([]eval_target.EvalTargetRecord, size) for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _elem int64 - if v, err := iprot.ReadI64(); err != nil { + if err := _elem.Read(iprot); err != nil { return err - } else { - _elem = v } _field = append(_field, _elem) @@ -5951,21 +5624,21 @@ func (p *BatchGetEvalTargetRecordsRequest) ReadField2(iprot thrift.TProtocol) er if err := iprot.ReadListEnd(); err != nil { return err } - p.EvalTargetRecordIds = _field + p.EvalTargetRecords = _field return nil } -func (p *BatchGetEvalTargetRecordsRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *BatchGetEvalTargetRecordsResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *BatchGetEvalTargetRecordsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetEvalTargetRecordsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetRecordsRequest"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetRecordsResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5973,10 +5646,6 @@ func (p *BatchGetEvalTargetRecordsRequest) Write(oprot thrift.TProtocol) (err er fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5999,11 +5668,19 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { +func (p *BatchGetEvalTargetRecordsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("eval_target_records", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargetRecords)); err != nil { + return err + } + for _, v := range p.EvalTargetRecords { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6015,43 +5692,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargetRecordIds() { - if err = oprot.WriteFieldBegin("eval_target_record_ids", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.I64, len(p.EvalTargetRecordIds)); err != nil { - return err - } - for _, v := range p.EvalTargetRecordIds { - if err := oprot.WriteI64(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *BatchGetEvalTargetRecordsResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *BatchGetEvalTargetRecordsRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -6060,110 +5709,185 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsRequest) String() string { +func (p *BatchGetEvalTargetRecordsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("BatchGetEvalTargetRecordsRequest(%+v)", *p) + return fmt.Sprintf("BatchGetEvalTargetRecordsResponse(%+v)", *p) } -func (p *BatchGetEvalTargetRecordsRequest) DeepEqual(ano *BatchGetEvalTargetRecordsRequest) bool { +func (p *BatchGetEvalTargetRecordsResponse) DeepEqual(ano *BatchGetEvalTargetRecordsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.EvalTargetRecordIds) { + if !p.Field1DeepEqual(ano.EvalTargetRecords) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *BatchGetEvalTargetRecordsRequest) Field1DeepEqual(src int64) bool { +func (p *BatchGetEvalTargetRecordsResponse) Field1DeepEqual(src []*eval_target.EvalTargetRecord) bool { - if p.WorkspaceID != src { + if len(p.EvalTargetRecords) != len(src) { return false } + for i, v := range p.EvalTargetRecords { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -func (p *BatchGetEvalTargetRecordsRequest) Field2DeepEqual(src []int64) bool { +func (p *BatchGetEvalTargetRecordsResponse) Field255DeepEqual(src *base.BaseResp) bool { - if len(p.EvalTargetRecordIds) != len(src) { + if !p.BaseResp.DeepEqual(src) { return false } - for i, v := range p.EvalTargetRecordIds { - _src := src[i] - if v != _src { - return false - } - } return true } -func (p *BatchGetEvalTargetRecordsRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false +type ListSourceEvalTargetsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + TargetType *eval_target.EvalTargetType `thrift:"target_type,2,optional" frugal:"2,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` + // 用户模糊搜索bot名称、promptkey + Name *string `thrift:"name,3,optional" frugal:"3,optional,string" form:"name" json:"name,omitempty" query:"name"` + PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` + PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +} + +func NewListSourceEvalTargetsRequest() *ListSourceEvalTargetsRequest { + return &ListSourceEvalTargetsRequest{} +} + +func (p *ListSourceEvalTargetsRequest) InitDefault() { +} + +func (p *ListSourceEvalTargetsRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID } - return true + return } -type BatchGetEvalTargetRecordsResponse struct { - EvalTargetRecords []*eval_target.EvalTargetRecord `thrift:"eval_target_records,1,required" frugal:"1,required,list" form:"eval_target_records,required" json:"eval_target_records,required" query:"eval_target_records,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +var ListSourceEvalTargetsRequest_TargetType_DEFAULT eval_target.EvalTargetType + +func (p *ListSourceEvalTargetsRequest) GetTargetType() (v eval_target.EvalTargetType) { + if p == nil { + return + } + if !p.IsSetTargetType() { + return ListSourceEvalTargetsRequest_TargetType_DEFAULT + } + return *p.TargetType } -func NewBatchGetEvalTargetRecordsResponse() *BatchGetEvalTargetRecordsResponse { - return &BatchGetEvalTargetRecordsResponse{} +var ListSourceEvalTargetsRequest_Name_DEFAULT string + +func (p *ListSourceEvalTargetsRequest) GetName() (v string) { + if p == nil { + return + } + if !p.IsSetName() { + return ListSourceEvalTargetsRequest_Name_DEFAULT + } + return *p.Name } -func (p *BatchGetEvalTargetRecordsResponse) InitDefault() { +var ListSourceEvalTargetsRequest_PageSize_DEFAULT int32 + +func (p *ListSourceEvalTargetsRequest) GetPageSize() (v int32) { + if p == nil { + return + } + if !p.IsSetPageSize() { + return ListSourceEvalTargetsRequest_PageSize_DEFAULT + } + return *p.PageSize } -func (p *BatchGetEvalTargetRecordsResponse) GetEvalTargetRecords() (v []*eval_target.EvalTargetRecord) { - if p != nil { - return p.EvalTargetRecords +var ListSourceEvalTargetsRequest_PageToken_DEFAULT string + +func (p *ListSourceEvalTargetsRequest) GetPageToken() (v string) { + if p == nil { + return } - return + if !p.IsSetPageToken() { + return ListSourceEvalTargetsRequest_PageToken_DEFAULT + } + return *p.PageToken } -var BatchGetEvalTargetRecordsResponse_BaseResp_DEFAULT *base.BaseResp +var ListSourceEvalTargetsRequest_Base_DEFAULT *base.Base -func (p *BatchGetEvalTargetRecordsResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListSourceEvalTargetsRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return BatchGetEvalTargetRecordsResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return ListSourceEvalTargetsRequest_Base_DEFAULT } - return p.BaseResp + return p.Base } -func (p *BatchGetEvalTargetRecordsResponse) SetEvalTargetRecords(val []*eval_target.EvalTargetRecord) { - p.EvalTargetRecords = val +func (p *ListSourceEvalTargetsRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *BatchGetEvalTargetRecordsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *ListSourceEvalTargetsRequest) SetTargetType(val *eval_target.EvalTargetType) { + p.TargetType = val +} +func (p *ListSourceEvalTargetsRequest) SetName(val *string) { + p.Name = val +} +func (p *ListSourceEvalTargetsRequest) SetPageSize(val *int32) { + p.PageSize = val +} +func (p *ListSourceEvalTargetsRequest) SetPageToken(val *string) { + p.PageToken = val +} +func (p *ListSourceEvalTargetsRequest) SetBase(val *base.Base) { + p.Base = val } -var fieldIDToName_BatchGetEvalTargetRecordsResponse = map[int16]string{ - 1: "eval_target_records", - 255: "BaseResp", +var fieldIDToName_ListSourceEvalTargetsRequest = map[int16]string{ + 1: "workspace_id", + 2: "target_type", + 3: "name", + 100: "page_size", + 101: "page_token", + 255: "Base", } -func (p *BatchGetEvalTargetRecordsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *ListSourceEvalTargetsRequest) IsSetTargetType() bool { + return p.TargetType != nil } -func (p *BatchGetEvalTargetRecordsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetsRequest) IsSetName() bool { + return p.Name != nil +} + +func (p *ListSourceEvalTargetsRequest) IsSetPageSize() bool { + return p.PageSize != nil +} + +func (p *ListSourceEvalTargetsRequest) IsSetPageToken() bool { + return p.PageToken != nil +} + +func (p *ListSourceEvalTargetsRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *ListSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetEvalTargetRecords bool = false + var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -6180,11 +5904,43 @@ func (p *BatchGetEvalTargetRecordsResponse) Read(iprot thrift.TProtocol) (err er switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetEvalTargetRecords = true + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I32 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 100: + if fieldTypeId == thrift.I32 { + if err = p.ReadField100(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 101: + if fieldTypeId == thrift.STRING { + if err = p.ReadField101(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6209,7 +5965,7 @@ func (p *BatchGetEvalTargetRecordsResponse) Read(iprot thrift.TProtocol) (err er goto ReadStructEndError } - if !issetEvalTargetRecords { + if !issetWorkspaceID { fieldId = 1 goto RequiredFieldNotSetError } @@ -6219,7 +5975,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetEvalTargetRecordsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6228,50 +5984,99 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetEvalTargetRecordsResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSourceEvalTargetsRequest[fieldId])) } -func (p *BatchGetEvalTargetRecordsResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { +func (p *ListSourceEvalTargetsRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - _field := make([]*eval_target.EvalTargetRecord, 0, size) - values := make([]eval_target.EvalTargetRecord, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } + p.WorkspaceID = _field + return nil +} +func (p *ListSourceEvalTargetsRequest) ReadField2(iprot thrift.TProtocol) error { - _field = append(_field, _elem) + var _field *eval_target.EvalTargetType + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + tmp := eval_target.EvalTargetType(v) + _field = &tmp } - if err := iprot.ReadListEnd(); err != nil { + p.TargetType = _field + return nil +} +func (p *ListSourceEvalTargetsRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field *string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = &v } - p.EvalTargetRecords = _field + p.Name = _field return nil } -func (p *BatchGetEvalTargetRecordsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { +func (p *ListSourceEvalTargetsRequest) ReadField100(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { return err + } else { + _field = &v } - p.BaseResp = _field + p.PageSize = _field return nil } +func (p *ListSourceEvalTargetsRequest) ReadField101(iprot thrift.TProtocol) error { -func (p *BatchGetEvalTargetRecordsResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetRecordsResponse"); err != nil { - goto WriteStructBeginError + var _field *string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError + p.PageToken = _field + return nil +} +func (p *ListSourceEvalTargetsRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *ListSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("ListSourceEvalTargetsRequest"); err != nil { + goto WriteStructBeginError + } + if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField100(oprot); err != nil { + fieldId = 100 + goto WriteFieldError + } + if err = p.writeField101(oprot); err != nil { + fieldId = 101 + goto WriteFieldError } if err = p.writeField255(oprot); err != nil { fieldId = 255 @@ -6295,19 +6100,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("eval_target_records", thrift.LIST, 1); err != nil { +func (p *ListSourceEvalTargetsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargetRecords)); err != nil { - return err - } - for _, v := range p.EvalTargetRecords { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6319,15 +6116,89 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError +func (p *ListSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetTargetType() { + if err = oprot.WriteFieldBegin("target_type", thrift.I32, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - if err := p.BaseResp.Write(oprot); err != nil { - return err + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ListSourceEvalTargetsRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetName() { + if err = oprot.WriteFieldBegin("name", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Name); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ListSourceEvalTargetsRequest) writeField100(oprot thrift.TProtocol) (err error) { + if p.IsSetPageSize() { + if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageSize); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) +} +func (p *ListSourceEvalTargetsRequest) writeField101(oprot thrift.TProtocol) (err error) { + if p.IsSetPageToken() { + if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PageToken); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) +} +func (p *ListSourceEvalTargetsRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -6336,185 +6207,204 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *BatchGetEvalTargetRecordsResponse) String() string { +func (p *ListSourceEvalTargetsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("BatchGetEvalTargetRecordsResponse(%+v)", *p) + return fmt.Sprintf("ListSourceEvalTargetsRequest(%+v)", *p) } -func (p *BatchGetEvalTargetRecordsResponse) DeepEqual(ano *BatchGetEvalTargetRecordsResponse) bool { +func (p *ListSourceEvalTargetsRequest) DeepEqual(ano *ListSourceEvalTargetsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EvalTargetRecords) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field2DeepEqual(ano.TargetType) { + return false + } + if !p.Field3DeepEqual(ano.Name) { + return false + } + if !p.Field100DeepEqual(ano.PageSize) { + return false + } + if !p.Field101DeepEqual(ano.PageToken) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *BatchGetEvalTargetRecordsResponse) Field1DeepEqual(src []*eval_target.EvalTargetRecord) bool { +func (p *ListSourceEvalTargetsRequest) Field1DeepEqual(src int64) bool { - if len(p.EvalTargetRecords) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.EvalTargetRecords { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *BatchGetEvalTargetRecordsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListSourceEvalTargetsRequest) Field2DeepEqual(src *eval_target.EvalTargetType) bool { - if !p.BaseResp.DeepEqual(src) { + if p.TargetType == src { + return true + } else if p.TargetType == nil || src == nil { + return false + } + if *p.TargetType != *src { return false } return true } +func (p *ListSourceEvalTargetsRequest) Field3DeepEqual(src *string) bool { -type ListSourceEvalTargetsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - TargetType *eval_target.EvalTargetType `thrift:"target_type,2,optional" frugal:"2,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` - // 用户模糊搜索bot名称、promptkey - Name *string `thrift:"name,3,optional" frugal:"3,optional,string" form:"name" json:"name,omitempty" query:"name"` - PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` - PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + if p.Name == src { + return true + } else if p.Name == nil || src == nil { + return false + } + if strings.Compare(*p.Name, *src) != 0 { + return false + } + return true } +func (p *ListSourceEvalTargetsRequest) Field100DeepEqual(src *int32) bool { -func NewListSourceEvalTargetsRequest() *ListSourceEvalTargetsRequest { - return &ListSourceEvalTargetsRequest{} + if p.PageSize == src { + return true + } else if p.PageSize == nil || src == nil { + return false + } + if *p.PageSize != *src { + return false + } + return true } +func (p *ListSourceEvalTargetsRequest) Field101DeepEqual(src *string) bool { -func (p *ListSourceEvalTargetsRequest) InitDefault() { + if p.PageToken == src { + return true + } else if p.PageToken == nil || src == nil { + return false + } + if strings.Compare(*p.PageToken, *src) != 0 { + return false + } + return true } +func (p *ListSourceEvalTargetsRequest) Field255DeepEqual(src *base.Base) bool { -func (p *ListSourceEvalTargetsRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID + if !p.Base.DeepEqual(src) { + return false } - return + return true } -var ListSourceEvalTargetsRequest_TargetType_DEFAULT eval_target.EvalTargetType +type ListSourceEvalTargetsResponse struct { + EvalTargets []*eval_target.EvalTarget `thrift:"eval_targets,1,optional" frugal:"1,optional,list" form:"eval_targets" json:"eval_targets,omitempty" query:"eval_targets"` + NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` + HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +} -func (p *ListSourceEvalTargetsRequest) GetTargetType() (v eval_target.EvalTargetType) { +func NewListSourceEvalTargetsResponse() *ListSourceEvalTargetsResponse { + return &ListSourceEvalTargetsResponse{} +} + +func (p *ListSourceEvalTargetsResponse) InitDefault() { +} + +var ListSourceEvalTargetsResponse_EvalTargets_DEFAULT []*eval_target.EvalTarget + +func (p *ListSourceEvalTargetsResponse) GetEvalTargets() (v []*eval_target.EvalTarget) { if p == nil { return } - if !p.IsSetTargetType() { - return ListSourceEvalTargetsRequest_TargetType_DEFAULT + if !p.IsSetEvalTargets() { + return ListSourceEvalTargetsResponse_EvalTargets_DEFAULT } - return *p.TargetType + return p.EvalTargets } -var ListSourceEvalTargetsRequest_Name_DEFAULT string +var ListSourceEvalTargetsResponse_NextPageToken_DEFAULT string -func (p *ListSourceEvalTargetsRequest) GetName() (v string) { - if p == nil { - return - } - if !p.IsSetName() { - return ListSourceEvalTargetsRequest_Name_DEFAULT - } - return *p.Name -} - -var ListSourceEvalTargetsRequest_PageSize_DEFAULT int32 - -func (p *ListSourceEvalTargetsRequest) GetPageSize() (v int32) { +func (p *ListSourceEvalTargetsResponse) GetNextPageToken() (v string) { if p == nil { return } - if !p.IsSetPageSize() { - return ListSourceEvalTargetsRequest_PageSize_DEFAULT + if !p.IsSetNextPageToken() { + return ListSourceEvalTargetsResponse_NextPageToken_DEFAULT } - return *p.PageSize + return *p.NextPageToken } -var ListSourceEvalTargetsRequest_PageToken_DEFAULT string +var ListSourceEvalTargetsResponse_HasMore_DEFAULT bool -func (p *ListSourceEvalTargetsRequest) GetPageToken() (v string) { +func (p *ListSourceEvalTargetsResponse) GetHasMore() (v bool) { if p == nil { return } - if !p.IsSetPageToken() { - return ListSourceEvalTargetsRequest_PageToken_DEFAULT + if !p.IsSetHasMore() { + return ListSourceEvalTargetsResponse_HasMore_DEFAULT } - return *p.PageToken + return *p.HasMore } -var ListSourceEvalTargetsRequest_Base_DEFAULT *base.Base +var ListSourceEvalTargetsResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ListSourceEvalTargetsRequest) GetBase() (v *base.Base) { +func (p *ListSourceEvalTargetsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return ListSourceEvalTargetsRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return ListSourceEvalTargetsResponse_BaseResp_DEFAULT } - return p.Base -} -func (p *ListSourceEvalTargetsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ListSourceEvalTargetsRequest) SetTargetType(val *eval_target.EvalTargetType) { - p.TargetType = val -} -func (p *ListSourceEvalTargetsRequest) SetName(val *string) { - p.Name = val + return p.BaseResp } -func (p *ListSourceEvalTargetsRequest) SetPageSize(val *int32) { - p.PageSize = val +func (p *ListSourceEvalTargetsResponse) SetEvalTargets(val []*eval_target.EvalTarget) { + p.EvalTargets = val } -func (p *ListSourceEvalTargetsRequest) SetPageToken(val *string) { - p.PageToken = val +func (p *ListSourceEvalTargetsResponse) SetNextPageToken(val *string) { + p.NextPageToken = val } -func (p *ListSourceEvalTargetsRequest) SetBase(val *base.Base) { - p.Base = val +func (p *ListSourceEvalTargetsResponse) SetHasMore(val *bool) { + p.HasMore = val } - -var fieldIDToName_ListSourceEvalTargetsRequest = map[int16]string{ - 1: "workspace_id", - 2: "target_type", - 3: "name", - 100: "page_size", - 101: "page_token", - 255: "Base", +func (p *ListSourceEvalTargetsResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *ListSourceEvalTargetsRequest) IsSetTargetType() bool { - return p.TargetType != nil +var fieldIDToName_ListSourceEvalTargetsResponse = map[int16]string{ + 1: "eval_targets", + 100: "next_page_token", + 101: "has_more", + 255: "BaseResp", } -func (p *ListSourceEvalTargetsRequest) IsSetName() bool { - return p.Name != nil +func (p *ListSourceEvalTargetsResponse) IsSetEvalTargets() bool { + return p.EvalTargets != nil } -func (p *ListSourceEvalTargetsRequest) IsSetPageSize() bool { - return p.PageSize != nil +func (p *ListSourceEvalTargetsResponse) IsSetNextPageToken() bool { + return p.NextPageToken != nil } -func (p *ListSourceEvalTargetsRequest) IsSetPageToken() bool { - return p.PageToken != nil +func (p *ListSourceEvalTargetsResponse) IsSetHasMore() bool { + return p.HasMore != nil } -func (p *ListSourceEvalTargetsRequest) IsSetBase() bool { - return p.Base != nil +func (p *ListSourceEvalTargetsResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *ListSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -6531,32 +6421,15 @@ func (p *ListSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I32 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 100: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.STRING { if err = p.ReadField100(iprot); err != nil { goto ReadFieldError } @@ -6564,7 +6437,7 @@ func (p *ListSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) goto SkipFieldError } case 101: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.BOOL { if err = p.ReadField101(iprot); err != nil { goto ReadFieldError } @@ -6592,17 +6465,13 @@ func (p *ListSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6610,34 +6479,32 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSourceEvalTargetsRequest[fieldId])) } -func (p *ListSourceEvalTargetsRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *ListSourceEvalTargetsResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { return err - } else { - _field = v } - p.WorkspaceID = _field - return nil -} -func (p *ListSourceEvalTargetsRequest) ReadField2(iprot thrift.TProtocol) error { + _field := make([]*eval_target.EvalTarget, 0, size) + values := make([]eval_target.EvalTarget, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _field *eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { return err - } else { - tmp := eval_target.EvalTargetType(v) - _field = &tmp } - p.TargetType = _field + p.EvalTargets = _field return nil } -func (p *ListSourceEvalTargetsRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ListSourceEvalTargetsResponse) ReadField100(iprot thrift.TProtocol) error { var _field *string if v, err := iprot.ReadString(); err != nil { @@ -6645,43 +6512,32 @@ func (p *ListSourceEvalTargetsRequest) ReadField3(iprot thrift.TProtocol) error } else { _field = &v } - p.Name = _field - return nil -} -func (p *ListSourceEvalTargetsRequest) ReadField100(iprot thrift.TProtocol) error { - - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v - } - p.PageSize = _field + p.NextPageToken = _field return nil } -func (p *ListSourceEvalTargetsRequest) ReadField101(iprot thrift.TProtocol) error { +func (p *ListSourceEvalTargetsResponse) ReadField101(iprot thrift.TProtocol) error { - var _field *string - if v, err := iprot.ReadString(); err != nil { + var _field *bool + if v, err := iprot.ReadBool(); err != nil { return err } else { _field = &v } - p.PageToken = _field + p.HasMore = _field return nil } -func (p *ListSourceEvalTargetsRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *ListSourceEvalTargetsResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *ListSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetsRequest"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargetsResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -6689,14 +6545,6 @@ func (p *ListSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err error) fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } if err = p.writeField100(oprot); err != nil { fieldId = 100 goto WriteFieldError @@ -6727,28 +6575,20 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSourceEvalTargetsRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ListSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetTargetType() { - if err = oprot.WriteFieldBegin("target_type", thrift.I32, 2); err != nil { +func (p *ListSourceEvalTargetsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEvalTargets() { + if err = oprot.WriteFieldBegin("eval_targets", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargets)); err != nil { + return err + } + for _, v := range p.EvalTargets { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6757,16 +6597,16 @@ func (p *ListSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSourceEvalTargetsRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetName() { - if err = oprot.WriteFieldBegin("name", thrift.STRING, 3); err != nil { +func (p *ListSourceEvalTargetsResponse) writeField100(oprot thrift.TProtocol) (err error) { + if p.IsSetNextPageToken() { + if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.Name); err != nil { + if err := oprot.WriteString(*p.NextPageToken); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6775,34 +6615,16 @@ func (p *ListSourceEvalTargetsRequest) writeField3(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) } -func (p *ListSourceEvalTargetsRequest) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetPageSize() { - if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { +func (p *ListSourceEvalTargetsResponse) writeField101(oprot thrift.TProtocol) (err error) { + if p.IsSetHasMore() { + if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(*p.PageSize); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) -} -func (p *ListSourceEvalTargetsRequest) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetPageToken() { - if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PageToken); err != nil { + if err := oprot.WriteBool(*p.HasMore); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6815,17 +6637,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) } -func (p *ListSourceEvalTargetsRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSourceEvalTargetsResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -6834,204 +6654,172 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSourceEvalTargetsRequest) String() string { +func (p *ListSourceEvalTargetsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSourceEvalTargetsRequest(%+v)", *p) + return fmt.Sprintf("ListSourceEvalTargetsResponse(%+v)", *p) } -func (p *ListSourceEvalTargetsRequest) DeepEqual(ano *ListSourceEvalTargetsRequest) bool { +func (p *ListSourceEvalTargetsResponse) DeepEqual(ano *ListSourceEvalTargetsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.TargetType) { - return false - } - if !p.Field3DeepEqual(ano.Name) { - return false - } - if !p.Field100DeepEqual(ano.PageSize) { + if !p.Field1DeepEqual(ano.EvalTargets) { return false } - if !p.Field101DeepEqual(ano.PageToken) { + if !p.Field100DeepEqual(ano.NextPageToken) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field101DeepEqual(ano.HasMore) { return false } - return true -} - -func (p *ListSourceEvalTargetsRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *ListSourceEvalTargetsRequest) Field2DeepEqual(src *eval_target.EvalTargetType) bool { - if p.TargetType == src { - return true - } else if p.TargetType == nil || src == nil { - return false - } - if *p.TargetType != *src { - return false - } - return true -} -func (p *ListSourceEvalTargetsRequest) Field3DeepEqual(src *string) bool { +func (p *ListSourceEvalTargetsResponse) Field1DeepEqual(src []*eval_target.EvalTarget) bool { - if p.Name == src { - return true - } else if p.Name == nil || src == nil { + if len(p.EvalTargets) != len(src) { return false } - if strings.Compare(*p.Name, *src) != 0 { - return false + for i, v := range p.EvalTargets { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } } return true } -func (p *ListSourceEvalTargetsRequest) Field100DeepEqual(src *int32) bool { +func (p *ListSourceEvalTargetsResponse) Field100DeepEqual(src *string) bool { - if p.PageSize == src { + if p.NextPageToken == src { return true - } else if p.PageSize == nil || src == nil { + } else if p.NextPageToken == nil || src == nil { return false } - if *p.PageSize != *src { + if strings.Compare(*p.NextPageToken, *src) != 0 { return false } return true } -func (p *ListSourceEvalTargetsRequest) Field101DeepEqual(src *string) bool { +func (p *ListSourceEvalTargetsResponse) Field101DeepEqual(src *bool) bool { - if p.PageToken == src { + if p.HasMore == src { return true - } else if p.PageToken == nil || src == nil { + } else if p.HasMore == nil || src == nil { return false } - if strings.Compare(*p.PageToken, *src) != 0 { + if *p.HasMore != *src { return false } return true } -func (p *ListSourceEvalTargetsRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListSourceEvalTargetsResponse) Field255DeepEqual(src *base.BaseResp) bool { - if !p.Base.DeepEqual(src) { + if !p.BaseResp.DeepEqual(src) { return false } return true } -type ListSourceEvalTargetsResponse struct { - EvalTargets []*eval_target.EvalTarget `thrift:"eval_targets,1,optional" frugal:"1,optional,list" form:"eval_targets" json:"eval_targets,omitempty" query:"eval_targets"` - NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` - HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +type BatchGetSourceEvalTargetsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + SourceTargetIds []string `thrift:"source_target_ids,2,optional" frugal:"2,optional,list" form:"source_target_ids" json:"source_target_ids,omitempty" query:"source_target_ids"` + TargetType *eval_target.EvalTargetType `thrift:"target_type,3,optional" frugal:"3,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewListSourceEvalTargetsResponse() *ListSourceEvalTargetsResponse { - return &ListSourceEvalTargetsResponse{} +func NewBatchGetSourceEvalTargetsRequest() *BatchGetSourceEvalTargetsRequest { + return &BatchGetSourceEvalTargetsRequest{} } -func (p *ListSourceEvalTargetsResponse) InitDefault() { +func (p *BatchGetSourceEvalTargetsRequest) InitDefault() { } -var ListSourceEvalTargetsResponse_EvalTargets_DEFAULT []*eval_target.EvalTarget - -func (p *ListSourceEvalTargetsResponse) GetEvalTargets() (v []*eval_target.EvalTarget) { - if p == nil { - return - } - if !p.IsSetEvalTargets() { - return ListSourceEvalTargetsResponse_EvalTargets_DEFAULT +func (p *BatchGetSourceEvalTargetsRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID } - return p.EvalTargets + return } -var ListSourceEvalTargetsResponse_NextPageToken_DEFAULT string +var BatchGetSourceEvalTargetsRequest_SourceTargetIds_DEFAULT []string -func (p *ListSourceEvalTargetsResponse) GetNextPageToken() (v string) { +func (p *BatchGetSourceEvalTargetsRequest) GetSourceTargetIds() (v []string) { if p == nil { return } - if !p.IsSetNextPageToken() { - return ListSourceEvalTargetsResponse_NextPageToken_DEFAULT + if !p.IsSetSourceTargetIds() { + return BatchGetSourceEvalTargetsRequest_SourceTargetIds_DEFAULT } - return *p.NextPageToken + return p.SourceTargetIds } -var ListSourceEvalTargetsResponse_HasMore_DEFAULT bool +var BatchGetSourceEvalTargetsRequest_TargetType_DEFAULT eval_target.EvalTargetType -func (p *ListSourceEvalTargetsResponse) GetHasMore() (v bool) { +func (p *BatchGetSourceEvalTargetsRequest) GetTargetType() (v eval_target.EvalTargetType) { if p == nil { return } - if !p.IsSetHasMore() { - return ListSourceEvalTargetsResponse_HasMore_DEFAULT + if !p.IsSetTargetType() { + return BatchGetSourceEvalTargetsRequest_TargetType_DEFAULT } - return *p.HasMore + return *p.TargetType } -var ListSourceEvalTargetsResponse_BaseResp_DEFAULT *base.BaseResp +var BatchGetSourceEvalTargetsRequest_Base_DEFAULT *base.Base -func (p *ListSourceEvalTargetsResponse) GetBaseResp() (v *base.BaseResp) { +func (p *BatchGetSourceEvalTargetsRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return ListSourceEvalTargetsResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return BatchGetSourceEvalTargetsRequest_Base_DEFAULT } - return p.BaseResp -} -func (p *ListSourceEvalTargetsResponse) SetEvalTargets(val []*eval_target.EvalTarget) { - p.EvalTargets = val + return p.Base } -func (p *ListSourceEvalTargetsResponse) SetNextPageToken(val *string) { - p.NextPageToken = val +func (p *BatchGetSourceEvalTargetsRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *ListSourceEvalTargetsResponse) SetHasMore(val *bool) { - p.HasMore = val +func (p *BatchGetSourceEvalTargetsRequest) SetSourceTargetIds(val []string) { + p.SourceTargetIds = val } -func (p *ListSourceEvalTargetsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *BatchGetSourceEvalTargetsRequest) SetTargetType(val *eval_target.EvalTargetType) { + p.TargetType = val } - -var fieldIDToName_ListSourceEvalTargetsResponse = map[int16]string{ - 1: "eval_targets", - 100: "next_page_token", - 101: "has_more", - 255: "BaseResp", +func (p *BatchGetSourceEvalTargetsRequest) SetBase(val *base.Base) { + p.Base = val } -func (p *ListSourceEvalTargetsResponse) IsSetEvalTargets() bool { - return p.EvalTargets != nil +var fieldIDToName_BatchGetSourceEvalTargetsRequest = map[int16]string{ + 1: "workspace_id", + 2: "source_target_ids", + 3: "target_type", + 255: "Base", } -func (p *ListSourceEvalTargetsResponse) IsSetNextPageToken() bool { - return p.NextPageToken != nil +func (p *BatchGetSourceEvalTargetsRequest) IsSetSourceTargetIds() bool { + return p.SourceTargetIds != nil } -func (p *ListSourceEvalTargetsResponse) IsSetHasMore() bool { - return p.HasMore != nil +func (p *BatchGetSourceEvalTargetsRequest) IsSetTargetType() bool { + return p.TargetType != nil } -func (p *ListSourceEvalTargetsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *BatchGetSourceEvalTargetsRequest) IsSetBase() bool { + return p.Base != nil } -func (p *ListSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -7048,24 +6836,25 @@ func (p *ListSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 100: - if fieldTypeId == thrift.STRING { - if err = p.ReadField100(iprot); err != nil { + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 101: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField101(iprot); err != nil { + case 3: + if fieldTypeId == thrift.I32 { + if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -7092,13 +6881,17 @@ func (p *ListSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetSourceEvalTargetsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7106,21 +6899,34 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetSourceEvalTargetsRequest[fieldId])) } -func (p *ListSourceEvalTargetsResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *BatchGetSourceEvalTargetsRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *BatchGetSourceEvalTargetsRequest) ReadField2(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*eval_target.EvalTarget, 0, size) - values := make([]eval_target.EvalTarget, size) + _field := make([]string, 0, size) for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if err := _elem.Read(iprot); err != nil { + var _elem string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _elem = v } _field = append(_field, _elem) @@ -7128,43 +6934,33 @@ func (p *ListSourceEvalTargetsResponse) ReadField1(iprot thrift.TProtocol) error if err := iprot.ReadListEnd(); err != nil { return err } - p.EvalTargets = _field - return nil -} -func (p *ListSourceEvalTargetsResponse) ReadField100(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.NextPageToken = _field + p.SourceTargetIds = _field return nil } -func (p *ListSourceEvalTargetsResponse) ReadField101(iprot thrift.TProtocol) error { +func (p *BatchGetSourceEvalTargetsRequest) ReadField3(iprot thrift.TProtocol) error { - var _field *bool - if v, err := iprot.ReadBool(); err != nil { + var _field *eval_target.EvalTargetType + if v, err := iprot.ReadI32(); err != nil { return err } else { - _field = &v + tmp := eval_target.EvalTargetType(v) + _field = &tmp } - p.HasMore = _field + p.TargetType = _field return nil } -func (p *ListSourceEvalTargetsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *BatchGetSourceEvalTargetsRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *ListSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetsResponse"); err != nil { + if err = oprot.WriteStructBegin("BatchGetSourceEvalTargetsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -7172,12 +6968,12 @@ func (p *ListSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err error fieldId = 1 goto WriteFieldError } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 + if err = p.writeField2(oprot); err != nil { + fieldId = 2 goto WriteFieldError } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 + if err = p.writeField3(oprot); err != nil { + fieldId = 3 goto WriteFieldError } if err = p.writeField255(oprot); err != nil { @@ -7202,16 +6998,32 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSourceEvalTargetsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargets() { - if err = oprot.WriteFieldBegin("eval_targets", thrift.LIST, 1); err != nil { +func (p *BatchGetSourceEvalTargetsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *BatchGetSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetSourceTargetIds() { + if err = oprot.WriteFieldBegin("source_target_ids", thrift.LIST, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargets)); err != nil { + if err := oprot.WriteListBegin(thrift.STRING, len(p.SourceTargetIds)); err != nil { return err } - for _, v := range p.EvalTargets { - if err := v.Write(oprot); err != nil { + for _, v := range p.SourceTargetIds { + if err := oprot.WriteString(v); err != nil { return err } } @@ -7224,16 +7036,16 @@ func (p *ListSourceEvalTargetsResponse) writeField1(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListSourceEvalTargetsResponse) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetNextPageToken() { - if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { +func (p *BatchGetSourceEvalTargetsRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetTargetType() { + if err = oprot.WriteFieldBegin("target_type", thrift.I32, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.NextPageToken); err != nil { + if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -7242,16 +7054,16 @@ func (p *ListSourceEvalTargetsResponse) writeField100(oprot thrift.TProtocol) (e } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ListSourceEvalTargetsResponse) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetHasMore() { - if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { +func (p *BatchGetSourceEvalTargetsRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteBool(*p.HasMore); err != nil { + if err := p.Base.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -7259,194 +7071,139 @@ func (p *ListSourceEvalTargetsResponse) writeField101(oprot thrift.TProtocol) (e } } return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) -} -func (p *ListSourceEvalTargetsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSourceEvalTargetsResponse) String() string { +func (p *BatchGetSourceEvalTargetsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSourceEvalTargetsResponse(%+v)", *p) + return fmt.Sprintf("BatchGetSourceEvalTargetsRequest(%+v)", *p) } -func (p *ListSourceEvalTargetsResponse) DeepEqual(ano *ListSourceEvalTargetsResponse) bool { +func (p *BatchGetSourceEvalTargetsRequest) DeepEqual(ano *BatchGetSourceEvalTargetsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EvalTargets) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field100DeepEqual(ano.NextPageToken) { + if !p.Field2DeepEqual(ano.SourceTargetIds) { return false } - if !p.Field101DeepEqual(ano.HasMore) { + if !p.Field3DeepEqual(ano.TargetType) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *ListSourceEvalTargetsResponse) Field1DeepEqual(src []*eval_target.EvalTarget) bool { +func (p *BatchGetSourceEvalTargetsRequest) Field1DeepEqual(src int64) bool { - if len(p.EvalTargets) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.EvalTargets { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *ListSourceEvalTargetsResponse) Field100DeepEqual(src *string) bool { +func (p *BatchGetSourceEvalTargetsRequest) Field2DeepEqual(src []string) bool { - if p.NextPageToken == src { - return true - } else if p.NextPageToken == nil || src == nil { + if len(p.SourceTargetIds) != len(src) { return false } - if strings.Compare(*p.NextPageToken, *src) != 0 { - return false + for i, v := range p.SourceTargetIds { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } } return true } -func (p *ListSourceEvalTargetsResponse) Field101DeepEqual(src *bool) bool { +func (p *BatchGetSourceEvalTargetsRequest) Field3DeepEqual(src *eval_target.EvalTargetType) bool { - if p.HasMore == src { + if p.TargetType == src { return true - } else if p.HasMore == nil || src == nil { + } else if p.TargetType == nil || src == nil { return false } - if *p.HasMore != *src { + if *p.TargetType != *src { return false } return true } -func (p *ListSourceEvalTargetsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *BatchGetSourceEvalTargetsRequest) Field255DeepEqual(src *base.Base) bool { - if !p.BaseResp.DeepEqual(src) { + if !p.Base.DeepEqual(src) { return false } return true } -type BatchGetSourceEvalTargetsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - SourceTargetIds []string `thrift:"source_target_ids,2,optional" frugal:"2,optional,list" form:"source_target_ids" json:"source_target_ids,omitempty" query:"source_target_ids"` - TargetType *eval_target.EvalTargetType `thrift:"target_type,3,optional" frugal:"3,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewBatchGetSourceEvalTargetsRequest() *BatchGetSourceEvalTargetsRequest { - return &BatchGetSourceEvalTargetsRequest{} -} - -func (p *BatchGetSourceEvalTargetsRequest) InitDefault() { +type BatchGetSourceEvalTargetsResponse struct { + EvalTargets []*eval_target.EvalTarget `thrift:"eval_targets,1,optional" frugal:"1,optional,list" form:"eval_targets" json:"eval_targets,omitempty" query:"eval_targets"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func (p *BatchGetSourceEvalTargetsRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func NewBatchGetSourceEvalTargetsResponse() *BatchGetSourceEvalTargetsResponse { + return &BatchGetSourceEvalTargetsResponse{} } -var BatchGetSourceEvalTargetsRequest_SourceTargetIds_DEFAULT []string - -func (p *BatchGetSourceEvalTargetsRequest) GetSourceTargetIds() (v []string) { - if p == nil { - return - } - if !p.IsSetSourceTargetIds() { - return BatchGetSourceEvalTargetsRequest_SourceTargetIds_DEFAULT - } - return p.SourceTargetIds +func (p *BatchGetSourceEvalTargetsResponse) InitDefault() { } -var BatchGetSourceEvalTargetsRequest_TargetType_DEFAULT eval_target.EvalTargetType +var BatchGetSourceEvalTargetsResponse_EvalTargets_DEFAULT []*eval_target.EvalTarget -func (p *BatchGetSourceEvalTargetsRequest) GetTargetType() (v eval_target.EvalTargetType) { +func (p *BatchGetSourceEvalTargetsResponse) GetEvalTargets() (v []*eval_target.EvalTarget) { if p == nil { return } - if !p.IsSetTargetType() { - return BatchGetSourceEvalTargetsRequest_TargetType_DEFAULT + if !p.IsSetEvalTargets() { + return BatchGetSourceEvalTargetsResponse_EvalTargets_DEFAULT } - return *p.TargetType + return p.EvalTargets } -var BatchGetSourceEvalTargetsRequest_Base_DEFAULT *base.Base +var BatchGetSourceEvalTargetsResponse_BaseResp_DEFAULT *base.BaseResp -func (p *BatchGetSourceEvalTargetsRequest) GetBase() (v *base.Base) { +func (p *BatchGetSourceEvalTargetsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return BatchGetSourceEvalTargetsRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return BatchGetSourceEvalTargetsResponse_BaseResp_DEFAULT } - return p.Base -} -func (p *BatchGetSourceEvalTargetsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *BatchGetSourceEvalTargetsRequest) SetSourceTargetIds(val []string) { - p.SourceTargetIds = val -} -func (p *BatchGetSourceEvalTargetsRequest) SetTargetType(val *eval_target.EvalTargetType) { - p.TargetType = val + return p.BaseResp } -func (p *BatchGetSourceEvalTargetsRequest) SetBase(val *base.Base) { - p.Base = val +func (p *BatchGetSourceEvalTargetsResponse) SetEvalTargets(val []*eval_target.EvalTarget) { + p.EvalTargets = val } - -var fieldIDToName_BatchGetSourceEvalTargetsRequest = map[int16]string{ - 1: "workspace_id", - 2: "source_target_ids", - 3: "target_type", - 255: "Base", +func (p *BatchGetSourceEvalTargetsResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *BatchGetSourceEvalTargetsRequest) IsSetSourceTargetIds() bool { - return p.SourceTargetIds != nil +var fieldIDToName_BatchGetSourceEvalTargetsResponse = map[int16]string{ + 1: "eval_targets", + 255: "BaseResp", } -func (p *BatchGetSourceEvalTargetsRequest) IsSetTargetType() bool { - return p.TargetType != nil +func (p *BatchGetSourceEvalTargetsResponse) IsSetEvalTargets() bool { + return p.EvalTargets != nil } -func (p *BatchGetSourceEvalTargetsRequest) IsSetBase() bool { - return p.Base != nil +func (p *BatchGetSourceEvalTargetsResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *BatchGetSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -7463,27 +7220,10 @@ func (p *BatchGetSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err err switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.I32 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -7508,17 +7248,13 @@ func (p *BatchGetSourceEvalTargetsRequest) Read(iprot thrift.TProtocol) (err err goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetSourceEvalTargetsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetSourceEvalTargetsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7526,34 +7262,21 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetSourceEvalTargetsRequest[fieldId])) } -func (p *BatchGetSourceEvalTargetsRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *BatchGetSourceEvalTargetsRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *BatchGetSourceEvalTargetsResponse) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]string, 0, size) + _field := make([]*eval_target.EvalTarget, 0, size) + values := make([]eval_target.EvalTarget, size) for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _elem string - if v, err := iprot.ReadString(); err != nil { + if err := _elem.Read(iprot); err != nil { return err - } else { - _elem = v } _field = append(_field, _elem) @@ -7561,33 +7284,21 @@ func (p *BatchGetSourceEvalTargetsRequest) ReadField2(iprot thrift.TProtocol) er if err := iprot.ReadListEnd(); err != nil { return err } - p.SourceTargetIds = _field - return nil -} -func (p *BatchGetSourceEvalTargetsRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field *eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - tmp := eval_target.EvalTargetType(v) - _field = &tmp - } - p.TargetType = _field + p.EvalTargets = _field return nil } -func (p *BatchGetSourceEvalTargetsRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *BatchGetSourceEvalTargetsResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *BatchGetSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetSourceEvalTargetsRequest"); err != nil { + if err = oprot.WriteStructBegin("BatchGetSourceEvalTargetsResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -7595,14 +7306,6 @@ func (p *BatchGetSourceEvalTargetsRequest) Write(oprot thrift.TProtocol) (err er fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -7625,32 +7328,16 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetSourceEvalTargetsRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *BatchGetSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetSourceTargetIds() { - if err = oprot.WriteFieldBegin("source_target_ids", thrift.LIST, 2); err != nil { +func (p *BatchGetSourceEvalTargetsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEvalTargets() { + if err = oprot.WriteFieldBegin("eval_targets", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRING, len(p.SourceTargetIds)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargets)); err != nil { return err } - for _, v := range p.SourceTargetIds { - if err := oprot.WriteString(v); err != nil { + for _, v := range p.EvalTargets { + if err := v.Write(oprot); err != nil { return err } } @@ -7663,39 +7350,19 @@ func (p *BatchGetSourceEvalTargetsRequest) writeField2(oprot thrift.TProtocol) ( } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetSourceEvalTargetsRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetTargetType() { - if err = oprot.WriteFieldBegin("target_type", thrift.I32, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *BatchGetSourceEvalTargetsResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *BatchGetSourceEvalTargetsRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -7704,133 +7371,176 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *BatchGetSourceEvalTargetsRequest) String() string { +func (p *BatchGetSourceEvalTargetsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("BatchGetSourceEvalTargetsRequest(%+v)", *p) + return fmt.Sprintf("BatchGetSourceEvalTargetsResponse(%+v)", *p) } -func (p *BatchGetSourceEvalTargetsRequest) DeepEqual(ano *BatchGetSourceEvalTargetsRequest) bool { +func (p *BatchGetSourceEvalTargetsResponse) DeepEqual(ano *BatchGetSourceEvalTargetsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.SourceTargetIds) { - return false - } - if !p.Field3DeepEqual(ano.TargetType) { + if !p.Field1DeepEqual(ano.EvalTargets) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *BatchGetSourceEvalTargetsRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { - return false - } - return true -} -func (p *BatchGetSourceEvalTargetsRequest) Field2DeepEqual(src []string) bool { +func (p *BatchGetSourceEvalTargetsResponse) Field1DeepEqual(src []*eval_target.EvalTarget) bool { - if len(p.SourceTargetIds) != len(src) { + if len(p.EvalTargets) != len(src) { return false } - for i, v := range p.SourceTargetIds { + for i, v := range p.EvalTargets { _src := src[i] - if strings.Compare(v, _src) != 0 { + if !v.DeepEqual(_src) { return false } } return true } -func (p *BatchGetSourceEvalTargetsRequest) Field3DeepEqual(src *eval_target.EvalTargetType) bool { +func (p *BatchGetSourceEvalTargetsResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.TargetType == src { - return true - } else if p.TargetType == nil || src == nil { - return false - } - if *p.TargetType != *src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *BatchGetSourceEvalTargetsRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false - } - return true +type ListSourceEvalTargetVersionsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + SourceTargetID string `thrift:"source_target_id,2,required" frugal:"2,required,string" form:"source_target_id,required" json:"source_target_id,required" query:"source_target_id,required"` + TargetType *eval_target.EvalTargetType `thrift:"target_type,3,optional" frugal:"3,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` + PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` + PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -type BatchGetSourceEvalTargetsResponse struct { - EvalTargets []*eval_target.EvalTarget `thrift:"eval_targets,1,optional" frugal:"1,optional,list" form:"eval_targets" json:"eval_targets,omitempty" query:"eval_targets"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +func NewListSourceEvalTargetVersionsRequest() *ListSourceEvalTargetVersionsRequest { + return &ListSourceEvalTargetVersionsRequest{} } -func NewBatchGetSourceEvalTargetsResponse() *BatchGetSourceEvalTargetsResponse { - return &BatchGetSourceEvalTargetsResponse{} +func (p *ListSourceEvalTargetVersionsRequest) InitDefault() { } -func (p *BatchGetSourceEvalTargetsResponse) InitDefault() { +func (p *ListSourceEvalTargetVersionsRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return } -var BatchGetSourceEvalTargetsResponse_EvalTargets_DEFAULT []*eval_target.EvalTarget +func (p *ListSourceEvalTargetVersionsRequest) GetSourceTargetID() (v string) { + if p != nil { + return p.SourceTargetID + } + return +} -func (p *BatchGetSourceEvalTargetsResponse) GetEvalTargets() (v []*eval_target.EvalTarget) { +var ListSourceEvalTargetVersionsRequest_TargetType_DEFAULT eval_target.EvalTargetType + +func (p *ListSourceEvalTargetVersionsRequest) GetTargetType() (v eval_target.EvalTargetType) { if p == nil { return } - if !p.IsSetEvalTargets() { - return BatchGetSourceEvalTargetsResponse_EvalTargets_DEFAULT + if !p.IsSetTargetType() { + return ListSourceEvalTargetVersionsRequest_TargetType_DEFAULT } - return p.EvalTargets + return *p.TargetType } -var BatchGetSourceEvalTargetsResponse_BaseResp_DEFAULT *base.BaseResp +var ListSourceEvalTargetVersionsRequest_PageSize_DEFAULT int32 -func (p *BatchGetSourceEvalTargetsResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListSourceEvalTargetVersionsRequest) GetPageSize() (v int32) { if p == nil { return } - if !p.IsSetBaseResp() { - return BatchGetSourceEvalTargetsResponse_BaseResp_DEFAULT + if !p.IsSetPageSize() { + return ListSourceEvalTargetVersionsRequest_PageSize_DEFAULT } - return p.BaseResp -} -func (p *BatchGetSourceEvalTargetsResponse) SetEvalTargets(val []*eval_target.EvalTarget) { - p.EvalTargets = val -} -func (p *BatchGetSourceEvalTargetsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_BatchGetSourceEvalTargetsResponse = map[int16]string{ - 1: "eval_targets", - 255: "BaseResp", + return *p.PageSize } -func (p *BatchGetSourceEvalTargetsResponse) IsSetEvalTargets() bool { - return p.EvalTargets != nil -} +var ListSourceEvalTargetVersionsRequest_PageToken_DEFAULT string -func (p *BatchGetSourceEvalTargetsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *ListSourceEvalTargetVersionsRequest) GetPageToken() (v string) { + if p == nil { + return + } + if !p.IsSetPageToken() { + return ListSourceEvalTargetVersionsRequest_PageToken_DEFAULT + } + return *p.PageToken } -func (p *BatchGetSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err error) { +var ListSourceEvalTargetVersionsRequest_Base_DEFAULT *base.Base + +func (p *ListSourceEvalTargetVersionsRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return ListSourceEvalTargetVersionsRequest_Base_DEFAULT + } + return p.Base +} +func (p *ListSourceEvalTargetVersionsRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ListSourceEvalTargetVersionsRequest) SetSourceTargetID(val string) { + p.SourceTargetID = val +} +func (p *ListSourceEvalTargetVersionsRequest) SetTargetType(val *eval_target.EvalTargetType) { + p.TargetType = val +} +func (p *ListSourceEvalTargetVersionsRequest) SetPageSize(val *int32) { + p.PageSize = val +} +func (p *ListSourceEvalTargetVersionsRequest) SetPageToken(val *string) { + p.PageToken = val +} +func (p *ListSourceEvalTargetVersionsRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_ListSourceEvalTargetVersionsRequest = map[int16]string{ + 1: "workspace_id", + 2: "source_target_id", + 3: "target_type", + 100: "page_size", + 101: "page_token", + 255: "Base", +} + +func (p *ListSourceEvalTargetVersionsRequest) IsSetTargetType() bool { + return p.TargetType != nil +} + +func (p *ListSourceEvalTargetVersionsRequest) IsSetPageSize() bool { + return p.PageSize != nil +} + +func (p *ListSourceEvalTargetVersionsRequest) IsSetPageToken() bool { + return p.PageToken != nil +} + +func (p *ListSourceEvalTargetVersionsRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *ListSourceEvalTargetVersionsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false + var issetSourceTargetID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -7847,10 +7557,44 @@ func (p *BatchGetSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err er switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetSourceTargetID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.I32 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 100: + if fieldTypeId == thrift.I32 { + if err = p.ReadField100(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 101: + if fieldTypeId == thrift.STRING { + if err = p.ReadField101(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -7875,13 +7619,22 @@ func (p *BatchGetSourceEvalTargetsResponse) Read(iprot thrift.TProtocol) (err er goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetSourceTargetID { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetSourceEvalTargetsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetVersionsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7889,43 +7642,78 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSourceEvalTargetVersionsRequest[fieldId])) } -func (p *BatchGetSourceEvalTargetsResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { +func (p *ListSourceEvalTargetVersionsRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - _field := make([]*eval_target.EvalTarget, 0, size) - values := make([]eval_target.EvalTarget, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() + p.WorkspaceID = _field + return nil +} +func (p *ListSourceEvalTargetVersionsRequest) ReadField2(iprot thrift.TProtocol) error { - if err := _elem.Read(iprot); err != nil { - return err - } + var _field string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.SourceTargetID = _field + return nil +} +func (p *ListSourceEvalTargetVersionsRequest) ReadField3(iprot thrift.TProtocol) error { - _field = append(_field, _elem) + var _field *eval_target.EvalTargetType + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + tmp := eval_target.EvalTargetType(v) + _field = &tmp } - if err := iprot.ReadListEnd(); err != nil { + p.TargetType = _field + return nil +} +func (p *ListSourceEvalTargetVersionsRequest) ReadField100(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { return err + } else { + _field = &v } - p.EvalTargets = _field + p.PageSize = _field return nil } -func (p *BatchGetSourceEvalTargetsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *ListSourceEvalTargetVersionsRequest) ReadField101(iprot thrift.TProtocol) error { + + var _field *string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.PageToken = _field + return nil +} +func (p *ListSourceEvalTargetVersionsRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *BatchGetSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetVersionsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetSourceEvalTargetsResponse"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargetVersionsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -7933,6 +7721,22 @@ func (p *BatchGetSourceEvalTargetsResponse) Write(oprot thrift.TProtocol) (err e fieldId = 1 goto WriteFieldError } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField100(oprot); err != nil { + fieldId = 100 + goto WriteFieldError + } + if err = p.writeField101(oprot); err != nil { + fieldId = 101 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -7955,25 +7759,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetSourceEvalTargetsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargets() { - if err = oprot.WriteFieldBegin("eval_targets", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.EvalTargets)); err != nil { - return err - } - for _, v := range p.EvalTargets { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSourceEvalTargetVersionsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -7981,11 +7775,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetSourceEvalTargetsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { +func (p *ListSourceEvalTargetVersionsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("source_target_id", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := p.BaseResp.Write(oprot); err != nil { + if err := oprot.WriteString(p.SourceTargetID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -7993,181 +7787,276 @@ func (p *BatchGetSourceEvalTargetsResponse) writeField255(oprot thrift.TProtocol } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *BatchGetSourceEvalTargetsResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("BatchGetSourceEvalTargetsResponse(%+v)", *p) - + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } - -func (p *BatchGetSourceEvalTargetsResponse) DeepEqual(ano *BatchGetSourceEvalTargetsResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false +func (p *ListSourceEvalTargetVersionsRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetTargetType() { + if err = oprot.WriteFieldBegin("target_type", thrift.I32, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - if !p.Field1DeepEqual(ano.EvalTargets) { + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ListSourceEvalTargetVersionsRequest) writeField100(oprot thrift.TProtocol) (err error) { + if p.IsSetPageSize() { + if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.PageSize); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) +} +func (p *ListSourceEvalTargetVersionsRequest) writeField101(oprot thrift.TProtocol) (err error) { + if p.IsSetPageToken() { + if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PageToken); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) +} +func (p *ListSourceEvalTargetVersionsRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} + +func (p *ListSourceEvalTargetVersionsRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("ListSourceEvalTargetVersionsRequest(%+v)", *p) + +} + +func (p *ListSourceEvalTargetVersionsRequest) DeepEqual(ano *ListSourceEvalTargetVersionsRequest) bool { + if p == ano { + return true + } else if p == nil || ano == nil { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.SourceTargetID) { + return false + } + if !p.Field3DeepEqual(ano.TargetType) { + return false + } + if !p.Field100DeepEqual(ano.PageSize) { + return false + } + if !p.Field101DeepEqual(ano.PageToken) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *BatchGetSourceEvalTargetsResponse) Field1DeepEqual(src []*eval_target.EvalTarget) bool { +func (p *ListSourceEvalTargetVersionsRequest) Field1DeepEqual(src int64) bool { - if len(p.EvalTargets) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.EvalTargets { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *BatchGetSourceEvalTargetsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListSourceEvalTargetVersionsRequest) Field2DeepEqual(src string) bool { - if !p.BaseResp.DeepEqual(src) { + if strings.Compare(p.SourceTargetID, src) != 0 { return false } return true } +func (p *ListSourceEvalTargetVersionsRequest) Field3DeepEqual(src *eval_target.EvalTargetType) bool { -type ListSourceEvalTargetVersionsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - SourceTargetID string `thrift:"source_target_id,2,required" frugal:"2,required,string" form:"source_target_id,required" json:"source_target_id,required" query:"source_target_id,required"` - TargetType *eval_target.EvalTargetType `thrift:"target_type,3,optional" frugal:"3,optional,EvalTargetType" form:"target_type" json:"target_type,omitempty" query:"target_type"` - PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` - PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + if p.TargetType == src { + return true + } else if p.TargetType == nil || src == nil { + return false + } + if *p.TargetType != *src { + return false + } + return true } +func (p *ListSourceEvalTargetVersionsRequest) Field100DeepEqual(src *int32) bool { -func NewListSourceEvalTargetVersionsRequest() *ListSourceEvalTargetVersionsRequest { - return &ListSourceEvalTargetVersionsRequest{} + if p.PageSize == src { + return true + } else if p.PageSize == nil || src == nil { + return false + } + if *p.PageSize != *src { + return false + } + return true } +func (p *ListSourceEvalTargetVersionsRequest) Field101DeepEqual(src *string) bool { -func (p *ListSourceEvalTargetVersionsRequest) InitDefault() { + if p.PageToken == src { + return true + } else if p.PageToken == nil || src == nil { + return false + } + if strings.Compare(*p.PageToken, *src) != 0 { + return false + } + return true } +func (p *ListSourceEvalTargetVersionsRequest) Field255DeepEqual(src *base.Base) bool { -func (p *ListSourceEvalTargetVersionsRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID + if !p.Base.DeepEqual(src) { + return false } - return + return true } -func (p *ListSourceEvalTargetVersionsRequest) GetSourceTargetID() (v string) { - if p != nil { - return p.SourceTargetID - } - return +type ListSourceEvalTargetVersionsResponse struct { + Versions []*eval_target.EvalTargetVersion `thrift:"versions,1,optional" frugal:"1,optional,list" form:"versions" json:"versions,omitempty" query:"versions"` + NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` + HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -var ListSourceEvalTargetVersionsRequest_TargetType_DEFAULT eval_target.EvalTargetType +func NewListSourceEvalTargetVersionsResponse() *ListSourceEvalTargetVersionsResponse { + return &ListSourceEvalTargetVersionsResponse{} +} -func (p *ListSourceEvalTargetVersionsRequest) GetTargetType() (v eval_target.EvalTargetType) { +func (p *ListSourceEvalTargetVersionsResponse) InitDefault() { +} + +var ListSourceEvalTargetVersionsResponse_Versions_DEFAULT []*eval_target.EvalTargetVersion + +func (p *ListSourceEvalTargetVersionsResponse) GetVersions() (v []*eval_target.EvalTargetVersion) { if p == nil { return } - if !p.IsSetTargetType() { - return ListSourceEvalTargetVersionsRequest_TargetType_DEFAULT + if !p.IsSetVersions() { + return ListSourceEvalTargetVersionsResponse_Versions_DEFAULT } - return *p.TargetType + return p.Versions } -var ListSourceEvalTargetVersionsRequest_PageSize_DEFAULT int32 +var ListSourceEvalTargetVersionsResponse_NextPageToken_DEFAULT string -func (p *ListSourceEvalTargetVersionsRequest) GetPageSize() (v int32) { +func (p *ListSourceEvalTargetVersionsResponse) GetNextPageToken() (v string) { if p == nil { return } - if !p.IsSetPageSize() { - return ListSourceEvalTargetVersionsRequest_PageSize_DEFAULT + if !p.IsSetNextPageToken() { + return ListSourceEvalTargetVersionsResponse_NextPageToken_DEFAULT } - return *p.PageSize + return *p.NextPageToken } -var ListSourceEvalTargetVersionsRequest_PageToken_DEFAULT string +var ListSourceEvalTargetVersionsResponse_HasMore_DEFAULT bool -func (p *ListSourceEvalTargetVersionsRequest) GetPageToken() (v string) { +func (p *ListSourceEvalTargetVersionsResponse) GetHasMore() (v bool) { if p == nil { return } - if !p.IsSetPageToken() { - return ListSourceEvalTargetVersionsRequest_PageToken_DEFAULT + if !p.IsSetHasMore() { + return ListSourceEvalTargetVersionsResponse_HasMore_DEFAULT } - return *p.PageToken + return *p.HasMore } -var ListSourceEvalTargetVersionsRequest_Base_DEFAULT *base.Base +var ListSourceEvalTargetVersionsResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ListSourceEvalTargetVersionsRequest) GetBase() (v *base.Base) { +func (p *ListSourceEvalTargetVersionsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetBase() { - return ListSourceEvalTargetVersionsRequest_Base_DEFAULT + if !p.IsSetBaseResp() { + return ListSourceEvalTargetVersionsResponse_BaseResp_DEFAULT } - return p.Base -} -func (p *ListSourceEvalTargetVersionsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ListSourceEvalTargetVersionsRequest) SetSourceTargetID(val string) { - p.SourceTargetID = val + return p.BaseResp } -func (p *ListSourceEvalTargetVersionsRequest) SetTargetType(val *eval_target.EvalTargetType) { - p.TargetType = val +func (p *ListSourceEvalTargetVersionsResponse) SetVersions(val []*eval_target.EvalTargetVersion) { + p.Versions = val } -func (p *ListSourceEvalTargetVersionsRequest) SetPageSize(val *int32) { - p.PageSize = val +func (p *ListSourceEvalTargetVersionsResponse) SetNextPageToken(val *string) { + p.NextPageToken = val } -func (p *ListSourceEvalTargetVersionsRequest) SetPageToken(val *string) { - p.PageToken = val +func (p *ListSourceEvalTargetVersionsResponse) SetHasMore(val *bool) { + p.HasMore = val } -func (p *ListSourceEvalTargetVersionsRequest) SetBase(val *base.Base) { - p.Base = val +func (p *ListSourceEvalTargetVersionsResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -var fieldIDToName_ListSourceEvalTargetVersionsRequest = map[int16]string{ - 1: "workspace_id", - 2: "source_target_id", - 3: "target_type", - 100: "page_size", - 101: "page_token", - 255: "Base", +var fieldIDToName_ListSourceEvalTargetVersionsResponse = map[int16]string{ + 1: "versions", + 100: "next_page_token", + 101: "has_more", + 255: "BaseResp", } -func (p *ListSourceEvalTargetVersionsRequest) IsSetTargetType() bool { - return p.TargetType != nil +func (p *ListSourceEvalTargetVersionsResponse) IsSetVersions() bool { + return p.Versions != nil } -func (p *ListSourceEvalTargetVersionsRequest) IsSetPageSize() bool { - return p.PageSize != nil +func (p *ListSourceEvalTargetVersionsResponse) IsSetNextPageToken() bool { + return p.NextPageToken != nil } -func (p *ListSourceEvalTargetVersionsRequest) IsSetPageToken() bool { - return p.PageToken != nil +func (p *ListSourceEvalTargetVersionsResponse) IsSetHasMore() bool { + return p.HasMore != nil } -func (p *ListSourceEvalTargetVersionsRequest) IsSetBase() bool { - return p.Base != nil +func (p *ListSourceEvalTargetVersionsResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *ListSourceEvalTargetVersionsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetVersionsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false - var issetSourceTargetID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -8184,33 +8073,15 @@ func (p *ListSourceEvalTargetVersionsRequest) Read(iprot thrift.TProtocol) (err switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetSourceTargetID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.I32 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 100: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.STRING { if err = p.ReadField100(iprot); err != nil { goto ReadFieldError } @@ -8218,7 +8089,7 @@ func (p *ListSourceEvalTargetVersionsRequest) Read(iprot thrift.TProtocol) (err goto SkipFieldError } case 101: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.BOOL { if err = p.ReadField101(iprot); err != nil { goto ReadFieldError } @@ -8246,22 +8117,13 @@ func (p *ListSourceEvalTargetVersionsRequest) Read(iprot thrift.TProtocol) (err goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetSourceTargetID { - fieldId = 2 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetVersionsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetVersionsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -8269,78 +8131,65 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSourceEvalTargetVersionsRequest[fieldId])) } -func (p *ListSourceEvalTargetVersionsRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *ListSourceEvalTargetVersionsResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { return err - } else { - _field = v } - p.WorkspaceID = _field - return nil -} -func (p *ListSourceEvalTargetVersionsRequest) ReadField2(iprot thrift.TProtocol) error { + _field := make([]*eval_target.EvalTargetVersion, 0, size) + values := make([]eval_target.EvalTargetVersion, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.SourceTargetID = _field - return nil -} -func (p *ListSourceEvalTargetVersionsRequest) ReadField3(iprot thrift.TProtocol) error { + if err := _elem.Read(iprot); err != nil { + return err + } - var _field *eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { return err - } else { - tmp := eval_target.EvalTargetType(v) - _field = &tmp } - p.TargetType = _field + p.Versions = _field return nil } -func (p *ListSourceEvalTargetVersionsRequest) ReadField100(iprot thrift.TProtocol) error { +func (p *ListSourceEvalTargetVersionsResponse) ReadField100(iprot thrift.TProtocol) error { - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.PageSize = _field + p.NextPageToken = _field return nil } -func (p *ListSourceEvalTargetVersionsRequest) ReadField101(iprot thrift.TProtocol) error { +func (p *ListSourceEvalTargetVersionsResponse) ReadField101(iprot thrift.TProtocol) error { - var _field *string - if v, err := iprot.ReadString(); err != nil { + var _field *bool + if v, err := iprot.ReadBool(); err != nil { return err } else { _field = &v } - p.PageToken = _field + p.HasMore = _field return nil } -func (p *ListSourceEvalTargetVersionsRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *ListSourceEvalTargetVersionsResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *ListSourceEvalTargetVersionsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSourceEvalTargetVersionsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetVersionsRequest"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargetVersionsResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -8348,14 +8197,6 @@ func (p *ListSourceEvalTargetVersionsRequest) Write(oprot thrift.TProtocol) (err fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } if err = p.writeField100(oprot); err != nil { fieldId = 100 goto WriteFieldError @@ -8386,44 +8227,20 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ListSourceEvalTargetVersionsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("source_target_id", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.SourceTargetID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ListSourceEvalTargetVersionsRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetTargetType() { - if err = oprot.WriteFieldBegin("target_type", thrift.I32, 3); err != nil { +func (p *ListSourceEvalTargetVersionsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetVersions() { + if err = oprot.WriteFieldBegin("versions", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(int32(*p.TargetType)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Versions)); err != nil { + return err + } + for _, v := range p.Versions { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -8432,16 +8249,16 @@ func (p *ListSourceEvalTargetVersionsRequest) writeField3(oprot thrift.TProtocol } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsRequest) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetPageSize() { - if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { +func (p *ListSourceEvalTargetVersionsResponse) writeField100(oprot thrift.TProtocol) (err error) { + if p.IsSetNextPageToken() { + if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(*p.PageSize); err != nil { + if err := oprot.WriteString(*p.NextPageToken); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -8454,12 +8271,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsRequest) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetPageToken() { - if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { +func (p *ListSourceEvalTargetVersionsResponse) writeField101(oprot thrift.TProtocol) (err error) { + if p.IsSetHasMore() { + if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.PageToken); err != nil { + if err := oprot.WriteBool(*p.HasMore); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -8472,17 +8289,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSourceEvalTargetVersionsResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -8491,199 +8306,170 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsRequest) String() string { +func (p *ListSourceEvalTargetVersionsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSourceEvalTargetVersionsRequest(%+v)", *p) + return fmt.Sprintf("ListSourceEvalTargetVersionsResponse(%+v)", *p) } -func (p *ListSourceEvalTargetVersionsRequest) DeepEqual(ano *ListSourceEvalTargetVersionsRequest) bool { +func (p *ListSourceEvalTargetVersionsResponse) DeepEqual(ano *ListSourceEvalTargetVersionsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.SourceTargetID) { - return false - } - if !p.Field3DeepEqual(ano.TargetType) { + if !p.Field1DeepEqual(ano.Versions) { return false } - if !p.Field100DeepEqual(ano.PageSize) { + if !p.Field100DeepEqual(ano.NextPageToken) { return false } - if !p.Field101DeepEqual(ano.PageToken) { + if !p.Field101DeepEqual(ano.HasMore) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *ListSourceEvalTargetVersionsRequest) Field1DeepEqual(src int64) bool { +func (p *ListSourceEvalTargetVersionsResponse) Field1DeepEqual(src []*eval_target.EvalTargetVersion) bool { - if p.WorkspaceID != src { + if len(p.Versions) != len(src) { return false } + for i, v := range p.Versions { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -func (p *ListSourceEvalTargetVersionsRequest) Field2DeepEqual(src string) bool { +func (p *ListSourceEvalTargetVersionsResponse) Field100DeepEqual(src *string) bool { - if strings.Compare(p.SourceTargetID, src) != 0 { + if p.NextPageToken == src { + return true + } else if p.NextPageToken == nil || src == nil { return false } - return true -} -func (p *ListSourceEvalTargetVersionsRequest) Field3DeepEqual(src *eval_target.EvalTargetType) bool { - - if p.TargetType == src { - return true - } else if p.TargetType == nil || src == nil { - return false - } - if *p.TargetType != *src { + if strings.Compare(*p.NextPageToken, *src) != 0 { return false } return true } -func (p *ListSourceEvalTargetVersionsRequest) Field100DeepEqual(src *int32) bool { +func (p *ListSourceEvalTargetVersionsResponse) Field101DeepEqual(src *bool) bool { - if p.PageSize == src { + if p.HasMore == src { return true - } else if p.PageSize == nil || src == nil { + } else if p.HasMore == nil || src == nil { return false } - if *p.PageSize != *src { + if *p.HasMore != *src { return false } return true } -func (p *ListSourceEvalTargetVersionsRequest) Field101DeepEqual(src *string) bool { +func (p *ListSourceEvalTargetVersionsResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.PageToken == src { - return true - } else if p.PageToken == nil || src == nil { - return false - } - if strings.Compare(*p.PageToken, *src) != 0 { + if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *ListSourceEvalTargetVersionsRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false - } - return true +type MockEvalTargetOutputRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` + // EvalTargetID参数实际上为SourceTargetID + SourceTargetID int64 `thrift:"source_target_id,2,required" frugal:"2,required,i64" json:"source_target_id" form:"source_target_id,required" query:"source_target_id,required"` + EvalTargetVersion string `thrift:"eval_target_version,3,required" frugal:"3,required,string" form:"eval_target_version,required" json:"eval_target_version,required" query:"eval_target_version,required"` + TargetType eval_target.EvalTargetType `thrift:"target_type,4,required" frugal:"4,required,EvalTargetType" form:"target_type,required" json:"target_type,required" query:"target_type,required"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -type ListSourceEvalTargetVersionsResponse struct { - Versions []*eval_target.EvalTargetVersion `thrift:"versions,1,optional" frugal:"1,optional,list" form:"versions" json:"versions,omitempty" query:"versions"` - NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` - HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` +func NewMockEvalTargetOutputRequest() *MockEvalTargetOutputRequest { + return &MockEvalTargetOutputRequest{} } -func NewListSourceEvalTargetVersionsResponse() *ListSourceEvalTargetVersionsResponse { - return &ListSourceEvalTargetVersionsResponse{} +func (p *MockEvalTargetOutputRequest) InitDefault() { } -func (p *ListSourceEvalTargetVersionsResponse) InitDefault() { +func (p *MockEvalTargetOutputRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return } -var ListSourceEvalTargetVersionsResponse_Versions_DEFAULT []*eval_target.EvalTargetVersion - -func (p *ListSourceEvalTargetVersionsResponse) GetVersions() (v []*eval_target.EvalTargetVersion) { - if p == nil { - return - } - if !p.IsSetVersions() { - return ListSourceEvalTargetVersionsResponse_Versions_DEFAULT +func (p *MockEvalTargetOutputRequest) GetSourceTargetID() (v int64) { + if p != nil { + return p.SourceTargetID } - return p.Versions + return } -var ListSourceEvalTargetVersionsResponse_NextPageToken_DEFAULT string - -func (p *ListSourceEvalTargetVersionsResponse) GetNextPageToken() (v string) { - if p == nil { - return - } - if !p.IsSetNextPageToken() { - return ListSourceEvalTargetVersionsResponse_NextPageToken_DEFAULT +func (p *MockEvalTargetOutputRequest) GetEvalTargetVersion() (v string) { + if p != nil { + return p.EvalTargetVersion } - return *p.NextPageToken + return } -var ListSourceEvalTargetVersionsResponse_HasMore_DEFAULT bool - -func (p *ListSourceEvalTargetVersionsResponse) GetHasMore() (v bool) { - if p == nil { - return - } - if !p.IsSetHasMore() { - return ListSourceEvalTargetVersionsResponse_HasMore_DEFAULT +func (p *MockEvalTargetOutputRequest) GetTargetType() (v eval_target.EvalTargetType) { + if p != nil { + return p.TargetType } - return *p.HasMore + return } -var ListSourceEvalTargetVersionsResponse_BaseResp_DEFAULT *base.BaseResp +var MockEvalTargetOutputRequest_Base_DEFAULT *base.Base -func (p *ListSourceEvalTargetVersionsResponse) GetBaseResp() (v *base.BaseResp) { +func (p *MockEvalTargetOutputRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return ListSourceEvalTargetVersionsResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return MockEvalTargetOutputRequest_Base_DEFAULT } - return p.BaseResp -} -func (p *ListSourceEvalTargetVersionsResponse) SetVersions(val []*eval_target.EvalTargetVersion) { - p.Versions = val -} -func (p *ListSourceEvalTargetVersionsResponse) SetNextPageToken(val *string) { - p.NextPageToken = val + return p.Base } -func (p *ListSourceEvalTargetVersionsResponse) SetHasMore(val *bool) { - p.HasMore = val +func (p *MockEvalTargetOutputRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *ListSourceEvalTargetVersionsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *MockEvalTargetOutputRequest) SetSourceTargetID(val int64) { + p.SourceTargetID = val } - -var fieldIDToName_ListSourceEvalTargetVersionsResponse = map[int16]string{ - 1: "versions", - 100: "next_page_token", - 101: "has_more", - 255: "BaseResp", +func (p *MockEvalTargetOutputRequest) SetEvalTargetVersion(val string) { + p.EvalTargetVersion = val } - -func (p *ListSourceEvalTargetVersionsResponse) IsSetVersions() bool { - return p.Versions != nil +func (p *MockEvalTargetOutputRequest) SetTargetType(val eval_target.EvalTargetType) { + p.TargetType = val } - -func (p *ListSourceEvalTargetVersionsResponse) IsSetNextPageToken() bool { - return p.NextPageToken != nil +func (p *MockEvalTargetOutputRequest) SetBase(val *base.Base) { + p.Base = val } -func (p *ListSourceEvalTargetVersionsResponse) IsSetHasMore() bool { - return p.HasMore != nil +var fieldIDToName_MockEvalTargetOutputRequest = map[int16]string{ + 1: "workspace_id", + 2: "source_target_id", + 3: "eval_target_version", + 4: "target_type", + 255: "Base", } -func (p *ListSourceEvalTargetVersionsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *MockEvalTargetOutputRequest) IsSetBase() bool { + return p.Base != nil } -func (p *ListSourceEvalTargetVersionsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *MockEvalTargetOutputRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false + var issetSourceTargetID bool = false + var issetEvalTargetVersion bool = false + var issetTargetType bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -8700,26 +8486,38 @@ func (p *ListSourceEvalTargetVersionsResponse) Read(iprot thrift.TProtocol) (err switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 100: + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetSourceTargetID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: if fieldTypeId == thrift.STRING { - if err = p.ReadField100(iprot); err != nil { + if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } + issetEvalTargetVersion = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 101: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField101(iprot); err != nil { + case 4: + if fieldTypeId == thrift.I32 { + if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } + issetTargetType = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -8744,13 +8542,32 @@ func (p *ListSourceEvalTargetVersionsResponse) Read(iprot thrift.TProtocol) (err goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetSourceTargetID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetEvalTargetVersion { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetTargetType { + fieldId = 4 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSourceEvalTargetVersionsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -8758,65 +8575,66 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_MockEvalTargetOutputRequest[fieldId])) } -func (p *ListSourceEvalTargetVersionsResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { +func (p *MockEvalTargetOutputRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - _field := make([]*eval_target.EvalTargetVersion, 0, size) - values := make([]eval_target.EvalTargetVersion, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } + p.WorkspaceID = _field + return nil +} +func (p *MockEvalTargetOutputRequest) ReadField2(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - p.Versions = _field + p.SourceTargetID = _field return nil } -func (p *ListSourceEvalTargetVersionsResponse) ReadField100(iprot thrift.TProtocol) error { +func (p *MockEvalTargetOutputRequest) ReadField3(iprot thrift.TProtocol) error { - var _field *string + var _field string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = &v + _field = v } - p.NextPageToken = _field + p.EvalTargetVersion = _field return nil } -func (p *ListSourceEvalTargetVersionsResponse) ReadField101(iprot thrift.TProtocol) error { +func (p *MockEvalTargetOutputRequest) ReadField4(iprot thrift.TProtocol) error { - var _field *bool - if v, err := iprot.ReadBool(); err != nil { + var _field eval_target.EvalTargetType + if v, err := iprot.ReadI32(); err != nil { return err } else { - _field = &v + _field = eval_target.EvalTargetType(v) } - p.HasMore = _field + p.TargetType = _field return nil } -func (p *ListSourceEvalTargetVersionsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *MockEvalTargetOutputRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *ListSourceEvalTargetVersionsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *MockEvalTargetOutputRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetVersionsResponse"); err != nil { + if err = oprot.WriteStructBegin("MockEvalTargetOutputRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -8824,12 +8642,16 @@ func (p *ListSourceEvalTargetVersionsResponse) Write(oprot thrift.TProtocol) (er fieldId = 1 goto WriteFieldError } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 + if err = p.writeField2(oprot); err != nil { + fieldId = 2 goto WriteFieldError } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 goto WriteFieldError } if err = p.writeField255(oprot); err != nil { @@ -8854,25 +8676,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetVersions() { - if err = oprot.WriteFieldBegin("versions", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Versions)); err != nil { - return err - } - for _, v := range p.Versions { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *MockEvalTargetOutputRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -8880,361 +8692,237 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsResponse) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetNextPageToken() { - if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.NextPageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *MockEvalTargetOutputRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("source_target_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.SourceTargetID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsResponse) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetHasMore() { - if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.HasMore); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *MockEvalTargetOutputRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("eval_target_version", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.EvalTargetVersion); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { +func (p *MockEvalTargetOutputRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("target_type", thrift.I32, 4); err != nil { goto WriteFieldBeginError } - if err := p.BaseResp.Write(oprot); err != nil { + if err := oprot.WriteI32(int32(p.TargetType)); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { goto WriteFieldEndError } return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *MockEvalTargetOutputRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSourceEvalTargetVersionsResponse) String() string { +func (p *MockEvalTargetOutputRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSourceEvalTargetVersionsResponse(%+v)", *p) + return fmt.Sprintf("MockEvalTargetOutputRequest(%+v)", *p) } -func (p *ListSourceEvalTargetVersionsResponse) DeepEqual(ano *ListSourceEvalTargetVersionsResponse) bool { +func (p *MockEvalTargetOutputRequest) DeepEqual(ano *MockEvalTargetOutputRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Versions) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field100DeepEqual(ano.NextPageToken) { + if !p.Field2DeepEqual(ano.SourceTargetID) { return false } - if !p.Field101DeepEqual(ano.HasMore) { + if !p.Field3DeepEqual(ano.EvalTargetVersion) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field4DeepEqual(ano.TargetType) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *ListSourceEvalTargetVersionsResponse) Field1DeepEqual(src []*eval_target.EvalTargetVersion) bool { +func (p *MockEvalTargetOutputRequest) Field1DeepEqual(src int64) bool { - if len(p.Versions) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.Versions { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *ListSourceEvalTargetVersionsResponse) Field100DeepEqual(src *string) bool { +func (p *MockEvalTargetOutputRequest) Field2DeepEqual(src int64) bool { - if p.NextPageToken == src { - return true - } else if p.NextPageToken == nil || src == nil { - return false - } - if strings.Compare(*p.NextPageToken, *src) != 0 { + if p.SourceTargetID != src { return false } return true } -func (p *ListSourceEvalTargetVersionsResponse) Field101DeepEqual(src *bool) bool { +func (p *MockEvalTargetOutputRequest) Field3DeepEqual(src string) bool { - if p.HasMore == src { - return true - } else if p.HasMore == nil || src == nil { + if strings.Compare(p.EvalTargetVersion, src) != 0 { return false } - if *p.HasMore != *src { + return true +} +func (p *MockEvalTargetOutputRequest) Field4DeepEqual(src eval_target.EvalTargetType) bool { + + if p.TargetType != src { return false } return true } -func (p *ListSourceEvalTargetVersionsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *MockEvalTargetOutputRequest) Field255DeepEqual(src *base.Base) bool { - if !p.BaseResp.DeepEqual(src) { + if !p.Base.DeepEqual(src) { return false } return true } -type SearchCustomEvalTargetRequest struct { - // 空间ID - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" json:"workspace_id" form:"workspace_id" query:"workspace_id"` - // 透传spi接口 - Keyword *string `thrift:"keyword,2,optional" frugal:"2,optional,string" form:"keyword" json:"keyword,omitempty" query:"keyword"` - // 应用ID,非必填,创建实验时传应用ID,会根据应用ID从应用模块获取自定义服务详情 - ApplicationID *int64 `thrift:"application_id,3,optional" frugal:"3,optional,i64" json:"application_id" form:"application_id" query:"application_id"` - // 自定义服务详情,非必填,应用注册调试时传 - CustomRPCServer *eval_target.CustomRPCServer `thrift:"custom_rpc_server,4,optional" frugal:"4,optional,eval_target.CustomRPCServer" form:"custom_rpc_server" json:"custom_rpc_server,omitempty" query:"custom_rpc_server"` - // 必填 - Region *eval_target.Region `thrift:"region,5,optional" frugal:"5,optional,string" form:"region" json:"region,omitempty" query:"region"` - // 环境 - Env *string `thrift:"env,6,optional" frugal:"6,optional,string" form:"env" json:"env,omitempty" query:"env"` - PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` - PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type MockEvalTargetOutputResponse struct { + EvalTarget *eval_target.EvalTarget `thrift:"eval_target,1,optional" frugal:"1,optional,eval_target.EvalTarget" form:"eval_target" json:"eval_target,omitempty" query:"eval_target"` + MockOutput map[string]string `thrift:"mock_output,2,optional" frugal:"2,optional,map" form:"mock_output" json:"mock_output,omitempty" query:"mock_output"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -func NewSearchCustomEvalTargetRequest() *SearchCustomEvalTargetRequest { - return &SearchCustomEvalTargetRequest{} +func NewMockEvalTargetOutputResponse() *MockEvalTargetOutputResponse { + return &MockEvalTargetOutputResponse{} } -func (p *SearchCustomEvalTargetRequest) InitDefault() { +func (p *MockEvalTargetOutputResponse) InitDefault() { } -var SearchCustomEvalTargetRequest_WorkspaceID_DEFAULT int64 +var MockEvalTargetOutputResponse_EvalTarget_DEFAULT *eval_target.EvalTarget -func (p *SearchCustomEvalTargetRequest) GetWorkspaceID() (v int64) { +func (p *MockEvalTargetOutputResponse) GetEvalTarget() (v *eval_target.EvalTarget) { if p == nil { return } - if !p.IsSetWorkspaceID() { - return SearchCustomEvalTargetRequest_WorkspaceID_DEFAULT + if !p.IsSetEvalTarget() { + return MockEvalTargetOutputResponse_EvalTarget_DEFAULT } - return *p.WorkspaceID + return p.EvalTarget } -var SearchCustomEvalTargetRequest_Keyword_DEFAULT string +var MockEvalTargetOutputResponse_MockOutput_DEFAULT map[string]string -func (p *SearchCustomEvalTargetRequest) GetKeyword() (v string) { +func (p *MockEvalTargetOutputResponse) GetMockOutput() (v map[string]string) { if p == nil { return } - if !p.IsSetKeyword() { - return SearchCustomEvalTargetRequest_Keyword_DEFAULT + if !p.IsSetMockOutput() { + return MockEvalTargetOutputResponse_MockOutput_DEFAULT } - return *p.Keyword + return p.MockOutput } -var SearchCustomEvalTargetRequest_ApplicationID_DEFAULT int64 +var MockEvalTargetOutputResponse_BaseResp_DEFAULT *base.BaseResp -func (p *SearchCustomEvalTargetRequest) GetApplicationID() (v int64) { +func (p *MockEvalTargetOutputResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetApplicationID() { - return SearchCustomEvalTargetRequest_ApplicationID_DEFAULT + if !p.IsSetBaseResp() { + return MockEvalTargetOutputResponse_BaseResp_DEFAULT } - return *p.ApplicationID + return p.BaseResp } - -var SearchCustomEvalTargetRequest_CustomRPCServer_DEFAULT *eval_target.CustomRPCServer - -func (p *SearchCustomEvalTargetRequest) GetCustomRPCServer() (v *eval_target.CustomRPCServer) { - if p == nil { - return - } - if !p.IsSetCustomRPCServer() { - return SearchCustomEvalTargetRequest_CustomRPCServer_DEFAULT - } - return p.CustomRPCServer +func (p *MockEvalTargetOutputResponse) SetEvalTarget(val *eval_target.EvalTarget) { + p.EvalTarget = val } - -var SearchCustomEvalTargetRequest_Region_DEFAULT eval_target.Region - -func (p *SearchCustomEvalTargetRequest) GetRegion() (v eval_target.Region) { - if p == nil { - return - } - if !p.IsSetRegion() { - return SearchCustomEvalTargetRequest_Region_DEFAULT - } - return *p.Region +func (p *MockEvalTargetOutputResponse) SetMockOutput(val map[string]string) { + p.MockOutput = val +} +func (p *MockEvalTargetOutputResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -var SearchCustomEvalTargetRequest_Env_DEFAULT string +var fieldIDToName_MockEvalTargetOutputResponse = map[int16]string{ + 1: "eval_target", + 2: "mock_output", + 255: "BaseResp", +} -func (p *SearchCustomEvalTargetRequest) GetEnv() (v string) { - if p == nil { - return - } - if !p.IsSetEnv() { - return SearchCustomEvalTargetRequest_Env_DEFAULT - } - return *p.Env +func (p *MockEvalTargetOutputResponse) IsSetEvalTarget() bool { + return p.EvalTarget != nil } -var SearchCustomEvalTargetRequest_PageSize_DEFAULT int32 +func (p *MockEvalTargetOutputResponse) IsSetMockOutput() bool { + return p.MockOutput != nil +} -func (p *SearchCustomEvalTargetRequest) GetPageSize() (v int32) { - if p == nil { - return - } - if !p.IsSetPageSize() { - return SearchCustomEvalTargetRequest_PageSize_DEFAULT - } - return *p.PageSize +func (p *MockEvalTargetOutputResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -var SearchCustomEvalTargetRequest_PageToken_DEFAULT string +func (p *MockEvalTargetOutputResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 -func (p *SearchCustomEvalTargetRequest) GetPageToken() (v string) { - if p == nil { - return - } - if !p.IsSetPageToken() { - return SearchCustomEvalTargetRequest_PageToken_DEFAULT + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - return *p.PageToken -} -var SearchCustomEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *SearchCustomEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return SearchCustomEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *SearchCustomEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *SearchCustomEvalTargetRequest) SetKeyword(val *string) { - p.Keyword = val -} -func (p *SearchCustomEvalTargetRequest) SetApplicationID(val *int64) { - p.ApplicationID = val -} -func (p *SearchCustomEvalTargetRequest) SetCustomRPCServer(val *eval_target.CustomRPCServer) { - p.CustomRPCServer = val -} -func (p *SearchCustomEvalTargetRequest) SetRegion(val *eval_target.Region) { - p.Region = val -} -func (p *SearchCustomEvalTargetRequest) SetEnv(val *string) { - p.Env = val -} -func (p *SearchCustomEvalTargetRequest) SetPageSize(val *int32) { - p.PageSize = val -} -func (p *SearchCustomEvalTargetRequest) SetPageToken(val *string) { - p.PageToken = val -} -func (p *SearchCustomEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_SearchCustomEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "keyword", - 3: "application_id", - 4: "custom_rpc_server", - 5: "region", - 6: "env", - 100: "page_size", - 101: "page_token", - 255: "Base", -} - -func (p *SearchCustomEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetKeyword() bool { - return p.Keyword != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetApplicationID() bool { - return p.ApplicationID != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetCustomRPCServer() bool { - return p.CustomRPCServer != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetRegion() bool { - return p.Region != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetEnv() bool { - return p.Env != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetPageSize() bool { - return p.PageSize != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetPageToken() bool { - return p.PageToken != nil -} - -func (p *SearchCustomEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *SearchCustomEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } @@ -9242,61 +8930,13 @@ func (p *SearchCustomEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.MAP { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 3: - if fieldTypeId == thrift.I64 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.STRING { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.STRING { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 100: - if fieldTypeId == thrift.I32 { - if err = p.ReadField100(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 101: - if fieldTypeId == thrift.STRING { - if err = p.ReadField101(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -9324,7 +8964,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchCustomEvalTargetRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9334,103 +8974,55 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *SearchCustomEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Keyword = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.ApplicationID = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField4(iprot thrift.TProtocol) error { - _field := eval_target.NewCustomRPCServer() +func (p *MockEvalTargetOutputResponse) ReadField1(iprot thrift.TProtocol) error { + _field := eval_target.NewEvalTarget() if err := _field.Read(iprot); err != nil { return err } - p.CustomRPCServer = _field + p.EvalTarget = _field return nil } -func (p *SearchCustomEvalTargetRequest) ReadField5(iprot thrift.TProtocol) error { - - var _field *eval_target.Region - if v, err := iprot.ReadString(); err != nil { +func (p *MockEvalTargetOutputResponse) ReadField2(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() + if err != nil { return err - } else { - _field = &v } - p.Region = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField6(iprot thrift.TProtocol) error { + _field := make(map[string]string, size) + for i := 0; i < size; i++ { + var _key string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _key = v + } - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Env = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField100(iprot thrift.TProtocol) error { + var _val string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _val = v + } - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v + _field[_key] = _val } - p.PageSize = _field - return nil -} -func (p *SearchCustomEvalTargetRequest) ReadField101(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { + if err := iprot.ReadMapEnd(); err != nil { return err - } else { - _field = &v } - p.PageToken = _field + p.MockOutput = _field return nil } -func (p *SearchCustomEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *MockEvalTargetOutputResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *SearchCustomEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *MockEvalTargetOutputResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchCustomEvalTargetRequest"); err != nil { + if err = oprot.WriteStructBegin("MockEvalTargetOutputResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9442,30 +9034,6 @@ func (p *SearchCustomEvalTargetRequest) Write(oprot thrift.TProtocol) (err error fieldId = 2 goto WriteFieldError } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 - goto WriteFieldError - } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -9488,12 +9056,12 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchCustomEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { +func (p *MockEvalTargetOutputResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEvalTarget() { + if err = oprot.WriteFieldBegin("eval_target", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { + if err := p.EvalTarget.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -9506,12 +9074,23 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SearchCustomEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetKeyword() { - if err = oprot.WriteFieldBegin("keyword", thrift.STRING, 2); err != nil { +func (p *MockEvalTargetOutputResponse) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetMockOutput() { + if err = oprot.WriteFieldBegin("mock_output", thrift.MAP, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.Keyword); err != nil { + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.MockOutput)); err != nil { + return err + } + for k, v := range p.MockOutput { + if err := oprot.WriteString(k); err != nil { + return err + } + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteMapEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -9524,125 +9103,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *SearchCustomEvalTargetRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetApplicationID() { - if err = oprot.WriteFieldBegin("application_id", thrift.I64, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.ApplicationID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomRPCServer() { - if err = oprot.WriteFieldBegin("custom_rpc_server", thrift.STRUCT, 4); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomRPCServer.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetRegion() { - if err = oprot.WriteFieldBegin("region", thrift.STRING, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Region); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetEnv() { - if err = oprot.WriteFieldBegin("env", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Env); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetPageSize() { - if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(*p.PageSize); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetPageToken() { - if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) -} -func (p *SearchCustomEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *MockEvalTargetOutputResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -9651,5543 +9120,825 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *SearchCustomEvalTargetRequest) String() string { +func (p *MockEvalTargetOutputResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("SearchCustomEvalTargetRequest(%+v)", *p) + return fmt.Sprintf("MockEvalTargetOutputResponse(%+v)", *p) } -func (p *SearchCustomEvalTargetRequest) DeepEqual(ano *SearchCustomEvalTargetRequest) bool { +func (p *MockEvalTargetOutputResponse) DeepEqual(ano *MockEvalTargetOutputResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.Keyword) { - return false - } - if !p.Field3DeepEqual(ano.ApplicationID) { - return false - } - if !p.Field4DeepEqual(ano.CustomRPCServer) { - return false - } - if !p.Field5DeepEqual(ano.Region) { - return false - } - if !p.Field6DeepEqual(ano.Env) { - return false - } - if !p.Field100DeepEqual(ano.PageSize) { + if !p.Field1DeepEqual(ano.EvalTarget) { return false } - if !p.Field101DeepEqual(ano.PageToken) { + if !p.Field2DeepEqual(ano.MockOutput) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *SearchCustomEvalTargetRequest) Field1DeepEqual(src *int64) bool { +func (p *MockEvalTargetOutputResponse) Field1DeepEqual(src *eval_target.EvalTarget) bool { - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { + if !p.EvalTarget.DeepEqual(src) { return false } return true } -func (p *SearchCustomEvalTargetRequest) Field2DeepEqual(src *string) bool { +func (p *MockEvalTargetOutputResponse) Field2DeepEqual(src map[string]string) bool { - if p.Keyword == src { - return true - } else if p.Keyword == nil || src == nil { + if len(p.MockOutput) != len(src) { return false } - if strings.Compare(*p.Keyword, *src) != 0 { - return false + for k, v := range p.MockOutput { + _src := src[k] + if strings.Compare(v, _src) != 0 { + return false + } } return true } -func (p *SearchCustomEvalTargetRequest) Field3DeepEqual(src *int64) bool { +func (p *MockEvalTargetOutputResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.ApplicationID == src { - return true - } else if p.ApplicationID == nil || src == nil { - return false - } - if *p.ApplicationID != *src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *SearchCustomEvalTargetRequest) Field4DeepEqual(src *eval_target.CustomRPCServer) bool { - if !p.CustomRPCServer.DeepEqual(src) { - return false - } - return true -} -func (p *SearchCustomEvalTargetRequest) Field5DeepEqual(src *eval_target.Region) bool { +type EvalTargetService interface { + // 创建评测对象 + CreateEvalTarget(ctx context.Context, request *CreateEvalTargetRequest) (r *CreateEvalTargetResponse, err error) + // 根据source target获取评测对象信息 + BatchGetEvalTargetsBySource(ctx context.Context, request *BatchGetEvalTargetsBySourceRequest) (r *BatchGetEvalTargetsBySourceResponse, err error) + // 获取评测对象+版本 + GetEvalTargetVersion(ctx context.Context, request *GetEvalTargetVersionRequest) (r *GetEvalTargetVersionResponse, err error) + // 批量获取+版本 + BatchGetEvalTargetVersions(ctx context.Context, request *BatchGetEvalTargetVersionsRequest) (r *BatchGetEvalTargetVersionsResponse, err error) + // Source评测对象列表 + ListSourceEvalTargets(ctx context.Context, request *ListSourceEvalTargetsRequest) (r *ListSourceEvalTargetsResponse, err error) + // Source评测对象版本列表 + ListSourceEvalTargetVersions(ctx context.Context, request *ListSourceEvalTargetVersionsRequest) (r *ListSourceEvalTargetVersionsResponse, err error) - if p.Region == src { - return true - } else if p.Region == nil || src == nil { - return false - } - if strings.Compare(*p.Region, *src) != 0 { - return false - } - return true -} -func (p *SearchCustomEvalTargetRequest) Field6DeepEqual(src *string) bool { + BatchGetSourceEvalTargets(ctx context.Context, request *BatchGetSourceEvalTargetsRequest) (r *BatchGetSourceEvalTargetsResponse, err error) + // 执行 + ExecuteEvalTarget(ctx context.Context, request *ExecuteEvalTargetRequest) (r *ExecuteEvalTargetResponse, err error) - if p.Env == src { - return true - } else if p.Env == nil || src == nil { - return false - } - if strings.Compare(*p.Env, *src) != 0 { - return false - } - return true -} -func (p *SearchCustomEvalTargetRequest) Field100DeepEqual(src *int32) bool { + GetEvalTargetRecord(ctx context.Context, request *GetEvalTargetRecordRequest) (r *GetEvalTargetRecordResponse, err error) - if p.PageSize == src { - return true - } else if p.PageSize == nil || src == nil { - return false - } - if *p.PageSize != *src { - return false - } - return true + BatchGetEvalTargetRecords(ctx context.Context, request *BatchGetEvalTargetRecordsRequest) (r *BatchGetEvalTargetRecordsResponse, err error) + // mock输出数据 + MockEvalTargetOutput(ctx context.Context, request *MockEvalTargetOutputRequest) (r *MockEvalTargetOutputResponse, err error) } -func (p *SearchCustomEvalTargetRequest) Field101DeepEqual(src *string) bool { - if p.PageToken == src { - return true - } else if p.PageToken == nil || src == nil { - return false - } - if strings.Compare(*p.PageToken, *src) != 0 { - return false - } - return true +type EvalTargetServiceClient struct { + c thrift.TClient } -func (p *SearchCustomEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false +func NewEvalTargetServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvalTargetServiceClient { + return &EvalTargetServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), } - return true } -type SearchCustomEvalTargetResponse struct { - CustomEvalTargets []*eval_target.CustomEvalTarget `thrift:"custom_eval_targets,1" frugal:"1,default,list" form:"custom_eval_targets" json:"custom_eval_targets" query:"custom_eval_targets"` - NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` - HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"-" json:"-" query:"-"` +func NewEvalTargetServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvalTargetServiceClient { + return &EvalTargetServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), + } } -func NewSearchCustomEvalTargetResponse() *SearchCustomEvalTargetResponse { - return &SearchCustomEvalTargetResponse{} +func NewEvalTargetServiceClient(c thrift.TClient) *EvalTargetServiceClient { + return &EvalTargetServiceClient{ + c: c, + } } -func (p *SearchCustomEvalTargetResponse) InitDefault() { +func (p *EvalTargetServiceClient) Client_() thrift.TClient { + return p.c } -func (p *SearchCustomEvalTargetResponse) GetCustomEvalTargets() (v []*eval_target.CustomEvalTarget) { - if p != nil { - return p.CustomEvalTargets +func (p *EvalTargetServiceClient) CreateEvalTarget(ctx context.Context, request *CreateEvalTargetRequest) (r *CreateEvalTargetResponse, err error) { + var _args EvalTargetServiceCreateEvalTargetArgs + _args.Request = request + var _result EvalTargetServiceCreateEvalTargetResult + if err = p.Client_().Call(ctx, "CreateEvalTarget", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -var SearchCustomEvalTargetResponse_NextPageToken_DEFAULT string - -func (p *SearchCustomEvalTargetResponse) GetNextPageToken() (v string) { - if p == nil { +func (p *EvalTargetServiceClient) BatchGetEvalTargetsBySource(ctx context.Context, request *BatchGetEvalTargetsBySourceRequest) (r *BatchGetEvalTargetsBySourceResponse, err error) { + var _args EvalTargetServiceBatchGetEvalTargetsBySourceArgs + _args.Request = request + var _result EvalTargetServiceBatchGetEvalTargetsBySourceResult + if err = p.Client_().Call(ctx, "BatchGetEvalTargetsBySource", &_args, &_result); err != nil { return } - if !p.IsSetNextPageToken() { - return SearchCustomEvalTargetResponse_NextPageToken_DEFAULT - } - return *p.NextPageToken + return _result.GetSuccess(), nil } - -var SearchCustomEvalTargetResponse_HasMore_DEFAULT bool - -func (p *SearchCustomEvalTargetResponse) GetHasMore() (v bool) { - if p == nil { +func (p *EvalTargetServiceClient) GetEvalTargetVersion(ctx context.Context, request *GetEvalTargetVersionRequest) (r *GetEvalTargetVersionResponse, err error) { + var _args EvalTargetServiceGetEvalTargetVersionArgs + _args.Request = request + var _result EvalTargetServiceGetEvalTargetVersionResult + if err = p.Client_().Call(ctx, "GetEvalTargetVersion", &_args, &_result); err != nil { return } - if !p.IsSetHasMore() { - return SearchCustomEvalTargetResponse_HasMore_DEFAULT - } - return *p.HasMore + return _result.GetSuccess(), nil } - -var SearchCustomEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *SearchCustomEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { +func (p *EvalTargetServiceClient) BatchGetEvalTargetVersions(ctx context.Context, request *BatchGetEvalTargetVersionsRequest) (r *BatchGetEvalTargetVersionsResponse, err error) { + var _args EvalTargetServiceBatchGetEvalTargetVersionsArgs + _args.Request = request + var _result EvalTargetServiceBatchGetEvalTargetVersionsResult + if err = p.Client_().Call(ctx, "BatchGetEvalTargetVersions", &_args, &_result); err != nil { return } - if !p.IsSetBaseResp() { - return SearchCustomEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *SearchCustomEvalTargetResponse) SetCustomEvalTargets(val []*eval_target.CustomEvalTarget) { - p.CustomEvalTargets = val -} -func (p *SearchCustomEvalTargetResponse) SetNextPageToken(val *string) { - p.NextPageToken = val -} -func (p *SearchCustomEvalTargetResponse) SetHasMore(val *bool) { - p.HasMore = val + return _result.GetSuccess(), nil } -func (p *SearchCustomEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_SearchCustomEvalTargetResponse = map[int16]string{ - 1: "custom_eval_targets", - 100: "next_page_token", - 101: "has_more", - 255: "BaseResp", -} - -func (p *SearchCustomEvalTargetResponse) IsSetNextPageToken() bool { - return p.NextPageToken != nil -} - -func (p *SearchCustomEvalTargetResponse) IsSetHasMore() bool { - return p.HasMore != nil -} - -func (p *SearchCustomEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *SearchCustomEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 100: - if fieldTypeId == thrift.STRING { - if err = p.ReadField100(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 101: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField101(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchCustomEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *SearchCustomEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*eval_target.CustomEvalTarget, 0, size) - values := make([]eval_target.CustomEvalTarget, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.CustomEvalTargets = _field - return nil -} -func (p *SearchCustomEvalTargetResponse) ReadField100(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.NextPageToken = _field - return nil -} -func (p *SearchCustomEvalTargetResponse) ReadField101(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.HasMore = _field - return nil -} -func (p *SearchCustomEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *SearchCustomEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SearchCustomEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 - goto WriteFieldError - } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *SearchCustomEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("custom_eval_targets", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.CustomEvalTargets)); err != nil { - return err - } - for _, v := range p.CustomEvalTargets { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *SearchCustomEvalTargetResponse) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetNextPageToken() { - if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.NextPageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) -} -func (p *SearchCustomEvalTargetResponse) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetHasMore() { - if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.HasMore); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) -} -func (p *SearchCustomEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *SearchCustomEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("SearchCustomEvalTargetResponse(%+v)", *p) - -} - -func (p *SearchCustomEvalTargetResponse) DeepEqual(ano *SearchCustomEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.CustomEvalTargets) { - return false - } - if !p.Field100DeepEqual(ano.NextPageToken) { - return false - } - if !p.Field101DeepEqual(ano.HasMore) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *SearchCustomEvalTargetResponse) Field1DeepEqual(src []*eval_target.CustomEvalTarget) bool { - - if len(p.CustomEvalTargets) != len(src) { - return false - } - for i, v := range p.CustomEvalTargets { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *SearchCustomEvalTargetResponse) Field100DeepEqual(src *string) bool { - - if p.NextPageToken == src { - return true - } else if p.NextPageToken == nil || src == nil { - return false - } - if strings.Compare(*p.NextPageToken, *src) != 0 { - return false - } - return true -} -func (p *SearchCustomEvalTargetResponse) Field101DeepEqual(src *bool) bool { - - if p.HasMore == src { - return true - } else if p.HasMore == nil || src == nil { - return false - } - if *p.HasMore != *src { - return false - } - return true -} -func (p *SearchCustomEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type DebugEvalTargetRequest struct { - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" json:"workspace_id" form:"workspace_id" query:"workspace_id"` - // 类型 - EvalTargetType *eval_target.EvalTargetType `thrift:"eval_target_type,2,optional" frugal:"2,optional,EvalTargetType" form:"eval_target_type" json:"eval_target_type,omitempty" query:"eval_target_type"` - // 执行参数:如果type=6,则传spi request json序列化结果 - Param *string `thrift:"param,10,optional" frugal:"10,optional,string" form:"param" json:"param,omitempty" query:"param"` - // 动态参数 - TargetRuntimeParam *common.RuntimeParam `thrift:"target_runtime_param,11,optional" frugal:"11,optional,common.RuntimeParam" form:"target_runtime_param" json:"target_runtime_param,omitempty" query:"target_runtime_param"` - // 环境 - Env *string `thrift:"env,12,optional" frugal:"12,optional,string" form:"env" json:"env,omitempty" query:"env"` - // 如果type=6,需要前端传入自定义服务相关信息 - CustomRPCServer *eval_target.CustomRPCServer `thrift:"custom_rpc_server,50,optional" frugal:"50,optional,eval_target.CustomRPCServer" form:"custom_rpc_server" json:"custom_rpc_server,omitempty" query:"custom_rpc_server"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewDebugEvalTargetRequest() *DebugEvalTargetRequest { - return &DebugEvalTargetRequest{} -} - -func (p *DebugEvalTargetRequest) InitDefault() { -} - -var DebugEvalTargetRequest_WorkspaceID_DEFAULT int64 - -func (p *DebugEvalTargetRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return DebugEvalTargetRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var DebugEvalTargetRequest_EvalTargetType_DEFAULT eval_target.EvalTargetType - -func (p *DebugEvalTargetRequest) GetEvalTargetType() (v eval_target.EvalTargetType) { - if p == nil { - return - } - if !p.IsSetEvalTargetType() { - return DebugEvalTargetRequest_EvalTargetType_DEFAULT - } - return *p.EvalTargetType -} - -var DebugEvalTargetRequest_Param_DEFAULT string - -func (p *DebugEvalTargetRequest) GetParam() (v string) { - if p == nil { - return - } - if !p.IsSetParam() { - return DebugEvalTargetRequest_Param_DEFAULT - } - return *p.Param -} - -var DebugEvalTargetRequest_TargetRuntimeParam_DEFAULT *common.RuntimeParam - -func (p *DebugEvalTargetRequest) GetTargetRuntimeParam() (v *common.RuntimeParam) { - if p == nil { - return - } - if !p.IsSetTargetRuntimeParam() { - return DebugEvalTargetRequest_TargetRuntimeParam_DEFAULT - } - return p.TargetRuntimeParam -} - -var DebugEvalTargetRequest_Env_DEFAULT string - -func (p *DebugEvalTargetRequest) GetEnv() (v string) { - if p == nil { - return - } - if !p.IsSetEnv() { - return DebugEvalTargetRequest_Env_DEFAULT - } - return *p.Env -} - -var DebugEvalTargetRequest_CustomRPCServer_DEFAULT *eval_target.CustomRPCServer - -func (p *DebugEvalTargetRequest) GetCustomRPCServer() (v *eval_target.CustomRPCServer) { - if p == nil { - return - } - if !p.IsSetCustomRPCServer() { - return DebugEvalTargetRequest_CustomRPCServer_DEFAULT - } - return p.CustomRPCServer -} - -var DebugEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *DebugEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return DebugEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *DebugEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *DebugEvalTargetRequest) SetEvalTargetType(val *eval_target.EvalTargetType) { - p.EvalTargetType = val -} -func (p *DebugEvalTargetRequest) SetParam(val *string) { - p.Param = val -} -func (p *DebugEvalTargetRequest) SetTargetRuntimeParam(val *common.RuntimeParam) { - p.TargetRuntimeParam = val -} -func (p *DebugEvalTargetRequest) SetEnv(val *string) { - p.Env = val -} -func (p *DebugEvalTargetRequest) SetCustomRPCServer(val *eval_target.CustomRPCServer) { - p.CustomRPCServer = val -} -func (p *DebugEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_DebugEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "eval_target_type", - 10: "param", - 11: "target_runtime_param", - 12: "env", - 50: "custom_rpc_server", - 255: "Base", -} - -func (p *DebugEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *DebugEvalTargetRequest) IsSetEvalTargetType() bool { - return p.EvalTargetType != nil -} - -func (p *DebugEvalTargetRequest) IsSetParam() bool { - return p.Param != nil -} - -func (p *DebugEvalTargetRequest) IsSetTargetRuntimeParam() bool { - return p.TargetRuntimeParam != nil -} - -func (p *DebugEvalTargetRequest) IsSetEnv() bool { - return p.Env != nil -} - -func (p *DebugEvalTargetRequest) IsSetCustomRPCServer() bool { - return p.CustomRPCServer != nil -} - -func (p *DebugEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *DebugEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I32 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRING { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 11: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField11(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 12: - if fieldTypeId == thrift.STRING { - if err = p.ReadField12(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 50: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField50(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DebugEvalTargetRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *DebugEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - tmp := eval_target.EvalTargetType(v) - _field = &tmp - } - p.EvalTargetType = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField10(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Param = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField11(iprot thrift.TProtocol) error { - _field := common.NewRuntimeParam() - if err := _field.Read(iprot); err != nil { - return err - } - p.TargetRuntimeParam = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField12(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Env = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField50(iprot thrift.TProtocol) error { - _field := eval_target.NewCustomRPCServer() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomRPCServer = _field - return nil -} -func (p *DebugEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *DebugEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("DebugEvalTargetRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField11(oprot); err != nil { - fieldId = 11 - goto WriteFieldError - } - if err = p.writeField12(oprot); err != nil { - fieldId = 12 - goto WriteFieldError - } - if err = p.writeField50(oprot); err != nil { - fieldId = 50 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *DebugEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargetType() { - if err = oprot.WriteFieldBegin("eval_target_type", thrift.I32, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(*p.EvalTargetType)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetParam() { - if err = oprot.WriteFieldBegin("param", thrift.STRING, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Param); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField11(oprot thrift.TProtocol) (err error) { - if p.IsSetTargetRuntimeParam() { - if err = oprot.WriteFieldBegin("target_runtime_param", thrift.STRUCT, 11); err != nil { - goto WriteFieldBeginError - } - if err := p.TargetRuntimeParam.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField12(oprot thrift.TProtocol) (err error) { - if p.IsSetEnv() { - if err = oprot.WriteFieldBegin("env", thrift.STRING, 12); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Env); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField50(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomRPCServer() { - if err = oprot.WriteFieldBegin("custom_rpc_server", thrift.STRUCT, 50); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomRPCServer.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 end error: ", p), err) -} -func (p *DebugEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *DebugEvalTargetRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("DebugEvalTargetRequest(%+v)", *p) - -} - -func (p *DebugEvalTargetRequest) DeepEqual(ano *DebugEvalTargetRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.EvalTargetType) { - return false - } - if !p.Field10DeepEqual(ano.Param) { - return false - } - if !p.Field11DeepEqual(ano.TargetRuntimeParam) { - return false - } - if !p.Field12DeepEqual(ano.Env) { - return false - } - if !p.Field50DeepEqual(ano.CustomRPCServer) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *DebugEvalTargetRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field2DeepEqual(src *eval_target.EvalTargetType) bool { - - if p.EvalTargetType == src { - return true - } else if p.EvalTargetType == nil || src == nil { - return false - } - if *p.EvalTargetType != *src { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field10DeepEqual(src *string) bool { - - if p.Param == src { - return true - } else if p.Param == nil || src == nil { - return false - } - if strings.Compare(*p.Param, *src) != 0 { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field11DeepEqual(src *common.RuntimeParam) bool { - - if !p.TargetRuntimeParam.DeepEqual(src) { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field12DeepEqual(src *string) bool { - - if p.Env == src { - return true - } else if p.Env == nil || src == nil { - return false - } - if strings.Compare(*p.Env, *src) != 0 { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field50DeepEqual(src *eval_target.CustomRPCServer) bool { - - if !p.CustomRPCServer.DeepEqual(src) { - return false - } - return true -} -func (p *DebugEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type DebugEvalTargetResponse struct { - EvalTargetRecord *eval_target.EvalTargetRecord `thrift:"eval_target_record,1,optional" frugal:"1,optional,eval_target.EvalTargetRecord" form:"eval_target_record" json:"eval_target_record,omitempty" query:"eval_target_record"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` -} - -func NewDebugEvalTargetResponse() *DebugEvalTargetResponse { - return &DebugEvalTargetResponse{} -} - -func (p *DebugEvalTargetResponse) InitDefault() { -} - -var DebugEvalTargetResponse_EvalTargetRecord_DEFAULT *eval_target.EvalTargetRecord - -func (p *DebugEvalTargetResponse) GetEvalTargetRecord() (v *eval_target.EvalTargetRecord) { - if p == nil { - return - } - if !p.IsSetEvalTargetRecord() { - return DebugEvalTargetResponse_EvalTargetRecord_DEFAULT - } - return p.EvalTargetRecord -} - -var DebugEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *DebugEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return DebugEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *DebugEvalTargetResponse) SetEvalTargetRecord(val *eval_target.EvalTargetRecord) { - p.EvalTargetRecord = val -} -func (p *DebugEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_DebugEvalTargetResponse = map[int16]string{ - 1: "eval_target_record", - 255: "BaseResp", -} - -func (p *DebugEvalTargetResponse) IsSetEvalTargetRecord() bool { - return p.EvalTargetRecord != nil -} - -func (p *DebugEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *DebugEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DebugEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *DebugEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { - _field := eval_target.NewEvalTargetRecord() - if err := _field.Read(iprot); err != nil { - return err - } - p.EvalTargetRecord = _field - return nil -} -func (p *DebugEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *DebugEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("DebugEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *DebugEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargetRecord() { - if err = oprot.WriteFieldBegin("eval_target_record", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.EvalTargetRecord.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *DebugEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *DebugEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("DebugEvalTargetResponse(%+v)", *p) - -} - -func (p *DebugEvalTargetResponse) DeepEqual(ano *DebugEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.EvalTargetRecord) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *DebugEvalTargetResponse) Field1DeepEqual(src *eval_target.EvalTargetRecord) bool { - - if !p.EvalTargetRecord.DeepEqual(src) { - return false - } - return true -} -func (p *DebugEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type AsyncDebugEvalTargetRequest struct { - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" json:"workspace_id" form:"workspace_id" query:"workspace_id"` - // 类型 - EvalTargetType *eval_target.EvalTargetType `thrift:"eval_target_type,2,optional" frugal:"2,optional,EvalTargetType" form:"eval_target_type" json:"eval_target_type,omitempty" query:"eval_target_type"` - // 执行参数:如果type=6,则传spi request json序列化结果 - Param *string `thrift:"param,10,optional" frugal:"10,optional,string" form:"param" json:"param,omitempty" query:"param"` - // 动态参数 - TargetRuntimeParam *common.RuntimeParam `thrift:"target_runtime_param,11,optional" frugal:"11,optional,common.RuntimeParam" form:"target_runtime_param" json:"target_runtime_param,omitempty" query:"target_runtime_param"` - // 环境 - Env *string `thrift:"env,12,optional" frugal:"12,optional,string" form:"env" json:"env,omitempty" query:"env"` - // 如果type=6,需要前端传入自定义服务相关信息 - CustomRPCServer *eval_target.CustomRPCServer `thrift:"custom_rpc_server,50,optional" frugal:"50,optional,eval_target.CustomRPCServer" form:"custom_rpc_server" json:"custom_rpc_server,omitempty" query:"custom_rpc_server"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewAsyncDebugEvalTargetRequest() *AsyncDebugEvalTargetRequest { - return &AsyncDebugEvalTargetRequest{} -} - -func (p *AsyncDebugEvalTargetRequest) InitDefault() { -} - -var AsyncDebugEvalTargetRequest_WorkspaceID_DEFAULT int64 - -func (p *AsyncDebugEvalTargetRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return AsyncDebugEvalTargetRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var AsyncDebugEvalTargetRequest_EvalTargetType_DEFAULT eval_target.EvalTargetType - -func (p *AsyncDebugEvalTargetRequest) GetEvalTargetType() (v eval_target.EvalTargetType) { - if p == nil { - return - } - if !p.IsSetEvalTargetType() { - return AsyncDebugEvalTargetRequest_EvalTargetType_DEFAULT - } - return *p.EvalTargetType -} - -var AsyncDebugEvalTargetRequest_Param_DEFAULT string - -func (p *AsyncDebugEvalTargetRequest) GetParam() (v string) { - if p == nil { - return - } - if !p.IsSetParam() { - return AsyncDebugEvalTargetRequest_Param_DEFAULT - } - return *p.Param -} - -var AsyncDebugEvalTargetRequest_TargetRuntimeParam_DEFAULT *common.RuntimeParam - -func (p *AsyncDebugEvalTargetRequest) GetTargetRuntimeParam() (v *common.RuntimeParam) { - if p == nil { - return - } - if !p.IsSetTargetRuntimeParam() { - return AsyncDebugEvalTargetRequest_TargetRuntimeParam_DEFAULT - } - return p.TargetRuntimeParam -} - -var AsyncDebugEvalTargetRequest_Env_DEFAULT string - -func (p *AsyncDebugEvalTargetRequest) GetEnv() (v string) { - if p == nil { - return - } - if !p.IsSetEnv() { - return AsyncDebugEvalTargetRequest_Env_DEFAULT - } - return *p.Env -} - -var AsyncDebugEvalTargetRequest_CustomRPCServer_DEFAULT *eval_target.CustomRPCServer - -func (p *AsyncDebugEvalTargetRequest) GetCustomRPCServer() (v *eval_target.CustomRPCServer) { - if p == nil { - return - } - if !p.IsSetCustomRPCServer() { - return AsyncDebugEvalTargetRequest_CustomRPCServer_DEFAULT - } - return p.CustomRPCServer -} - -var AsyncDebugEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *AsyncDebugEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return AsyncDebugEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *AsyncDebugEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *AsyncDebugEvalTargetRequest) SetEvalTargetType(val *eval_target.EvalTargetType) { - p.EvalTargetType = val -} -func (p *AsyncDebugEvalTargetRequest) SetParam(val *string) { - p.Param = val -} -func (p *AsyncDebugEvalTargetRequest) SetTargetRuntimeParam(val *common.RuntimeParam) { - p.TargetRuntimeParam = val -} -func (p *AsyncDebugEvalTargetRequest) SetEnv(val *string) { - p.Env = val -} -func (p *AsyncDebugEvalTargetRequest) SetCustomRPCServer(val *eval_target.CustomRPCServer) { - p.CustomRPCServer = val -} -func (p *AsyncDebugEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_AsyncDebugEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "eval_target_type", - 10: "param", - 11: "target_runtime_param", - 12: "env", - 50: "custom_rpc_server", - 255: "Base", -} - -func (p *AsyncDebugEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetEvalTargetType() bool { - return p.EvalTargetType != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetParam() bool { - return p.Param != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetTargetRuntimeParam() bool { - return p.TargetRuntimeParam != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetEnv() bool { - return p.Env != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetCustomRPCServer() bool { - return p.CustomRPCServer != nil -} - -func (p *AsyncDebugEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *AsyncDebugEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I32 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRING { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 11: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField11(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 12: - if fieldTypeId == thrift.STRING { - if err = p.ReadField12(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 50: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField50(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncDebugEvalTargetRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *AsyncDebugEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - tmp := eval_target.EvalTargetType(v) - _field = &tmp - } - p.EvalTargetType = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField10(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Param = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField11(iprot thrift.TProtocol) error { - _field := common.NewRuntimeParam() - if err := _field.Read(iprot); err != nil { - return err - } - p.TargetRuntimeParam = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField12(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Env = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField50(iprot thrift.TProtocol) error { - _field := eval_target.NewCustomRPCServer() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomRPCServer = _field - return nil -} -func (p *AsyncDebugEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *AsyncDebugEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncDebugEvalTargetRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField11(oprot); err != nil { - fieldId = 11 - goto WriteFieldError - } - if err = p.writeField12(oprot); err != nil { - fieldId = 12 - goto WriteFieldError - } - if err = p.writeField50(oprot); err != nil { - fieldId = 50 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *AsyncDebugEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTargetType() { - if err = oprot.WriteFieldBegin("eval_target_type", thrift.I32, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(*p.EvalTargetType)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetParam() { - if err = oprot.WriteFieldBegin("param", thrift.STRING, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Param); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField11(oprot thrift.TProtocol) (err error) { - if p.IsSetTargetRuntimeParam() { - if err = oprot.WriteFieldBegin("target_runtime_param", thrift.STRUCT, 11); err != nil { - goto WriteFieldBeginError - } - if err := p.TargetRuntimeParam.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField12(oprot thrift.TProtocol) (err error) { - if p.IsSetEnv() { - if err = oprot.WriteFieldBegin("env", thrift.STRING, 12); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Env); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField50(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomRPCServer() { - if err = oprot.WriteFieldBegin("custom_rpc_server", thrift.STRUCT, 50); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomRPCServer.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 50 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *AsyncDebugEvalTargetRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("AsyncDebugEvalTargetRequest(%+v)", *p) - -} - -func (p *AsyncDebugEvalTargetRequest) DeepEqual(ano *AsyncDebugEvalTargetRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.EvalTargetType) { - return false - } - if !p.Field10DeepEqual(ano.Param) { - return false - } - if !p.Field11DeepEqual(ano.TargetRuntimeParam) { - return false - } - if !p.Field12DeepEqual(ano.Env) { - return false - } - if !p.Field50DeepEqual(ano.CustomRPCServer) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *AsyncDebugEvalTargetRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field2DeepEqual(src *eval_target.EvalTargetType) bool { - - if p.EvalTargetType == src { - return true - } else if p.EvalTargetType == nil || src == nil { - return false - } - if *p.EvalTargetType != *src { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field10DeepEqual(src *string) bool { - - if p.Param == src { - return true - } else if p.Param == nil || src == nil { - return false - } - if strings.Compare(*p.Param, *src) != 0 { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field11DeepEqual(src *common.RuntimeParam) bool { - - if !p.TargetRuntimeParam.DeepEqual(src) { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field12DeepEqual(src *string) bool { - - if p.Env == src { - return true - } else if p.Env == nil || src == nil { - return false - } - if strings.Compare(*p.Env, *src) != 0 { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field50DeepEqual(src *eval_target.CustomRPCServer) bool { - - if !p.CustomRPCServer.DeepEqual(src) { - return false - } - return true -} -func (p *AsyncDebugEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type MockEvalTargetOutputRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" query:"workspace_id,required"` - // EvalTargetID参数实际上为SourceTargetID - SourceTargetID int64 `thrift:"source_target_id,2,required" frugal:"2,required,i64" json:"source_target_id" form:"source_target_id,required" query:"source_target_id,required"` - EvalTargetVersion string `thrift:"eval_target_version,3,required" frugal:"3,required,string" form:"eval_target_version,required" json:"eval_target_version,required" query:"eval_target_version,required"` - TargetType eval_target.EvalTargetType `thrift:"target_type,4,required" frugal:"4,required,EvalTargetType" form:"target_type,required" json:"target_type,required" query:"target_type,required"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewMockEvalTargetOutputRequest() *MockEvalTargetOutputRequest { - return &MockEvalTargetOutputRequest{} -} - -func (p *MockEvalTargetOutputRequest) InitDefault() { -} - -func (p *MockEvalTargetOutputRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return -} - -func (p *MockEvalTargetOutputRequest) GetSourceTargetID() (v int64) { - if p != nil { - return p.SourceTargetID - } - return -} - -func (p *MockEvalTargetOutputRequest) GetEvalTargetVersion() (v string) { - if p != nil { - return p.EvalTargetVersion - } - return -} - -func (p *MockEvalTargetOutputRequest) GetTargetType() (v eval_target.EvalTargetType) { - if p != nil { - return p.TargetType - } - return -} - -var MockEvalTargetOutputRequest_Base_DEFAULT *base.Base - -func (p *MockEvalTargetOutputRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return MockEvalTargetOutputRequest_Base_DEFAULT - } - return p.Base -} -func (p *MockEvalTargetOutputRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *MockEvalTargetOutputRequest) SetSourceTargetID(val int64) { - p.SourceTargetID = val -} -func (p *MockEvalTargetOutputRequest) SetEvalTargetVersion(val string) { - p.EvalTargetVersion = val -} -func (p *MockEvalTargetOutputRequest) SetTargetType(val eval_target.EvalTargetType) { - p.TargetType = val -} -func (p *MockEvalTargetOutputRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_MockEvalTargetOutputRequest = map[int16]string{ - 1: "workspace_id", - 2: "source_target_id", - 3: "eval_target_version", - 4: "target_type", - 255: "Base", -} - -func (p *MockEvalTargetOutputRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *MockEvalTargetOutputRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetSourceTargetID bool = false - var issetEvalTargetVersion bool = false - var issetTargetType bool = false - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetSourceTargetID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - issetEvalTargetVersion = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.I32 { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - issetTargetType = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetSourceTargetID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetEvalTargetVersion { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetTargetType { - fieldId = 4 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_MockEvalTargetOutputRequest[fieldId])) -} - -func (p *MockEvalTargetOutputRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *MockEvalTargetOutputRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.SourceTargetID = _field - return nil -} -func (p *MockEvalTargetOutputRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.EvalTargetVersion = _field - return nil -} -func (p *MockEvalTargetOutputRequest) ReadField4(iprot thrift.TProtocol) error { - - var _field eval_target.EvalTargetType - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = eval_target.EvalTargetType(v) - } - p.TargetType = _field - return nil -} -func (p *MockEvalTargetOutputRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *MockEvalTargetOutputRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("MockEvalTargetOutputRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *MockEvalTargetOutputRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *MockEvalTargetOutputRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("source_target_id", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.SourceTargetID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *MockEvalTargetOutputRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("eval_target_version", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.EvalTargetVersion); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *MockEvalTargetOutputRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("target_type", thrift.I32, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(p.TargetType)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *MockEvalTargetOutputRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *MockEvalTargetOutputRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("MockEvalTargetOutputRequest(%+v)", *p) - -} - -func (p *MockEvalTargetOutputRequest) DeepEqual(ano *MockEvalTargetOutputRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.SourceTargetID) { - return false - } - if !p.Field3DeepEqual(ano.EvalTargetVersion) { - return false - } - if !p.Field4DeepEqual(ano.TargetType) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *MockEvalTargetOutputRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { - return false - } - return true -} -func (p *MockEvalTargetOutputRequest) Field2DeepEqual(src int64) bool { - - if p.SourceTargetID != src { - return false - } - return true -} -func (p *MockEvalTargetOutputRequest) Field3DeepEqual(src string) bool { - - if strings.Compare(p.EvalTargetVersion, src) != 0 { - return false - } - return true -} -func (p *MockEvalTargetOutputRequest) Field4DeepEqual(src eval_target.EvalTargetType) bool { - - if p.TargetType != src { - return false - } - return true -} -func (p *MockEvalTargetOutputRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type AsyncDebugEvalTargetResponse struct { - InvokeID int64 `thrift:"invoke_id,1,required" frugal:"1,required,i64" json:"invoke_id" form:"invoke_id,required" query:"invoke_id,required"` - Callee *string `thrift:"callee,2,optional" frugal:"2,optional,string" form:"callee" json:"callee,omitempty" query:"callee"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` -} - -func NewAsyncDebugEvalTargetResponse() *AsyncDebugEvalTargetResponse { - return &AsyncDebugEvalTargetResponse{} -} - -func (p *AsyncDebugEvalTargetResponse) InitDefault() { -} - -func (p *AsyncDebugEvalTargetResponse) GetInvokeID() (v int64) { - if p != nil { - return p.InvokeID - } - return -} - -var AsyncDebugEvalTargetResponse_Callee_DEFAULT string - -func (p *AsyncDebugEvalTargetResponse) GetCallee() (v string) { - if p == nil { - return - } - if !p.IsSetCallee() { - return AsyncDebugEvalTargetResponse_Callee_DEFAULT - } - return *p.Callee -} - -var AsyncDebugEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *AsyncDebugEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return AsyncDebugEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *AsyncDebugEvalTargetResponse) SetInvokeID(val int64) { - p.InvokeID = val -} -func (p *AsyncDebugEvalTargetResponse) SetCallee(val *string) { - p.Callee = val -} -func (p *AsyncDebugEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_AsyncDebugEvalTargetResponse = map[int16]string{ - 1: "invoke_id", - 2: "callee", - 255: "BaseResp", -} - -func (p *AsyncDebugEvalTargetResponse) IsSetCallee() bool { - return p.Callee != nil -} - -func (p *AsyncDebugEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *AsyncDebugEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetInvokeID bool = false - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetInvokeID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetInvokeID { - fieldId = 1 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncDebugEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_AsyncDebugEvalTargetResponse[fieldId])) -} - -func (p *AsyncDebugEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.InvokeID = _field - return nil -} -func (p *AsyncDebugEvalTargetResponse) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Callee = _field - return nil -} -func (p *AsyncDebugEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *AsyncDebugEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncDebugEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *AsyncDebugEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("invoke_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.InvokeID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetCallee() { - if err = oprot.WriteFieldBegin("callee", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Callee); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *AsyncDebugEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *AsyncDebugEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("AsyncDebugEvalTargetResponse(%+v)", *p) - -} - -func (p *AsyncDebugEvalTargetResponse) DeepEqual(ano *AsyncDebugEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.InvokeID) { - return false - } - if !p.Field2DeepEqual(ano.Callee) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *AsyncDebugEvalTargetResponse) Field1DeepEqual(src int64) bool { - - if p.InvokeID != src { - return false - } - return true -} -func (p *AsyncDebugEvalTargetResponse) Field2DeepEqual(src *string) bool { - - if p.Callee == src { - return true - } else if p.Callee == nil || src == nil { - return false - } - if strings.Compare(*p.Callee, *src) != 0 { - return false - } - return true -} -func (p *AsyncDebugEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type MockEvalTargetOutputResponse struct { - EvalTarget *eval_target.EvalTarget `thrift:"eval_target,1,optional" frugal:"1,optional,eval_target.EvalTarget" form:"eval_target" json:"eval_target,omitempty" query:"eval_target"` - MockOutput map[string]string `thrift:"mock_output,2,optional" frugal:"2,optional,map" form:"mock_output" json:"mock_output,omitempty" query:"mock_output"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` -} - -func NewMockEvalTargetOutputResponse() *MockEvalTargetOutputResponse { - return &MockEvalTargetOutputResponse{} -} - -func (p *MockEvalTargetOutputResponse) InitDefault() { -} - -var MockEvalTargetOutputResponse_EvalTarget_DEFAULT *eval_target.EvalTarget - -func (p *MockEvalTargetOutputResponse) GetEvalTarget() (v *eval_target.EvalTarget) { - if p == nil { - return - } - if !p.IsSetEvalTarget() { - return MockEvalTargetOutputResponse_EvalTarget_DEFAULT - } - return p.EvalTarget -} - -var MockEvalTargetOutputResponse_MockOutput_DEFAULT map[string]string - -func (p *MockEvalTargetOutputResponse) GetMockOutput() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetMockOutput() { - return MockEvalTargetOutputResponse_MockOutput_DEFAULT - } - return p.MockOutput -} - -var MockEvalTargetOutputResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *MockEvalTargetOutputResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return MockEvalTargetOutputResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *MockEvalTargetOutputResponse) SetEvalTarget(val *eval_target.EvalTarget) { - p.EvalTarget = val -} -func (p *MockEvalTargetOutputResponse) SetMockOutput(val map[string]string) { - p.MockOutput = val -} -func (p *MockEvalTargetOutputResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_MockEvalTargetOutputResponse = map[int16]string{ - 1: "eval_target", - 2: "mock_output", - 255: "BaseResp", -} - -func (p *MockEvalTargetOutputResponse) IsSetEvalTarget() bool { - return p.EvalTarget != nil -} - -func (p *MockEvalTargetOutputResponse) IsSetMockOutput() bool { - return p.MockOutput != nil -} - -func (p *MockEvalTargetOutputResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *MockEvalTargetOutputResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.MAP { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *MockEvalTargetOutputResponse) ReadField1(iprot thrift.TProtocol) error { - _field := eval_target.NewEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.EvalTarget = _field - return nil -} -func (p *MockEvalTargetOutputResponse) ReadField2(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.MockOutput = _field - return nil -} -func (p *MockEvalTargetOutputResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *MockEvalTargetOutputResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("MockEvalTargetOutputResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *MockEvalTargetOutputResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalTarget() { - if err = oprot.WriteFieldBegin("eval_target", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.EvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *MockEvalTargetOutputResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetMockOutput() { - if err = oprot.WriteFieldBegin("mock_output", thrift.MAP, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.MockOutput)); err != nil { - return err - } - for k, v := range p.MockOutput { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *MockEvalTargetOutputResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *MockEvalTargetOutputResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("MockEvalTargetOutputResponse(%+v)", *p) - -} - -func (p *MockEvalTargetOutputResponse) DeepEqual(ano *MockEvalTargetOutputResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.EvalTarget) { - return false - } - if !p.Field2DeepEqual(ano.MockOutput) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *MockEvalTargetOutputResponse) Field1DeepEqual(src *eval_target.EvalTarget) bool { - - if !p.EvalTarget.DeepEqual(src) { - return false - } - return true -} -func (p *MockEvalTargetOutputResponse) Field2DeepEqual(src map[string]string) bool { - - if len(p.MockOutput) != len(src) { - return false - } - for k, v := range p.MockOutput { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} -func (p *MockEvalTargetOutputResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type EvalTargetService interface { - // 创建评测对象 - CreateEvalTarget(ctx context.Context, request *CreateEvalTargetRequest) (r *CreateEvalTargetResponse, err error) - // 根据source target获取评测对象信息 - BatchGetEvalTargetsBySource(ctx context.Context, request *BatchGetEvalTargetsBySourceRequest) (r *BatchGetEvalTargetsBySourceResponse, err error) - // 获取评测对象+版本 - GetEvalTargetVersion(ctx context.Context, request *GetEvalTargetVersionRequest) (r *GetEvalTargetVersionResponse, err error) - // 批量获取+版本 - BatchGetEvalTargetVersions(ctx context.Context, request *BatchGetEvalTargetVersionsRequest) (r *BatchGetEvalTargetVersionsResponse, err error) - // Source评测对象列表 - ListSourceEvalTargets(ctx context.Context, request *ListSourceEvalTargetsRequest) (r *ListSourceEvalTargetsResponse, err error) - // Source评测对象版本列表 - ListSourceEvalTargetVersions(ctx context.Context, request *ListSourceEvalTargetVersionsRequest) (r *ListSourceEvalTargetVersionsResponse, err error) - - BatchGetSourceEvalTargets(ctx context.Context, request *BatchGetSourceEvalTargetsRequest) (r *BatchGetSourceEvalTargetsResponse, err error) - // 搜索自定义评测对象 - SearchCustomEvalTarget(ctx context.Context, req *SearchCustomEvalTargetRequest) (r *SearchCustomEvalTargetResponse, err error) - // 执行 - ExecuteEvalTarget(ctx context.Context, request *ExecuteEvalTargetRequest) (r *ExecuteEvalTargetResponse, err error) - - AsyncExecuteEvalTarget(ctx context.Context, request *AsyncExecuteEvalTargetRequest) (r *AsyncExecuteEvalTargetResponse, err error) - - GetEvalTargetRecord(ctx context.Context, request *GetEvalTargetRecordRequest) (r *GetEvalTargetRecordResponse, err error) - - BatchGetEvalTargetRecords(ctx context.Context, request *BatchGetEvalTargetRecordsRequest) (r *BatchGetEvalTargetRecordsResponse, err error) - // debug - DebugEvalTarget(ctx context.Context, request *DebugEvalTargetRequest) (r *DebugEvalTargetResponse, err error) - - AsyncDebugEvalTarget(ctx context.Context, request *AsyncDebugEvalTargetRequest) (r *AsyncDebugEvalTargetResponse, err error) - // mock输出数据 - MockEvalTargetOutput(ctx context.Context, request *MockEvalTargetOutputRequest) (r *MockEvalTargetOutputResponse, err error) -} - -type EvalTargetServiceClient struct { - c thrift.TClient -} - -func NewEvalTargetServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvalTargetServiceClient { - return &EvalTargetServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), - } -} - -func NewEvalTargetServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvalTargetServiceClient { - return &EvalTargetServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), - } -} - -func NewEvalTargetServiceClient(c thrift.TClient) *EvalTargetServiceClient { - return &EvalTargetServiceClient{ - c: c, - } -} - -func (p *EvalTargetServiceClient) Client_() thrift.TClient { - return p.c -} - -func (p *EvalTargetServiceClient) CreateEvalTarget(ctx context.Context, request *CreateEvalTargetRequest) (r *CreateEvalTargetResponse, err error) { - var _args EvalTargetServiceCreateEvalTargetArgs - _args.Request = request - var _result EvalTargetServiceCreateEvalTargetResult - if err = p.Client_().Call(ctx, "CreateEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) BatchGetEvalTargetsBySource(ctx context.Context, request *BatchGetEvalTargetsBySourceRequest) (r *BatchGetEvalTargetsBySourceResponse, err error) { - var _args EvalTargetServiceBatchGetEvalTargetsBySourceArgs - _args.Request = request - var _result EvalTargetServiceBatchGetEvalTargetsBySourceResult - if err = p.Client_().Call(ctx, "BatchGetEvalTargetsBySource", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) GetEvalTargetVersion(ctx context.Context, request *GetEvalTargetVersionRequest) (r *GetEvalTargetVersionResponse, err error) { - var _args EvalTargetServiceGetEvalTargetVersionArgs - _args.Request = request - var _result EvalTargetServiceGetEvalTargetVersionResult - if err = p.Client_().Call(ctx, "GetEvalTargetVersion", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) BatchGetEvalTargetVersions(ctx context.Context, request *BatchGetEvalTargetVersionsRequest) (r *BatchGetEvalTargetVersionsResponse, err error) { - var _args EvalTargetServiceBatchGetEvalTargetVersionsArgs - _args.Request = request - var _result EvalTargetServiceBatchGetEvalTargetVersionsResult - if err = p.Client_().Call(ctx, "BatchGetEvalTargetVersions", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) ListSourceEvalTargets(ctx context.Context, request *ListSourceEvalTargetsRequest) (r *ListSourceEvalTargetsResponse, err error) { - var _args EvalTargetServiceListSourceEvalTargetsArgs - _args.Request = request - var _result EvalTargetServiceListSourceEvalTargetsResult - if err = p.Client_().Call(ctx, "ListSourceEvalTargets", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) ListSourceEvalTargetVersions(ctx context.Context, request *ListSourceEvalTargetVersionsRequest) (r *ListSourceEvalTargetVersionsResponse, err error) { - var _args EvalTargetServiceListSourceEvalTargetVersionsArgs - _args.Request = request - var _result EvalTargetServiceListSourceEvalTargetVersionsResult - if err = p.Client_().Call(ctx, "ListSourceEvalTargetVersions", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) BatchGetSourceEvalTargets(ctx context.Context, request *BatchGetSourceEvalTargetsRequest) (r *BatchGetSourceEvalTargetsResponse, err error) { - var _args EvalTargetServiceBatchGetSourceEvalTargetsArgs - _args.Request = request - var _result EvalTargetServiceBatchGetSourceEvalTargetsResult - if err = p.Client_().Call(ctx, "BatchGetSourceEvalTargets", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) SearchCustomEvalTarget(ctx context.Context, req *SearchCustomEvalTargetRequest) (r *SearchCustomEvalTargetResponse, err error) { - var _args EvalTargetServiceSearchCustomEvalTargetArgs - _args.Req = req - var _result EvalTargetServiceSearchCustomEvalTargetResult - if err = p.Client_().Call(ctx, "SearchCustomEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) ExecuteEvalTarget(ctx context.Context, request *ExecuteEvalTargetRequest) (r *ExecuteEvalTargetResponse, err error) { - var _args EvalTargetServiceExecuteEvalTargetArgs - _args.Request = request - var _result EvalTargetServiceExecuteEvalTargetResult - if err = p.Client_().Call(ctx, "ExecuteEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) AsyncExecuteEvalTarget(ctx context.Context, request *AsyncExecuteEvalTargetRequest) (r *AsyncExecuteEvalTargetResponse, err error) { - var _args EvalTargetServiceAsyncExecuteEvalTargetArgs - _args.Request = request - var _result EvalTargetServiceAsyncExecuteEvalTargetResult - if err = p.Client_().Call(ctx, "AsyncExecuteEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) GetEvalTargetRecord(ctx context.Context, request *GetEvalTargetRecordRequest) (r *GetEvalTargetRecordResponse, err error) { - var _args EvalTargetServiceGetEvalTargetRecordArgs - _args.Request = request - var _result EvalTargetServiceGetEvalTargetRecordResult - if err = p.Client_().Call(ctx, "GetEvalTargetRecord", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) BatchGetEvalTargetRecords(ctx context.Context, request *BatchGetEvalTargetRecordsRequest) (r *BatchGetEvalTargetRecordsResponse, err error) { - var _args EvalTargetServiceBatchGetEvalTargetRecordsArgs - _args.Request = request - var _result EvalTargetServiceBatchGetEvalTargetRecordsResult - if err = p.Client_().Call(ctx, "BatchGetEvalTargetRecords", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) DebugEvalTarget(ctx context.Context, request *DebugEvalTargetRequest) (r *DebugEvalTargetResponse, err error) { - var _args EvalTargetServiceDebugEvalTargetArgs - _args.Request = request - var _result EvalTargetServiceDebugEvalTargetResult - if err = p.Client_().Call(ctx, "DebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) AsyncDebugEvalTarget(ctx context.Context, request *AsyncDebugEvalTargetRequest) (r *AsyncDebugEvalTargetResponse, err error) { - var _args EvalTargetServiceAsyncDebugEvalTargetArgs - _args.Request = request - var _result EvalTargetServiceAsyncDebugEvalTargetResult - if err = p.Client_().Call(ctx, "AsyncDebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvalTargetServiceClient) MockEvalTargetOutput(ctx context.Context, request *MockEvalTargetOutputRequest) (r *MockEvalTargetOutputResponse, err error) { - var _args EvalTargetServiceMockEvalTargetOutputArgs - _args.Request = request - var _result EvalTargetServiceMockEvalTargetOutputResult - if err = p.Client_().Call(ctx, "MockEvalTargetOutput", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -type EvalTargetServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler EvalTargetService -} - -func (p *EvalTargetServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor -} - -func (p *EvalTargetServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok -} - -func (p *EvalTargetServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap -} - -func NewEvalTargetServiceProcessor(handler EvalTargetService) *EvalTargetServiceProcessor { - self := &EvalTargetServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("CreateEvalTarget", &evalTargetServiceProcessorCreateEvalTarget{handler: handler}) - self.AddToProcessorMap("BatchGetEvalTargetsBySource", &evalTargetServiceProcessorBatchGetEvalTargetsBySource{handler: handler}) - self.AddToProcessorMap("GetEvalTargetVersion", &evalTargetServiceProcessorGetEvalTargetVersion{handler: handler}) - self.AddToProcessorMap("BatchGetEvalTargetVersions", &evalTargetServiceProcessorBatchGetEvalTargetVersions{handler: handler}) - self.AddToProcessorMap("ListSourceEvalTargets", &evalTargetServiceProcessorListSourceEvalTargets{handler: handler}) - self.AddToProcessorMap("ListSourceEvalTargetVersions", &evalTargetServiceProcessorListSourceEvalTargetVersions{handler: handler}) - self.AddToProcessorMap("BatchGetSourceEvalTargets", &evalTargetServiceProcessorBatchGetSourceEvalTargets{handler: handler}) - self.AddToProcessorMap("SearchCustomEvalTarget", &evalTargetServiceProcessorSearchCustomEvalTarget{handler: handler}) - self.AddToProcessorMap("ExecuteEvalTarget", &evalTargetServiceProcessorExecuteEvalTarget{handler: handler}) - self.AddToProcessorMap("AsyncExecuteEvalTarget", &evalTargetServiceProcessorAsyncExecuteEvalTarget{handler: handler}) - self.AddToProcessorMap("GetEvalTargetRecord", &evalTargetServiceProcessorGetEvalTargetRecord{handler: handler}) - self.AddToProcessorMap("BatchGetEvalTargetRecords", &evalTargetServiceProcessorBatchGetEvalTargetRecords{handler: handler}) - self.AddToProcessorMap("DebugEvalTarget", &evalTargetServiceProcessorDebugEvalTarget{handler: handler}) - self.AddToProcessorMap("AsyncDebugEvalTarget", &evalTargetServiceProcessorAsyncDebugEvalTarget{handler: handler}) - self.AddToProcessorMap("MockEvalTargetOutput", &evalTargetServiceProcessorMockEvalTargetOutput{handler: handler}) - return self -} -func (p *EvalTargetServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) - } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} - -type evalTargetServiceProcessorCreateEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorCreateEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceCreateEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceCreateEvalTargetResult{} - var retval *CreateEvalTargetResponse - if retval, err2 = p.handler.CreateEvalTarget(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("CreateEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("CreateEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorBatchGetEvalTargetsBySource struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorBatchGetEvalTargetsBySource) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceBatchGetEvalTargetsBySourceArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceBatchGetEvalTargetsBySourceResult{} - var retval *BatchGetEvalTargetsBySourceResponse - if retval, err2 = p.handler.BatchGetEvalTargetsBySource(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetsBySource: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorGetEvalTargetVersion struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorGetEvalTargetVersion) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceGetEvalTargetVersionArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceGetEvalTargetVersionResult{} - var retval *GetEvalTargetVersionResponse - if retval, err2 = p.handler.GetEvalTargetVersion(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetEvalTargetVersion: "+err2.Error()) - oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorBatchGetEvalTargetVersions struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorBatchGetEvalTargetVersions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceBatchGetEvalTargetVersionsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceBatchGetEvalTargetVersionsResult{} - var retval *BatchGetEvalTargetVersionsResponse - if retval, err2 = p.handler.BatchGetEvalTargetVersions(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetVersions: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorListSourceEvalTargets struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorListSourceEvalTargets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceListSourceEvalTargetsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceListSourceEvalTargetsResult{} - var retval *ListSourceEvalTargetsResponse - if retval, err2 = p.handler.ListSourceEvalTargets(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSourceEvalTargets: "+err2.Error()) - oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorListSourceEvalTargetVersions struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorListSourceEvalTargetVersions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceListSourceEvalTargetVersionsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceListSourceEvalTargetVersionsResult{} - var retval *ListSourceEvalTargetVersionsResponse - if retval, err2 = p.handler.ListSourceEvalTargetVersions(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSourceEvalTargetVersions: "+err2.Error()) - oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorBatchGetSourceEvalTargets struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorBatchGetSourceEvalTargets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceBatchGetSourceEvalTargetsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceBatchGetSourceEvalTargetsResult{} - var retval *BatchGetSourceEvalTargetsResponse - if retval, err2 = p.handler.BatchGetSourceEvalTargets(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetSourceEvalTargets: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorSearchCustomEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorSearchCustomEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceSearchCustomEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SearchCustomEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceSearchCustomEvalTargetResult{} - var retval *SearchCustomEvalTargetResponse - if retval, err2 = p.handler.SearchCustomEvalTarget(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchCustomEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("SearchCustomEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SearchCustomEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorExecuteEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorExecuteEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceExecuteEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceExecuteEvalTargetResult{} - var retval *ExecuteEvalTargetResponse - if retval, err2 = p.handler.ExecuteEvalTarget(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExecuteEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorAsyncExecuteEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorAsyncExecuteEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceAsyncExecuteEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("AsyncExecuteEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceAsyncExecuteEvalTargetResult{} - var retval *AsyncExecuteEvalTargetResponse - if retval, err2 = p.handler.AsyncExecuteEvalTarget(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AsyncExecuteEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("AsyncExecuteEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("AsyncExecuteEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorGetEvalTargetRecord struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorGetEvalTargetRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceGetEvalTargetRecordArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceGetEvalTargetRecordResult{} - var retval *GetEvalTargetRecordResponse - if retval, err2 = p.handler.GetEvalTargetRecord(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetEvalTargetRecord: "+err2.Error()) - oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorBatchGetEvalTargetRecords struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorBatchGetEvalTargetRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceBatchGetEvalTargetRecordsArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceBatchGetEvalTargetRecordsResult{} - var retval *BatchGetEvalTargetRecordsResponse - if retval, err2 = p.handler.BatchGetEvalTargetRecords(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetRecords: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorDebugEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorDebugEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceDebugEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DebugEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceDebugEvalTargetResult{} - var retval *DebugEvalTargetResponse - if retval, err2 = p.handler.DebugEvalTarget(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DebugEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("DebugEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("DebugEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorAsyncDebugEvalTarget struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorAsyncDebugEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceAsyncDebugEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("AsyncDebugEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceAsyncDebugEvalTargetResult{} - var retval *AsyncDebugEvalTargetResponse - if retval, err2 = p.handler.AsyncDebugEvalTarget(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AsyncDebugEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("AsyncDebugEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("AsyncDebugEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evalTargetServiceProcessorMockEvalTargetOutput struct { - handler EvalTargetService -} - -func (p *evalTargetServiceProcessorMockEvalTargetOutput) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvalTargetServiceMockEvalTargetOutputArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvalTargetServiceMockEvalTargetOutputResult{} - var retval *MockEvalTargetOutputResponse - if retval, err2 = p.handler.MockEvalTargetOutput(ctx, args.Request); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing MockEvalTargetOutput: "+err2.Error()) - oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type EvalTargetServiceCreateEvalTargetArgs struct { - Request *CreateEvalTargetRequest `thrift:"request,1" frugal:"1,default,CreateEvalTargetRequest"` -} - -func NewEvalTargetServiceCreateEvalTargetArgs() *EvalTargetServiceCreateEvalTargetArgs { - return &EvalTargetServiceCreateEvalTargetArgs{} -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) InitDefault() { -} - -var EvalTargetServiceCreateEvalTargetArgs_Request_DEFAULT *CreateEvalTargetRequest - -func (p *EvalTargetServiceCreateEvalTargetArgs) GetRequest() (v *CreateEvalTargetRequest) { - if p == nil { - return - } - if !p.IsSetRequest() { - return EvalTargetServiceCreateEvalTargetArgs_Request_DEFAULT - } - return p.Request -} -func (p *EvalTargetServiceCreateEvalTargetArgs) SetRequest(val *CreateEvalTargetRequest) { - p.Request = val -} - -var fieldIDToName_EvalTargetServiceCreateEvalTargetArgs = map[int16]string{ - 1: "request", -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) IsSetRequest() bool { - return p.Request != nil -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewCreateEvalTargetRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Request = _field - return nil -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("CreateEvalTarget_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Request.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvalTargetServiceCreateEvalTargetArgs(%+v)", *p) - -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) DeepEqual(ano *EvalTargetServiceCreateEvalTargetArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Request) { - return false - } - return true -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) Field1DeepEqual(src *CreateEvalTargetRequest) bool { - - if !p.Request.DeepEqual(src) { - return false - } - return true -} - -type EvalTargetServiceCreateEvalTargetResult struct { - Success *CreateEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,CreateEvalTargetResponse"` -} - -func NewEvalTargetServiceCreateEvalTargetResult() *EvalTargetServiceCreateEvalTargetResult { - return &EvalTargetServiceCreateEvalTargetResult{} -} - -func (p *EvalTargetServiceCreateEvalTargetResult) InitDefault() { -} - -var EvalTargetServiceCreateEvalTargetResult_Success_DEFAULT *CreateEvalTargetResponse - -func (p *EvalTargetServiceCreateEvalTargetResult) GetSuccess() (v *CreateEvalTargetResponse) { - if p == nil { - return - } - if !p.IsSetSuccess() { - return EvalTargetServiceCreateEvalTargetResult_Success_DEFAULT - } - return p.Success -} -func (p *EvalTargetServiceCreateEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*CreateEvalTargetResponse) -} - -var fieldIDToName_EvalTargetServiceCreateEvalTargetResult = map[int16]string{ - 0: "success", -} - -func (p *EvalTargetServiceCreateEvalTargetResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvalTargetServiceCreateEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewCreateEvalTargetResponse() - if err := _field.Read(iprot); err != nil { - return err - } - p.Success = _field - return nil -} - -func (p *EvalTargetServiceCreateEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("CreateEvalTarget_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvalTargetServiceCreateEvalTargetResult) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvalTargetServiceCreateEvalTargetResult(%+v)", *p) - -} - -func (p *EvalTargetServiceCreateEvalTargetResult) DeepEqual(ano *EvalTargetServiceCreateEvalTargetResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false - } - return true -} - -func (p *EvalTargetServiceCreateEvalTargetResult) Field0DeepEqual(src *CreateEvalTargetResponse) bool { - - if !p.Success.DeepEqual(src) { - return false - } - return true -} - -type EvalTargetServiceBatchGetEvalTargetsBySourceArgs struct { - Request *BatchGetEvalTargetsBySourceRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetsBySourceRequest"` -} - -func NewEvalTargetServiceBatchGetEvalTargetsBySourceArgs() *EvalTargetServiceBatchGetEvalTargetsBySourceArgs { - return &EvalTargetServiceBatchGetEvalTargetsBySourceArgs{} -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) InitDefault() { -} - -var EvalTargetServiceBatchGetEvalTargetsBySourceArgs_Request_DEFAULT *BatchGetEvalTargetsBySourceRequest - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) GetRequest() (v *BatchGetEvalTargetsBySourceRequest) { - if p == nil { - return - } - if !p.IsSetRequest() { - return EvalTargetServiceBatchGetEvalTargetsBySourceArgs_Request_DEFAULT - } - return p.Request -} -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) SetRequest(val *BatchGetEvalTargetsBySourceRequest) { - p.Request = val -} - -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs = map[int16]string{ - 1: "request", -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) IsSetRequest() bool { - return p.Request != nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetsBySourceRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Request = _field - return nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetsBySource_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Request.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetsBySourceArgs(%+v)", *p) - -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Request) { - return false - } - return true -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Field1DeepEqual(src *BatchGetEvalTargetsBySourceRequest) bool { - - if !p.Request.DeepEqual(src) { - return false - } - return true -} - -type EvalTargetServiceBatchGetEvalTargetsBySourceResult struct { - Success *BatchGetEvalTargetsBySourceResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetsBySourceResponse"` -} - -func NewEvalTargetServiceBatchGetEvalTargetsBySourceResult() *EvalTargetServiceBatchGetEvalTargetsBySourceResult { - return &EvalTargetServiceBatchGetEvalTargetsBySourceResult{} -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) InitDefault() { -} - -var EvalTargetServiceBatchGetEvalTargetsBySourceResult_Success_DEFAULT *BatchGetEvalTargetsBySourceResponse - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) GetSuccess() (v *BatchGetEvalTargetsBySourceResponse) { - if p == nil { +func (p *EvalTargetServiceClient) ListSourceEvalTargets(ctx context.Context, request *ListSourceEvalTargetsRequest) (r *ListSourceEvalTargetsResponse, err error) { + var _args EvalTargetServiceListSourceEvalTargetsArgs + _args.Request = request + var _result EvalTargetServiceListSourceEvalTargetsResult + if err = p.Client_().Call(ctx, "ListSourceEvalTargets", &_args, &_result); err != nil { return } - if !p.IsSetSuccess() { - return EvalTargetServiceBatchGetEvalTargetsBySourceResult_Success_DEFAULT - } - return p.Success -} -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetEvalTargetsBySourceResponse) -} - -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult = map[int16]string{ - 0: "success", -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetsBySourceResponse() - if err := _field.Read(iprot); err != nil { - return err +func (p *EvalTargetServiceClient) ListSourceEvalTargetVersions(ctx context.Context, request *ListSourceEvalTargetVersionsRequest) (r *ListSourceEvalTargetVersionsResponse, err error) { + var _args EvalTargetServiceListSourceEvalTargetVersionsArgs + _args.Request = request + var _result EvalTargetServiceListSourceEvalTargetVersionsResult + if err = p.Client_().Call(ctx, "ListSourceEvalTargetVersions", &_args, &_result); err != nil { + return } - p.Success = _field - return nil + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetsBySource_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError +func (p *EvalTargetServiceClient) BatchGetSourceEvalTargets(ctx context.Context, request *BatchGetSourceEvalTargetsRequest) (r *BatchGetSourceEvalTargetsResponse, err error) { + var _args EvalTargetServiceBatchGetSourceEvalTargetsArgs + _args.Request = request + var _result EvalTargetServiceBatchGetSourceEvalTargetsResult + if err = p.Client_().Call(ctx, "BatchGetSourceEvalTargets", &_args, &_result); err != nil { + return } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *EvalTargetServiceClient) ExecuteEvalTarget(ctx context.Context, request *ExecuteEvalTargetRequest) (r *ExecuteEvalTargetResponse, err error) { + var _args EvalTargetServiceExecuteEvalTargetArgs + _args.Request = request + var _result EvalTargetServiceExecuteEvalTargetResult + if err = p.Client_().Call(ctx, "ExecuteEvalTarget", &_args, &_result); err != nil { + return } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) String() string { - if p == nil { - return "" +func (p *EvalTargetServiceClient) GetEvalTargetRecord(ctx context.Context, request *GetEvalTargetRecordRequest) (r *GetEvalTargetRecordResponse, err error) { + var _args EvalTargetServiceGetEvalTargetRecordArgs + _args.Request = request + var _result EvalTargetServiceGetEvalTargetRecordResult + if err = p.Client_().Call(ctx, "GetEvalTargetRecord", &_args, &_result); err != nil { + return } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetsBySourceResult(%+v)", *p) - + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetsBySourceResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false +func (p *EvalTargetServiceClient) BatchGetEvalTargetRecords(ctx context.Context, request *BatchGetEvalTargetRecordsRequest) (r *BatchGetEvalTargetRecordsResponse, err error) { + var _args EvalTargetServiceBatchGetEvalTargetRecordsArgs + _args.Request = request + var _result EvalTargetServiceBatchGetEvalTargetRecordsResult + if err = p.Client_().Call(ctx, "BatchGetEvalTargetRecords", &_args, &_result); err != nil { + return } - return true + return _result.GetSuccess(), nil } - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Field0DeepEqual(src *BatchGetEvalTargetsBySourceResponse) bool { - - if !p.Success.DeepEqual(src) { - return false +func (p *EvalTargetServiceClient) MockEvalTargetOutput(ctx context.Context, request *MockEvalTargetOutputRequest) (r *MockEvalTargetOutputResponse, err error) { + var _args EvalTargetServiceMockEvalTargetOutputArgs + _args.Request = request + var _result EvalTargetServiceMockEvalTargetOutputResult + if err = p.Client_().Call(ctx, "MockEvalTargetOutput", &_args, &_result); err != nil { + return } - return true + return _result.GetSuccess(), nil } -type EvalTargetServiceGetEvalTargetVersionArgs struct { - Request *GetEvalTargetVersionRequest `thrift:"request,1" frugal:"1,default,GetEvalTargetVersionRequest"` +type EvalTargetServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler EvalTargetService } -func NewEvalTargetServiceGetEvalTargetVersionArgs() *EvalTargetServiceGetEvalTargetVersionArgs { - return &EvalTargetServiceGetEvalTargetVersionArgs{} +func (p *EvalTargetServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor } -func (p *EvalTargetServiceGetEvalTargetVersionArgs) InitDefault() { +func (p *EvalTargetServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok } -var EvalTargetServiceGetEvalTargetVersionArgs_Request_DEFAULT *GetEvalTargetVersionRequest +func (p *EvalTargetServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} -func (p *EvalTargetServiceGetEvalTargetVersionArgs) GetRequest() (v *GetEvalTargetVersionRequest) { - if p == nil { - return +func NewEvalTargetServiceProcessor(handler EvalTargetService) *EvalTargetServiceProcessor { + self := &EvalTargetServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("CreateEvalTarget", &evalTargetServiceProcessorCreateEvalTarget{handler: handler}) + self.AddToProcessorMap("BatchGetEvalTargetsBySource", &evalTargetServiceProcessorBatchGetEvalTargetsBySource{handler: handler}) + self.AddToProcessorMap("GetEvalTargetVersion", &evalTargetServiceProcessorGetEvalTargetVersion{handler: handler}) + self.AddToProcessorMap("BatchGetEvalTargetVersions", &evalTargetServiceProcessorBatchGetEvalTargetVersions{handler: handler}) + self.AddToProcessorMap("ListSourceEvalTargets", &evalTargetServiceProcessorListSourceEvalTargets{handler: handler}) + self.AddToProcessorMap("ListSourceEvalTargetVersions", &evalTargetServiceProcessorListSourceEvalTargetVersions{handler: handler}) + self.AddToProcessorMap("BatchGetSourceEvalTargets", &evalTargetServiceProcessorBatchGetSourceEvalTargets{handler: handler}) + self.AddToProcessorMap("ExecuteEvalTarget", &evalTargetServiceProcessorExecuteEvalTarget{handler: handler}) + self.AddToProcessorMap("GetEvalTargetRecord", &evalTargetServiceProcessorGetEvalTargetRecord{handler: handler}) + self.AddToProcessorMap("BatchGetEvalTargetRecords", &evalTargetServiceProcessorBatchGetEvalTargetRecords{handler: handler}) + self.AddToProcessorMap("MockEvalTargetOutput", &evalTargetServiceProcessorMockEvalTargetOutput{handler: handler}) + return self +} +func (p *EvalTargetServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err } - if !p.IsSetRequest() { - return EvalTargetServiceGetEvalTargetVersionArgs_Request_DEFAULT + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) } - return p.Request -} -func (p *EvalTargetServiceGetEvalTargetVersionArgs) SetRequest(val *GetEvalTargetVersionRequest) { - p.Request = val -} - -var fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs = map[int16]string{ - 1: "request", + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x } -func (p *EvalTargetServiceGetEvalTargetVersionArgs) IsSetRequest() bool { - return p.Request != nil +type evalTargetServiceProcessorCreateEvalTarget struct { + handler EvalTargetService } -func (p *EvalTargetServiceGetEvalTargetVersionArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *evalTargetServiceProcessorCreateEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceCreateEvalTargetArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CreateEvalTarget", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceCreateEvalTargetResult{} + var retval *CreateEvalTargetResponse + if retval, err2 = p.handler.CreateEvalTarget(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateEvalTarget: "+err2.Error()) + oprot.WriteMessageBegin("CreateEvalTarget", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewGetEvalTargetVersionRequest() - if err := _field.Read(iprot); err != nil { - return err + if err2 = oprot.WriteMessageBegin("CreateEvalTarget", thrift.REPLY, seqId); err2 != nil { + err = err2 } - p.Request = _field - return nil -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetVersion_args"); err != nil { - goto WriteStructBeginError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err != nil { + return } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + return true, err } -func (p *EvalTargetServiceGetEvalTargetVersionArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Request.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +type evalTargetServiceProcessorBatchGetEvalTargetsBySource struct { + handler EvalTargetService } -func (p *EvalTargetServiceGetEvalTargetVersionArgs) String() string { - if p == nil { - return "" +func (p *evalTargetServiceProcessorBatchGetEvalTargetsBySource) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceBatchGetEvalTargetsBySourceArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - return fmt.Sprintf("EvalTargetServiceGetEvalTargetVersionArgs(%+v)", *p) - -} -func (p *EvalTargetServiceGetEvalTargetVersionArgs) DeepEqual(ano *EvalTargetServiceGetEvalTargetVersionArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceBatchGetEvalTargetsBySourceResult{} + var retval *BatchGetEvalTargetsBySourceResponse + if retval, err2 = p.handler.BatchGetEvalTargetsBySource(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetsBySource: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetsBySource", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if !p.Field1DeepEqual(ano.Request) { - return false + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return true -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) Field1DeepEqual(src *GetEvalTargetVersionRequest) bool { - - if !p.Request.DeepEqual(src) { - return false + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return true -} - -type EvalTargetServiceGetEvalTargetVersionResult struct { - Success *GetEvalTargetVersionResponse `thrift:"success,0,optional" frugal:"0,optional,GetEvalTargetVersionResponse"` -} - -func NewEvalTargetServiceGetEvalTargetVersionResult() *EvalTargetServiceGetEvalTargetVersionResult { - return &EvalTargetServiceGetEvalTargetVersionResult{} -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) InitDefault() { -} - -var EvalTargetServiceGetEvalTargetVersionResult_Success_DEFAULT *GetEvalTargetVersionResponse - -func (p *EvalTargetServiceGetEvalTargetVersionResult) GetSuccess() (v *GetEvalTargetVersionResponse) { - if p == nil { + if err != nil { return } - if !p.IsSetSuccess() { - return EvalTargetServiceGetEvalTargetVersionResult_Success_DEFAULT - } - return p.Success -} -func (p *EvalTargetServiceGetEvalTargetVersionResult) SetSuccess(x interface{}) { - p.Success = x.(*GetEvalTargetVersionResponse) -} - -var fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult = map[int16]string{ - 0: "success", + return true, err } -func (p *EvalTargetServiceGetEvalTargetVersionResult) IsSetSuccess() bool { - return p.Success != nil +type evalTargetServiceProcessorGetEvalTargetVersion struct { + handler EvalTargetService } -func (p *EvalTargetServiceGetEvalTargetVersionResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *evalTargetServiceProcessorGetEvalTargetVersion) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceGetEvalTargetVersionArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceGetEvalTargetVersionResult{} + var retval *GetEvalTargetVersionResponse + if retval, err2 = p.handler.GetEvalTargetVersion(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetEvalTargetVersion: "+err2.Error()) + oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + if err2 = oprot.WriteMessageBegin("GetEvalTargetVersion", thrift.REPLY, seqId); err2 != nil { + err = err2 } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +type evalTargetServiceProcessorBatchGetEvalTargetVersions struct { + handler EvalTargetService } -func (p *EvalTargetServiceGetEvalTargetVersionResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewGetEvalTargetVersionResponse() - if err := _field.Read(iprot); err != nil { - return err +func (p *evalTargetServiceProcessorBatchGetEvalTargetVersions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceBatchGetEvalTargetVersionsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - p.Success = _field - return nil -} -func (p *EvalTargetServiceGetEvalTargetVersionResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetVersion_result"); err != nil { - goto WriteStructBeginError + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceBatchGetEvalTargetVersionsResult{} + var retval *BatchGetEvalTargetVersionsResponse + if retval, err2 = p.handler.BatchGetEvalTargetVersions(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetVersions: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } + if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetVersions", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *EvalTargetServiceGetEvalTargetVersionResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +type evalTargetServiceProcessorListSourceEvalTargets struct { + handler EvalTargetService } -func (p *EvalTargetServiceGetEvalTargetVersionResult) String() string { - if p == nil { - return "" +func (p *evalTargetServiceProcessorListSourceEvalTargets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceListSourceEvalTargetsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - return fmt.Sprintf("EvalTargetServiceGetEvalTargetVersionResult(%+v)", *p) -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) DeepEqual(ano *EvalTargetServiceGetEvalTargetVersionResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceListSourceEvalTargetsResult{} + var retval *ListSourceEvalTargetsResponse + if retval, err2 = p.handler.ListSourceEvalTargets(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSourceEvalTargets: "+err2.Error()) + oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if !p.Field0DeepEqual(ano.Success) { - return false + if err2 = oprot.WriteMessageBegin("ListSourceEvalTargets", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return true -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) Field0DeepEqual(src *GetEvalTargetVersionResponse) bool { - - if !p.Success.DeepEqual(src) { - return false + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return true -} - -type EvalTargetServiceBatchGetEvalTargetVersionsArgs struct { - Request *BatchGetEvalTargetVersionsRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetVersionsRequest"` -} - -func NewEvalTargetServiceBatchGetEvalTargetVersionsArgs() *EvalTargetServiceBatchGetEvalTargetVersionsArgs { - return &EvalTargetServiceBatchGetEvalTargetVersionsArgs{} -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) InitDefault() { -} - -var EvalTargetServiceBatchGetEvalTargetVersionsArgs_Request_DEFAULT *BatchGetEvalTargetVersionsRequest - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) GetRequest() (v *BatchGetEvalTargetVersionsRequest) { - if p == nil { - return + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if !p.IsSetRequest() { - return EvalTargetServiceBatchGetEvalTargetVersionsArgs_Request_DEFAULT + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return p.Request -} -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) SetRequest(val *BatchGetEvalTargetVersionsRequest) { - p.Request = val -} - -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs = map[int16]string{ - 1: "request", + if err != nil { + return + } + return true, err } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) IsSetRequest() bool { - return p.Request != nil +type evalTargetServiceProcessorListSourceEvalTargetVersions struct { + handler EvalTargetService } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *evalTargetServiceProcessorListSourceEvalTargetVersions) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceListSourceEvalTargetVersionsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceListSourceEvalTargetVersionsResult{} + var retval *ListSourceEvalTargetVersionsResponse + if retval, err2 = p.handler.ListSourceEvalTargetVersions(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSourceEvalTargetVersions: "+err2.Error()) + oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + if err2 = oprot.WriteMessageBegin("ListSourceEvalTargetVersions", thrift.REPLY, seqId); err2 != nil { + err = err2 } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetVersionsRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Request = _field - return nil +type evalTargetServiceProcessorBatchGetSourceEvalTargets struct { + handler EvalTargetService } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetVersions_args"); err != nil { - goto WriteStructBeginError +func (p *evalTargetServiceProcessorBatchGetSourceEvalTargets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceBatchGetSourceEvalTargetsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } + + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceBatchGetSourceEvalTargetsResult{} + var retval *BatchGetSourceEvalTargetsResponse + if retval, err2 = p.handler.BatchGetSourceEvalTargets(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetSourceEvalTargets: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = oprot.WriteMessageBegin("BatchGetSourceEvalTargets", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if err := p.Request.Write(oprot); err != nil { - return err + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + if err != nil { + return } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return true, err } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) String() string { - if p == nil { - return "" +type evalTargetServiceProcessorExecuteEvalTarget struct { + handler EvalTargetService +} + +func (p *evalTargetServiceProcessorExecuteEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceExecuteEvalTargetArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceExecuteEvalTargetResult{} + var retval *ExecuteEvalTargetResponse + if retval, err2 = p.handler.ExecuteEvalTarget(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExecuteEvalTarget: "+err2.Error()) + oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("ExecuteEvalTarget", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetVersionsArgs(%+v)", *p) - -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetVersionsArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if !p.Field1DeepEqual(ano.Request) { - return false + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return true -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Field1DeepEqual(src *BatchGetEvalTargetVersionsRequest) bool { - - if !p.Request.DeepEqual(src) { - return false + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return true -} - -type EvalTargetServiceBatchGetEvalTargetVersionsResult struct { - Success *BatchGetEvalTargetVersionsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetVersionsResponse"` -} - -func NewEvalTargetServiceBatchGetEvalTargetVersionsResult() *EvalTargetServiceBatchGetEvalTargetVersionsResult { - return &EvalTargetServiceBatchGetEvalTargetVersionsResult{} -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) InitDefault() { -} - -var EvalTargetServiceBatchGetEvalTargetVersionsResult_Success_DEFAULT *BatchGetEvalTargetVersionsResponse - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) GetSuccess() (v *BatchGetEvalTargetVersionsResponse) { - if p == nil { + if err != nil { return } - if !p.IsSetSuccess() { - return EvalTargetServiceBatchGetEvalTargetVersionsResult_Success_DEFAULT - } - return p.Success -} -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetEvalTargetVersionsResponse) -} - -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult = map[int16]string{ - 0: "success", + return true, err } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) IsSetSuccess() bool { - return p.Success != nil +type evalTargetServiceProcessorGetEvalTargetRecord struct { + handler EvalTargetService } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *evalTargetServiceProcessorGetEvalTargetRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceGetEvalTargetRecordArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceGetEvalTargetRecordResult{} + var retval *GetEvalTargetRecordResponse + if retval, err2 = p.handler.GetEvalTargetRecord(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetEvalTargetRecord: "+err2.Error()) + oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + if err2 = oprot.WriteMessageBegin("GetEvalTargetRecord", thrift.REPLY, seqId); err2 != nil { + err = err2 } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +type evalTargetServiceProcessorBatchGetEvalTargetRecords struct { + handler EvalTargetService } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetVersionsResponse() - if err := _field.Read(iprot); err != nil { - return err +func (p *evalTargetServiceProcessorBatchGetEvalTargetRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceBatchGetEvalTargetRecordsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - p.Success = _field - return nil -} -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetVersions_result"); err != nil { - goto WriteStructBeginError + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceBatchGetEvalTargetRecordsResult{} + var retval *BatchGetEvalTargetRecordsResponse + if retval, err2 = p.handler.BatchGetEvalTargetRecords(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetEvalTargetRecords: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } + if err2 = oprot.WriteMessageBegin("BatchGetEvalTargetRecords", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +type evalTargetServiceProcessorMockEvalTargetOutput struct { + handler EvalTargetService +} + +func (p *evalTargetServiceProcessorMockEvalTargetOutput) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := EvalTargetServiceMockEvalTargetOutputArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := EvalTargetServiceMockEvalTargetOutputResult{} + var retval *MockEvalTargetOutputResponse + if retval, err2 = p.handler.MockEvalTargetOutput(ctx, args.Request); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing MockEvalTargetOutput: "+err2.Error()) + oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("MockEvalTargetOutput", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) String() string { - if p == nil { - return "" + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetVersionsResult(%+v)", *p) - -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetVersionsResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if !p.Field0DeepEqual(ano.Success) { - return false + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return true -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Field0DeepEqual(src *BatchGetEvalTargetVersionsResponse) bool { - - if !p.Success.DeepEqual(src) { - return false + if err != nil { + return } - return true + return true, err } -type EvalTargetServiceListSourceEvalTargetsArgs struct { - Request *ListSourceEvalTargetsRequest `thrift:"request,1" frugal:"1,default,ListSourceEvalTargetsRequest"` +type EvalTargetServiceCreateEvalTargetArgs struct { + Request *CreateEvalTargetRequest `thrift:"request,1" frugal:"1,default,CreateEvalTargetRequest"` } -func NewEvalTargetServiceListSourceEvalTargetsArgs() *EvalTargetServiceListSourceEvalTargetsArgs { - return &EvalTargetServiceListSourceEvalTargetsArgs{} +func NewEvalTargetServiceCreateEvalTargetArgs() *EvalTargetServiceCreateEvalTargetArgs { + return &EvalTargetServiceCreateEvalTargetArgs{} } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) InitDefault() { +func (p *EvalTargetServiceCreateEvalTargetArgs) InitDefault() { } -var EvalTargetServiceListSourceEvalTargetsArgs_Request_DEFAULT *ListSourceEvalTargetsRequest +var EvalTargetServiceCreateEvalTargetArgs_Request_DEFAULT *CreateEvalTargetRequest -func (p *EvalTargetServiceListSourceEvalTargetsArgs) GetRequest() (v *ListSourceEvalTargetsRequest) { +func (p *EvalTargetServiceCreateEvalTargetArgs) GetRequest() (v *CreateEvalTargetRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceListSourceEvalTargetsArgs_Request_DEFAULT + return EvalTargetServiceCreateEvalTargetArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) SetRequest(val *ListSourceEvalTargetsRequest) { +func (p *EvalTargetServiceCreateEvalTargetArgs) SetRequest(val *CreateEvalTargetRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceCreateEvalTargetArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) IsSetRequest() bool { +func (p *EvalTargetServiceCreateEvalTargetArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -15232,7 +9983,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15242,8 +9993,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListSourceEvalTargetsRequest() +func (p *EvalTargetServiceCreateEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewCreateEvalTargetRequest() if err := _field.Read(iprot); err != nil { return err } @@ -15251,9 +10002,9 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) ReadField1(iprot thrift.TPr return nil } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargets_args"); err != nil { + if err = oprot.WriteStructBegin("CreateEvalTarget_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15279,7 +10030,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -15296,15 +10047,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) String() string { +func (p *EvalTargetServiceCreateEvalTargetArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetsArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceCreateEvalTargetArgs(%+v)", *p) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetsArgs) bool { +func (p *EvalTargetServiceCreateEvalTargetArgs) DeepEqual(ano *EvalTargetServiceCreateEvalTargetArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -15316,7 +10067,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepEqual(ano *EvalTargetSe return true } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) Field1DeepEqual(src *ListSourceEvalTargetsRequest) bool { +func (p *EvalTargetServiceCreateEvalTargetArgs) Field1DeepEqual(src *CreateEvalTargetRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -15324,41 +10075,41 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) Field1DeepEqual(src *ListSo return true } -type EvalTargetServiceListSourceEvalTargetsResult struct { - Success *ListSourceEvalTargetsResponse `thrift:"success,0,optional" frugal:"0,optional,ListSourceEvalTargetsResponse"` +type EvalTargetServiceCreateEvalTargetResult struct { + Success *CreateEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,CreateEvalTargetResponse"` } -func NewEvalTargetServiceListSourceEvalTargetsResult() *EvalTargetServiceListSourceEvalTargetsResult { - return &EvalTargetServiceListSourceEvalTargetsResult{} +func NewEvalTargetServiceCreateEvalTargetResult() *EvalTargetServiceCreateEvalTargetResult { + return &EvalTargetServiceCreateEvalTargetResult{} } -func (p *EvalTargetServiceListSourceEvalTargetsResult) InitDefault() { +func (p *EvalTargetServiceCreateEvalTargetResult) InitDefault() { } -var EvalTargetServiceListSourceEvalTargetsResult_Success_DEFAULT *ListSourceEvalTargetsResponse +var EvalTargetServiceCreateEvalTargetResult_Success_DEFAULT *CreateEvalTargetResponse -func (p *EvalTargetServiceListSourceEvalTargetsResult) GetSuccess() (v *ListSourceEvalTargetsResponse) { +func (p *EvalTargetServiceCreateEvalTargetResult) GetSuccess() (v *CreateEvalTargetResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceListSourceEvalTargetsResult_Success_DEFAULT + return EvalTargetServiceCreateEvalTargetResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceListSourceEvalTargetsResult) SetSuccess(x interface{}) { - p.Success = x.(*ListSourceEvalTargetsResponse) +func (p *EvalTargetServiceCreateEvalTargetResult) SetSuccess(x interface{}) { + p.Success = x.(*CreateEvalTargetResponse) } -var fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceCreateEvalTargetResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceListSourceEvalTargetsResult) IsSetSuccess() bool { +func (p *EvalTargetServiceCreateEvalTargetResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceListSourceEvalTargetsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -15403,7 +10154,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15413,8 +10164,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListSourceEvalTargetsResponse() +func (p *EvalTargetServiceCreateEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewCreateEvalTargetResponse() if err := _field.Read(iprot); err != nil { return err } @@ -15422,9 +10173,9 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) ReadField0(iprot thrift.T return nil } -func (p *EvalTargetServiceListSourceEvalTargetsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargets_result"); err != nil { + if err = oprot.WriteStructBegin("CreateEvalTarget_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15450,7 +10201,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceCreateEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -15469,15 +10220,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) String() string { +func (p *EvalTargetServiceCreateEvalTargetResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetsResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceCreateEvalTargetResult(%+v)", *p) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetsResult) bool { +func (p *EvalTargetServiceCreateEvalTargetResult) DeepEqual(ano *EvalTargetServiceCreateEvalTargetResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -15489,7 +10240,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepEqual(ano *EvalTarget return true } -func (p *EvalTargetServiceListSourceEvalTargetsResult) Field0DeepEqual(src *ListSourceEvalTargetsResponse) bool { +func (p *EvalTargetServiceCreateEvalTargetResult) Field0DeepEqual(src *CreateEvalTargetResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -15497,41 +10248,41 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) Field0DeepEqual(src *List return true } -type EvalTargetServiceListSourceEvalTargetVersionsArgs struct { - Request *ListSourceEvalTargetVersionsRequest `thrift:"request,1" frugal:"1,default,ListSourceEvalTargetVersionsRequest"` +type EvalTargetServiceBatchGetEvalTargetsBySourceArgs struct { + Request *BatchGetEvalTargetsBySourceRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetsBySourceRequest"` } -func NewEvalTargetServiceListSourceEvalTargetVersionsArgs() *EvalTargetServiceListSourceEvalTargetVersionsArgs { - return &EvalTargetServiceListSourceEvalTargetVersionsArgs{} +func NewEvalTargetServiceBatchGetEvalTargetsBySourceArgs() *EvalTargetServiceBatchGetEvalTargetsBySourceArgs { + return &EvalTargetServiceBatchGetEvalTargetsBySourceArgs{} } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) InitDefault() { } -var EvalTargetServiceListSourceEvalTargetVersionsArgs_Request_DEFAULT *ListSourceEvalTargetVersionsRequest +var EvalTargetServiceBatchGetEvalTargetsBySourceArgs_Request_DEFAULT *BatchGetEvalTargetsBySourceRequest -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) GetRequest() (v *ListSourceEvalTargetVersionsRequest) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) GetRequest() (v *BatchGetEvalTargetsBySourceRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceListSourceEvalTargetVersionsArgs_Request_DEFAULT + return EvalTargetServiceBatchGetEvalTargetsBySourceArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) SetRequest(val *ListSourceEvalTargetVersionsRequest) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) SetRequest(val *BatchGetEvalTargetsBySourceRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) IsSetRequest() bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -15576,7 +10327,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15586,8 +10337,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListSourceEvalTargetVersionsRequest() +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetsBySourceRequest() if err := _field.Read(iprot); err != nil { return err } @@ -15595,9 +10346,9 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) ReadField1(iprot thr return nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetVersions_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetsBySource_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15623,7 +10374,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -15640,15 +10391,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetVersionsArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetsBySourceArgs(%+v)", *p) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetVersionsArgs) bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -15660,7 +10411,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepEqual(ano *EvalT return true } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Field1DeepEqual(src *ListSourceEvalTargetVersionsRequest) bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) Field1DeepEqual(src *BatchGetEvalTargetsBySourceRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -15668,41 +10419,41 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Field1DeepEqual(src return true } -type EvalTargetServiceListSourceEvalTargetVersionsResult struct { - Success *ListSourceEvalTargetVersionsResponse `thrift:"success,0,optional" frugal:"0,optional,ListSourceEvalTargetVersionsResponse"` +type EvalTargetServiceBatchGetEvalTargetsBySourceResult struct { + Success *BatchGetEvalTargetsBySourceResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetsBySourceResponse"` } -func NewEvalTargetServiceListSourceEvalTargetVersionsResult() *EvalTargetServiceListSourceEvalTargetVersionsResult { - return &EvalTargetServiceListSourceEvalTargetVersionsResult{} +func NewEvalTargetServiceBatchGetEvalTargetsBySourceResult() *EvalTargetServiceBatchGetEvalTargetsBySourceResult { + return &EvalTargetServiceBatchGetEvalTargetsBySourceResult{} } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) InitDefault() { } -var EvalTargetServiceListSourceEvalTargetVersionsResult_Success_DEFAULT *ListSourceEvalTargetVersionsResponse +var EvalTargetServiceBatchGetEvalTargetsBySourceResult_Success_DEFAULT *BatchGetEvalTargetsBySourceResponse -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) GetSuccess() (v *ListSourceEvalTargetVersionsResponse) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) GetSuccess() (v *BatchGetEvalTargetsBySourceResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceListSourceEvalTargetVersionsResult_Success_DEFAULT + return EvalTargetServiceBatchGetEvalTargetsBySourceResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) SetSuccess(x interface{}) { - p.Success = x.(*ListSourceEvalTargetVersionsResponse) +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetEvalTargetsBySourceResponse) } -var fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) IsSetSuccess() bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -15747,7 +10498,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15757,8 +10508,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListSourceEvalTargetVersionsResponse() +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetsBySourceResponse() if err := _field.Read(iprot); err != nil { return err } @@ -15766,9 +10517,9 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) ReadField0(iprot t return nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSourceEvalTargetVersions_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetsBySource_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15794,7 +10545,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -15813,15 +10564,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetVersionsResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetsBySourceResult(%+v)", *p) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetVersionsResult) bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetsBySourceResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -15833,7 +10584,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepEqual(ano *Eva return true } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Field0DeepEqual(src *ListSourceEvalTargetVersionsResponse) bool { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) Field0DeepEqual(src *BatchGetEvalTargetsBySourceResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -15841,41 +10592,41 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Field0DeepEqual(sr return true } -type EvalTargetServiceBatchGetSourceEvalTargetsArgs struct { - Request *BatchGetSourceEvalTargetsRequest `thrift:"request,1" frugal:"1,default,BatchGetSourceEvalTargetsRequest"` +type EvalTargetServiceGetEvalTargetVersionArgs struct { + Request *GetEvalTargetVersionRequest `thrift:"request,1" frugal:"1,default,GetEvalTargetVersionRequest"` } -func NewEvalTargetServiceBatchGetSourceEvalTargetsArgs() *EvalTargetServiceBatchGetSourceEvalTargetsArgs { - return &EvalTargetServiceBatchGetSourceEvalTargetsArgs{} +func NewEvalTargetServiceGetEvalTargetVersionArgs() *EvalTargetServiceGetEvalTargetVersionArgs { + return &EvalTargetServiceGetEvalTargetVersionArgs{} } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) InitDefault() { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) InitDefault() { } -var EvalTargetServiceBatchGetSourceEvalTargetsArgs_Request_DEFAULT *BatchGetSourceEvalTargetsRequest +var EvalTargetServiceGetEvalTargetVersionArgs_Request_DEFAULT *GetEvalTargetVersionRequest -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) GetRequest() (v *BatchGetSourceEvalTargetsRequest) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) GetRequest() (v *GetEvalTargetVersionRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceBatchGetSourceEvalTargetsArgs_Request_DEFAULT + return EvalTargetServiceGetEvalTargetVersionArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) SetRequest(val *BatchGetSourceEvalTargetsRequest) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) SetRequest(val *GetEvalTargetVersionRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) IsSetRequest() bool { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -15920,7 +10671,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15930,8 +10681,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetSourceEvalTargetsRequest() +func (p *EvalTargetServiceGetEvalTargetVersionArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewGetEvalTargetVersionRequest() if err := _field.Read(iprot); err != nil { return err } @@ -15939,9 +10690,9 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) ReadField1(iprot thrift return nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetSourceEvalTargets_args"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetVersion_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15967,7 +10718,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -15984,15 +10735,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) String() string { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceBatchGetSourceEvalTargetsArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceGetEvalTargetVersionArgs(%+v)", *p) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepEqual(ano *EvalTargetServiceBatchGetSourceEvalTargetsArgs) bool { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) DeepEqual(ano *EvalTargetServiceGetEvalTargetVersionArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16004,7 +10755,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepEqual(ano *EvalTarg return true } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Field1DeepEqual(src *BatchGetSourceEvalTargetsRequest) bool { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) Field1DeepEqual(src *GetEvalTargetVersionRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -16012,41 +10763,41 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Field1DeepEqual(src *Ba return true } -type EvalTargetServiceBatchGetSourceEvalTargetsResult struct { - Success *BatchGetSourceEvalTargetsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetSourceEvalTargetsResponse"` +type EvalTargetServiceGetEvalTargetVersionResult struct { + Success *GetEvalTargetVersionResponse `thrift:"success,0,optional" frugal:"0,optional,GetEvalTargetVersionResponse"` } -func NewEvalTargetServiceBatchGetSourceEvalTargetsResult() *EvalTargetServiceBatchGetSourceEvalTargetsResult { - return &EvalTargetServiceBatchGetSourceEvalTargetsResult{} +func NewEvalTargetServiceGetEvalTargetVersionResult() *EvalTargetServiceGetEvalTargetVersionResult { + return &EvalTargetServiceGetEvalTargetVersionResult{} } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) InitDefault() { +func (p *EvalTargetServiceGetEvalTargetVersionResult) InitDefault() { } -var EvalTargetServiceBatchGetSourceEvalTargetsResult_Success_DEFAULT *BatchGetSourceEvalTargetsResponse +var EvalTargetServiceGetEvalTargetVersionResult_Success_DEFAULT *GetEvalTargetVersionResponse -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) GetSuccess() (v *BatchGetSourceEvalTargetsResponse) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) GetSuccess() (v *GetEvalTargetVersionResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceBatchGetSourceEvalTargetsResult_Success_DEFAULT + return EvalTargetServiceGetEvalTargetVersionResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetSourceEvalTargetsResponse) +func (p *EvalTargetServiceGetEvalTargetVersionResult) SetSuccess(x interface{}) { + p.Success = x.(*GetEvalTargetVersionResponse) } -var fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) IsSetSuccess() bool { +func (p *EvalTargetServiceGetEvalTargetVersionResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16091,7 +10842,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16101,8 +10852,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetSourceEvalTargetsResponse() +func (p *EvalTargetServiceGetEvalTargetVersionResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewGetEvalTargetVersionResponse() if err := _field.Read(iprot); err != nil { return err } @@ -16110,9 +10861,9 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) ReadField0(iprot thri return nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetSourceEvalTargets_result"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetVersion_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16138,7 +10889,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -16157,15 +10908,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) String() string { +func (p *EvalTargetServiceGetEvalTargetVersionResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceBatchGetSourceEvalTargetsResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceGetEvalTargetVersionResult(%+v)", *p) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepEqual(ano *EvalTargetServiceBatchGetSourceEvalTargetsResult) bool { +func (p *EvalTargetServiceGetEvalTargetVersionResult) DeepEqual(ano *EvalTargetServiceGetEvalTargetVersionResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16177,7 +10928,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepEqual(ano *EvalTa return true } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Field0DeepEqual(src *BatchGetSourceEvalTargetsResponse) bool { +func (p *EvalTargetServiceGetEvalTargetVersionResult) Field0DeepEqual(src *GetEvalTargetVersionResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -16185,41 +10936,41 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Field0DeepEqual(src * return true } -type EvalTargetServiceSearchCustomEvalTargetArgs struct { - Req *SearchCustomEvalTargetRequest `thrift:"req,1" frugal:"1,default,SearchCustomEvalTargetRequest"` +type EvalTargetServiceBatchGetEvalTargetVersionsArgs struct { + Request *BatchGetEvalTargetVersionsRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetVersionsRequest"` } -func NewEvalTargetServiceSearchCustomEvalTargetArgs() *EvalTargetServiceSearchCustomEvalTargetArgs { - return &EvalTargetServiceSearchCustomEvalTargetArgs{} +func NewEvalTargetServiceBatchGetEvalTargetVersionsArgs() *EvalTargetServiceBatchGetEvalTargetVersionsArgs { + return &EvalTargetServiceBatchGetEvalTargetVersionsArgs{} } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) InitDefault() { } -var EvalTargetServiceSearchCustomEvalTargetArgs_Req_DEFAULT *SearchCustomEvalTargetRequest +var EvalTargetServiceBatchGetEvalTargetVersionsArgs_Request_DEFAULT *BatchGetEvalTargetVersionsRequest -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) GetReq() (v *SearchCustomEvalTargetRequest) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) GetRequest() (v *BatchGetEvalTargetVersionsRequest) { if p == nil { return } - if !p.IsSetReq() { - return EvalTargetServiceSearchCustomEvalTargetArgs_Req_DEFAULT + if !p.IsSetRequest() { + return EvalTargetServiceBatchGetEvalTargetVersionsArgs_Request_DEFAULT } - return p.Req + return p.Request } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) SetReq(val *SearchCustomEvalTargetRequest) { - p.Req = val +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) SetRequest(val *BatchGetEvalTargetVersionsRequest) { + p.Request = val } -var fieldIDToName_EvalTargetServiceSearchCustomEvalTargetArgs = map[int16]string{ - 1: "req", +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs = map[int16]string{ + 1: "request", } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) IsSetReq() bool { - return p.Req != nil +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) IsSetRequest() bool { + return p.Request != nil } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16264,7 +11015,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceSearchCustomEvalTargetArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16274,18 +11025,18 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSearchCustomEvalTargetRequest() +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetVersionsRequest() if err := _field.Read(iprot); err != nil { return err } - p.Req = _field + p.Request = _field return nil } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchCustomEvalTarget_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetVersions_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16311,11 +11062,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } - if err := p.Req.Write(oprot); err != nil { + if err := p.Request.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -16328,69 +11079,69 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceSearchCustomEvalTargetArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetVersionsArgs(%+v)", *p) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) DeepEqual(ano *EvalTargetServiceSearchCustomEvalTargetArgs) bool { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetVersionsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Req) { + if !p.Field1DeepEqual(ano.Request) { return false } return true } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) Field1DeepEqual(src *SearchCustomEvalTargetRequest) bool { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) Field1DeepEqual(src *BatchGetEvalTargetVersionsRequest) bool { - if !p.Req.DeepEqual(src) { + if !p.Request.DeepEqual(src) { return false } return true } -type EvalTargetServiceSearchCustomEvalTargetResult struct { - Success *SearchCustomEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,SearchCustomEvalTargetResponse"` +type EvalTargetServiceBatchGetEvalTargetVersionsResult struct { + Success *BatchGetEvalTargetVersionsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetVersionsResponse"` } -func NewEvalTargetServiceSearchCustomEvalTargetResult() *EvalTargetServiceSearchCustomEvalTargetResult { - return &EvalTargetServiceSearchCustomEvalTargetResult{} +func NewEvalTargetServiceBatchGetEvalTargetVersionsResult() *EvalTargetServiceBatchGetEvalTargetVersionsResult { + return &EvalTargetServiceBatchGetEvalTargetVersionsResult{} } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) InitDefault() { } -var EvalTargetServiceSearchCustomEvalTargetResult_Success_DEFAULT *SearchCustomEvalTargetResponse +var EvalTargetServiceBatchGetEvalTargetVersionsResult_Success_DEFAULT *BatchGetEvalTargetVersionsResponse -func (p *EvalTargetServiceSearchCustomEvalTargetResult) GetSuccess() (v *SearchCustomEvalTargetResponse) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) GetSuccess() (v *BatchGetEvalTargetVersionsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceSearchCustomEvalTargetResult_Success_DEFAULT + return EvalTargetServiceBatchGetEvalTargetVersionsResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*SearchCustomEvalTargetResponse) +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetEvalTargetVersionsResponse) } -var fieldIDToName_EvalTargetServiceSearchCustomEvalTargetResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) IsSetSuccess() bool { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16435,7 +11186,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceSearchCustomEvalTargetResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16445,8 +11196,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSearchCustomEvalTargetResponse() +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetVersionsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -16454,9 +11205,9 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) ReadField0(iprot thrift. return nil } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchCustomEvalTarget_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetVersions_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16482,7 +11233,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -16501,15 +11252,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceSearchCustomEvalTargetResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetVersionsResult(%+v)", *p) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) DeepEqual(ano *EvalTargetServiceSearchCustomEvalTargetResult) bool { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetVersionsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16521,7 +11272,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) DeepEqual(ano *EvalTarge return true } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) Field0DeepEqual(src *SearchCustomEvalTargetResponse) bool { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) Field0DeepEqual(src *BatchGetEvalTargetVersionsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -16529,41 +11280,41 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) Field0DeepEqual(src *Sea return true } -type EvalTargetServiceExecuteEvalTargetArgs struct { - Request *ExecuteEvalTargetRequest `thrift:"request,1" frugal:"1,default,ExecuteEvalTargetRequest"` +type EvalTargetServiceListSourceEvalTargetsArgs struct { + Request *ListSourceEvalTargetsRequest `thrift:"request,1" frugal:"1,default,ListSourceEvalTargetsRequest"` } -func NewEvalTargetServiceExecuteEvalTargetArgs() *EvalTargetServiceExecuteEvalTargetArgs { - return &EvalTargetServiceExecuteEvalTargetArgs{} +func NewEvalTargetServiceListSourceEvalTargetsArgs() *EvalTargetServiceListSourceEvalTargetsArgs { + return &EvalTargetServiceListSourceEvalTargetsArgs{} } -func (p *EvalTargetServiceExecuteEvalTargetArgs) InitDefault() { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) InitDefault() { } -var EvalTargetServiceExecuteEvalTargetArgs_Request_DEFAULT *ExecuteEvalTargetRequest +var EvalTargetServiceListSourceEvalTargetsArgs_Request_DEFAULT *ListSourceEvalTargetsRequest -func (p *EvalTargetServiceExecuteEvalTargetArgs) GetRequest() (v *ExecuteEvalTargetRequest) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) GetRequest() (v *ListSourceEvalTargetsRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceExecuteEvalTargetArgs_Request_DEFAULT + return EvalTargetServiceListSourceEvalTargetsArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceExecuteEvalTargetArgs) SetRequest(val *ExecuteEvalTargetRequest) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) SetRequest(val *ListSourceEvalTargetsRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceExecuteEvalTargetArgs) IsSetRequest() bool { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceExecuteEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16608,7 +11359,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16618,8 +11369,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewExecuteEvalTargetRequest() +func (p *EvalTargetServiceListSourceEvalTargetsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListSourceEvalTargetsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -16627,9 +11378,9 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) ReadField1(iprot thrift.TProtoc return nil } -func (p *EvalTargetServiceExecuteEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExecuteEvalTarget_args"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargets_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16655,7 +11406,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -16672,15 +11423,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) String() string { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceExecuteEvalTargetArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetsArgs(%+v)", *p) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepEqual(ano *EvalTargetServiceExecuteEvalTargetArgs) bool { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16692,7 +11443,7 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepEqual(ano *EvalTargetServic return true } -func (p *EvalTargetServiceExecuteEvalTargetArgs) Field1DeepEqual(src *ExecuteEvalTargetRequest) bool { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) Field1DeepEqual(src *ListSourceEvalTargetsRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -16700,41 +11451,41 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) Field1DeepEqual(src *ExecuteEva return true } -type EvalTargetServiceExecuteEvalTargetResult struct { - Success *ExecuteEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,ExecuteEvalTargetResponse"` +type EvalTargetServiceListSourceEvalTargetsResult struct { + Success *ListSourceEvalTargetsResponse `thrift:"success,0,optional" frugal:"0,optional,ListSourceEvalTargetsResponse"` } -func NewEvalTargetServiceExecuteEvalTargetResult() *EvalTargetServiceExecuteEvalTargetResult { - return &EvalTargetServiceExecuteEvalTargetResult{} +func NewEvalTargetServiceListSourceEvalTargetsResult() *EvalTargetServiceListSourceEvalTargetsResult { + return &EvalTargetServiceListSourceEvalTargetsResult{} } -func (p *EvalTargetServiceExecuteEvalTargetResult) InitDefault() { +func (p *EvalTargetServiceListSourceEvalTargetsResult) InitDefault() { } -var EvalTargetServiceExecuteEvalTargetResult_Success_DEFAULT *ExecuteEvalTargetResponse +var EvalTargetServiceListSourceEvalTargetsResult_Success_DEFAULT *ListSourceEvalTargetsResponse -func (p *EvalTargetServiceExecuteEvalTargetResult) GetSuccess() (v *ExecuteEvalTargetResponse) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) GetSuccess() (v *ListSourceEvalTargetsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceExecuteEvalTargetResult_Success_DEFAULT + return EvalTargetServiceListSourceEvalTargetsResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceExecuteEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*ExecuteEvalTargetResponse) +func (p *EvalTargetServiceListSourceEvalTargetsResult) SetSuccess(x interface{}) { + p.Success = x.(*ListSourceEvalTargetsResponse) } -var fieldIDToName_EvalTargetServiceExecuteEvalTargetResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceExecuteEvalTargetResult) IsSetSuccess() bool { +func (p *EvalTargetServiceListSourceEvalTargetsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceExecuteEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16779,7 +11530,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16789,8 +11540,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewExecuteEvalTargetResponse() +func (p *EvalTargetServiceListSourceEvalTargetsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListSourceEvalTargetsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -16798,9 +11549,9 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) ReadField0(iprot thrift.TProt return nil } -func (p *EvalTargetServiceExecuteEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExecuteEvalTarget_result"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargets_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16826,7 +11577,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -16845,15 +11596,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceExecuteEvalTargetResult) String() string { +func (p *EvalTargetServiceListSourceEvalTargetsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceExecuteEvalTargetResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetsResult(%+v)", *p) } -func (p *EvalTargetServiceExecuteEvalTargetResult) DeepEqual(ano *EvalTargetServiceExecuteEvalTargetResult) bool { +func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16865,7 +11616,7 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) DeepEqual(ano *EvalTargetServ return true } -func (p *EvalTargetServiceExecuteEvalTargetResult) Field0DeepEqual(src *ExecuteEvalTargetResponse) bool { +func (p *EvalTargetServiceListSourceEvalTargetsResult) Field0DeepEqual(src *ListSourceEvalTargetsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -16873,41 +11624,41 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) Field0DeepEqual(src *ExecuteE return true } -type EvalTargetServiceAsyncExecuteEvalTargetArgs struct { - Request *AsyncExecuteEvalTargetRequest `thrift:"request,1" frugal:"1,default,ExecuteEvalTargetRequest"` +type EvalTargetServiceListSourceEvalTargetVersionsArgs struct { + Request *ListSourceEvalTargetVersionsRequest `thrift:"request,1" frugal:"1,default,ListSourceEvalTargetVersionsRequest"` } -func NewEvalTargetServiceAsyncExecuteEvalTargetArgs() *EvalTargetServiceAsyncExecuteEvalTargetArgs { - return &EvalTargetServiceAsyncExecuteEvalTargetArgs{} +func NewEvalTargetServiceListSourceEvalTargetVersionsArgs() *EvalTargetServiceListSourceEvalTargetVersionsArgs { + return &EvalTargetServiceListSourceEvalTargetVersionsArgs{} } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) InitDefault() { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) InitDefault() { } -var EvalTargetServiceAsyncExecuteEvalTargetArgs_Request_DEFAULT *AsyncExecuteEvalTargetRequest +var EvalTargetServiceListSourceEvalTargetVersionsArgs_Request_DEFAULT *ListSourceEvalTargetVersionsRequest -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) GetRequest() (v *AsyncExecuteEvalTargetRequest) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) GetRequest() (v *ListSourceEvalTargetVersionsRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceAsyncExecuteEvalTargetArgs_Request_DEFAULT + return EvalTargetServiceListSourceEvalTargetVersionsArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) SetRequest(val *AsyncExecuteEvalTargetRequest) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) SetRequest(val *ListSourceEvalTargetVersionsRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) IsSetRequest() bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -16952,7 +11703,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16962,8 +11713,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewAsyncExecuteEvalTargetRequest() +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListSourceEvalTargetVersionsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -16971,9 +11722,9 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) ReadField1(iprot thrift.TP return nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AsyncExecuteEvalTarget_args"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargetVersions_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16999,7 +11750,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -17016,15 +11767,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) String() string { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceAsyncExecuteEvalTargetArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetVersionsArgs(%+v)", *p) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) DeepEqual(ano *EvalTargetServiceAsyncExecuteEvalTargetArgs) bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetVersionsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17036,7 +11787,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) DeepEqual(ano *EvalTargetS return true } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) Field1DeepEqual(src *AsyncExecuteEvalTargetRequest) bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) Field1DeepEqual(src *ListSourceEvalTargetVersionsRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -17044,41 +11795,41 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) Field1DeepEqual(src *Async return true } -type EvalTargetServiceAsyncExecuteEvalTargetResult struct { - Success *AsyncExecuteEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,AsyncExecuteEvalTargetResponse"` +type EvalTargetServiceListSourceEvalTargetVersionsResult struct { + Success *ListSourceEvalTargetVersionsResponse `thrift:"success,0,optional" frugal:"0,optional,ListSourceEvalTargetVersionsResponse"` } -func NewEvalTargetServiceAsyncExecuteEvalTargetResult() *EvalTargetServiceAsyncExecuteEvalTargetResult { - return &EvalTargetServiceAsyncExecuteEvalTargetResult{} +func NewEvalTargetServiceListSourceEvalTargetVersionsResult() *EvalTargetServiceListSourceEvalTargetVersionsResult { + return &EvalTargetServiceListSourceEvalTargetVersionsResult{} } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) InitDefault() { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) InitDefault() { } -var EvalTargetServiceAsyncExecuteEvalTargetResult_Success_DEFAULT *AsyncExecuteEvalTargetResponse +var EvalTargetServiceListSourceEvalTargetVersionsResult_Success_DEFAULT *ListSourceEvalTargetVersionsResponse -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) GetSuccess() (v *AsyncExecuteEvalTargetResponse) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) GetSuccess() (v *ListSourceEvalTargetVersionsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceAsyncExecuteEvalTargetResult_Success_DEFAULT + return EvalTargetServiceListSourceEvalTargetVersionsResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*AsyncExecuteEvalTargetResponse) +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) SetSuccess(x interface{}) { + p.Success = x.(*ListSourceEvalTargetVersionsResponse) } -var fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) IsSetSuccess() bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17123,7 +11874,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17133,8 +11884,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewAsyncExecuteEvalTargetResponse() +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListSourceEvalTargetVersionsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -17142,9 +11893,9 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) ReadField0(iprot thrift. return nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AsyncExecuteEvalTarget_result"); err != nil { + if err = oprot.WriteStructBegin("ListSourceEvalTargetVersions_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17170,7 +11921,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -17189,15 +11940,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) String() string { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceAsyncExecuteEvalTargetResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceListSourceEvalTargetVersionsResult(%+v)", *p) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) DeepEqual(ano *EvalTargetServiceAsyncExecuteEvalTargetResult) bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepEqual(ano *EvalTargetServiceListSourceEvalTargetVersionsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17209,7 +11960,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) DeepEqual(ano *EvalTarge return true } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) Field0DeepEqual(src *AsyncExecuteEvalTargetResponse) bool { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) Field0DeepEqual(src *ListSourceEvalTargetVersionsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -17217,41 +11968,41 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) Field0DeepEqual(src *Asy return true } -type EvalTargetServiceGetEvalTargetRecordArgs struct { - Request *GetEvalTargetRecordRequest `thrift:"request,1" frugal:"1,default,GetEvalTargetRecordRequest"` +type EvalTargetServiceBatchGetSourceEvalTargetsArgs struct { + Request *BatchGetSourceEvalTargetsRequest `thrift:"request,1" frugal:"1,default,BatchGetSourceEvalTargetsRequest"` } -func NewEvalTargetServiceGetEvalTargetRecordArgs() *EvalTargetServiceGetEvalTargetRecordArgs { - return &EvalTargetServiceGetEvalTargetRecordArgs{} +func NewEvalTargetServiceBatchGetSourceEvalTargetsArgs() *EvalTargetServiceBatchGetSourceEvalTargetsArgs { + return &EvalTargetServiceBatchGetSourceEvalTargetsArgs{} } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) InitDefault() { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) InitDefault() { } -var EvalTargetServiceGetEvalTargetRecordArgs_Request_DEFAULT *GetEvalTargetRecordRequest +var EvalTargetServiceBatchGetSourceEvalTargetsArgs_Request_DEFAULT *BatchGetSourceEvalTargetsRequest -func (p *EvalTargetServiceGetEvalTargetRecordArgs) GetRequest() (v *GetEvalTargetRecordRequest) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) GetRequest() (v *BatchGetSourceEvalTargetsRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceGetEvalTargetRecordArgs_Request_DEFAULT + return EvalTargetServiceBatchGetSourceEvalTargetsArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) SetRequest(val *GetEvalTargetRecordRequest) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) SetRequest(val *BatchGetSourceEvalTargetsRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) IsSetRequest() bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17296,7 +12047,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17306,8 +12057,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewGetEvalTargetRecordRequest() +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetSourceEvalTargetsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -17315,9 +12066,9 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) ReadField1(iprot thrift.TProt return nil } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetRecord_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetSourceEvalTargets_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17343,7 +12094,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -17360,15 +12111,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) String() string { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceGetEvalTargetRecordArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetSourceEvalTargetsArgs(%+v)", *p) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepEqual(ano *EvalTargetServiceGetEvalTargetRecordArgs) bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepEqual(ano *EvalTargetServiceBatchGetSourceEvalTargetsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17380,7 +12131,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepEqual(ano *EvalTargetServ return true } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) Field1DeepEqual(src *GetEvalTargetRecordRequest) bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) Field1DeepEqual(src *BatchGetSourceEvalTargetsRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -17388,41 +12139,41 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) Field1DeepEqual(src *GetEvalT return true } -type EvalTargetServiceGetEvalTargetRecordResult struct { - Success *GetEvalTargetRecordResponse `thrift:"success,0,optional" frugal:"0,optional,GetEvalTargetRecordResponse"` +type EvalTargetServiceBatchGetSourceEvalTargetsResult struct { + Success *BatchGetSourceEvalTargetsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetSourceEvalTargetsResponse"` } -func NewEvalTargetServiceGetEvalTargetRecordResult() *EvalTargetServiceGetEvalTargetRecordResult { - return &EvalTargetServiceGetEvalTargetRecordResult{} +func NewEvalTargetServiceBatchGetSourceEvalTargetsResult() *EvalTargetServiceBatchGetSourceEvalTargetsResult { + return &EvalTargetServiceBatchGetSourceEvalTargetsResult{} } -func (p *EvalTargetServiceGetEvalTargetRecordResult) InitDefault() { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) InitDefault() { } -var EvalTargetServiceGetEvalTargetRecordResult_Success_DEFAULT *GetEvalTargetRecordResponse +var EvalTargetServiceBatchGetSourceEvalTargetsResult_Success_DEFAULT *BatchGetSourceEvalTargetsResponse -func (p *EvalTargetServiceGetEvalTargetRecordResult) GetSuccess() (v *GetEvalTargetRecordResponse) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) GetSuccess() (v *BatchGetSourceEvalTargetsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceGetEvalTargetRecordResult_Success_DEFAULT + return EvalTargetServiceBatchGetSourceEvalTargetsResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceGetEvalTargetRecordResult) SetSuccess(x interface{}) { - p.Success = x.(*GetEvalTargetRecordResponse) +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetSourceEvalTargetsResponse) } -var fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceGetEvalTargetRecordResult) IsSetSuccess() bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceGetEvalTargetRecordResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17467,7 +12218,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17477,8 +12228,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewGetEvalTargetRecordResponse() +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetSourceEvalTargetsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -17486,9 +12237,9 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) ReadField0(iprot thrift.TPr return nil } -func (p *EvalTargetServiceGetEvalTargetRecordResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetEvalTargetRecord_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetSourceEvalTargets_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17514,7 +12265,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -17533,15 +12284,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) String() string { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceGetEvalTargetRecordResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetSourceEvalTargetsResult(%+v)", *p) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepEqual(ano *EvalTargetServiceGetEvalTargetRecordResult) bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepEqual(ano *EvalTargetServiceBatchGetSourceEvalTargetsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17553,7 +12304,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepEqual(ano *EvalTargetSe return true } -func (p *EvalTargetServiceGetEvalTargetRecordResult) Field0DeepEqual(src *GetEvalTargetRecordResponse) bool { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) Field0DeepEqual(src *BatchGetSourceEvalTargetsResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -17561,41 +12312,41 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) Field0DeepEqual(src *GetEva return true } -type EvalTargetServiceBatchGetEvalTargetRecordsArgs struct { - Request *BatchGetEvalTargetRecordsRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetRecordsRequest"` +type EvalTargetServiceExecuteEvalTargetArgs struct { + Request *ExecuteEvalTargetRequest `thrift:"request,1" frugal:"1,default,ExecuteEvalTargetRequest"` } -func NewEvalTargetServiceBatchGetEvalTargetRecordsArgs() *EvalTargetServiceBatchGetEvalTargetRecordsArgs { - return &EvalTargetServiceBatchGetEvalTargetRecordsArgs{} +func NewEvalTargetServiceExecuteEvalTargetArgs() *EvalTargetServiceExecuteEvalTargetArgs { + return &EvalTargetServiceExecuteEvalTargetArgs{} } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) InitDefault() { +func (p *EvalTargetServiceExecuteEvalTargetArgs) InitDefault() { } -var EvalTargetServiceBatchGetEvalTargetRecordsArgs_Request_DEFAULT *BatchGetEvalTargetRecordsRequest +var EvalTargetServiceExecuteEvalTargetArgs_Request_DEFAULT *ExecuteEvalTargetRequest -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) GetRequest() (v *BatchGetEvalTargetRecordsRequest) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) GetRequest() (v *ExecuteEvalTargetRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceBatchGetEvalTargetRecordsArgs_Request_DEFAULT + return EvalTargetServiceExecuteEvalTargetArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) SetRequest(val *BatchGetEvalTargetRecordsRequest) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) SetRequest(val *ExecuteEvalTargetRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) IsSetRequest() bool { +func (p *EvalTargetServiceExecuteEvalTargetArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17640,7 +12391,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17650,8 +12401,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetRecordsRequest() +func (p *EvalTargetServiceExecuteEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewExecuteEvalTargetRequest() if err := _field.Read(iprot); err != nil { return err } @@ -17659,9 +12410,9 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) ReadField1(iprot thrift return nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetRecords_args"); err != nil { + if err = oprot.WriteStructBegin("ExecuteEvalTarget_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17687,7 +12438,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -17704,15 +12455,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) String() string { +func (p *EvalTargetServiceExecuteEvalTargetArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetRecordsArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceExecuteEvalTargetArgs(%+v)", *p) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetRecordsArgs) bool { +func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepEqual(ano *EvalTargetServiceExecuteEvalTargetArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17724,7 +12475,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepEqual(ano *EvalTarg return true } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Field1DeepEqual(src *BatchGetEvalTargetRecordsRequest) bool { +func (p *EvalTargetServiceExecuteEvalTargetArgs) Field1DeepEqual(src *ExecuteEvalTargetRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -17732,41 +12483,41 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Field1DeepEqual(src *Ba return true } -type EvalTargetServiceBatchGetEvalTargetRecordsResult struct { - Success *BatchGetEvalTargetRecordsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetRecordsResponse"` +type EvalTargetServiceExecuteEvalTargetResult struct { + Success *ExecuteEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,ExecuteEvalTargetResponse"` } -func NewEvalTargetServiceBatchGetEvalTargetRecordsResult() *EvalTargetServiceBatchGetEvalTargetRecordsResult { - return &EvalTargetServiceBatchGetEvalTargetRecordsResult{} +func NewEvalTargetServiceExecuteEvalTargetResult() *EvalTargetServiceExecuteEvalTargetResult { + return &EvalTargetServiceExecuteEvalTargetResult{} } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) InitDefault() { +func (p *EvalTargetServiceExecuteEvalTargetResult) InitDefault() { } -var EvalTargetServiceBatchGetEvalTargetRecordsResult_Success_DEFAULT *BatchGetEvalTargetRecordsResponse +var EvalTargetServiceExecuteEvalTargetResult_Success_DEFAULT *ExecuteEvalTargetResponse -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) GetSuccess() (v *BatchGetEvalTargetRecordsResponse) { +func (p *EvalTargetServiceExecuteEvalTargetResult) GetSuccess() (v *ExecuteEvalTargetResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceBatchGetEvalTargetRecordsResult_Success_DEFAULT + return EvalTargetServiceExecuteEvalTargetResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) SetSuccess(x interface{}) { - p.Success = x.(*BatchGetEvalTargetRecordsResponse) +func (p *EvalTargetServiceExecuteEvalTargetResult) SetSuccess(x interface{}) { + p.Success = x.(*ExecuteEvalTargetResponse) } -var fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceExecuteEvalTargetResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) IsSetSuccess() bool { +func (p *EvalTargetServiceExecuteEvalTargetResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17811,7 +12562,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17821,8 +12572,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewBatchGetEvalTargetRecordsResponse() +func (p *EvalTargetServiceExecuteEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewExecuteEvalTargetResponse() if err := _field.Read(iprot); err != nil { return err } @@ -17830,9 +12581,9 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) ReadField0(iprot thri return nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetEvalTargetRecords_result"); err != nil { + if err = oprot.WriteStructBegin("ExecuteEvalTarget_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17858,7 +12609,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceExecuteEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -17877,15 +12628,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) String() string { +func (p *EvalTargetServiceExecuteEvalTargetResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetRecordsResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceExecuteEvalTargetResult(%+v)", *p) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetRecordsResult) bool { +func (p *EvalTargetServiceExecuteEvalTargetResult) DeepEqual(ano *EvalTargetServiceExecuteEvalTargetResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -17897,7 +12648,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepEqual(ano *EvalTa return true } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Field0DeepEqual(src *BatchGetEvalTargetRecordsResponse) bool { +func (p *EvalTargetServiceExecuteEvalTargetResult) Field0DeepEqual(src *ExecuteEvalTargetResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -17905,41 +12656,41 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Field0DeepEqual(src * return true } -type EvalTargetServiceDebugEvalTargetArgs struct { - Request *DebugEvalTargetRequest `thrift:"request,1" frugal:"1,default,DebugEvalTargetRequest"` +type EvalTargetServiceGetEvalTargetRecordArgs struct { + Request *GetEvalTargetRecordRequest `thrift:"request,1" frugal:"1,default,GetEvalTargetRecordRequest"` } -func NewEvalTargetServiceDebugEvalTargetArgs() *EvalTargetServiceDebugEvalTargetArgs { - return &EvalTargetServiceDebugEvalTargetArgs{} +func NewEvalTargetServiceGetEvalTargetRecordArgs() *EvalTargetServiceGetEvalTargetRecordArgs { + return &EvalTargetServiceGetEvalTargetRecordArgs{} } -func (p *EvalTargetServiceDebugEvalTargetArgs) InitDefault() { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) InitDefault() { } -var EvalTargetServiceDebugEvalTargetArgs_Request_DEFAULT *DebugEvalTargetRequest +var EvalTargetServiceGetEvalTargetRecordArgs_Request_DEFAULT *GetEvalTargetRecordRequest -func (p *EvalTargetServiceDebugEvalTargetArgs) GetRequest() (v *DebugEvalTargetRequest) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) GetRequest() (v *GetEvalTargetRecordRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceDebugEvalTargetArgs_Request_DEFAULT + return EvalTargetServiceGetEvalTargetRecordArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceDebugEvalTargetArgs) SetRequest(val *DebugEvalTargetRequest) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) SetRequest(val *GetEvalTargetRecordRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceDebugEvalTargetArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceDebugEvalTargetArgs) IsSetRequest() bool { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceDebugEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -17984,7 +12735,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceDebugEvalTargetArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17994,8 +12745,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewDebugEvalTargetRequest() +func (p *EvalTargetServiceGetEvalTargetRecordArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewGetEvalTargetRecordRequest() if err := _field.Read(iprot); err != nil { return err } @@ -18003,9 +12754,9 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) ReadField1(iprot thrift.TProtocol return nil } -func (p *EvalTargetServiceDebugEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DebugEvalTarget_args"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetRecord_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -18031,7 +12782,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -18048,15 +12799,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetArgs) String() string { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceDebugEvalTargetArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceGetEvalTargetRecordArgs(%+v)", *p) } -func (p *EvalTargetServiceDebugEvalTargetArgs) DeepEqual(ano *EvalTargetServiceDebugEvalTargetArgs) bool { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepEqual(ano *EvalTargetServiceGetEvalTargetRecordArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -18068,7 +12819,7 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) DeepEqual(ano *EvalTargetServiceD return true } -func (p *EvalTargetServiceDebugEvalTargetArgs) Field1DeepEqual(src *DebugEvalTargetRequest) bool { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) Field1DeepEqual(src *GetEvalTargetRecordRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -18076,41 +12827,41 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) Field1DeepEqual(src *DebugEvalTar return true } -type EvalTargetServiceDebugEvalTargetResult struct { - Success *DebugEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,DebugEvalTargetResponse"` +type EvalTargetServiceGetEvalTargetRecordResult struct { + Success *GetEvalTargetRecordResponse `thrift:"success,0,optional" frugal:"0,optional,GetEvalTargetRecordResponse"` } -func NewEvalTargetServiceDebugEvalTargetResult() *EvalTargetServiceDebugEvalTargetResult { - return &EvalTargetServiceDebugEvalTargetResult{} +func NewEvalTargetServiceGetEvalTargetRecordResult() *EvalTargetServiceGetEvalTargetRecordResult { + return &EvalTargetServiceGetEvalTargetRecordResult{} } -func (p *EvalTargetServiceDebugEvalTargetResult) InitDefault() { +func (p *EvalTargetServiceGetEvalTargetRecordResult) InitDefault() { } -var EvalTargetServiceDebugEvalTargetResult_Success_DEFAULT *DebugEvalTargetResponse +var EvalTargetServiceGetEvalTargetRecordResult_Success_DEFAULT *GetEvalTargetRecordResponse -func (p *EvalTargetServiceDebugEvalTargetResult) GetSuccess() (v *DebugEvalTargetResponse) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) GetSuccess() (v *GetEvalTargetRecordResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceDebugEvalTargetResult_Success_DEFAULT + return EvalTargetServiceGetEvalTargetRecordResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceDebugEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*DebugEvalTargetResponse) +func (p *EvalTargetServiceGetEvalTargetRecordResult) SetSuccess(x interface{}) { + p.Success = x.(*GetEvalTargetRecordResponse) } -var fieldIDToName_EvalTargetServiceDebugEvalTargetResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceDebugEvalTargetResult) IsSetSuccess() bool { +func (p *EvalTargetServiceGetEvalTargetRecordResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceDebugEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -18155,7 +12906,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceDebugEvalTargetResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -18165,8 +12916,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewDebugEvalTargetResponse() +func (p *EvalTargetServiceGetEvalTargetRecordResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewGetEvalTargetRecordResponse() if err := _field.Read(iprot); err != nil { return err } @@ -18174,9 +12925,9 @@ func (p *EvalTargetServiceDebugEvalTargetResult) ReadField0(iprot thrift.TProtoc return nil } -func (p *EvalTargetServiceDebugEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DebugEvalTarget_result"); err != nil { + if err = oprot.WriteStructBegin("GetEvalTargetRecord_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -18202,7 +12953,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -18221,15 +12972,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceDebugEvalTargetResult) String() string { +func (p *EvalTargetServiceGetEvalTargetRecordResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceDebugEvalTargetResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceGetEvalTargetRecordResult(%+v)", *p) } -func (p *EvalTargetServiceDebugEvalTargetResult) DeepEqual(ano *EvalTargetServiceDebugEvalTargetResult) bool { +func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepEqual(ano *EvalTargetServiceGetEvalTargetRecordResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -18241,7 +12992,7 @@ func (p *EvalTargetServiceDebugEvalTargetResult) DeepEqual(ano *EvalTargetServic return true } -func (p *EvalTargetServiceDebugEvalTargetResult) Field0DeepEqual(src *DebugEvalTargetResponse) bool { +func (p *EvalTargetServiceGetEvalTargetRecordResult) Field0DeepEqual(src *GetEvalTargetRecordResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -18249,41 +13000,41 @@ func (p *EvalTargetServiceDebugEvalTargetResult) Field0DeepEqual(src *DebugEvalT return true } -type EvalTargetServiceAsyncDebugEvalTargetArgs struct { - Request *AsyncDebugEvalTargetRequest `thrift:"request,1" frugal:"1,default,AsyncDebugEvalTargetRequest"` +type EvalTargetServiceBatchGetEvalTargetRecordsArgs struct { + Request *BatchGetEvalTargetRecordsRequest `thrift:"request,1" frugal:"1,default,BatchGetEvalTargetRecordsRequest"` } -func NewEvalTargetServiceAsyncDebugEvalTargetArgs() *EvalTargetServiceAsyncDebugEvalTargetArgs { - return &EvalTargetServiceAsyncDebugEvalTargetArgs{} +func NewEvalTargetServiceBatchGetEvalTargetRecordsArgs() *EvalTargetServiceBatchGetEvalTargetRecordsArgs { + return &EvalTargetServiceBatchGetEvalTargetRecordsArgs{} } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) InitDefault() { } -var EvalTargetServiceAsyncDebugEvalTargetArgs_Request_DEFAULT *AsyncDebugEvalTargetRequest +var EvalTargetServiceBatchGetEvalTargetRecordsArgs_Request_DEFAULT *BatchGetEvalTargetRecordsRequest -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) GetRequest() (v *AsyncDebugEvalTargetRequest) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) GetRequest() (v *BatchGetEvalTargetRecordsRequest) { if p == nil { return } if !p.IsSetRequest() { - return EvalTargetServiceAsyncDebugEvalTargetArgs_Request_DEFAULT + return EvalTargetServiceBatchGetEvalTargetRecordsArgs_Request_DEFAULT } return p.Request } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) SetRequest(val *AsyncDebugEvalTargetRequest) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) SetRequest(val *BatchGetEvalTargetRecordsRequest) { p.Request = val } -var fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetArgs = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs = map[int16]string{ 1: "request", } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) IsSetRequest() bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) IsSetRequest() bool { return p.Request != nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -18328,7 +13079,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -18338,8 +13089,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewAsyncDebugEvalTargetRequest() +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetRecordsRequest() if err := _field.Read(iprot); err != nil { return err } @@ -18347,9 +13098,9 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) ReadField1(iprot thrift.TPro return nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AsyncDebugEvalTarget_args"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetRecords_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -18375,7 +13126,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("request", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -18392,15 +13143,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceAsyncDebugEvalTargetArgs(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetRecordsArgs(%+v)", *p) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) DeepEqual(ano *EvalTargetServiceAsyncDebugEvalTargetArgs) bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetRecordsArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -18412,7 +13163,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) DeepEqual(ano *EvalTargetSer return true } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) Field1DeepEqual(src *AsyncDebugEvalTargetRequest) bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) Field1DeepEqual(src *BatchGetEvalTargetRecordsRequest) bool { if !p.Request.DeepEqual(src) { return false @@ -18420,41 +13171,41 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) Field1DeepEqual(src *AsyncDe return true } -type EvalTargetServiceAsyncDebugEvalTargetResult struct { - Success *AsyncDebugEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,AsyncDebugEvalTargetResponse"` +type EvalTargetServiceBatchGetEvalTargetRecordsResult struct { + Success *BatchGetEvalTargetRecordsResponse `thrift:"success,0,optional" frugal:"0,optional,BatchGetEvalTargetRecordsResponse"` } -func NewEvalTargetServiceAsyncDebugEvalTargetResult() *EvalTargetServiceAsyncDebugEvalTargetResult { - return &EvalTargetServiceAsyncDebugEvalTargetResult{} +func NewEvalTargetServiceBatchGetEvalTargetRecordsResult() *EvalTargetServiceBatchGetEvalTargetRecordsResult { + return &EvalTargetServiceBatchGetEvalTargetRecordsResult{} } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) InitDefault() { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) InitDefault() { } -var EvalTargetServiceAsyncDebugEvalTargetResult_Success_DEFAULT *AsyncDebugEvalTargetResponse +var EvalTargetServiceBatchGetEvalTargetRecordsResult_Success_DEFAULT *BatchGetEvalTargetRecordsResponse -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) GetSuccess() (v *AsyncDebugEvalTargetResponse) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) GetSuccess() (v *BatchGetEvalTargetRecordsResponse) { if p == nil { return } if !p.IsSetSuccess() { - return EvalTargetServiceAsyncDebugEvalTargetResult_Success_DEFAULT + return EvalTargetServiceBatchGetEvalTargetRecordsResult_Success_DEFAULT } return p.Success } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*AsyncDebugEvalTargetResponse) +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) SetSuccess(x interface{}) { + p.Success = x.(*BatchGetEvalTargetRecordsResponse) } -var fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetResult = map[int16]string{ +var fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult = map[int16]string{ 0: "success", } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) IsSetSuccess() bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) IsSetSuccess() bool { return p.Success != nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -18499,7 +13250,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -18509,8 +13260,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewAsyncDebugEvalTargetResponse() +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewBatchGetEvalTargetRecordsResponse() if err := _field.Read(iprot); err != nil { return err } @@ -18518,9 +13269,9 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) ReadField0(iprot thrift.TP return nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("AsyncDebugEvalTarget_result"); err != nil { + if err = oprot.WriteStructBegin("BatchGetEvalTargetRecords_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -18546,7 +13297,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -18565,15 +13316,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) String() string { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) String() string { if p == nil { return "" } - return fmt.Sprintf("EvalTargetServiceAsyncDebugEvalTargetResult(%+v)", *p) + return fmt.Sprintf("EvalTargetServiceBatchGetEvalTargetRecordsResult(%+v)", *p) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) DeepEqual(ano *EvalTargetServiceAsyncDebugEvalTargetResult) bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepEqual(ano *EvalTargetServiceBatchGetEvalTargetRecordsResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -18585,7 +13336,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) DeepEqual(ano *EvalTargetS return true } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) Field0DeepEqual(src *AsyncDebugEvalTargetResponse) bool { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) Field0DeepEqual(src *BatchGetEvalTargetRecordsResponse) bool { if !p.Success.DeepEqual(src) { return false diff --git a/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target_validator.go b/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target_validator.go index 67490a51e..ff16c7875 100644 --- a/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target_validator.go +++ b/backend/kitex_gen/coze/loop/evaluation/eval_target/coze.loop.evaluation.eval_target_validator.go @@ -35,11 +35,6 @@ func (p *CreateEvalTargetRequest) IsValid() error { return nil } func (p *CreateEvalTargetParam) IsValid() error { - if p.CustomEvalTarget != nil { - if err := p.CustomEvalTarget.IsValid(); err != nil { - return fmt.Errorf("field CustomEvalTarget not valid, %w", err) - } - } return nil } func (p *CreateEvalTargetResponse) IsValid() error { @@ -109,11 +104,6 @@ func (p *ExecuteEvalTargetRequest) IsValid() error { return fmt.Errorf("field InputData not valid, %w", err) } } - if p.EvalTarget != nil { - if err := p.EvalTarget.IsValid(); err != nil { - return fmt.Errorf("field EvalTarget not valid, %w", err) - } - } if p.Base != nil { if err := p.Base.IsValid(); err != nil { return fmt.Errorf("field Base not valid, %w", err) @@ -134,14 +124,6 @@ func (p *ExecuteEvalTargetResponse) IsValid() error { } return nil } -func (p *AsyncExecuteEvalTargetResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} func (p *ListEvalTargetRecordRequest) IsValid() error { if p.Base != nil { if err := p.Base.IsValid(); err != nil { @@ -248,76 +230,6 @@ func (p *ListSourceEvalTargetVersionsResponse) IsValid() error { } return nil } -func (p *SearchCustomEvalTargetRequest) IsValid() error { - if p.CustomRPCServer != nil { - if err := p.CustomRPCServer.IsValid(); err != nil { - return fmt.Errorf("field CustomRPCServer not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *SearchCustomEvalTargetResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} -func (p *DebugEvalTargetRequest) IsValid() error { - if p.TargetRuntimeParam != nil { - if err := p.TargetRuntimeParam.IsValid(); err != nil { - return fmt.Errorf("field TargetRuntimeParam not valid, %w", err) - } - } - if p.CustomRPCServer != nil { - if err := p.CustomRPCServer.IsValid(); err != nil { - return fmt.Errorf("field CustomRPCServer not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *DebugEvalTargetResponse) IsValid() error { - if p.EvalTargetRecord != nil { - if err := p.EvalTargetRecord.IsValid(); err != nil { - return fmt.Errorf("field EvalTargetRecord not valid, %w", err) - } - } - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} -func (p *AsyncDebugEvalTargetRequest) IsValid() error { - if p.TargetRuntimeParam != nil { - if err := p.TargetRuntimeParam.IsValid(); err != nil { - return fmt.Errorf("field TargetRuntimeParam not valid, %w", err) - } - } - if p.CustomRPCServer != nil { - if err := p.CustomRPCServer.IsValid(); err != nil { - return fmt.Errorf("field CustomRPCServer not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} func (p *MockEvalTargetOutputRequest) IsValid() error { if p.Base != nil { if err := p.Base.IsValid(); err != nil { @@ -326,14 +238,6 @@ func (p *MockEvalTargetOutputRequest) IsValid() error { } return nil } -func (p *AsyncDebugEvalTargetResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} func (p *MockEvalTargetOutputResponse) IsValid() error { if p.EvalTarget != nil { if err := p.EvalTarget.IsValid(); err != nil { diff --git a/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/client.go b/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/client.go index fa938c7d5..c96d8aa0d 100644 --- a/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/client.go +++ b/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/client.go @@ -18,13 +18,9 @@ type Client interface { ListSourceEvalTargets(ctx context.Context, request *eval_target.ListSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetsResponse, err error) ListSourceEvalTargetVersions(ctx context.Context, request *eval_target.ListSourceEvalTargetVersionsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetVersionsResponse, err error) BatchGetSourceEvalTargets(ctx context.Context, request *eval_target.BatchGetSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetSourceEvalTargetsResponse, err error) - SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) - AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) BatchGetEvalTargetRecords(ctx context.Context, request *eval_target.BatchGetEvalTargetRecordsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetEvalTargetRecordsResponse, err error) - DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) - AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) } @@ -92,21 +88,11 @@ func (p *kEvalTargetServiceClient) BatchGetSourceEvalTargets(ctx context.Context return p.kClient.BatchGetSourceEvalTargets(ctx, request) } -func (p *kEvalTargetServiceClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchCustomEvalTarget(ctx, req) -} - func (p *kEvalTargetServiceClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ExecuteEvalTarget(ctx, request) } -func (p *kEvalTargetServiceClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncExecuteEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetEvalTargetRecord(ctx, request) @@ -117,16 +103,6 @@ func (p *kEvalTargetServiceClient) BatchGetEvalTargetRecords(ctx context.Context return p.kClient.BatchGetEvalTargetRecords(ctx, request) } -func (p *kEvalTargetServiceClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.DebugEvalTarget(ctx, request) -} - -func (p *kEvalTargetServiceClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncDebugEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.MockEvalTargetOutput(ctx, request) diff --git a/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/evaltargetservice.go b/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/evaltargetservice.go index 0fd2754f0..11427e9c8 100644 --- a/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/evaltargetservice.go +++ b/backend/kitex_gen/coze/loop/evaluation/eval_target/evaltargetservice/evaltargetservice.go @@ -62,13 +62,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchCustomEvalTarget": kitex.NewMethodInfo( - searchCustomEvalTargetHandler, - newEvalTargetServiceSearchCustomEvalTargetArgs, - newEvalTargetServiceSearchCustomEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ExecuteEvalTarget": kitex.NewMethodInfo( executeEvalTargetHandler, newEvalTargetServiceExecuteEvalTargetArgs, @@ -76,13 +69,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "AsyncExecuteEvalTarget": kitex.NewMethodInfo( - asyncExecuteEvalTargetHandler, - newEvalTargetServiceAsyncExecuteEvalTargetArgs, - newEvalTargetServiceAsyncExecuteEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "GetEvalTargetRecord": kitex.NewMethodInfo( getEvalTargetRecordHandler, newEvalTargetServiceGetEvalTargetRecordArgs, @@ -97,20 +83,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "DebugEvalTarget": kitex.NewMethodInfo( - debugEvalTargetHandler, - newEvalTargetServiceDebugEvalTargetArgs, - newEvalTargetServiceDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "AsyncDebugEvalTarget": kitex.NewMethodInfo( - asyncDebugEvalTargetHandler, - newEvalTargetServiceAsyncDebugEvalTargetArgs, - newEvalTargetServiceAsyncDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "MockEvalTargetOutput": kitex.NewMethodInfo( mockEvalTargetOutputHandler, newEvalTargetServiceMockEvalTargetOutputArgs, @@ -284,25 +256,6 @@ func newEvalTargetServiceBatchGetSourceEvalTargetsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetSourceEvalTargetsResult() } -func searchCustomEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceSearchCustomEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceSearchCustomEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).SearchCustomEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceSearchCustomEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetArgs() -} - -func newEvalTargetServiceSearchCustomEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetResult() -} - func executeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceExecuteEvalTargetArgs) realResult := result.(*eval_target.EvalTargetServiceExecuteEvalTargetResult) @@ -322,25 +275,6 @@ func newEvalTargetServiceExecuteEvalTargetResult() interface{} { return eval_target.NewEvalTargetServiceExecuteEvalTargetResult() } -func asyncExecuteEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncExecuteEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncExecuteEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetArgs() -} - -func newEvalTargetServiceAsyncExecuteEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetResult() -} - func getEvalTargetRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceGetEvalTargetRecordArgs) realResult := result.(*eval_target.EvalTargetServiceGetEvalTargetRecordResult) @@ -379,44 +313,6 @@ func newEvalTargetServiceBatchGetEvalTargetRecordsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetEvalTargetRecordsResult() } -func debugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).DebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetArgs() -} - -func newEvalTargetServiceDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetResult() -} - -func asyncDebugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncDebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetArgs() -} - -func newEvalTargetServiceAsyncDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetResult() -} - func mockEvalTargetOutputHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceMockEvalTargetOutputArgs) realResult := result.(*eval_target.EvalTargetServiceMockEvalTargetOutputResult) @@ -518,16 +414,6 @@ func (p *kClient) BatchGetSourceEvalTargets(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceSearchCustomEvalTargetArgs - _args.Req = req - var _result eval_target.EvalTargetServiceSearchCustomEvalTargetResult - if err = p.c.Call(ctx, "SearchCustomEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest) (r *eval_target.ExecuteEvalTargetResponse, err error) { var _args eval_target.EvalTargetServiceExecuteEvalTargetArgs _args.Request = request @@ -538,16 +424,6 @@ func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.Ex return _result.GetSuccess(), nil } -func (p *kClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult - if err = p.c.Call(ctx, "AsyncExecuteEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest) (r *eval_target.GetEvalTargetRecordResponse, err error) { var _args eval_target.EvalTargetServiceGetEvalTargetRecordArgs _args.Request = request @@ -568,26 +444,6 @@ func (p *kClient) BatchGetEvalTargetRecords(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest) (r *eval_target.DebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceDebugEvalTargetResult - if err = p.c.Call(ctx, "DebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncDebugEvalTargetResult - if err = p.c.Call(ctx, "AsyncDebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest) (r *eval_target.MockEvalTargetOutputResponse, err error) { var _args eval_target.EvalTargetServiceMockEvalTargetOutputArgs _args.Request = request diff --git a/backend/kitex_gen/coze/loop/evaluation/eval_target/k-coze.loop.evaluation.eval_target.go b/backend/kitex_gen/coze/loop/evaluation/eval_target/k-coze.loop.evaluation.eval_target.go index 20b1a7cf1..a8e6aa3f2 100644 --- a/backend/kitex_gen/coze/loop/evaluation/eval_target/k-coze.loop.evaluation.eval_target.go +++ b/backend/kitex_gen/coze/loop/evaluation/eval_target/k-coze.loop.evaluation.eval_target.go @@ -14,14 +14,12 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/base" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/eval_target" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" ) var ( _ = base.KitexUnusedProtection _ = common.KitexUnusedProtection _ = eval_target.KitexUnusedProtection - _ = spi.KitexUnusedProtection ) // unused protection @@ -348,48 +346,6 @@ func (p *CreateEvalTargetParam) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 6: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField6(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 7: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField7(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 8: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField8(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } default: l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -482,46 +438,6 @@ func (p *CreateEvalTargetParam) FastReadField5(buf []byte) (int, error) { return offset, nil } -func (p *CreateEvalTargetParam) FastReadField6(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewCustomEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomEvalTarget = _field - return offset, nil -} - -func (p *CreateEvalTargetParam) FastReadField7(buf []byte) (int, error) { - offset := 0 - - var _field *eval_target.Region - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Region = _field - return offset, nil -} - -func (p *CreateEvalTargetParam) FastReadField8(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Env = _field - return offset, nil -} - func (p *CreateEvalTargetParam) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } @@ -534,9 +450,6 @@ func (p *CreateEvalTargetParam) FastWriteNocopy(buf []byte, w thrift.NocopyWrite offset += p.fastWriteField3(buf[offset:], w) offset += p.fastWriteField4(buf[offset:], w) offset += p.fastWriteField5(buf[offset:], w) - offset += p.fastWriteField6(buf[offset:], w) - offset += p.fastWriteField7(buf[offset:], w) - offset += p.fastWriteField8(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) return offset @@ -550,9 +463,6 @@ func (p *CreateEvalTargetParam) BLength() int { l += p.field3Length() l += p.field4Length() l += p.field5Length() - l += p.field6Length() - l += p.field7Length() - l += p.field8Length() } l += thrift.Binary.FieldStopLength() return l @@ -603,33 +513,6 @@ func (p *CreateEvalTargetParam) fastWriteField5(buf []byte, w thrift.NocopyWrite return offset } -func (p *CreateEvalTargetParam) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 6) - offset += p.CustomEvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *CreateEvalTargetParam) fastWriteField7(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetRegion() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 7) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Region) - } - return offset -} - -func (p *CreateEvalTargetParam) fastWriteField8(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEnv() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 8) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Env) - } - return offset -} - func (p *CreateEvalTargetParam) field1Length() int { l := 0 if p.IsSetSourceTargetID() { @@ -675,33 +558,6 @@ func (p *CreateEvalTargetParam) field5Length() int { return l } -func (p *CreateEvalTargetParam) field6Length() int { - l := 0 - if p.IsSetCustomEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomEvalTarget.BLength() - } - return l -} - -func (p *CreateEvalTargetParam) field7Length() int { - l := 0 - if p.IsSetRegion() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Region) - } - return l -} - -func (p *CreateEvalTargetParam) field8Length() int { - l := 0 - if p.IsSetEnv() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Env) - } - return l -} - func (p *CreateEvalTargetParam) DeepCopy(s interface{}) error { src, ok := s.(*CreateEvalTargetParam) if !ok { @@ -742,28 +598,6 @@ func (p *CreateEvalTargetParam) DeepCopy(s interface{}) error { p.BotPublishVersion = &tmp } - var _customEvalTarget *eval_target.CustomEvalTarget - if src.CustomEvalTarget != nil { - _customEvalTarget = &eval_target.CustomEvalTarget{} - if err := _customEvalTarget.DeepCopy(src.CustomEvalTarget); err != nil { - return err - } - } - p.CustomEvalTarget = _customEvalTarget - - if src.Region != nil { - tmp := *src.Region - p.Region = &tmp - } - - if src.Env != nil { - var tmp string - if *src.Env != "" { - tmp = kutils.StringDeepCopy(*src.Env) - } - p.Env = &tmp - } - return nil } @@ -2542,20 +2376,6 @@ func (p *ExecuteEvalTargetRequest) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 10: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } case 255: if fieldTypeId == thrift.STRUCT { l, err = p.FastReadField255(buf[offset:]) @@ -2677,18 +2497,6 @@ func (p *ExecuteEvalTargetRequest) FastReadField5(buf []byte) (int, error) { return offset, nil } -func (p *ExecuteEvalTargetRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.EvalTarget = _field - return offset, nil -} - func (p *ExecuteEvalTargetRequest) FastReadField255(buf []byte) (int, error) { offset := 0 _field := base.NewBase() @@ -2713,7 +2521,6 @@ func (p *ExecuteEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWr offset += p.fastWriteField3(buf[offset:], w) offset += p.fastWriteField5(buf[offset:], w) offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) @@ -2728,7 +2535,6 @@ func (p *ExecuteEvalTargetRequest) BLength() int { l += p.field3Length() l += p.field4Length() l += p.field5Length() - l += p.field10Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() @@ -2772,15 +2578,6 @@ func (p *ExecuteEvalTargetRequest) fastWriteField5(buf []byte, w thrift.NocopyWr return offset } -func (p *ExecuteEvalTargetRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 10) - offset += p.EvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - func (p *ExecuteEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetBase() { @@ -2827,15 +2624,6 @@ func (p *ExecuteEvalTargetRequest) field5Length() int { return l } -func (p *ExecuteEvalTargetRequest) field10Length() int { - l := 0 - if p.IsSetEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.EvalTarget.BLength() - } - return l -} - func (p *ExecuteEvalTargetRequest) field255Length() int { l := 0 if p.IsSetBase() { @@ -2871,15 +2659,6 @@ func (p *ExecuteEvalTargetRequest) DeepCopy(s interface{}) error { p.ExperimentRunID = &tmp } - var _evalTarget *eval_target.EvalTarget - if src.EvalTarget != nil { - _evalTarget = &eval_target.EvalTarget{} - if err := _evalTarget.DeepCopy(src.EvalTarget); err != nil { - return err - } - } - p.EvalTarget = _evalTarget - var _base *base.Base if src.Base != nil { _base = &base.Base{} @@ -3066,13 +2845,15 @@ func (p *ExecuteEvalTargetResponse) DeepCopy(s interface{}) error { return nil } -func (p *AsyncExecuteEvalTargetResponse) FastRead(buf []byte) (int, error) { +func (p *ListEvalTargetRecordRequest) FastRead(buf []byte) (int, error) { var err error var offset int var l int var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false + var issetEvalTargetID bool = false for { fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) offset += l @@ -3090,6 +2871,7 @@ func (p *AsyncExecuteEvalTargetResponse) FastRead(buf []byte) (int, error) { if err != nil { goto ReadFieldError } + issetWorkspaceID = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -3098,12 +2880,27 @@ func (p *AsyncExecuteEvalTargetResponse) FastRead(buf []byte) (int, error) { } } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { l, err = p.FastReadField2(buf[offset:]) offset += l if err != nil { goto ReadFieldError } + issetEvalTargetID = true + } else { + l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) + offset += l + if err != nil { + goto SkipFieldError + } + } + case 3: + if fieldTypeId == thrift.LIST { + l, err = p.FastReadField3(buf[offset:]) + offset += l + if err != nil { + goto ReadFieldError + } } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -3134,375 +2931,133 @@ func (p *AsyncExecuteEvalTargetResponse) FastRead(buf []byte) (int, error) { } } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetEvalTargetID { + fieldId = 2 + goto RequiredFieldNotSetError + } return offset, nil ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncExecuteEvalTargetResponse[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordRequest[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListEvalTargetRecordRequest[fieldId])) } -func (p *AsyncExecuteEvalTargetResponse) FastReadField1(buf []byte) (int, error) { +func (p *ListEvalTargetRecordRequest) FastReadField1(buf []byte) (int, error) { offset := 0 - var _field *int64 + var _field int64 if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v + _field = v } - p.InvokeID = _field + p.WorkspaceID = _field return offset, nil } -func (p *AsyncExecuteEvalTargetResponse) FastReadField2(buf []byte) (int, error) { +func (p *ListEvalTargetRecordRequest) FastReadField2(buf []byte) (int, error) { offset := 0 - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + var _field int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v + _field = v } - p.Callee = _field + p.EvalTargetID = _field return offset, nil } -func (p *AsyncExecuteEvalTargetResponse) FastReadField255(buf []byte) (int, error) { +func (p *ListEvalTargetRecordRequest) FastReadField3(buf []byte) (int, error) { offset := 0 - _field := base.NewBaseResp() + + _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) + offset += l + if err != nil { + return offset, err + } + _field := make([]int64, 0, size) + for i := 0; i < size; i++ { + var _elem int64 + if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _elem = v + } + + _field = append(_field, _elem) + } + p.ExperimentRunIds = _field + return offset, nil +} + +func (p *ListEvalTargetRecordRequest) FastReadField255(buf []byte) (int, error) { + offset := 0 + _field := base.NewBase() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { offset += l } - p.BaseResp = _field + p.Base = _field return offset, nil } -func (p *AsyncExecuteEvalTargetResponse) FastWrite(buf []byte) int { +func (p *ListEvalTargetRecordRequest) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *AsyncExecuteEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *ListEvalTargetRecordRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) return offset } -func (p *AsyncExecuteEvalTargetResponse) BLength() int { +func (p *ListEvalTargetRecordRequest) BLength() int { l := 0 if p != nil { l += p.field1Length() l += p.field2Length() + l += p.field3Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() return l } -func (p *AsyncExecuteEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *ListEvalTargetRecordRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetInvokeID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.InvokeID) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) return offset } -func (p *AsyncExecuteEvalTargetResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { +func (p *ListEvalTargetRecordRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetCallee() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Callee) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.EvalTargetID) return offset } -func (p *AsyncExecuteEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *AsyncExecuteEvalTargetResponse) field1Length() int { - l := 0 - if p.IsSetInvokeID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *AsyncExecuteEvalTargetResponse) field2Length() int { - l := 0 - if p.IsSetCallee() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Callee) - } - return l -} - -func (p *AsyncExecuteEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *AsyncExecuteEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*AsyncExecuteEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.InvokeID != nil { - tmp := *src.InvokeID - p.InvokeID = &tmp - } - - if src.Callee != nil { - var tmp string - if *src.Callee != "" { - tmp = kutils.StringDeepCopy(*src.Callee) - } - p.Callee = &tmp - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *ListEvalTargetRecordRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetEvalTargetID bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetEvalTargetID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetEvalTargetID { - fieldId = 2 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListEvalTargetRecordRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_ListEvalTargetRecordRequest[fieldId])) -} - -func (p *ListEvalTargetRecordRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *ListEvalTargetRecordRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.EvalTargetID = _field - return offset, nil -} - -func (p *ListEvalTargetRecordRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]int64, 0, size) - for i := 0; i < size; i++ { - var _elem int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _elem = v - } - - _field = append(_field, _elem) - } - p.ExperimentRunIds = _field - return offset, nil -} - -func (p *ListEvalTargetRecordRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *ListEvalTargetRecordRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *ListEvalTargetRecordRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *ListEvalTargetRecordRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *ListEvalTargetRecordRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) - return offset -} - -func (p *ListEvalTargetRecordRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) - offset += thrift.Binary.WriteI64(buf[offset:], p.EvalTargetID) - return offset -} - -func (p *ListEvalTargetRecordRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { +func (p *ListEvalTargetRecordRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetExperimentRunIds() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 3) @@ -6556,14 +6111,18 @@ func (p *ListSourceEvalTargetVersionsResponse) DeepCopy(s interface{}) error { return nil } -func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastRead(buf []byte) (int, error) { var err error var offset int var l int var fieldTypeId thrift.TType var fieldId int16 - for { + var issetWorkspaceID bool = false + var issetSourceTargetID bool = false + var issetEvalTargetVersion bool = false + var issetTargetType bool = false + for { fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) offset += l if err != nil { @@ -6580,6 +6139,7 @@ func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { if err != nil { goto ReadFieldError } + issetWorkspaceID = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -6588,12 +6148,13 @@ func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { } } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { l, err = p.FastReadField2(buf[offset:]) offset += l if err != nil { goto ReadFieldError } + issetSourceTargetID = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -6602,12 +6163,13 @@ func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { } } case 3: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { l, err = p.FastReadField3(buf[offset:]) offset += l if err != nil { goto ReadFieldError } + issetEvalTargetVersion = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -6616,68 +6178,13 @@ func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { } } case 4: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 5: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField5(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 6: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField6(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 100: if fieldTypeId == thrift.I32 { - l, err = p.FastReadField100(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 101: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField101(buf[offset:]) + l, err = p.FastReadField4(buf[offset:]) offset += l if err != nil { goto ReadFieldError } + issetTargetType = true } else { l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -6708,126 +6215,94 @@ func (p *SearchCustomEvalTargetRequest) FastRead(buf []byte) (int, error) { } } + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetSourceTargetID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetEvalTargetVersion { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetTargetType { + fieldId = 4 + goto RequiredFieldNotSetError + } return offset, nil ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchCustomEvalTargetRequest[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputRequest[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) +RequiredFieldNotSetError: + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_MockEvalTargetOutputRequest[fieldId])) } -func (p *SearchCustomEvalTargetRequest) FastReadField1(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastReadField1(buf []byte) (int, error) { offset := 0 - var _field *int64 + var _field int64 if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v + _field = v } p.WorkspaceID = _field return offset, nil } -func (p *SearchCustomEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Keyword = _field - return offset, nil -} - -func (p *SearchCustomEvalTargetRequest) FastReadField3(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastReadField2(buf []byte) (int, error) { offset := 0 - var _field *int64 + var _field int64 if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v - } - p.ApplicationID = _field - return offset, nil -} - -func (p *SearchCustomEvalTargetRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewCustomRPCServer() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomRPCServer = _field - return offset, nil -} - -func (p *SearchCustomEvalTargetRequest) FastReadField5(buf []byte) (int, error) { - offset := 0 - - var _field *eval_target.Region - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v + _field = v } - p.Region = _field + p.SourceTargetID = _field return offset, nil } -func (p *SearchCustomEvalTargetRequest) FastReadField6(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastReadField3(buf []byte) (int, error) { offset := 0 - var _field *string + var _field string if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v + _field = v } - p.Env = _field + p.EvalTargetVersion = _field return offset, nil } -func (p *SearchCustomEvalTargetRequest) FastReadField100(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastReadField4(buf []byte) (int, error) { offset := 0 - var _field *int32 + var _field eval_target.EvalTargetType if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { return offset, err } else { offset += l - _field = &v - } - p.PageSize = _field - return offset, nil -} -func (p *SearchCustomEvalTargetRequest) FastReadField101(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v + _field = eval_target.EvalTargetType(v) } - p.PageToken = _field + p.TargetType = _field return offset, nil } -func (p *SearchCustomEvalTargetRequest) FastReadField255(buf []byte) (int, error) { +func (p *MockEvalTargetOutputRequest) FastReadField255(buf []byte) (int, error) { offset := 0 _field := base.NewBase() if l, err := _field.FastRead(buf[offset:]); err != nil { @@ -6839,117 +6314,65 @@ func (p *SearchCustomEvalTargetRequest) FastReadField255(buf []byte) (int, error return offset, nil } -func (p *SearchCustomEvalTargetRequest) FastWrite(buf []byte) int { +func (p *MockEvalTargetOutputRequest) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *SearchCustomEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField100(buf[offset:], w) offset += p.fastWriteField2(buf[offset:], w) + offset += p.fastWriteField3(buf[offset:], w) offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField5(buf[offset:], w) - offset += p.fastWriteField6(buf[offset:], w) - offset += p.fastWriteField101(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) return offset } -func (p *SearchCustomEvalTargetRequest) BLength() int { +func (p *MockEvalTargetOutputRequest) BLength() int { l := 0 if p != nil { l += p.field1Length() l += p.field2Length() l += p.field3Length() l += p.field4Length() - l += p.field5Length() - l += p.field6Length() - l += p.field100Length() - l += p.field101Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() return l } -func (p *SearchCustomEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *SearchCustomEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetKeyword() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Keyword) - } - return offset -} - -func (p *SearchCustomEvalTargetRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetApplicationID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) - offset += thrift.Binary.WriteI64(buf[offset:], *p.ApplicationID) - } - return offset -} - -func (p *SearchCustomEvalTargetRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomRPCServer() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 4) - offset += p.CustomRPCServer.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchCustomEvalTargetRequest) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetRegion() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 5) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Region) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) + offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) return offset } -func (p *SearchCustomEvalTargetRequest) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetEnv() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 6) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Env) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) + offset += thrift.Binary.WriteI64(buf[offset:], p.SourceTargetID) return offset } -func (p *SearchCustomEvalTargetRequest) fastWriteField100(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetPageSize() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 100) - offset += thrift.Binary.WriteI32(buf[offset:], *p.PageSize) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.EvalTargetVersion) return offset } -func (p *SearchCustomEvalTargetRequest) fastWriteField101(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetPageToken() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 101) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.PageToken) - } + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 4) + offset += thrift.Binary.WriteI32(buf[offset:], int32(p.TargetType)) return offset } -func (p *SearchCustomEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetBase() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) @@ -6958,145 +6381,58 @@ func (p *SearchCustomEvalTargetRequest) fastWriteField255(buf []byte, w thrift.N return offset } -func (p *SearchCustomEvalTargetRequest) field1Length() int { +func (p *MockEvalTargetOutputRequest) field1Length() int { l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() return l } -func (p *SearchCustomEvalTargetRequest) field2Length() int { +func (p *MockEvalTargetOutputRequest) field2Length() int { l := 0 - if p.IsSetKeyword() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Keyword) - } + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I64Length() return l } -func (p *SearchCustomEvalTargetRequest) field3Length() int { +func (p *MockEvalTargetOutputRequest) field3Length() int { l := 0 - if p.IsSetApplicationID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.StringLengthNocopy(p.EvalTargetVersion) return l } -func (p *SearchCustomEvalTargetRequest) field4Length() int { +func (p *MockEvalTargetOutputRequest) field4Length() int { l := 0 - if p.IsSetCustomRPCServer() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomRPCServer.BLength() - } + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.I32Length() return l } -func (p *SearchCustomEvalTargetRequest) field5Length() int { +func (p *MockEvalTargetOutputRequest) field255Length() int { l := 0 - if p.IsSetRegion() { + if p.IsSetBase() { l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Region) + l += p.Base.BLength() } return l } -func (p *SearchCustomEvalTargetRequest) field6Length() int { - l := 0 - if p.IsSetEnv() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Env) +func (p *MockEvalTargetOutputRequest) DeepCopy(s interface{}) error { + src, ok := s.(*MockEvalTargetOutputRequest) + if !ok { + return fmt.Errorf("%T's type not matched %T", s, p) } - return l -} -func (p *SearchCustomEvalTargetRequest) field100Length() int { - l := 0 - if p.IsSetPageSize() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *SearchCustomEvalTargetRequest) field101Length() int { - l := 0 - if p.IsSetPageToken() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.PageToken) - } - return l -} - -func (p *SearchCustomEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *SearchCustomEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*SearchCustomEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.Keyword != nil { - var tmp string - if *src.Keyword != "" { - tmp = kutils.StringDeepCopy(*src.Keyword) - } - p.Keyword = &tmp - } - - if src.ApplicationID != nil { - tmp := *src.ApplicationID - p.ApplicationID = &tmp - } - - var _customRPCServer *eval_target.CustomRPCServer - if src.CustomRPCServer != nil { - _customRPCServer = &eval_target.CustomRPCServer{} - if err := _customRPCServer.DeepCopy(src.CustomRPCServer); err != nil { - return err - } - } - p.CustomRPCServer = _customRPCServer - - if src.Region != nil { - tmp := *src.Region - p.Region = &tmp - } + p.WorkspaceID = src.WorkspaceID - if src.Env != nil { - var tmp string - if *src.Env != "" { - tmp = kutils.StringDeepCopy(*src.Env) - } - p.Env = &tmp - } + p.SourceTargetID = src.SourceTargetID - if src.PageSize != nil { - tmp := *src.PageSize - p.PageSize = &tmp + if src.EvalTargetVersion != "" { + p.EvalTargetVersion = kutils.StringDeepCopy(src.EvalTargetVersion) } - if src.PageToken != nil { - var tmp string - if *src.PageToken != "" { - tmp = kutils.StringDeepCopy(*src.PageToken) - } - p.PageToken = &tmp - } + p.TargetType = src.TargetType var _base *base.Base if src.Base != nil { @@ -7110,7 +6446,7 @@ func (p *SearchCustomEvalTargetRequest) DeepCopy(s interface{}) error { return nil } -func (p *SearchCustomEvalTargetResponse) FastRead(buf []byte) (int, error) { +func (p *MockEvalTargetOutputResponse) FastRead(buf []byte) (int, error) { var err error var offset int @@ -7128,7 +6464,7 @@ func (p *SearchCustomEvalTargetResponse) FastRead(buf []byte) (int, error) { } switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRUCT { l, err = p.FastReadField1(buf[offset:]) offset += l if err != nil { @@ -7141,23 +6477,9 @@ func (p *SearchCustomEvalTargetResponse) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 100: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField100(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 101: - if fieldTypeId == thrift.BOOL { - l, err = p.FastReadField101(buf[offset:]) + case 2: + if fieldTypeId == thrift.MAP { + l, err = p.FastReadField2(buf[offset:]) offset += l if err != nil { goto ReadFieldError @@ -7196,65 +6518,56 @@ func (p *SearchCustomEvalTargetResponse) FastRead(buf []byte) (int, error) { ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchCustomEvalTargetResponse[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputResponse[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *SearchCustomEvalTargetResponse) FastReadField1(buf []byte) (int, error) { +func (p *MockEvalTargetOutputResponse) FastReadField1(buf []byte) (int, error) { + offset := 0 + _field := eval_target.NewEvalTarget() + if l, err := _field.FastRead(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + } + p.EvalTarget = _field + return offset, nil +} + +func (p *MockEvalTargetOutputResponse) FastReadField2(buf []byte) (int, error) { offset := 0 - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) + _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) offset += l if err != nil { return offset, err } - _field := make([]*eval_target.CustomEvalTarget, 0, size) - values := make([]eval_target.CustomEvalTarget, size) + _field := make(map[string]string, size) for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if l, err := _elem.FastRead(buf[offset:]); err != nil { + var _key string + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { return offset, err } else { offset += l + _key = v } - _field = append(_field, _elem) - } - p.CustomEvalTargets = _field - return offset, nil -} - -func (p *SearchCustomEvalTargetResponse) FastReadField100(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.NextPageToken = _field - return offset, nil -} - -func (p *SearchCustomEvalTargetResponse) FastReadField101(buf []byte) (int, error) { - offset := 0 + var _val string + if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + return offset, err + } else { + offset += l + _val = v + } - var _field *bool - if v, l, err := thrift.Binary.ReadBool(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v + _field[_key] = _val } - p.HasMore = _field + p.MockOutput = _field return offset, nil } -func (p *SearchCustomEvalTargetResponse) FastReadField255(buf []byte) (int, error) { +func (p *MockEvalTargetOutputResponse) FastReadField255(buf []byte) (int, error) { offset := 0 _field := base.NewBaseResp() if l, err := _field.FastRead(buf[offset:]); err != nil { @@ -7266,2987 +6579,141 @@ func (p *SearchCustomEvalTargetResponse) FastReadField255(buf []byte) (int, erro return offset, nil } -func (p *SearchCustomEvalTargetResponse) FastWrite(buf []byte) int { +func (p *MockEvalTargetOutputResponse) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *SearchCustomEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { - offset += p.fastWriteField101(buf[offset:], w) offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField100(buf[offset:], w) + offset += p.fastWriteField2(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) return offset } -func (p *SearchCustomEvalTargetResponse) BLength() int { +func (p *MockEvalTargetOutputResponse) BLength() int { l := 0 if p != nil { l += p.field1Length() - l += p.field100Length() - l += p.field101Length() + l += p.field2Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() return l } -func (p *SearchCustomEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.CustomEvalTargets { - length++ - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) - return offset -} - -func (p *SearchCustomEvalTargetResponse) fastWriteField100(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetNextPageToken() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 100) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.NextPageToken) + if p.IsSetEvalTarget() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) + offset += p.EvalTarget.FastWriteNocopy(buf[offset:], w) } return offset } -func (p *SearchCustomEvalTargetResponse) fastWriteField101(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { offset := 0 - if p.IsSetHasMore() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.BOOL, 101) - offset += thrift.Binary.WriteBool(buf[offset:], *p.HasMore) + if p.IsSetMockOutput() { + offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 2) + mapBeginOffset := offset + offset += thrift.Binary.MapBeginLength() + var length int + for k, v := range p.MockOutput { + length++ + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) + offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) + } + thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) } return offset } -func (p *SearchCustomEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { +func (p *MockEvalTargetOutputResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) return offset } -func (p *SearchCustomEvalTargetResponse) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.CustomEvalTargets { - _ = v - l += v.BLength() - } - return l -} - -func (p *SearchCustomEvalTargetResponse) field100Length() int { - l := 0 - if p.IsSetNextPageToken() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.NextPageToken) - } - return l -} - -func (p *SearchCustomEvalTargetResponse) field101Length() int { +func (p *MockEvalTargetOutputResponse) field1Length() int { l := 0 - if p.IsSetHasMore() { + if p.IsSetEvalTarget() { l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.BoolLength() - } - return l -} - -func (p *SearchCustomEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *SearchCustomEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*SearchCustomEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.CustomEvalTargets != nil { - p.CustomEvalTargets = make([]*eval_target.CustomEvalTarget, 0, len(src.CustomEvalTargets)) - for _, elem := range src.CustomEvalTargets { - var _elem *eval_target.CustomEvalTarget - if elem != nil { - _elem = &eval_target.CustomEvalTarget{} - if err := _elem.DeepCopy(elem); err != nil { - return err - } - } - - p.CustomEvalTargets = append(p.CustomEvalTargets, _elem) - } - } - - if src.NextPageToken != nil { - var tmp string - if *src.NextPageToken != "" { - tmp = kutils.StringDeepCopy(*src.NextPageToken) - } - p.NextPageToken = &tmp - } - - if src.HasMore != nil { - tmp := *src.HasMore - p.HasMore = &tmp - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *DebugEvalTargetRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 11: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField11(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 12: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField12(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 50: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField50(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DebugEvalTargetRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *DebugEvalTargetRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *eval_target.EvalTargetType - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - - tmp := eval_target.EvalTargetType(v) - _field = &tmp - } - p.EvalTargetType = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Param = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField11(buf []byte) (int, error) { - offset := 0 - _field := common.NewRuntimeParam() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.TargetRuntimeParam = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField12(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Env = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField50(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewCustomRPCServer() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomRPCServer = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *DebugEvalTargetRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *DebugEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField11(buf[offset:], w) - offset += p.fastWriteField12(buf[offset:], w) - offset += p.fastWriteField50(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *DebugEvalTargetRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field10Length() - l += p.field11Length() - l += p.field12Length() - l += p.field50Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *DebugEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalTargetType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 2) - offset += thrift.Binary.WriteI32(buf[offset:], int32(*p.EvalTargetType)) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetParam() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 10) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Param) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField11(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTargetRuntimeParam() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 11) - offset += p.TargetRuntimeParam.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField12(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEnv() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 12) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Env) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField50(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomRPCServer() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 50) - offset += p.CustomRPCServer.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *DebugEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *DebugEvalTargetRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *DebugEvalTargetRequest) field2Length() int { - l := 0 - if p.IsSetEvalTargetType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *DebugEvalTargetRequest) field10Length() int { - l := 0 - if p.IsSetParam() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Param) - } - return l -} - -func (p *DebugEvalTargetRequest) field11Length() int { - l := 0 - if p.IsSetTargetRuntimeParam() { - l += thrift.Binary.FieldBeginLength() - l += p.TargetRuntimeParam.BLength() - } - return l -} - -func (p *DebugEvalTargetRequest) field12Length() int { - l := 0 - if p.IsSetEnv() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Env) - } - return l -} - -func (p *DebugEvalTargetRequest) field50Length() int { - l := 0 - if p.IsSetCustomRPCServer() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomRPCServer.BLength() - } - return l -} - -func (p *DebugEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *DebugEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*DebugEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.EvalTargetType != nil { - tmp := *src.EvalTargetType - p.EvalTargetType = &tmp - } - - if src.Param != nil { - var tmp string - if *src.Param != "" { - tmp = kutils.StringDeepCopy(*src.Param) - } - p.Param = &tmp - } - - var _targetRuntimeParam *common.RuntimeParam - if src.TargetRuntimeParam != nil { - _targetRuntimeParam = &common.RuntimeParam{} - if err := _targetRuntimeParam.DeepCopy(src.TargetRuntimeParam); err != nil { - return err - } - } - p.TargetRuntimeParam = _targetRuntimeParam - - if src.Env != nil { - var tmp string - if *src.Env != "" { - tmp = kutils.StringDeepCopy(*src.Env) - } - p.Env = &tmp - } - - var _customRPCServer *eval_target.CustomRPCServer - if src.CustomRPCServer != nil { - _customRPCServer = &eval_target.CustomRPCServer{} - if err := _customRPCServer.DeepCopy(src.CustomRPCServer); err != nil { - return err - } - } - p.CustomRPCServer = _customRPCServer - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *DebugEvalTargetResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DebugEvalTargetResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *DebugEvalTargetResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewEvalTargetRecord() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.EvalTargetRecord = _field - return offset, nil -} - -func (p *DebugEvalTargetResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *DebugEvalTargetResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *DebugEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *DebugEvalTargetResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *DebugEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalTargetRecord() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.EvalTargetRecord.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *DebugEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *DebugEvalTargetResponse) field1Length() int { - l := 0 - if p.IsSetEvalTargetRecord() { - l += thrift.Binary.FieldBeginLength() - l += p.EvalTargetRecord.BLength() - } - return l -} - -func (p *DebugEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *DebugEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*DebugEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _evalTargetRecord *eval_target.EvalTargetRecord - if src.EvalTargetRecord != nil { - _evalTargetRecord = &eval_target.EvalTargetRecord{} - if err := _evalTargetRecord.DeepCopy(src.EvalTargetRecord); err != nil { - return err - } - } - p.EvalTargetRecord = _evalTargetRecord - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *AsyncDebugEvalTargetRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 11: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField11(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 12: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField12(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 50: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField50(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncDebugEvalTargetRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *eval_target.EvalTargetType - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - - tmp := eval_target.EvalTargetType(v) - _field = &tmp - } - p.EvalTargetType = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Param = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField11(buf []byte) (int, error) { - offset := 0 - _field := common.NewRuntimeParam() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.TargetRuntimeParam = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField12(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Env = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField50(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewCustomRPCServer() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomRPCServer = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *AsyncDebugEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField11(buf[offset:], w) - offset += p.fastWriteField12(buf[offset:], w) - offset += p.fastWriteField50(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *AsyncDebugEvalTargetRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field10Length() - l += p.field11Length() - l += p.field12Length() - l += p.field50Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalTargetType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 2) - offset += thrift.Binary.WriteI32(buf[offset:], int32(*p.EvalTargetType)) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetParam() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 10) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Param) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField11(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTargetRuntimeParam() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 11) - offset += p.TargetRuntimeParam.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField12(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEnv() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 12) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Env) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField50(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomRPCServer() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 50) - offset += p.CustomRPCServer.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncDebugEvalTargetRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field2Length() int { - l := 0 - if p.IsSetEvalTargetType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field10Length() int { - l := 0 - if p.IsSetParam() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Param) - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field11Length() int { - l := 0 - if p.IsSetTargetRuntimeParam() { - l += thrift.Binary.FieldBeginLength() - l += p.TargetRuntimeParam.BLength() - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field12Length() int { - l := 0 - if p.IsSetEnv() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Env) - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field50Length() int { - l := 0 - if p.IsSetCustomRPCServer() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomRPCServer.BLength() - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *AsyncDebugEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*AsyncDebugEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.EvalTargetType != nil { - tmp := *src.EvalTargetType - p.EvalTargetType = &tmp - } - - if src.Param != nil { - var tmp string - if *src.Param != "" { - tmp = kutils.StringDeepCopy(*src.Param) - } - p.Param = &tmp - } - - var _targetRuntimeParam *common.RuntimeParam - if src.TargetRuntimeParam != nil { - _targetRuntimeParam = &common.RuntimeParam{} - if err := _targetRuntimeParam.DeepCopy(src.TargetRuntimeParam); err != nil { - return err - } - } - p.TargetRuntimeParam = _targetRuntimeParam - - if src.Env != nil { - var tmp string - if *src.Env != "" { - tmp = kutils.StringDeepCopy(*src.Env) - } - p.Env = &tmp - } - - var _customRPCServer *eval_target.CustomRPCServer - if src.CustomRPCServer != nil { - _customRPCServer = &eval_target.CustomRPCServer{} - if err := _customRPCServer.DeepCopy(src.CustomRPCServer); err != nil { - return err - } - } - p.CustomRPCServer = _customRPCServer - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *MockEvalTargetOutputRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetSourceTargetID bool = false - var issetEvalTargetVersion bool = false - var issetTargetType bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetSourceTargetID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetEvalTargetVersion = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 4: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetTargetType = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetSourceTargetID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetEvalTargetVersion { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetTargetType { - fieldId = 4 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_MockEvalTargetOutputRequest[fieldId])) -} - -func (p *MockEvalTargetOutputRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *MockEvalTargetOutputRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.SourceTargetID = _field - return offset, nil -} - -func (p *MockEvalTargetOutputRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.EvalTargetVersion = _field - return offset, nil -} - -func (p *MockEvalTargetOutputRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - - var _field eval_target.EvalTargetType - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - - _field = eval_target.EvalTargetType(v) - } - p.TargetType = _field - return offset, nil -} - -func (p *MockEvalTargetOutputRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *MockEvalTargetOutputRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *MockEvalTargetOutputRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *MockEvalTargetOutputRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field4Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *MockEvalTargetOutputRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) - return offset -} - -func (p *MockEvalTargetOutputRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) - offset += thrift.Binary.WriteI64(buf[offset:], p.SourceTargetID) - return offset -} - -func (p *MockEvalTargetOutputRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.EvalTargetVersion) - return offset -} - -func (p *MockEvalTargetOutputRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 4) - offset += thrift.Binary.WriteI32(buf[offset:], int32(p.TargetType)) - return offset -} - -func (p *MockEvalTargetOutputRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *MockEvalTargetOutputRequest) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *MockEvalTargetOutputRequest) field2Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *MockEvalTargetOutputRequest) field3Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(p.EvalTargetVersion) - return l -} - -func (p *MockEvalTargetOutputRequest) field4Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - return l -} - -func (p *MockEvalTargetOutputRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *MockEvalTargetOutputRequest) DeepCopy(s interface{}) error { - src, ok := s.(*MockEvalTargetOutputRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - p.WorkspaceID = src.WorkspaceID - - p.SourceTargetID = src.SourceTargetID - - if src.EvalTargetVersion != "" { - p.EvalTargetVersion = kutils.StringDeepCopy(src.EvalTargetVersion) - } - - p.TargetType = src.TargetType - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *AsyncDebugEvalTargetResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetInvokeID bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetInvokeID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetInvokeID { - fieldId = 1 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncDebugEvalTargetResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_AsyncDebugEvalTargetResponse[fieldId])) -} - -func (p *AsyncDebugEvalTargetResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.InvokeID = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Callee = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *AsyncDebugEvalTargetResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *AsyncDebugEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *AsyncDebugEvalTargetResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *AsyncDebugEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], p.InvokeID) - return offset -} - -func (p *AsyncDebugEvalTargetResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCallee() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Callee) - } - return offset -} - -func (p *AsyncDebugEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *AsyncDebugEvalTargetResponse) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *AsyncDebugEvalTargetResponse) field2Length() int { - l := 0 - if p.IsSetCallee() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Callee) - } - return l -} - -func (p *AsyncDebugEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *AsyncDebugEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*AsyncDebugEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - p.InvokeID = src.InvokeID - - if src.Callee != nil { - var tmp string - if *src.Callee != "" { - tmp = kutils.StringDeepCopy(*src.Callee) - } - p.Callee = &tmp - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *MockEvalTargetOutputResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_MockEvalTargetOutputResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *MockEvalTargetOutputResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := eval_target.NewEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.EvalTarget = _field - return offset, nil -} - -func (p *MockEvalTargetOutputResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.MockOutput = _field - return offset, nil -} - -func (p *MockEvalTargetOutputResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *MockEvalTargetOutputResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *MockEvalTargetOutputResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *MockEvalTargetOutputResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *MockEvalTargetOutputResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.EvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *MockEvalTargetOutputResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetMockOutput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 2) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.MockOutput { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *MockEvalTargetOutputResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *MockEvalTargetOutputResponse) field1Length() int { - l := 0 - if p.IsSetEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.EvalTarget.BLength() - } - return l -} - -func (p *MockEvalTargetOutputResponse) field2Length() int { - l := 0 - if p.IsSetMockOutput() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.MockOutput { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *MockEvalTargetOutputResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *MockEvalTargetOutputResponse) DeepCopy(s interface{}) error { - src, ok := s.(*MockEvalTargetOutputResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _evalTarget *eval_target.EvalTarget - if src.EvalTarget != nil { - _evalTarget = &eval_target.EvalTarget{} - if err := _evalTarget.DeepCopy(src.EvalTarget); err != nil { - return err - } - } - p.EvalTarget = _evalTarget - - if src.MockOutput != nil { - p.MockOutput = make(map[string]string, len(src.MockOutput)) - for key, val := range src.MockOutput { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.MockOutput[_key] = _val - } - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewCreateEvalTargetRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Request = _field - return offset, nil -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Request.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Request.BLength() - return l -} - -func (p *EvalTargetServiceCreateEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceCreateEvalTargetArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _request *CreateEvalTargetRequest - if src.Request != nil { - _request = &CreateEvalTargetRequest{} - if err := _request.DeepCopy(src.Request); err != nil { - return err - } - } - p.Request = _request - - return nil -} - -func (p *EvalTargetServiceCreateEvalTargetResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceCreateEvalTargetResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewCreateEvalTargetResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvalTargetServiceCreateEvalTargetResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceCreateEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceCreateEvalTargetResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceCreateEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvalTargetServiceCreateEvalTargetResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvalTargetServiceCreateEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceCreateEvalTargetResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *CreateEvalTargetResponse - if src.Success != nil { - _success = &CreateEvalTargetResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewBatchGetEvalTargetsBySourceRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Request = _field - return offset, nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Request.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Request.BLength() - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetsBySourceArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _request *BatchGetEvalTargetsBySourceRequest - if src.Request != nil { - _request = &BatchGetEvalTargetsBySourceRequest{} - if err := _request.DeepCopy(src.Request); err != nil { - return err - } - } - p.Request = _request - - return nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewBatchGetEvalTargetsBySourceResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetsBySourceResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *BatchGetEvalTargetsBySourceResponse - if src.Success != nil { - _success = &BatchGetEvalTargetsBySourceResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewGetEvalTargetVersionRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Request = _field - return offset, nil -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Request.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Request.BLength() - return l -} - -func (p *EvalTargetServiceGetEvalTargetVersionArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceGetEvalTargetVersionArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _request *GetEvalTargetVersionRequest - if src.Request != nil { - _request = &GetEvalTargetVersionRequest{} - if err := _request.DeepCopy(src.Request); err != nil { - return err - } - } - p.Request = _request - - return nil -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewGetEvalTargetVersionResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvalTargetServiceGetEvalTargetVersionResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceGetEvalTargetVersionResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *GetEvalTargetVersionResponse - if src.Success != nil { - _success = &GetEvalTargetVersionResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewBatchGetEvalTargetVersionsRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Request = _field - return offset, nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Request.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Request.BLength() - return l -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetVersionsArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _request *BatchGetEvalTargetVersionsRequest - if src.Request != nil { - _request = &BatchGetEvalTargetVersionsRequest{} - if err := _request.DeepCopy(src.Request); err != nil { - return err - } - } - p.Request = _request - - return nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewBatchGetEvalTargetVersionsResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() + l += p.EvalTarget.BLength() } - l += thrift.Binary.FieldStopLength() return l } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) +func (p *MockEvalTargetOutputResponse) field2Length() int { + l := 0 + if p.IsSetMockOutput() { + l += thrift.Binary.FieldBeginLength() + l += thrift.Binary.MapBeginLength() + for k, v := range p.MockOutput { + _, _ = k, v + + l += thrift.Binary.StringLengthNocopy(k) + l += thrift.Binary.StringLengthNocopy(v) + } } - return offset + return l } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) field0Length() int { +func (p *MockEvalTargetOutputResponse) field255Length() int { l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } + l += thrift.Binary.FieldBeginLength() + l += p.BaseResp.BLength() return l } -func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetVersionsResult) +func (p *MockEvalTargetOutputResponse) DeepCopy(s interface{}) error { + src, ok := s.(*MockEvalTargetOutputResponse) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetEvalTargetVersionsResponse - if src.Success != nil { - _success = &BatchGetEvalTargetVersionsResponse{} - if err := _success.DeepCopy(src.Success); err != nil { + var _evalTarget *eval_target.EvalTarget + if src.EvalTarget != nil { + _evalTarget = &eval_target.EvalTarget{} + if err := _evalTarget.DeepCopy(src.EvalTarget); err != nil { return err } } - p.Success = _success + p.EvalTarget = _evalTarget + + if src.MockOutput != nil { + p.MockOutput = make(map[string]string, len(src.MockOutput)) + for key, val := range src.MockOutput { + var _key string + if key != "" { + _key = kutils.StringDeepCopy(key) + } + + var _val string + if val != "" { + _val = kutils.StringDeepCopy(val) + } + + p.MockOutput[_key] = _val + } + } + + var _baseResp *base.BaseResp + if src.BaseResp != nil { + _baseResp = &base.BaseResp{} + if err := _baseResp.DeepCopy(src.BaseResp); err != nil { + return err + } + } + p.BaseResp = _baseResp return nil } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceCreateEvalTargetArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10290,14 +6757,14 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceCreateEvalTargetArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewListSourceEvalTargetsRequest() + _field := NewCreateEvalTargetRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10307,11 +6774,11 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastReadField1(buf []byte) return offset, nil } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceCreateEvalTargetArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceCreateEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -10320,7 +6787,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastWriteNocopy(buf []byte, return offset } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) BLength() int { +func (p *EvalTargetServiceCreateEvalTargetArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -10329,29 +6796,29 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) BLength() int { return l } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceCreateEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) field1Length() int { +func (p *EvalTargetServiceCreateEvalTargetArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceListSourceEvalTargetsArgs) +func (p *EvalTargetServiceCreateEvalTargetArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceCreateEvalTargetArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *ListSourceEvalTargetsRequest + var _request *CreateEvalTargetRequest if src.Request != nil { - _request = &ListSourceEvalTargetsRequest{} + _request = &CreateEvalTargetRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -10361,7 +6828,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepCopy(s interface{}) err return nil } -func (p *EvalTargetServiceListSourceEvalTargetsResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceCreateEvalTargetResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10405,14 +6872,14 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) FastRead(buf []byte) (int ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceCreateEvalTargetResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceCreateEvalTargetResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewListSourceEvalTargetsResponse() + _field := NewCreateEvalTargetResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10422,11 +6889,11 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) FastReadField0(buf []byte return offset, nil } -func (p *EvalTargetServiceListSourceEvalTargetsResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceCreateEvalTargetResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceListSourceEvalTargetsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceCreateEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -10435,7 +6902,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) FastWriteNocopy(buf []byt return offset } -func (p *EvalTargetServiceListSourceEvalTargetsResult) BLength() int { +func (p *EvalTargetServiceCreateEvalTargetResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -10444,7 +6911,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) BLength() int { return l } -func (p *EvalTargetServiceListSourceEvalTargetsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceCreateEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -10453,7 +6920,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) fastWriteField0(buf []byt return offset } -func (p *EvalTargetServiceListSourceEvalTargetsResult) field0Length() int { +func (p *EvalTargetServiceCreateEvalTargetResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -10462,15 +6929,15 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) field0Length() int { return l } -func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceListSourceEvalTargetsResult) +func (p *EvalTargetServiceCreateEvalTargetResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceCreateEvalTargetResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ListSourceEvalTargetsResponse + var _success *CreateEvalTargetResponse if src.Success != nil { - _success = &ListSourceEvalTargetsResponse{} + _success = &CreateEvalTargetResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -10480,7 +6947,7 @@ func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepCopy(s interface{}) e return nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10524,14 +6991,14 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewListSourceEvalTargetVersionsRequest() + _field := NewBatchGetEvalTargetsBySourceRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10541,11 +7008,11 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastReadField1(buf [ return offset, nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -10554,7 +7021,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastWriteNocopy(buf return offset } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -10563,29 +7030,29 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) BLength() int { return l } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) field1Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceListSourceEvalTargetVersionsArgs) +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetsBySourceArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *ListSourceEvalTargetVersionsRequest + var _request *BatchGetEvalTargetsBySourceRequest if src.Request != nil { - _request = &ListSourceEvalTargetVersionsRequest{} + _request = &BatchGetEvalTargetsBySourceRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -10595,7 +7062,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepCopy(s interface return nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10639,14 +7106,14 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastRead(buf []byt ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetsBySourceResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewListSourceEvalTargetVersionsResponse() + _field := NewBatchGetEvalTargetsBySourceResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10656,11 +7123,11 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastReadField0(buf return offset, nil } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -10669,7 +7136,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastWriteNocopy(bu return offset } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -10678,7 +7145,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) BLength() int { return l } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -10687,7 +7154,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) fastWriteField0(bu return offset } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) field0Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -10696,15 +7163,15 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) field0Length() int return l } -func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceListSourceEvalTargetVersionsResult) +func (p *EvalTargetServiceBatchGetEvalTargetsBySourceResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetsBySourceResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ListSourceEvalTargetVersionsResponse + var _success *BatchGetEvalTargetsBySourceResponse if src.Success != nil { - _success = &ListSourceEvalTargetVersionsResponse{} + _success = &BatchGetEvalTargetsBySourceResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -10714,7 +7181,7 @@ func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepCopy(s interfa return nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10758,14 +7225,14 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastRead(buf []byte) (i ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetSourceEvalTargetsRequest() + _field := NewGetEvalTargetVersionRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10775,11 +7242,11 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastReadField1(buf []by return offset, nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -10788,7 +7255,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastWriteNocopy(buf []b return offset } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) BLength() int { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -10797,29 +7264,29 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) BLength() int { return l } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) field1Length() int { +func (p *EvalTargetServiceGetEvalTargetVersionArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetSourceEvalTargetsArgs) +func (p *EvalTargetServiceGetEvalTargetVersionArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceGetEvalTargetVersionArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *BatchGetSourceEvalTargetsRequest + var _request *GetEvalTargetVersionRequest if src.Request != nil { - _request = &BatchGetSourceEvalTargetsRequest{} + _request = &GetEvalTargetVersionRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -10829,7 +7296,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepCopy(s interface{}) return nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10873,14 +7340,14 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetVersionResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetVersionResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetSourceEvalTargetsResponse() + _field := NewGetEvalTargetVersionResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -10890,11 +7357,11 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastReadField0(buf [] return offset, nil } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceGetEvalTargetVersionResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetVersionResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -10903,7 +7370,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastWriteNocopy(buf [ return offset } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) BLength() int { +func (p *EvalTargetServiceGetEvalTargetVersionResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -10912,7 +7379,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) BLength() int { return l } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetVersionResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -10921,7 +7388,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) fastWriteField0(buf [ return offset } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) field0Length() int { +func (p *EvalTargetServiceGetEvalTargetVersionResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -10930,15 +7397,15 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) field0Length() int { return l } -func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetSourceEvalTargetsResult) +func (p *EvalTargetServiceGetEvalTargetVersionResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceGetEvalTargetVersionResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetSourceEvalTargetsResponse + var _success *GetEvalTargetVersionResponse if src.Success != nil { - _success = &BatchGetSourceEvalTargetsResponse{} + _success = &GetEvalTargetVersionResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -10948,7 +7415,7 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepCopy(s interface{ return nil } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -10992,28 +7459,28 @@ func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceSearchCustomEvalTargetArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewSearchCustomEvalTargetRequest() + _field := NewBatchGetEvalTargetVersionsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { offset += l } - p.Req = _field + p.Request = _field return offset, nil } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -11022,7 +7489,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetArgs) FastWriteNocopy(buf []byte return offset } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -11031,39 +7498,39 @@ func (p *EvalTargetServiceSearchCustomEvalTargetArgs) BLength() int { return l } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) + offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) field1Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() + l += p.Request.BLength() return l } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceSearchCustomEvalTargetArgs) +func (p *EvalTargetServiceBatchGetEvalTargetVersionsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetVersionsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _req *SearchCustomEvalTargetRequest - if src.Req != nil { - _req = &SearchCustomEvalTargetRequest{} - if err := _req.DeepCopy(src.Req); err != nil { + var _request *BatchGetEvalTargetVersionsRequest + if src.Request != nil { + _request = &BatchGetEvalTargetVersionsRequest{} + if err := _request.DeepCopy(src.Request); err != nil { return err } } - p.Req = _req + p.Request = _request return nil } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11107,14 +7574,14 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastRead(buf []byte) (in ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceSearchCustomEvalTargetResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetVersionsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewSearchCustomEvalTargetResponse() + _field := NewBatchGetEvalTargetVersionsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11124,11 +7591,11 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastReadField0(buf []byt return offset, nil } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -11137,7 +7604,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) FastWriteNocopy(buf []by return offset } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -11146,7 +7613,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) BLength() int { return l } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -11155,7 +7622,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) fastWriteField0(buf []by return offset } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) field0Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -11164,15 +7631,15 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) field0Length() int { return l } -func (p *EvalTargetServiceSearchCustomEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceSearchCustomEvalTargetResult) +func (p *EvalTargetServiceBatchGetEvalTargetVersionsResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetVersionsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *SearchCustomEvalTargetResponse + var _success *BatchGetEvalTargetVersionsResponse if src.Success != nil { - _success = &SearchCustomEvalTargetResponse{} + _success = &BatchGetEvalTargetVersionsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -11182,7 +7649,7 @@ func (p *EvalTargetServiceSearchCustomEvalTargetResult) DeepCopy(s interface{}) return nil } -func (p *EvalTargetServiceExecuteEvalTargetArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11226,14 +7693,14 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) FastRead(buf []byte) (int, erro ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewExecuteEvalTargetRequest() + _field := NewListSourceEvalTargetsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11243,11 +7710,11 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) FastReadField1(buf []byte) (int return offset, nil } -func (p *EvalTargetServiceExecuteEvalTargetArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceExecuteEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -11256,7 +7723,7 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) FastWriteNocopy(buf []byte, w t return offset } -func (p *EvalTargetServiceExecuteEvalTargetArgs) BLength() int { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -11265,29 +7732,29 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) BLength() int { return l } -func (p *EvalTargetServiceExecuteEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceExecuteEvalTargetArgs) field1Length() int { +func (p *EvalTargetServiceListSourceEvalTargetsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceExecuteEvalTargetArgs) +func (p *EvalTargetServiceListSourceEvalTargetsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceListSourceEvalTargetsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *ExecuteEvalTargetRequest + var _request *ListSourceEvalTargetsRequest if src.Request != nil { - _request = &ExecuteEvalTargetRequest{} + _request = &ListSourceEvalTargetsRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -11297,7 +7764,7 @@ func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepCopy(s interface{}) error { return nil } -func (p *EvalTargetServiceExecuteEvalTargetResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11341,14 +7808,14 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceExecuteEvalTargetResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewExecuteEvalTargetResponse() + _field := NewListSourceEvalTargetsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11358,11 +7825,11 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) FastReadField0(buf []byte) (i return offset, nil } -func (p *EvalTargetServiceExecuteEvalTargetResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceListSourceEvalTargetsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceExecuteEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -11371,7 +7838,7 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) FastWriteNocopy(buf []byte, w return offset } -func (p *EvalTargetServiceExecuteEvalTargetResult) BLength() int { +func (p *EvalTargetServiceListSourceEvalTargetsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -11380,7 +7847,7 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) BLength() int { return l } -func (p *EvalTargetServiceExecuteEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -11389,7 +7856,7 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) fastWriteField0(buf []byte, w return offset } -func (p *EvalTargetServiceExecuteEvalTargetResult) field0Length() int { +func (p *EvalTargetServiceListSourceEvalTargetsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -11398,15 +7865,15 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) field0Length() int { return l } -func (p *EvalTargetServiceExecuteEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceExecuteEvalTargetResult) +func (p *EvalTargetServiceListSourceEvalTargetsResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceListSourceEvalTargetsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *ExecuteEvalTargetResponse + var _success *ListSourceEvalTargetsResponse if src.Success != nil { - _success = &ExecuteEvalTargetResponse{} + _success = &ListSourceEvalTargetsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -11416,7 +7883,7 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) DeepCopy(s interface{}) error return nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11460,14 +7927,14 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewAsyncExecuteEvalTargetRequest() + _field := NewListSourceEvalTargetVersionsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11477,11 +7944,11 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastReadField1(buf []byte) return offset, nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -11490,7 +7957,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) FastWriteNocopy(buf []byte return offset } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) BLength() int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -11499,29 +7966,29 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) BLength() int { return l } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) field1Length() int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceAsyncExecuteEvalTargetArgs) +func (p *EvalTargetServiceListSourceEvalTargetVersionsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceListSourceEvalTargetVersionsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *AsyncExecuteEvalTargetRequest + var _request *ListSourceEvalTargetVersionsRequest if src.Request != nil { - _request = &AsyncExecuteEvalTargetRequest{} + _request = &ListSourceEvalTargetVersionsRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -11531,7 +7998,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) DeepCopy(s interface{}) er return nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11575,14 +8042,14 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastRead(buf []byte) (in ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncExecuteEvalTargetResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceListSourceEvalTargetVersionsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewAsyncExecuteEvalTargetResponse() + _field := NewListSourceEvalTargetVersionsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11592,11 +8059,11 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastReadField0(buf []byt return offset, nil } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -11605,7 +8072,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) FastWriteNocopy(buf []by return offset } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) BLength() int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -11614,7 +8081,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) BLength() int { return l } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -11623,7 +8090,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) fastWriteField0(buf []by return offset } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) field0Length() int { +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -11632,15 +8099,15 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) field0Length() int { return l } -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceAsyncExecuteEvalTargetResult) +func (p *EvalTargetServiceListSourceEvalTargetVersionsResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceListSourceEvalTargetVersionsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *AsyncExecuteEvalTargetResponse + var _success *ListSourceEvalTargetVersionsResponse if src.Success != nil { - _success = &AsyncExecuteEvalTargetResponse{} + _success = &ListSourceEvalTargetVersionsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -11650,7 +8117,7 @@ func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) DeepCopy(s interface{}) return nil } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11694,14 +8161,14 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastRead(buf []byte) (int, er ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewGetEvalTargetRecordRequest() + _field := NewBatchGetSourceEvalTargetsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11711,11 +8178,11 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastReadField1(buf []byte) (i return offset, nil } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -11724,7 +8191,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastWriteNocopy(buf []byte, w return offset } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) BLength() int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -11733,29 +8200,29 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) BLength() int { return l } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) field1Length() int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceGetEvalTargetRecordArgs) +func (p *EvalTargetServiceBatchGetSourceEvalTargetsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetSourceEvalTargetsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *GetEvalTargetRecordRequest + var _request *BatchGetSourceEvalTargetsRequest if src.Request != nil { - _request = &GetEvalTargetRecordRequest{} + _request = &BatchGetSourceEvalTargetsRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -11765,7 +8232,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepCopy(s interface{}) error return nil } -func (p *EvalTargetServiceGetEvalTargetRecordResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11809,14 +8276,14 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetSourceEvalTargetsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewGetEvalTargetRecordResponse() + _field := NewBatchGetSourceEvalTargetsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11826,11 +8293,11 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) FastReadField0(buf []byte) return offset, nil } -func (p *EvalTargetServiceGetEvalTargetRecordResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceGetEvalTargetRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -11839,7 +8306,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) FastWriteNocopy(buf []byte, return offset } -func (p *EvalTargetServiceGetEvalTargetRecordResult) BLength() int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -11848,7 +8315,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) BLength() int { return l } -func (p *EvalTargetServiceGetEvalTargetRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -11857,7 +8324,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) fastWriteField0(buf []byte, return offset } -func (p *EvalTargetServiceGetEvalTargetRecordResult) field0Length() int { +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -11866,15 +8333,15 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) field0Length() int { return l } -func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceGetEvalTargetRecordResult) +func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetSourceEvalTargetsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *GetEvalTargetRecordResponse + var _success *BatchGetSourceEvalTargetsResponse if src.Success != nil { - _success = &GetEvalTargetRecordResponse{} + _success = &BatchGetSourceEvalTargetsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -11884,7 +8351,7 @@ func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepCopy(s interface{}) err return nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -11928,14 +8395,14 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastRead(buf []byte) (i ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceExecuteEvalTargetArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetEvalTargetRecordsRequest() + _field := NewExecuteEvalTargetRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -11945,11 +8412,11 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastReadField1(buf []by return offset, nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceExecuteEvalTargetArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceExecuteEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -11958,7 +8425,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastWriteNocopy(buf []b return offset } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) BLength() int { +func (p *EvalTargetServiceExecuteEvalTargetArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -11967,29 +8434,29 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) BLength() int { return l } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceExecuteEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) field1Length() int { +func (p *EvalTargetServiceExecuteEvalTargetArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetRecordsArgs) +func (p *EvalTargetServiceExecuteEvalTargetArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceExecuteEvalTargetArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *BatchGetEvalTargetRecordsRequest + var _request *ExecuteEvalTargetRequest if src.Request != nil { - _request = &BatchGetEvalTargetRecordsRequest{} + _request = &ExecuteEvalTargetRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -11999,7 +8466,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepCopy(s interface{}) return nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceExecuteEvalTargetResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -12043,14 +8510,14 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastRead(buf []byte) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceExecuteEvalTargetResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceExecuteEvalTargetResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewBatchGetEvalTargetRecordsResponse() + _field := NewExecuteEvalTargetResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -12060,11 +8527,11 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastReadField0(buf [] return offset, nil } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceExecuteEvalTargetResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceExecuteEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -12073,7 +8540,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastWriteNocopy(buf [ return offset } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) BLength() int { +func (p *EvalTargetServiceExecuteEvalTargetResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -12082,7 +8549,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) BLength() int { return l } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceExecuteEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -12091,7 +8558,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) fastWriteField0(buf [ return offset } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) field0Length() int { +func (p *EvalTargetServiceExecuteEvalTargetResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -12100,15 +8567,15 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) field0Length() int { return l } -func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceBatchGetEvalTargetRecordsResult) +func (p *EvalTargetServiceExecuteEvalTargetResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceExecuteEvalTargetResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *BatchGetEvalTargetRecordsResponse + var _success *ExecuteEvalTargetResponse if src.Success != nil { - _success = &BatchGetEvalTargetRecordsResponse{} + _success = &ExecuteEvalTargetResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -12118,7 +8585,7 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepCopy(s interface{ return nil } -func (p *EvalTargetServiceDebugEvalTargetArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -12162,14 +8629,14 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) FastRead(buf []byte) (int, error) ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceDebugEvalTargetArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceDebugEvalTargetArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewDebugEvalTargetRequest() + _field := NewGetEvalTargetRecordRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -12179,11 +8646,11 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) FastReadField1(buf []byte) (int, return offset, nil } -func (p *EvalTargetServiceDebugEvalTargetArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceDebugEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -12192,7 +8659,7 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) FastWriteNocopy(buf []byte, w thr return offset } -func (p *EvalTargetServiceDebugEvalTargetArgs) BLength() int { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -12201,29 +8668,29 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) BLength() int { return l } -func (p *EvalTargetServiceDebugEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceDebugEvalTargetArgs) field1Length() int { +func (p *EvalTargetServiceGetEvalTargetRecordArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceDebugEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceDebugEvalTargetArgs) +func (p *EvalTargetServiceGetEvalTargetRecordArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceGetEvalTargetRecordArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *DebugEvalTargetRequest + var _request *GetEvalTargetRecordRequest if src.Request != nil { - _request = &DebugEvalTargetRequest{} + _request = &GetEvalTargetRecordRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -12233,7 +8700,7 @@ func (p *EvalTargetServiceDebugEvalTargetArgs) DeepCopy(s interface{}) error { return nil } -func (p *EvalTargetServiceDebugEvalTargetResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -12277,14 +8744,14 @@ func (p *EvalTargetServiceDebugEvalTargetResult) FastRead(buf []byte) (int, erro ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceDebugEvalTargetResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceGetEvalTargetRecordResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceDebugEvalTargetResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceGetEvalTargetRecordResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewDebugEvalTargetResponse() + _field := NewGetEvalTargetRecordResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -12294,11 +8761,11 @@ func (p *EvalTargetServiceDebugEvalTargetResult) FastReadField0(buf []byte) (int return offset, nil } -func (p *EvalTargetServiceDebugEvalTargetResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceGetEvalTargetRecordResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceDebugEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetRecordResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -12307,7 +8774,7 @@ func (p *EvalTargetServiceDebugEvalTargetResult) FastWriteNocopy(buf []byte, w t return offset } -func (p *EvalTargetServiceDebugEvalTargetResult) BLength() int { +func (p *EvalTargetServiceGetEvalTargetRecordResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -12316,7 +8783,7 @@ func (p *EvalTargetServiceDebugEvalTargetResult) BLength() int { return l } -func (p *EvalTargetServiceDebugEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceGetEvalTargetRecordResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -12325,7 +8792,7 @@ func (p *EvalTargetServiceDebugEvalTargetResult) fastWriteField0(buf []byte, w t return offset } -func (p *EvalTargetServiceDebugEvalTargetResult) field0Length() int { +func (p *EvalTargetServiceGetEvalTargetRecordResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -12334,15 +8801,15 @@ func (p *EvalTargetServiceDebugEvalTargetResult) field0Length() int { return l } -func (p *EvalTargetServiceDebugEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceDebugEvalTargetResult) +func (p *EvalTargetServiceGetEvalTargetRecordResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceGetEvalTargetRecordResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *DebugEvalTargetResponse + var _success *GetEvalTargetRecordResponse if src.Success != nil { - _success = &DebugEvalTargetResponse{} + _success = &GetEvalTargetRecordResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -12352,7 +8819,7 @@ func (p *EvalTargetServiceDebugEvalTargetResult) DeepCopy(s interface{}) error { return nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastRead(buf []byte) (int, error) { var err error var offset int @@ -12396,14 +8863,14 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastRead(buf []byte) (int, e ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetArgs[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsArgs[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastReadField1(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastReadField1(buf []byte) (int, error) { offset := 0 - _field := NewAsyncDebugEvalTargetRequest() + _field := NewBatchGetEvalTargetRecordsRequest() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -12413,11 +8880,11 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastReadField1(buf []byte) ( return offset, nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -12426,7 +8893,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) FastWriteNocopy(buf []byte, return offset } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -12435,29 +8902,29 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) BLength() int { return l } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) offset += p.Request.FastWriteNocopy(buf[offset:], w) return offset } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) field1Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += p.Request.BLength() return l } -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceAsyncDebugEvalTargetArgs) +func (p *EvalTargetServiceBatchGetEvalTargetRecordsArgs) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetRecordsArgs) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _request *AsyncDebugEvalTargetRequest + var _request *BatchGetEvalTargetRecordsRequest if src.Request != nil { - _request = &AsyncDebugEvalTargetRequest{} + _request = &BatchGetEvalTargetRecordsRequest{} if err := _request.DeepCopy(src.Request); err != nil { return err } @@ -12467,7 +8934,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) DeepCopy(s interface{}) erro return nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastRead(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastRead(buf []byte) (int, error) { var err error var offset int @@ -12511,14 +8978,14 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastRead(buf []byte) (int, ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceAsyncDebugEvalTargetResult[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvalTargetServiceBatchGetEvalTargetRecordsResult[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastReadField0(buf []byte) (int, error) { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastReadField0(buf []byte) (int, error) { offset := 0 - _field := NewAsyncDebugEvalTargetResponse() + _field := NewBatchGetEvalTargetRecordsResponse() if l, err := _field.FastRead(buf[offset:]); err != nil { return offset, err } else { @@ -12528,11 +8995,11 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastReadField0(buf []byte) return offset, nil } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastWrite(buf []byte) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField0(buf[offset:], w) @@ -12541,7 +9008,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) FastWriteNocopy(buf []byte return offset } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) BLength() int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) BLength() int { l := 0 if p != nil { l += p.field0Length() @@ -12550,7 +9017,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) BLength() int { return l } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetSuccess() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) @@ -12559,7 +9026,7 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) fastWriteField0(buf []byte return offset } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) field0Length() int { +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) field0Length() int { l := 0 if p.IsSetSuccess() { l += thrift.Binary.FieldBeginLength() @@ -12568,15 +9035,15 @@ func (p *EvalTargetServiceAsyncDebugEvalTargetResult) field0Length() int { return l } -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvalTargetServiceAsyncDebugEvalTargetResult) +func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) DeepCopy(s interface{}) error { + src, ok := s.(*EvalTargetServiceBatchGetEvalTargetRecordsResult) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } - var _success *AsyncDebugEvalTargetResponse + var _success *BatchGetEvalTargetRecordsResponse if src.Success != nil { - _success = &AsyncDebugEvalTargetResponse{} + _success = &BatchGetEvalTargetRecordsResponse{} if err := _success.DeepCopy(src.Success); err != nil { return err } @@ -12876,14 +9343,6 @@ func (p *EvalTargetServiceBatchGetSourceEvalTargetsResult) GetResult() interface return p.Success } -func (p *EvalTargetServiceSearchCustomEvalTargetArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *EvalTargetServiceSearchCustomEvalTargetResult) GetResult() interface{} { - return p.Success -} - func (p *EvalTargetServiceExecuteEvalTargetArgs) GetFirstArgument() interface{} { return p.Request } @@ -12892,14 +9351,6 @@ func (p *EvalTargetServiceExecuteEvalTargetResult) GetResult() interface{} { return p.Success } -func (p *EvalTargetServiceAsyncExecuteEvalTargetArgs) GetFirstArgument() interface{} { - return p.Request -} - -func (p *EvalTargetServiceAsyncExecuteEvalTargetResult) GetResult() interface{} { - return p.Success -} - func (p *EvalTargetServiceGetEvalTargetRecordArgs) GetFirstArgument() interface{} { return p.Request } @@ -12916,22 +9367,6 @@ func (p *EvalTargetServiceBatchGetEvalTargetRecordsResult) GetResult() interface return p.Success } -func (p *EvalTargetServiceDebugEvalTargetArgs) GetFirstArgument() interface{} { - return p.Request -} - -func (p *EvalTargetServiceDebugEvalTargetResult) GetResult() interface{} { - return p.Success -} - -func (p *EvalTargetServiceAsyncDebugEvalTargetArgs) GetFirstArgument() interface{} { - return p.Request -} - -func (p *EvalTargetServiceAsyncDebugEvalTargetResult) GetResult() interface{} { - return p.Success -} - func (p *EvalTargetServiceMockEvalTargetOutputArgs) GetFirstArgument() interface{} { return p.Request } diff --git a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/client.go b/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/client.go deleted file mode 100644 index 99ffd25bc..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalopenapiservice - -import ( - "context" - client "github.com/cloudwego/kitex/client" - callopt "github.com/cloudwego/kitex/client/callopt" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. -type Client interface { - ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) -} - -// NewClient creates a client for the service defined in IDL. -func NewClient(destService string, opts ...client.Option) (Client, error) { - var options []client.Option - options = append(options, client.WithDestService(destService)) - - options = append(options, opts...) - - kc, err := client.NewClient(serviceInfo(), options...) - if err != nil { - return nil, err - } - return &kEvalOpenAPIServiceClient{ - kClient: newServiceClient(kc), - }, nil -} - -// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. -func MustNewClient(destService string, opts ...client.Option) Client { - kc, err := NewClient(destService, opts...) - if err != nil { - panic(err) - } - return kc -} - -type kEvalOpenAPIServiceClient struct { - *kClient -} - -func (p *kEvalOpenAPIServiceClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.ReportEvalTargetInvokeResult_(ctx, req) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/evalopenapiservice.go b/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/evalopenapiservice.go deleted file mode 100644 index fab4edb95..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/evalopenapiservice.go +++ /dev/null @@ -1,96 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalopenapiservice - -import ( - "context" - "errors" - client "github.com/cloudwego/kitex/client" - kitex "github.com/cloudwego/kitex/pkg/serviceinfo" - evaluation "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -var errInvalidMessageType = errors.New("invalid message type for service method handler") - -var serviceMethods = map[string]kitex.MethodInfo{ - "ReportEvalTargetInvokeResult": kitex.NewMethodInfo( - reportEvalTargetInvokeResult_Handler, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), -} - -var ( - evalOpenAPIServiceServiceInfo = NewServiceInfo() -) - -// for server -func serviceInfo() *kitex.ServiceInfo { - return evalOpenAPIServiceServiceInfo -} - -// NewServiceInfo creates a new ServiceInfo -func NewServiceInfo() *kitex.ServiceInfo { - return newServiceInfo() -} - -func newServiceInfo() *kitex.ServiceInfo { - serviceName := "EvalOpenAPIService" - handlerType := (*evaluation.EvalOpenAPIService)(nil) - extra := map[string]interface{}{ - "PackageName": "evaluation", - } - svcInfo := &kitex.ServiceInfo{ - ServiceName: serviceName, - HandlerType: handlerType, - Methods: serviceMethods, - PayloadCodec: kitex.Thrift, - KiteXGenVersion: "v0.13.1", - Extra: extra, - } - return svcInfo -} - -func reportEvalTargetInvokeResult_Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) - realResult := result.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) - success, err := handler.(openapi.EvaluationOpenAPIService).ReportEvalTargetInvokeResult_(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() -} - -type kClient struct { - c client.Client - sc client.Streaming -} - -func newServiceClient(c client.Client) *kClient { - return &kClient{ - c: c, - sc: c.(client.Streaming), - } -} - -func (p *kClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - var _args openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs - _args.Req = req - var _result openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult - if err = p.c.Call(ctx, "ReportEvalTargetInvokeResult", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/server.go b/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/server.go deleted file mode 100644 index e0baa0c4d..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalopenapiservice/server.go +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. -package evalopenapiservice - -import ( - server "github.com/cloudwego/kitex/server" - evaluation "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" -) - -// NewServer creates a server.Server with the given handler and options. -func NewServer(handler evaluation.EvalOpenAPIService, opts ...server.Option) server.Server { - var options []server.Option - - options = append(options, opts...) - options = append(options, server.WithCompatibleMiddlewareForUnary()) - - svr := server.NewServer(options...) - if err := svr.RegisterService(serviceInfo(), handler); err != nil { - panic(err) - } - return svr -} - -func RegisterService(svr server.Server, handler evaluation.EvalOpenAPIService, opts ...server.RegisterOption) error { - return svr.RegisterService(serviceInfo(), handler, opts...) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/client.go b/backend/kitex_gen/coze/loop/evaluation/evalspiservice/client.go deleted file mode 100644 index d09738d01..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/client.go +++ /dev/null @@ -1,61 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalspiservice - -import ( - "context" - client "github.com/cloudwego/kitex/client" - callopt "github.com/cloudwego/kitex/client/callopt" - spi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. -type Client interface { - SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest, callOptions ...callopt.Option) (r *spi.SearchEvalTargetResponse, err error) - InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.InvokeEvalTargetResponse, err error) - AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.AsyncInvokeEvalTargetResponse, err error) -} - -// NewClient creates a client for the service defined in IDL. -func NewClient(destService string, opts ...client.Option) (Client, error) { - var options []client.Option - options = append(options, client.WithDestService(destService)) - - options = append(options, opts...) - - kc, err := client.NewClient(serviceInfo(), options...) - if err != nil { - return nil, err - } - return &kEvalSPIServiceClient{ - kClient: newServiceClient(kc), - }, nil -} - -// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. -func MustNewClient(destService string, opts ...client.Option) Client { - kc, err := NewClient(destService, opts...) - if err != nil { - panic(err) - } - return kc -} - -type kEvalSPIServiceClient struct { - *kClient -} - -func (p *kEvalSPIServiceClient) SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest, callOptions ...callopt.Option) (r *spi.SearchEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchEvalTarget(ctx, req) -} - -func (p *kEvalSPIServiceClient) InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.InvokeEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.InvokeEvalTarget(ctx, req) -} - -func (p *kEvalSPIServiceClient) AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.AsyncInvokeEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncInvokeEvalTarget(ctx, req) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/evalspiservice.go b/backend/kitex_gen/coze/loop/evaluation/evalspiservice/evalspiservice.go deleted file mode 100644 index 868956109..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/evalspiservice.go +++ /dev/null @@ -1,168 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evalspiservice - -import ( - "context" - "errors" - client "github.com/cloudwego/kitex/client" - kitex "github.com/cloudwego/kitex/pkg/serviceinfo" - evaluation "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" - spi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -var errInvalidMessageType = errors.New("invalid message type for service method handler") - -var serviceMethods = map[string]kitex.MethodInfo{ - "SearchEvalTarget": kitex.NewMethodInfo( - searchEvalTargetHandler, - newEvaluationSPIServiceSearchEvalTargetArgs, - newEvaluationSPIServiceSearchEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "InvokeEvalTarget": kitex.NewMethodInfo( - invokeEvalTargetHandler, - newEvaluationSPIServiceInvokeEvalTargetArgs, - newEvaluationSPIServiceInvokeEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "AsyncInvokeEvalTarget": kitex.NewMethodInfo( - asyncInvokeEvalTargetHandler, - newEvaluationSPIServiceAsyncInvokeEvalTargetArgs, - newEvaluationSPIServiceAsyncInvokeEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), -} - -var ( - evalSPIServiceServiceInfo = NewServiceInfo() -) - -// for server -func serviceInfo() *kitex.ServiceInfo { - return evalSPIServiceServiceInfo -} - -// NewServiceInfo creates a new ServiceInfo -func NewServiceInfo() *kitex.ServiceInfo { - return newServiceInfo() -} - -func newServiceInfo() *kitex.ServiceInfo { - serviceName := "EvalSPIService" - handlerType := (*evaluation.EvalSPIService)(nil) - extra := map[string]interface{}{ - "PackageName": "evaluation", - } - svcInfo := &kitex.ServiceInfo{ - ServiceName: serviceName, - HandlerType: handlerType, - Methods: serviceMethods, - PayloadCodec: kitex.Thrift, - KiteXGenVersion: "v0.13.1", - Extra: extra, - } - return svcInfo -} - -func searchEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceSearchEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceSearchEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).SearchEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceSearchEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceSearchEvalTargetArgs() -} - -func newEvaluationSPIServiceSearchEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceSearchEvalTargetResult() -} - -func invokeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceInvokeEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceInvokeEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).InvokeEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceInvokeEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceInvokeEvalTargetArgs() -} - -func newEvaluationSPIServiceInvokeEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceInvokeEvalTargetResult() -} - -func asyncInvokeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).AsyncInvokeEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceAsyncInvokeEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceAsyncInvokeEvalTargetArgs() -} - -func newEvaluationSPIServiceAsyncInvokeEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceAsyncInvokeEvalTargetResult() -} - -type kClient struct { - c client.Client - sc client.Streaming -} - -func newServiceClient(c client.Client) *kClient { - return &kClient{ - c: c, - sc: c.(client.Streaming), - } -} - -func (p *kClient) SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest) (r *spi.SearchEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceSearchEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceSearchEvalTargetResult - if err = p.c.Call(ctx, "SearchEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest) (r *spi.InvokeEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceInvokeEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceInvokeEvalTargetResult - if err = p.c.Call(ctx, "InvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest) (r *spi.AsyncInvokeEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult - if err = p.c.Call(ctx, "AsyncInvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/server.go b/backend/kitex_gen/coze/loop/evaluation/evalspiservice/server.go deleted file mode 100644 index b72ed3822..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/evalspiservice/server.go +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. -package evalspiservice - -import ( - server "github.com/cloudwego/kitex/server" - evaluation "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" -) - -// NewServer creates a server.Server with the given handler and options. -func NewServer(handler evaluation.EvalSPIService, opts ...server.Option) server.Server { - var options []server.Option - - options = append(options, opts...) - options = append(options, server.WithCompatibleMiddlewareForUnary()) - - svr := server.NewServer(options...) - if err := svr.RegisterService(serviceInfo(), handler); err != nil { - panic(err) - } - return svr -} - -func RegisterService(svr server.Server, handler evaluation.EvalSPIService, opts ...server.RegisterOption) error { - return svr.RegisterService(serviceInfo(), handler, opts...) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/client.go b/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/client.go index fa938c7d5..c96d8aa0d 100644 --- a/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/client.go +++ b/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/client.go @@ -18,13 +18,9 @@ type Client interface { ListSourceEvalTargets(ctx context.Context, request *eval_target.ListSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetsResponse, err error) ListSourceEvalTargetVersions(ctx context.Context, request *eval_target.ListSourceEvalTargetVersionsRequest, callOptions ...callopt.Option) (r *eval_target.ListSourceEvalTargetVersionsResponse, err error) BatchGetSourceEvalTargets(ctx context.Context, request *eval_target.BatchGetSourceEvalTargetsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetSourceEvalTargetsResponse, err error) - SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) - AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) BatchGetEvalTargetRecords(ctx context.Context, request *eval_target.BatchGetEvalTargetRecordsRequest, callOptions ...callopt.Option) (r *eval_target.BatchGetEvalTargetRecordsResponse, err error) - DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) - AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) } @@ -92,21 +88,11 @@ func (p *kEvalTargetServiceClient) BatchGetSourceEvalTargets(ctx context.Context return p.kClient.BatchGetSourceEvalTargets(ctx, request) } -func (p *kEvalTargetServiceClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchCustomEvalTarget(ctx, req) -} - func (p *kEvalTargetServiceClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.ExecuteEvalTargetResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ExecuteEvalTarget(ctx, request) } -func (p *kEvalTargetServiceClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncExecuteEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (r *eval_target.GetEvalTargetRecordResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.GetEvalTargetRecord(ctx, request) @@ -117,16 +103,6 @@ func (p *kEvalTargetServiceClient) BatchGetEvalTargetRecords(ctx context.Context return p.kClient.BatchGetEvalTargetRecords(ctx, request) } -func (p *kEvalTargetServiceClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.DebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.DebugEvalTarget(ctx, request) -} - -func (p *kEvalTargetServiceClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncDebugEvalTarget(ctx, request) -} - func (p *kEvalTargetServiceClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (r *eval_target.MockEvalTargetOutputResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.MockEvalTargetOutput(ctx, request) diff --git a/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/evaltargetservice.go b/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/evaltargetservice.go index 1caf84f82..b7bf4ae21 100644 --- a/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/evaltargetservice.go +++ b/backend/kitex_gen/coze/loop/evaluation/evaltargetservice/evaltargetservice.go @@ -63,13 +63,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchCustomEvalTarget": kitex.NewMethodInfo( - searchCustomEvalTargetHandler, - newEvalTargetServiceSearchCustomEvalTargetArgs, - newEvalTargetServiceSearchCustomEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ExecuteEvalTarget": kitex.NewMethodInfo( executeEvalTargetHandler, newEvalTargetServiceExecuteEvalTargetArgs, @@ -77,13 +70,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "AsyncExecuteEvalTarget": kitex.NewMethodInfo( - asyncExecuteEvalTargetHandler, - newEvalTargetServiceAsyncExecuteEvalTargetArgs, - newEvalTargetServiceAsyncExecuteEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "GetEvalTargetRecord": kitex.NewMethodInfo( getEvalTargetRecordHandler, newEvalTargetServiceGetEvalTargetRecordArgs, @@ -98,20 +84,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "DebugEvalTarget": kitex.NewMethodInfo( - debugEvalTargetHandler, - newEvalTargetServiceDebugEvalTargetArgs, - newEvalTargetServiceDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "AsyncDebugEvalTarget": kitex.NewMethodInfo( - asyncDebugEvalTargetHandler, - newEvalTargetServiceAsyncDebugEvalTargetArgs, - newEvalTargetServiceAsyncDebugEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "MockEvalTargetOutput": kitex.NewMethodInfo( mockEvalTargetOutputHandler, newEvalTargetServiceMockEvalTargetOutputArgs, @@ -285,25 +257,6 @@ func newEvalTargetServiceBatchGetSourceEvalTargetsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetSourceEvalTargetsResult() } -func searchCustomEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceSearchCustomEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceSearchCustomEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).SearchCustomEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceSearchCustomEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetArgs() -} - -func newEvalTargetServiceSearchCustomEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceSearchCustomEvalTargetResult() -} - func executeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceExecuteEvalTargetArgs) realResult := result.(*eval_target.EvalTargetServiceExecuteEvalTargetResult) @@ -323,25 +276,6 @@ func newEvalTargetServiceExecuteEvalTargetResult() interface{} { return eval_target.NewEvalTargetServiceExecuteEvalTargetResult() } -func asyncExecuteEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncExecuteEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncExecuteEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetArgs() -} - -func newEvalTargetServiceAsyncExecuteEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncExecuteEvalTargetResult() -} - func getEvalTargetRecordHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceGetEvalTargetRecordArgs) realResult := result.(*eval_target.EvalTargetServiceGetEvalTargetRecordResult) @@ -380,44 +314,6 @@ func newEvalTargetServiceBatchGetEvalTargetRecordsResult() interface{} { return eval_target.NewEvalTargetServiceBatchGetEvalTargetRecordsResult() } -func debugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).DebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetArgs() -} - -func newEvalTargetServiceDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceDebugEvalTargetResult() -} - -func asyncDebugEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs) - realResult := result.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetResult) - success, err := handler.(eval_target.EvalTargetService).AsyncDebugEvalTarget(ctx, realArg.Request) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvalTargetServiceAsyncDebugEvalTargetArgs() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetArgs() -} - -func newEvalTargetServiceAsyncDebugEvalTargetResult() interface{} { - return eval_target.NewEvalTargetServiceAsyncDebugEvalTargetResult() -} - func mockEvalTargetOutputHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*eval_target.EvalTargetServiceMockEvalTargetOutputArgs) realResult := result.(*eval_target.EvalTargetServiceMockEvalTargetOutputResult) @@ -519,16 +415,6 @@ func (p *kClient) BatchGetSourceEvalTargets(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceSearchCustomEvalTargetArgs - _args.Req = req - var _result eval_target.EvalTargetServiceSearchCustomEvalTargetResult - if err = p.c.Call(ctx, "SearchCustomEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest) (r *eval_target.ExecuteEvalTargetResponse, err error) { var _args eval_target.EvalTargetServiceExecuteEvalTargetArgs _args.Request = request @@ -539,16 +425,6 @@ func (p *kClient) ExecuteEvalTarget(ctx context.Context, request *eval_target.Ex return _result.GetSuccess(), nil } -func (p *kClient) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult - if err = p.c.Call(ctx, "AsyncExecuteEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest) (r *eval_target.GetEvalTargetRecordResponse, err error) { var _args eval_target.EvalTargetServiceGetEvalTargetRecordArgs _args.Request = request @@ -569,26 +445,6 @@ func (p *kClient) BatchGetEvalTargetRecords(ctx context.Context, request *eval_t return _result.GetSuccess(), nil } -func (p *kClient) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest) (r *eval_target.DebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceDebugEvalTargetResult - if err = p.c.Call(ctx, "DebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - var _args eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs - _args.Request = request - var _result eval_target.EvalTargetServiceAsyncDebugEvalTargetResult - if err = p.c.Call(ctx, "AsyncDebugEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest) (r *eval_target.MockEvalTargetOutputResponse, err error) { var _args eval_target.EvalTargetServiceMockEvalTargetOutputArgs _args.Request = request diff --git a/backend/kitex_gen/coze/loop/evaluation/k-coze.loop.evaluation.go b/backend/kitex_gen/coze/loop/evaluation/k-coze.loop.evaluation.go index 0281654a0..902326619 100644 --- a/backend/kitex_gen/coze/loop/evaluation/k-coze.loop.evaluation.go +++ b/backend/kitex_gen/coze/loop/evaluation/k-coze.loop.evaluation.go @@ -14,8 +14,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/evaluator" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/expt" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" ) var ( @@ -23,8 +21,6 @@ var ( _ = eval_target.KitexUnusedProtection _ = evaluator.KitexUnusedProtection _ = expt.KitexUnusedProtection - _ = openapi.KitexUnusedProtection - _ = spi.KitexUnusedProtection ) // unused protection diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi.go b/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi.go deleted file mode 100644 index 65c9cb601..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi.go +++ /dev/null @@ -1,1356 +0,0 @@ -// Code generated by thriftgo (0.4.1). DO NOT EDIT. - -package openapi - -import ( - "context" - "fmt" - "github.com/apache/thrift/lib/go/thrift" - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" - "strings" -) - -type ReportEvalTargetInvokeResultRequest struct { - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" json:"workspace_id" form:"workspace_id" query:"workspace_id"` - InvokeID *int64 `thrift:"invoke_id,2,optional" frugal:"2,optional,i64" json:"invoke_id" form:"invoke_id" query:"invoke_id"` - Status *spi.InvokeEvalTargetStatus `thrift:"status,3,optional" frugal:"3,optional,InvokeEvalTargetStatus" form:"status" json:"status,omitempty" query:"status"` - Callee *string `thrift:"callee,4,optional" frugal:"4,optional,string" form:"callee" json:"callee,omitempty" query:"callee"` - // set output if status=SUCCESS - Output *spi.InvokeEvalTargetOutput `thrift:"output,10,optional" frugal:"10,optional,spi.InvokeEvalTargetOutput" form:"output" json:"output,omitempty" query:"output"` - // set output if status=SUCCESS - Usage *spi.InvokeEvalTargetUsage `thrift:"usage,11,optional" frugal:"11,optional,spi.InvokeEvalTargetUsage" form:"usage" json:"usage,omitempty" query:"usage"` - // set error_message if status=FAILED - ErrorMessage *string `thrift:"error_message,20,optional" frugal:"20,optional,string" form:"error_message" json:"error_message,omitempty" query:"error_message"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewReportEvalTargetInvokeResultRequest() *ReportEvalTargetInvokeResultRequest { - return &ReportEvalTargetInvokeResultRequest{} -} - -func (p *ReportEvalTargetInvokeResultRequest) InitDefault() { -} - -var ReportEvalTargetInvokeResultRequest_WorkspaceID_DEFAULT int64 - -func (p *ReportEvalTargetInvokeResultRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return ReportEvalTargetInvokeResultRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var ReportEvalTargetInvokeResultRequest_InvokeID_DEFAULT int64 - -func (p *ReportEvalTargetInvokeResultRequest) GetInvokeID() (v int64) { - if p == nil { - return - } - if !p.IsSetInvokeID() { - return ReportEvalTargetInvokeResultRequest_InvokeID_DEFAULT - } - return *p.InvokeID -} - -var ReportEvalTargetInvokeResultRequest_Status_DEFAULT spi.InvokeEvalTargetStatus - -func (p *ReportEvalTargetInvokeResultRequest) GetStatus() (v spi.InvokeEvalTargetStatus) { - if p == nil { - return - } - if !p.IsSetStatus() { - return ReportEvalTargetInvokeResultRequest_Status_DEFAULT - } - return *p.Status -} - -var ReportEvalTargetInvokeResultRequest_Callee_DEFAULT string - -func (p *ReportEvalTargetInvokeResultRequest) GetCallee() (v string) { - if p == nil { - return - } - if !p.IsSetCallee() { - return ReportEvalTargetInvokeResultRequest_Callee_DEFAULT - } - return *p.Callee -} - -var ReportEvalTargetInvokeResultRequest_Output_DEFAULT *spi.InvokeEvalTargetOutput - -func (p *ReportEvalTargetInvokeResultRequest) GetOutput() (v *spi.InvokeEvalTargetOutput) { - if p == nil { - return - } - if !p.IsSetOutput() { - return ReportEvalTargetInvokeResultRequest_Output_DEFAULT - } - return p.Output -} - -var ReportEvalTargetInvokeResultRequest_Usage_DEFAULT *spi.InvokeEvalTargetUsage - -func (p *ReportEvalTargetInvokeResultRequest) GetUsage() (v *spi.InvokeEvalTargetUsage) { - if p == nil { - return - } - if !p.IsSetUsage() { - return ReportEvalTargetInvokeResultRequest_Usage_DEFAULT - } - return p.Usage -} - -var ReportEvalTargetInvokeResultRequest_ErrorMessage_DEFAULT string - -func (p *ReportEvalTargetInvokeResultRequest) GetErrorMessage() (v string) { - if p == nil { - return - } - if !p.IsSetErrorMessage() { - return ReportEvalTargetInvokeResultRequest_ErrorMessage_DEFAULT - } - return *p.ErrorMessage -} - -var ReportEvalTargetInvokeResultRequest_Base_DEFAULT *base.Base - -func (p *ReportEvalTargetInvokeResultRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return ReportEvalTargetInvokeResultRequest_Base_DEFAULT - } - return p.Base -} -func (p *ReportEvalTargetInvokeResultRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetInvokeID(val *int64) { - p.InvokeID = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetStatus(val *spi.InvokeEvalTargetStatus) { - p.Status = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetCallee(val *string) { - p.Callee = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetOutput(val *spi.InvokeEvalTargetOutput) { - p.Output = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetUsage(val *spi.InvokeEvalTargetUsage) { - p.Usage = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetErrorMessage(val *string) { - p.ErrorMessage = val -} -func (p *ReportEvalTargetInvokeResultRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_ReportEvalTargetInvokeResultRequest = map[int16]string{ - 1: "workspace_id", - 2: "invoke_id", - 3: "status", - 4: "callee", - 10: "output", - 11: "usage", - 20: "error_message", - 255: "Base", -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetInvokeID() bool { - return p.InvokeID != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetStatus() bool { - return p.Status != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetCallee() bool { - return p.Callee != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetOutput() bool { - return p.Output != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetUsage() bool { - return p.Usage != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetErrorMessage() bool { - return p.ErrorMessage != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *ReportEvalTargetInvokeResultRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.I32 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.STRING { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 11: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField11(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 20: - if fieldTypeId == thrift.STRING { - if err = p.ReadField20(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReportEvalTargetInvokeResultRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.InvokeID = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field *spi.InvokeEvalTargetStatus - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - tmp := spi.InvokeEvalTargetStatus(v) - _field = &tmp - } - p.Status = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField4(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Callee = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField10(iprot thrift.TProtocol) error { - _field := spi.NewInvokeEvalTargetOutput() - if err := _field.Read(iprot); err != nil { - return err - } - p.Output = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField11(iprot thrift.TProtocol) error { - _field := spi.NewInvokeEvalTargetUsage() - if err := _field.Read(iprot); err != nil { - return err - } - p.Usage = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField20(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ErrorMessage = _field - return nil -} -func (p *ReportEvalTargetInvokeResultRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *ReportEvalTargetInvokeResultRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ReportEvalTargetInvokeResultRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField11(oprot); err != nil { - fieldId = 11 - goto WriteFieldError - } - if err = p.writeField20(oprot); err != nil { - fieldId = 20 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetInvokeID() { - if err = oprot.WriteFieldBegin("invoke_id", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.InvokeID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetStatus() { - if err = oprot.WriteFieldBegin("status", thrift.I32, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(*p.Status)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetCallee() { - if err = oprot.WriteFieldBegin("callee", thrift.STRING, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Callee); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetOutput() { - if err = oprot.WriteFieldBegin("output", thrift.STRUCT, 10); err != nil { - goto WriteFieldBeginError - } - if err := p.Output.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField11(oprot thrift.TProtocol) (err error) { - if p.IsSetUsage() { - if err = oprot.WriteFieldBegin("usage", thrift.STRUCT, 11); err != nil { - goto WriteFieldBeginError - } - if err := p.Usage.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField20(oprot thrift.TProtocol) (err error) { - if p.IsSetErrorMessage() { - if err = oprot.WriteFieldBegin("error_message", thrift.STRING, 20); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ErrorMessage); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) -} -func (p *ReportEvalTargetInvokeResultRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ReportEvalTargetInvokeResultRequest(%+v)", *p) - -} - -func (p *ReportEvalTargetInvokeResultRequest) DeepEqual(ano *ReportEvalTargetInvokeResultRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.InvokeID) { - return false - } - if !p.Field3DeepEqual(ano.Status) { - return false - } - if !p.Field4DeepEqual(ano.Callee) { - return false - } - if !p.Field10DeepEqual(ano.Output) { - return false - } - if !p.Field11DeepEqual(ano.Usage) { - return false - } - if !p.Field20DeepEqual(ano.ErrorMessage) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *ReportEvalTargetInvokeResultRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field2DeepEqual(src *int64) bool { - - if p.InvokeID == src { - return true - } else if p.InvokeID == nil || src == nil { - return false - } - if *p.InvokeID != *src { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field3DeepEqual(src *spi.InvokeEvalTargetStatus) bool { - - if p.Status == src { - return true - } else if p.Status == nil || src == nil { - return false - } - if *p.Status != *src { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field4DeepEqual(src *string) bool { - - if p.Callee == src { - return true - } else if p.Callee == nil || src == nil { - return false - } - if strings.Compare(*p.Callee, *src) != 0 { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field10DeepEqual(src *spi.InvokeEvalTargetOutput) bool { - - if !p.Output.DeepEqual(src) { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field11DeepEqual(src *spi.InvokeEvalTargetUsage) bool { - - if !p.Usage.DeepEqual(src) { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field20DeepEqual(src *string) bool { - - if p.ErrorMessage == src { - return true - } else if p.ErrorMessage == nil || src == nil { - return false - } - if strings.Compare(*p.ErrorMessage, *src) != 0 { - return false - } - return true -} -func (p *ReportEvalTargetInvokeResultRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type ReportEvalTargetInvokeResultResponse struct { - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` -} - -func NewReportEvalTargetInvokeResultResponse() *ReportEvalTargetInvokeResultResponse { - return &ReportEvalTargetInvokeResultResponse{} -} - -func (p *ReportEvalTargetInvokeResultResponse) InitDefault() { -} - -var ReportEvalTargetInvokeResultResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ReportEvalTargetInvokeResultResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return ReportEvalTargetInvokeResultResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *ReportEvalTargetInvokeResultResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_ReportEvalTargetInvokeResultResponse = map[int16]string{ - 255: "BaseResp", -} - -func (p *ReportEvalTargetInvokeResultResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *ReportEvalTargetInvokeResultResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReportEvalTargetInvokeResultResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *ReportEvalTargetInvokeResultResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ReportEvalTargetInvokeResultResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *ReportEvalTargetInvokeResultResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ReportEvalTargetInvokeResultResponse(%+v)", *p) - -} - -func (p *ReportEvalTargetInvokeResultResponse) DeepEqual(ano *ReportEvalTargetInvokeResultResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *ReportEvalTargetInvokeResultResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type EvaluationOpenAPIService interface { - ReportEvalTargetInvokeResult_(ctx context.Context, req *ReportEvalTargetInvokeResultRequest) (r *ReportEvalTargetInvokeResultResponse, err error) -} - -type EvaluationOpenAPIServiceClient struct { - c thrift.TClient -} - -func NewEvaluationOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvaluationOpenAPIServiceClient { - return &EvaluationOpenAPIServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), - } -} - -func NewEvaluationOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvaluationOpenAPIServiceClient { - return &EvaluationOpenAPIServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), - } -} - -func NewEvaluationOpenAPIServiceClient(c thrift.TClient) *EvaluationOpenAPIServiceClient { - return &EvaluationOpenAPIServiceClient{ - c: c, - } -} - -func (p *EvaluationOpenAPIServiceClient) Client_() thrift.TClient { - return p.c -} - -func (p *EvaluationOpenAPIServiceClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *ReportEvalTargetInvokeResultRequest) (r *ReportEvalTargetInvokeResultResponse, err error) { - var _args EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs - _args.Req = req - var _result EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult - if err = p.Client_().Call(ctx, "ReportEvalTargetInvokeResult", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -type EvaluationOpenAPIServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler EvaluationOpenAPIService -} - -func (p *EvaluationOpenAPIServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor -} - -func (p *EvaluationOpenAPIServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok -} - -func (p *EvaluationOpenAPIServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap -} - -func NewEvaluationOpenAPIServiceProcessor(handler EvaluationOpenAPIService) *EvaluationOpenAPIServiceProcessor { - self := &EvaluationOpenAPIServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("ReportEvalTargetInvokeResult", &evaluationOpenAPIServiceProcessorReportEvalTargetInvokeResult_{handler: handler}) - return self -} -func (p *EvaluationOpenAPIServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) - } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} - -type evaluationOpenAPIServiceProcessorReportEvalTargetInvokeResult_ struct { - handler EvaluationOpenAPIService -} - -func (p *evaluationOpenAPIServiceProcessorReportEvalTargetInvokeResult_) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ReportEvalTargetInvokeResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult{} - var retval *ReportEvalTargetInvokeResultResponse - if retval, err2 = p.handler.ReportEvalTargetInvokeResult_(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ReportEvalTargetInvokeResult: "+err2.Error()) - oprot.WriteMessageBegin("ReportEvalTargetInvokeResult", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ReportEvalTargetInvokeResult", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs struct { - Req *ReportEvalTargetInvokeResultRequest `thrift:"req,1" frugal:"1,default,ReportEvalTargetInvokeResultRequest"` -} - -func NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs { - return &EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs{} -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) InitDefault() { -} - -var EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs_Req_DEFAULT *ReportEvalTargetInvokeResultRequest - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) GetReq() (v *ReportEvalTargetInvokeResultRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs_Req_DEFAULT - } - return p.Req -} -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) SetReq(val *ReportEvalTargetInvokeResultRequest) { - p.Req = val -} - -var fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs = map[int16]string{ - 1: "req", -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewReportEvalTargetInvokeResultRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Req = _field - return nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ReportEvalTargetInvokeResult_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Req.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs(%+v)", *p) - -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) DeepEqual(ano *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false - } - return true -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) Field1DeepEqual(src *ReportEvalTargetInvokeResultRequest) bool { - - if !p.Req.DeepEqual(src) { - return false - } - return true -} - -type EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult struct { - Success *ReportEvalTargetInvokeResultResponse `thrift:"success,0,optional" frugal:"0,optional,ReportEvalTargetInvokeResultResponse"` -} - -func NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult { - return &EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult{} -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) InitDefault() { -} - -var EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult_Success_DEFAULT *ReportEvalTargetInvokeResultResponse - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) GetSuccess() (v *ReportEvalTargetInvokeResultResponse) { - if p == nil { - return - } - if !p.IsSetSuccess() { - return EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult_Success_DEFAULT - } - return p.Success -} -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) SetSuccess(x interface{}) { - p.Success = x.(*ReportEvalTargetInvokeResultResponse) -} - -var fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult = map[int16]string{ - 0: "success", -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewReportEvalTargetInvokeResultResponse() - if err := _field.Read(iprot); err != nil { - return err - } - p.Success = _field - return nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ReportEvalTargetInvokeResult_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult(%+v)", *p) - -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) DeepEqual(ano *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false - } - return true -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) Field0DeepEqual(src *ReportEvalTargetInvokeResultResponse) bool { - - if !p.Success.DeepEqual(src) { - return false - } - return true -} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi_validator.go b/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi_validator.go deleted file mode 100644 index 25999bd66..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/coze.loop.evaluation.openapi_validator.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Validator v0.2.6. DO NOT EDIT. - -package openapi - -import ( - "bytes" - "fmt" - "reflect" - "regexp" - "strings" - "time" -) - -// unused protection -var ( - _ = fmt.Formatter(nil) - _ = (*bytes.Buffer)(nil) - _ = (*strings.Builder)(nil) - _ = reflect.Type(nil) - _ = (*regexp.Regexp)(nil) - _ = time.Nanosecond -) - -func (p *ReportEvalTargetInvokeResultRequest) IsValid() error { - if p.Output != nil { - if err := p.Output.IsValid(); err != nil { - return fmt.Errorf("field Output not valid, %w", err) - } - } - if p.Usage != nil { - if err := p.Usage.IsValid(); err != nil { - return fmt.Errorf("field Usage not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *ReportEvalTargetInvokeResultResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/client.go b/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/client.go deleted file mode 100644 index 16ab1f6bf..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evaluationopenapiservice - -import ( - "context" - client "github.com/cloudwego/kitex/client" - callopt "github.com/cloudwego/kitex/client/callopt" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. -type Client interface { - ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) -} - -// NewClient creates a client for the service defined in IDL. -func NewClient(destService string, opts ...client.Option) (Client, error) { - var options []client.Option - options = append(options, client.WithDestService(destService)) - - options = append(options, opts...) - - kc, err := client.NewClient(serviceInfo(), options...) - if err != nil { - return nil, err - } - return &kEvaluationOpenAPIServiceClient{ - kClient: newServiceClient(kc), - }, nil -} - -// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. -func MustNewClient(destService string, opts ...client.Option) Client { - kc, err := NewClient(destService, opts...) - if err != nil { - panic(err) - } - return kc -} - -type kEvaluationOpenAPIServiceClient struct { - *kClient -} - -func (p *kEvaluationOpenAPIServiceClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.ReportEvalTargetInvokeResult_(ctx, req) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/evaluationopenapiservice.go b/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/evaluationopenapiservice.go deleted file mode 100644 index a580b0276..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/evaluationopenapiservice.go +++ /dev/null @@ -1,95 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evaluationopenapiservice - -import ( - "context" - "errors" - client "github.com/cloudwego/kitex/client" - kitex "github.com/cloudwego/kitex/pkg/serviceinfo" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -var errInvalidMessageType = errors.New("invalid message type for service method handler") - -var serviceMethods = map[string]kitex.MethodInfo{ - "ReportEvalTargetInvokeResult": kitex.NewMethodInfo( - reportEvalTargetInvokeResult_Handler, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs, - newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), -} - -var ( - evaluationOpenAPIServiceServiceInfo = NewServiceInfo() -) - -// for server -func serviceInfo() *kitex.ServiceInfo { - return evaluationOpenAPIServiceServiceInfo -} - -// NewServiceInfo creates a new ServiceInfo -func NewServiceInfo() *kitex.ServiceInfo { - return newServiceInfo() -} - -func newServiceInfo() *kitex.ServiceInfo { - serviceName := "EvaluationOpenAPIService" - handlerType := (*openapi.EvaluationOpenAPIService)(nil) - extra := map[string]interface{}{ - "PackageName": "openapi", - } - svcInfo := &kitex.ServiceInfo{ - ServiceName: serviceName, - HandlerType: handlerType, - Methods: serviceMethods, - PayloadCodec: kitex.Thrift, - KiteXGenVersion: "v0.13.1", - Extra: extra, - } - return svcInfo -} - -func reportEvalTargetInvokeResult_Handler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) - realResult := result.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) - success, err := handler.(openapi.EvaluationOpenAPIService).ReportEvalTargetInvokeResult_(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs() -} - -func newEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() interface{} { - return openapi.NewEvaluationOpenAPIServiceReportEvalTargetInvokeResultResult() -} - -type kClient struct { - c client.Client - sc client.Streaming -} - -func newServiceClient(c client.Client) *kClient { - return &kClient{ - c: c, - sc: c.(client.Streaming), - } -} - -func (p *kClient) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - var _args openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs - _args.Req = req - var _result openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult - if err = p.c.Call(ctx, "ReportEvalTargetInvokeResult", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/server.go b/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/server.go deleted file mode 100644 index 6f5cc6a25..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/evaluationopenapiservice/server.go +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. -package evaluationopenapiservice - -import ( - server "github.com/cloudwego/kitex/server" - openapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -// NewServer creates a server.Server with the given handler and options. -func NewServer(handler openapi.EvaluationOpenAPIService, opts ...server.Option) server.Server { - var options []server.Option - - options = append(options, opts...) - options = append(options, server.WithCompatibleMiddlewareForUnary()) - - svr := server.NewServer(options...) - if err := svr.RegisterService(serviceInfo(), handler); err != nil { - panic(err) - } - return svr -} - -func RegisterService(svr server.Server, handler openapi.EvaluationOpenAPIService, opts ...server.RegisterOption) error { - return svr.RegisterService(serviceInfo(), handler, opts...) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/k-consts.go b/backend/kitex_gen/coze/loop/evaluation/openapi/k-consts.go deleted file mode 100644 index c6e6b68d1..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/k-consts.go +++ /dev/null @@ -1,4 +0,0 @@ -package openapi - -// KitexUnusedProtection is used to prevent 'imported and not used' error. -var KitexUnusedProtection = struct{}{} diff --git a/backend/kitex_gen/coze/loop/evaluation/openapi/k-coze.loop.evaluation.openapi.go b/backend/kitex_gen/coze/loop/evaluation/openapi/k-coze.loop.evaluation.openapi.go deleted file mode 100644 index 81d5fc56d..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/openapi/k-coze.loop.evaluation.openapi.go +++ /dev/null @@ -1,889 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package openapi - -import ( - "bytes" - "fmt" - "reflect" - "strings" - - "github.com/cloudwego/gopkg/protocol/thrift" - kutils "github.com/cloudwego/kitex/pkg/utils" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -var ( - _ = base.KitexUnusedProtection - _ = spi.KitexUnusedProtection -) - -// unused protection -var ( - _ = fmt.Formatter(nil) - _ = (*bytes.Buffer)(nil) - _ = (*strings.Builder)(nil) - _ = reflect.Type(nil) - _ = thrift.STOP -) - -func (p *ReportEvalTargetInvokeResultRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 4: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 11: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField11(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 20: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField20(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReportEvalTargetInvokeResultRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.InvokeID = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field *spi.InvokeEvalTargetStatus - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - - tmp := spi.InvokeEvalTargetStatus(v) - _field = &tmp - } - p.Status = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Callee = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - _field := spi.NewInvokeEvalTargetOutput() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Output = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField11(buf []byte) (int, error) { - offset := 0 - _field := spi.NewInvokeEvalTargetUsage() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Usage = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField20(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ErrorMessage = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *ReportEvalTargetInvokeResultRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField11(buf[offset:], w) - offset += p.fastWriteField20(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field4Length() - l += p.field10Length() - l += p.field11Length() - l += p.field20Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInvokeID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) - offset += thrift.Binary.WriteI64(buf[offset:], *p.InvokeID) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetStatus() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 3) - offset += thrift.Binary.WriteI32(buf[offset:], int32(*p.Status)) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCallee() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 4) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Callee) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetOutput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 10) - offset += p.Output.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField11(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetUsage() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 11) - offset += p.Usage.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetErrorMessage() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 20) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ErrorMessage) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *ReportEvalTargetInvokeResultRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field2Length() int { - l := 0 - if p.IsSetInvokeID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field3Length() int { - l := 0 - if p.IsSetStatus() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field4Length() int { - l := 0 - if p.IsSetCallee() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Callee) - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field10Length() int { - l := 0 - if p.IsSetOutput() { - l += thrift.Binary.FieldBeginLength() - l += p.Output.BLength() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field11Length() int { - l := 0 - if p.IsSetUsage() { - l += thrift.Binary.FieldBeginLength() - l += p.Usage.BLength() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field20Length() int { - l := 0 - if p.IsSetErrorMessage() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ErrorMessage) - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *ReportEvalTargetInvokeResultRequest) DeepCopy(s interface{}) error { - src, ok := s.(*ReportEvalTargetInvokeResultRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.InvokeID != nil { - tmp := *src.InvokeID - p.InvokeID = &tmp - } - - if src.Status != nil { - tmp := *src.Status - p.Status = &tmp - } - - if src.Callee != nil { - var tmp string - if *src.Callee != "" { - tmp = kutils.StringDeepCopy(*src.Callee) - } - p.Callee = &tmp - } - - var _output *spi.InvokeEvalTargetOutput - if src.Output != nil { - _output = &spi.InvokeEvalTargetOutput{} - if err := _output.DeepCopy(src.Output); err != nil { - return err - } - } - p.Output = _output - - var _usage *spi.InvokeEvalTargetUsage - if src.Usage != nil { - _usage = &spi.InvokeEvalTargetUsage{} - if err := _usage.DeepCopy(src.Usage); err != nil { - return err - } - } - p.Usage = _usage - - if src.ErrorMessage != nil { - var tmp string - if *src.ErrorMessage != "" { - tmp = kutils.StringDeepCopy(*src.ErrorMessage) - } - p.ErrorMessage = &tmp - } - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *ReportEvalTargetInvokeResultResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ReportEvalTargetInvokeResultResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *ReportEvalTargetInvokeResultResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *ReportEvalTargetInvokeResultResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *ReportEvalTargetInvokeResultResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *ReportEvalTargetInvokeResultResponse) BLength() int { - l := 0 - if p != nil { - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *ReportEvalTargetInvokeResultResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *ReportEvalTargetInvokeResultResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *ReportEvalTargetInvokeResultResponse) DeepCopy(s interface{}) error { - src, ok := s.(*ReportEvalTargetInvokeResultResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewReportEvalTargetInvokeResultRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *ReportEvalTargetInvokeResultRequest - if src.Req != nil { - _req = &ReportEvalTargetInvokeResultRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewReportEvalTargetInvokeResultResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *ReportEvalTargetInvokeResultResponse - if src.Success != nil { - _success = &ReportEvalTargetInvokeResultResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) GetResult() interface{} { - return p.Success -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi.go b/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi.go deleted file mode 100644 index b51b5e25d..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi.go +++ /dev/null @@ -1,5672 +0,0 @@ -// Code generated by thriftgo (0.4.1). DO NOT EDIT. - -package spi - -import ( - "context" - "database/sql" - "database/sql/driver" - "fmt" - "github.com/apache/thrift/lib/go/thrift" - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "strings" -) - -const ( - ContentTypeText = "text" - - ContentTypeImage = "image" - - ContentTypeMultiPart = "multi_part" -) - -type InvokeEvalTargetStatus int64 - -const ( - InvokeEvalTargetStatus_UNKNOWN InvokeEvalTargetStatus = 0 - InvokeEvalTargetStatus_SUCCESS InvokeEvalTargetStatus = 1 - InvokeEvalTargetStatus_FAILED InvokeEvalTargetStatus = 2 -) - -func (p InvokeEvalTargetStatus) String() string { - switch p { - case InvokeEvalTargetStatus_UNKNOWN: - return "UNKNOWN" - case InvokeEvalTargetStatus_SUCCESS: - return "SUCCESS" - case InvokeEvalTargetStatus_FAILED: - return "FAILED" - } - return "" -} - -func InvokeEvalTargetStatusFromString(s string) (InvokeEvalTargetStatus, error) { - switch s { - case "UNKNOWN": - return InvokeEvalTargetStatus_UNKNOWN, nil - case "SUCCESS": - return InvokeEvalTargetStatus_SUCCESS, nil - case "FAILED": - return InvokeEvalTargetStatus_FAILED, nil - } - return InvokeEvalTargetStatus(0), fmt.Errorf("not a valid InvokeEvalTargetStatus string") -} - -func InvokeEvalTargetStatusPtr(v InvokeEvalTargetStatus) *InvokeEvalTargetStatus { return &v } -func (p *InvokeEvalTargetStatus) Scan(value interface{}) (err error) { - var result sql.NullInt64 - err = result.Scan(value) - *p = InvokeEvalTargetStatus(result.Int64) - return -} - -func (p *InvokeEvalTargetStatus) Value() (driver.Value, error) { - if p == nil { - return nil, nil - } - return int64(*p), nil -} - -type ContentType = string - -type SearchEvalTargetRequest struct { - // 空间id - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" form:"workspace_id" json:"workspace_id,omitempty" query:"workspace_id"` - // 搜索关键字,如需使用请用户自行实现 - Keyword *string `thrift:"keyword,2,optional" frugal:"2,optional,string" form:"keyword" json:"keyword,omitempty" query:"keyword"` - // 扩展字段:目前会透传regoin和空间id信息,key名如下:search_region、search_space_id - Ext map[string]string `thrift:"ext,20,optional" frugal:"20,optional,map" form:"ext" json:"ext,omitempty" query:"ext"` - PageSize *int32 `thrift:"page_size,100,optional" frugal:"100,optional,i32" form:"page_size" json:"page_size,omitempty" query:"page_size"` - PageToken *string `thrift:"page_token,101,optional" frugal:"101,optional,string" form:"page_token" json:"page_token,omitempty" query:"page_token"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewSearchEvalTargetRequest() *SearchEvalTargetRequest { - return &SearchEvalTargetRequest{} -} - -func (p *SearchEvalTargetRequest) InitDefault() { -} - -var SearchEvalTargetRequest_WorkspaceID_DEFAULT int64 - -func (p *SearchEvalTargetRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return SearchEvalTargetRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var SearchEvalTargetRequest_Keyword_DEFAULT string - -func (p *SearchEvalTargetRequest) GetKeyword() (v string) { - if p == nil { - return - } - if !p.IsSetKeyword() { - return SearchEvalTargetRequest_Keyword_DEFAULT - } - return *p.Keyword -} - -var SearchEvalTargetRequest_Ext_DEFAULT map[string]string - -func (p *SearchEvalTargetRequest) GetExt() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetExt() { - return SearchEvalTargetRequest_Ext_DEFAULT - } - return p.Ext -} - -var SearchEvalTargetRequest_PageSize_DEFAULT int32 - -func (p *SearchEvalTargetRequest) GetPageSize() (v int32) { - if p == nil { - return - } - if !p.IsSetPageSize() { - return SearchEvalTargetRequest_PageSize_DEFAULT - } - return *p.PageSize -} - -var SearchEvalTargetRequest_PageToken_DEFAULT string - -func (p *SearchEvalTargetRequest) GetPageToken() (v string) { - if p == nil { - return - } - if !p.IsSetPageToken() { - return SearchEvalTargetRequest_PageToken_DEFAULT - } - return *p.PageToken -} - -var SearchEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *SearchEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return SearchEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *SearchEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *SearchEvalTargetRequest) SetKeyword(val *string) { - p.Keyword = val -} -func (p *SearchEvalTargetRequest) SetExt(val map[string]string) { - p.Ext = val -} -func (p *SearchEvalTargetRequest) SetPageSize(val *int32) { - p.PageSize = val -} -func (p *SearchEvalTargetRequest) SetPageToken(val *string) { - p.PageToken = val -} -func (p *SearchEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_SearchEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "keyword", - 20: "ext", - 100: "page_size", - 101: "page_token", - 255: "Base", -} - -func (p *SearchEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *SearchEvalTargetRequest) IsSetKeyword() bool { - return p.Keyword != nil -} - -func (p *SearchEvalTargetRequest) IsSetExt() bool { - return p.Ext != nil -} - -func (p *SearchEvalTargetRequest) IsSetPageSize() bool { - return p.PageSize != nil -} - -func (p *SearchEvalTargetRequest) IsSetPageToken() bool { - return p.PageToken != nil -} - -func (p *SearchEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *SearchEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 20: - if fieldTypeId == thrift.MAP { - if err = p.ReadField20(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 100: - if fieldTypeId == thrift.I32 { - if err = p.ReadField100(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 101: - if fieldTypeId == thrift.STRING { - if err = p.ReadField101(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchEvalTargetRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *SearchEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *SearchEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Keyword = _field - return nil -} -func (p *SearchEvalTargetRequest) ReadField20(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.Ext = _field - return nil -} -func (p *SearchEvalTargetRequest) ReadField100(iprot thrift.TProtocol) error { - - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v - } - p.PageSize = _field - return nil -} -func (p *SearchEvalTargetRequest) ReadField101(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PageToken = _field - return nil -} -func (p *SearchEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *SearchEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SearchEvalTargetRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField20(oprot); err != nil { - fieldId = 20 - goto WriteFieldError - } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 - goto WriteFieldError - } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *SearchEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *SearchEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetKeyword() { - if err = oprot.WriteFieldBegin("keyword", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Keyword); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *SearchEvalTargetRequest) writeField20(oprot thrift.TProtocol) (err error) { - if p.IsSetExt() { - if err = oprot.WriteFieldBegin("ext", thrift.MAP, 20); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Ext)); err != nil { - return err - } - for k, v := range p.Ext { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) -} -func (p *SearchEvalTargetRequest) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetPageSize() { - if err = oprot.WriteFieldBegin("page_size", thrift.I32, 100); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(*p.PageSize); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) -} -func (p *SearchEvalTargetRequest) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetPageToken() { - if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) -} -func (p *SearchEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *SearchEvalTargetRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("SearchEvalTargetRequest(%+v)", *p) - -} - -func (p *SearchEvalTargetRequest) DeepEqual(ano *SearchEvalTargetRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.Keyword) { - return false - } - if !p.Field20DeepEqual(ano.Ext) { - return false - } - if !p.Field100DeepEqual(ano.PageSize) { - return false - } - if !p.Field101DeepEqual(ano.PageToken) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *SearchEvalTargetRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *SearchEvalTargetRequest) Field2DeepEqual(src *string) bool { - - if p.Keyword == src { - return true - } else if p.Keyword == nil || src == nil { - return false - } - if strings.Compare(*p.Keyword, *src) != 0 { - return false - } - return true -} -func (p *SearchEvalTargetRequest) Field20DeepEqual(src map[string]string) bool { - - if len(p.Ext) != len(src) { - return false - } - for k, v := range p.Ext { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} -func (p *SearchEvalTargetRequest) Field100DeepEqual(src *int32) bool { - - if p.PageSize == src { - return true - } else if p.PageSize == nil || src == nil { - return false - } - if *p.PageSize != *src { - return false - } - return true -} -func (p *SearchEvalTargetRequest) Field101DeepEqual(src *string) bool { - - if p.PageToken == src { - return true - } else if p.PageToken == nil || src == nil { - return false - } - if strings.Compare(*p.PageToken, *src) != 0 { - return false - } - return true -} -func (p *SearchEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type SearchEvalTargetResponse struct { - CustomEvalTargets []*CustomEvalTarget `thrift:"custom_eval_targets,1,optional" frugal:"1,optional,list" form:"custom_eval_targets" json:"custom_eval_targets,omitempty" query:"custom_eval_targets"` - NextPageToken *string `thrift:"next_page_token,100,optional" frugal:"100,optional,string" form:"next_page_token" json:"next_page_token,omitempty" query:"next_page_token"` - HasMore *bool `thrift:"has_more,101,optional" frugal:"101,optional,bool" form:"has_more" json:"has_more,omitempty" query:"has_more"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"-" json:"-" query:"-"` -} - -func NewSearchEvalTargetResponse() *SearchEvalTargetResponse { - return &SearchEvalTargetResponse{} -} - -func (p *SearchEvalTargetResponse) InitDefault() { -} - -var SearchEvalTargetResponse_CustomEvalTargets_DEFAULT []*CustomEvalTarget - -func (p *SearchEvalTargetResponse) GetCustomEvalTargets() (v []*CustomEvalTarget) { - if p == nil { - return - } - if !p.IsSetCustomEvalTargets() { - return SearchEvalTargetResponse_CustomEvalTargets_DEFAULT - } - return p.CustomEvalTargets -} - -var SearchEvalTargetResponse_NextPageToken_DEFAULT string - -func (p *SearchEvalTargetResponse) GetNextPageToken() (v string) { - if p == nil { - return - } - if !p.IsSetNextPageToken() { - return SearchEvalTargetResponse_NextPageToken_DEFAULT - } - return *p.NextPageToken -} - -var SearchEvalTargetResponse_HasMore_DEFAULT bool - -func (p *SearchEvalTargetResponse) GetHasMore() (v bool) { - if p == nil { - return - } - if !p.IsSetHasMore() { - return SearchEvalTargetResponse_HasMore_DEFAULT - } - return *p.HasMore -} - -var SearchEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *SearchEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return SearchEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *SearchEvalTargetResponse) SetCustomEvalTargets(val []*CustomEvalTarget) { - p.CustomEvalTargets = val -} -func (p *SearchEvalTargetResponse) SetNextPageToken(val *string) { - p.NextPageToken = val -} -func (p *SearchEvalTargetResponse) SetHasMore(val *bool) { - p.HasMore = val -} -func (p *SearchEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_SearchEvalTargetResponse = map[int16]string{ - 1: "custom_eval_targets", - 100: "next_page_token", - 101: "has_more", - 255: "BaseResp", -} - -func (p *SearchEvalTargetResponse) IsSetCustomEvalTargets() bool { - return p.CustomEvalTargets != nil -} - -func (p *SearchEvalTargetResponse) IsSetNextPageToken() bool { - return p.NextPageToken != nil -} - -func (p *SearchEvalTargetResponse) IsSetHasMore() bool { - return p.HasMore != nil -} - -func (p *SearchEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *SearchEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 100: - if fieldTypeId == thrift.STRING { - if err = p.ReadField100(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 101: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField101(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *SearchEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*CustomEvalTarget, 0, size) - values := make([]CustomEvalTarget, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.CustomEvalTargets = _field - return nil -} -func (p *SearchEvalTargetResponse) ReadField100(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.NextPageToken = _field - return nil -} -func (p *SearchEvalTargetResponse) ReadField101(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.HasMore = _field - return nil -} -func (p *SearchEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *SearchEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SearchEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField100(oprot); err != nil { - fieldId = 100 - goto WriteFieldError - } - if err = p.writeField101(oprot); err != nil { - fieldId = 101 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *SearchEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomEvalTargets() { - if err = oprot.WriteFieldBegin("custom_eval_targets", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.CustomEvalTargets)); err != nil { - return err - } - for _, v := range p.CustomEvalTargets { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *SearchEvalTargetResponse) writeField100(oprot thrift.TProtocol) (err error) { - if p.IsSetNextPageToken() { - if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 100); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.NextPageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 100 end error: ", p), err) -} -func (p *SearchEvalTargetResponse) writeField101(oprot thrift.TProtocol) (err error) { - if p.IsSetHasMore() { - if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 101); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.HasMore); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 101 end error: ", p), err) -} -func (p *SearchEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *SearchEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("SearchEvalTargetResponse(%+v)", *p) - -} - -func (p *SearchEvalTargetResponse) DeepEqual(ano *SearchEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.CustomEvalTargets) { - return false - } - if !p.Field100DeepEqual(ano.NextPageToken) { - return false - } - if !p.Field101DeepEqual(ano.HasMore) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *SearchEvalTargetResponse) Field1DeepEqual(src []*CustomEvalTarget) bool { - - if len(p.CustomEvalTargets) != len(src) { - return false - } - for i, v := range p.CustomEvalTargets { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *SearchEvalTargetResponse) Field100DeepEqual(src *string) bool { - - if p.NextPageToken == src { - return true - } else if p.NextPageToken == nil || src == nil { - return false - } - if strings.Compare(*p.NextPageToken, *src) != 0 { - return false - } - return true -} -func (p *SearchEvalTargetResponse) Field101DeepEqual(src *bool) bool { - - if p.HasMore == src { - return true - } else if p.HasMore == nil || src == nil { - return false - } - if *p.HasMore != *src { - return false - } - return true -} -func (p *SearchEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type CustomEvalTarget struct { - // 唯一键,平台不消费,仅做透传 - ID *string `thrift:"id,1,optional" frugal:"1,optional,string" form:"id" json:"id,omitempty" query:"id"` - // 名称,平台用于展示在对象搜索下拉列表 - Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty" query:"name"` - // 头像url,平台用于展示在对象搜索下拉列表 - AvatarURL *string `thrift:"avatar_url,3,optional" frugal:"3,optional,string" form:"avatar_url" json:"avatar_url,omitempty" query:"avatar_url"` -} - -func NewCustomEvalTarget() *CustomEvalTarget { - return &CustomEvalTarget{} -} - -func (p *CustomEvalTarget) InitDefault() { -} - -var CustomEvalTarget_ID_DEFAULT string - -func (p *CustomEvalTarget) GetID() (v string) { - if p == nil { - return - } - if !p.IsSetID() { - return CustomEvalTarget_ID_DEFAULT - } - return *p.ID -} - -var CustomEvalTarget_Name_DEFAULT string - -func (p *CustomEvalTarget) GetName() (v string) { - if p == nil { - return - } - if !p.IsSetName() { - return CustomEvalTarget_Name_DEFAULT - } - return *p.Name -} - -var CustomEvalTarget_AvatarURL_DEFAULT string - -func (p *CustomEvalTarget) GetAvatarURL() (v string) { - if p == nil { - return - } - if !p.IsSetAvatarURL() { - return CustomEvalTarget_AvatarURL_DEFAULT - } - return *p.AvatarURL -} -func (p *CustomEvalTarget) SetID(val *string) { - p.ID = val -} -func (p *CustomEvalTarget) SetName(val *string) { - p.Name = val -} -func (p *CustomEvalTarget) SetAvatarURL(val *string) { - p.AvatarURL = val -} - -var fieldIDToName_CustomEvalTarget = map[int16]string{ - 1: "id", - 2: "name", - 3: "avatar_url", -} - -func (p *CustomEvalTarget) IsSetID() bool { - return p.ID != nil -} - -func (p *CustomEvalTarget) IsSetName() bool { - return p.Name != nil -} - -func (p *CustomEvalTarget) IsSetAvatarURL() bool { - return p.AvatarURL != nil -} - -func (p *CustomEvalTarget) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomEvalTarget[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *CustomEvalTarget) ReadField1(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ID = _field - return nil -} -func (p *CustomEvalTarget) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Name = _field - return nil -} -func (p *CustomEvalTarget) ReadField3(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.AvatarURL = _field - return nil -} - -func (p *CustomEvalTarget) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("CustomEvalTarget"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *CustomEvalTarget) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetID() { - if err = oprot.WriteFieldBegin("id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *CustomEvalTarget) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetName() { - if err = oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Name); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *CustomEvalTarget) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetAvatarURL() { - if err = oprot.WriteFieldBegin("avatar_url", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.AvatarURL); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} - -func (p *CustomEvalTarget) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("CustomEvalTarget(%+v)", *p) - -} - -func (p *CustomEvalTarget) DeepEqual(ano *CustomEvalTarget) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.ID) { - return false - } - if !p.Field2DeepEqual(ano.Name) { - return false - } - if !p.Field3DeepEqual(ano.AvatarURL) { - return false - } - return true -} - -func (p *CustomEvalTarget) Field1DeepEqual(src *string) bool { - - if p.ID == src { - return true - } else if p.ID == nil || src == nil { - return false - } - if strings.Compare(*p.ID, *src) != 0 { - return false - } - return true -} -func (p *CustomEvalTarget) Field2DeepEqual(src *string) bool { - - if p.Name == src { - return true - } else if p.Name == nil || src == nil { - return false - } - if strings.Compare(*p.Name, *src) != 0 { - return false - } - return true -} -func (p *CustomEvalTarget) Field3DeepEqual(src *string) bool { - - if p.AvatarURL == src { - return true - } else if p.AvatarURL == nil || src == nil { - return false - } - if strings.Compare(*p.AvatarURL, *src) != 0 { - return false - } - return true -} - -type InvokeEvalTargetRequest struct { - // 空间id - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" form:"workspace_id" json:"workspace_id,omitempty" query:"workspace_id"` - // 输入信息 - Input *InvokeEvalTargetInput `thrift:"input,2,optional" frugal:"2,optional,InvokeEvalTargetInput" form:"input" json:"input,omitempty" query:"input"` - // 如果创建实验时选了二级对象,则会透传search接口返回的二级对象信息 - CustomEvalTarget *CustomEvalTarget `thrift:"custom_eval_target,3,optional" frugal:"3,optional,CustomEvalTarget" form:"custom_eval_target" json:"custom_eval_target,omitempty" query:"custom_eval_target"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` -} - -func NewInvokeEvalTargetRequest() *InvokeEvalTargetRequest { - return &InvokeEvalTargetRequest{} -} - -func (p *InvokeEvalTargetRequest) InitDefault() { -} - -var InvokeEvalTargetRequest_WorkspaceID_DEFAULT int64 - -func (p *InvokeEvalTargetRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return InvokeEvalTargetRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var InvokeEvalTargetRequest_Input_DEFAULT *InvokeEvalTargetInput - -func (p *InvokeEvalTargetRequest) GetInput() (v *InvokeEvalTargetInput) { - if p == nil { - return - } - if !p.IsSetInput() { - return InvokeEvalTargetRequest_Input_DEFAULT - } - return p.Input -} - -var InvokeEvalTargetRequest_CustomEvalTarget_DEFAULT *CustomEvalTarget - -func (p *InvokeEvalTargetRequest) GetCustomEvalTarget() (v *CustomEvalTarget) { - if p == nil { - return - } - if !p.IsSetCustomEvalTarget() { - return InvokeEvalTargetRequest_CustomEvalTarget_DEFAULT - } - return p.CustomEvalTarget -} - -var InvokeEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *InvokeEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return InvokeEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *InvokeEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *InvokeEvalTargetRequest) SetInput(val *InvokeEvalTargetInput) { - p.Input = val -} -func (p *InvokeEvalTargetRequest) SetCustomEvalTarget(val *CustomEvalTarget) { - p.CustomEvalTarget = val -} -func (p *InvokeEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_InvokeEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "input", - 3: "custom_eval_target", - 255: "Base", -} - -func (p *InvokeEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *InvokeEvalTargetRequest) IsSetInput() bool { - return p.Input != nil -} - -func (p *InvokeEvalTargetRequest) IsSetCustomEvalTarget() bool { - return p.CustomEvalTarget != nil -} - -func (p *InvokeEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *InvokeEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *InvokeEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *InvokeEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetInput() - if err := _field.Read(iprot); err != nil { - return err - } - p.Input = _field - return nil -} -func (p *InvokeEvalTargetRequest) ReadField3(iprot thrift.TProtocol) error { - _field := NewCustomEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomEvalTarget = _field - return nil -} -func (p *InvokeEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *InvokeEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTargetRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *InvokeEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *InvokeEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetInput() { - if err = oprot.WriteFieldBegin("input", thrift.STRUCT, 2); err != nil { - goto WriteFieldBeginError - } - if err := p.Input.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *InvokeEvalTargetRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomEvalTarget() { - if err = oprot.WriteFieldBegin("custom_eval_target", thrift.STRUCT, 3); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomEvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *InvokeEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *InvokeEvalTargetRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("InvokeEvalTargetRequest(%+v)", *p) - -} - -func (p *InvokeEvalTargetRequest) DeepEqual(ano *InvokeEvalTargetRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.Input) { - return false - } - if !p.Field3DeepEqual(ano.CustomEvalTarget) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *InvokeEvalTargetRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *InvokeEvalTargetRequest) Field2DeepEqual(src *InvokeEvalTargetInput) bool { - - if !p.Input.DeepEqual(src) { - return false - } - return true -} -func (p *InvokeEvalTargetRequest) Field3DeepEqual(src *CustomEvalTarget) bool { - - if !p.CustomEvalTarget.DeepEqual(src) { - return false - } - return true -} -func (p *InvokeEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type InvokeEvalTargetResponse struct { - Status *InvokeEvalTargetStatus `thrift:"status,1,optional" frugal:"1,optional,InvokeEvalTargetStatus" form:"status" json:"status,omitempty" query:"status"` - // set output if status=SUCCESS - Output *InvokeEvalTargetOutput `thrift:"output,2,optional" frugal:"2,optional,InvokeEvalTargetOutput" form:"output" json:"output,omitempty" query:"output"` - // set usage if status=SUCCESS - Usage *InvokeEvalTargetUsage `thrift:"usage,3,optional" frugal:"3,optional,InvokeEvalTargetUsage" form:"usage" json:"usage,omitempty" query:"usage"` - // set error_message if status=FAILED - ErrorMessage *string `thrift:"error_message,10,optional" frugal:"10,optional,string" form:"error_message" json:"error_message,omitempty" query:"error_message"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"-" json:"-" query:"-"` -} - -func NewInvokeEvalTargetResponse() *InvokeEvalTargetResponse { - return &InvokeEvalTargetResponse{} -} - -func (p *InvokeEvalTargetResponse) InitDefault() { -} - -var InvokeEvalTargetResponse_Status_DEFAULT InvokeEvalTargetStatus - -func (p *InvokeEvalTargetResponse) GetStatus() (v InvokeEvalTargetStatus) { - if p == nil { - return - } - if !p.IsSetStatus() { - return InvokeEvalTargetResponse_Status_DEFAULT - } - return *p.Status -} - -var InvokeEvalTargetResponse_Output_DEFAULT *InvokeEvalTargetOutput - -func (p *InvokeEvalTargetResponse) GetOutput() (v *InvokeEvalTargetOutput) { - if p == nil { - return - } - if !p.IsSetOutput() { - return InvokeEvalTargetResponse_Output_DEFAULT - } - return p.Output -} - -var InvokeEvalTargetResponse_Usage_DEFAULT *InvokeEvalTargetUsage - -func (p *InvokeEvalTargetResponse) GetUsage() (v *InvokeEvalTargetUsage) { - if p == nil { - return - } - if !p.IsSetUsage() { - return InvokeEvalTargetResponse_Usage_DEFAULT - } - return p.Usage -} - -var InvokeEvalTargetResponse_ErrorMessage_DEFAULT string - -func (p *InvokeEvalTargetResponse) GetErrorMessage() (v string) { - if p == nil { - return - } - if !p.IsSetErrorMessage() { - return InvokeEvalTargetResponse_ErrorMessage_DEFAULT - } - return *p.ErrorMessage -} - -var InvokeEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *InvokeEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return InvokeEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *InvokeEvalTargetResponse) SetStatus(val *InvokeEvalTargetStatus) { - p.Status = val -} -func (p *InvokeEvalTargetResponse) SetOutput(val *InvokeEvalTargetOutput) { - p.Output = val -} -func (p *InvokeEvalTargetResponse) SetUsage(val *InvokeEvalTargetUsage) { - p.Usage = val -} -func (p *InvokeEvalTargetResponse) SetErrorMessage(val *string) { - p.ErrorMessage = val -} -func (p *InvokeEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_InvokeEvalTargetResponse = map[int16]string{ - 1: "status", - 2: "output", - 3: "usage", - 10: "error_message", - 255: "BaseResp", -} - -func (p *InvokeEvalTargetResponse) IsSetStatus() bool { - return p.Status != nil -} - -func (p *InvokeEvalTargetResponse) IsSetOutput() bool { - return p.Output != nil -} - -func (p *InvokeEvalTargetResponse) IsSetUsage() bool { - return p.Usage != nil -} - -func (p *InvokeEvalTargetResponse) IsSetErrorMessage() bool { - return p.ErrorMessage != nil -} - -func (p *InvokeEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *InvokeEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I32 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRING { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *InvokeEvalTargetResponse) ReadField1(iprot thrift.TProtocol) error { - - var _field *InvokeEvalTargetStatus - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - tmp := InvokeEvalTargetStatus(v) - _field = &tmp - } - p.Status = _field - return nil -} -func (p *InvokeEvalTargetResponse) ReadField2(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetOutput() - if err := _field.Read(iprot); err != nil { - return err - } - p.Output = _field - return nil -} -func (p *InvokeEvalTargetResponse) ReadField3(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetUsage() - if err := _field.Read(iprot); err != nil { - return err - } - p.Usage = _field - return nil -} -func (p *InvokeEvalTargetResponse) ReadField10(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ErrorMessage = _field - return nil -} -func (p *InvokeEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *InvokeEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *InvokeEvalTargetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetStatus() { - if err = oprot.WriteFieldBegin("status", thrift.I32, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(*p.Status)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *InvokeEvalTargetResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetOutput() { - if err = oprot.WriteFieldBegin("output", thrift.STRUCT, 2); err != nil { - goto WriteFieldBeginError - } - if err := p.Output.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *InvokeEvalTargetResponse) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetUsage() { - if err = oprot.WriteFieldBegin("usage", thrift.STRUCT, 3); err != nil { - goto WriteFieldBeginError - } - if err := p.Usage.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *InvokeEvalTargetResponse) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetErrorMessage() { - if err = oprot.WriteFieldBegin("error_message", thrift.STRING, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ErrorMessage); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *InvokeEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *InvokeEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("InvokeEvalTargetResponse(%+v)", *p) - -} - -func (p *InvokeEvalTargetResponse) DeepEqual(ano *InvokeEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Status) { - return false - } - if !p.Field2DeepEqual(ano.Output) { - return false - } - if !p.Field3DeepEqual(ano.Usage) { - return false - } - if !p.Field10DeepEqual(ano.ErrorMessage) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *InvokeEvalTargetResponse) Field1DeepEqual(src *InvokeEvalTargetStatus) bool { - - if p.Status == src { - return true - } else if p.Status == nil || src == nil { - return false - } - if *p.Status != *src { - return false - } - return true -} -func (p *InvokeEvalTargetResponse) Field2DeepEqual(src *InvokeEvalTargetOutput) bool { - - if !p.Output.DeepEqual(src) { - return false - } - return true -} -func (p *InvokeEvalTargetResponse) Field3DeepEqual(src *InvokeEvalTargetUsage) bool { - - if !p.Usage.DeepEqual(src) { - return false - } - return true -} -func (p *InvokeEvalTargetResponse) Field10DeepEqual(src *string) bool { - - if p.ErrorMessage == src { - return true - } else if p.ErrorMessage == nil || src == nil { - return false - } - if strings.Compare(*p.ErrorMessage, *src) != 0 { - return false - } - return true -} -func (p *InvokeEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type InvokeEvalTargetInput struct { - // 评测集字段信息,key=评测集列名,value=评测集列值 - EvalSetFields map[string]*Content `thrift:"eval_set_fields,1,optional" frugal:"1,optional,map" form:"eval_set_fields" json:"eval_set_fields,omitempty" query:"eval_set_fields"` - // 扩展字段,动态参数会通过ext字段传递 - Ext map[string]string `thrift:"ext,20,optional" frugal:"20,optional,map" form:"ext" json:"ext,omitempty" query:"ext"` -} - -func NewInvokeEvalTargetInput() *InvokeEvalTargetInput { - return &InvokeEvalTargetInput{} -} - -func (p *InvokeEvalTargetInput) InitDefault() { -} - -var InvokeEvalTargetInput_EvalSetFields_DEFAULT map[string]*Content - -func (p *InvokeEvalTargetInput) GetEvalSetFields() (v map[string]*Content) { - if p == nil { - return - } - if !p.IsSetEvalSetFields() { - return InvokeEvalTargetInput_EvalSetFields_DEFAULT - } - return p.EvalSetFields -} - -var InvokeEvalTargetInput_Ext_DEFAULT map[string]string - -func (p *InvokeEvalTargetInput) GetExt() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetExt() { - return InvokeEvalTargetInput_Ext_DEFAULT - } - return p.Ext -} -func (p *InvokeEvalTargetInput) SetEvalSetFields(val map[string]*Content) { - p.EvalSetFields = val -} -func (p *InvokeEvalTargetInput) SetExt(val map[string]string) { - p.Ext = val -} - -var fieldIDToName_InvokeEvalTargetInput = map[int16]string{ - 1: "eval_set_fields", - 20: "ext", -} - -func (p *InvokeEvalTargetInput) IsSetEvalSetFields() bool { - return p.EvalSetFields != nil -} - -func (p *InvokeEvalTargetInput) IsSetExt() bool { - return p.Ext != nil -} - -func (p *InvokeEvalTargetInput) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.MAP { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 20: - if fieldTypeId == thrift.MAP { - if err = p.ReadField20(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetInput[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *InvokeEvalTargetInput) ReadField1(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]*Content, size) - values := make([]Content, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - _val := &values[i] - _val.InitDefault() - if err := _val.Read(iprot); err != nil { - return err - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.EvalSetFields = _field - return nil -} -func (p *InvokeEvalTargetInput) ReadField20(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.Ext = _field - return nil -} - -func (p *InvokeEvalTargetInput) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTargetInput"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField20(oprot); err != nil { - fieldId = 20 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *InvokeEvalTargetInput) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEvalSetFields() { - if err = oprot.WriteFieldBegin("eval_set_fields", thrift.MAP, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRUCT, len(p.EvalSetFields)); err != nil { - return err - } - for k, v := range p.EvalSetFields { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *InvokeEvalTargetInput) writeField20(oprot thrift.TProtocol) (err error) { - if p.IsSetExt() { - if err = oprot.WriteFieldBegin("ext", thrift.MAP, 20); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Ext)); err != nil { - return err - } - for k, v := range p.Ext { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) -} - -func (p *InvokeEvalTargetInput) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("InvokeEvalTargetInput(%+v)", *p) - -} - -func (p *InvokeEvalTargetInput) DeepEqual(ano *InvokeEvalTargetInput) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.EvalSetFields) { - return false - } - if !p.Field20DeepEqual(ano.Ext) { - return false - } - return true -} - -func (p *InvokeEvalTargetInput) Field1DeepEqual(src map[string]*Content) bool { - - if len(p.EvalSetFields) != len(src) { - return false - } - for k, v := range p.EvalSetFields { - _src := src[k] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *InvokeEvalTargetInput) Field20DeepEqual(src map[string]string) bool { - - if len(p.Ext) != len(src) { - return false - } - for k, v := range p.Ext { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} - -// 新增 -type InvokeEvalTargetOutput struct { - ActualOutput *Content `thrift:"actual_output,1,optional" frugal:"1,optional,Content" form:"actual_output" json:"actual_output,omitempty" query:"actual_output"` - // 扩展字段,用户如果想返回一些额外信息可以塞在这个字段 - Ext map[string]string `thrift:"ext,20,optional" frugal:"20,optional,map" form:"ext" json:"ext,omitempty" query:"ext"` -} - -func NewInvokeEvalTargetOutput() *InvokeEvalTargetOutput { - return &InvokeEvalTargetOutput{} -} - -func (p *InvokeEvalTargetOutput) InitDefault() { -} - -var InvokeEvalTargetOutput_ActualOutput_DEFAULT *Content - -func (p *InvokeEvalTargetOutput) GetActualOutput() (v *Content) { - if p == nil { - return - } - if !p.IsSetActualOutput() { - return InvokeEvalTargetOutput_ActualOutput_DEFAULT - } - return p.ActualOutput -} - -var InvokeEvalTargetOutput_Ext_DEFAULT map[string]string - -func (p *InvokeEvalTargetOutput) GetExt() (v map[string]string) { - if p == nil { - return - } - if !p.IsSetExt() { - return InvokeEvalTargetOutput_Ext_DEFAULT - } - return p.Ext -} -func (p *InvokeEvalTargetOutput) SetActualOutput(val *Content) { - p.ActualOutput = val -} -func (p *InvokeEvalTargetOutput) SetExt(val map[string]string) { - p.Ext = val -} - -var fieldIDToName_InvokeEvalTargetOutput = map[int16]string{ - 1: "actual_output", - 20: "ext", -} - -func (p *InvokeEvalTargetOutput) IsSetActualOutput() bool { - return p.ActualOutput != nil -} - -func (p *InvokeEvalTargetOutput) IsSetExt() bool { - return p.Ext != nil -} - -func (p *InvokeEvalTargetOutput) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 20: - if fieldTypeId == thrift.MAP { - if err = p.ReadField20(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetOutput[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *InvokeEvalTargetOutput) ReadField1(iprot thrift.TProtocol) error { - _field := NewContent() - if err := _field.Read(iprot); err != nil { - return err - } - p.ActualOutput = _field - return nil -} -func (p *InvokeEvalTargetOutput) ReadField20(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - var _val string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _val = v - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.Ext = _field - return nil -} - -func (p *InvokeEvalTargetOutput) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTargetOutput"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField20(oprot); err != nil { - fieldId = 20 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *InvokeEvalTargetOutput) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetActualOutput() { - if err = oprot.WriteFieldBegin("actual_output", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.ActualOutput.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *InvokeEvalTargetOutput) writeField20(oprot thrift.TProtocol) (err error) { - if p.IsSetExt() { - if err = oprot.WriteFieldBegin("ext", thrift.MAP, 20); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Ext)); err != nil { - return err - } - for k, v := range p.Ext { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 20 end error: ", p), err) -} - -func (p *InvokeEvalTargetOutput) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("InvokeEvalTargetOutput(%+v)", *p) - -} - -func (p *InvokeEvalTargetOutput) DeepEqual(ano *InvokeEvalTargetOutput) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.ActualOutput) { - return false - } - if !p.Field20DeepEqual(ano.Ext) { - return false - } - return true -} - -func (p *InvokeEvalTargetOutput) Field1DeepEqual(src *Content) bool { - - if !p.ActualOutput.DeepEqual(src) { - return false - } - return true -} -func (p *InvokeEvalTargetOutput) Field20DeepEqual(src map[string]string) bool { - - if len(p.Ext) != len(src) { - return false - } - for k, v := range p.Ext { - _src := src[k] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} - -type Content struct { - // 类型 - ContentType *ContentType `thrift:"content_type,1,optional" frugal:"1,optional,string" form:"content_type" json:"content_type,omitempty" query:"content_type"` - // 当content_type=text,则从此字段中取值 - Text *string `thrift:"text,10,optional" frugal:"10,optional,string" form:"text" json:"text,omitempty" query:"text"` - // 当content_type=image,则从此字段中取图片信息 - Image *Image `thrift:"image,11,optional" frugal:"11,optional,Image" form:"image" json:"image,omitempty" query:"image"` - // 当content_type=multi_part,则从此字段遍历获取多模态的值 - MultiPart []*Content `thrift:"multi_part,12,optional" frugal:"12,optional,list" form:"multi_part" json:"multi_part,omitempty" query:"multi_part"` -} - -func NewContent() *Content { - return &Content{} -} - -func (p *Content) InitDefault() { -} - -var Content_ContentType_DEFAULT ContentType - -func (p *Content) GetContentType() (v ContentType) { - if p == nil { - return - } - if !p.IsSetContentType() { - return Content_ContentType_DEFAULT - } - return *p.ContentType -} - -var Content_Text_DEFAULT string - -func (p *Content) GetText() (v string) { - if p == nil { - return - } - if !p.IsSetText() { - return Content_Text_DEFAULT - } - return *p.Text -} - -var Content_Image_DEFAULT *Image - -func (p *Content) GetImage() (v *Image) { - if p == nil { - return - } - if !p.IsSetImage() { - return Content_Image_DEFAULT - } - return p.Image -} - -var Content_MultiPart_DEFAULT []*Content - -func (p *Content) GetMultiPart() (v []*Content) { - if p == nil { - return - } - if !p.IsSetMultiPart() { - return Content_MultiPart_DEFAULT - } - return p.MultiPart -} -func (p *Content) SetContentType(val *ContentType) { - p.ContentType = val -} -func (p *Content) SetText(val *string) { - p.Text = val -} -func (p *Content) SetImage(val *Image) { - p.Image = val -} -func (p *Content) SetMultiPart(val []*Content) { - p.MultiPart = val -} - -var fieldIDToName_Content = map[int16]string{ - 1: "content_type", - 10: "text", - 11: "image", - 12: "multi_part", -} - -func (p *Content) IsSetContentType() bool { - return p.ContentType != nil -} - -func (p *Content) IsSetText() bool { - return p.Text != nil -} - -func (p *Content) IsSetImage() bool { - return p.Image != nil -} - -func (p *Content) IsSetMultiPart() bool { - return p.MultiPart != nil -} - -func (p *Content) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRING { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 11: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField11(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 12: - if fieldTypeId == thrift.LIST { - if err = p.ReadField12(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Content[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *Content) ReadField1(iprot thrift.TProtocol) error { - - var _field *ContentType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ContentType = _field - return nil -} -func (p *Content) ReadField10(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Text = _field - return nil -} -func (p *Content) ReadField11(iprot thrift.TProtocol) error { - _field := NewImage() - if err := _field.Read(iprot); err != nil { - return err - } - p.Image = _field - return nil -} -func (p *Content) ReadField12(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*Content, 0, size) - values := make([]Content, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.MultiPart = _field - return nil -} - -func (p *Content) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("Content"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField11(oprot); err != nil { - fieldId = 11 - goto WriteFieldError - } - if err = p.writeField12(oprot); err != nil { - fieldId = 12 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *Content) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetContentType() { - if err = oprot.WriteFieldBegin("content_type", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ContentType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *Content) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetText() { - if err = oprot.WriteFieldBegin("text", thrift.STRING, 10); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Text); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *Content) writeField11(oprot thrift.TProtocol) (err error) { - if p.IsSetImage() { - if err = oprot.WriteFieldBegin("image", thrift.STRUCT, 11); err != nil { - goto WriteFieldBeginError - } - if err := p.Image.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 11 end error: ", p), err) -} -func (p *Content) writeField12(oprot thrift.TProtocol) (err error) { - if p.IsSetMultiPart() { - if err = oprot.WriteFieldBegin("multi_part", thrift.LIST, 12); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.MultiPart)); err != nil { - return err - } - for _, v := range p.MultiPart { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 12 end error: ", p), err) -} - -func (p *Content) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("Content(%+v)", *p) - -} - -func (p *Content) DeepEqual(ano *Content) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.ContentType) { - return false - } - if !p.Field10DeepEqual(ano.Text) { - return false - } - if !p.Field11DeepEqual(ano.Image) { - return false - } - if !p.Field12DeepEqual(ano.MultiPart) { - return false - } - return true -} - -func (p *Content) Field1DeepEqual(src *ContentType) bool { - - if p.ContentType == src { - return true - } else if p.ContentType == nil || src == nil { - return false - } - if strings.Compare(*p.ContentType, *src) != 0 { - return false - } - return true -} -func (p *Content) Field10DeepEqual(src *string) bool { - - if p.Text == src { - return true - } else if p.Text == nil || src == nil { - return false - } - if strings.Compare(*p.Text, *src) != 0 { - return false - } - return true -} -func (p *Content) Field11DeepEqual(src *Image) bool { - - if !p.Image.DeepEqual(src) { - return false - } - return true -} -func (p *Content) Field12DeepEqual(src []*Content) bool { - - if len(p.MultiPart) != len(src) { - return false - } - for i, v := range p.MultiPart { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} - -type Image struct { - URL *string `thrift:"url,1,optional" frugal:"1,optional,string" form:"url" json:"url,omitempty" query:"url"` -} - -func NewImage() *Image { - return &Image{} -} - -func (p *Image) InitDefault() { -} - -var Image_URL_DEFAULT string - -func (p *Image) GetURL() (v string) { - if p == nil { - return - } - if !p.IsSetURL() { - return Image_URL_DEFAULT - } - return *p.URL -} -func (p *Image) SetURL(val *string) { - p.URL = val -} - -var fieldIDToName_Image = map[int16]string{ - 1: "url", -} - -func (p *Image) IsSetURL() bool { - return p.URL != nil -} - -func (p *Image) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Image[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *Image) ReadField1(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.URL = _field - return nil -} - -func (p *Image) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("Image"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *Image) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetURL() { - if err = oprot.WriteFieldBegin("url", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.URL); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *Image) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("Image(%+v)", *p) - -} - -func (p *Image) DeepEqual(ano *Image) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.URL) { - return false - } - return true -} - -func (p *Image) Field1DeepEqual(src *string) bool { - - if p.URL == src { - return true - } else if p.URL == nil || src == nil { - return false - } - if strings.Compare(*p.URL, *src) != 0 { - return false - } - return true -} - -type InvokeEvalTargetUsage struct { - // 输入token消耗 - InputTokens *int64 `thrift:"input_tokens,1,optional" frugal:"1,optional,i64" form:"input_tokens" json:"input_tokens,omitempty" query:"input_tokens"` - // 输出token消耗 - OutputTokens *int64 `thrift:"output_tokens,2,optional" frugal:"2,optional,i64" form:"output_tokens" json:"output_tokens,omitempty" query:"output_tokens"` -} - -func NewInvokeEvalTargetUsage() *InvokeEvalTargetUsage { - return &InvokeEvalTargetUsage{} -} - -func (p *InvokeEvalTargetUsage) InitDefault() { -} - -var InvokeEvalTargetUsage_InputTokens_DEFAULT int64 - -func (p *InvokeEvalTargetUsage) GetInputTokens() (v int64) { - if p == nil { - return - } - if !p.IsSetInputTokens() { - return InvokeEvalTargetUsage_InputTokens_DEFAULT - } - return *p.InputTokens -} - -var InvokeEvalTargetUsage_OutputTokens_DEFAULT int64 - -func (p *InvokeEvalTargetUsage) GetOutputTokens() (v int64) { - if p == nil { - return - } - if !p.IsSetOutputTokens() { - return InvokeEvalTargetUsage_OutputTokens_DEFAULT - } - return *p.OutputTokens -} -func (p *InvokeEvalTargetUsage) SetInputTokens(val *int64) { - p.InputTokens = val -} -func (p *InvokeEvalTargetUsage) SetOutputTokens(val *int64) { - p.OutputTokens = val -} - -var fieldIDToName_InvokeEvalTargetUsage = map[int16]string{ - 1: "input_tokens", - 2: "output_tokens", -} - -func (p *InvokeEvalTargetUsage) IsSetInputTokens() bool { - return p.InputTokens != nil -} - -func (p *InvokeEvalTargetUsage) IsSetOutputTokens() bool { - return p.OutputTokens != nil -} - -func (p *InvokeEvalTargetUsage) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetUsage[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *InvokeEvalTargetUsage) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.InputTokens = _field - return nil -} -func (p *InvokeEvalTargetUsage) ReadField2(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.OutputTokens = _field - return nil -} - -func (p *InvokeEvalTargetUsage) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTargetUsage"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *InvokeEvalTargetUsage) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetInputTokens() { - if err = oprot.WriteFieldBegin("input_tokens", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.InputTokens); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *InvokeEvalTargetUsage) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetOutputTokens() { - if err = oprot.WriteFieldBegin("output_tokens", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.OutputTokens); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} - -func (p *InvokeEvalTargetUsage) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("InvokeEvalTargetUsage(%+v)", *p) - -} - -func (p *InvokeEvalTargetUsage) DeepEqual(ano *InvokeEvalTargetUsage) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.InputTokens) { - return false - } - if !p.Field2DeepEqual(ano.OutputTokens) { - return false - } - return true -} - -func (p *InvokeEvalTargetUsage) Field1DeepEqual(src *int64) bool { - - if p.InputTokens == src { - return true - } else if p.InputTokens == nil || src == nil { - return false - } - if *p.InputTokens != *src { - return false - } - return true -} -func (p *InvokeEvalTargetUsage) Field2DeepEqual(src *int64) bool { - - if p.OutputTokens == src { - return true - } else if p.OutputTokens == nil || src == nil { - return false - } - if *p.OutputTokens != *src { - return false - } - return true -} - -type AsyncInvokeEvalTargetRequest struct { - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" form:"workspace_id" json:"workspace_id,omitempty" query:"workspace_id"` - // 执行id,传递给自定义对象,在回传结果时透传 - InvokeID *int64 `thrift:"invoke_id,2,optional" frugal:"2,optional,i64" form:"invoke_id" json:"invoke_id,omitempty" query:"invoke_id"` - // 执行输入信息 - Input *InvokeEvalTargetInput `thrift:"input,4,optional" frugal:"4,optional,InvokeEvalTargetInput" form:"input" json:"input,omitempty" query:"input"` - // 如果创建实验时选了二级对象,则会透传二级对象信息 - CustomEvalTarget *CustomEvalTarget `thrift:"custom_eval_target,5,optional" frugal:"5,optional,CustomEvalTarget" form:"custom_eval_target" json:"custom_eval_target,omitempty" query:"custom_eval_target"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` -} - -func NewAsyncInvokeEvalTargetRequest() *AsyncInvokeEvalTargetRequest { - return &AsyncInvokeEvalTargetRequest{} -} - -func (p *AsyncInvokeEvalTargetRequest) InitDefault() { -} - -var AsyncInvokeEvalTargetRequest_WorkspaceID_DEFAULT int64 - -func (p *AsyncInvokeEvalTargetRequest) GetWorkspaceID() (v int64) { - if p == nil { - return - } - if !p.IsSetWorkspaceID() { - return AsyncInvokeEvalTargetRequest_WorkspaceID_DEFAULT - } - return *p.WorkspaceID -} - -var AsyncInvokeEvalTargetRequest_InvokeID_DEFAULT int64 - -func (p *AsyncInvokeEvalTargetRequest) GetInvokeID() (v int64) { - if p == nil { - return - } - if !p.IsSetInvokeID() { - return AsyncInvokeEvalTargetRequest_InvokeID_DEFAULT - } - return *p.InvokeID -} - -var AsyncInvokeEvalTargetRequest_Input_DEFAULT *InvokeEvalTargetInput - -func (p *AsyncInvokeEvalTargetRequest) GetInput() (v *InvokeEvalTargetInput) { - if p == nil { - return - } - if !p.IsSetInput() { - return AsyncInvokeEvalTargetRequest_Input_DEFAULT - } - return p.Input -} - -var AsyncInvokeEvalTargetRequest_CustomEvalTarget_DEFAULT *CustomEvalTarget - -func (p *AsyncInvokeEvalTargetRequest) GetCustomEvalTarget() (v *CustomEvalTarget) { - if p == nil { - return - } - if !p.IsSetCustomEvalTarget() { - return AsyncInvokeEvalTargetRequest_CustomEvalTarget_DEFAULT - } - return p.CustomEvalTarget -} - -var AsyncInvokeEvalTargetRequest_Base_DEFAULT *base.Base - -func (p *AsyncInvokeEvalTargetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return AsyncInvokeEvalTargetRequest_Base_DEFAULT - } - return p.Base -} -func (p *AsyncInvokeEvalTargetRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val -} -func (p *AsyncInvokeEvalTargetRequest) SetInvokeID(val *int64) { - p.InvokeID = val -} -func (p *AsyncInvokeEvalTargetRequest) SetInput(val *InvokeEvalTargetInput) { - p.Input = val -} -func (p *AsyncInvokeEvalTargetRequest) SetCustomEvalTarget(val *CustomEvalTarget) { - p.CustomEvalTarget = val -} -func (p *AsyncInvokeEvalTargetRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_AsyncInvokeEvalTargetRequest = map[int16]string{ - 1: "workspace_id", - 2: "invoke_id", - 4: "input", - 5: "custom_eval_target", - 255: "Base", -} - -func (p *AsyncInvokeEvalTargetRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil -} - -func (p *AsyncInvokeEvalTargetRequest) IsSetInvokeID() bool { - return p.InvokeID != nil -} - -func (p *AsyncInvokeEvalTargetRequest) IsSetInput() bool { - return p.Input != nil -} - -func (p *AsyncInvokeEvalTargetRequest) IsSetCustomEvalTarget() bool { - return p.CustomEvalTarget != nil -} - -func (p *AsyncInvokeEvalTargetRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *AsyncInvokeEvalTargetRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncInvokeEvalTargetRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.WorkspaceID = _field - return nil -} -func (p *AsyncInvokeEvalTargetRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.InvokeID = _field - return nil -} -func (p *AsyncInvokeEvalTargetRequest) ReadField4(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetInput() - if err := _field.Read(iprot); err != nil { - return err - } - p.Input = _field - return nil -} -func (p *AsyncInvokeEvalTargetRequest) ReadField5(iprot thrift.TProtocol) error { - _field := NewCustomEvalTarget() - if err := _field.Read(iprot); err != nil { - return err - } - p.CustomEvalTarget = _field - return nil -} -func (p *AsyncInvokeEvalTargetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *AsyncInvokeEvalTargetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncInvokeEvalTargetRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *AsyncInvokeEvalTargetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetInvokeID() { - if err = oprot.WriteFieldBegin("invoke_id", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.InvokeID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *AsyncInvokeEvalTargetRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetInput() { - if err = oprot.WriteFieldBegin("input", thrift.STRUCT, 4); err != nil { - goto WriteFieldBeginError - } - if err := p.Input.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *AsyncInvokeEvalTargetRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetCustomEvalTarget() { - if err = oprot.WriteFieldBegin("custom_eval_target", thrift.STRUCT, 5); err != nil { - goto WriteFieldBeginError - } - if err := p.CustomEvalTarget.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *AsyncInvokeEvalTargetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("AsyncInvokeEvalTargetRequest(%+v)", *p) - -} - -func (p *AsyncInvokeEvalTargetRequest) DeepEqual(ano *AsyncInvokeEvalTargetRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.InvokeID) { - return false - } - if !p.Field4DeepEqual(ano.Input) { - return false - } - if !p.Field5DeepEqual(ano.CustomEvalTarget) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *AsyncInvokeEvalTargetRequest) Field1DeepEqual(src *int64) bool { - - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { - return false - } - if *p.WorkspaceID != *src { - return false - } - return true -} -func (p *AsyncInvokeEvalTargetRequest) Field2DeepEqual(src *int64) bool { - - if p.InvokeID == src { - return true - } else if p.InvokeID == nil || src == nil { - return false - } - if *p.InvokeID != *src { - return false - } - return true -} -func (p *AsyncInvokeEvalTargetRequest) Field4DeepEqual(src *InvokeEvalTargetInput) bool { - - if !p.Input.DeepEqual(src) { - return false - } - return true -} -func (p *AsyncInvokeEvalTargetRequest) Field5DeepEqual(src *CustomEvalTarget) bool { - - if !p.CustomEvalTarget.DeepEqual(src) { - return false - } - return true -} -func (p *AsyncInvokeEvalTargetRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type AsyncInvokeEvalTargetResponse struct { - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"-" json:"-" query:"-"` -} - -func NewAsyncInvokeEvalTargetResponse() *AsyncInvokeEvalTargetResponse { - return &AsyncInvokeEvalTargetResponse{} -} - -func (p *AsyncInvokeEvalTargetResponse) InitDefault() { -} - -var AsyncInvokeEvalTargetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *AsyncInvokeEvalTargetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return AsyncInvokeEvalTargetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *AsyncInvokeEvalTargetResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_AsyncInvokeEvalTargetResponse = map[int16]string{ - 255: "BaseResp", -} - -func (p *AsyncInvokeEvalTargetResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *AsyncInvokeEvalTargetResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncInvokeEvalTargetResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *AsyncInvokeEvalTargetResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncInvokeEvalTargetResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *AsyncInvokeEvalTargetResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("AsyncInvokeEvalTargetResponse(%+v)", *p) - -} - -func (p *AsyncInvokeEvalTargetResponse) DeepEqual(ano *AsyncInvokeEvalTargetResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *AsyncInvokeEvalTargetResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIService interface { - SearchEvalTarget(ctx context.Context, req *SearchEvalTargetRequest) (r *SearchEvalTargetResponse, err error) - - InvokeEvalTarget(ctx context.Context, req *InvokeEvalTargetRequest) (r *InvokeEvalTargetResponse, err error) - - AsyncInvokeEvalTarget(ctx context.Context, req *AsyncInvokeEvalTargetRequest) (r *AsyncInvokeEvalTargetResponse, err error) -} - -type EvaluationSPIServiceClient struct { - c thrift.TClient -} - -func NewEvaluationSPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *EvaluationSPIServiceClient { - return &EvaluationSPIServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), - } -} - -func NewEvaluationSPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *EvaluationSPIServiceClient { - return &EvaluationSPIServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), - } -} - -func NewEvaluationSPIServiceClient(c thrift.TClient) *EvaluationSPIServiceClient { - return &EvaluationSPIServiceClient{ - c: c, - } -} - -func (p *EvaluationSPIServiceClient) Client_() thrift.TClient { - return p.c -} - -func (p *EvaluationSPIServiceClient) SearchEvalTarget(ctx context.Context, req *SearchEvalTargetRequest) (r *SearchEvalTargetResponse, err error) { - var _args EvaluationSPIServiceSearchEvalTargetArgs - _args.Req = req - var _result EvaluationSPIServiceSearchEvalTargetResult - if err = p.Client_().Call(ctx, "SearchEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvaluationSPIServiceClient) InvokeEvalTarget(ctx context.Context, req *InvokeEvalTargetRequest) (r *InvokeEvalTargetResponse, err error) { - var _args EvaluationSPIServiceInvokeEvalTargetArgs - _args.Req = req - var _result EvaluationSPIServiceInvokeEvalTargetResult - if err = p.Client_().Call(ctx, "InvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *EvaluationSPIServiceClient) AsyncInvokeEvalTarget(ctx context.Context, req *AsyncInvokeEvalTargetRequest) (r *AsyncInvokeEvalTargetResponse, err error) { - var _args EvaluationSPIServiceAsyncInvokeEvalTargetArgs - _args.Req = req - var _result EvaluationSPIServiceAsyncInvokeEvalTargetResult - if err = p.Client_().Call(ctx, "AsyncInvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -type EvaluationSPIServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler EvaluationSPIService -} - -func (p *EvaluationSPIServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor -} - -func (p *EvaluationSPIServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok -} - -func (p *EvaluationSPIServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap -} - -func NewEvaluationSPIServiceProcessor(handler EvaluationSPIService) *EvaluationSPIServiceProcessor { - self := &EvaluationSPIServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("SearchEvalTarget", &evaluationSPIServiceProcessorSearchEvalTarget{handler: handler}) - self.AddToProcessorMap("InvokeEvalTarget", &evaluationSPIServiceProcessorInvokeEvalTarget{handler: handler}) - self.AddToProcessorMap("AsyncInvokeEvalTarget", &evaluationSPIServiceProcessorAsyncInvokeEvalTarget{handler: handler}) - return self -} -func (p *EvaluationSPIServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) - } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} - -type evaluationSPIServiceProcessorSearchEvalTarget struct { - handler EvaluationSPIService -} - -func (p *evaluationSPIServiceProcessorSearchEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvaluationSPIServiceSearchEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SearchEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvaluationSPIServiceSearchEvalTargetResult{} - var retval *SearchEvalTargetResponse - if retval, err2 = p.handler.SearchEvalTarget(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("SearchEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SearchEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evaluationSPIServiceProcessorInvokeEvalTarget struct { - handler EvaluationSPIService -} - -func (p *evaluationSPIServiceProcessorInvokeEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvaluationSPIServiceInvokeEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("InvokeEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvaluationSPIServiceInvokeEvalTargetResult{} - var retval *InvokeEvalTargetResponse - if retval, err2 = p.handler.InvokeEvalTarget(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing InvokeEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("InvokeEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("InvokeEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type evaluationSPIServiceProcessorAsyncInvokeEvalTarget struct { - handler EvaluationSPIService -} - -func (p *evaluationSPIServiceProcessorAsyncInvokeEvalTarget) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := EvaluationSPIServiceAsyncInvokeEvalTargetArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("AsyncInvokeEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := EvaluationSPIServiceAsyncInvokeEvalTargetResult{} - var retval *AsyncInvokeEvalTargetResponse - if retval, err2 = p.handler.AsyncInvokeEvalTarget(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing AsyncInvokeEvalTarget: "+err2.Error()) - oprot.WriteMessageBegin("AsyncInvokeEvalTarget", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("AsyncInvokeEvalTarget", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type EvaluationSPIServiceSearchEvalTargetArgs struct { - Req *SearchEvalTargetRequest `thrift:"req,1" frugal:"1,default,SearchEvalTargetRequest"` -} - -func NewEvaluationSPIServiceSearchEvalTargetArgs() *EvaluationSPIServiceSearchEvalTargetArgs { - return &EvaluationSPIServiceSearchEvalTargetArgs{} -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) InitDefault() { -} - -var EvaluationSPIServiceSearchEvalTargetArgs_Req_DEFAULT *SearchEvalTargetRequest - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) GetReq() (v *SearchEvalTargetRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return EvaluationSPIServiceSearchEvalTargetArgs_Req_DEFAULT - } - return p.Req -} -func (p *EvaluationSPIServiceSearchEvalTargetArgs) SetReq(val *SearchEvalTargetRequest) { - p.Req = val -} - -var fieldIDToName_EvaluationSPIServiceSearchEvalTargetArgs = map[int16]string{ - 1: "req", -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceSearchEvalTargetArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSearchEvalTargetRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Req = _field - return nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SearchEvalTarget_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Req.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceSearchEvalTargetArgs(%+v)", *p) - -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) DeepEqual(ano *EvaluationSPIServiceSearchEvalTargetArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false - } - return true -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) Field1DeepEqual(src *SearchEvalTargetRequest) bool { - - if !p.Req.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIServiceSearchEvalTargetResult struct { - Success *SearchEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,SearchEvalTargetResponse"` -} - -func NewEvaluationSPIServiceSearchEvalTargetResult() *EvaluationSPIServiceSearchEvalTargetResult { - return &EvaluationSPIServiceSearchEvalTargetResult{} -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) InitDefault() { -} - -var EvaluationSPIServiceSearchEvalTargetResult_Success_DEFAULT *SearchEvalTargetResponse - -func (p *EvaluationSPIServiceSearchEvalTargetResult) GetSuccess() (v *SearchEvalTargetResponse) { - if p == nil { - return - } - if !p.IsSetSuccess() { - return EvaluationSPIServiceSearchEvalTargetResult_Success_DEFAULT - } - return p.Success -} -func (p *EvaluationSPIServiceSearchEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*SearchEvalTargetResponse) -} - -var fieldIDToName_EvaluationSPIServiceSearchEvalTargetResult = map[int16]string{ - 0: "success", -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceSearchEvalTargetResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSearchEvalTargetResponse() - if err := _field.Read(iprot); err != nil { - return err - } - p.Success = _field - return nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SearchEvalTarget_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceSearchEvalTargetResult(%+v)", *p) - -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) DeepEqual(ano *EvaluationSPIServiceSearchEvalTargetResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false - } - return true -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) Field0DeepEqual(src *SearchEvalTargetResponse) bool { - - if !p.Success.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIServiceInvokeEvalTargetArgs struct { - Req *InvokeEvalTargetRequest `thrift:"req,1" frugal:"1,default,InvokeEvalTargetRequest"` -} - -func NewEvaluationSPIServiceInvokeEvalTargetArgs() *EvaluationSPIServiceInvokeEvalTargetArgs { - return &EvaluationSPIServiceInvokeEvalTargetArgs{} -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) InitDefault() { -} - -var EvaluationSPIServiceInvokeEvalTargetArgs_Req_DEFAULT *InvokeEvalTargetRequest - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) GetReq() (v *InvokeEvalTargetRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return EvaluationSPIServiceInvokeEvalTargetArgs_Req_DEFAULT - } - return p.Req -} -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) SetReq(val *InvokeEvalTargetRequest) { - p.Req = val -} - -var fieldIDToName_EvaluationSPIServiceInvokeEvalTargetArgs = map[int16]string{ - 1: "req", -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceInvokeEvalTargetArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Req = _field - return nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTarget_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Req.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceInvokeEvalTargetArgs(%+v)", *p) - -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) DeepEqual(ano *EvaluationSPIServiceInvokeEvalTargetArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false - } - return true -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) Field1DeepEqual(src *InvokeEvalTargetRequest) bool { - - if !p.Req.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIServiceInvokeEvalTargetResult struct { - Success *InvokeEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,InvokeEvalTargetResponse"` -} - -func NewEvaluationSPIServiceInvokeEvalTargetResult() *EvaluationSPIServiceInvokeEvalTargetResult { - return &EvaluationSPIServiceInvokeEvalTargetResult{} -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) InitDefault() { -} - -var EvaluationSPIServiceInvokeEvalTargetResult_Success_DEFAULT *InvokeEvalTargetResponse - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) GetSuccess() (v *InvokeEvalTargetResponse) { - if p == nil { - return - } - if !p.IsSetSuccess() { - return EvaluationSPIServiceInvokeEvalTargetResult_Success_DEFAULT - } - return p.Success -} -func (p *EvaluationSPIServiceInvokeEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*InvokeEvalTargetResponse) -} - -var fieldIDToName_EvaluationSPIServiceInvokeEvalTargetResult = map[int16]string{ - 0: "success", -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceInvokeEvalTargetResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewInvokeEvalTargetResponse() - if err := _field.Read(iprot); err != nil { - return err - } - p.Success = _field - return nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("InvokeEvalTarget_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceInvokeEvalTargetResult(%+v)", *p) - -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) DeepEqual(ano *EvaluationSPIServiceInvokeEvalTargetResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false - } - return true -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) Field0DeepEqual(src *InvokeEvalTargetResponse) bool { - - if !p.Success.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIServiceAsyncInvokeEvalTargetArgs struct { - Req *AsyncInvokeEvalTargetRequest `thrift:"req,1" frugal:"1,default,AsyncInvokeEvalTargetRequest"` -} - -func NewEvaluationSPIServiceAsyncInvokeEvalTargetArgs() *EvaluationSPIServiceAsyncInvokeEvalTargetArgs { - return &EvaluationSPIServiceAsyncInvokeEvalTargetArgs{} -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) InitDefault() { -} - -var EvaluationSPIServiceAsyncInvokeEvalTargetArgs_Req_DEFAULT *AsyncInvokeEvalTargetRequest - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) GetReq() (v *AsyncInvokeEvalTargetRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return EvaluationSPIServiceAsyncInvokeEvalTargetArgs_Req_DEFAULT - } - return p.Req -} -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) SetReq(val *AsyncInvokeEvalTargetRequest) { - p.Req = val -} - -var fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetArgs = map[int16]string{ - 1: "req", -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewAsyncInvokeEvalTargetRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Req = _field - return nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncInvokeEvalTarget_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Req.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceAsyncInvokeEvalTargetArgs(%+v)", *p) - -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) DeepEqual(ano *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false - } - return true -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) Field1DeepEqual(src *AsyncInvokeEvalTargetRequest) bool { - - if !p.Req.DeepEqual(src) { - return false - } - return true -} - -type EvaluationSPIServiceAsyncInvokeEvalTargetResult struct { - Success *AsyncInvokeEvalTargetResponse `thrift:"success,0,optional" frugal:"0,optional,AsyncInvokeEvalTargetResponse"` -} - -func NewEvaluationSPIServiceAsyncInvokeEvalTargetResult() *EvaluationSPIServiceAsyncInvokeEvalTargetResult { - return &EvaluationSPIServiceAsyncInvokeEvalTargetResult{} -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) InitDefault() { -} - -var EvaluationSPIServiceAsyncInvokeEvalTargetResult_Success_DEFAULT *AsyncInvokeEvalTargetResponse - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) GetSuccess() (v *AsyncInvokeEvalTargetResponse) { - if p == nil { - return - } - if !p.IsSetSuccess() { - return EvaluationSPIServiceAsyncInvokeEvalTargetResult_Success_DEFAULT - } - return p.Success -} -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) SetSuccess(x interface{}) { - p.Success = x.(*AsyncInvokeEvalTargetResponse) -} - -var fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetResult = map[int16]string{ - 0: "success", -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) IsSetSuccess() bool { - return p.Success != nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewAsyncInvokeEvalTargetResponse() - if err := _field.Read(iprot); err != nil { - return err - } - p.Success = _field - return nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("AsyncInvokeEvalTarget_result"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("EvaluationSPIServiceAsyncInvokeEvalTargetResult(%+v)", *p) - -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) DeepEqual(ano *EvaluationSPIServiceAsyncInvokeEvalTargetResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field0DeepEqual(ano.Success) { - return false - } - return true -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) Field0DeepEqual(src *AsyncInvokeEvalTargetResponse) bool { - - if !p.Success.DeepEqual(src) { - return false - } - return true -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi_validator.go b/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi_validator.go deleted file mode 100644 index 1fd02ed04..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/coze.loop.evaluation.spi_validator.go +++ /dev/null @@ -1,129 +0,0 @@ -// Code generated by Validator v0.2.6. DO NOT EDIT. - -package spi - -import ( - "bytes" - "fmt" - "reflect" - "regexp" - "strings" - "time" -) - -// unused protection -var ( - _ = fmt.Formatter(nil) - _ = (*bytes.Buffer)(nil) - _ = (*strings.Builder)(nil) - _ = reflect.Type(nil) - _ = (*regexp.Regexp)(nil) - _ = time.Nanosecond -) - -func (p *SearchEvalTargetRequest) IsValid() error { - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *SearchEvalTargetResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} -func (p *CustomEvalTarget) IsValid() error { - return nil -} -func (p *InvokeEvalTargetRequest) IsValid() error { - if p.Input != nil { - if err := p.Input.IsValid(); err != nil { - return fmt.Errorf("field Input not valid, %w", err) - } - } - if p.CustomEvalTarget != nil { - if err := p.CustomEvalTarget.IsValid(); err != nil { - return fmt.Errorf("field CustomEvalTarget not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *InvokeEvalTargetResponse) IsValid() error { - if p.Output != nil { - if err := p.Output.IsValid(); err != nil { - return fmt.Errorf("field Output not valid, %w", err) - } - } - if p.Usage != nil { - if err := p.Usage.IsValid(); err != nil { - return fmt.Errorf("field Usage not valid, %w", err) - } - } - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} -func (p *InvokeEvalTargetInput) IsValid() error { - return nil -} -func (p *InvokeEvalTargetOutput) IsValid() error { - if p.ActualOutput != nil { - if err := p.ActualOutput.IsValid(); err != nil { - return fmt.Errorf("field ActualOutput not valid, %w", err) - } - } - return nil -} -func (p *Content) IsValid() error { - if p.Image != nil { - if err := p.Image.IsValid(); err != nil { - return fmt.Errorf("field Image not valid, %w", err) - } - } - return nil -} -func (p *Image) IsValid() error { - return nil -} -func (p *InvokeEvalTargetUsage) IsValid() error { - return nil -} -func (p *AsyncInvokeEvalTargetRequest) IsValid() error { - if p.Input != nil { - if err := p.Input.IsValid(); err != nil { - return fmt.Errorf("field Input not valid, %w", err) - } - } - if p.CustomEvalTarget != nil { - if err := p.CustomEvalTarget.IsValid(); err != nil { - return fmt.Errorf("field CustomEvalTarget not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *AsyncInvokeEvalTargetResponse) IsValid() error { - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/client.go b/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/client.go deleted file mode 100644 index 4805b07ff..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/client.go +++ /dev/null @@ -1,61 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evaluationspiservice - -import ( - "context" - client "github.com/cloudwego/kitex/client" - callopt "github.com/cloudwego/kitex/client/callopt" - spi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -// Client is designed to provide IDL-compatible methods with call-option parameter for kitex framework. -type Client interface { - SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest, callOptions ...callopt.Option) (r *spi.SearchEvalTargetResponse, err error) - InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.InvokeEvalTargetResponse, err error) - AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.AsyncInvokeEvalTargetResponse, err error) -} - -// NewClient creates a client for the service defined in IDL. -func NewClient(destService string, opts ...client.Option) (Client, error) { - var options []client.Option - options = append(options, client.WithDestService(destService)) - - options = append(options, opts...) - - kc, err := client.NewClient(serviceInfo(), options...) - if err != nil { - return nil, err - } - return &kEvaluationSPIServiceClient{ - kClient: newServiceClient(kc), - }, nil -} - -// MustNewClient creates a client for the service defined in IDL. It panics if any error occurs. -func MustNewClient(destService string, opts ...client.Option) Client { - kc, err := NewClient(destService, opts...) - if err != nil { - panic(err) - } - return kc -} - -type kEvaluationSPIServiceClient struct { - *kClient -} - -func (p *kEvaluationSPIServiceClient) SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest, callOptions ...callopt.Option) (r *spi.SearchEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchEvalTarget(ctx, req) -} - -func (p *kEvaluationSPIServiceClient) InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.InvokeEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.InvokeEvalTarget(ctx, req) -} - -func (p *kEvaluationSPIServiceClient) AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest, callOptions ...callopt.Option) (r *spi.AsyncInvokeEvalTargetResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.AsyncInvokeEvalTarget(ctx, req) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/evaluationspiservice.go b/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/evaluationspiservice.go deleted file mode 100644 index 12c2c80cf..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/evaluationspiservice.go +++ /dev/null @@ -1,167 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package evaluationspiservice - -import ( - "context" - "errors" - client "github.com/cloudwego/kitex/client" - kitex "github.com/cloudwego/kitex/pkg/serviceinfo" - spi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -var errInvalidMessageType = errors.New("invalid message type for service method handler") - -var serviceMethods = map[string]kitex.MethodInfo{ - "SearchEvalTarget": kitex.NewMethodInfo( - searchEvalTargetHandler, - newEvaluationSPIServiceSearchEvalTargetArgs, - newEvaluationSPIServiceSearchEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "InvokeEvalTarget": kitex.NewMethodInfo( - invokeEvalTargetHandler, - newEvaluationSPIServiceInvokeEvalTargetArgs, - newEvaluationSPIServiceInvokeEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), - "AsyncInvokeEvalTarget": kitex.NewMethodInfo( - asyncInvokeEvalTargetHandler, - newEvaluationSPIServiceAsyncInvokeEvalTargetArgs, - newEvaluationSPIServiceAsyncInvokeEvalTargetResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), -} - -var ( - evaluationSPIServiceServiceInfo = NewServiceInfo() -) - -// for server -func serviceInfo() *kitex.ServiceInfo { - return evaluationSPIServiceServiceInfo -} - -// NewServiceInfo creates a new ServiceInfo -func NewServiceInfo() *kitex.ServiceInfo { - return newServiceInfo() -} - -func newServiceInfo() *kitex.ServiceInfo { - serviceName := "EvaluationSPIService" - handlerType := (*spi.EvaluationSPIService)(nil) - extra := map[string]interface{}{ - "PackageName": "spi", - } - svcInfo := &kitex.ServiceInfo{ - ServiceName: serviceName, - HandlerType: handlerType, - Methods: serviceMethods, - PayloadCodec: kitex.Thrift, - KiteXGenVersion: "v0.13.1", - Extra: extra, - } - return svcInfo -} - -func searchEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceSearchEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceSearchEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).SearchEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceSearchEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceSearchEvalTargetArgs() -} - -func newEvaluationSPIServiceSearchEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceSearchEvalTargetResult() -} - -func invokeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceInvokeEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceInvokeEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).InvokeEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceInvokeEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceInvokeEvalTargetArgs() -} - -func newEvaluationSPIServiceInvokeEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceInvokeEvalTargetResult() -} - -func asyncInvokeEvalTargetHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs) - realResult := result.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult) - success, err := handler.(spi.EvaluationSPIService).AsyncInvokeEvalTarget(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newEvaluationSPIServiceAsyncInvokeEvalTargetArgs() interface{} { - return spi.NewEvaluationSPIServiceAsyncInvokeEvalTargetArgs() -} - -func newEvaluationSPIServiceAsyncInvokeEvalTargetResult() interface{} { - return spi.NewEvaluationSPIServiceAsyncInvokeEvalTargetResult() -} - -type kClient struct { - c client.Client - sc client.Streaming -} - -func newServiceClient(c client.Client) *kClient { - return &kClient{ - c: c, - sc: c.(client.Streaming), - } -} - -func (p *kClient) SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest) (r *spi.SearchEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceSearchEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceSearchEvalTargetResult - if err = p.c.Call(ctx, "SearchEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest) (r *spi.InvokeEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceInvokeEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceInvokeEvalTargetResult - if err = p.c.Call(ctx, "InvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -func (p *kClient) AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest) (r *spi.AsyncInvokeEvalTargetResponse, err error) { - var _args spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs - _args.Req = req - var _result spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult - if err = p.c.Call(ctx, "AsyncInvokeEvalTarget", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/server.go b/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/server.go deleted file mode 100644 index a93da14d8..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/evaluationspiservice/server.go +++ /dev/null @@ -1,25 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. -package evaluationspiservice - -import ( - server "github.com/cloudwego/kitex/server" - spi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -// NewServer creates a server.Server with the given handler and options. -func NewServer(handler spi.EvaluationSPIService, opts ...server.Option) server.Server { - var options []server.Option - - options = append(options, opts...) - options = append(options, server.WithCompatibleMiddlewareForUnary()) - - svr := server.NewServer(options...) - if err := svr.RegisterService(serviceInfo(), handler); err != nil { - panic(err) - } - return svr -} - -func RegisterService(svr server.Server, handler spi.EvaluationSPIService, opts ...server.RegisterOption) error { - return svr.RegisterService(serviceInfo(), handler, opts...) -} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/k-consts.go b/backend/kitex_gen/coze/loop/evaluation/spi/k-consts.go deleted file mode 100644 index e75303c47..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/k-consts.go +++ /dev/null @@ -1,4 +0,0 @@ -package spi - -// KitexUnusedProtection is used to prevent 'imported and not used' error. -var KitexUnusedProtection = struct{}{} diff --git a/backend/kitex_gen/coze/loop/evaluation/spi/k-coze.loop.evaluation.spi.go b/backend/kitex_gen/coze/loop/evaluation/spi/k-coze.loop.evaluation.spi.go deleted file mode 100644 index fbf9a9308..000000000 --- a/backend/kitex_gen/coze/loop/evaluation/spi/k-coze.loop.evaluation.spi.go +++ /dev/null @@ -1,3878 +0,0 @@ -// Code generated by Kitex v0.13.1. DO NOT EDIT. - -package spi - -import ( - "bytes" - "fmt" - "reflect" - "strings" - - "github.com/cloudwego/gopkg/protocol/thrift" - kutils "github.com/cloudwego/kitex/pkg/utils" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" -) - -var ( - _ = base.KitexUnusedProtection -) - -// unused protection -var ( - _ = fmt.Formatter(nil) - _ = (*bytes.Buffer)(nil) - _ = (*strings.Builder)(nil) - _ = reflect.Type(nil) - _ = thrift.STOP -) - -func (p *SearchEvalTargetRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 20: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField20(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 100: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField100(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 101: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField101(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchEvalTargetRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *SearchEvalTargetRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Keyword = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastReadField20(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.Ext = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastReadField100(buf []byte) (int, error) { - offset := 0 - - var _field *int32 - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.PageSize = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastReadField101(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.PageToken = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *SearchEvalTargetRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField100(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField20(buf[offset:], w) - offset += p.fastWriteField101(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchEvalTargetRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field20Length() - l += p.field100Length() - l += p.field101Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *SearchEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetKeyword() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Keyword) - } - return offset -} - -func (p *SearchEvalTargetRequest) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExt() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 20) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.Ext { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *SearchEvalTargetRequest) fastWriteField100(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetPageSize() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 100) - offset += thrift.Binary.WriteI32(buf[offset:], *p.PageSize) - } - return offset -} - -func (p *SearchEvalTargetRequest) fastWriteField101(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetPageToken() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 101) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.PageToken) - } - return offset -} - -func (p *SearchEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchEvalTargetRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *SearchEvalTargetRequest) field2Length() int { - l := 0 - if p.IsSetKeyword() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Keyword) - } - return l -} - -func (p *SearchEvalTargetRequest) field20Length() int { - l := 0 - if p.IsSetExt() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.Ext { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *SearchEvalTargetRequest) field100Length() int { - l := 0 - if p.IsSetPageSize() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *SearchEvalTargetRequest) field101Length() int { - l := 0 - if p.IsSetPageToken() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.PageToken) - } - return l -} - -func (p *SearchEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *SearchEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*SearchEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.Keyword != nil { - var tmp string - if *src.Keyword != "" { - tmp = kutils.StringDeepCopy(*src.Keyword) - } - p.Keyword = &tmp - } - - if src.Ext != nil { - p.Ext = make(map[string]string, len(src.Ext)) - for key, val := range src.Ext { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.Ext[_key] = _val - } - } - - if src.PageSize != nil { - tmp := *src.PageSize - p.PageSize = &tmp - } - - if src.PageToken != nil { - var tmp string - if *src.PageToken != "" { - tmp = kutils.StringDeepCopy(*src.PageToken) - } - p.PageToken = &tmp - } - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *SearchEvalTargetResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 100: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField100(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 101: - if fieldTypeId == thrift.BOOL { - l, err = p.FastReadField101(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchEvalTargetResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *SearchEvalTargetResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]*CustomEvalTarget, 0, size) - values := make([]CustomEvalTarget, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if l, err := _elem.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field = append(_field, _elem) - } - p.CustomEvalTargets = _field - return offset, nil -} - -func (p *SearchEvalTargetResponse) FastReadField100(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.NextPageToken = _field - return offset, nil -} - -func (p *SearchEvalTargetResponse) FastReadField101(buf []byte) (int, error) { - offset := 0 - - var _field *bool - if v, l, err := thrift.Binary.ReadBool(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.HasMore = _field - return offset, nil -} - -func (p *SearchEvalTargetResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *SearchEvalTargetResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField101(buf[offset:], w) - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField100(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchEvalTargetResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field100Length() - l += p.field101Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomEvalTargets() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.CustomEvalTargets { - length++ - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) - } - return offset -} - -func (p *SearchEvalTargetResponse) fastWriteField100(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetNextPageToken() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 100) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.NextPageToken) - } - return offset -} - -func (p *SearchEvalTargetResponse) fastWriteField101(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetHasMore() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.BOOL, 101) - offset += thrift.Binary.WriteBool(buf[offset:], *p.HasMore) - } - return offset -} - -func (p *SearchEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *SearchEvalTargetResponse) field1Length() int { - l := 0 - if p.IsSetCustomEvalTargets() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.CustomEvalTargets { - _ = v - l += v.BLength() - } - } - return l -} - -func (p *SearchEvalTargetResponse) field100Length() int { - l := 0 - if p.IsSetNextPageToken() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.NextPageToken) - } - return l -} - -func (p *SearchEvalTargetResponse) field101Length() int { - l := 0 - if p.IsSetHasMore() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.BoolLength() - } - return l -} - -func (p *SearchEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *SearchEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*SearchEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.CustomEvalTargets != nil { - p.CustomEvalTargets = make([]*CustomEvalTarget, 0, len(src.CustomEvalTargets)) - for _, elem := range src.CustomEvalTargets { - var _elem *CustomEvalTarget - if elem != nil { - _elem = &CustomEvalTarget{} - if err := _elem.DeepCopy(elem); err != nil { - return err - } - } - - p.CustomEvalTargets = append(p.CustomEvalTargets, _elem) - } - } - - if src.NextPageToken != nil { - var tmp string - if *src.NextPageToken != "" { - tmp = kutils.StringDeepCopy(*src.NextPageToken) - } - p.NextPageToken = &tmp - } - - if src.HasMore != nil { - tmp := *src.HasMore - p.HasMore = &tmp - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *CustomEvalTarget) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CustomEvalTarget[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *CustomEvalTarget) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ID = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Name = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.AvatarURL = _field - return offset, nil -} - -func (p *CustomEvalTarget) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *CustomEvalTarget) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *CustomEvalTarget) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *CustomEvalTarget) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 1) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ID) - } - return offset -} - -func (p *CustomEvalTarget) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetName() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Name) - } - return offset -} - -func (p *CustomEvalTarget) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetAvatarURL() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.AvatarURL) - } - return offset -} - -func (p *CustomEvalTarget) field1Length() int { - l := 0 - if p.IsSetID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ID) - } - return l -} - -func (p *CustomEvalTarget) field2Length() int { - l := 0 - if p.IsSetName() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Name) - } - return l -} - -func (p *CustomEvalTarget) field3Length() int { - l := 0 - if p.IsSetAvatarURL() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.AvatarURL) - } - return l -} - -func (p *CustomEvalTarget) DeepCopy(s interface{}) error { - src, ok := s.(*CustomEvalTarget) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.ID != nil { - var tmp string - if *src.ID != "" { - tmp = kutils.StringDeepCopy(*src.ID) - } - p.ID = &tmp - } - - if src.Name != nil { - var tmp string - if *src.Name != "" { - tmp = kutils.StringDeepCopy(*src.Name) - } - p.Name = &tmp - } - - if src.AvatarURL != nil { - var tmp string - if *src.AvatarURL != "" { - tmp = kutils.StringDeepCopy(*src.AvatarURL) - } - p.AvatarURL = &tmp - } - - return nil -} - -func (p *InvokeEvalTargetRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *InvokeEvalTargetRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *InvokeEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetInput() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Input = _field - return offset, nil -} - -func (p *InvokeEvalTargetRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - _field := NewCustomEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomEvalTarget = _field - return offset, nil -} - -func (p *InvokeEvalTargetRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *InvokeEvalTargetRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *InvokeEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *InvokeEvalTargetRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *InvokeEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *InvokeEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 2) - offset += p.Input.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 3) - offset += p.CustomEvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *InvokeEvalTargetRequest) field2Length() int { - l := 0 - if p.IsSetInput() { - l += thrift.Binary.FieldBeginLength() - l += p.Input.BLength() - } - return l -} - -func (p *InvokeEvalTargetRequest) field3Length() int { - l := 0 - if p.IsSetCustomEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomEvalTarget.BLength() - } - return l -} - -func (p *InvokeEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *InvokeEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*InvokeEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - var _input *InvokeEvalTargetInput - if src.Input != nil { - _input = &InvokeEvalTargetInput{} - if err := _input.DeepCopy(src.Input); err != nil { - return err - } - } - p.Input = _input - - var _customEvalTarget *CustomEvalTarget - if src.CustomEvalTarget != nil { - _customEvalTarget = &CustomEvalTarget{} - if err := _customEvalTarget.DeepCopy(src.CustomEvalTarget); err != nil { - return err - } - } - p.CustomEvalTarget = _customEvalTarget - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *InvokeEvalTargetResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *InvokeEvalTargetResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *InvokeEvalTargetStatus - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - - tmp := InvokeEvalTargetStatus(v) - _field = &tmp - } - p.Status = _field - return offset, nil -} - -func (p *InvokeEvalTargetResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetOutput() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Output = _field - return offset, nil -} - -func (p *InvokeEvalTargetResponse) FastReadField3(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetUsage() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Usage = _field - return offset, nil -} - -func (p *InvokeEvalTargetResponse) FastReadField10(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ErrorMessage = _field - return offset, nil -} - -func (p *InvokeEvalTargetResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *InvokeEvalTargetResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *InvokeEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *InvokeEvalTargetResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field10Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *InvokeEvalTargetResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetStatus() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 1) - offset += thrift.Binary.WriteI32(buf[offset:], int32(*p.Status)) - } - return offset -} - -func (p *InvokeEvalTargetResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetOutput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 2) - offset += p.Output.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetResponse) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetUsage() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 3) - offset += p.Usage.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetResponse) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetErrorMessage() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 10) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ErrorMessage) - } - return offset -} - -func (p *InvokeEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *InvokeEvalTargetResponse) field1Length() int { - l := 0 - if p.IsSetStatus() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *InvokeEvalTargetResponse) field2Length() int { - l := 0 - if p.IsSetOutput() { - l += thrift.Binary.FieldBeginLength() - l += p.Output.BLength() - } - return l -} - -func (p *InvokeEvalTargetResponse) field3Length() int { - l := 0 - if p.IsSetUsage() { - l += thrift.Binary.FieldBeginLength() - l += p.Usage.BLength() - } - return l -} - -func (p *InvokeEvalTargetResponse) field10Length() int { - l := 0 - if p.IsSetErrorMessage() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ErrorMessage) - } - return l -} - -func (p *InvokeEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *InvokeEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*InvokeEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.Status != nil { - tmp := *src.Status - p.Status = &tmp - } - - var _output *InvokeEvalTargetOutput - if src.Output != nil { - _output = &InvokeEvalTargetOutput{} - if err := _output.DeepCopy(src.Output); err != nil { - return err - } - } - p.Output = _output - - var _usage *InvokeEvalTargetUsage - if src.Usage != nil { - _usage = &InvokeEvalTargetUsage{} - if err := _usage.DeepCopy(src.Usage); err != nil { - return err - } - } - p.Usage = _usage - - if src.ErrorMessage != nil { - var tmp string - if *src.ErrorMessage != "" { - tmp = kutils.StringDeepCopy(*src.ErrorMessage) - } - p.ErrorMessage = &tmp - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *InvokeEvalTargetInput) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 20: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField20(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetInput[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *InvokeEvalTargetInput) FastReadField1(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]*Content, size) - values := make([]Content, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - _val := &values[i] - _val.InitDefault() - if l, err := _val.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field[_key] = _val - } - p.EvalSetFields = _field - return offset, nil -} - -func (p *InvokeEvalTargetInput) FastReadField20(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.Ext = _field - return offset, nil -} - -func (p *InvokeEvalTargetInput) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *InvokeEvalTargetInput) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField20(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *InvokeEvalTargetInput) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field20Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *InvokeEvalTargetInput) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEvalSetFields() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 1) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.EvalSetFields { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRUCT, length) - } - return offset -} - -func (p *InvokeEvalTargetInput) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExt() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 20) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.Ext { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *InvokeEvalTargetInput) field1Length() int { - l := 0 - if p.IsSetEvalSetFields() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.EvalSetFields { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += v.BLength() - } - } - return l -} - -func (p *InvokeEvalTargetInput) field20Length() int { - l := 0 - if p.IsSetExt() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.Ext { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *InvokeEvalTargetInput) DeepCopy(s interface{}) error { - src, ok := s.(*InvokeEvalTargetInput) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.EvalSetFields != nil { - p.EvalSetFields = make(map[string]*Content, len(src.EvalSetFields)) - for key, val := range src.EvalSetFields { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val *Content - if val != nil { - _val = &Content{} - if err := _val.DeepCopy(val); err != nil { - return err - } - } - - p.EvalSetFields[_key] = _val - } - } - - if src.Ext != nil { - p.Ext = make(map[string]string, len(src.Ext)) - for key, val := range src.Ext { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.Ext[_key] = _val - } - } - - return nil -} - -func (p *InvokeEvalTargetOutput) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 20: - if fieldTypeId == thrift.MAP { - l, err = p.FastReadField20(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetOutput[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *InvokeEvalTargetOutput) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewContent() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.ActualOutput = _field - return offset, nil -} - -func (p *InvokeEvalTargetOutput) FastReadField20(buf []byte) (int, error) { - offset := 0 - - _, _, size, l, err := thrift.Binary.ReadMapBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make(map[string]string, size) - for i := 0; i < size; i++ { - var _key string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _key = v - } - - var _val string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _val = v - } - - _field[_key] = _val - } - p.Ext = _field - return offset, nil -} - -func (p *InvokeEvalTargetOutput) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *InvokeEvalTargetOutput) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField20(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *InvokeEvalTargetOutput) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field20Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *InvokeEvalTargetOutput) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetActualOutput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.ActualOutput.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *InvokeEvalTargetOutput) fastWriteField20(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetExt() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.MAP, 20) - mapBeginOffset := offset - offset += thrift.Binary.MapBeginLength() - var length int - for k, v := range p.Ext { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, k) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteMapBegin(buf[mapBeginOffset:], thrift.STRING, thrift.STRING, length) - } - return offset -} - -func (p *InvokeEvalTargetOutput) field1Length() int { - l := 0 - if p.IsSetActualOutput() { - l += thrift.Binary.FieldBeginLength() - l += p.ActualOutput.BLength() - } - return l -} - -func (p *InvokeEvalTargetOutput) field20Length() int { - l := 0 - if p.IsSetExt() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.MapBeginLength() - for k, v := range p.Ext { - _, _ = k, v - - l += thrift.Binary.StringLengthNocopy(k) - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - -func (p *InvokeEvalTargetOutput) DeepCopy(s interface{}) error { - src, ok := s.(*InvokeEvalTargetOutput) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _actualOutput *Content - if src.ActualOutput != nil { - _actualOutput = &Content{} - if err := _actualOutput.DeepCopy(src.ActualOutput); err != nil { - return err - } - } - p.ActualOutput = _actualOutput - - if src.Ext != nil { - p.Ext = make(map[string]string, len(src.Ext)) - for key, val := range src.Ext { - var _key string - if key != "" { - _key = kutils.StringDeepCopy(key) - } - - var _val string - if val != "" { - _val = kutils.StringDeepCopy(val) - } - - p.Ext[_key] = _val - } - } - - return nil -} - -func (p *Content) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 11: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField11(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 12: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField12(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Content[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *Content) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *ContentType - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.ContentType = _field - return offset, nil -} - -func (p *Content) FastReadField10(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Text = _field - return offset, nil -} - -func (p *Content) FastReadField11(buf []byte) (int, error) { - offset := 0 - _field := NewImage() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Image = _field - return offset, nil -} - -func (p *Content) FastReadField12(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]*Content, 0, size) - values := make([]Content, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if l, err := _elem.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field = append(_field, _elem) - } - p.MultiPart = _field - return offset, nil -} - -func (p *Content) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *Content) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField11(buf[offset:], w) - offset += p.fastWriteField12(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *Content) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field10Length() - l += p.field11Length() - l += p.field12Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *Content) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetContentType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 1) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.ContentType) - } - return offset -} - -func (p *Content) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetText() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 10) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Text) - } - return offset -} - -func (p *Content) fastWriteField11(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetImage() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 11) - offset += p.Image.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *Content) fastWriteField12(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetMultiPart() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 12) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.MultiPart { - length++ - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) - } - return offset -} - -func (p *Content) field1Length() int { - l := 0 - if p.IsSetContentType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.ContentType) - } - return l -} - -func (p *Content) field10Length() int { - l := 0 - if p.IsSetText() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Text) - } - return l -} - -func (p *Content) field11Length() int { - l := 0 - if p.IsSetImage() { - l += thrift.Binary.FieldBeginLength() - l += p.Image.BLength() - } - return l -} - -func (p *Content) field12Length() int { - l := 0 - if p.IsSetMultiPart() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.MultiPart { - _ = v - l += v.BLength() - } - } - return l -} - -func (p *Content) DeepCopy(s interface{}) error { - src, ok := s.(*Content) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.ContentType != nil { - tmp := *src.ContentType - p.ContentType = &tmp - } - - if src.Text != nil { - var tmp string - if *src.Text != "" { - tmp = kutils.StringDeepCopy(*src.Text) - } - p.Text = &tmp - } - - var _image *Image - if src.Image != nil { - _image = &Image{} - if err := _image.DeepCopy(src.Image); err != nil { - return err - } - } - p.Image = _image - - if src.MultiPart != nil { - p.MultiPart = make([]*Content, 0, len(src.MultiPart)) - for _, elem := range src.MultiPart { - var _elem *Content - if elem != nil { - _elem = &Content{} - if err := _elem.DeepCopy(elem); err != nil { - return err - } - } - - p.MultiPart = append(p.MultiPart, _elem) - } - } - - return nil -} - -func (p *Image) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_Image[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *Image) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.URL = _field - return offset, nil -} - -func (p *Image) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *Image) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *Image) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *Image) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetURL() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 1) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.URL) - } - return offset -} - -func (p *Image) field1Length() int { - l := 0 - if p.IsSetURL() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.URL) - } - return l -} - -func (p *Image) DeepCopy(s interface{}) error { - src, ok := s.(*Image) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.URL != nil { - var tmp string - if *src.URL != "" { - tmp = kutils.StringDeepCopy(*src.URL) - } - p.URL = &tmp - } - - return nil -} - -func (p *InvokeEvalTargetUsage) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_InvokeEvalTargetUsage[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *InvokeEvalTargetUsage) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.InputTokens = _field - return offset, nil -} - -func (p *InvokeEvalTargetUsage) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.OutputTokens = _field - return offset, nil -} - -func (p *InvokeEvalTargetUsage) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *InvokeEvalTargetUsage) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *InvokeEvalTargetUsage) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *InvokeEvalTargetUsage) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInputTokens() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.InputTokens) - } - return offset -} - -func (p *InvokeEvalTargetUsage) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetOutputTokens() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) - offset += thrift.Binary.WriteI64(buf[offset:], *p.OutputTokens) - } - return offset -} - -func (p *InvokeEvalTargetUsage) field1Length() int { - l := 0 - if p.IsSetInputTokens() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *InvokeEvalTargetUsage) field2Length() int { - l := 0 - if p.IsSetOutputTokens() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *InvokeEvalTargetUsage) DeepCopy(s interface{}) error { - src, ok := s.(*InvokeEvalTargetUsage) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.InputTokens != nil { - tmp := *src.InputTokens - p.InputTokens = &tmp - } - - if src.OutputTokens != nil { - tmp := *src.OutputTokens - p.OutputTokens = &tmp - } - - return nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 4: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 5: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField5(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncInvokeEvalTargetRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *AsyncInvokeEvalTargetRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.InvokeID = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetInput() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Input = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastReadField5(buf []byte) (int, error) { - offset := 0 - _field := NewCustomEvalTarget() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.CustomEvalTarget = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *AsyncInvokeEvalTargetRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField5(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field4Length() - l += p.field5Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *AsyncInvokeEvalTargetRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInvokeID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 2) - offset += thrift.Binary.WriteI64(buf[offset:], *p.InvokeID) - } - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetInput() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 4) - offset += p.Input.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCustomEvalTarget() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 5) - offset += p.CustomEvalTarget.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *AsyncInvokeEvalTargetRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *AsyncInvokeEvalTargetRequest) field2Length() int { - l := 0 - if p.IsSetInvokeID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *AsyncInvokeEvalTargetRequest) field4Length() int { - l := 0 - if p.IsSetInput() { - l += thrift.Binary.FieldBeginLength() - l += p.Input.BLength() - } - return l -} - -func (p *AsyncInvokeEvalTargetRequest) field5Length() int { - l := 0 - if p.IsSetCustomEvalTarget() { - l += thrift.Binary.FieldBeginLength() - l += p.CustomEvalTarget.BLength() - } - return l -} - -func (p *AsyncInvokeEvalTargetRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *AsyncInvokeEvalTargetRequest) DeepCopy(s interface{}) error { - src, ok := s.(*AsyncInvokeEvalTargetRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.InvokeID != nil { - tmp := *src.InvokeID - p.InvokeID = &tmp - } - - var _input *InvokeEvalTargetInput - if src.Input != nil { - _input = &InvokeEvalTargetInput{} - if err := _input.DeepCopy(src.Input); err != nil { - return err - } - } - p.Input = _input - - var _customEvalTarget *CustomEvalTarget - if src.CustomEvalTarget != nil { - _customEvalTarget = &CustomEvalTarget{} - if err := _customEvalTarget.DeepCopy(src.CustomEvalTarget); err != nil { - return err - } - } - p.CustomEvalTarget = _customEvalTarget - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *AsyncInvokeEvalTargetResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_AsyncInvokeEvalTargetResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *AsyncInvokeEvalTargetResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *AsyncInvokeEvalTargetResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *AsyncInvokeEvalTargetResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *AsyncInvokeEvalTargetResponse) BLength() int { - l := 0 - if p != nil { - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *AsyncInvokeEvalTargetResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *AsyncInvokeEvalTargetResponse) field255Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - return l -} - -func (p *AsyncInvokeEvalTargetResponse) DeepCopy(s interface{}) error { - src, ok := s.(*AsyncInvokeEvalTargetResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceSearchEvalTargetArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewSearchEvalTargetRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceSearchEvalTargetArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *SearchEvalTargetRequest - if src.Req != nil { - _req = &SearchEvalTargetRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceSearchEvalTargetResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewSearchEvalTargetResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceSearchEvalTargetResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *SearchEvalTargetResponse - if src.Success != nil { - _success = &SearchEvalTargetResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceInvokeEvalTargetArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceInvokeEvalTargetArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *InvokeEvalTargetRequest - if src.Req != nil { - _req = &InvokeEvalTargetRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceInvokeEvalTargetResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewInvokeEvalTargetResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceInvokeEvalTargetResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *InvokeEvalTargetResponse - if src.Success != nil { - _success = &InvokeEvalTargetResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewAsyncInvokeEvalTargetRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceAsyncInvokeEvalTargetArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *AsyncInvokeEvalTargetRequest - if src.Req != nil { - _req = &AsyncInvokeEvalTargetRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_EvaluationSPIServiceAsyncInvokeEvalTargetResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewAsyncInvokeEvalTargetResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) DeepCopy(s interface{}) error { - src, ok := s.(*EvaluationSPIServiceAsyncInvokeEvalTargetResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *AsyncInvokeEvalTargetResponse - if src.Success != nil { - _success = &AsyncInvokeEvalTargetResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - -func (p *EvaluationSPIServiceSearchEvalTargetArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *EvaluationSPIServiceSearchEvalTargetResult) GetResult() interface{} { - return p.Success -} - -func (p *EvaluationSPIServiceInvokeEvalTargetArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *EvaluationSPIServiceInvokeEvalTargetResult) GetResult() interface{} { - return p.Success -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *EvaluationSPIServiceAsyncInvokeEvalTargetResult) GetResult() interface{} { - return p.Success -} diff --git a/backend/kitex_gen/coze/loop/observability/domain/filter/filter.go b/backend/kitex_gen/coze/loop/observability/domain/filter/filter.go index 4812e3c0c..231a1678c 100644 --- a/backend/kitex_gen/coze/loop/observability/domain/filter/filter.go +++ b/backend/kitex_gen/coze/loop/observability/domain/filter/filter.go @@ -348,7 +348,6 @@ type FilterField struct { QueryType *QueryType `thrift:"query_type,4,optional" frugal:"4,optional,string" form:"query_type" json:"query_type,omitempty" query:"query_type"` QueryAndOr *QueryRelation `thrift:"query_and_or,5,optional" frugal:"5,optional,string" form:"query_and_or" json:"query_and_or,omitempty" query:"query_and_or"` SubFilter *FilterFields `thrift:"sub_filter,6,optional" frugal:"6,optional,FilterFields" form:"sub_filter" json:"sub_filter,omitempty" query:"sub_filter"` - IsCustom *bool `thrift:"is_custom,7,optional" frugal:"7,optional,bool" form:"is_custom" json:"is_custom,omitempty" query:"is_custom"` } func NewFilterField() *FilterField { @@ -429,18 +428,6 @@ func (p *FilterField) GetSubFilter() (v *FilterFields) { } return p.SubFilter } - -var FilterField_IsCustom_DEFAULT bool - -func (p *FilterField) GetIsCustom() (v bool) { - if p == nil { - return - } - if !p.IsSetIsCustom() { - return FilterField_IsCustom_DEFAULT - } - return *p.IsCustom -} func (p *FilterField) SetFieldName(val *string) { p.FieldName = val } @@ -459,9 +446,6 @@ func (p *FilterField) SetQueryAndOr(val *QueryRelation) { func (p *FilterField) SetSubFilter(val *FilterFields) { p.SubFilter = val } -func (p *FilterField) SetIsCustom(val *bool) { - p.IsCustom = val -} var fieldIDToName_FilterField = map[int16]string{ 1: "field_name", @@ -470,7 +454,6 @@ var fieldIDToName_FilterField = map[int16]string{ 4: "query_type", 5: "query_and_or", 6: "sub_filter", - 7: "is_custom", } func (p *FilterField) IsSetFieldName() bool { @@ -497,10 +480,6 @@ func (p *FilterField) IsSetSubFilter() bool { return p.SubFilter != nil } -func (p *FilterField) IsSetIsCustom() bool { - return p.IsCustom != nil -} - func (p *FilterField) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -567,14 +546,6 @@ func (p *FilterField) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 7: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField7(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } default: if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError @@ -679,17 +650,6 @@ func (p *FilterField) ReadField6(iprot thrift.TProtocol) error { p.SubFilter = _field return nil } -func (p *FilterField) ReadField7(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.IsCustom = _field - return nil -} func (p *FilterField) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 @@ -721,10 +681,6 @@ func (p *FilterField) Write(oprot thrift.TProtocol) (err error) { fieldId = 6 goto WriteFieldError } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -859,24 +815,6 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *FilterField) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetIsCustom() { - if err = oprot.WriteFieldBegin("is_custom", thrift.BOOL, 7); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.IsCustom); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) -} func (p *FilterField) String() string { if p == nil { @@ -910,9 +848,6 @@ func (p *FilterField) DeepEqual(ano *FilterField) bool { if !p.Field6DeepEqual(ano.SubFilter) { return false } - if !p.Field7DeepEqual(ano.IsCustom) { - return false - } return true } @@ -984,18 +919,6 @@ func (p *FilterField) Field6DeepEqual(src *FilterFields) bool { } return true } -func (p *FilterField) Field7DeepEqual(src *bool) bool { - - if p.IsCustom == src { - return true - } else if p.IsCustom == nil || src == nil { - return false - } - if *p.IsCustom != *src { - return false - } - return true -} type FieldOptions struct { I64List []int64 `thrift:"i64_list,2,optional" frugal:"2,optional,list" json:"i64_list" form:"i64_list" query:"i64_list"` diff --git a/backend/kitex_gen/coze/loop/observability/domain/filter/k-filter.go b/backend/kitex_gen/coze/loop/observability/domain/filter/k-filter.go index 26d26b6f2..4e4867186 100644 --- a/backend/kitex_gen/coze/loop/observability/domain/filter/k-filter.go +++ b/backend/kitex_gen/coze/loop/observability/domain/filter/k-filter.go @@ -334,20 +334,6 @@ func (p *FilterField) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 7: - if fieldTypeId == thrift.BOOL { - l, err = p.FastReadField7(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } default: l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) offset += l @@ -458,20 +444,6 @@ func (p *FilterField) FastReadField6(buf []byte) (int, error) { return offset, nil } -func (p *FilterField) FastReadField7(buf []byte) (int, error) { - offset := 0 - - var _field *bool - if v, l, err := thrift.Binary.ReadBool(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.IsCustom = _field - return offset, nil -} - func (p *FilterField) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } @@ -479,7 +451,6 @@ func (p *FilterField) FastWrite(buf []byte) int { func (p *FilterField) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { - offset += p.fastWriteField7(buf[offset:], w) offset += p.fastWriteField1(buf[offset:], w) offset += p.fastWriteField2(buf[offset:], w) offset += p.fastWriteField3(buf[offset:], w) @@ -500,7 +471,6 @@ func (p *FilterField) BLength() int { l += p.field4Length() l += p.field5Length() l += p.field6Length() - l += p.field7Length() } l += thrift.Binary.FieldStopLength() return l @@ -567,15 +537,6 @@ func (p *FilterField) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { return offset } -func (p *FilterField) fastWriteField7(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetIsCustom() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.BOOL, 7) - offset += thrift.Binary.WriteBool(buf[offset:], *p.IsCustom) - } - return offset -} - func (p *FilterField) field1Length() int { l := 0 if p.IsSetFieldName() { @@ -634,15 +595,6 @@ func (p *FilterField) field6Length() int { return l } -func (p *FilterField) field7Length() int { - l := 0 - if p.IsSetIsCustom() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.BoolLength() - } - return l -} - func (p *FilterField) DeepCopy(s interface{}) error { src, ok := s.(*FilterField) if !ok { @@ -692,11 +644,6 @@ func (p *FilterField) DeepCopy(s interface{}) error { } p.SubFilter = _subFilter - if src.IsCustom != nil { - tmp := *src.IsCustom - p.IsCustom = &tmp - } - return nil } diff --git a/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/client.go b/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/client.go index e1d170434..2952f3631 100644 --- a/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/client.go +++ b/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/client.go @@ -14,7 +14,6 @@ type Client interface { IngestTraces(ctx context.Context, req *openapi.IngestTracesRequest, callOptions ...callopt.Option) (r *openapi.IngestTracesResponse, err error) OtelIngestTraces(ctx context.Context, req *openapi.OtelIngestTracesRequest, callOptions ...callopt.Option) (r *openapi.OtelIngestTracesResponse, err error) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceOApiResponse, err error) - SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) ListTracesOApi(ctx context.Context, req *openapi.ListTracesOApiRequest, callOptions ...callopt.Option) (r *openapi.ListTracesOApiResponse, err error) CreateAnnotation(ctx context.Context, req *openapi.CreateAnnotationRequest, callOptions ...callopt.Option) (r *openapi.CreateAnnotationResponse, err error) @@ -65,11 +64,6 @@ func (p *kObservabilityOpenAPIServiceClient) SearchTraceOApi(ctx context.Context return p.kClient.SearchTraceOApi(ctx, req) } -func (p *kObservabilityOpenAPIServiceClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTreeOApi(ctx, req) -} - func (p *kObservabilityOpenAPIServiceClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ListSpansOApi(ctx, req) diff --git a/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/observabilityopenapiservice.go b/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/observabilityopenapiservice.go index 91239ed75..080b77e35 100644 --- a/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/observabilityopenapiservice.go +++ b/backend/kitex_gen/coze/loop/observability/observabilityopenapiservice/observabilityopenapiservice.go @@ -35,13 +35,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTreeOApi": kitex.NewMethodInfo( - searchTraceTreeOApiHandler, - newOpenAPIServiceSearchTraceTreeOApiArgs, - newOpenAPIServiceSearchTraceTreeOApiResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ListSpansOApi": kitex.NewMethodInfo( listSpansOApiHandler, newOpenAPIServiceListSpansOApiArgs, @@ -160,25 +153,6 @@ func newOpenAPIServiceSearchTraceOApiResult() interface{} { return openapi.NewOpenAPIServiceSearchTraceOApiResult() } -func searchTraceTreeOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.OpenAPIServiceSearchTraceTreeOApiArgs) - realResult := result.(*openapi.OpenAPIServiceSearchTraceTreeOApiResult) - success, err := handler.(openapi.OpenAPIService).SearchTraceTreeOApi(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newOpenAPIServiceSearchTraceTreeOApiArgs() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiArgs() -} - -func newOpenAPIServiceSearchTraceTreeOApiResult() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiResult() -} - func listSpansOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*openapi.OpenAPIServiceListSpansOApiArgs) realResult := result.(*openapi.OpenAPIServiceListSpansOApiResult) @@ -297,16 +271,6 @@ func (p *kClient) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceO return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) (r *openapi.SearchTraceTreeOApiResponse, err error) { - var _args openapi.OpenAPIServiceSearchTraceTreeOApiArgs - _args.Req = req - var _result openapi.OpenAPIServiceSearchTraceTreeOApiResult - if err = p.c.Call(ctx, "SearchTraceTreeOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest) (r *openapi.ListSpansOApiResponse, err error) { var _args openapi.OpenAPIServiceListSpansOApiArgs _args.Req = req diff --git a/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/client.go b/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/client.go index 21403e1db..9079d147d 100644 --- a/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/client.go +++ b/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/client.go @@ -13,7 +13,6 @@ import ( type Client interface { ListSpans(ctx context.Context, req *trace.ListSpansRequest, callOptions ...callopt.Option) (r *trace.ListSpansResponse, err error) GetTrace(ctx context.Context, req *trace.GetTraceRequest, callOptions ...callopt.Option) (r *trace.GetTraceResponse, err error) - SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) IngestTracesInner(ctx context.Context, req *trace.IngestTracesRequest, callOptions ...callopt.Option) (r *trace.IngestTracesResponse, err error) GetTracesMetaInfo(ctx context.Context, req *trace.GetTracesMetaInfoRequest, callOptions ...callopt.Option) (r *trace.GetTracesMetaInfoResponse, err error) @@ -71,11 +70,6 @@ func (p *kObservabilityTraceServiceClient) GetTrace(ctx context.Context, req *tr return p.kClient.GetTrace(ctx, req) } -func (p *kObservabilityTraceServiceClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTree(ctx, req) -} - func (p *kObservabilityTraceServiceClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.BatchGetTracesAdvanceInfo(ctx, req) diff --git a/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/observabilitytraceservice.go b/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/observabilitytraceservice.go index e5c48426e..30bdc7a2f 100644 --- a/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/observabilitytraceservice.go +++ b/backend/kitex_gen/coze/loop/observability/observabilitytraceservice/observabilitytraceservice.go @@ -28,13 +28,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTree": kitex.NewMethodInfo( - searchTraceTreeHandler, - newTraceServiceSearchTraceTreeArgs, - newTraceServiceSearchTraceTreeResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "BatchGetTracesAdvanceInfo": kitex.NewMethodInfo( batchGetTracesAdvanceInfoHandler, newTraceServiceBatchGetTracesAdvanceInfoArgs, @@ -218,25 +211,6 @@ func newTraceServiceGetTraceResult() interface{} { return trace.NewTraceServiceGetTraceResult() } -func searchTraceTreeHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*trace.TraceServiceSearchTraceTreeArgs) - realResult := result.(*trace.TraceServiceSearchTraceTreeResult) - success, err := handler.(trace.TraceService).SearchTraceTree(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newTraceServiceSearchTraceTreeArgs() interface{} { - return trace.NewTraceServiceSearchTraceTreeArgs() -} - -func newTraceServiceSearchTraceTreeResult() interface{} { - return trace.NewTraceServiceSearchTraceTreeResult() -} - func batchGetTracesAdvanceInfoHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*trace.TraceServiceBatchGetTracesAdvanceInfoArgs) realResult := result.(*trace.TraceServiceBatchGetTracesAdvanceInfoResult) @@ -573,16 +547,6 @@ func (p *kClient) GetTrace(ctx context.Context, req *trace.GetTraceRequest) (r * return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest) (r *trace.SearchTraceTreeResponse, err error) { - var _args trace.TraceServiceSearchTraceTreeArgs - _args.Req = req - var _result trace.TraceServiceSearchTraceTreeResult - if err = p.c.Call(ctx, "SearchTraceTree", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { var _args trace.TraceServiceBatchGetTracesAdvanceInfoArgs _args.Req = req diff --git a/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi.go b/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi.go index d1c418320..7ba729b63 100644 --- a/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi.go +++ b/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi.go @@ -2867,7 +2867,6 @@ type SearchTraceOApiRequest struct { EndTime int64 `thrift:"end_time,5,required" frugal:"5,required,i64" json:"end_time" form:"end_time,required" ` Limit int32 `thrift:"limit,6,required" frugal:"6,required,i32" form:"limit,required" json:"limit,required"` PlatformType *common.PlatformType `thrift:"platform_type,8,optional" frugal:"8,optional,string" form:"platform_type" json:"platform_type,omitempty"` - SpanIds []string `thrift:"span_ids,9,optional" frugal:"9,optional,list" json:"span_ids,omitempty" query:"span_ids"` Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } @@ -2942,18 +2941,6 @@ func (p *SearchTraceOApiRequest) GetPlatformType() (v common.PlatformType) { return *p.PlatformType } -var SearchTraceOApiRequest_SpanIds_DEFAULT []string - -func (p *SearchTraceOApiRequest) GetSpanIds() (v []string) { - if p == nil { - return - } - if !p.IsSetSpanIds() { - return SearchTraceOApiRequest_SpanIds_DEFAULT - } - return p.SpanIds -} - var SearchTraceOApiRequest_Base_DEFAULT *base.Base func (p *SearchTraceOApiRequest) GetBase() (v *base.Base) { @@ -2986,9 +2973,6 @@ func (p *SearchTraceOApiRequest) SetLimit(val int32) { func (p *SearchTraceOApiRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *SearchTraceOApiRequest) SetSpanIds(val []string) { - p.SpanIds = val -} func (p *SearchTraceOApiRequest) SetBase(val *base.Base) { p.Base = val } @@ -3001,7 +2985,6 @@ var fieldIDToName_SearchTraceOApiRequest = map[int16]string{ 5: "end_time", 6: "limit", 8: "platform_type", - 9: "span_ids", 255: "Base", } @@ -3017,10 +3000,6 @@ func (p *SearchTraceOApiRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *SearchTraceOApiRequest) IsSetSpanIds() bool { - return p.SpanIds != nil -} - func (p *SearchTraceOApiRequest) IsSetBase() bool { return p.Base != nil } @@ -3107,14 +3086,6 @@ func (p *SearchTraceOApiRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 9: - if fieldTypeId == thrift.LIST { - if err = p.ReadField9(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -3250,29 +3221,6 @@ func (p *SearchTraceOApiRequest) ReadField8(iprot thrift.TProtocol) error { p.PlatformType = _field return nil } -func (p *SearchTraceOApiRequest) ReadField9(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - - var _elem string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _elem = v - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.SpanIds = _field - return nil -} func (p *SearchTraceOApiRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { @@ -3316,10 +3264,6 @@ func (p *SearchTraceOApiRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 8 goto WriteFieldError } - if err = p.writeField9(oprot); err != nil { - fieldId = 9 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -3460,32 +3404,6 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) } -func (p *SearchTraceOApiRequest) writeField9(oprot thrift.TProtocol) (err error) { - if p.IsSetSpanIds() { - if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 9); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRING, len(p.SpanIds)); err != nil { - return err - } - for _, v := range p.SpanIds { - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) -} func (p *SearchTraceOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { @@ -3540,9 +3458,6 @@ func (p *SearchTraceOApiRequest) DeepEqual(ano *SearchTraceOApiRequest) bool { if !p.Field8DeepEqual(ano.PlatformType) { return false } - if !p.Field9DeepEqual(ano.SpanIds) { - return false - } if !p.Field255DeepEqual(ano.Base) { return false } @@ -3613,19 +3528,6 @@ func (p *SearchTraceOApiRequest) Field8DeepEqual(src *common.PlatformType) bool } return true } -func (p *SearchTraceOApiRequest) Field9DeepEqual(src []string) bool { - - if len(p.SpanIds) != len(src) { - return false - } - for i, v := range p.SpanIds { - _src := src[i] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} func (p *SearchTraceOApiRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { @@ -4298,184 +4200,210 @@ func (p *SearchTraceOApiData) Field2DeepEqual(src *trace0.TraceAdvanceInfo) bool return true } -type SearchTraceTreeOApiRequest struct { - WorkspaceID *int64 `thrift:"workspace_id,1,optional" frugal:"1,optional,i64" json:"workspace_id" form:"workspace_id" ` - TraceID *string `thrift:"trace_id,3,optional" frugal:"3,optional,string" json:"trace_id" form:"trace_id" ` +type ListSpansOApiRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` // ms - StartTime *int64 `thrift:"start_time,4,optional" frugal:"4,optional,i64" json:"start_time" form:"start_time" ` + StartTime int64 `thrift:"start_time,2,required" frugal:"2,required,i64" json:"start_time" form:"start_time,required" ` // ms - EndTime *int64 `thrift:"end_time,5,optional" frugal:"5,optional,i64" json:"end_time" form:"end_time" ` - Limit int32 `thrift:"limit,6,required" frugal:"6,required,i32" form:"limit,required" json:"limit,required"` + EndTime int64 `thrift:"end_time,3,required" frugal:"3,required,i64" json:"end_time" form:"end_time,required" ` + Filters *filter.FilterFields `thrift:"filters,4,optional" frugal:"4,optional,filter.FilterFields" form:"filters" json:"filters,omitempty"` + PageSize *int32 `thrift:"page_size,5,optional" frugal:"5,optional,i32" form:"page_size" json:"page_size,omitempty"` + OrderBys []*common.OrderBy `thrift:"order_bys,6,optional" frugal:"6,optional,list" form:"order_bys" json:"order_bys,omitempty"` + PageToken *string `thrift:"page_token,7,optional" frugal:"7,optional,string" form:"page_token" json:"page_token,omitempty"` PlatformType *common.PlatformType `thrift:"platform_type,8,optional" frugal:"8,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Filters *filter.FilterFields `thrift:"filters,10,optional" frugal:"10,optional,filter.FilterFields" form:"filters" json:"filters,omitempty"` + SpanListType *common.SpanListType `thrift:"span_list_type,9,optional" frugal:"9,optional,string" form:"span_list_type" json:"span_list_type,omitempty"` Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewSearchTraceTreeOApiRequest() *SearchTraceTreeOApiRequest { - return &SearchTraceTreeOApiRequest{} +func NewListSpansOApiRequest() *ListSpansOApiRequest { + return &ListSpansOApiRequest{} } -func (p *SearchTraceTreeOApiRequest) InitDefault() { +func (p *ListSpansOApiRequest) InitDefault() { } -var SearchTraceTreeOApiRequest_WorkspaceID_DEFAULT int64 +func (p *ListSpansOApiRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} -func (p *SearchTraceTreeOApiRequest) GetWorkspaceID() (v int64) { - if p == nil { - return +func (p *ListSpansOApiRequest) GetStartTime() (v int64) { + if p != nil { + return p.StartTime } - if !p.IsSetWorkspaceID() { - return SearchTraceTreeOApiRequest_WorkspaceID_DEFAULT + return +} + +func (p *ListSpansOApiRequest) GetEndTime() (v int64) { + if p != nil { + return p.EndTime } - return *p.WorkspaceID + return } -var SearchTraceTreeOApiRequest_TraceID_DEFAULT string +var ListSpansOApiRequest_Filters_DEFAULT *filter.FilterFields -func (p *SearchTraceTreeOApiRequest) GetTraceID() (v string) { +func (p *ListSpansOApiRequest) GetFilters() (v *filter.FilterFields) { if p == nil { return } - if !p.IsSetTraceID() { - return SearchTraceTreeOApiRequest_TraceID_DEFAULT + if !p.IsSetFilters() { + return ListSpansOApiRequest_Filters_DEFAULT } - return *p.TraceID + return p.Filters } -var SearchTraceTreeOApiRequest_StartTime_DEFAULT int64 +var ListSpansOApiRequest_PageSize_DEFAULT int32 -func (p *SearchTraceTreeOApiRequest) GetStartTime() (v int64) { +func (p *ListSpansOApiRequest) GetPageSize() (v int32) { if p == nil { return } - if !p.IsSetStartTime() { - return SearchTraceTreeOApiRequest_StartTime_DEFAULT + if !p.IsSetPageSize() { + return ListSpansOApiRequest_PageSize_DEFAULT } - return *p.StartTime + return *p.PageSize } -var SearchTraceTreeOApiRequest_EndTime_DEFAULT int64 +var ListSpansOApiRequest_OrderBys_DEFAULT []*common.OrderBy -func (p *SearchTraceTreeOApiRequest) GetEndTime() (v int64) { +func (p *ListSpansOApiRequest) GetOrderBys() (v []*common.OrderBy) { if p == nil { return } - if !p.IsSetEndTime() { - return SearchTraceTreeOApiRequest_EndTime_DEFAULT + if !p.IsSetOrderBys() { + return ListSpansOApiRequest_OrderBys_DEFAULT } - return *p.EndTime + return p.OrderBys } -func (p *SearchTraceTreeOApiRequest) GetLimit() (v int32) { - if p != nil { - return p.Limit +var ListSpansOApiRequest_PageToken_DEFAULT string + +func (p *ListSpansOApiRequest) GetPageToken() (v string) { + if p == nil { + return } - return + if !p.IsSetPageToken() { + return ListSpansOApiRequest_PageToken_DEFAULT + } + return *p.PageToken } -var SearchTraceTreeOApiRequest_PlatformType_DEFAULT common.PlatformType +var ListSpansOApiRequest_PlatformType_DEFAULT common.PlatformType -func (p *SearchTraceTreeOApiRequest) GetPlatformType() (v common.PlatformType) { +func (p *ListSpansOApiRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } if !p.IsSetPlatformType() { - return SearchTraceTreeOApiRequest_PlatformType_DEFAULT + return ListSpansOApiRequest_PlatformType_DEFAULT } return *p.PlatformType } -var SearchTraceTreeOApiRequest_Filters_DEFAULT *filter.FilterFields +var ListSpansOApiRequest_SpanListType_DEFAULT common.SpanListType -func (p *SearchTraceTreeOApiRequest) GetFilters() (v *filter.FilterFields) { +func (p *ListSpansOApiRequest) GetSpanListType() (v common.SpanListType) { if p == nil { return } - if !p.IsSetFilters() { - return SearchTraceTreeOApiRequest_Filters_DEFAULT + if !p.IsSetSpanListType() { + return ListSpansOApiRequest_SpanListType_DEFAULT } - return p.Filters + return *p.SpanListType } -var SearchTraceTreeOApiRequest_Base_DEFAULT *base.Base +var ListSpansOApiRequest_Base_DEFAULT *base.Base -func (p *SearchTraceTreeOApiRequest) GetBase() (v *base.Base) { +func (p *ListSpansOApiRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return SearchTraceTreeOApiRequest_Base_DEFAULT + return ListSpansOApiRequest_Base_DEFAULT } return p.Base } -func (p *SearchTraceTreeOApiRequest) SetWorkspaceID(val *int64) { +func (p *ListSpansOApiRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *SearchTraceTreeOApiRequest) SetTraceID(val *string) { - p.TraceID = val -} -func (p *SearchTraceTreeOApiRequest) SetStartTime(val *int64) { +func (p *ListSpansOApiRequest) SetStartTime(val int64) { p.StartTime = val } -func (p *SearchTraceTreeOApiRequest) SetEndTime(val *int64) { +func (p *ListSpansOApiRequest) SetEndTime(val int64) { p.EndTime = val } -func (p *SearchTraceTreeOApiRequest) SetLimit(val int32) { - p.Limit = val +func (p *ListSpansOApiRequest) SetFilters(val *filter.FilterFields) { + p.Filters = val +} +func (p *ListSpansOApiRequest) SetPageSize(val *int32) { + p.PageSize = val +} +func (p *ListSpansOApiRequest) SetOrderBys(val []*common.OrderBy) { + p.OrderBys = val +} +func (p *ListSpansOApiRequest) SetPageToken(val *string) { + p.PageToken = val } -func (p *SearchTraceTreeOApiRequest) SetPlatformType(val *common.PlatformType) { +func (p *ListSpansOApiRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *SearchTraceTreeOApiRequest) SetFilters(val *filter.FilterFields) { - p.Filters = val +func (p *ListSpansOApiRequest) SetSpanListType(val *common.SpanListType) { + p.SpanListType = val } -func (p *SearchTraceTreeOApiRequest) SetBase(val *base.Base) { +func (p *ListSpansOApiRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_SearchTraceTreeOApiRequest = map[int16]string{ +var fieldIDToName_ListSpansOApiRequest = map[int16]string{ 1: "workspace_id", - 3: "trace_id", - 4: "start_time", - 5: "end_time", - 6: "limit", + 2: "start_time", + 3: "end_time", + 4: "filters", + 5: "page_size", + 6: "order_bys", + 7: "page_token", 8: "platform_type", - 10: "filters", + 9: "span_list_type", 255: "Base", } -func (p *SearchTraceTreeOApiRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil +func (p *ListSpansOApiRequest) IsSetFilters() bool { + return p.Filters != nil } -func (p *SearchTraceTreeOApiRequest) IsSetTraceID() bool { - return p.TraceID != nil +func (p *ListSpansOApiRequest) IsSetPageSize() bool { + return p.PageSize != nil } -func (p *SearchTraceTreeOApiRequest) IsSetStartTime() bool { - return p.StartTime != nil +func (p *ListSpansOApiRequest) IsSetOrderBys() bool { + return p.OrderBys != nil } -func (p *SearchTraceTreeOApiRequest) IsSetEndTime() bool { - return p.EndTime != nil +func (p *ListSpansOApiRequest) IsSetPageToken() bool { + return p.PageToken != nil } -func (p *SearchTraceTreeOApiRequest) IsSetPlatformType() bool { +func (p *ListSpansOApiRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *SearchTraceTreeOApiRequest) IsSetFilters() bool { - return p.Filters != nil +func (p *ListSpansOApiRequest) IsSetSpanListType() bool { + return p.SpanListType != nil } -func (p *SearchTraceTreeOApiRequest) IsSetBase() bool { +func (p *ListSpansOApiRequest) IsSetBase() bool { return p.Base != nil } -func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetLimit bool = false + var issetWorkspaceID bool = false + var issetStartTime bool = false + var issetEndTime bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4496,19 +4424,30 @@ func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.I64 { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } + issetEndTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 4: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } @@ -4516,7 +4455,7 @@ func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 5: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.I32 { if err = p.ReadField5(iprot); err != nil { goto ReadFieldError } @@ -4524,11 +4463,18 @@ func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 6: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.LIST { if err = p.ReadField6(iprot); err != nil { goto ReadFieldError } - issetLimit = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.STRING { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -4540,9 +4486,9 @@ func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 10: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField10(iprot); err != nil { + case 9: + if fieldTypeId == thrift.STRING { + if err = p.ReadField9(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -4569,8 +4515,18 @@ func (p *SearchTraceTreeOApiRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetLimit { - fieldId = 6 + if !issetWorkspaceID { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetStartTime { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetEndTime { + fieldId = 3 goto RequiredFieldNotSetError } return nil @@ -4579,7 +4535,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4588,65 +4544,96 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SearchTraceTreeOApiRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSpansOApiRequest[fieldId])) } -func (p *SearchTraceTreeOApiRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField1(iprot thrift.TProtocol) error { - var _field *int64 + var _field int64 if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } p.WorkspaceID = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *string - if v, err := iprot.ReadString(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } - p.TraceID = _field + p.StartTime = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField4(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField3(iprot thrift.TProtocol) error { - var _field *int64 + var _field int64 if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } - p.StartTime = _field + p.EndTime = _field + return nil +} +func (p *ListSpansOApiRequest) ReadField4(iprot thrift.TProtocol) error { + _field := filter.NewFilterFields() + if err := _field.Read(iprot); err != nil { + return err + } + p.Filters = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField5(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField5(iprot thrift.TProtocol) error { - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { return err } else { _field = &v } - p.EndTime = _field + p.PageSize = _field + return nil +} +func (p *ListSpansOApiRequest) ReadField6(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*common.OrderBy, 0, size) + values := make([]common.OrderBy, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.OrderBys = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField7(iprot thrift.TProtocol) error { - var _field int32 - if v, err := iprot.ReadI32(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } - p.Limit = _field + p.PageToken = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField8(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField8(iprot thrift.TProtocol) error { var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { @@ -4657,15 +4644,18 @@ func (p *SearchTraceTreeOApiRequest) ReadField8(iprot thrift.TProtocol) error { p.PlatformType = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField10(iprot thrift.TProtocol) error { - _field := filter.NewFilterFields() - if err := _field.Read(iprot); err != nil { +func (p *ListSpansOApiRequest) ReadField9(iprot thrift.TProtocol) error { + + var _field *common.SpanListType + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = &v } - p.Filters = _field + p.SpanListType = _field return nil } -func (p *SearchTraceTreeOApiRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ListSpansOApiRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -4674,9 +4664,9 @@ func (p *SearchTraceTreeOApiRequest) ReadField255(iprot thrift.TProtocol) error return nil } -func (p *SearchTraceTreeOApiRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeOApiRequest"); err != nil { + if err = oprot.WriteStructBegin("ListSpansOApiRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4684,6 +4674,10 @@ func (p *SearchTraceTreeOApiRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } if err = p.writeField3(oprot); err != nil { fieldId = 3 goto WriteFieldError @@ -4700,12 +4694,16 @@ func (p *SearchTraceTreeOApiRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 6 goto WriteFieldError } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } if err = p.writeField8(oprot); err != nil { fieldId = 8 goto WriteFieldError } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 + if err = p.writeField9(oprot); err != nil { + fieldId = 9 goto WriteFieldError } if err = p.writeField255(oprot); err != nil { @@ -4730,17 +4728,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSpansOApiRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -4748,17 +4744,31 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetTraceID() { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.TraceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSpansOApiRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.StartTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ListSpansOApiRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("end_time", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.EndTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -4766,12 +4776,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetStartTime() { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { +func (p *ListSpansOApiRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetFilters() { + if err = oprot.WriteFieldBegin("filters", thrift.STRUCT, 4); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(*p.StartTime); err != nil { + if err := p.Filters.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4784,12 +4794,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetEndTime() { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 5); err != nil { +func (p *ListSpansOApiRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetPageSize() { + if err = oprot.WriteFieldBegin("page_size", thrift.I32, 5); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(*p.EndTime); err != nil { + if err := oprot.WriteI32(*p.PageSize); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4802,15 +4812,25 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField6(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("limit", thrift.I32, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(p.Limit); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ListSpansOApiRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetOrderBys() { + if err = oprot.WriteFieldBegin("order_bys", thrift.LIST, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.OrderBys)); err != nil { + return err + } + for _, v := range p.OrderBys { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -4818,7 +4838,25 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField8(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiRequest) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetPageToken() { + if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PageToken); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} +func (p *ListSpansOApiRequest) writeField8(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 8); err != nil { goto WriteFieldBeginError @@ -4836,12 +4874,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetFilters() { - if err = oprot.WriteFieldBegin("filters", thrift.STRUCT, 10); err != nil { +func (p *ListSpansOApiRequest) writeField9(oprot thrift.TProtocol) (err error) { + if p.IsSetSpanListType() { + if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 9); err != nil { goto WriteFieldBeginError } - if err := p.Filters.Write(oprot); err != nil { + if err := oprot.WriteString(*p.SpanListType); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4850,11 +4888,11 @@ func (p *SearchTraceTreeOApiRequest) writeField10(oprot thrift.TProtocol) (err e } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -4873,15 +4911,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *SearchTraceTreeOApiRequest) String() string { +func (p *ListSpansOApiRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("SearchTraceTreeOApiRequest(%+v)", *p) + return fmt.Sprintf("ListSpansOApiRequest(%+v)", *p) } -func (p *SearchTraceTreeOApiRequest) DeepEqual(ano *SearchTraceTreeOApiRequest) bool { +func (p *ListSpansOApiRequest) DeepEqual(ano *ListSpansOApiRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -4890,22 +4928,28 @@ func (p *SearchTraceTreeOApiRequest) DeepEqual(ano *SearchTraceTreeOApiRequest) if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field3DeepEqual(ano.TraceID) { + if !p.Field2DeepEqual(ano.StartTime) { return false } - if !p.Field4DeepEqual(ano.StartTime) { + if !p.Field3DeepEqual(ano.EndTime) { return false } - if !p.Field5DeepEqual(ano.EndTime) { + if !p.Field4DeepEqual(ano.Filters) { return false } - if !p.Field6DeepEqual(ano.Limit) { + if !p.Field5DeepEqual(ano.PageSize) { + return false + } + if !p.Field6DeepEqual(ano.OrderBys) { + return false + } + if !p.Field7DeepEqual(ano.PageToken) { return false } if !p.Field8DeepEqual(ano.PlatformType) { return false } - if !p.Field10DeepEqual(ano.Filters) { + if !p.Field9DeepEqual(ano.SpanListType) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -4914,62 +4958,72 @@ func (p *SearchTraceTreeOApiRequest) DeepEqual(ano *SearchTraceTreeOApiRequest) return true } -func (p *SearchTraceTreeOApiRequest) Field1DeepEqual(src *int64) bool { +func (p *ListSpansOApiRequest) Field1DeepEqual(src int64) bool { - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { + if p.WorkspaceID != src { return false } - if *p.WorkspaceID != *src { + return true +} +func (p *ListSpansOApiRequest) Field2DeepEqual(src int64) bool { + + if p.StartTime != src { return false } return true } -func (p *SearchTraceTreeOApiRequest) Field3DeepEqual(src *string) bool { +func (p *ListSpansOApiRequest) Field3DeepEqual(src int64) bool { - if p.TraceID == src { - return true - } else if p.TraceID == nil || src == nil { + if p.EndTime != src { return false } - if strings.Compare(*p.TraceID, *src) != 0 { + return true +} +func (p *ListSpansOApiRequest) Field4DeepEqual(src *filter.FilterFields) bool { + + if !p.Filters.DeepEqual(src) { return false } return true } -func (p *SearchTraceTreeOApiRequest) Field4DeepEqual(src *int64) bool { +func (p *ListSpansOApiRequest) Field5DeepEqual(src *int32) bool { - if p.StartTime == src { + if p.PageSize == src { return true - } else if p.StartTime == nil || src == nil { + } else if p.PageSize == nil || src == nil { return false } - if *p.StartTime != *src { + if *p.PageSize != *src { return false } return true } -func (p *SearchTraceTreeOApiRequest) Field5DeepEqual(src *int64) bool { +func (p *ListSpansOApiRequest) Field6DeepEqual(src []*common.OrderBy) bool { - if p.EndTime == src { - return true - } else if p.EndTime == nil || src == nil { + if len(p.OrderBys) != len(src) { return false } - if *p.EndTime != *src { - return false + for i, v := range p.OrderBys { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } } return true } -func (p *SearchTraceTreeOApiRequest) Field6DeepEqual(src int32) bool { +func (p *ListSpansOApiRequest) Field7DeepEqual(src *string) bool { - if p.Limit != src { + if p.PageToken == src { + return true + } else if p.PageToken == nil || src == nil { + return false + } + if strings.Compare(*p.PageToken, *src) != 0 { return false } return true } -func (p *SearchTraceTreeOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { +func (p *ListSpansOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -4981,14 +5035,19 @@ func (p *SearchTraceTreeOApiRequest) Field8DeepEqual(src *common.PlatformType) b } return true } -func (p *SearchTraceTreeOApiRequest) Field10DeepEqual(src *filter.FilterFields) bool { +func (p *ListSpansOApiRequest) Field9DeepEqual(src *common.SpanListType) bool { - if !p.Filters.DeepEqual(src) { + if p.SpanListType == src { + return true + } else if p.SpanListType == nil || src == nil { + return false + } + if strings.Compare(*p.SpanListType, *src) != 0 { return false } return true } -func (p *SearchTraceTreeOApiRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListSpansOApiRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -4996,104 +5055,104 @@ func (p *SearchTraceTreeOApiRequest) Field255DeepEqual(src *base.Base) bool { return true } -type SearchTraceTreeOApiResponse struct { - Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty"` - Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty"` - Data *SearchTraceOApiData `thrift:"data,3,optional" frugal:"3,optional,SearchTraceOApiData" form:"data" json:"data,omitempty"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type ListSpansOApiResponse struct { + Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty"` + Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty"` + Data *ListSpansOApiData `thrift:"data,3,optional" frugal:"3,optional,ListSpansOApiData" form:"data" json:"data,omitempty"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewSearchTraceTreeOApiResponse() *SearchTraceTreeOApiResponse { - return &SearchTraceTreeOApiResponse{} +func NewListSpansOApiResponse() *ListSpansOApiResponse { + return &ListSpansOApiResponse{} } -func (p *SearchTraceTreeOApiResponse) InitDefault() { +func (p *ListSpansOApiResponse) InitDefault() { } -var SearchTraceTreeOApiResponse_Code_DEFAULT int32 +var ListSpansOApiResponse_Code_DEFAULT int32 -func (p *SearchTraceTreeOApiResponse) GetCode() (v int32) { +func (p *ListSpansOApiResponse) GetCode() (v int32) { if p == nil { return } if !p.IsSetCode() { - return SearchTraceTreeOApiResponse_Code_DEFAULT + return ListSpansOApiResponse_Code_DEFAULT } return *p.Code } -var SearchTraceTreeOApiResponse_Msg_DEFAULT string +var ListSpansOApiResponse_Msg_DEFAULT string -func (p *SearchTraceTreeOApiResponse) GetMsg() (v string) { +func (p *ListSpansOApiResponse) GetMsg() (v string) { if p == nil { return } if !p.IsSetMsg() { - return SearchTraceTreeOApiResponse_Msg_DEFAULT + return ListSpansOApiResponse_Msg_DEFAULT } return *p.Msg } -var SearchTraceTreeOApiResponse_Data_DEFAULT *SearchTraceOApiData +var ListSpansOApiResponse_Data_DEFAULT *ListSpansOApiData -func (p *SearchTraceTreeOApiResponse) GetData() (v *SearchTraceOApiData) { +func (p *ListSpansOApiResponse) GetData() (v *ListSpansOApiData) { if p == nil { return } if !p.IsSetData() { - return SearchTraceTreeOApiResponse_Data_DEFAULT + return ListSpansOApiResponse_Data_DEFAULT } return p.Data } -var SearchTraceTreeOApiResponse_BaseResp_DEFAULT *base.BaseResp +var ListSpansOApiResponse_BaseResp_DEFAULT *base.BaseResp -func (p *SearchTraceTreeOApiResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListSpansOApiResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return SearchTraceTreeOApiResponse_BaseResp_DEFAULT + return ListSpansOApiResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *SearchTraceTreeOApiResponse) SetCode(val *int32) { +func (p *ListSpansOApiResponse) SetCode(val *int32) { p.Code = val } -func (p *SearchTraceTreeOApiResponse) SetMsg(val *string) { +func (p *ListSpansOApiResponse) SetMsg(val *string) { p.Msg = val } -func (p *SearchTraceTreeOApiResponse) SetData(val *SearchTraceOApiData) { +func (p *ListSpansOApiResponse) SetData(val *ListSpansOApiData) { p.Data = val } -func (p *SearchTraceTreeOApiResponse) SetBaseResp(val *base.BaseResp) { +func (p *ListSpansOApiResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_SearchTraceTreeOApiResponse = map[int16]string{ +var fieldIDToName_ListSpansOApiResponse = map[int16]string{ 1: "code", 2: "msg", 3: "data", 255: "BaseResp", } -func (p *SearchTraceTreeOApiResponse) IsSetCode() bool { +func (p *ListSpansOApiResponse) IsSetCode() bool { return p.Code != nil } -func (p *SearchTraceTreeOApiResponse) IsSetMsg() bool { +func (p *ListSpansOApiResponse) IsSetMsg() bool { return p.Msg != nil } -func (p *SearchTraceTreeOApiResponse) IsSetData() bool { +func (p *ListSpansOApiResponse) IsSetData() bool { return p.Data != nil } -func (p *SearchTraceTreeOApiResponse) IsSetBaseResp() bool { +func (p *ListSpansOApiResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *SearchTraceTreeOApiResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -5162,7 +5221,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5172,7 +5231,7 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *ListSpansOApiResponse) ReadField1(iprot thrift.TProtocol) error { var _field *int32 if v, err := iprot.ReadI32(); err != nil { @@ -5183,7 +5242,7 @@ func (p *SearchTraceTreeOApiResponse) ReadField1(iprot thrift.TProtocol) error { p.Code = _field return nil } -func (p *SearchTraceTreeOApiResponse) ReadField2(iprot thrift.TProtocol) error { +func (p *ListSpansOApiResponse) ReadField2(iprot thrift.TProtocol) error { var _field *string if v, err := iprot.ReadString(); err != nil { @@ -5194,15 +5253,15 @@ func (p *SearchTraceTreeOApiResponse) ReadField2(iprot thrift.TProtocol) error { p.Msg = _field return nil } -func (p *SearchTraceTreeOApiResponse) ReadField3(iprot thrift.TProtocol) error { - _field := NewSearchTraceOApiData() +func (p *ListSpansOApiResponse) ReadField3(iprot thrift.TProtocol) error { + _field := NewListSpansOApiData() if err := _field.Read(iprot); err != nil { return err } p.Data = _field return nil } -func (p *SearchTraceTreeOApiResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ListSpansOApiResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -5211,9 +5270,9 @@ func (p *SearchTraceTreeOApiResponse) ReadField255(iprot thrift.TProtocol) error return nil } -func (p *SearchTraceTreeOApiResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeOApiResponse"); err != nil { + if err = oprot.WriteStructBegin("ListSpansOApiResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5251,7 +5310,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) writeField1(oprot thrift.TProtocol) (err error) { if p.IsSetCode() { if err = oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil { goto WriteFieldBeginError @@ -5269,7 +5328,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) writeField2(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) writeField2(oprot thrift.TProtocol) (err error) { if p.IsSetMsg() { if err = oprot.WriteFieldBegin("msg", thrift.STRING, 2); err != nil { goto WriteFieldBeginError @@ -5287,7 +5346,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) writeField3(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) writeField3(oprot thrift.TProtocol) (err error) { if p.IsSetData() { if err = oprot.WriteFieldBegin("data", thrift.STRUCT, 3); err != nil { goto WriteFieldBeginError @@ -5305,7 +5364,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -5324,15 +5383,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *SearchTraceTreeOApiResponse) String() string { +func (p *ListSpansOApiResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("SearchTraceTreeOApiResponse(%+v)", *p) + return fmt.Sprintf("ListSpansOApiResponse(%+v)", *p) } -func (p *SearchTraceTreeOApiResponse) DeepEqual(ano *SearchTraceTreeOApiResponse) bool { +func (p *ListSpansOApiResponse) DeepEqual(ano *ListSpansOApiResponse) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -5353,7 +5412,7 @@ func (p *SearchTraceTreeOApiResponse) DeepEqual(ano *SearchTraceTreeOApiResponse return true } -func (p *SearchTraceTreeOApiResponse) Field1DeepEqual(src *int32) bool { +func (p *ListSpansOApiResponse) Field1DeepEqual(src *int32) bool { if p.Code == src { return true @@ -5365,7 +5424,7 @@ func (p *SearchTraceTreeOApiResponse) Field1DeepEqual(src *int32) bool { } return true } -func (p *SearchTraceTreeOApiResponse) Field2DeepEqual(src *string) bool { +func (p *ListSpansOApiResponse) Field2DeepEqual(src *string) bool { if p.Msg == src { return true @@ -5377,14 +5436,14 @@ func (p *SearchTraceTreeOApiResponse) Field2DeepEqual(src *string) bool { } return true } -func (p *SearchTraceTreeOApiResponse) Field3DeepEqual(src *SearchTraceOApiData) bool { +func (p *ListSpansOApiResponse) Field3DeepEqual(src *ListSpansOApiData) bool { if !p.Data.DeepEqual(src) { return false } return true } -func (p *SearchTraceTreeOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListSpansOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -5392,56 +5451,61 @@ func (p *SearchTraceTreeOApiResponse) Field255DeepEqual(src *base.BaseResp) bool return true } -type SearchTraceTreeOApiData struct { - Spans []*span.OutputSpan `thrift:"spans,1,required" frugal:"1,required,list" form:"spans,required" json:"spans,required" query:"spans,required"` - TracesAdvanceInfo *trace0.TraceAdvanceInfo `thrift:"traces_advance_info,2,optional" frugal:"2,optional,trace.TraceAdvanceInfo" form:"traces_advance_info" json:"traces_advance_info,omitempty" query:"traces_advance_info"` +type ListSpansOApiData struct { + Spans []*span.OutputSpan `thrift:"spans,1,required" frugal:"1,required,list" form:"spans,required" json:"spans,required" query:"spans,required"` + NextPageToken string `thrift:"next_page_token,2,required" frugal:"2,required,string" form:"next_page_token,required" json:"next_page_token,required" query:"next_page_token,required"` + HasMore bool `thrift:"has_more,3,required" frugal:"3,required,bool" form:"has_more,required" json:"has_more,required" query:"has_more,required"` } -func NewSearchTraceTreeOApiData() *SearchTraceTreeOApiData { - return &SearchTraceTreeOApiData{} +func NewListSpansOApiData() *ListSpansOApiData { + return &ListSpansOApiData{} } -func (p *SearchTraceTreeOApiData) InitDefault() { +func (p *ListSpansOApiData) InitDefault() { } -func (p *SearchTraceTreeOApiData) GetSpans() (v []*span.OutputSpan) { +func (p *ListSpansOApiData) GetSpans() (v []*span.OutputSpan) { if p != nil { return p.Spans } return } -var SearchTraceTreeOApiData_TracesAdvanceInfo_DEFAULT *trace0.TraceAdvanceInfo - -func (p *SearchTraceTreeOApiData) GetTracesAdvanceInfo() (v *trace0.TraceAdvanceInfo) { - if p == nil { - return +func (p *ListSpansOApiData) GetNextPageToken() (v string) { + if p != nil { + return p.NextPageToken } - if !p.IsSetTracesAdvanceInfo() { - return SearchTraceTreeOApiData_TracesAdvanceInfo_DEFAULT + return +} + +func (p *ListSpansOApiData) GetHasMore() (v bool) { + if p != nil { + return p.HasMore } - return p.TracesAdvanceInfo + return } -func (p *SearchTraceTreeOApiData) SetSpans(val []*span.OutputSpan) { +func (p *ListSpansOApiData) SetSpans(val []*span.OutputSpan) { p.Spans = val } -func (p *SearchTraceTreeOApiData) SetTracesAdvanceInfo(val *trace0.TraceAdvanceInfo) { - p.TracesAdvanceInfo = val +func (p *ListSpansOApiData) SetNextPageToken(val string) { + p.NextPageToken = val } - -var fieldIDToName_SearchTraceTreeOApiData = map[int16]string{ - 1: "spans", - 2: "traces_advance_info", +func (p *ListSpansOApiData) SetHasMore(val bool) { + p.HasMore = val } -func (p *SearchTraceTreeOApiData) IsSetTracesAdvanceInfo() bool { - return p.TracesAdvanceInfo != nil +var fieldIDToName_ListSpansOApiData = map[int16]string{ + 1: "spans", + 2: "next_page_token", + 3: "has_more", } -func (p *SearchTraceTreeOApiData) Read(iprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiData) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetSpans bool = false + var issetNextPageToken bool = false + var issetHasMore bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5467,10 +5531,20 @@ func (p *SearchTraceTreeOApiData) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.STRING { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetNextPageToken = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.BOOL { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetHasMore = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5491,13 +5565,23 @@ func (p *SearchTraceTreeOApiData) Read(iprot thrift.TProtocol) (err error) { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetNextPageToken { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetHasMore { + fieldId = 3 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiData[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiData[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5506,10 +5590,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SearchTraceTreeOApiData[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSpansOApiData[fieldId])) } -func (p *SearchTraceTreeOApiData) ReadField1(iprot thrift.TProtocol) error { +func (p *ListSpansOApiData) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err @@ -5532,18 +5616,32 @@ func (p *SearchTraceTreeOApiData) ReadField1(iprot thrift.TProtocol) error { p.Spans = _field return nil } -func (p *SearchTraceTreeOApiData) ReadField2(iprot thrift.TProtocol) error { - _field := trace0.NewTraceAdvanceInfo() - if err := _field.Read(iprot); err != nil { +func (p *ListSpansOApiData) ReadField2(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v } - p.TracesAdvanceInfo = _field + p.NextPageToken = _field + return nil +} +func (p *ListSpansOApiData) ReadField3(iprot thrift.TProtocol) error { + + var _field bool + if v, err := iprot.ReadBool(); err != nil { + return err + } else { + _field = v + } + p.HasMore = _field return nil } -func (p *SearchTraceTreeOApiData) Write(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiData) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeOApiData"); err != nil { + if err = oprot.WriteStructBegin("ListSpansOApiData"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5555,6 +5653,10 @@ func (p *SearchTraceTreeOApiData) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -5573,7 +5675,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchTraceTreeOApiData) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ListSpansOApiData) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("spans", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } @@ -5597,17 +5699,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SearchTraceTreeOApiData) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetTracesAdvanceInfo() { - if err = oprot.WriteFieldBegin("traces_advance_info", thrift.STRUCT, 2); err != nil { - goto WriteFieldBeginError - } - if err := p.TracesAdvanceInfo.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListSpansOApiData) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.NextPageToken); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -5615,16 +5715,32 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } +func (p *ListSpansOApiData) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteBool(p.HasMore); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} -func (p *SearchTraceTreeOApiData) String() string { +func (p *ListSpansOApiData) String() string { if p == nil { return "" } - return fmt.Sprintf("SearchTraceTreeOApiData(%+v)", *p) + return fmt.Sprintf("ListSpansOApiData(%+v)", *p) } -func (p *SearchTraceTreeOApiData) DeepEqual(ano *SearchTraceTreeOApiData) bool { +func (p *ListSpansOApiData) DeepEqual(ano *ListSpansOApiData) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -5633,13 +5749,16 @@ func (p *SearchTraceTreeOApiData) DeepEqual(ano *SearchTraceTreeOApiData) bool { if !p.Field1DeepEqual(ano.Spans) { return false } - if !p.Field2DeepEqual(ano.TracesAdvanceInfo) { + if !p.Field2DeepEqual(ano.NextPageToken) { + return false + } + if !p.Field3DeepEqual(ano.HasMore) { return false } return true } -func (p *SearchTraceTreeOApiData) Field1DeepEqual(src []*span.OutputSpan) bool { +func (p *ListSpansOApiData) Field1DeepEqual(src []*span.OutputSpan) bool { if len(p.Spans) != len(src) { return false @@ -5652,218 +5771,133 @@ func (p *SearchTraceTreeOApiData) Field1DeepEqual(src []*span.OutputSpan) bool { } return true } -func (p *SearchTraceTreeOApiData) Field2DeepEqual(src *trace0.TraceAdvanceInfo) bool { +func (p *ListSpansOApiData) Field2DeepEqual(src string) bool { - if !p.TracesAdvanceInfo.DeepEqual(src) { + if strings.Compare(p.NextPageToken, src) != 0 { return false } return true } +func (p *ListSpansOApiData) Field3DeepEqual(src bool) bool { -type ListSpansOApiRequest struct { + if p.HasMore != src { + return false + } + return true +} + +type ListTracesOApiRequest struct { WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` // ms StartTime int64 `thrift:"start_time,2,required" frugal:"2,required,i64" json:"start_time" form:"start_time,required" ` // ms EndTime int64 `thrift:"end_time,3,required" frugal:"3,required,i64" json:"end_time" form:"end_time,required" ` - Filters *filter.FilterFields `thrift:"filters,4,optional" frugal:"4,optional,filter.FilterFields" form:"filters" json:"filters,omitempty"` - PageSize *int32 `thrift:"page_size,5,optional" frugal:"5,optional,i32" form:"page_size" json:"page_size,omitempty"` - OrderBys []*common.OrderBy `thrift:"order_bys,6,optional" frugal:"6,optional,list" form:"order_bys" json:"order_bys,omitempty"` - PageToken *string `thrift:"page_token,7,optional" frugal:"7,optional,string" form:"page_token" json:"page_token,omitempty"` + TraceIds []string `thrift:"trace_ids,4,required" frugal:"4,required,list" form:"trace_ids,required" json:"trace_ids,required"` PlatformType *common.PlatformType `thrift:"platform_type,8,optional" frugal:"8,optional,string" form:"platform_type" json:"platform_type,omitempty"` - SpanListType *common.SpanListType `thrift:"span_list_type,9,optional" frugal:"9,optional,string" form:"span_list_type" json:"span_list_type,omitempty"` Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewListSpansOApiRequest() *ListSpansOApiRequest { - return &ListSpansOApiRequest{} +func NewListTracesOApiRequest() *ListTracesOApiRequest { + return &ListTracesOApiRequest{} } -func (p *ListSpansOApiRequest) InitDefault() { +func (p *ListTracesOApiRequest) InitDefault() { } -func (p *ListSpansOApiRequest) GetWorkspaceID() (v int64) { +func (p *ListTracesOApiRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -func (p *ListSpansOApiRequest) GetStartTime() (v int64) { +func (p *ListTracesOApiRequest) GetStartTime() (v int64) { if p != nil { return p.StartTime } return } -func (p *ListSpansOApiRequest) GetEndTime() (v int64) { +func (p *ListTracesOApiRequest) GetEndTime() (v int64) { if p != nil { return p.EndTime } return } -var ListSpansOApiRequest_Filters_DEFAULT *filter.FilterFields +func (p *ListTracesOApiRequest) GetTraceIds() (v []string) { + if p != nil { + return p.TraceIds + } + return +} -func (p *ListSpansOApiRequest) GetFilters() (v *filter.FilterFields) { +var ListTracesOApiRequest_PlatformType_DEFAULT common.PlatformType + +func (p *ListTracesOApiRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } - if !p.IsSetFilters() { - return ListSpansOApiRequest_Filters_DEFAULT + if !p.IsSetPlatformType() { + return ListTracesOApiRequest_PlatformType_DEFAULT } - return p.Filters + return *p.PlatformType } -var ListSpansOApiRequest_PageSize_DEFAULT int32 +var ListTracesOApiRequest_Base_DEFAULT *base.Base -func (p *ListSpansOApiRequest) GetPageSize() (v int32) { +func (p *ListTracesOApiRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetPageSize() { - return ListSpansOApiRequest_PageSize_DEFAULT - } - return *p.PageSize -} - -var ListSpansOApiRequest_OrderBys_DEFAULT []*common.OrderBy - -func (p *ListSpansOApiRequest) GetOrderBys() (v []*common.OrderBy) { - if p == nil { - return - } - if !p.IsSetOrderBys() { - return ListSpansOApiRequest_OrderBys_DEFAULT - } - return p.OrderBys -} - -var ListSpansOApiRequest_PageToken_DEFAULT string - -func (p *ListSpansOApiRequest) GetPageToken() (v string) { - if p == nil { - return - } - if !p.IsSetPageToken() { - return ListSpansOApiRequest_PageToken_DEFAULT - } - return *p.PageToken -} - -var ListSpansOApiRequest_PlatformType_DEFAULT common.PlatformType - -func (p *ListSpansOApiRequest) GetPlatformType() (v common.PlatformType) { - if p == nil { - return - } - if !p.IsSetPlatformType() { - return ListSpansOApiRequest_PlatformType_DEFAULT - } - return *p.PlatformType -} - -var ListSpansOApiRequest_SpanListType_DEFAULT common.SpanListType - -func (p *ListSpansOApiRequest) GetSpanListType() (v common.SpanListType) { - if p == nil { - return - } - if !p.IsSetSpanListType() { - return ListSpansOApiRequest_SpanListType_DEFAULT - } - return *p.SpanListType -} - -var ListSpansOApiRequest_Base_DEFAULT *base.Base - -func (p *ListSpansOApiRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return ListSpansOApiRequest_Base_DEFAULT + if !p.IsSetBase() { + return ListTracesOApiRequest_Base_DEFAULT } return p.Base } -func (p *ListSpansOApiRequest) SetWorkspaceID(val int64) { +func (p *ListTracesOApiRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *ListSpansOApiRequest) SetStartTime(val int64) { +func (p *ListTracesOApiRequest) SetStartTime(val int64) { p.StartTime = val } -func (p *ListSpansOApiRequest) SetEndTime(val int64) { +func (p *ListTracesOApiRequest) SetEndTime(val int64) { p.EndTime = val } -func (p *ListSpansOApiRequest) SetFilters(val *filter.FilterFields) { - p.Filters = val -} -func (p *ListSpansOApiRequest) SetPageSize(val *int32) { - p.PageSize = val -} -func (p *ListSpansOApiRequest) SetOrderBys(val []*common.OrderBy) { - p.OrderBys = val -} -func (p *ListSpansOApiRequest) SetPageToken(val *string) { - p.PageToken = val +func (p *ListTracesOApiRequest) SetTraceIds(val []string) { + p.TraceIds = val } -func (p *ListSpansOApiRequest) SetPlatformType(val *common.PlatformType) { +func (p *ListTracesOApiRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *ListSpansOApiRequest) SetSpanListType(val *common.SpanListType) { - p.SpanListType = val -} -func (p *ListSpansOApiRequest) SetBase(val *base.Base) { +func (p *ListTracesOApiRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_ListSpansOApiRequest = map[int16]string{ +var fieldIDToName_ListTracesOApiRequest = map[int16]string{ 1: "workspace_id", 2: "start_time", 3: "end_time", - 4: "filters", - 5: "page_size", - 6: "order_bys", - 7: "page_token", + 4: "trace_ids", 8: "platform_type", - 9: "span_list_type", 255: "Base", } -func (p *ListSpansOApiRequest) IsSetFilters() bool { - return p.Filters != nil -} - -func (p *ListSpansOApiRequest) IsSetPageSize() bool { - return p.PageSize != nil -} - -func (p *ListSpansOApiRequest) IsSetOrderBys() bool { - return p.OrderBys != nil -} - -func (p *ListSpansOApiRequest) IsSetPageToken() bool { - return p.PageToken != nil -} - -func (p *ListSpansOApiRequest) IsSetPlatformType() bool { +func (p *ListTracesOApiRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *ListSpansOApiRequest) IsSetSpanListType() bool { - return p.SpanListType != nil -} - -func (p *ListSpansOApiRequest) IsSetBase() bool { +func (p *ListTracesOApiRequest) IsSetBase() bool { return p.Base != nil } -func (p *ListSpansOApiRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetWorkspaceID bool = false var issetStartTime bool = false var issetEndTime bool = false + var issetTraceIds bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5907,34 +5941,11 @@ func (p *ListSpansOApiRequest) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 4: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.I32 { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: if fieldTypeId == thrift.LIST { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: - if fieldTypeId == thrift.STRING { - if err = p.ReadField7(iprot); err != nil { + if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } + issetTraceIds = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5946,14 +5957,6 @@ func (p *ListSpansOApiRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 9: - if fieldTypeId == thrift.STRING { - if err = p.ReadField9(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -5989,13 +5992,18 @@ func (p *ListSpansOApiRequest) Read(iprot thrift.TProtocol) (err error) { fieldId = 3 goto RequiredFieldNotSetError } + + if !issetTraceIds { + fieldId = 4 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesOApiRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6004,10 +6012,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSpansOApiRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListTracesOApiRequest[fieldId])) } -func (p *ListSpansOApiRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -6018,7 +6026,7 @@ func (p *ListSpansOApiRequest) ReadField1(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *ListSpansOApiRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField2(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -6029,7 +6037,7 @@ func (p *ListSpansOApiRequest) ReadField2(iprot thrift.TProtocol) error { p.StartTime = _field return nil } -func (p *ListSpansOApiRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField3(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -6040,38 +6048,19 @@ func (p *ListSpansOApiRequest) ReadField3(iprot thrift.TProtocol) error { p.EndTime = _field return nil } -func (p *ListSpansOApiRequest) ReadField4(iprot thrift.TProtocol) error { - _field := filter.NewFilterFields() - if err := _field.Read(iprot); err != nil { - return err - } - p.Filters = _field - return nil -} -func (p *ListSpansOApiRequest) ReadField5(iprot thrift.TProtocol) error { - - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v - } - p.PageSize = _field - return nil -} -func (p *ListSpansOApiRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField4(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*common.OrderBy, 0, size) - values := make([]common.OrderBy, size) + _field := make([]string, 0, size) for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if err := _elem.Read(iprot); err != nil { + var _elem string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _elem = v } _field = append(_field, _elem) @@ -6079,21 +6068,10 @@ func (p *ListSpansOApiRequest) ReadField6(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.OrderBys = _field - return nil -} -func (p *ListSpansOApiRequest) ReadField7(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PageToken = _field + p.TraceIds = _field return nil } -func (p *ListSpansOApiRequest) ReadField8(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField8(iprot thrift.TProtocol) error { var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { @@ -6104,18 +6082,7 @@ func (p *ListSpansOApiRequest) ReadField8(iprot thrift.TProtocol) error { p.PlatformType = _field return nil } -func (p *ListSpansOApiRequest) ReadField9(iprot thrift.TProtocol) error { - - var _field *common.SpanListType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.SpanListType = _field - return nil -} -func (p *ListSpansOApiRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ListTracesOApiRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -6124,9 +6091,9 @@ func (p *ListSpansOApiRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *ListSpansOApiRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSpansOApiRequest"); err != nil { + if err = oprot.WriteStructBegin("ListTracesOApiRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -6146,26 +6113,10 @@ func (p *ListSpansOApiRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 4 goto WriteFieldError } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } if err = p.writeField8(oprot); err != nil { fieldId = 8 goto WriteFieldError } - if err = p.writeField9(oprot); err != nil { - fieldId = 9 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -6188,7 +6139,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -6204,7 +6155,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField2(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) writeField2(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("start_time", thrift.I64, 2); err != nil { goto WriteFieldBeginError } @@ -6220,7 +6171,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField3(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) writeField3(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("end_time", thrift.I64, 3); err != nil { goto WriteFieldBeginError } @@ -6236,87 +6187,31 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetFilters() { - if err = oprot.WriteFieldBegin("filters", thrift.STRUCT, 4); err != nil { - goto WriteFieldBeginError - } - if err := p.Filters.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ListTracesOApiRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("trace_ids", thrift.LIST, 4); err != nil { + goto WriteFieldBeginError } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ListSpansOApiRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetPageSize() { - if err = oprot.WriteFieldBegin("page_size", thrift.I32, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(*p.PageSize); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + if err := oprot.WriteListBegin(thrift.STRING, len(p.TraceIds)); err != nil { + return err } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *ListSpansOApiRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetOrderBys() { - if err = oprot.WriteFieldBegin("order_bys", thrift.LIST, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.OrderBys)); err != nil { - return err - } - for _, v := range p.OrderBys { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + for _, v := range p.TraceIds { + if err := oprot.WriteString(v); err != nil { return err } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *ListSpansOApiRequest) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetPageToken() { - if err = oprot.WriteFieldBegin("page_token", thrift.STRING, 7); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField8(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) writeField8(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 8); err != nil { goto WriteFieldBeginError @@ -6334,25 +6229,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) } -func (p *ListSpansOApiRequest) writeField9(oprot thrift.TProtocol) (err error) { - if p.IsSetSpanListType() { - if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 9); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.SpanListType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) -} -func (p *ListSpansOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -6371,15 +6248,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSpansOApiRequest) String() string { +func (p *ListTracesOApiRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSpansOApiRequest(%+v)", *p) + return fmt.Sprintf("ListTracesOApiRequest(%+v)", *p) } -func (p *ListSpansOApiRequest) DeepEqual(ano *ListSpansOApiRequest) bool { +func (p *ListTracesOApiRequest) DeepEqual(ano *ListTracesOApiRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -6394,96 +6271,53 @@ func (p *ListSpansOApiRequest) DeepEqual(ano *ListSpansOApiRequest) bool { if !p.Field3DeepEqual(ano.EndTime) { return false } - if !p.Field4DeepEqual(ano.Filters) { - return false - } - if !p.Field5DeepEqual(ano.PageSize) { - return false - } - if !p.Field6DeepEqual(ano.OrderBys) { - return false - } - if !p.Field7DeepEqual(ano.PageToken) { + if !p.Field4DeepEqual(ano.TraceIds) { return false } if !p.Field8DeepEqual(ano.PlatformType) { return false } - if !p.Field9DeepEqual(ano.SpanListType) { - return false - } if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *ListSpansOApiRequest) Field1DeepEqual(src int64) bool { +func (p *ListTracesOApiRequest) Field1DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *ListSpansOApiRequest) Field2DeepEqual(src int64) bool { +func (p *ListTracesOApiRequest) Field2DeepEqual(src int64) bool { if p.StartTime != src { return false } return true } -func (p *ListSpansOApiRequest) Field3DeepEqual(src int64) bool { +func (p *ListTracesOApiRequest) Field3DeepEqual(src int64) bool { if p.EndTime != src { return false } return true } -func (p *ListSpansOApiRequest) Field4DeepEqual(src *filter.FilterFields) bool { - - if !p.Filters.DeepEqual(src) { - return false - } - return true -} -func (p *ListSpansOApiRequest) Field5DeepEqual(src *int32) bool { - - if p.PageSize == src { - return true - } else if p.PageSize == nil || src == nil { - return false - } - if *p.PageSize != *src { - return false - } - return true -} -func (p *ListSpansOApiRequest) Field6DeepEqual(src []*common.OrderBy) bool { +func (p *ListTracesOApiRequest) Field4DeepEqual(src []string) bool { - if len(p.OrderBys) != len(src) { + if len(p.TraceIds) != len(src) { return false } - for i, v := range p.OrderBys { + for i, v := range p.TraceIds { _src := src[i] - if !v.DeepEqual(_src) { + if strings.Compare(v, _src) != 0 { return false } } return true } -func (p *ListSpansOApiRequest) Field7DeepEqual(src *string) bool { - - if p.PageToken == src { - return true - } else if p.PageToken == nil || src == nil { - return false - } - if strings.Compare(*p.PageToken, *src) != 0 { - return false - } - return true -} -func (p *ListSpansOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { +func (p *ListTracesOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -6495,19 +6329,7 @@ func (p *ListSpansOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { } return true } -func (p *ListSpansOApiRequest) Field9DeepEqual(src *common.SpanListType) bool { - - if p.SpanListType == src { - return true - } else if p.SpanListType == nil || src == nil { - return false - } - if strings.Compare(*p.SpanListType, *src) != 0 { - return false - } - return true -} -func (p *ListSpansOApiRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListTracesOApiRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -6515,104 +6337,104 @@ func (p *ListSpansOApiRequest) Field255DeepEqual(src *base.Base) bool { return true } -type ListSpansOApiResponse struct { - Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty"` - Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty"` - Data *ListSpansOApiData `thrift:"data,3,optional" frugal:"3,optional,ListSpansOApiData" form:"data" json:"data,omitempty"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type ListTracesOApiResponse struct { + Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty"` + Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty"` + Data *ListTracesData `thrift:"data,3,optional" frugal:"3,optional,ListTracesData" form:"data" json:"data,omitempty"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewListSpansOApiResponse() *ListSpansOApiResponse { - return &ListSpansOApiResponse{} +func NewListTracesOApiResponse() *ListTracesOApiResponse { + return &ListTracesOApiResponse{} } -func (p *ListSpansOApiResponse) InitDefault() { +func (p *ListTracesOApiResponse) InitDefault() { } -var ListSpansOApiResponse_Code_DEFAULT int32 +var ListTracesOApiResponse_Code_DEFAULT int32 -func (p *ListSpansOApiResponse) GetCode() (v int32) { +func (p *ListTracesOApiResponse) GetCode() (v int32) { if p == nil { return } if !p.IsSetCode() { - return ListSpansOApiResponse_Code_DEFAULT + return ListTracesOApiResponse_Code_DEFAULT } return *p.Code } -var ListSpansOApiResponse_Msg_DEFAULT string +var ListTracesOApiResponse_Msg_DEFAULT string -func (p *ListSpansOApiResponse) GetMsg() (v string) { +func (p *ListTracesOApiResponse) GetMsg() (v string) { if p == nil { return } if !p.IsSetMsg() { - return ListSpansOApiResponse_Msg_DEFAULT + return ListTracesOApiResponse_Msg_DEFAULT } return *p.Msg } -var ListSpansOApiResponse_Data_DEFAULT *ListSpansOApiData +var ListTracesOApiResponse_Data_DEFAULT *ListTracesData -func (p *ListSpansOApiResponse) GetData() (v *ListSpansOApiData) { +func (p *ListTracesOApiResponse) GetData() (v *ListTracesData) { if p == nil { return } if !p.IsSetData() { - return ListSpansOApiResponse_Data_DEFAULT + return ListTracesOApiResponse_Data_DEFAULT } return p.Data } -var ListSpansOApiResponse_BaseResp_DEFAULT *base.BaseResp +var ListTracesOApiResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ListSpansOApiResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListTracesOApiResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return ListSpansOApiResponse_BaseResp_DEFAULT + return ListTracesOApiResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *ListSpansOApiResponse) SetCode(val *int32) { +func (p *ListTracesOApiResponse) SetCode(val *int32) { p.Code = val } -func (p *ListSpansOApiResponse) SetMsg(val *string) { +func (p *ListTracesOApiResponse) SetMsg(val *string) { p.Msg = val } -func (p *ListSpansOApiResponse) SetData(val *ListSpansOApiData) { +func (p *ListTracesOApiResponse) SetData(val *ListTracesData) { p.Data = val } -func (p *ListSpansOApiResponse) SetBaseResp(val *base.BaseResp) { +func (p *ListTracesOApiResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_ListSpansOApiResponse = map[int16]string{ +var fieldIDToName_ListTracesOApiResponse = map[int16]string{ 1: "code", 2: "msg", 3: "data", 255: "BaseResp", } -func (p *ListSpansOApiResponse) IsSetCode() bool { +func (p *ListTracesOApiResponse) IsSetCode() bool { return p.Code != nil } -func (p *ListSpansOApiResponse) IsSetMsg() bool { +func (p *ListTracesOApiResponse) IsSetMsg() bool { return p.Msg != nil } -func (p *ListSpansOApiResponse) IsSetData() bool { +func (p *ListTracesOApiResponse) IsSetData() bool { return p.Data != nil } -func (p *ListSpansOApiResponse) IsSetBaseResp() bool { +func (p *ListTracesOApiResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *ListSpansOApiResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -6681,7 +6503,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesOApiResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6691,7 +6513,7 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ListSpansOApiResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *ListTracesOApiResponse) ReadField1(iprot thrift.TProtocol) error { var _field *int32 if v, err := iprot.ReadI32(); err != nil { @@ -6702,7 +6524,7 @@ func (p *ListSpansOApiResponse) ReadField1(iprot thrift.TProtocol) error { p.Code = _field return nil } -func (p *ListSpansOApiResponse) ReadField2(iprot thrift.TProtocol) error { +func (p *ListTracesOApiResponse) ReadField2(iprot thrift.TProtocol) error { var _field *string if v, err := iprot.ReadString(); err != nil { @@ -6713,15 +6535,15 @@ func (p *ListSpansOApiResponse) ReadField2(iprot thrift.TProtocol) error { p.Msg = _field return nil } -func (p *ListSpansOApiResponse) ReadField3(iprot thrift.TProtocol) error { - _field := NewListSpansOApiData() - if err := _field.Read(iprot); err != nil { +func (p *ListTracesOApiResponse) ReadField3(iprot thrift.TProtocol) error { + _field := NewListTracesData() + if err := _field.Read(iprot); err != nil { return err } p.Data = _field return nil } -func (p *ListSpansOApiResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ListTracesOApiResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -6730,9 +6552,9 @@ func (p *ListSpansOApiResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *ListSpansOApiResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSpansOApiResponse"); err != nil { + if err = oprot.WriteStructBegin("ListTracesOApiResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -6770,7 +6592,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSpansOApiResponse) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) writeField1(oprot thrift.TProtocol) (err error) { if p.IsSetCode() { if err = oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil { goto WriteFieldBeginError @@ -6788,7 +6610,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSpansOApiResponse) writeField2(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) writeField2(oprot thrift.TProtocol) (err error) { if p.IsSetMsg() { if err = oprot.WriteFieldBegin("msg", thrift.STRING, 2); err != nil { goto WriteFieldBeginError @@ -6806,7 +6628,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListSpansOApiResponse) writeField3(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) writeField3(oprot thrift.TProtocol) (err error) { if p.IsSetData() { if err = oprot.WriteFieldBegin("data", thrift.STRUCT, 3); err != nil { goto WriteFieldBeginError @@ -6824,7 +6646,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ListSpansOApiResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListTracesOApiResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -6843,15 +6665,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListSpansOApiResponse) String() string { +func (p *ListTracesOApiResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSpansOApiResponse(%+v)", *p) + return fmt.Sprintf("ListTracesOApiResponse(%+v)", *p) } -func (p *ListSpansOApiResponse) DeepEqual(ano *ListSpansOApiResponse) bool { +func (p *ListTracesOApiResponse) DeepEqual(ano *ListTracesOApiResponse) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -6872,7 +6694,7 @@ func (p *ListSpansOApiResponse) DeepEqual(ano *ListSpansOApiResponse) bool { return true } -func (p *ListSpansOApiResponse) Field1DeepEqual(src *int32) bool { +func (p *ListTracesOApiResponse) Field1DeepEqual(src *int32) bool { if p.Code == src { return true @@ -6884,7 +6706,7 @@ func (p *ListSpansOApiResponse) Field1DeepEqual(src *int32) bool { } return true } -func (p *ListSpansOApiResponse) Field2DeepEqual(src *string) bool { +func (p *ListTracesOApiResponse) Field2DeepEqual(src *string) bool { if p.Msg == src { return true @@ -6896,14 +6718,14 @@ func (p *ListSpansOApiResponse) Field2DeepEqual(src *string) bool { } return true } -func (p *ListSpansOApiResponse) Field3DeepEqual(src *ListSpansOApiData) bool { +func (p *ListTracesOApiResponse) Field3DeepEqual(src *ListTracesData) bool { if !p.Data.DeepEqual(src) { return false } return true } -func (p *ListSpansOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListTracesOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -6911,61 +6733,35 @@ func (p *ListSpansOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type ListSpansOApiData struct { - Spans []*span.OutputSpan `thrift:"spans,1,required" frugal:"1,required,list" form:"spans,required" json:"spans,required" query:"spans,required"` - NextPageToken string `thrift:"next_page_token,2,required" frugal:"2,required,string" form:"next_page_token,required" json:"next_page_token,required" query:"next_page_token,required"` - HasMore bool `thrift:"has_more,3,required" frugal:"3,required,bool" form:"has_more,required" json:"has_more,required" query:"has_more,required"` -} - -func NewListSpansOApiData() *ListSpansOApiData { - return &ListSpansOApiData{} -} - -func (p *ListSpansOApiData) InitDefault() { +type ListTracesData struct { + Traces []*trace.Trace `thrift:"traces,1,required" frugal:"1,required,list" form:"traces,required" json:"traces,required" query:"traces,required"` } -func (p *ListSpansOApiData) GetSpans() (v []*span.OutputSpan) { - if p != nil { - return p.Spans - } - return +func NewListTracesData() *ListTracesData { + return &ListTracesData{} } -func (p *ListSpansOApiData) GetNextPageToken() (v string) { - if p != nil { - return p.NextPageToken - } - return +func (p *ListTracesData) InitDefault() { } -func (p *ListSpansOApiData) GetHasMore() (v bool) { +func (p *ListTracesData) GetTraces() (v []*trace.Trace) { if p != nil { - return p.HasMore + return p.Traces } return } -func (p *ListSpansOApiData) SetSpans(val []*span.OutputSpan) { - p.Spans = val -} -func (p *ListSpansOApiData) SetNextPageToken(val string) { - p.NextPageToken = val -} -func (p *ListSpansOApiData) SetHasMore(val bool) { - p.HasMore = val +func (p *ListTracesData) SetTraces(val []*trace.Trace) { + p.Traces = val } -var fieldIDToName_ListSpansOApiData = map[int16]string{ - 1: "spans", - 2: "next_page_token", - 3: "has_more", +var fieldIDToName_ListTracesData = map[int16]string{ + 1: "traces", } -func (p *ListSpansOApiData) Read(iprot thrift.TProtocol) (err error) { +func (p *ListTracesData) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetSpans bool = false - var issetNextPageToken bool = false - var issetHasMore bool = false + var issetTraces bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -6986,25 +6782,7 @@ func (p *ListSpansOApiData) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetSpans = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetNextPageToken = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - issetHasMore = true + issetTraces = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -7021,27 +6799,17 @@ func (p *ListSpansOApiData) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetSpans { + if !issetTraces { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetNextPageToken { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetHasMore { - fieldId = 3 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListSpansOApiData[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesData[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7050,16 +6818,16 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListSpansOApiData[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListTracesData[fieldId])) } -func (p *ListSpansOApiData) ReadField1(iprot thrift.TProtocol) error { +func (p *ListTracesData) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*span.OutputSpan, 0, size) - values := make([]span.OutputSpan, size) + _field := make([]*trace.Trace, 0, size) + values := make([]trace.Trace, size) for i := 0; i < size; i++ { _elem := &values[i] _elem.InitDefault() @@ -7073,35 +6841,13 @@ func (p *ListSpansOApiData) ReadField1(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.Spans = _field - return nil -} -func (p *ListSpansOApiData) ReadField2(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.NextPageToken = _field - return nil -} -func (p *ListSpansOApiData) ReadField3(iprot thrift.TProtocol) error { - - var _field bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = v - } - p.HasMore = _field + p.Traces = _field return nil } -func (p *ListSpansOApiData) Write(oprot thrift.TProtocol) (err error) { +func (p *ListTracesData) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListSpansOApiData"); err != nil { + if err = oprot.WriteStructBegin("ListTracesData"); err != nil { goto WriteStructBeginError } if p != nil { @@ -7109,14 +6855,6 @@ func (p *ListSpansOApiData) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -7135,14 +6873,14 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListSpansOApiData) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("spans", thrift.LIST, 1); err != nil { +func (p *ListTracesData) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("traces", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Spans)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Traces)); err != nil { return err } - for _, v := range p.Spans { + for _, v := range p.Traces { if err := v.Write(oprot); err != nil { return err } @@ -7159,71 +6897,33 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListSpansOApiData) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("next_page_token", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.NextPageToken); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ListSpansOApiData) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("has_more", thrift.BOOL, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(p.HasMore); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ListSpansOApiData) String() string { +func (p *ListTracesData) String() string { if p == nil { return "" } - return fmt.Sprintf("ListSpansOApiData(%+v)", *p) + return fmt.Sprintf("ListTracesData(%+v)", *p) } -func (p *ListSpansOApiData) DeepEqual(ano *ListSpansOApiData) bool { +func (p *ListTracesData) DeepEqual(ano *ListTracesData) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Spans) { - return false - } - if !p.Field2DeepEqual(ano.NextPageToken) { - return false - } - if !p.Field3DeepEqual(ano.HasMore) { + if !p.Field1DeepEqual(ano.Traces) { return false } return true } -func (p *ListSpansOApiData) Field1DeepEqual(src []*span.OutputSpan) bool { +func (p *ListTracesData) Field1DeepEqual(src []*trace.Trace) bool { - if len(p.Spans) != len(src) { + if len(p.Traces) != len(src) { return false } - for i, v := range p.Spans { + for i, v := range p.Traces { _src := src[i] if !v.DeepEqual(_src) { return false @@ -7231,1595 +6931,231 @@ func (p *ListSpansOApiData) Field1DeepEqual(src []*span.OutputSpan) bool { } return true } -func (p *ListSpansOApiData) Field2DeepEqual(src string) bool { - if strings.Compare(p.NextPageToken, src) != 0 { - return false +type OpenAPIService interface { + IngestTraces(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) + + OtelIngestTraces(ctx context.Context, req *OtelIngestTracesRequest) (r *OtelIngestTracesResponse, err error) + + SearchTraceOApi(ctx context.Context, req *SearchTraceOApiRequest) (r *SearchTraceOApiResponse, err error) + + ListSpansOApi(ctx context.Context, req *ListSpansOApiRequest) (r *ListSpansOApiResponse, err error) + + ListTracesOApi(ctx context.Context, req *ListTracesOApiRequest) (r *ListTracesOApiResponse, err error) + + CreateAnnotation(ctx context.Context, req *CreateAnnotationRequest) (r *CreateAnnotationResponse, err error) + + DeleteAnnotation(ctx context.Context, req *DeleteAnnotationRequest) (r *DeleteAnnotationResponse, err error) +} + +type OpenAPIServiceClient struct { + c thrift.TClient +} + +func NewOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *OpenAPIServiceClient { + return &OpenAPIServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), } - return true } -func (p *ListSpansOApiData) Field3DeepEqual(src bool) bool { - if p.HasMore != src { - return false +func NewOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *OpenAPIServiceClient { + return &OpenAPIServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), } - return true } -type ListTracesOApiRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - // ms - StartTime int64 `thrift:"start_time,2,required" frugal:"2,required,i64" json:"start_time" form:"start_time,required" ` - // ms - EndTime int64 `thrift:"end_time,3,required" frugal:"3,required,i64" json:"end_time" form:"end_time,required" ` - TraceIds []string `thrift:"trace_ids,4,required" frugal:"4,required,list" form:"trace_ids,required" json:"trace_ids,required"` - PlatformType *common.PlatformType `thrift:"platform_type,8,optional" frugal:"8,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewListTracesOApiRequest() *ListTracesOApiRequest { - return &ListTracesOApiRequest{} +func NewOpenAPIServiceClient(c thrift.TClient) *OpenAPIServiceClient { + return &OpenAPIServiceClient{ + c: c, + } } -func (p *ListTracesOApiRequest) InitDefault() { +func (p *OpenAPIServiceClient) Client_() thrift.TClient { + return p.c } -func (p *ListTracesOApiRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID +func (p *OpenAPIServiceClient) IngestTraces(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) { + var _args OpenAPIServiceIngestTracesArgs + _args.Req = req + var _result OpenAPIServiceIngestTracesResult + if err = p.Client_().Call(ctx, "IngestTraces", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -func (p *ListTracesOApiRequest) GetStartTime() (v int64) { - if p != nil { - return p.StartTime +func (p *OpenAPIServiceClient) OtelIngestTraces(ctx context.Context, req *OtelIngestTracesRequest) (r *OtelIngestTracesResponse, err error) { + var _args OpenAPIServiceOtelIngestTracesArgs + _args.Req = req + var _result OpenAPIServiceOtelIngestTracesResult + if err = p.Client_().Call(ctx, "OtelIngestTraces", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -func (p *ListTracesOApiRequest) GetEndTime() (v int64) { - if p != nil { - return p.EndTime +func (p *OpenAPIServiceClient) SearchTraceOApi(ctx context.Context, req *SearchTraceOApiRequest) (r *SearchTraceOApiResponse, err error) { + var _args OpenAPIServiceSearchTraceOApiArgs + _args.Req = req + var _result OpenAPIServiceSearchTraceOApiResult + if err = p.Client_().Call(ctx, "SearchTraceOApi", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -func (p *ListTracesOApiRequest) GetTraceIds() (v []string) { - if p != nil { - return p.TraceIds +func (p *OpenAPIServiceClient) ListSpansOApi(ctx context.Context, req *ListSpansOApiRequest) (r *ListSpansOApiResponse, err error) { + var _args OpenAPIServiceListSpansOApiArgs + _args.Req = req + var _result OpenAPIServiceListSpansOApiResult + if err = p.Client_().Call(ctx, "ListSpansOApi", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -var ListTracesOApiRequest_PlatformType_DEFAULT common.PlatformType - -func (p *ListTracesOApiRequest) GetPlatformType() (v common.PlatformType) { - if p == nil { +func (p *OpenAPIServiceClient) ListTracesOApi(ctx context.Context, req *ListTracesOApiRequest) (r *ListTracesOApiResponse, err error) { + var _args OpenAPIServiceListTracesOApiArgs + _args.Req = req + var _result OpenAPIServiceListTracesOApiResult + if err = p.Client_().Call(ctx, "ListTracesOApi", &_args, &_result); err != nil { return } - if !p.IsSetPlatformType() { - return ListTracesOApiRequest_PlatformType_DEFAULT - } - return *p.PlatformType + return _result.GetSuccess(), nil } - -var ListTracesOApiRequest_Base_DEFAULT *base.Base - -func (p *ListTracesOApiRequest) GetBase() (v *base.Base) { - if p == nil { +func (p *OpenAPIServiceClient) CreateAnnotation(ctx context.Context, req *CreateAnnotationRequest) (r *CreateAnnotationResponse, err error) { + var _args OpenAPIServiceCreateAnnotationArgs + _args.Req = req + var _result OpenAPIServiceCreateAnnotationResult + if err = p.Client_().Call(ctx, "CreateAnnotation", &_args, &_result); err != nil { return } - if !p.IsSetBase() { - return ListTracesOApiRequest_Base_DEFAULT + return _result.GetSuccess(), nil +} +func (p *OpenAPIServiceClient) DeleteAnnotation(ctx context.Context, req *DeleteAnnotationRequest) (r *DeleteAnnotationResponse, err error) { + var _args OpenAPIServiceDeleteAnnotationArgs + _args.Req = req + var _result OpenAPIServiceDeleteAnnotationResult + if err = p.Client_().Call(ctx, "DeleteAnnotation", &_args, &_result); err != nil { + return } - return p.Base + return _result.GetSuccess(), nil } -func (p *ListTracesOApiRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val + +type OpenAPIServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler OpenAPIService } -func (p *ListTracesOApiRequest) SetStartTime(val int64) { - p.StartTime = val + +func (p *OpenAPIServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor } -func (p *ListTracesOApiRequest) SetEndTime(val int64) { - p.EndTime = val + +func (p *OpenAPIServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok } -func (p *ListTracesOApiRequest) SetTraceIds(val []string) { - p.TraceIds = val + +func (p *OpenAPIServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap } -func (p *ListTracesOApiRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val + +func NewOpenAPIServiceProcessor(handler OpenAPIService) *OpenAPIServiceProcessor { + self := &OpenAPIServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("IngestTraces", &openAPIServiceProcessorIngestTraces{handler: handler}) + self.AddToProcessorMap("OtelIngestTraces", &openAPIServiceProcessorOtelIngestTraces{handler: handler}) + self.AddToProcessorMap("SearchTraceOApi", &openAPIServiceProcessorSearchTraceOApi{handler: handler}) + self.AddToProcessorMap("ListSpansOApi", &openAPIServiceProcessorListSpansOApi{handler: handler}) + self.AddToProcessorMap("ListTracesOApi", &openAPIServiceProcessorListTracesOApi{handler: handler}) + self.AddToProcessorMap("CreateAnnotation", &openAPIServiceProcessorCreateAnnotation{handler: handler}) + self.AddToProcessorMap("DeleteAnnotation", &openAPIServiceProcessorDeleteAnnotation{handler: handler}) + return self } -func (p *ListTracesOApiRequest) SetBase(val *base.Base) { - p.Base = val +func (p *OpenAPIServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) + } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x } -var fieldIDToName_ListTracesOApiRequest = map[int16]string{ - 1: "workspace_id", - 2: "start_time", - 3: "end_time", - 4: "trace_ids", - 8: "platform_type", - 255: "Base", +type openAPIServiceProcessorIngestTraces struct { + handler OpenAPIService } -func (p *ListTracesOApiRequest) IsSetPlatformType() bool { - return p.PlatformType != nil -} +func (p *openAPIServiceProcessorIngestTraces) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceIngestTracesArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("IngestTraces", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } -func (p *ListTracesOApiRequest) IsSetBase() bool { - return p.Base != nil + iprot.ReadMessageEnd() + var err2 error + result := OpenAPIServiceIngestTracesResult{} + var retval *IngestTracesResponse + if retval, err2 = p.handler.IngestTraces(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing IngestTraces: "+err2.Error()) + oprot.WriteMessageBegin("IngestTraces", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("IngestTraces", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *ListTracesOApiRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetStartTime bool = false - var issetEndTime bool = false - var issetTraceIds bool = false +type openAPIServiceProcessorOtelIngestTraces struct { + handler OpenAPIService +} - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetStartTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.I64 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - issetEndTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.LIST { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - issetTraceIds = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 8: - if fieldTypeId == thrift.STRING { - if err = p.ReadField8(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetStartTime { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetEndTime { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetTraceIds { - fieldId = 4 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesOApiRequest[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListTracesOApiRequest[fieldId])) -} - -func (p *ListTracesOApiRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *ListTracesOApiRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.StartTime = _field - return nil -} -func (p *ListTracesOApiRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.EndTime = _field - return nil -} -func (p *ListTracesOApiRequest) ReadField4(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - - var _elem string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _elem = v - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.TraceIds = _field - return nil -} -func (p *ListTracesOApiRequest) ReadField8(iprot thrift.TProtocol) error { - - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field - return nil -} -func (p *ListTracesOApiRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *ListTracesOApiRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ListTracesOApiRequest"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField8(oprot); err != nil { - fieldId = 8 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ListTracesOApiRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ListTracesOApiRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.StartTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ListTracesOApiRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.EndTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ListTracesOApiRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_ids", thrift.LIST, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRING, len(p.TraceIds)); err != nil { - return err - } - for _, v := range p.TraceIds { - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ListTracesOApiRequest) writeField8(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 8); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PlatformType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) -} -func (p *ListTracesOApiRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *ListTracesOApiRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ListTracesOApiRequest(%+v)", *p) - -} - -func (p *ListTracesOApiRequest) DeepEqual(ano *ListTracesOApiRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.StartTime) { - return false - } - if !p.Field3DeepEqual(ano.EndTime) { - return false - } - if !p.Field4DeepEqual(ano.TraceIds) { - return false - } - if !p.Field8DeepEqual(ano.PlatformType) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *ListTracesOApiRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { - return false - } - return true -} -func (p *ListTracesOApiRequest) Field2DeepEqual(src int64) bool { - - if p.StartTime != src { - return false - } - return true -} -func (p *ListTracesOApiRequest) Field3DeepEqual(src int64) bool { - - if p.EndTime != src { - return false - } - return true -} -func (p *ListTracesOApiRequest) Field4DeepEqual(src []string) bool { - - if len(p.TraceIds) != len(src) { - return false - } - for i, v := range p.TraceIds { - _src := src[i] - if strings.Compare(v, _src) != 0 { - return false - } - } - return true -} -func (p *ListTracesOApiRequest) Field8DeepEqual(src *common.PlatformType) bool { - - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false - } - if strings.Compare(*p.PlatformType, *src) != 0 { - return false - } - return true -} -func (p *ListTracesOApiRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type ListTracesOApiResponse struct { - Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty"` - Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty"` - Data *ListTracesData `thrift:"data,3,optional" frugal:"3,optional,ListTracesData" form:"data" json:"data,omitempty"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` -} - -func NewListTracesOApiResponse() *ListTracesOApiResponse { - return &ListTracesOApiResponse{} -} - -func (p *ListTracesOApiResponse) InitDefault() { -} - -var ListTracesOApiResponse_Code_DEFAULT int32 - -func (p *ListTracesOApiResponse) GetCode() (v int32) { - if p == nil { - return - } - if !p.IsSetCode() { - return ListTracesOApiResponse_Code_DEFAULT - } - return *p.Code -} - -var ListTracesOApiResponse_Msg_DEFAULT string - -func (p *ListTracesOApiResponse) GetMsg() (v string) { - if p == nil { - return - } - if !p.IsSetMsg() { - return ListTracesOApiResponse_Msg_DEFAULT - } - return *p.Msg -} - -var ListTracesOApiResponse_Data_DEFAULT *ListTracesData - -func (p *ListTracesOApiResponse) GetData() (v *ListTracesData) { - if p == nil { - return - } - if !p.IsSetData() { - return ListTracesOApiResponse_Data_DEFAULT - } - return p.Data -} - -var ListTracesOApiResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ListTracesOApiResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return ListTracesOApiResponse_BaseResp_DEFAULT - } - return p.BaseResp -} -func (p *ListTracesOApiResponse) SetCode(val *int32) { - p.Code = val -} -func (p *ListTracesOApiResponse) SetMsg(val *string) { - p.Msg = val -} -func (p *ListTracesOApiResponse) SetData(val *ListTracesData) { - p.Data = val -} -func (p *ListTracesOApiResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val -} - -var fieldIDToName_ListTracesOApiResponse = map[int16]string{ - 1: "code", - 2: "msg", - 3: "data", - 255: "BaseResp", -} - -func (p *ListTracesOApiResponse) IsSetCode() bool { - return p.Code != nil -} - -func (p *ListTracesOApiResponse) IsSetMsg() bool { - return p.Msg != nil -} - -func (p *ListTracesOApiResponse) IsSetData() bool { - return p.Data != nil -} - -func (p *ListTracesOApiResponse) IsSetBaseResp() bool { - return p.BaseResp != nil -} - -func (p *ListTracesOApiResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.I32 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesOApiResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *ListTracesOApiResponse) ReadField1(iprot thrift.TProtocol) error { - - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v - } - p.Code = _field - return nil -} -func (p *ListTracesOApiResponse) ReadField2(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Msg = _field - return nil -} -func (p *ListTracesOApiResponse) ReadField3(iprot thrift.TProtocol) error { - _field := NewListTracesData() - if err := _field.Read(iprot); err != nil { - return err - } - p.Data = _field - return nil -} -func (p *ListTracesOApiResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *ListTracesOApiResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ListTracesOApiResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ListTracesOApiResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetCode() { - if err = oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(*p.Code); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ListTracesOApiResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetMsg() { - if err = oprot.WriteFieldBegin("msg", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Msg); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ListTracesOApiResponse) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetData() { - if err = oprot.WriteFieldBegin("data", thrift.STRUCT, 3); err != nil { - goto WriteFieldBeginError - } - if err := p.Data.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ListTracesOApiResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *ListTracesOApiResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ListTracesOApiResponse(%+v)", *p) - -} - -func (p *ListTracesOApiResponse) DeepEqual(ano *ListTracesOApiResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Code) { - return false - } - if !p.Field2DeepEqual(ano.Msg) { - return false - } - if !p.Field3DeepEqual(ano.Data) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *ListTracesOApiResponse) Field1DeepEqual(src *int32) bool { - - if p.Code == src { - return true - } else if p.Code == nil || src == nil { - return false - } - if *p.Code != *src { - return false - } - return true -} -func (p *ListTracesOApiResponse) Field2DeepEqual(src *string) bool { - - if p.Msg == src { - return true - } else if p.Msg == nil || src == nil { - return false - } - if strings.Compare(*p.Msg, *src) != 0 { - return false - } - return true -} -func (p *ListTracesOApiResponse) Field3DeepEqual(src *ListTracesData) bool { - - if !p.Data.DeepEqual(src) { - return false - } - return true -} -func (p *ListTracesOApiResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type ListTracesData struct { - Traces []*trace.Trace `thrift:"traces,1,required" frugal:"1,required,list" form:"traces,required" json:"traces,required" query:"traces,required"` -} - -func NewListTracesData() *ListTracesData { - return &ListTracesData{} -} - -func (p *ListTracesData) InitDefault() { -} - -func (p *ListTracesData) GetTraces() (v []*trace.Trace) { - if p != nil { - return p.Traces - } - return -} -func (p *ListTracesData) SetTraces(val []*trace.Trace) { - p.Traces = val -} - -var fieldIDToName_ListTracesData = map[int16]string{ - 1: "traces", -} - -func (p *ListTracesData) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetTraces bool = false - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetTraces = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetTraces { - fieldId = 1 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListTracesData[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListTracesData[fieldId])) -} - -func (p *ListTracesData) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*trace.Trace, 0, size) - values := make([]trace.Trace, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.Traces = _field - return nil -} - -func (p *ListTracesData) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ListTracesData"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ListTracesData) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("traces", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Traces)); err != nil { - return err - } - for _, v := range p.Traces { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *ListTracesData) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ListTracesData(%+v)", *p) - -} - -func (p *ListTracesData) DeepEqual(ano *ListTracesData) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Traces) { - return false - } - return true -} - -func (p *ListTracesData) Field1DeepEqual(src []*trace.Trace) bool { - - if len(p.Traces) != len(src) { - return false - } - for i, v := range p.Traces { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} - -type OpenAPIService interface { - IngestTraces(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) - - OtelIngestTraces(ctx context.Context, req *OtelIngestTracesRequest) (r *OtelIngestTracesResponse, err error) - - SearchTraceOApi(ctx context.Context, req *SearchTraceOApiRequest) (r *SearchTraceOApiResponse, err error) - - SearchTraceTreeOApi(ctx context.Context, req *SearchTraceTreeOApiRequest) (r *SearchTraceTreeOApiResponse, err error) - - ListSpansOApi(ctx context.Context, req *ListSpansOApiRequest) (r *ListSpansOApiResponse, err error) - - ListTracesOApi(ctx context.Context, req *ListTracesOApiRequest) (r *ListTracesOApiResponse, err error) - - CreateAnnotation(ctx context.Context, req *CreateAnnotationRequest) (r *CreateAnnotationResponse, err error) - - DeleteAnnotation(ctx context.Context, req *DeleteAnnotationRequest) (r *DeleteAnnotationResponse, err error) -} - -type OpenAPIServiceClient struct { - c thrift.TClient -} - -func NewOpenAPIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *OpenAPIServiceClient { - return &OpenAPIServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), - } -} - -func NewOpenAPIServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *OpenAPIServiceClient { - return &OpenAPIServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), - } -} - -func NewOpenAPIServiceClient(c thrift.TClient) *OpenAPIServiceClient { - return &OpenAPIServiceClient{ - c: c, - } -} - -func (p *OpenAPIServiceClient) Client_() thrift.TClient { - return p.c -} - -func (p *OpenAPIServiceClient) IngestTraces(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) { - var _args OpenAPIServiceIngestTracesArgs - _args.Req = req - var _result OpenAPIServiceIngestTracesResult - if err = p.Client_().Call(ctx, "IngestTraces", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) OtelIngestTraces(ctx context.Context, req *OtelIngestTracesRequest) (r *OtelIngestTracesResponse, err error) { - var _args OpenAPIServiceOtelIngestTracesArgs - _args.Req = req - var _result OpenAPIServiceOtelIngestTracesResult - if err = p.Client_().Call(ctx, "OtelIngestTraces", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) SearchTraceOApi(ctx context.Context, req *SearchTraceOApiRequest) (r *SearchTraceOApiResponse, err error) { - var _args OpenAPIServiceSearchTraceOApiArgs - _args.Req = req - var _result OpenAPIServiceSearchTraceOApiResult - if err = p.Client_().Call(ctx, "SearchTraceOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) SearchTraceTreeOApi(ctx context.Context, req *SearchTraceTreeOApiRequest) (r *SearchTraceTreeOApiResponse, err error) { - var _args OpenAPIServiceSearchTraceTreeOApiArgs - _args.Req = req - var _result OpenAPIServiceSearchTraceTreeOApiResult - if err = p.Client_().Call(ctx, "SearchTraceTreeOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) ListSpansOApi(ctx context.Context, req *ListSpansOApiRequest) (r *ListSpansOApiResponse, err error) { - var _args OpenAPIServiceListSpansOApiArgs - _args.Req = req - var _result OpenAPIServiceListSpansOApiResult - if err = p.Client_().Call(ctx, "ListSpansOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) ListTracesOApi(ctx context.Context, req *ListTracesOApiRequest) (r *ListTracesOApiResponse, err error) { - var _args OpenAPIServiceListTracesOApiArgs - _args.Req = req - var _result OpenAPIServiceListTracesOApiResult - if err = p.Client_().Call(ctx, "ListTracesOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) CreateAnnotation(ctx context.Context, req *CreateAnnotationRequest) (r *CreateAnnotationResponse, err error) { - var _args OpenAPIServiceCreateAnnotationArgs - _args.Req = req - var _result OpenAPIServiceCreateAnnotationResult - if err = p.Client_().Call(ctx, "CreateAnnotation", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *OpenAPIServiceClient) DeleteAnnotation(ctx context.Context, req *DeleteAnnotationRequest) (r *DeleteAnnotationResponse, err error) { - var _args OpenAPIServiceDeleteAnnotationArgs - _args.Req = req - var _result OpenAPIServiceDeleteAnnotationResult - if err = p.Client_().Call(ctx, "DeleteAnnotation", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -type OpenAPIServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler OpenAPIService -} - -func (p *OpenAPIServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor -} - -func (p *OpenAPIServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok -} - -func (p *OpenAPIServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap -} - -func NewOpenAPIServiceProcessor(handler OpenAPIService) *OpenAPIServiceProcessor { - self := &OpenAPIServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("IngestTraces", &openAPIServiceProcessorIngestTraces{handler: handler}) - self.AddToProcessorMap("OtelIngestTraces", &openAPIServiceProcessorOtelIngestTraces{handler: handler}) - self.AddToProcessorMap("SearchTraceOApi", &openAPIServiceProcessorSearchTraceOApi{handler: handler}) - self.AddToProcessorMap("SearchTraceTreeOApi", &openAPIServiceProcessorSearchTraceTreeOApi{handler: handler}) - self.AddToProcessorMap("ListSpansOApi", &openAPIServiceProcessorListSpansOApi{handler: handler}) - self.AddToProcessorMap("ListTracesOApi", &openAPIServiceProcessorListTracesOApi{handler: handler}) - self.AddToProcessorMap("CreateAnnotation", &openAPIServiceProcessorCreateAnnotation{handler: handler}) - self.AddToProcessorMap("DeleteAnnotation", &openAPIServiceProcessorDeleteAnnotation{handler: handler}) - return self -} -func (p *OpenAPIServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) - } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} - -type openAPIServiceProcessorIngestTraces struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorIngestTraces) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceIngestTracesArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("IngestTraces", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := OpenAPIServiceIngestTracesResult{} - var retval *IngestTracesResponse - if retval, err2 = p.handler.IngestTraces(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing IngestTraces: "+err2.Error()) - oprot.WriteMessageBegin("IngestTraces", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("IngestTraces", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type openAPIServiceProcessorOtelIngestTraces struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorOtelIngestTraces) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceOtelIngestTracesArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("OtelIngestTraces", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := OpenAPIServiceOtelIngestTracesResult{} - var retval *OtelIngestTracesResponse - if retval, err2 = p.handler.OtelIngestTraces(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing OtelIngestTraces: "+err2.Error()) - oprot.WriteMessageBegin("OtelIngestTraces", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("OtelIngestTraces", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type openAPIServiceProcessorSearchTraceOApi struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorSearchTraceOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceSearchTraceOApiArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SearchTraceOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := OpenAPIServiceSearchTraceOApiResult{} - var retval *SearchTraceOApiResponse - if retval, err2 = p.handler.SearchTraceOApi(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchTraceOApi: "+err2.Error()) - oprot.WriteMessageBegin("SearchTraceOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SearchTraceOApi", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type openAPIServiceProcessorSearchTraceTreeOApi struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorSearchTraceTreeOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceSearchTraceTreeOApiArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SearchTraceTreeOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := OpenAPIServiceSearchTraceTreeOApiResult{} - var retval *SearchTraceTreeOApiResponse - if retval, err2 = p.handler.SearchTraceTreeOApi(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchTraceTreeOApi: "+err2.Error()) - oprot.WriteMessageBegin("SearchTraceTreeOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SearchTraceTreeOApi", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type openAPIServiceProcessorListSpansOApi struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorListSpansOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceListSpansOApiArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListSpansOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := OpenAPIServiceListSpansOApiResult{} - var retval *ListSpansOApiResponse - if retval, err2 = p.handler.ListSpansOApi(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSpansOApi: "+err2.Error()) - oprot.WriteMessageBegin("ListSpansOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListSpansOApi", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type openAPIServiceProcessorListTracesOApi struct { - handler OpenAPIService -} - -func (p *openAPIServiceProcessorListTracesOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceListTracesOApiArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListTracesOApi", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *openAPIServiceProcessorOtelIngestTraces) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceOtelIngestTracesArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("OtelIngestTraces", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } iprot.ReadMessageEnd() var err2 error - result := OpenAPIServiceListTracesOApiResult{} - var retval *ListTracesOApiResponse - if retval, err2 = p.handler.ListTracesOApi(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListTracesOApi: "+err2.Error()) - oprot.WriteMessageBegin("ListTracesOApi", thrift.EXCEPTION, seqId) + result := OpenAPIServiceOtelIngestTracesResult{} + var retval *OtelIngestTracesResponse + if retval, err2 = p.handler.OtelIngestTraces(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing OtelIngestTraces: "+err2.Error()) + oprot.WriteMessageBegin("OtelIngestTraces", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -8827,7 +7163,7 @@ func (p *openAPIServiceProcessorListTracesOApi) Process(ctx context.Context, seq } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ListTracesOApi", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("OtelIngestTraces", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -8845,16 +7181,16 @@ func (p *openAPIServiceProcessorListTracesOApi) Process(ctx context.Context, seq return true, err } -type openAPIServiceProcessorCreateAnnotation struct { +type openAPIServiceProcessorSearchTraceOApi struct { handler OpenAPIService } -func (p *openAPIServiceProcessorCreateAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceCreateAnnotationArgs{} +func (p *openAPIServiceProcessorSearchTraceOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceSearchTraceOApiArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateAnnotation", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("SearchTraceOApi", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -8863,11 +7199,11 @@ func (p *openAPIServiceProcessorCreateAnnotation) Process(ctx context.Context, s iprot.ReadMessageEnd() var err2 error - result := OpenAPIServiceCreateAnnotationResult{} - var retval *CreateAnnotationResponse - if retval, err2 = p.handler.CreateAnnotation(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateAnnotation: "+err2.Error()) - oprot.WriteMessageBegin("CreateAnnotation", thrift.EXCEPTION, seqId) + result := OpenAPIServiceSearchTraceOApiResult{} + var retval *SearchTraceOApiResponse + if retval, err2 = p.handler.SearchTraceOApi(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchTraceOApi: "+err2.Error()) + oprot.WriteMessageBegin("SearchTraceOApi", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -8875,7 +7211,7 @@ func (p *openAPIServiceProcessorCreateAnnotation) Process(ctx context.Context, s } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("CreateAnnotation", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("SearchTraceOApi", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -8893,16 +7229,16 @@ func (p *openAPIServiceProcessorCreateAnnotation) Process(ctx context.Context, s return true, err } -type openAPIServiceProcessorDeleteAnnotation struct { +type openAPIServiceProcessorListSpansOApi struct { handler OpenAPIService } -func (p *openAPIServiceProcessorDeleteAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := OpenAPIServiceDeleteAnnotationArgs{} +func (p *openAPIServiceProcessorListSpansOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceListSpansOApiArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DeleteAnnotation", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("ListSpansOApi", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -8911,11 +7247,11 @@ func (p *openAPIServiceProcessorDeleteAnnotation) Process(ctx context.Context, s iprot.ReadMessageEnd() var err2 error - result := OpenAPIServiceDeleteAnnotationResult{} - var retval *DeleteAnnotationResponse - if retval, err2 = p.handler.DeleteAnnotation(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteAnnotation: "+err2.Error()) - oprot.WriteMessageBegin("DeleteAnnotation", thrift.EXCEPTION, seqId) + result := OpenAPIServiceListSpansOApiResult{} + var retval *ListSpansOApiResponse + if retval, err2 = p.handler.ListSpansOApi(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSpansOApi: "+err2.Error()) + oprot.WriteMessageBegin("ListSpansOApi", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -8923,403 +7259,203 @@ func (p *openAPIServiceProcessorDeleteAnnotation) Process(ctx context.Context, s } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("DeleteAnnotation", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type OpenAPIServiceIngestTracesArgs struct { - Req *IngestTracesRequest `thrift:"req,1" frugal:"1,default,IngestTracesRequest"` -} - -func NewOpenAPIServiceIngestTracesArgs() *OpenAPIServiceIngestTracesArgs { - return &OpenAPIServiceIngestTracesArgs{} -} - -func (p *OpenAPIServiceIngestTracesArgs) InitDefault() { -} - -var OpenAPIServiceIngestTracesArgs_Req_DEFAULT *IngestTracesRequest - -func (p *OpenAPIServiceIngestTracesArgs) GetReq() (v *IngestTracesRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return OpenAPIServiceIngestTracesArgs_Req_DEFAULT - } - return p.Req -} -func (p *OpenAPIServiceIngestTracesArgs) SetReq(val *IngestTracesRequest) { - p.Req = val -} - -var fieldIDToName_OpenAPIServiceIngestTracesArgs = map[int16]string{ - 1: "req", -} - -func (p *OpenAPIServiceIngestTracesArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *OpenAPIServiceIngestTracesArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceIngestTracesArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -} - -func (p *OpenAPIServiceIngestTracesArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewIngestTracesRequest() - if err := _field.Read(iprot); err != nil { - return err - } - p.Req = _field - return nil -} - -func (p *OpenAPIServiceIngestTracesArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("IngestTraces_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *OpenAPIServiceIngestTracesArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError - } - if err := p.Req.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} - -func (p *OpenAPIServiceIngestTracesArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("OpenAPIServiceIngestTracesArgs(%+v)", *p) - -} - -func (p *OpenAPIServiceIngestTracesArgs) DeepEqual(ano *OpenAPIServiceIngestTracesArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false + if err2 = oprot.WriteMessageBegin("ListSpansOApi", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return true -} - -func (p *OpenAPIServiceIngestTracesArgs) Field1DeepEqual(src *IngestTracesRequest) bool { - - if !p.Req.DeepEqual(src) { - return false + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return true -} - -type OpenAPIServiceIngestTracesResult struct { - Success *IngestTracesResponse `thrift:"success,0,optional" frugal:"0,optional,IngestTracesResponse"` -} - -func NewOpenAPIServiceIngestTracesResult() *OpenAPIServiceIngestTracesResult { - return &OpenAPIServiceIngestTracesResult{} -} - -func (p *OpenAPIServiceIngestTracesResult) InitDefault() { -} - -var OpenAPIServiceIngestTracesResult_Success_DEFAULT *IngestTracesResponse - -func (p *OpenAPIServiceIngestTracesResult) GetSuccess() (v *IngestTracesResponse) { - if p == nil { - return + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if !p.IsSetSuccess() { - return OpenAPIServiceIngestTracesResult_Success_DEFAULT + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return p.Success -} -func (p *OpenAPIServiceIngestTracesResult) SetSuccess(x interface{}) { - p.Success = x.(*IngestTracesResponse) -} - -var fieldIDToName_OpenAPIServiceIngestTracesResult = map[int16]string{ - 0: "success", + if err != nil { + return + } + return true, err } -func (p *OpenAPIServiceIngestTracesResult) IsSetSuccess() bool { - return p.Success != nil +type openAPIServiceProcessorListTracesOApi struct { + handler OpenAPIService } -func (p *OpenAPIServiceIngestTracesResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *openAPIServiceProcessorListTracesOApi) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceListTracesOApiArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListTracesOApi", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } + iprot.ReadMessageEnd() + var err2 error + result := OpenAPIServiceListTracesOApiResult{} + var retval *ListTracesOApiResponse + if retval, err2 = p.handler.ListTracesOApi(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListTracesOApi: "+err2.Error()) + oprot.WriteMessageBegin("ListTracesOApi", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + if err2 = oprot.WriteMessageBegin("ListTracesOApi", thrift.REPLY, seqId); err2 != nil { + err = err2 } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceIngestTracesResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +type openAPIServiceProcessorCreateAnnotation struct { + handler OpenAPIService } -func (p *OpenAPIServiceIngestTracesResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewIngestTracesResponse() - if err := _field.Read(iprot); err != nil { - return err +func (p *openAPIServiceProcessorCreateAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceCreateAnnotationArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("CreateAnnotation", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - p.Success = _field - return nil -} -func (p *OpenAPIServiceIngestTracesResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("IngestTraces_result"); err != nil { - goto WriteStructBeginError + iprot.ReadMessageEnd() + var err2 error + result := OpenAPIServiceCreateAnnotationResult{} + var retval *CreateAnnotationResponse + if retval, err2 = p.handler.CreateAnnotation(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateAnnotation: "+err2.Error()) + oprot.WriteMessageBegin("CreateAnnotation", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } + if err2 = oprot.WriteMessageBegin("CreateAnnotation", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *OpenAPIServiceIngestTracesResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +type openAPIServiceProcessorDeleteAnnotation struct { + handler OpenAPIService } -func (p *OpenAPIServiceIngestTracesResult) String() string { - if p == nil { - return "" +func (p *openAPIServiceProcessorDeleteAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := OpenAPIServiceDeleteAnnotationArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("DeleteAnnotation", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := OpenAPIServiceDeleteAnnotationResult{} + var retval *DeleteAnnotationResponse + if retval, err2 = p.handler.DeleteAnnotation(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteAnnotation: "+err2.Error()) + oprot.WriteMessageBegin("DeleteAnnotation", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval + } + if err2 = oprot.WriteMessageBegin("DeleteAnnotation", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return fmt.Sprintf("OpenAPIServiceIngestTracesResult(%+v)", *p) - -} - -func (p *OpenAPIServiceIngestTracesResult) DeepEqual(ano *OpenAPIServiceIngestTracesResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if !p.Field0DeepEqual(ano.Success) { - return false + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - return true -} - -func (p *OpenAPIServiceIngestTracesResult) Field0DeepEqual(src *IngestTracesResponse) bool { - - if !p.Success.DeepEqual(src) { - return false + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return true + if err != nil { + return + } + return true, err } -type OpenAPIServiceOtelIngestTracesArgs struct { - Req *OtelIngestTracesRequest `thrift:"req,1" frugal:"1,default,OtelIngestTracesRequest"` +type OpenAPIServiceIngestTracesArgs struct { + Req *IngestTracesRequest `thrift:"req,1" frugal:"1,default,IngestTracesRequest"` } -func NewOpenAPIServiceOtelIngestTracesArgs() *OpenAPIServiceOtelIngestTracesArgs { - return &OpenAPIServiceOtelIngestTracesArgs{} +func NewOpenAPIServiceIngestTracesArgs() *OpenAPIServiceIngestTracesArgs { + return &OpenAPIServiceIngestTracesArgs{} } -func (p *OpenAPIServiceOtelIngestTracesArgs) InitDefault() { +func (p *OpenAPIServiceIngestTracesArgs) InitDefault() { } -var OpenAPIServiceOtelIngestTracesArgs_Req_DEFAULT *OtelIngestTracesRequest +var OpenAPIServiceIngestTracesArgs_Req_DEFAULT *IngestTracesRequest -func (p *OpenAPIServiceOtelIngestTracesArgs) GetReq() (v *OtelIngestTracesRequest) { +func (p *OpenAPIServiceIngestTracesArgs) GetReq() (v *IngestTracesRequest) { if p == nil { return } if !p.IsSetReq() { - return OpenAPIServiceOtelIngestTracesArgs_Req_DEFAULT + return OpenAPIServiceIngestTracesArgs_Req_DEFAULT } return p.Req } -func (p *OpenAPIServiceOtelIngestTracesArgs) SetReq(val *OtelIngestTracesRequest) { +func (p *OpenAPIServiceIngestTracesArgs) SetReq(val *IngestTracesRequest) { p.Req = val } -var fieldIDToName_OpenAPIServiceOtelIngestTracesArgs = map[int16]string{ +var fieldIDToName_OpenAPIServiceIngestTracesArgs = map[int16]string{ 1: "req", } -func (p *OpenAPIServiceOtelIngestTracesArgs) IsSetReq() bool { +func (p *OpenAPIServiceIngestTracesArgs) IsSetReq() bool { return p.Req != nil } -func (p *OpenAPIServiceOtelIngestTracesArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -9364,7 +7500,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceOtelIngestTracesArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceIngestTracesArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9374,8 +7510,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewOtelIngestTracesRequest() +func (p *OpenAPIServiceIngestTracesArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewIngestTracesRequest() if err := _field.Read(iprot); err != nil { return err } @@ -9383,9 +7519,9 @@ func (p *OpenAPIServiceOtelIngestTracesArgs) ReadField1(iprot thrift.TProtocol) return nil } -func (p *OpenAPIServiceOtelIngestTracesArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("OtelIngestTraces_args"); err != nil { + if err = oprot.WriteStructBegin("IngestTraces_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9411,7 +7547,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -9428,15 +7564,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesArgs) String() string { +func (p *OpenAPIServiceIngestTracesArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceOtelIngestTracesArgs(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceIngestTracesArgs(%+v)", *p) } -func (p *OpenAPIServiceOtelIngestTracesArgs) DeepEqual(ano *OpenAPIServiceOtelIngestTracesArgs) bool { +func (p *OpenAPIServiceIngestTracesArgs) DeepEqual(ano *OpenAPIServiceIngestTracesArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -9448,7 +7584,7 @@ func (p *OpenAPIServiceOtelIngestTracesArgs) DeepEqual(ano *OpenAPIServiceOtelIn return true } -func (p *OpenAPIServiceOtelIngestTracesArgs) Field1DeepEqual(src *OtelIngestTracesRequest) bool { +func (p *OpenAPIServiceIngestTracesArgs) Field1DeepEqual(src *IngestTracesRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -9456,41 +7592,41 @@ func (p *OpenAPIServiceOtelIngestTracesArgs) Field1DeepEqual(src *OtelIngestTrac return true } -type OpenAPIServiceOtelIngestTracesResult struct { - Success *OtelIngestTracesResponse `thrift:"success,0,optional" frugal:"0,optional,OtelIngestTracesResponse"` +type OpenAPIServiceIngestTracesResult struct { + Success *IngestTracesResponse `thrift:"success,0,optional" frugal:"0,optional,IngestTracesResponse"` } -func NewOpenAPIServiceOtelIngestTracesResult() *OpenAPIServiceOtelIngestTracesResult { - return &OpenAPIServiceOtelIngestTracesResult{} +func NewOpenAPIServiceIngestTracesResult() *OpenAPIServiceIngestTracesResult { + return &OpenAPIServiceIngestTracesResult{} } -func (p *OpenAPIServiceOtelIngestTracesResult) InitDefault() { +func (p *OpenAPIServiceIngestTracesResult) InitDefault() { } -var OpenAPIServiceOtelIngestTracesResult_Success_DEFAULT *OtelIngestTracesResponse +var OpenAPIServiceIngestTracesResult_Success_DEFAULT *IngestTracesResponse -func (p *OpenAPIServiceOtelIngestTracesResult) GetSuccess() (v *OtelIngestTracesResponse) { +func (p *OpenAPIServiceIngestTracesResult) GetSuccess() (v *IngestTracesResponse) { if p == nil { return } if !p.IsSetSuccess() { - return OpenAPIServiceOtelIngestTracesResult_Success_DEFAULT + return OpenAPIServiceIngestTracesResult_Success_DEFAULT } return p.Success } -func (p *OpenAPIServiceOtelIngestTracesResult) SetSuccess(x interface{}) { - p.Success = x.(*OtelIngestTracesResponse) +func (p *OpenAPIServiceIngestTracesResult) SetSuccess(x interface{}) { + p.Success = x.(*IngestTracesResponse) } -var fieldIDToName_OpenAPIServiceOtelIngestTracesResult = map[int16]string{ +var fieldIDToName_OpenAPIServiceIngestTracesResult = map[int16]string{ 0: "success", } -func (p *OpenAPIServiceOtelIngestTracesResult) IsSetSuccess() bool { +func (p *OpenAPIServiceIngestTracesResult) IsSetSuccess() bool { return p.Success != nil } -func (p *OpenAPIServiceOtelIngestTracesResult) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -9535,7 +7671,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceOtelIngestTracesResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceIngestTracesResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9545,8 +7681,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewOtelIngestTracesResponse() +func (p *OpenAPIServiceIngestTracesResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewIngestTracesResponse() if err := _field.Read(iprot); err != nil { return err } @@ -9554,9 +7690,9 @@ func (p *OpenAPIServiceOtelIngestTracesResult) ReadField0(iprot thrift.TProtocol return nil } -func (p *OpenAPIServiceOtelIngestTracesResult) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("OtelIngestTraces_result"); err != nil { + if err = oprot.WriteStructBegin("IngestTraces_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9582,7 +7718,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceIngestTracesResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -9601,15 +7737,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *OpenAPIServiceOtelIngestTracesResult) String() string { +func (p *OpenAPIServiceIngestTracesResult) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceOtelIngestTracesResult(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceIngestTracesResult(%+v)", *p) } -func (p *OpenAPIServiceOtelIngestTracesResult) DeepEqual(ano *OpenAPIServiceOtelIngestTracesResult) bool { +func (p *OpenAPIServiceIngestTracesResult) DeepEqual(ano *OpenAPIServiceIngestTracesResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -9621,7 +7757,7 @@ func (p *OpenAPIServiceOtelIngestTracesResult) DeepEqual(ano *OpenAPIServiceOtel return true } -func (p *OpenAPIServiceOtelIngestTracesResult) Field0DeepEqual(src *OtelIngestTracesResponse) bool { +func (p *OpenAPIServiceIngestTracesResult) Field0DeepEqual(src *IngestTracesResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -9629,41 +7765,41 @@ func (p *OpenAPIServiceOtelIngestTracesResult) Field0DeepEqual(src *OtelIngestTr return true } -type OpenAPIServiceSearchTraceOApiArgs struct { - Req *SearchTraceOApiRequest `thrift:"req,1" frugal:"1,default,SearchTraceOApiRequest"` +type OpenAPIServiceOtelIngestTracesArgs struct { + Req *OtelIngestTracesRequest `thrift:"req,1" frugal:"1,default,OtelIngestTracesRequest"` } -func NewOpenAPIServiceSearchTraceOApiArgs() *OpenAPIServiceSearchTraceOApiArgs { - return &OpenAPIServiceSearchTraceOApiArgs{} +func NewOpenAPIServiceOtelIngestTracesArgs() *OpenAPIServiceOtelIngestTracesArgs { + return &OpenAPIServiceOtelIngestTracesArgs{} } -func (p *OpenAPIServiceSearchTraceOApiArgs) InitDefault() { +func (p *OpenAPIServiceOtelIngestTracesArgs) InitDefault() { } -var OpenAPIServiceSearchTraceOApiArgs_Req_DEFAULT *SearchTraceOApiRequest +var OpenAPIServiceOtelIngestTracesArgs_Req_DEFAULT *OtelIngestTracesRequest -func (p *OpenAPIServiceSearchTraceOApiArgs) GetReq() (v *SearchTraceOApiRequest) { +func (p *OpenAPIServiceOtelIngestTracesArgs) GetReq() (v *OtelIngestTracesRequest) { if p == nil { return } if !p.IsSetReq() { - return OpenAPIServiceSearchTraceOApiArgs_Req_DEFAULT + return OpenAPIServiceOtelIngestTracesArgs_Req_DEFAULT } return p.Req } -func (p *OpenAPIServiceSearchTraceOApiArgs) SetReq(val *SearchTraceOApiRequest) { +func (p *OpenAPIServiceOtelIngestTracesArgs) SetReq(val *OtelIngestTracesRequest) { p.Req = val } -var fieldIDToName_OpenAPIServiceSearchTraceOApiArgs = map[int16]string{ +var fieldIDToName_OpenAPIServiceOtelIngestTracesArgs = map[int16]string{ 1: "req", } -func (p *OpenAPIServiceSearchTraceOApiArgs) IsSetReq() bool { +func (p *OpenAPIServiceOtelIngestTracesArgs) IsSetReq() bool { return p.Req != nil } -func (p *OpenAPIServiceSearchTraceOApiArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -9708,7 +7844,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceOApiArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceOtelIngestTracesArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9718,8 +7854,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSearchTraceOApiRequest() +func (p *OpenAPIServiceOtelIngestTracesArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewOtelIngestTracesRequest() if err := _field.Read(iprot); err != nil { return err } @@ -9727,9 +7863,9 @@ func (p *OpenAPIServiceSearchTraceOApiArgs) ReadField1(iprot thrift.TProtocol) e return nil } -func (p *OpenAPIServiceSearchTraceOApiArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceOApi_args"); err != nil { + if err = oprot.WriteStructBegin("OtelIngestTraces_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9755,7 +7891,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -9772,15 +7908,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiArgs) String() string { +func (p *OpenAPIServiceOtelIngestTracesArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceSearchTraceOApiArgs(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceOtelIngestTracesArgs(%+v)", *p) } -func (p *OpenAPIServiceSearchTraceOApiArgs) DeepEqual(ano *OpenAPIServiceSearchTraceOApiArgs) bool { +func (p *OpenAPIServiceOtelIngestTracesArgs) DeepEqual(ano *OpenAPIServiceOtelIngestTracesArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -9792,7 +7928,7 @@ func (p *OpenAPIServiceSearchTraceOApiArgs) DeepEqual(ano *OpenAPIServiceSearchT return true } -func (p *OpenAPIServiceSearchTraceOApiArgs) Field1DeepEqual(src *SearchTraceOApiRequest) bool { +func (p *OpenAPIServiceOtelIngestTracesArgs) Field1DeepEqual(src *OtelIngestTracesRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -9800,41 +7936,41 @@ func (p *OpenAPIServiceSearchTraceOApiArgs) Field1DeepEqual(src *SearchTraceOApi return true } -type OpenAPIServiceSearchTraceOApiResult struct { - Success *SearchTraceOApiResponse `thrift:"success,0,optional" frugal:"0,optional,SearchTraceOApiResponse"` +type OpenAPIServiceOtelIngestTracesResult struct { + Success *OtelIngestTracesResponse `thrift:"success,0,optional" frugal:"0,optional,OtelIngestTracesResponse"` } -func NewOpenAPIServiceSearchTraceOApiResult() *OpenAPIServiceSearchTraceOApiResult { - return &OpenAPIServiceSearchTraceOApiResult{} +func NewOpenAPIServiceOtelIngestTracesResult() *OpenAPIServiceOtelIngestTracesResult { + return &OpenAPIServiceOtelIngestTracesResult{} } -func (p *OpenAPIServiceSearchTraceOApiResult) InitDefault() { +func (p *OpenAPIServiceOtelIngestTracesResult) InitDefault() { } -var OpenAPIServiceSearchTraceOApiResult_Success_DEFAULT *SearchTraceOApiResponse +var OpenAPIServiceOtelIngestTracesResult_Success_DEFAULT *OtelIngestTracesResponse -func (p *OpenAPIServiceSearchTraceOApiResult) GetSuccess() (v *SearchTraceOApiResponse) { +func (p *OpenAPIServiceOtelIngestTracesResult) GetSuccess() (v *OtelIngestTracesResponse) { if p == nil { return } if !p.IsSetSuccess() { - return OpenAPIServiceSearchTraceOApiResult_Success_DEFAULT + return OpenAPIServiceOtelIngestTracesResult_Success_DEFAULT } return p.Success } -func (p *OpenAPIServiceSearchTraceOApiResult) SetSuccess(x interface{}) { - p.Success = x.(*SearchTraceOApiResponse) +func (p *OpenAPIServiceOtelIngestTracesResult) SetSuccess(x interface{}) { + p.Success = x.(*OtelIngestTracesResponse) } -var fieldIDToName_OpenAPIServiceSearchTraceOApiResult = map[int16]string{ +var fieldIDToName_OpenAPIServiceOtelIngestTracesResult = map[int16]string{ 0: "success", } -func (p *OpenAPIServiceSearchTraceOApiResult) IsSetSuccess() bool { +func (p *OpenAPIServiceOtelIngestTracesResult) IsSetSuccess() bool { return p.Success != nil } -func (p *OpenAPIServiceSearchTraceOApiResult) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -9879,7 +8015,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceOApiResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceOtelIngestTracesResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9889,8 +8025,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSearchTraceOApiResponse() +func (p *OpenAPIServiceOtelIngestTracesResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewOtelIngestTracesResponse() if err := _field.Read(iprot); err != nil { return err } @@ -9898,9 +8034,9 @@ func (p *OpenAPIServiceSearchTraceOApiResult) ReadField0(iprot thrift.TProtocol) return nil } -func (p *OpenAPIServiceSearchTraceOApiResult) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceOApi_result"); err != nil { + if err = oprot.WriteStructBegin("OtelIngestTraces_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9926,7 +8062,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceOtelIngestTracesResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -9945,15 +8081,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceOApiResult) String() string { +func (p *OpenAPIServiceOtelIngestTracesResult) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceSearchTraceOApiResult(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceOtelIngestTracesResult(%+v)", *p) } -func (p *OpenAPIServiceSearchTraceOApiResult) DeepEqual(ano *OpenAPIServiceSearchTraceOApiResult) bool { +func (p *OpenAPIServiceOtelIngestTracesResult) DeepEqual(ano *OpenAPIServiceOtelIngestTracesResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -9965,7 +8101,7 @@ func (p *OpenAPIServiceSearchTraceOApiResult) DeepEqual(ano *OpenAPIServiceSearc return true } -func (p *OpenAPIServiceSearchTraceOApiResult) Field0DeepEqual(src *SearchTraceOApiResponse) bool { +func (p *OpenAPIServiceOtelIngestTracesResult) Field0DeepEqual(src *OtelIngestTracesResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -9973,41 +8109,41 @@ func (p *OpenAPIServiceSearchTraceOApiResult) Field0DeepEqual(src *SearchTraceOA return true } -type OpenAPIServiceSearchTraceTreeOApiArgs struct { - Req *SearchTraceTreeOApiRequest `thrift:"req,1" frugal:"1,default,SearchTraceTreeOApiRequest"` +type OpenAPIServiceSearchTraceOApiArgs struct { + Req *SearchTraceOApiRequest `thrift:"req,1" frugal:"1,default,SearchTraceOApiRequest"` } -func NewOpenAPIServiceSearchTraceTreeOApiArgs() *OpenAPIServiceSearchTraceTreeOApiArgs { - return &OpenAPIServiceSearchTraceTreeOApiArgs{} +func NewOpenAPIServiceSearchTraceOApiArgs() *OpenAPIServiceSearchTraceOApiArgs { + return &OpenAPIServiceSearchTraceOApiArgs{} } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) InitDefault() { +func (p *OpenAPIServiceSearchTraceOApiArgs) InitDefault() { } -var OpenAPIServiceSearchTraceTreeOApiArgs_Req_DEFAULT *SearchTraceTreeOApiRequest +var OpenAPIServiceSearchTraceOApiArgs_Req_DEFAULT *SearchTraceOApiRequest -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) GetReq() (v *SearchTraceTreeOApiRequest) { +func (p *OpenAPIServiceSearchTraceOApiArgs) GetReq() (v *SearchTraceOApiRequest) { if p == nil { return } if !p.IsSetReq() { - return OpenAPIServiceSearchTraceTreeOApiArgs_Req_DEFAULT + return OpenAPIServiceSearchTraceOApiArgs_Req_DEFAULT } return p.Req } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) SetReq(val *SearchTraceTreeOApiRequest) { +func (p *OpenAPIServiceSearchTraceOApiArgs) SetReq(val *SearchTraceOApiRequest) { p.Req = val } -var fieldIDToName_OpenAPIServiceSearchTraceTreeOApiArgs = map[int16]string{ +var fieldIDToName_OpenAPIServiceSearchTraceOApiArgs = map[int16]string{ 1: "req", } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) IsSetReq() bool { +func (p *OpenAPIServiceSearchTraceOApiArgs) IsSetReq() bool { return p.Req != nil } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -10052,7 +8188,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceTreeOApiArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceOApiArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -10062,8 +8198,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSearchTraceTreeOApiRequest() +func (p *OpenAPIServiceSearchTraceOApiArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewSearchTraceOApiRequest() if err := _field.Read(iprot); err != nil { return err } @@ -10071,9 +8207,9 @@ func (p *OpenAPIServiceSearchTraceTreeOApiArgs) ReadField1(iprot thrift.TProtoco return nil } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeOApi_args"); err != nil { + if err = oprot.WriteStructBegin("SearchTraceOApi_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -10099,7 +8235,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -10116,15 +8252,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) String() string { +func (p *OpenAPIServiceSearchTraceOApiArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceSearchTraceTreeOApiArgs(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceSearchTraceOApiArgs(%+v)", *p) } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) DeepEqual(ano *OpenAPIServiceSearchTraceTreeOApiArgs) bool { +func (p *OpenAPIServiceSearchTraceOApiArgs) DeepEqual(ano *OpenAPIServiceSearchTraceOApiArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -10136,7 +8272,7 @@ func (p *OpenAPIServiceSearchTraceTreeOApiArgs) DeepEqual(ano *OpenAPIServiceSea return true } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) Field1DeepEqual(src *SearchTraceTreeOApiRequest) bool { +func (p *OpenAPIServiceSearchTraceOApiArgs) Field1DeepEqual(src *SearchTraceOApiRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -10144,41 +8280,41 @@ func (p *OpenAPIServiceSearchTraceTreeOApiArgs) Field1DeepEqual(src *SearchTrace return true } -type OpenAPIServiceSearchTraceTreeOApiResult struct { - Success *SearchTraceTreeOApiResponse `thrift:"success,0,optional" frugal:"0,optional,SearchTraceTreeOApiResponse"` +type OpenAPIServiceSearchTraceOApiResult struct { + Success *SearchTraceOApiResponse `thrift:"success,0,optional" frugal:"0,optional,SearchTraceOApiResponse"` } -func NewOpenAPIServiceSearchTraceTreeOApiResult() *OpenAPIServiceSearchTraceTreeOApiResult { - return &OpenAPIServiceSearchTraceTreeOApiResult{} +func NewOpenAPIServiceSearchTraceOApiResult() *OpenAPIServiceSearchTraceOApiResult { + return &OpenAPIServiceSearchTraceOApiResult{} } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) InitDefault() { +func (p *OpenAPIServiceSearchTraceOApiResult) InitDefault() { } -var OpenAPIServiceSearchTraceTreeOApiResult_Success_DEFAULT *SearchTraceTreeOApiResponse +var OpenAPIServiceSearchTraceOApiResult_Success_DEFAULT *SearchTraceOApiResponse -func (p *OpenAPIServiceSearchTraceTreeOApiResult) GetSuccess() (v *SearchTraceTreeOApiResponse) { +func (p *OpenAPIServiceSearchTraceOApiResult) GetSuccess() (v *SearchTraceOApiResponse) { if p == nil { return } if !p.IsSetSuccess() { - return OpenAPIServiceSearchTraceTreeOApiResult_Success_DEFAULT + return OpenAPIServiceSearchTraceOApiResult_Success_DEFAULT } return p.Success } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) SetSuccess(x interface{}) { - p.Success = x.(*SearchTraceTreeOApiResponse) +func (p *OpenAPIServiceSearchTraceOApiResult) SetSuccess(x interface{}) { + p.Success = x.(*SearchTraceOApiResponse) } -var fieldIDToName_OpenAPIServiceSearchTraceTreeOApiResult = map[int16]string{ +var fieldIDToName_OpenAPIServiceSearchTraceOApiResult = map[int16]string{ 0: "success", } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) IsSetSuccess() bool { +func (p *OpenAPIServiceSearchTraceOApiResult) IsSetSuccess() bool { return p.Success != nil } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) Read(iprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -10223,7 +8359,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceTreeOApiResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceOApiResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -10233,8 +8369,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSearchTraceTreeOApiResponse() +func (p *OpenAPIServiceSearchTraceOApiResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewSearchTraceOApiResponse() if err := _field.Read(iprot); err != nil { return err } @@ -10242,9 +8378,9 @@ func (p *OpenAPIServiceSearchTraceTreeOApiResult) ReadField0(iprot thrift.TProto return nil } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) Write(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeOApi_result"); err != nil { + if err = oprot.WriteStructBegin("SearchTraceOApi_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -10270,7 +8406,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *OpenAPIServiceSearchTraceOApiResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -10289,15 +8425,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) String() string { +func (p *OpenAPIServiceSearchTraceOApiResult) String() string { if p == nil { return "" } - return fmt.Sprintf("OpenAPIServiceSearchTraceTreeOApiResult(%+v)", *p) + return fmt.Sprintf("OpenAPIServiceSearchTraceOApiResult(%+v)", *p) } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) DeepEqual(ano *OpenAPIServiceSearchTraceTreeOApiResult) bool { +func (p *OpenAPIServiceSearchTraceOApiResult) DeepEqual(ano *OpenAPIServiceSearchTraceOApiResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -10309,7 +8445,7 @@ func (p *OpenAPIServiceSearchTraceTreeOApiResult) DeepEqual(ano *OpenAPIServiceS return true } -func (p *OpenAPIServiceSearchTraceTreeOApiResult) Field0DeepEqual(src *SearchTraceTreeOApiResponse) bool { +func (p *OpenAPIServiceSearchTraceOApiResult) Field0DeepEqual(src *SearchTraceOApiResponse) bool { if !p.Success.DeepEqual(src) { return false diff --git a/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi_validator.go b/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi_validator.go index c5ad8123c..610982a6a 100644 --- a/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi_validator.go +++ b/backend/kitex_gen/coze/loop/observability/openapi/coze.loop.observability.openapi_validator.go @@ -135,40 +135,6 @@ func (p *SearchTraceOApiData) IsValid() error { } return nil } -func (p *SearchTraceTreeOApiRequest) IsValid() error { - if p.Filters != nil { - if err := p.Filters.IsValid(); err != nil { - return fmt.Errorf("field Filters not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *SearchTraceTreeOApiResponse) IsValid() error { - if p.Data != nil { - if err := p.Data.IsValid(); err != nil { - return fmt.Errorf("field Data not valid, %w", err) - } - } - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} -func (p *SearchTraceTreeOApiData) IsValid() error { - if p.TracesAdvanceInfo != nil { - if err := p.TracesAdvanceInfo.IsValid(); err != nil { - return fmt.Errorf("field TracesAdvanceInfo not valid, %w", err) - } - } - return nil -} func (p *ListSpansOApiRequest) IsValid() error { if p.WorkspaceID <= int64(0) { return fmt.Errorf("field WorkspaceID gt rule failed, current value: %v", p.WorkspaceID) diff --git a/backend/kitex_gen/coze/loop/observability/openapi/k-coze.loop.observability.openapi.go b/backend/kitex_gen/coze/loop/observability/openapi/k-coze.loop.observability.openapi.go index 6c4bf415a..8eca6ef94 100644 --- a/backend/kitex_gen/coze/loop/observability/openapi/k-coze.loop.observability.openapi.go +++ b/backend/kitex_gen/coze/loop/observability/openapi/k-coze.loop.observability.openapi.go @@ -2239,20 +2239,6 @@ func (p *SearchTraceOApiRequest) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 9: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField9(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } case 255: if fieldTypeId == thrift.STRUCT { l, err = p.FastReadField255(buf[offset:]) @@ -2404,30 +2390,6 @@ func (p *SearchTraceOApiRequest) FastReadField8(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceOApiRequest) FastReadField9(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - var _elem string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _elem = v - } - - _field = append(_field, _elem) - } - p.SpanIds = _field - return offset, nil -} - func (p *SearchTraceOApiRequest) FastReadField255(buf []byte) (int, error) { offset := 0 _field := base.NewBase() @@ -2454,7 +2416,6 @@ func (p *SearchTraceOApiRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWrit offset += p.fastWriteField2(buf[offset:], w) offset += p.fastWriteField3(buf[offset:], w) offset += p.fastWriteField8(buf[offset:], w) - offset += p.fastWriteField9(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) @@ -2471,7 +2432,6 @@ func (p *SearchTraceOApiRequest) BLength() int { l += p.field5Length() l += p.field6Length() l += p.field8Length() - l += p.field9Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() @@ -2533,22 +2493,6 @@ func (p *SearchTraceOApiRequest) fastWriteField8(buf []byte, w thrift.NocopyWrit return offset } -func (p *SearchTraceOApiRequest) fastWriteField9(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSpanIds() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 9) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.SpanIds { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) - } - return offset -} - func (p *SearchTraceOApiRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetBase() { @@ -2613,19 +2557,6 @@ func (p *SearchTraceOApiRequest) field8Length() int { return l } -func (p *SearchTraceOApiRequest) field9Length() int { - l := 0 - if p.IsSetSpanIds() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.SpanIds { - _ = v - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - func (p *SearchTraceOApiRequest) field255Length() int { l := 0 if p.IsSetBase() { @@ -2670,1004 +2601,6 @@ func (p *SearchTraceOApiRequest) DeepCopy(s interface{}) error { p.PlatformType = &tmp } - if src.SpanIds != nil { - p.SpanIds = make([]string, 0, len(src.SpanIds)) - for _, elem := range src.SpanIds { - var _elem string - if elem != "" { - _elem = kutils.StringDeepCopy(elem) - } - p.SpanIds = append(p.SpanIds, _elem) - } - } - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *SearchTraceOApiResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceOApiResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *SearchTraceOApiResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int32 - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Code = _field - return offset, nil -} - -func (p *SearchTraceOApiResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.Msg = _field - return offset, nil -} - -func (p *SearchTraceOApiResponse) FastReadField3(buf []byte) (int, error) { - offset := 0 - _field := NewSearchTraceOApiData() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Data = _field - return offset, nil -} - -func (p *SearchTraceOApiResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *SearchTraceOApiResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchTraceOApiResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchTraceOApiResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchTraceOApiResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetCode() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 1) - offset += thrift.Binary.WriteI32(buf[offset:], *p.Code) - } - return offset -} - -func (p *SearchTraceOApiResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetMsg() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.Msg) - } - return offset -} - -func (p *SearchTraceOApiResponse) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetData() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 3) - offset += p.Data.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceOApiResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBaseResp() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceOApiResponse) field1Length() int { - l := 0 - if p.IsSetCode() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - } - return l -} - -func (p *SearchTraceOApiResponse) field2Length() int { - l := 0 - if p.IsSetMsg() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.Msg) - } - return l -} - -func (p *SearchTraceOApiResponse) field3Length() int { - l := 0 - if p.IsSetData() { - l += thrift.Binary.FieldBeginLength() - l += p.Data.BLength() - } - return l -} - -func (p *SearchTraceOApiResponse) field255Length() int { - l := 0 - if p.IsSetBaseResp() { - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - } - return l -} - -func (p *SearchTraceOApiResponse) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceOApiResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.Code != nil { - tmp := *src.Code - p.Code = &tmp - } - - if src.Msg != nil { - var tmp string - if *src.Msg != "" { - tmp = kutils.StringDeepCopy(*src.Msg) - } - p.Msg = &tmp - } - - var _data *SearchTraceOApiData - if src.Data != nil { - _data = &SearchTraceOApiData{} - if err := _data.DeepCopy(src.Data); err != nil { - return err - } - } - p.Data = _data - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - -func (p *SearchTraceOApiData) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetSpans bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetSpans = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetSpans { - fieldId = 1 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceOApiData[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceOApiData[fieldId])) -} - -func (p *SearchTraceOApiData) FastReadField1(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]*span.OutputSpan, 0, size) - values := make([]span.OutputSpan, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if l, err := _elem.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field = append(_field, _elem) - } - p.Spans = _field - return offset, nil -} - -func (p *SearchTraceOApiData) FastReadField2(buf []byte) (int, error) { - offset := 0 - _field := trace0.NewTraceAdvanceInfo() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.TracesAdvanceInfo = _field - return offset, nil -} - -func (p *SearchTraceOApiData) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchTraceOApiData) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchTraceOApiData) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchTraceOApiData) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.Spans { - length++ - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) - return offset -} - -func (p *SearchTraceOApiData) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTracesAdvanceInfo() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 2) - offset += p.TracesAdvanceInfo.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceOApiData) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.Spans { - _ = v - l += v.BLength() - } - return l -} - -func (p *SearchTraceOApiData) field2Length() int { - l := 0 - if p.IsSetTracesAdvanceInfo() { - l += thrift.Binary.FieldBeginLength() - l += p.TracesAdvanceInfo.BLength() - } - return l -} - -func (p *SearchTraceOApiData) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceOApiData) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.Spans != nil { - p.Spans = make([]*span.OutputSpan, 0, len(src.Spans)) - for _, elem := range src.Spans { - var _elem *span.OutputSpan - if elem != nil { - _elem = &span.OutputSpan{} - if err := _elem.DeepCopy(elem); err != nil { - return err - } - } - - p.Spans = append(p.Spans, _elem) - } - } - - var _tracesAdvanceInfo *trace0.TraceAdvanceInfo - if src.TracesAdvanceInfo != nil { - _tracesAdvanceInfo = &trace0.TraceAdvanceInfo{} - if err := _tracesAdvanceInfo.DeepCopy(src.TracesAdvanceInfo); err != nil { - return err - } - } - p.TracesAdvanceInfo = _tracesAdvanceInfo - - return nil -} - -func (p *SearchTraceTreeOApiRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetLimit bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 4: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 5: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField5(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 6: - if fieldTypeId == thrift.I32 { - l, err = p.FastReadField6(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetLimit = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 8: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField8(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetLimit { - fieldId = 6 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceTreeOApiRequest[fieldId])) -} - -func (p *SearchTraceTreeOApiRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field *string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.TraceID = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.StartTime = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField5(buf []byte) (int, error) { - offset := 0 - - var _field *int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.EndTime = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField6(buf []byte) (int, error) { - offset := 0 - - var _field int32 - if v, l, err := thrift.Binary.ReadI32(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.Limit = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField8(buf []byte) (int, error) { - offset := 0 - - var _field *common.PlatformType - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.PlatformType = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - _field := filter.NewFilterFields() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Filters = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *SearchTraceTreeOApiRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchTraceTreeOApiRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField5(buf[offset:], w) - offset += p.fastWriteField6(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField8(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchTraceTreeOApiRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field3Length() - l += p.field4Length() - l += p.field5Length() - l += p.field6Length() - l += p.field8Length() - l += p.field10Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetWorkspaceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], *p.WorkspaceID) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTraceID() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 3) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.TraceID) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetStartTime() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 4) - offset += thrift.Binary.WriteI64(buf[offset:], *p.StartTime) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField5(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetEndTime() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 5) - offset += thrift.Binary.WriteI64(buf[offset:], *p.EndTime) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField6(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 6) - offset += thrift.Binary.WriteI32(buf[offset:], p.Limit) - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField8(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetPlatformType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 8) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.PlatformType) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetFilters() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 10) - offset += p.Filters.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeOApiRequest) field1Length() int { - l := 0 - if p.IsSetWorkspaceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field3Length() int { - l := 0 - if p.IsSetTraceID() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.TraceID) - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field4Length() int { - l := 0 - if p.IsSetStartTime() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field5Length() int { - l := 0 - if p.IsSetEndTime() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field6Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I32Length() - return l -} - -func (p *SearchTraceTreeOApiRequest) field8Length() int { - l := 0 - if p.IsSetPlatformType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.PlatformType) - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field10Length() int { - l := 0 - if p.IsSetFilters() { - l += thrift.Binary.FieldBeginLength() - l += p.Filters.BLength() - } - return l -} - -func (p *SearchTraceTreeOApiRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *SearchTraceTreeOApiRequest) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceTreeOApiRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.WorkspaceID != nil { - tmp := *src.WorkspaceID - p.WorkspaceID = &tmp - } - - if src.TraceID != nil { - var tmp string - if *src.TraceID != "" { - tmp = kutils.StringDeepCopy(*src.TraceID) - } - p.TraceID = &tmp - } - - if src.StartTime != nil { - tmp := *src.StartTime - p.StartTime = &tmp - } - - if src.EndTime != nil { - tmp := *src.EndTime - p.EndTime = &tmp - } - - p.Limit = src.Limit - - if src.PlatformType != nil { - tmp := *src.PlatformType - p.PlatformType = &tmp - } - - var _filters *filter.FilterFields - if src.Filters != nil { - _filters = &filter.FilterFields{} - if err := _filters.DeepCopy(src.Filters); err != nil { - return err - } - } - p.Filters = _filters - var _base *base.Base if src.Base != nil { _base = &base.Base{} @@ -3680,7 +2613,7 @@ func (p *SearchTraceTreeOApiRequest) DeepCopy(s interface{}) error { return nil } -func (p *SearchTraceTreeOApiResponse) FastRead(buf []byte) (int, error) { +func (p *SearchTraceOApiResponse) FastRead(buf []byte) (int, error) { var err error var offset int @@ -3766,12 +2699,12 @@ func (p *SearchTraceTreeOApiResponse) FastRead(buf []byte) (int, error) { ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiResponse[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceOApiResponse[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) } -func (p *SearchTraceTreeOApiResponse) FastReadField1(buf []byte) (int, error) { +func (p *SearchTraceOApiResponse) FastReadField1(buf []byte) (int, error) { offset := 0 var _field *int32 @@ -3785,7 +2718,7 @@ func (p *SearchTraceTreeOApiResponse) FastReadField1(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceTreeOApiResponse) FastReadField2(buf []byte) (int, error) { +func (p *SearchTraceOApiResponse) FastReadField2(buf []byte) (int, error) { offset := 0 var _field *string @@ -3799,7 +2732,7 @@ func (p *SearchTraceTreeOApiResponse) FastReadField2(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceTreeOApiResponse) FastReadField3(buf []byte) (int, error) { +func (p *SearchTraceOApiResponse) FastReadField3(buf []byte) (int, error) { offset := 0 _field := NewSearchTraceOApiData() if l, err := _field.FastRead(buf[offset:]); err != nil { @@ -3811,7 +2744,7 @@ func (p *SearchTraceTreeOApiResponse) FastReadField3(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceTreeOApiResponse) FastReadField255(buf []byte) (int, error) { +func (p *SearchTraceOApiResponse) FastReadField255(buf []byte) (int, error) { offset := 0 _field := base.NewBaseResp() if l, err := _field.FastRead(buf[offset:]); err != nil { @@ -3823,11 +2756,11 @@ func (p *SearchTraceTreeOApiResponse) FastReadField255(buf []byte) (int, error) return offset, nil } -func (p *SearchTraceTreeOApiResponse) FastWrite(buf []byte) int { +func (p *SearchTraceOApiResponse) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *SearchTraceTreeOApiResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -3839,7 +2772,7 @@ func (p *SearchTraceTreeOApiResponse) FastWriteNocopy(buf []byte, w thrift.Nocop return offset } -func (p *SearchTraceTreeOApiResponse) BLength() int { +func (p *SearchTraceOApiResponse) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -3851,7 +2784,7 @@ func (p *SearchTraceTreeOApiResponse) BLength() int { return l } -func (p *SearchTraceTreeOApiResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetCode() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I32, 1) @@ -3860,7 +2793,7 @@ func (p *SearchTraceTreeOApiResponse) fastWriteField1(buf []byte, w thrift.Nocop return offset } -func (p *SearchTraceTreeOApiResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetMsg() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) @@ -3869,7 +2802,7 @@ func (p *SearchTraceTreeOApiResponse) fastWriteField2(buf []byte, w thrift.Nocop return offset } -func (p *SearchTraceTreeOApiResponse) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiResponse) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetData() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 3) @@ -3878,7 +2811,7 @@ func (p *SearchTraceTreeOApiResponse) fastWriteField3(buf []byte, w thrift.Nocop return offset } -func (p *SearchTraceTreeOApiResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetBaseResp() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) @@ -3887,7 +2820,7 @@ func (p *SearchTraceTreeOApiResponse) fastWriteField255(buf []byte, w thrift.Noc return offset } -func (p *SearchTraceTreeOApiResponse) field1Length() int { +func (p *SearchTraceOApiResponse) field1Length() int { l := 0 if p.IsSetCode() { l += thrift.Binary.FieldBeginLength() @@ -3896,7 +2829,7 @@ func (p *SearchTraceTreeOApiResponse) field1Length() int { return l } -func (p *SearchTraceTreeOApiResponse) field2Length() int { +func (p *SearchTraceOApiResponse) field2Length() int { l := 0 if p.IsSetMsg() { l += thrift.Binary.FieldBeginLength() @@ -3905,7 +2838,7 @@ func (p *SearchTraceTreeOApiResponse) field2Length() int { return l } -func (p *SearchTraceTreeOApiResponse) field3Length() int { +func (p *SearchTraceOApiResponse) field3Length() int { l := 0 if p.IsSetData() { l += thrift.Binary.FieldBeginLength() @@ -3914,7 +2847,7 @@ func (p *SearchTraceTreeOApiResponse) field3Length() int { return l } -func (p *SearchTraceTreeOApiResponse) field255Length() int { +func (p *SearchTraceOApiResponse) field255Length() int { l := 0 if p.IsSetBaseResp() { l += thrift.Binary.FieldBeginLength() @@ -3923,8 +2856,8 @@ func (p *SearchTraceTreeOApiResponse) field255Length() int { return l } -func (p *SearchTraceTreeOApiResponse) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceTreeOApiResponse) +func (p *SearchTraceOApiResponse) DeepCopy(s interface{}) error { + src, ok := s.(*SearchTraceOApiResponse) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } @@ -3963,7 +2896,7 @@ func (p *SearchTraceTreeOApiResponse) DeepCopy(s interface{}) error { return nil } -func (p *SearchTraceTreeOApiData) FastRead(buf []byte) (int, error) { +func (p *SearchTraceOApiData) FastRead(buf []byte) (int, error) { var err error var offset int @@ -4027,14 +2960,14 @@ func (p *SearchTraceTreeOApiData) FastRead(buf []byte) (int, error) { ReadFieldBeginError: return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeOApiData[fieldId]), err) + return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceOApiData[fieldId]), err) SkipFieldError: return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceTreeOApiData[fieldId])) + return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceOApiData[fieldId])) } -func (p *SearchTraceTreeOApiData) FastReadField1(buf []byte) (int, error) { +func (p *SearchTraceOApiData) FastReadField1(buf []byte) (int, error) { offset := 0 _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) @@ -4059,7 +2992,7 @@ func (p *SearchTraceTreeOApiData) FastReadField1(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceTreeOApiData) FastReadField2(buf []byte) (int, error) { +func (p *SearchTraceOApiData) FastReadField2(buf []byte) (int, error) { offset := 0 _field := trace0.NewTraceAdvanceInfo() if l, err := _field.FastRead(buf[offset:]); err != nil { @@ -4071,11 +3004,11 @@ func (p *SearchTraceTreeOApiData) FastReadField2(buf []byte) (int, error) { return offset, nil } -func (p *SearchTraceTreeOApiData) FastWrite(buf []byte) int { +func (p *SearchTraceOApiData) FastWrite(buf []byte) int { return p.FastWriteNocopy(buf, nil) } -func (p *SearchTraceTreeOApiData) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiData) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) @@ -4085,7 +3018,7 @@ func (p *SearchTraceTreeOApiData) FastWriteNocopy(buf []byte, w thrift.NocopyWri return offset } -func (p *SearchTraceTreeOApiData) BLength() int { +func (p *SearchTraceOApiData) BLength() int { l := 0 if p != nil { l += p.field1Length() @@ -4095,7 +3028,7 @@ func (p *SearchTraceTreeOApiData) BLength() int { return l } -func (p *SearchTraceTreeOApiData) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiData) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { offset := 0 offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) listBeginOffset := offset @@ -4109,7 +3042,7 @@ func (p *SearchTraceTreeOApiData) fastWriteField1(buf []byte, w thrift.NocopyWri return offset } -func (p *SearchTraceTreeOApiData) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { +func (p *SearchTraceOApiData) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetTracesAdvanceInfo() { offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 2) @@ -4118,7 +3051,7 @@ func (p *SearchTraceTreeOApiData) fastWriteField2(buf []byte, w thrift.NocopyWri return offset } -func (p *SearchTraceTreeOApiData) field1Length() int { +func (p *SearchTraceOApiData) field1Length() int { l := 0 l += thrift.Binary.FieldBeginLength() l += thrift.Binary.ListBeginLength() @@ -4129,7 +3062,7 @@ func (p *SearchTraceTreeOApiData) field1Length() int { return l } -func (p *SearchTraceTreeOApiData) field2Length() int { +func (p *SearchTraceOApiData) field2Length() int { l := 0 if p.IsSetTracesAdvanceInfo() { l += thrift.Binary.FieldBeginLength() @@ -4138,8 +3071,8 @@ func (p *SearchTraceTreeOApiData) field2Length() int { return l } -func (p *SearchTraceTreeOApiData) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceTreeOApiData) +func (p *SearchTraceOApiData) DeepCopy(s interface{}) error { + src, ok := s.(*SearchTraceOApiData) if !ok { return fmt.Errorf("%T's type not matched %T", s, p) } @@ -6902,240 +5835,6 @@ func (p *OpenAPIServiceSearchTraceOApiResult) DeepCopy(s interface{}) error { return nil } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceTreeOApiArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewSearchTraceTreeOApiRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) DeepCopy(s interface{}) error { - src, ok := s.(*OpenAPIServiceSearchTraceTreeOApiArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *SearchTraceTreeOApiRequest - if src.Req != nil { - _req = &SearchTraceTreeOApiRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_OpenAPIServiceSearchTraceTreeOApiResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewSearchTraceTreeOApiResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) DeepCopy(s interface{}) error { - src, ok := s.(*OpenAPIServiceSearchTraceTreeOApiResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *SearchTraceTreeOApiResponse - if src.Success != nil { - _success = &SearchTraceTreeOApiResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - func (p *OpenAPIServiceListSpansOApiArgs) FastRead(buf []byte) (int, error) { var err error @@ -8096,14 +6795,6 @@ func (p *OpenAPIServiceSearchTraceOApiResult) GetResult() interface{} { return p.Success } -func (p *OpenAPIServiceSearchTraceTreeOApiArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *OpenAPIServiceSearchTraceTreeOApiResult) GetResult() interface{} { - return p.Success -} - func (p *OpenAPIServiceListSpansOApiArgs) GetFirstArgument() interface{} { return p.Req } diff --git a/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/client.go b/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/client.go index e66aaf856..cf24a4d87 100644 --- a/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/client.go +++ b/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/client.go @@ -14,7 +14,6 @@ type Client interface { IngestTraces(ctx context.Context, req *openapi.IngestTracesRequest, callOptions ...callopt.Option) (r *openapi.IngestTracesResponse, err error) OtelIngestTraces(ctx context.Context, req *openapi.OtelIngestTracesRequest, callOptions ...callopt.Option) (r *openapi.OtelIngestTracesResponse, err error) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceOApiResponse, err error) - SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) ListTracesOApi(ctx context.Context, req *openapi.ListTracesOApiRequest, callOptions ...callopt.Option) (r *openapi.ListTracesOApiResponse, err error) CreateAnnotation(ctx context.Context, req *openapi.CreateAnnotationRequest, callOptions ...callopt.Option) (r *openapi.CreateAnnotationResponse, err error) @@ -65,11 +64,6 @@ func (p *kOpenAPIServiceClient) SearchTraceOApi(ctx context.Context, req *openap return p.kClient.SearchTraceOApi(ctx, req) } -func (p *kOpenAPIServiceClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (r *openapi.SearchTraceTreeOApiResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTreeOApi(ctx, req) -} - func (p *kOpenAPIServiceClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (r *openapi.ListSpansOApiResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.ListSpansOApi(ctx, req) diff --git a/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/openapiservice.go b/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/openapiservice.go index 5d95da287..6f63fb847 100644 --- a/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/openapiservice.go +++ b/backend/kitex_gen/coze/loop/observability/openapi/openapiservice/openapiservice.go @@ -34,13 +34,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTreeOApi": kitex.NewMethodInfo( - searchTraceTreeOApiHandler, - newOpenAPIServiceSearchTraceTreeOApiArgs, - newOpenAPIServiceSearchTraceTreeOApiResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "ListSpansOApi": kitex.NewMethodInfo( listSpansOApiHandler, newOpenAPIServiceListSpansOApiArgs, @@ -159,25 +152,6 @@ func newOpenAPIServiceSearchTraceOApiResult() interface{} { return openapi.NewOpenAPIServiceSearchTraceOApiResult() } -func searchTraceTreeOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*openapi.OpenAPIServiceSearchTraceTreeOApiArgs) - realResult := result.(*openapi.OpenAPIServiceSearchTraceTreeOApiResult) - success, err := handler.(openapi.OpenAPIService).SearchTraceTreeOApi(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newOpenAPIServiceSearchTraceTreeOApiArgs() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiArgs() -} - -func newOpenAPIServiceSearchTraceTreeOApiResult() interface{} { - return openapi.NewOpenAPIServiceSearchTraceTreeOApiResult() -} - func listSpansOApiHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*openapi.OpenAPIServiceListSpansOApiArgs) realResult := result.(*openapi.OpenAPIServiceListSpansOApiResult) @@ -296,16 +270,6 @@ func (p *kClient) SearchTraceOApi(ctx context.Context, req *openapi.SearchTraceO return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) (r *openapi.SearchTraceTreeOApiResponse, err error) { - var _args openapi.OpenAPIServiceSearchTraceTreeOApiArgs - _args.Req = req - var _result openapi.OpenAPIServiceSearchTraceTreeOApiResult - if err = p.c.Call(ctx, "SearchTraceTreeOApi", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest) (r *openapi.ListSpansOApiResponse, err error) { var _args openapi.OpenAPIServiceListSpansOApiArgs _args.Req = req diff --git a/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace.go b/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace.go index 5fb6a631b..99322c8a5 100644 --- a/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace.go +++ b/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace.go @@ -2725,136 +2725,58 @@ func (p *GetTraceResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type SearchTraceTreeRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - TraceID string `thrift:"trace_id,2,required" frugal:"2,required,string" json:"trace_id" form:"trace_id,required" ` - // ms - StartTime int64 `thrift:"start_time,3,required" frugal:"3,required,i64" json:"start_time" form:"start_time,required" ` - // ms - EndTime int64 `thrift:"end_time,4,required" frugal:"4,required,i64" json:"end_time" form:"end_time,required" ` - PlatformType *common.PlatformType `thrift:"platform_type,8,optional" frugal:"8,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Filters *filter.FilterFields `thrift:"filters,10,optional" frugal:"10,optional,filter.FilterFields" form:"filters" json:"filters,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewSearchTraceTreeRequest() *SearchTraceTreeRequest { - return &SearchTraceTreeRequest{} +type TraceQueryParams struct { + TraceID string `thrift:"trace_id,1,required" frugal:"1,required,string" form:"trace_id,required" json:"trace_id,required" query:"trace_id,required"` + StartTime int64 `thrift:"start_time,2,required" frugal:"2,required,i64" json:"start_time" form:"start_time,required" query:"start_time,required"` + EndTime int64 `thrift:"end_time,3,required" frugal:"3,required,i64" json:"end_time" form:"end_time,required" query:"end_time,required"` } -func (p *SearchTraceTreeRequest) InitDefault() { +func NewTraceQueryParams() *TraceQueryParams { + return &TraceQueryParams{} } -func (p *SearchTraceTreeRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func (p *TraceQueryParams) InitDefault() { } -func (p *SearchTraceTreeRequest) GetTraceID() (v string) { +func (p *TraceQueryParams) GetTraceID() (v string) { if p != nil { return p.TraceID } return } -func (p *SearchTraceTreeRequest) GetStartTime() (v int64) { +func (p *TraceQueryParams) GetStartTime() (v int64) { if p != nil { return p.StartTime } return } -func (p *SearchTraceTreeRequest) GetEndTime() (v int64) { +func (p *TraceQueryParams) GetEndTime() (v int64) { if p != nil { return p.EndTime } return } - -var SearchTraceTreeRequest_PlatformType_DEFAULT common.PlatformType - -func (p *SearchTraceTreeRequest) GetPlatformType() (v common.PlatformType) { - if p == nil { - return - } - if !p.IsSetPlatformType() { - return SearchTraceTreeRequest_PlatformType_DEFAULT - } - return *p.PlatformType -} - -var SearchTraceTreeRequest_Filters_DEFAULT *filter.FilterFields - -func (p *SearchTraceTreeRequest) GetFilters() (v *filter.FilterFields) { - if p == nil { - return - } - if !p.IsSetFilters() { - return SearchTraceTreeRequest_Filters_DEFAULT - } - return p.Filters -} - -var SearchTraceTreeRequest_Base_DEFAULT *base.Base - -func (p *SearchTraceTreeRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return SearchTraceTreeRequest_Base_DEFAULT - } - return p.Base -} -func (p *SearchTraceTreeRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *SearchTraceTreeRequest) SetTraceID(val string) { +func (p *TraceQueryParams) SetTraceID(val string) { p.TraceID = val } -func (p *SearchTraceTreeRequest) SetStartTime(val int64) { +func (p *TraceQueryParams) SetStartTime(val int64) { p.StartTime = val } -func (p *SearchTraceTreeRequest) SetEndTime(val int64) { +func (p *TraceQueryParams) SetEndTime(val int64) { p.EndTime = val } -func (p *SearchTraceTreeRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val -} -func (p *SearchTraceTreeRequest) SetFilters(val *filter.FilterFields) { - p.Filters = val -} -func (p *SearchTraceTreeRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_SearchTraceTreeRequest = map[int16]string{ - 1: "workspace_id", - 2: "trace_id", - 3: "start_time", - 4: "end_time", - 8: "platform_type", - 10: "filters", - 255: "Base", -} - -func (p *SearchTraceTreeRequest) IsSetPlatformType() bool { - return p.PlatformType != nil -} - -func (p *SearchTraceTreeRequest) IsSetFilters() bool { - return p.Filters != nil -} -func (p *SearchTraceTreeRequest) IsSetBase() bool { - return p.Base != nil +var fieldIDToName_TraceQueryParams = map[int16]string{ + 1: "trace_id", + 2: "start_time", + 3: "end_time", } -func (p *SearchTraceTreeRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *TraceQueryParams) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false var issetTraceID bool = false var issetStartTime bool = false var issetEndTime bool = false @@ -2874,20 +2796,20 @@ func (p *SearchTraceTreeRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true + issetTraceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetTraceID = true + issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -2896,43 +2818,10 @@ func (p *SearchTraceTreeRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } - issetStartTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.I64 { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } issetEndTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 8: - if fieldTypeId == thrift.STRING { - if err = p.ReadField8(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 10: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField10(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } default: if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError @@ -2946,23 +2835,18 @@ func (p *SearchTraceTreeRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - if !issetTraceID { - fieldId = 2 + fieldId = 1 goto RequiredFieldNotSetError } if !issetStartTime { - fieldId = 3 + fieldId = 2 goto RequiredFieldNotSetError } if !issetEndTime { - fieldId = 4 + fieldId = 3 goto RequiredFieldNotSetError } return nil @@ -2971,7 +2855,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceQueryParams[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -2980,21 +2864,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SearchTraceTreeRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_TraceQueryParams[fieldId])) } -func (p *SearchTraceTreeRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *SearchTraceTreeRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *TraceQueryParams) ReadField1(iprot thrift.TProtocol) error { var _field string if v, err := iprot.ReadString(); err != nil { @@ -3005,7 +2878,7 @@ func (p *SearchTraceTreeRequest) ReadField2(iprot thrift.TProtocol) error { p.TraceID = _field return nil } -func (p *SearchTraceTreeRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *TraceQueryParams) ReadField2(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -3016,7 +2889,7 @@ func (p *SearchTraceTreeRequest) ReadField3(iprot thrift.TProtocol) error { p.StartTime = _field return nil } -func (p *SearchTraceTreeRequest) ReadField4(iprot thrift.TProtocol) error { +func (p *TraceQueryParams) ReadField3(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -3027,37 +2900,10 @@ func (p *SearchTraceTreeRequest) ReadField4(iprot thrift.TProtocol) error { p.EndTime = _field return nil } -func (p *SearchTraceTreeRequest) ReadField8(iprot thrift.TProtocol) error { - - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field - return nil -} -func (p *SearchTraceTreeRequest) ReadField10(iprot thrift.TProtocol) error { - _field := filter.NewFilterFields() - if err := _field.Read(iprot); err != nil { - return err - } - p.Filters = _field - return nil -} -func (p *SearchTraceTreeRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} -func (p *SearchTraceTreeRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *TraceQueryParams) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeRequest"); err != nil { + if err = oprot.WriteStructBegin("TraceQueryParams"); err != nil { goto WriteStructBeginError } if p != nil { @@ -3073,22 +2919,6 @@ func (p *SearchTraceTreeRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 3 goto WriteFieldError } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField8(oprot); err != nil { - fieldId = 8 - goto WriteFieldError - } - if err = p.writeField10(oprot); err != nil { - fieldId = 10 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -3107,11 +2937,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchTraceTreeRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { +func (p *TraceQueryParams) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := oprot.WriteString(p.TraceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3123,11 +2953,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SearchTraceTreeRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 2); err != nil { +func (p *TraceQueryParams) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.TraceID); err != nil { + if err := oprot.WriteI64(p.StartTime); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3139,11 +2969,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *SearchTraceTreeRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 3); err != nil { +func (p *TraceQueryParams) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("end_time", thrift.I64, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.StartTime); err != nil { + if err := oprot.WriteI64(p.EndTime); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3155,241 +2985,139 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *SearchTraceTreeRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 4); err != nil { - goto WriteFieldBeginError + +func (p *TraceQueryParams) String() string { + if p == nil { + return "" } - if err := oprot.WriteI64(p.EndTime); err != nil { - return err + return fmt.Sprintf("TraceQueryParams(%+v)", *p) + +} + +func (p *TraceQueryParams) DeepEqual(ano *TraceQueryParams) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + if !p.Field1DeepEqual(ano.TraceID) { + return false } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) + if !p.Field2DeepEqual(ano.StartTime) { + return false + } + if !p.Field3DeepEqual(ano.EndTime) { + return false + } + return true } -func (p *SearchTraceTreeRequest) writeField8(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 8); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PlatformType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + +func (p *TraceQueryParams) Field1DeepEqual(src string) bool { + + if strings.Compare(p.TraceID, src) != 0 { + return false } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) + return true } -func (p *SearchTraceTreeRequest) writeField10(oprot thrift.TProtocol) (err error) { - if p.IsSetFilters() { - if err = oprot.WriteFieldBegin("filters", thrift.STRUCT, 10); err != nil { - goto WriteFieldBeginError - } - if err := p.Filters.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 10 end error: ", p), err) -} -func (p *SearchTraceTreeRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.Base.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *SearchTraceTreeRequest) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("SearchTraceTreeRequest(%+v)", *p) - -} - -func (p *SearchTraceTreeRequest) DeepEqual(ano *SearchTraceTreeRequest) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.TraceID) { - return false - } - if !p.Field3DeepEqual(ano.StartTime) { - return false - } - if !p.Field4DeepEqual(ano.EndTime) { - return false - } - if !p.Field8DeepEqual(ano.PlatformType) { - return false - } - if !p.Field10DeepEqual(ano.Filters) { - return false - } - if !p.Field255DeepEqual(ano.Base) { - return false - } - return true -} - -func (p *SearchTraceTreeRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { - return false - } - return true -} -func (p *SearchTraceTreeRequest) Field2DeepEqual(src string) bool { - - if strings.Compare(p.TraceID, src) != 0 { - return false - } - return true -} -func (p *SearchTraceTreeRequest) Field3DeepEqual(src int64) bool { +func (p *TraceQueryParams) Field2DeepEqual(src int64) bool { if p.StartTime != src { return false } return true } -func (p *SearchTraceTreeRequest) Field4DeepEqual(src int64) bool { +func (p *TraceQueryParams) Field3DeepEqual(src int64) bool { if p.EndTime != src { return false } return true } -func (p *SearchTraceTreeRequest) Field8DeepEqual(src *common.PlatformType) bool { - - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false - } - if strings.Compare(*p.PlatformType, *src) != 0 { - return false - } - return true -} -func (p *SearchTraceTreeRequest) Field10DeepEqual(src *filter.FilterFields) bool { - if !p.Filters.DeepEqual(src) { - return false - } - return true -} -func (p *SearchTraceTreeRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true +type BatchGetTracesAdvanceInfoRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + Traces []*TraceQueryParams `thrift:"traces,2,required" frugal:"2,required,list" form:"traces,required" json:"traces,required"` + PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -type SearchTraceTreeResponse struct { - Spans []*span.OutputSpan `thrift:"spans,1,required" frugal:"1,required,list" form:"spans,required" json:"spans,required" query:"spans,required"` - TracesAdvanceInfo *TraceAdvanceInfo `thrift:"traces_advance_info,2,optional" frugal:"2,optional,TraceAdvanceInfo" form:"traces_advance_info" json:"traces_advance_info,omitempty" query:"traces_advance_info"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +func NewBatchGetTracesAdvanceInfoRequest() *BatchGetTracesAdvanceInfoRequest { + return &BatchGetTracesAdvanceInfoRequest{} } -func NewSearchTraceTreeResponse() *SearchTraceTreeResponse { - return &SearchTraceTreeResponse{} +func (p *BatchGetTracesAdvanceInfoRequest) InitDefault() { } -func (p *SearchTraceTreeResponse) InitDefault() { +func (p *BatchGetTracesAdvanceInfoRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return } -func (p *SearchTraceTreeResponse) GetSpans() (v []*span.OutputSpan) { +func (p *BatchGetTracesAdvanceInfoRequest) GetTraces() (v []*TraceQueryParams) { if p != nil { - return p.Spans + return p.Traces } return } -var SearchTraceTreeResponse_TracesAdvanceInfo_DEFAULT *TraceAdvanceInfo +var BatchGetTracesAdvanceInfoRequest_PlatformType_DEFAULT common.PlatformType -func (p *SearchTraceTreeResponse) GetTracesAdvanceInfo() (v *TraceAdvanceInfo) { +func (p *BatchGetTracesAdvanceInfoRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } - if !p.IsSetTracesAdvanceInfo() { - return SearchTraceTreeResponse_TracesAdvanceInfo_DEFAULT + if !p.IsSetPlatformType() { + return BatchGetTracesAdvanceInfoRequest_PlatformType_DEFAULT } - return p.TracesAdvanceInfo + return *p.PlatformType } -var SearchTraceTreeResponse_BaseResp_DEFAULT *base.BaseResp +var BatchGetTracesAdvanceInfoRequest_Base_DEFAULT *base.Base -func (p *SearchTraceTreeResponse) GetBaseResp() (v *base.BaseResp) { +func (p *BatchGetTracesAdvanceInfoRequest) GetBase() (v *base.Base) { if p == nil { return } - if !p.IsSetBaseResp() { - return SearchTraceTreeResponse_BaseResp_DEFAULT + if !p.IsSetBase() { + return BatchGetTracesAdvanceInfoRequest_Base_DEFAULT } - return p.BaseResp + return p.Base } -func (p *SearchTraceTreeResponse) SetSpans(val []*span.OutputSpan) { - p.Spans = val +func (p *BatchGetTracesAdvanceInfoRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *SearchTraceTreeResponse) SetTracesAdvanceInfo(val *TraceAdvanceInfo) { - p.TracesAdvanceInfo = val +func (p *BatchGetTracesAdvanceInfoRequest) SetTraces(val []*TraceQueryParams) { + p.Traces = val } -func (p *SearchTraceTreeResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *BatchGetTracesAdvanceInfoRequest) SetPlatformType(val *common.PlatformType) { + p.PlatformType = val +} +func (p *BatchGetTracesAdvanceInfoRequest) SetBase(val *base.Base) { + p.Base = val } -var fieldIDToName_SearchTraceTreeResponse = map[int16]string{ - 1: "spans", - 2: "traces_advance_info", - 255: "BaseResp", +var fieldIDToName_BatchGetTracesAdvanceInfoRequest = map[int16]string{ + 1: "workspace_id", + 2: "traces", + 6: "platform_type", + 255: "Base", } -func (p *SearchTraceTreeResponse) IsSetTracesAdvanceInfo() bool { - return p.TracesAdvanceInfo != nil +func (p *BatchGetTracesAdvanceInfoRequest) IsSetPlatformType() bool { + return p.PlatformType != nil } -func (p *SearchTraceTreeResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *BatchGetTracesAdvanceInfoRequest) IsSetBase() bool { + return p.Base != nil } -func (p *SearchTraceTreeResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetTracesAdvanceInfoRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetSpans bool = false + var issetWorkspaceID bool = false + var issetTraces bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -3406,19 +3134,28 @@ func (p *SearchTraceTreeResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetSpans = true + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.LIST { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetTraces = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -3443,17 +3180,22 @@ func (p *SearchTraceTreeResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetSpans { + if !issetWorkspaceID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetTraces { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetTracesAdvanceInfoRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -3462,16 +3204,27 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SearchTraceTreeResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetTracesAdvanceInfoRequest[fieldId])) } -func (p *SearchTraceTreeResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *BatchGetTracesAdvanceInfoRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *BatchGetTracesAdvanceInfoRequest) ReadField2(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*span.OutputSpan, 0, size) - values := make([]span.OutputSpan, size) + _field := make([]*TraceQueryParams, 0, size) + values := make([]TraceQueryParams, size) for i := 0; i < size; i++ { _elem := &values[i] _elem.InitDefault() @@ -3485,29 +3238,32 @@ func (p *SearchTraceTreeResponse) ReadField1(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.Spans = _field + p.Traces = _field return nil } -func (p *SearchTraceTreeResponse) ReadField2(iprot thrift.TProtocol) error { - _field := NewTraceAdvanceInfo() - if err := _field.Read(iprot); err != nil { +func (p *BatchGetTracesAdvanceInfoRequest) ReadField6(iprot thrift.TProtocol) error { + + var _field *common.PlatformType + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = &v } - p.TracesAdvanceInfo = _field + p.PlatformType = _field return nil } -func (p *SearchTraceTreeResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *BatchGetTracesAdvanceInfoRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *SearchTraceTreeResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetTracesAdvanceInfoRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTreeResponse"); err != nil { + if err = oprot.WriteStructBegin("BatchGetTracesAdvanceInfoRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -3519,6 +3275,10 @@ func (p *SearchTraceTreeResponse) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -3541,14 +3301,30 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SearchTraceTreeResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("spans", thrift.LIST, 1); err != nil { +func (p *BatchGetTracesAdvanceInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Spans)); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } - for _, v := range p.Spans { + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *BatchGetTracesAdvanceInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("traces", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Traces)); err != nil { + return err + } + for _, v := range p.Traces { if err := v.Write(oprot); err != nil { return err } @@ -3561,16 +3337,16 @@ func (p *SearchTraceTreeResponse) writeField1(oprot thrift.TProtocol) (err error } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *SearchTraceTreeResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetTracesAdvanceInfo() { - if err = oprot.WriteFieldBegin("traces_advance_info", thrift.STRUCT, 2); err != nil { +func (p *BatchGetTracesAdvanceInfoRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { goto WriteFieldBeginError } - if err := p.TracesAdvanceInfo.Write(oprot); err != nil { + if err := oprot.WriteString(*p.PlatformType); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3579,16 +3355,16 @@ func (p *SearchTraceTreeResponse) writeField2(oprot thrift.TProtocol) (err error } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *SearchTraceTreeResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { +func (p *BatchGetTracesAdvanceInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := p.BaseResp.Write(oprot); err != nil { + if err := p.Base.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3602,38 +3378,48 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *SearchTraceTreeResponse) String() string { +func (p *BatchGetTracesAdvanceInfoRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("SearchTraceTreeResponse(%+v)", *p) + return fmt.Sprintf("BatchGetTracesAdvanceInfoRequest(%+v)", *p) } -func (p *SearchTraceTreeResponse) DeepEqual(ano *SearchTraceTreeResponse) bool { +func (p *BatchGetTracesAdvanceInfoRequest) DeepEqual(ano *BatchGetTracesAdvanceInfoRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Spans) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.TracesAdvanceInfo) { + if !p.Field2DeepEqual(ano.Traces) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field6DeepEqual(ano.PlatformType) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *SearchTraceTreeResponse) Field1DeepEqual(src []*span.OutputSpan) bool { +func (p *BatchGetTracesAdvanceInfoRequest) Field1DeepEqual(src int64) bool { - if len(p.Spans) != len(src) { + if p.WorkspaceID != src { return false } - for i, v := range p.Spans { + return true +} +func (p *BatchGetTracesAdvanceInfoRequest) Field2DeepEqual(src []*TraceQueryParams) bool { + + if len(p.Traces) != len(src) { + return false + } + for i, v := range p.Traces { _src := src[i] if !v.DeepEqual(_src) { return false @@ -3641,76 +3427,76 @@ func (p *SearchTraceTreeResponse) Field1DeepEqual(src []*span.OutputSpan) bool { } return true } -func (p *SearchTraceTreeResponse) Field2DeepEqual(src *TraceAdvanceInfo) bool { +func (p *BatchGetTracesAdvanceInfoRequest) Field6DeepEqual(src *common.PlatformType) bool { - if !p.TracesAdvanceInfo.DeepEqual(src) { + if p.PlatformType == src { + return true + } else if p.PlatformType == nil || src == nil { + return false + } + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *SearchTraceTreeResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *BatchGetTracesAdvanceInfoRequest) Field255DeepEqual(src *base.Base) bool { - if !p.BaseResp.DeepEqual(src) { + if !p.Base.DeepEqual(src) { return false } return true } -type TraceQueryParams struct { - TraceID string `thrift:"trace_id,1,required" frugal:"1,required,string" form:"trace_id,required" json:"trace_id,required" query:"trace_id,required"` - StartTime int64 `thrift:"start_time,2,required" frugal:"2,required,i64" json:"start_time" form:"start_time,required" query:"start_time,required"` - EndTime int64 `thrift:"end_time,3,required" frugal:"3,required,i64" json:"end_time" form:"end_time,required" query:"end_time,required"` +type BatchGetTracesAdvanceInfoResponse struct { + TracesAdvanceInfo []*TraceAdvanceInfo `thrift:"traces_advance_info,1,required" frugal:"1,required,list" form:"traces_advance_info,required" json:"traces_advance_info,required" query:"traces_advance_info,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewTraceQueryParams() *TraceQueryParams { - return &TraceQueryParams{} +func NewBatchGetTracesAdvanceInfoResponse() *BatchGetTracesAdvanceInfoResponse { + return &BatchGetTracesAdvanceInfoResponse{} } -func (p *TraceQueryParams) InitDefault() { +func (p *BatchGetTracesAdvanceInfoResponse) InitDefault() { } -func (p *TraceQueryParams) GetTraceID() (v string) { +func (p *BatchGetTracesAdvanceInfoResponse) GetTracesAdvanceInfo() (v []*TraceAdvanceInfo) { if p != nil { - return p.TraceID + return p.TracesAdvanceInfo } return } -func (p *TraceQueryParams) GetStartTime() (v int64) { - if p != nil { - return p.StartTime - } - return -} +var BatchGetTracesAdvanceInfoResponse_BaseResp_DEFAULT *base.BaseResp -func (p *TraceQueryParams) GetEndTime() (v int64) { - if p != nil { - return p.EndTime +func (p *BatchGetTracesAdvanceInfoResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return } - return + if !p.IsSetBaseResp() { + return BatchGetTracesAdvanceInfoResponse_BaseResp_DEFAULT + } + return p.BaseResp } -func (p *TraceQueryParams) SetTraceID(val string) { - p.TraceID = val +func (p *BatchGetTracesAdvanceInfoResponse) SetTracesAdvanceInfo(val []*TraceAdvanceInfo) { + p.TracesAdvanceInfo = val } -func (p *TraceQueryParams) SetStartTime(val int64) { - p.StartTime = val +func (p *BatchGetTracesAdvanceInfoResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *TraceQueryParams) SetEndTime(val int64) { - p.EndTime = val + +var fieldIDToName_BatchGetTracesAdvanceInfoResponse = map[int16]string{ + 1: "traces_advance_info", + 255: "BaseResp", } -var fieldIDToName_TraceQueryParams = map[int16]string{ - 1: "trace_id", - 2: "start_time", - 3: "end_time", +func (p *BatchGetTracesAdvanceInfoResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *TraceQueryParams) Read(iprot thrift.TProtocol) (err error) { +func (p *BatchGetTracesAdvanceInfoResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetTraceID bool = false - var issetStartTime bool = false - var issetEndTime bool = false + var issetTracesAdvanceInfo bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -3727,29 +3513,19 @@ func (p *TraceQueryParams) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetTraceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetStartTime = true + issetTracesAdvanceInfo = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 3: - if fieldTypeId == thrift.I64 { - if err = p.ReadField3(iprot); err != nil { + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { goto ReadFieldError } - issetEndTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -3766,27 +3542,17 @@ func (p *TraceQueryParams) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetTraceID { + if !issetTracesAdvanceInfo { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetStartTime { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetEndTime { - fieldId = 3 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceQueryParams[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetTracesAdvanceInfoResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -3795,46 +3561,44 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_TraceQueryParams[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetTracesAdvanceInfoResponse[fieldId])) } -func (p *TraceQueryParams) ReadField1(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { +func (p *BatchGetTracesAdvanceInfoResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { return err - } else { - _field = v } - p.TraceID = _field - return nil -} -func (p *TraceQueryParams) ReadField2(iprot thrift.TProtocol) error { + _field := make([]*TraceAdvanceInfo, 0, size) + values := make([]TraceAdvanceInfo, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _field int64 - if v, err := iprot.ReadI64(); err != nil { + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { return err - } else { - _field = v } - p.StartTime = _field + p.TracesAdvanceInfo = _field return nil } -func (p *TraceQueryParams) ReadField3(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *BatchGetTracesAdvanceInfoResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { return err - } else { - _field = v } - p.EndTime = _field + p.BaseResp = _field return nil } -func (p *TraceQueryParams) Write(oprot thrift.TProtocol) (err error) { +func (p *BatchGetTracesAdvanceInfoResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("TraceQueryParams"); err != nil { + if err = oprot.WriteStructBegin("BatchGetTracesAdvanceInfoResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -3842,12 +3606,8 @@ func (p *TraceQueryParams) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 + if err = p.writeField255(oprot); err != nil { + fieldId = 255 goto WriteFieldError } } @@ -3868,27 +3628,19 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *TraceQueryParams) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 1); err != nil { +func (p *BatchGetTracesAdvanceInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("traces_advance_info", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.TraceID); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.TracesAdvanceInfo)); err != nil { return err } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *TraceQueryParams) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 2); err != nil { - goto WriteFieldBeginError + for _, v := range p.TracesAdvanceInfo { + if err := v.Write(oprot); err != nil { + return err + } } - if err := oprot.WriteI64(p.StartTime); err != nil { + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -3896,159 +3648,131 @@ func (p *TraceQueryParams) writeField2(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *TraceQueryParams) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.EndTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *BatchGetTracesAdvanceInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseResp() { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *TraceQueryParams) String() string { +func (p *BatchGetTracesAdvanceInfoResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("TraceQueryParams(%+v)", *p) + return fmt.Sprintf("BatchGetTracesAdvanceInfoResponse(%+v)", *p) } -func (p *TraceQueryParams) DeepEqual(ano *TraceQueryParams) bool { +func (p *BatchGetTracesAdvanceInfoResponse) DeepEqual(ano *BatchGetTracesAdvanceInfoResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.TraceID) { - return false - } - if !p.Field2DeepEqual(ano.StartTime) { + if !p.Field1DeepEqual(ano.TracesAdvanceInfo) { return false } - if !p.Field3DeepEqual(ano.EndTime) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *TraceQueryParams) Field1DeepEqual(src string) bool { +func (p *BatchGetTracesAdvanceInfoResponse) Field1DeepEqual(src []*TraceAdvanceInfo) bool { - if strings.Compare(p.TraceID, src) != 0 { + if len(p.TracesAdvanceInfo) != len(src) { return false } - return true -} -func (p *TraceQueryParams) Field2DeepEqual(src int64) bool { - - if p.StartTime != src { - return false + for i, v := range p.TracesAdvanceInfo { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } } return true } -func (p *TraceQueryParams) Field3DeepEqual(src int64) bool { +func (p *BatchGetTracesAdvanceInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.EndTime != src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -type BatchGetTracesAdvanceInfoRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - Traces []*TraceQueryParams `thrift:"traces,2,required" frugal:"2,required,list" form:"traces,required" json:"traces,required"` - PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewBatchGetTracesAdvanceInfoRequest() *BatchGetTracesAdvanceInfoRequest { - return &BatchGetTracesAdvanceInfoRequest{} -} - -func (p *BatchGetTracesAdvanceInfoRequest) InitDefault() { +type IngestTracesRequest struct { + Spans []*span.InputSpan `thrift:"spans,1,optional" frugal:"1,optional,list" form:"spans" json:"spans,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func (p *BatchGetTracesAdvanceInfoRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func NewIngestTracesRequest() *IngestTracesRequest { + return &IngestTracesRequest{} } -func (p *BatchGetTracesAdvanceInfoRequest) GetTraces() (v []*TraceQueryParams) { - if p != nil { - return p.Traces - } - return +func (p *IngestTracesRequest) InitDefault() { } -var BatchGetTracesAdvanceInfoRequest_PlatformType_DEFAULT common.PlatformType +var IngestTracesRequest_Spans_DEFAULT []*span.InputSpan -func (p *BatchGetTracesAdvanceInfoRequest) GetPlatformType() (v common.PlatformType) { +func (p *IngestTracesRequest) GetSpans() (v []*span.InputSpan) { if p == nil { return } - if !p.IsSetPlatformType() { - return BatchGetTracesAdvanceInfoRequest_PlatformType_DEFAULT + if !p.IsSetSpans() { + return IngestTracesRequest_Spans_DEFAULT } - return *p.PlatformType + return p.Spans } -var BatchGetTracesAdvanceInfoRequest_Base_DEFAULT *base.Base +var IngestTracesRequest_Base_DEFAULT *base.Base -func (p *BatchGetTracesAdvanceInfoRequest) GetBase() (v *base.Base) { +func (p *IngestTracesRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return BatchGetTracesAdvanceInfoRequest_Base_DEFAULT + return IngestTracesRequest_Base_DEFAULT } return p.Base } -func (p *BatchGetTracesAdvanceInfoRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *BatchGetTracesAdvanceInfoRequest) SetTraces(val []*TraceQueryParams) { - p.Traces = val -} -func (p *BatchGetTracesAdvanceInfoRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val +func (p *IngestTracesRequest) SetSpans(val []*span.InputSpan) { + p.Spans = val } -func (p *BatchGetTracesAdvanceInfoRequest) SetBase(val *base.Base) { +func (p *IngestTracesRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_BatchGetTracesAdvanceInfoRequest = map[int16]string{ - 1: "workspace_id", - 2: "traces", - 6: "platform_type", +var fieldIDToName_IngestTracesRequest = map[int16]string{ + 1: "spans", 255: "Base", } -func (p *BatchGetTracesAdvanceInfoRequest) IsSetPlatformType() bool { - return p.PlatformType != nil +func (p *IngestTracesRequest) IsSetSpans() bool { + return p.Spans != nil } -func (p *BatchGetTracesAdvanceInfoRequest) IsSetBase() bool { +func (p *IngestTracesRequest) IsSetBase() bool { return p.Base != nil } -func (p *BatchGetTracesAdvanceInfoRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *IngestTracesRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false - var issetTraces bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4065,26 +3789,8 @@ func (p *BatchGetTracesAdvanceInfoRequest) Read(iprot thrift.TProtocol) (err err switch fieldId { case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetTraces = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.STRING { - if err = p.ReadField6(iprot); err != nil { + if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -4111,22 +3817,13 @@ func (p *BatchGetTracesAdvanceInfoRequest) Read(iprot thrift.TProtocol) (err err goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetTraces { - fieldId = 2 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetTracesAdvanceInfoRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_IngestTracesRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4134,28 +3831,15 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetTracesAdvanceInfoRequest[fieldId])) } -func (p *BatchGetTracesAdvanceInfoRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *BatchGetTracesAdvanceInfoRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *IngestTracesRequest) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*TraceQueryParams, 0, size) - values := make([]TraceQueryParams, size) + _field := make([]*span.InputSpan, 0, size) + values := make([]span.InputSpan, size) for i := 0; i < size; i++ { _elem := &values[i] _elem.InitDefault() @@ -4169,21 +3853,10 @@ func (p *BatchGetTracesAdvanceInfoRequest) ReadField2(iprot thrift.TProtocol) er if err := iprot.ReadListEnd(); err != nil { return err } - p.Traces = _field - return nil -} -func (p *BatchGetTracesAdvanceInfoRequest) ReadField6(iprot thrift.TProtocol) error { - - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field + p.Spans = _field return nil } -func (p *BatchGetTracesAdvanceInfoRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *IngestTracesRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -4192,9 +3865,9 @@ func (p *BatchGetTracesAdvanceInfoRequest) ReadField255(iprot thrift.TProtocol) return nil } -func (p *BatchGetTracesAdvanceInfoRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *IngestTracesRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetTracesAdvanceInfoRequest"); err != nil { + if err = oprot.WriteStructBegin("IngestTracesRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4202,14 +3875,6 @@ func (p *BatchGetTracesAdvanceInfoRequest) Write(oprot thrift.TProtocol) (err er fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -4232,52 +3897,20 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *BatchGetTracesAdvanceInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("traces", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Traces)); err != nil { - return err - } - for _, v := range p.Traces { - if err := v.Write(oprot); err != nil { +func (p *IngestTracesRequest) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetSpans() { + if err = oprot.WriteFieldBegin("spans", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Spans)); err != nil { return err } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *BatchGetTracesAdvanceInfoRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError + for _, v := range p.Spans { + if err := v.Write(oprot); err != nil { + return err + } } - if err := oprot.WriteString(*p.PlatformType); err != nil { + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4286,11 +3919,11 @@ func (p *BatchGetTracesAdvanceInfoRequest) writeField6(oprot thrift.TProtocol) ( } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *IngestTracesRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -4309,27 +3942,21 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoRequest) String() string { +func (p *IngestTracesRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("BatchGetTracesAdvanceInfoRequest(%+v)", *p) + return fmt.Sprintf("IngestTracesRequest(%+v)", *p) } -func (p *BatchGetTracesAdvanceInfoRequest) DeepEqual(ano *BatchGetTracesAdvanceInfoRequest) bool { +func (p *IngestTracesRequest) DeepEqual(ano *IngestTracesRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.Traces) { - return false - } - if !p.Field6DeepEqual(ano.PlatformType) { + if !p.Field1DeepEqual(ano.Spans) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -4338,19 +3965,12 @@ func (p *BatchGetTracesAdvanceInfoRequest) DeepEqual(ano *BatchGetTracesAdvanceI return true } -func (p *BatchGetTracesAdvanceInfoRequest) Field1DeepEqual(src int64) bool { +func (p *IngestTracesRequest) Field1DeepEqual(src []*span.InputSpan) bool { - if p.WorkspaceID != src { + if len(p.Spans) != len(src) { return false } - return true -} -func (p *BatchGetTracesAdvanceInfoRequest) Field2DeepEqual(src []*TraceQueryParams) bool { - - if len(p.Traces) != len(src) { - return false - } - for i, v := range p.Traces { + for i, v := range p.Spans { _src := src[i] if !v.DeepEqual(_src) { return false @@ -4358,76 +3978,93 @@ func (p *BatchGetTracesAdvanceInfoRequest) Field2DeepEqual(src []*TraceQueryPara } return true } -func (p *BatchGetTracesAdvanceInfoRequest) Field6DeepEqual(src *common.PlatformType) bool { +func (p *IngestTracesRequest) Field255DeepEqual(src *base.Base) bool { - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false - } - if strings.Compare(*p.PlatformType, *src) != 0 { + if !p.Base.DeepEqual(src) { return false } return true } -func (p *BatchGetTracesAdvanceInfoRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false - } - return true +type IngestTracesResponse struct { + Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty" query:"code"` + Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty" query:"msg"` + BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` } -type BatchGetTracesAdvanceInfoResponse struct { - TracesAdvanceInfo []*TraceAdvanceInfo `thrift:"traces_advance_info,1,required" frugal:"1,required,list" form:"traces_advance_info,required" json:"traces_advance_info,required" query:"traces_advance_info,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +func NewIngestTracesResponse() *IngestTracesResponse { + return &IngestTracesResponse{} } -func NewBatchGetTracesAdvanceInfoResponse() *BatchGetTracesAdvanceInfoResponse { - return &BatchGetTracesAdvanceInfoResponse{} +func (p *IngestTracesResponse) InitDefault() { } -func (p *BatchGetTracesAdvanceInfoResponse) InitDefault() { +var IngestTracesResponse_Code_DEFAULT int32 + +func (p *IngestTracesResponse) GetCode() (v int32) { + if p == nil { + return + } + if !p.IsSetCode() { + return IngestTracesResponse_Code_DEFAULT + } + return *p.Code } -func (p *BatchGetTracesAdvanceInfoResponse) GetTracesAdvanceInfo() (v []*TraceAdvanceInfo) { - if p != nil { - return p.TracesAdvanceInfo +var IngestTracesResponse_Msg_DEFAULT string + +func (p *IngestTracesResponse) GetMsg() (v string) { + if p == nil { + return } - return + if !p.IsSetMsg() { + return IngestTracesResponse_Msg_DEFAULT + } + return *p.Msg } -var BatchGetTracesAdvanceInfoResponse_BaseResp_DEFAULT *base.BaseResp +var IngestTracesResponse_BaseResp_DEFAULT *base.BaseResp -func (p *BatchGetTracesAdvanceInfoResponse) GetBaseResp() (v *base.BaseResp) { +func (p *IngestTracesResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return BatchGetTracesAdvanceInfoResponse_BaseResp_DEFAULT + return IngestTracesResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *BatchGetTracesAdvanceInfoResponse) SetTracesAdvanceInfo(val []*TraceAdvanceInfo) { - p.TracesAdvanceInfo = val +func (p *IngestTracesResponse) SetCode(val *int32) { + p.Code = val } -func (p *BatchGetTracesAdvanceInfoResponse) SetBaseResp(val *base.BaseResp) { +func (p *IngestTracesResponse) SetMsg(val *string) { + p.Msg = val +} +func (p *IngestTracesResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_BatchGetTracesAdvanceInfoResponse = map[int16]string{ - 1: "traces_advance_info", +var fieldIDToName_IngestTracesResponse = map[int16]string{ + 1: "code", + 2: "msg", 255: "BaseResp", } -func (p *BatchGetTracesAdvanceInfoResponse) IsSetBaseResp() bool { +func (p *IngestTracesResponse) IsSetCode() bool { + return p.Code != nil +} + +func (p *IngestTracesResponse) IsSetMsg() bool { + return p.Msg != nil +} + +func (p *IngestTracesResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *BatchGetTracesAdvanceInfoResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *IngestTracesResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetTracesAdvanceInfo bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4444,11 +4081,18 @@ func (p *BatchGetTracesAdvanceInfoResponse) Read(iprot thrift.TProtocol) (err er switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I32 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetTracesAdvanceInfo = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -4473,17 +4117,13 @@ func (p *BatchGetTracesAdvanceInfoResponse) Read(iprot thrift.TProtocol) (err er goto ReadStructEndError } - if !issetTracesAdvanceInfo { - fieldId = 1 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_BatchGetTracesAdvanceInfoResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_IngestTracesResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4491,34 +4131,31 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_BatchGetTracesAdvanceInfoResponse[fieldId])) } -func (p *BatchGetTracesAdvanceInfoResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { +func (p *IngestTracesResponse) ReadField1(iprot thrift.TProtocol) error { + + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { return err + } else { + _field = &v } - _field := make([]*TraceAdvanceInfo, 0, size) - values := make([]TraceAdvanceInfo, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } + p.Code = _field + return nil +} +func (p *IngestTracesResponse) ReadField2(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = &v } - p.TracesAdvanceInfo = _field + p.Msg = _field return nil } -func (p *BatchGetTracesAdvanceInfoResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *IngestTracesResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -4527,9 +4164,9 @@ func (p *BatchGetTracesAdvanceInfoResponse) ReadField255(iprot thrift.TProtocol) return nil } -func (p *BatchGetTracesAdvanceInfoResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *IngestTracesResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("BatchGetTracesAdvanceInfoResponse"); err != nil { + if err = oprot.WriteStructBegin("IngestTracesResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4537,6 +4174,10 @@ func (p *BatchGetTracesAdvanceInfoResponse) Write(oprot thrift.TProtocol) (err e fieldId = 1 goto WriteFieldError } + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -4559,23 +4200,17 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("traces_advance_info", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.TracesAdvanceInfo)); err != nil { - return err - } - for _, v := range p.TracesAdvanceInfo { - if err := v.Write(oprot); err != nil { +func (p *IngestTracesResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetCode() { + if err = oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.Code); err != nil { return err } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -4583,12 +4218,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { +func (p *IngestTracesResponse) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetMsg() { + if err = oprot.WriteFieldBegin("msg", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := p.BaseResp.Write(oprot); err != nil { + if err := oprot.WriteString(*p.Msg); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4596,27 +4231,46 @@ func (p *BatchGetTracesAdvanceInfoResponse) writeField255(oprot thrift.TProtocol } } return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *IngestTracesResponse) writeField255(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil WriteFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *BatchGetTracesAdvanceInfoResponse) String() string { +func (p *IngestTracesResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("BatchGetTracesAdvanceInfoResponse(%+v)", *p) + return fmt.Sprintf("IngestTracesResponse(%+v)", *p) } -func (p *BatchGetTracesAdvanceInfoResponse) DeepEqual(ano *BatchGetTracesAdvanceInfoResponse) bool { +func (p *IngestTracesResponse) DeepEqual(ano *IngestTracesResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.TracesAdvanceInfo) { + if !p.Field1DeepEqual(ano.Code) { + return false + } + if !p.Field2DeepEqual(ano.Msg) { return false } if !p.Field255DeepEqual(ano.BaseResp) { @@ -4625,85 +4279,122 @@ func (p *BatchGetTracesAdvanceInfoResponse) DeepEqual(ano *BatchGetTracesAdvance return true } -func (p *BatchGetTracesAdvanceInfoResponse) Field1DeepEqual(src []*TraceAdvanceInfo) bool { +func (p *IngestTracesResponse) Field1DeepEqual(src *int32) bool { - if len(p.TracesAdvanceInfo) != len(src) { + if p.Code == src { + return true + } else if p.Code == nil || src == nil { return false } - for i, v := range p.TracesAdvanceInfo { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } + if *p.Code != *src { + return false } return true } -func (p *BatchGetTracesAdvanceInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *IngestTracesResponse) Field2DeepEqual(src *string) bool { - if !p.BaseResp.DeepEqual(src) { + if p.Msg == src { + return true + } else if p.Msg == nil || src == nil { + return false + } + if strings.Compare(*p.Msg, *src) != 0 { return false } return true } +func (p *IngestTracesResponse) Field255DeepEqual(src *base.BaseResp) bool { -type IngestTracesRequest struct { - Spans []*span.InputSpan `thrift:"spans,1,optional" frugal:"1,optional,list" form:"spans" json:"spans,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` + if !p.BaseResp.DeepEqual(src) { + return false + } + return true } -func NewIngestTracesRequest() *IngestTracesRequest { - return &IngestTracesRequest{} +type FieldMeta struct { + ValueType filter.FieldType `thrift:"value_type,1,required" frugal:"1,required,string" form:"value_type,required" json:"value_type,required" query:"value_type,required"` + FilterTypes []filter.QueryType `thrift:"filter_types,2,required" frugal:"2,required,list" form:"filter_types,required" json:"filter_types,required" query:"filter_types,required"` + FieldOptions *filter.FieldOptions `thrift:"field_options,3,optional" frugal:"3,optional,filter.FieldOptions" form:"field_options" json:"field_options,omitempty" query:"field_options"` + SupportCustomizableOption *bool `thrift:"support_customizable_option,4,optional" frugal:"4,optional,bool" form:"support_customizable_option" json:"support_customizable_option,omitempty" query:"support_customizable_option"` } -func (p *IngestTracesRequest) InitDefault() { +func NewFieldMeta() *FieldMeta { + return &FieldMeta{} } -var IngestTracesRequest_Spans_DEFAULT []*span.InputSpan +func (p *FieldMeta) InitDefault() { +} -func (p *IngestTracesRequest) GetSpans() (v []*span.InputSpan) { - if p == nil { - return - } - if !p.IsSetSpans() { - return IngestTracesRequest_Spans_DEFAULT +func (p *FieldMeta) GetValueType() (v filter.FieldType) { + if p != nil { + return p.ValueType } - return p.Spans + return } -var IngestTracesRequest_Base_DEFAULT *base.Base +func (p *FieldMeta) GetFilterTypes() (v []filter.QueryType) { + if p != nil { + return p.FilterTypes + } + return +} -func (p *IngestTracesRequest) GetBase() (v *base.Base) { +var FieldMeta_FieldOptions_DEFAULT *filter.FieldOptions + +func (p *FieldMeta) GetFieldOptions() (v *filter.FieldOptions) { if p == nil { return } - if !p.IsSetBase() { - return IngestTracesRequest_Base_DEFAULT + if !p.IsSetFieldOptions() { + return FieldMeta_FieldOptions_DEFAULT } - return p.Base + return p.FieldOptions } -func (p *IngestTracesRequest) SetSpans(val []*span.InputSpan) { - p.Spans = val + +var FieldMeta_SupportCustomizableOption_DEFAULT bool + +func (p *FieldMeta) GetSupportCustomizableOption() (v bool) { + if p == nil { + return + } + if !p.IsSetSupportCustomizableOption() { + return FieldMeta_SupportCustomizableOption_DEFAULT + } + return *p.SupportCustomizableOption } -func (p *IngestTracesRequest) SetBase(val *base.Base) { - p.Base = val +func (p *FieldMeta) SetValueType(val filter.FieldType) { + p.ValueType = val +} +func (p *FieldMeta) SetFilterTypes(val []filter.QueryType) { + p.FilterTypes = val +} +func (p *FieldMeta) SetFieldOptions(val *filter.FieldOptions) { + p.FieldOptions = val +} +func (p *FieldMeta) SetSupportCustomizableOption(val *bool) { + p.SupportCustomizableOption = val } -var fieldIDToName_IngestTracesRequest = map[int16]string{ - 1: "spans", - 255: "Base", +var fieldIDToName_FieldMeta = map[int16]string{ + 1: "value_type", + 2: "filter_types", + 3: "field_options", + 4: "support_customizable_option", } -func (p *IngestTracesRequest) IsSetSpans() bool { - return p.Spans != nil +func (p *FieldMeta) IsSetFieldOptions() bool { + return p.FieldOptions != nil } -func (p *IngestTracesRequest) IsSetBase() bool { - return p.Base != nil +func (p *FieldMeta) IsSetSupportCustomizableOption() bool { + return p.SupportCustomizableOption != nil } -func (p *IngestTracesRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *FieldMeta) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetValueType bool = false + var issetFilterTypes bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -4720,16 +4411,34 @@ func (p *IngestTracesRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetValueType = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 255: + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(iprot); err != nil { + goto ReadFieldError + } + issetFilterTypes = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.BOOL { + if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -4748,13 +4457,22 @@ func (p *IngestTracesRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } + if !issetValueType { + fieldId = 1 + goto RequiredFieldNotSetError + } + + if !issetFilterTypes { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_IngestTracesRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FieldMeta[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -4762,21 +4480,34 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_FieldMeta[fieldId])) } -func (p *IngestTracesRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *FieldMeta) ReadField1(iprot thrift.TProtocol) error { + + var _field filter.FieldType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.ValueType = _field + return nil +} +func (p *FieldMeta) ReadField2(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*span.InputSpan, 0, size) - values := make([]span.InputSpan, size) + _field := make([]filter.QueryType, 0, size) for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if err := _elem.Read(iprot); err != nil { + var _elem filter.QueryType + if v, err := iprot.ReadString(); err != nil { return err + } else { + _elem = v } _field = append(_field, _elem) @@ -4784,21 +4515,32 @@ func (p *IngestTracesRequest) ReadField1(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.Spans = _field + p.FilterTypes = _field return nil } -func (p *IngestTracesRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *FieldMeta) ReadField3(iprot thrift.TProtocol) error { + _field := filter.NewFieldOptions() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.FieldOptions = _field return nil } +func (p *FieldMeta) ReadField4(iprot thrift.TProtocol) error { -func (p *IngestTracesRequest) Write(oprot thrift.TProtocol) (err error) { + var _field *bool + if v, err := iprot.ReadBool(); err != nil { + return err + } else { + _field = &v + } + p.SupportCustomizableOption = _field + return nil +} + +func (p *FieldMeta) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("IngestTracesRequest"); err != nil { + if err = oprot.WriteStructBegin("FieldMeta"); err != nil { goto WriteStructBeginError } if p != nil { @@ -4806,8 +4548,16 @@ func (p *IngestTracesRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 + if err = p.writeField2(oprot); err != nil { + fieldId = 2 + goto WriteFieldError + } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 goto WriteFieldError } } @@ -4828,20 +4578,52 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *IngestTracesRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetSpans() { - if err = oprot.WriteFieldBegin("spans", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Spans)); err != nil { +func (p *FieldMeta) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("value_type", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.ValueType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *FieldMeta) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("filter_types", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.FilterTypes)); err != nil { + return err + } + for _, v := range p.FilterTypes { + if err := oprot.WriteString(v); err != nil { return err } - for _, v := range p.Spans { - if err := v.Write(oprot); err != nil { - return err - } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *FieldMeta) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetFieldOptions() { + if err = oprot.WriteFieldBegin("field_options", thrift.STRUCT, 3); err != nil { + goto WriteFieldBeginError } - if err := oprot.WriteListEnd(); err != nil { + if err := p.FieldOptions.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4850,16 +4632,16 @@ func (p *IngestTracesRequest) writeField1(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *IngestTracesRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { +func (p *FieldMeta) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetSupportCustomizableOption() { + if err = oprot.WriteFieldBegin("support_customizable_option", thrift.BOOL, 4); err != nil { goto WriteFieldBeginError } - if err := p.Base.Write(oprot); err != nil { + if err := oprot.WriteBool(*p.SupportCustomizableOption); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -4868,132 +4650,179 @@ func (p *IngestTracesRequest) writeField255(oprot thrift.TProtocol) (err error) } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *IngestTracesRequest) String() string { +func (p *FieldMeta) String() string { if p == nil { return "" } - return fmt.Sprintf("IngestTracesRequest(%+v)", *p) + return fmt.Sprintf("FieldMeta(%+v)", *p) } -func (p *IngestTracesRequest) DeepEqual(ano *IngestTracesRequest) bool { +func (p *FieldMeta) DeepEqual(ano *FieldMeta) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Spans) { + if !p.Field1DeepEqual(ano.ValueType) { return false } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field2DeepEqual(ano.FilterTypes) { + return false + } + if !p.Field3DeepEqual(ano.FieldOptions) { + return false + } + if !p.Field4DeepEqual(ano.SupportCustomizableOption) { return false } return true } -func (p *IngestTracesRequest) Field1DeepEqual(src []*span.InputSpan) bool { +func (p *FieldMeta) Field1DeepEqual(src filter.FieldType) bool { - if len(p.Spans) != len(src) { + if strings.Compare(p.ValueType, src) != 0 { return false } - for i, v := range p.Spans { + return true +} +func (p *FieldMeta) Field2DeepEqual(src []filter.QueryType) bool { + + if len(p.FilterTypes) != len(src) { + return false + } + for i, v := range p.FilterTypes { _src := src[i] - if !v.DeepEqual(_src) { + if strings.Compare(v, _src) != 0 { return false } } return true } -func (p *IngestTracesRequest) Field255DeepEqual(src *base.Base) bool { +func (p *FieldMeta) Field3DeepEqual(src *filter.FieldOptions) bool { - if !p.Base.DeepEqual(src) { + if !p.FieldOptions.DeepEqual(src) { return false } return true } +func (p *FieldMeta) Field4DeepEqual(src *bool) bool { -type IngestTracesResponse struct { - Code *int32 `thrift:"code,1,optional" frugal:"1,optional,i32" form:"code" json:"code,omitempty" query:"code"` - Msg *string `thrift:"msg,2,optional" frugal:"2,optional,string" form:"msg" json:"msg,omitempty" query:"msg"` - BaseResp *base.BaseResp `thrift:"BaseResp,255" frugal:"255,default,base.BaseResp" form:"BaseResp" json:"BaseResp" query:"BaseResp"` + if p.SupportCustomizableOption == src { + return true + } else if p.SupportCustomizableOption == nil || src == nil { + return false + } + if *p.SupportCustomizableOption != *src { + return false + } + return true } -func NewIngestTracesResponse() *IngestTracesResponse { - return &IngestTracesResponse{} +type GetTracesMetaInfoRequest struct { + PlatformType *common.PlatformType `thrift:"platform_type,1,optional" frugal:"1,optional,string" json:"platform_type,omitempty" query:"platform_type"` + SpanListType *common.SpanListType `thrift:"spanList_type,2,optional" frugal:"2,optional,string" json:"spanList_type,omitempty" query:"span_list_type"` + // required + WorkspaceID *int64 `thrift:"workspace_id,3,optional" frugal:"3,optional,i64" json:"workspace_id,string,omitempty" query:"workspace_id"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func (p *IngestTracesResponse) InitDefault() { +func NewGetTracesMetaInfoRequest() *GetTracesMetaInfoRequest { + return &GetTracesMetaInfoRequest{} } -var IngestTracesResponse_Code_DEFAULT int32 +func (p *GetTracesMetaInfoRequest) InitDefault() { +} -func (p *IngestTracesResponse) GetCode() (v int32) { +var GetTracesMetaInfoRequest_PlatformType_DEFAULT common.PlatformType + +func (p *GetTracesMetaInfoRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } - if !p.IsSetCode() { - return IngestTracesResponse_Code_DEFAULT + if !p.IsSetPlatformType() { + return GetTracesMetaInfoRequest_PlatformType_DEFAULT } - return *p.Code + return *p.PlatformType } -var IngestTracesResponse_Msg_DEFAULT string +var GetTracesMetaInfoRequest_SpanListType_DEFAULT common.SpanListType -func (p *IngestTracesResponse) GetMsg() (v string) { +func (p *GetTracesMetaInfoRequest) GetSpanListType() (v common.SpanListType) { if p == nil { return } - if !p.IsSetMsg() { - return IngestTracesResponse_Msg_DEFAULT + if !p.IsSetSpanListType() { + return GetTracesMetaInfoRequest_SpanListType_DEFAULT } - return *p.Msg + return *p.SpanListType } -var IngestTracesResponse_BaseResp_DEFAULT *base.BaseResp +var GetTracesMetaInfoRequest_WorkspaceID_DEFAULT int64 -func (p *IngestTracesResponse) GetBaseResp() (v *base.BaseResp) { +func (p *GetTracesMetaInfoRequest) GetWorkspaceID() (v int64) { if p == nil { return } - if !p.IsSetBaseResp() { - return IngestTracesResponse_BaseResp_DEFAULT + if !p.IsSetWorkspaceID() { + return GetTracesMetaInfoRequest_WorkspaceID_DEFAULT } - return p.BaseResp + return *p.WorkspaceID } -func (p *IngestTracesResponse) SetCode(val *int32) { - p.Code = val + +var GetTracesMetaInfoRequest_Base_DEFAULT *base.Base + +func (p *GetTracesMetaInfoRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return GetTracesMetaInfoRequest_Base_DEFAULT + } + return p.Base } -func (p *IngestTracesResponse) SetMsg(val *string) { - p.Msg = val +func (p *GetTracesMetaInfoRequest) SetPlatformType(val *common.PlatformType) { + p.PlatformType = val } -func (p *IngestTracesResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *GetTracesMetaInfoRequest) SetSpanListType(val *common.SpanListType) { + p.SpanListType = val +} +func (p *GetTracesMetaInfoRequest) SetWorkspaceID(val *int64) { + p.WorkspaceID = val +} +func (p *GetTracesMetaInfoRequest) SetBase(val *base.Base) { + p.Base = val } -var fieldIDToName_IngestTracesResponse = map[int16]string{ - 1: "code", - 2: "msg", - 255: "BaseResp", +var fieldIDToName_GetTracesMetaInfoRequest = map[int16]string{ + 1: "platform_type", + 2: "spanList_type", + 3: "workspace_id", + 255: "Base", } -func (p *IngestTracesResponse) IsSetCode() bool { - return p.Code != nil +func (p *GetTracesMetaInfoRequest) IsSetPlatformType() bool { + return p.PlatformType != nil } -func (p *IngestTracesResponse) IsSetMsg() bool { - return p.Msg != nil +func (p *GetTracesMetaInfoRequest) IsSetSpanListType() bool { + return p.SpanListType != nil } -func (p *IngestTracesResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *GetTracesMetaInfoRequest) IsSetWorkspaceID() bool { + return p.WorkspaceID != nil } -func (p *IngestTracesResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *GetTracesMetaInfoRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *GetTracesMetaInfoRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -5012,7 +4841,7 @@ func (p *IngestTracesResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } @@ -5027,6 +4856,14 @@ func (p *IngestTracesResponse) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -5054,7 +4891,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_IngestTracesResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetTracesMetaInfoRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5064,40 +4901,51 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *IngestTracesResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *GetTracesMetaInfoRequest) ReadField1(iprot thrift.TProtocol) error { - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { + var _field *common.PlatformType + if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.Code = _field + p.PlatformType = _field return nil } -func (p *IngestTracesResponse) ReadField2(iprot thrift.TProtocol) error { +func (p *GetTracesMetaInfoRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *string + var _field *common.SpanListType if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.Msg = _field + p.SpanListType = _field return nil } -func (p *IngestTracesResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() +func (p *GetTracesMetaInfoRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.WorkspaceID = _field + return nil +} +func (p *GetTracesMetaInfoRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.BaseResp = _field + p.Base = _field return nil } -func (p *IngestTracesResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *GetTracesMetaInfoRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("IngestTracesResponse"); err != nil { + if err = oprot.WriteStructBegin("GetTracesMetaInfoRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5109,6 +4957,10 @@ func (p *IngestTracesResponse) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5131,12 +4983,12 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *IngestTracesResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetCode() { - if err = oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil { +func (p *GetTracesMetaInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(*p.Code); err != nil { + if err := oprot.WriteString(*p.PlatformType); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5149,12 +5001,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *IngestTracesResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetMsg() { - if err = oprot.WriteFieldBegin("msg", thrift.STRING, 2); err != nil { +func (p *GetTracesMetaInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetSpanListType() { + if err = oprot.WriteFieldBegin("spanList_type", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.Msg); err != nil { + if err := oprot.WriteString(*p.SpanListType); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5167,15 +5019,35 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *IngestTracesResponse) writeField255(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err +func (p *GetTracesMetaInfoRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetWorkspaceID() { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *GetTracesMetaInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -5184,148 +5056,129 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *IngestTracesResponse) String() string { +func (p *GetTracesMetaInfoRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("IngestTracesResponse(%+v)", *p) + return fmt.Sprintf("GetTracesMetaInfoRequest(%+v)", *p) } -func (p *IngestTracesResponse) DeepEqual(ano *IngestTracesResponse) bool { +func (p *GetTracesMetaInfoRequest) DeepEqual(ano *GetTracesMetaInfoRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Code) { + if !p.Field1DeepEqual(ano.PlatformType) { return false } - if !p.Field2DeepEqual(ano.Msg) { + if !p.Field2DeepEqual(ano.SpanListType) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field3DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *IngestTracesResponse) Field1DeepEqual(src *int32) bool { +func (p *GetTracesMetaInfoRequest) Field1DeepEqual(src *common.PlatformType) bool { - if p.Code == src { + if p.PlatformType == src { return true - } else if p.Code == nil || src == nil { + } else if p.PlatformType == nil || src == nil { return false } - if *p.Code != *src { + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *IngestTracesResponse) Field2DeepEqual(src *string) bool { +func (p *GetTracesMetaInfoRequest) Field2DeepEqual(src *common.SpanListType) bool { - if p.Msg == src { + if p.SpanListType == src { return true - } else if p.Msg == nil || src == nil { + } else if p.SpanListType == nil || src == nil { return false } - if strings.Compare(*p.Msg, *src) != 0 { + if strings.Compare(*p.SpanListType, *src) != 0 { return false } return true } -func (p *IngestTracesResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *GetTracesMetaInfoRequest) Field3DeepEqual(src *int64) bool { - if !p.BaseResp.DeepEqual(src) { + if p.WorkspaceID == src { + return true + } else if p.WorkspaceID == nil || src == nil { + return false + } + if *p.WorkspaceID != *src { return false } return true } +func (p *GetTracesMetaInfoRequest) Field255DeepEqual(src *base.Base) bool { -type FieldMeta struct { - ValueType filter.FieldType `thrift:"value_type,1,required" frugal:"1,required,string" form:"value_type,required" json:"value_type,required" query:"value_type,required"` - FilterTypes []filter.QueryType `thrift:"filter_types,2,required" frugal:"2,required,list" form:"filter_types,required" json:"filter_types,required" query:"filter_types,required"` - FieldOptions *filter.FieldOptions `thrift:"field_options,3,optional" frugal:"3,optional,filter.FieldOptions" form:"field_options" json:"field_options,omitempty" query:"field_options"` - SupportCustomizableOption *bool `thrift:"support_customizable_option,4,optional" frugal:"4,optional,bool" form:"support_customizable_option" json:"support_customizable_option,omitempty" query:"support_customizable_option"` + if !p.Base.DeepEqual(src) { + return false + } + return true } -func NewFieldMeta() *FieldMeta { - return &FieldMeta{} +type GetTracesMetaInfoResponse struct { + FieldMetas map[string]*FieldMeta `thrift:"field_metas,1,required" frugal:"1,required,map" form:"field_metas,required" json:"field_metas,required" query:"field_metas,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func (p *FieldMeta) InitDefault() { +func NewGetTracesMetaInfoResponse() *GetTracesMetaInfoResponse { + return &GetTracesMetaInfoResponse{} } -func (p *FieldMeta) GetValueType() (v filter.FieldType) { - if p != nil { - return p.ValueType - } - return +func (p *GetTracesMetaInfoResponse) InitDefault() { } -func (p *FieldMeta) GetFilterTypes() (v []filter.QueryType) { +func (p *GetTracesMetaInfoResponse) GetFieldMetas() (v map[string]*FieldMeta) { if p != nil { - return p.FilterTypes + return p.FieldMetas } return } -var FieldMeta_FieldOptions_DEFAULT *filter.FieldOptions - -func (p *FieldMeta) GetFieldOptions() (v *filter.FieldOptions) { - if p == nil { - return - } - if !p.IsSetFieldOptions() { - return FieldMeta_FieldOptions_DEFAULT - } - return p.FieldOptions -} - -var FieldMeta_SupportCustomizableOption_DEFAULT bool +var GetTracesMetaInfoResponse_BaseResp_DEFAULT *base.BaseResp -func (p *FieldMeta) GetSupportCustomizableOption() (v bool) { +func (p *GetTracesMetaInfoResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetSupportCustomizableOption() { - return FieldMeta_SupportCustomizableOption_DEFAULT + if !p.IsSetBaseResp() { + return GetTracesMetaInfoResponse_BaseResp_DEFAULT } - return *p.SupportCustomizableOption -} -func (p *FieldMeta) SetValueType(val filter.FieldType) { - p.ValueType = val -} -func (p *FieldMeta) SetFilterTypes(val []filter.QueryType) { - p.FilterTypes = val -} -func (p *FieldMeta) SetFieldOptions(val *filter.FieldOptions) { - p.FieldOptions = val + return p.BaseResp } -func (p *FieldMeta) SetSupportCustomizableOption(val *bool) { - p.SupportCustomizableOption = val +func (p *GetTracesMetaInfoResponse) SetFieldMetas(val map[string]*FieldMeta) { + p.FieldMetas = val } - -var fieldIDToName_FieldMeta = map[int16]string{ - 1: "value_type", - 2: "filter_types", - 3: "field_options", - 4: "support_customizable_option", +func (p *GetTracesMetaInfoResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -func (p *FieldMeta) IsSetFieldOptions() bool { - return p.FieldOptions != nil +var fieldIDToName_GetTracesMetaInfoResponse = map[int16]string{ + 1: "field_metas", + 255: "BaseResp", } -func (p *FieldMeta) IsSetSupportCustomizableOption() bool { - return p.SupportCustomizableOption != nil +func (p *GetTracesMetaInfoResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *FieldMeta) Read(iprot thrift.TProtocol) (err error) { +func (p *GetTracesMetaInfoResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetValueType bool = false - var issetFilterTypes bool = false + var issetFieldMetas bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5342,34 +5195,17 @@ func (p *FieldMeta) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.MAP { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetValueType = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetFilterTypes = true + issetFieldMetas = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 3: + case 255: if fieldTypeId == thrift.STRUCT { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.BOOL { - if err = p.ReadField4(iprot); err != nil { + if err = p.ReadField255(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -5388,22 +5224,17 @@ func (p *FieldMeta) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetValueType { + if !issetFieldMetas { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetFilterTypes { - fieldId = 2 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_FieldMeta[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetTracesMetaInfoResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5412,66 +5243,50 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_FieldMeta[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_GetTracesMetaInfoResponse[fieldId])) } -func (p *FieldMeta) ReadField1(iprot thrift.TProtocol) error { - - var _field filter.FieldType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.ValueType = _field - return nil -} -func (p *FieldMeta) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() +func (p *GetTracesMetaInfoResponse) ReadField1(iprot thrift.TProtocol) error { + _, _, size, err := iprot.ReadMapBegin() if err != nil { return err } - _field := make([]filter.QueryType, 0, size) + _field := make(map[string]*FieldMeta, size) + values := make([]FieldMeta, size) for i := 0; i < size; i++ { - - var _elem filter.QueryType + var _key string if v, err := iprot.ReadString(); err != nil { return err } else { - _elem = v + _key = v } - _field = append(_field, _elem) + _val := &values[i] + _val.InitDefault() + if err := _val.Read(iprot); err != nil { + return err + } + + _field[_key] = _val } - if err := iprot.ReadListEnd(); err != nil { + if err := iprot.ReadMapEnd(); err != nil { return err } - p.FilterTypes = _field + p.FieldMetas = _field return nil } -func (p *FieldMeta) ReadField3(iprot thrift.TProtocol) error { - _field := filter.NewFieldOptions() +func (p *GetTracesMetaInfoResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.FieldOptions = _field - return nil -} -func (p *FieldMeta) ReadField4(iprot thrift.TProtocol) error { - - var _field *bool - if v, err := iprot.ReadBool(); err != nil { - return err - } else { - _field = &v - } - p.SupportCustomizableOption = _field + p.BaseResp = _field return nil } -func (p *FieldMeta) Write(oprot thrift.TProtocol) (err error) { +func (p *GetTracesMetaInfoResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("FieldMeta"); err != nil { + if err = oprot.WriteStructBegin("GetTracesMetaInfoResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5479,16 +5294,8 @@ func (p *FieldMeta) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 + if err = p.writeField255(oprot); err != nil { + fieldId = 255 goto WriteFieldError } } @@ -5509,35 +5316,22 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *FieldMeta) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("value_type", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.ValueType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *FieldMeta) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("filter_types", thrift.LIST, 2); err != nil { +func (p *GetTracesMetaInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("field_metas", thrift.MAP, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRING, len(p.FilterTypes)); err != nil { + if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRUCT, len(p.FieldMetas)); err != nil { return err } - for _, v := range p.FilterTypes { - if err := oprot.WriteString(v); err != nil { + for k, v := range p.FieldMetas { + if err := oprot.WriteString(k); err != nil { + return err + } + if err := v.Write(oprot); err != nil { return err } } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteMapEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5545,16 +5339,16 @@ func (p *FieldMeta) writeField2(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *FieldMeta) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetFieldOptions() { - if err = oprot.WriteFieldBegin("field_options", thrift.STRUCT, 3); err != nil { +func (p *GetTracesMetaInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseResp() { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := p.FieldOptions.Write(oprot); err != nil { + if err := p.BaseResp.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5563,199 +5357,178 @@ func (p *FieldMeta) writeField3(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *FieldMeta) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetSupportCustomizableOption() { - if err = oprot.WriteFieldBegin("support_customizable_option", thrift.BOOL, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteBool(*p.SupportCustomizableOption); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *FieldMeta) String() string { +func (p *GetTracesMetaInfoResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("FieldMeta(%+v)", *p) + return fmt.Sprintf("GetTracesMetaInfoResponse(%+v)", *p) } -func (p *FieldMeta) DeepEqual(ano *FieldMeta) bool { +func (p *GetTracesMetaInfoResponse) DeepEqual(ano *GetTracesMetaInfoResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.ValueType) { - return false - } - if !p.Field2DeepEqual(ano.FilterTypes) { - return false - } - if !p.Field3DeepEqual(ano.FieldOptions) { + if !p.Field1DeepEqual(ano.FieldMetas) { return false } - if !p.Field4DeepEqual(ano.SupportCustomizableOption) { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *FieldMeta) Field1DeepEqual(src filter.FieldType) bool { - - if strings.Compare(p.ValueType, src) != 0 { - return false - } - return true -} -func (p *FieldMeta) Field2DeepEqual(src []filter.QueryType) bool { +func (p *GetTracesMetaInfoResponse) Field1DeepEqual(src map[string]*FieldMeta) bool { - if len(p.FilterTypes) != len(src) { + if len(p.FieldMetas) != len(src) { return false } - for i, v := range p.FilterTypes { - _src := src[i] - if strings.Compare(v, _src) != 0 { + for k, v := range p.FieldMetas { + _src := src[k] + if !v.DeepEqual(_src) { return false } } return true } -func (p *FieldMeta) Field3DeepEqual(src *filter.FieldOptions) bool { - - if !p.FieldOptions.DeepEqual(src) { - return false - } - return true -} -func (p *FieldMeta) Field4DeepEqual(src *bool) bool { +func (p *GetTracesMetaInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.SupportCustomizableOption == src { - return true - } else if p.SupportCustomizableOption == nil || src == nil { - return false - } - if *p.SupportCustomizableOption != *src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -type GetTracesMetaInfoRequest struct { - PlatformType *common.PlatformType `thrift:"platform_type,1,optional" frugal:"1,optional,string" json:"platform_type,omitempty" query:"platform_type"` - SpanListType *common.SpanListType `thrift:"spanList_type,2,optional" frugal:"2,optional,string" json:"spanList_type,omitempty" query:"span_list_type"` - // required - WorkspaceID *int64 `thrift:"workspace_id,3,optional" frugal:"3,optional,i64" json:"workspace_id,string,omitempty" query:"workspace_id"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type CreateViewRequest struct { + EnterpriseID *string `thrift:"enterprise_id,1,optional" frugal:"1,optional,string" form:"enterprise_id" json:"enterprise_id,omitempty"` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ViewName string `thrift:"view_name,3,required" frugal:"3,required,string" form:"view_name,required" json:"view_name,required"` + PlatformType common.PlatformType `thrift:"platform_type,4,required" frugal:"4,required,string" form:"platform_type,required" json:"platform_type,required"` + SpanListType common.SpanListType `thrift:"span_list_type,5,required" frugal:"5,required,string" form:"span_list_type,required" json:"span_list_type,required"` + Filters string `thrift:"filters,6,required" frugal:"6,required,string" form:"filters,required" json:"filters,required"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewGetTracesMetaInfoRequest() *GetTracesMetaInfoRequest { - return &GetTracesMetaInfoRequest{} +func NewCreateViewRequest() *CreateViewRequest { + return &CreateViewRequest{} } -func (p *GetTracesMetaInfoRequest) InitDefault() { +func (p *CreateViewRequest) InitDefault() { } -var GetTracesMetaInfoRequest_PlatformType_DEFAULT common.PlatformType +var CreateViewRequest_EnterpriseID_DEFAULT string -func (p *GetTracesMetaInfoRequest) GetPlatformType() (v common.PlatformType) { +func (p *CreateViewRequest) GetEnterpriseID() (v string) { if p == nil { return } - if !p.IsSetPlatformType() { - return GetTracesMetaInfoRequest_PlatformType_DEFAULT + if !p.IsSetEnterpriseID() { + return CreateViewRequest_EnterpriseID_DEFAULT } - return *p.PlatformType + return *p.EnterpriseID } -var GetTracesMetaInfoRequest_SpanListType_DEFAULT common.SpanListType - -func (p *GetTracesMetaInfoRequest) GetSpanListType() (v common.SpanListType) { - if p == nil { - return +func (p *CreateViewRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID } - if !p.IsSetSpanListType() { - return GetTracesMetaInfoRequest_SpanListType_DEFAULT + return +} + +func (p *CreateViewRequest) GetViewName() (v string) { + if p != nil { + return p.ViewName } - return *p.SpanListType + return } -var GetTracesMetaInfoRequest_WorkspaceID_DEFAULT int64 +func (p *CreateViewRequest) GetPlatformType() (v common.PlatformType) { + if p != nil { + return p.PlatformType + } + return +} -func (p *GetTracesMetaInfoRequest) GetWorkspaceID() (v int64) { - if p == nil { - return +func (p *CreateViewRequest) GetSpanListType() (v common.SpanListType) { + if p != nil { + return p.SpanListType } - if !p.IsSetWorkspaceID() { - return GetTracesMetaInfoRequest_WorkspaceID_DEFAULT + return +} + +func (p *CreateViewRequest) GetFilters() (v string) { + if p != nil { + return p.Filters } - return *p.WorkspaceID + return } -var GetTracesMetaInfoRequest_Base_DEFAULT *base.Base +var CreateViewRequest_Base_DEFAULT *base.Base -func (p *GetTracesMetaInfoRequest) GetBase() (v *base.Base) { +func (p *CreateViewRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return GetTracesMetaInfoRequest_Base_DEFAULT + return CreateViewRequest_Base_DEFAULT } return p.Base } -func (p *GetTracesMetaInfoRequest) SetPlatformType(val *common.PlatformType) { +func (p *CreateViewRequest) SetEnterpriseID(val *string) { + p.EnterpriseID = val +} +func (p *CreateViewRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *CreateViewRequest) SetViewName(val string) { + p.ViewName = val +} +func (p *CreateViewRequest) SetPlatformType(val common.PlatformType) { p.PlatformType = val } -func (p *GetTracesMetaInfoRequest) SetSpanListType(val *common.SpanListType) { +func (p *CreateViewRequest) SetSpanListType(val common.SpanListType) { p.SpanListType = val } -func (p *GetTracesMetaInfoRequest) SetWorkspaceID(val *int64) { - p.WorkspaceID = val +func (p *CreateViewRequest) SetFilters(val string) { + p.Filters = val } -func (p *GetTracesMetaInfoRequest) SetBase(val *base.Base) { +func (p *CreateViewRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_GetTracesMetaInfoRequest = map[int16]string{ - 1: "platform_type", - 2: "spanList_type", - 3: "workspace_id", +var fieldIDToName_CreateViewRequest = map[int16]string{ + 1: "enterprise_id", + 2: "workspace_id", + 3: "view_name", + 4: "platform_type", + 5: "span_list_type", + 6: "filters", 255: "Base", } -func (p *GetTracesMetaInfoRequest) IsSetPlatformType() bool { - return p.PlatformType != nil -} - -func (p *GetTracesMetaInfoRequest) IsSetSpanListType() bool { - return p.SpanListType != nil -} - -func (p *GetTracesMetaInfoRequest) IsSetWorkspaceID() bool { - return p.WorkspaceID != nil +func (p *CreateViewRequest) IsSetEnterpriseID() bool { + return p.EnterpriseID != nil } -func (p *GetTracesMetaInfoRequest) IsSetBase() bool { +func (p *CreateViewRequest) IsSetBase() bool { return p.Base != nil } -func (p *GetTracesMetaInfoRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetWorkspaceID bool = false + var issetViewName bool = false + var issetPlatformType bool = false + var issetSpanListType bool = false + var issetFilters bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -5780,18 +5553,47 @@ func (p *GetTracesMetaInfoRequest) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } + issetViewName = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + issetPlatformType = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.STRING { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetSpanListType = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + issetFilters = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -5816,13 +5618,37 @@ func (p *GetTracesMetaInfoRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } + if !issetWorkspaceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetViewName { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetPlatformType { + fieldId = 4 + goto RequiredFieldNotSetError + } + + if !issetSpanListType { + fieldId = 5 + goto RequiredFieldNotSetError + } + + if !issetFilters { + fieldId = 6 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetTracesMetaInfoRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateViewRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -5830,42 +5656,77 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateViewRequest[fieldId])) } -func (p *GetTracesMetaInfoRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *CreateViewRequest) ReadField1(iprot thrift.TProtocol) error { - var _field *common.PlatformType + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.PlatformType = _field + p.EnterpriseID = _field return nil } -func (p *GetTracesMetaInfoRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *CreateViewRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *common.SpanListType + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.WorkspaceID = _field + return nil +} +func (p *CreateViewRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = &v + _field = v + } + p.ViewName = _field + return nil +} +func (p *CreateViewRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field common.PlatformType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.PlatformType = _field + return nil +} +func (p *CreateViewRequest) ReadField5(iprot thrift.TProtocol) error { + + var _field common.SpanListType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v } p.SpanListType = _field return nil } -func (p *GetTracesMetaInfoRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *CreateViewRequest) ReadField6(iprot thrift.TProtocol) error { - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { + var _field string + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = &v + _field = v } - p.WorkspaceID = _field + p.Filters = _field return nil } -func (p *GetTracesMetaInfoRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *CreateViewRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -5874,9 +5735,9 @@ func (p *GetTracesMetaInfoRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *GetTracesMetaInfoRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *CreateViewRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetTracesMetaInfoRequest"); err != nil { + if err = oprot.WriteStructBegin("CreateViewRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -5892,6 +5753,18 @@ func (p *GetTracesMetaInfoRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 3 goto WriteFieldError } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -5914,12 +5787,12 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *GetTracesMetaInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 1); err != nil { +func (p *CreateViewRequest) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEnterpriseID() { + if err = oprot.WriteFieldBegin("enterprise_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.PlatformType); err != nil { + if err := oprot.WriteString(*p.EnterpriseID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -5932,17 +5805,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *GetTracesMetaInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetSpanListType() { - if err = oprot.WriteFieldBegin("spanList_type", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.SpanListType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *CreateViewRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.WorkspaceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -5950,17 +5821,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *GetTracesMetaInfoRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetWorkspaceID() { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *CreateViewRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.ViewName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -5968,7 +5837,55 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *GetTracesMetaInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *CreateViewRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.PlatformType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *CreateViewRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.SpanListType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *CreateViewRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("filters", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.Filters); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *CreateViewRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -5987,27 +5904,36 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *GetTracesMetaInfoRequest) String() string { +func (p *CreateViewRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("GetTracesMetaInfoRequest(%+v)", *p) + return fmt.Sprintf("CreateViewRequest(%+v)", *p) } -func (p *GetTracesMetaInfoRequest) DeepEqual(ano *GetTracesMetaInfoRequest) bool { +func (p *CreateViewRequest) DeepEqual(ano *CreateViewRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.PlatformType) { + if !p.Field1DeepEqual(ano.EnterpriseID) { return false } - if !p.Field2DeepEqual(ano.SpanListType) { + if !p.Field2DeepEqual(ano.WorkspaceID) { return false } - if !p.Field3DeepEqual(ano.WorkspaceID) { + if !p.Field3DeepEqual(ano.ViewName) { + return false + } + if !p.Field4DeepEqual(ano.PlatformType) { + return false + } + if !p.Field5DeepEqual(ano.SpanListType) { + return false + } + if !p.Field6DeepEqual(ano.Filters) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -6016,43 +5942,54 @@ func (p *GetTracesMetaInfoRequest) DeepEqual(ano *GetTracesMetaInfoRequest) bool return true } -func (p *GetTracesMetaInfoRequest) Field1DeepEqual(src *common.PlatformType) bool { +func (p *CreateViewRequest) Field1DeepEqual(src *string) bool { - if p.PlatformType == src { + if p.EnterpriseID == src { return true - } else if p.PlatformType == nil || src == nil { + } else if p.EnterpriseID == nil || src == nil { return false } - if strings.Compare(*p.PlatformType, *src) != 0 { + if strings.Compare(*p.EnterpriseID, *src) != 0 { return false } return true } -func (p *GetTracesMetaInfoRequest) Field2DeepEqual(src *common.SpanListType) bool { +func (p *CreateViewRequest) Field2DeepEqual(src int64) bool { - if p.SpanListType == src { - return true - } else if p.SpanListType == nil || src == nil { + if p.WorkspaceID != src { return false } - if strings.Compare(*p.SpanListType, *src) != 0 { + return true +} +func (p *CreateViewRequest) Field3DeepEqual(src string) bool { + + if strings.Compare(p.ViewName, src) != 0 { return false } return true } -func (p *GetTracesMetaInfoRequest) Field3DeepEqual(src *int64) bool { +func (p *CreateViewRequest) Field4DeepEqual(src common.PlatformType) bool { - if p.WorkspaceID == src { - return true - } else if p.WorkspaceID == nil || src == nil { + if strings.Compare(p.PlatformType, src) != 0 { return false } - if *p.WorkspaceID != *src { + return true +} +func (p *CreateViewRequest) Field5DeepEqual(src common.SpanListType) bool { + + if strings.Compare(p.SpanListType, src) != 0 { return false } return true } -func (p *GetTracesMetaInfoRequest) Field255DeepEqual(src *base.Base) bool { +func (p *CreateViewRequest) Field6DeepEqual(src string) bool { + + if strings.Compare(p.Filters, src) != 0 { + return false + } + return true +} +func (p *CreateViewRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -6060,77 +5997,56 @@ func (p *GetTracesMetaInfoRequest) Field255DeepEqual(src *base.Base) bool { return true } -type GetTracesMetaInfoResponse struct { - FieldMetas map[string]*FieldMeta `thrift:"field_metas,1,required" frugal:"1,required,map" form:"field_metas,required" json:"field_metas,required" query:"field_metas,required"` - KeySpanType []string `thrift:"key_span_type,2,optional" frugal:"2,optional,list" form:"key_span_type" json:"key_span_type,omitempty" query:"key_span_type"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type CreateViewResponse struct { + ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" form:"id,required" ` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewGetTracesMetaInfoResponse() *GetTracesMetaInfoResponse { - return &GetTracesMetaInfoResponse{} +func NewCreateViewResponse() *CreateViewResponse { + return &CreateViewResponse{} } -func (p *GetTracesMetaInfoResponse) InitDefault() { +func (p *CreateViewResponse) InitDefault() { } -func (p *GetTracesMetaInfoResponse) GetFieldMetas() (v map[string]*FieldMeta) { +func (p *CreateViewResponse) GetID() (v int64) { if p != nil { - return p.FieldMetas + return p.ID } return } -var GetTracesMetaInfoResponse_KeySpanType_DEFAULT []string - -func (p *GetTracesMetaInfoResponse) GetKeySpanType() (v []string) { - if p == nil { - return - } - if !p.IsSetKeySpanType() { - return GetTracesMetaInfoResponse_KeySpanType_DEFAULT - } - return p.KeySpanType -} - -var GetTracesMetaInfoResponse_BaseResp_DEFAULT *base.BaseResp +var CreateViewResponse_BaseResp_DEFAULT *base.BaseResp -func (p *GetTracesMetaInfoResponse) GetBaseResp() (v *base.BaseResp) { +func (p *CreateViewResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return GetTracesMetaInfoResponse_BaseResp_DEFAULT + return CreateViewResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *GetTracesMetaInfoResponse) SetFieldMetas(val map[string]*FieldMeta) { - p.FieldMetas = val -} -func (p *GetTracesMetaInfoResponse) SetKeySpanType(val []string) { - p.KeySpanType = val +func (p *CreateViewResponse) SetID(val int64) { + p.ID = val } -func (p *GetTracesMetaInfoResponse) SetBaseResp(val *base.BaseResp) { +func (p *CreateViewResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_GetTracesMetaInfoResponse = map[int16]string{ - 1: "field_metas", - 2: "key_span_type", +var fieldIDToName_CreateViewResponse = map[int16]string{ + 1: "id", 255: "BaseResp", } -func (p *GetTracesMetaInfoResponse) IsSetKeySpanType() bool { - return p.KeySpanType != nil -} - -func (p *GetTracesMetaInfoResponse) IsSetBaseResp() bool { +func (p *CreateViewResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *GetTracesMetaInfoResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *CreateViewResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetFieldMetas bool = false + var issetID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -6147,19 +6063,11 @@ func (p *GetTracesMetaInfoResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.MAP { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetFieldMetas = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } + issetID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6184,7 +6092,7 @@ func (p *GetTracesMetaInfoResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetFieldMetas { + if !issetID { fieldId = 1 goto RequiredFieldNotSetError } @@ -6194,7 +6102,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_GetTracesMetaInfoResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateViewResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6203,62 +6111,21 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_GetTracesMetaInfoResponse[fieldId])) -} - -func (p *GetTracesMetaInfoResponse) ReadField1(iprot thrift.TProtocol) error { - _, _, size, err := iprot.ReadMapBegin() - if err != nil { - return err - } - _field := make(map[string]*FieldMeta, size) - values := make([]FieldMeta, size) - for i := 0; i < size; i++ { - var _key string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _key = v - } - - _val := &values[i] - _val.InitDefault() - if err := _val.Read(iprot); err != nil { - return err - } - - _field[_key] = _val - } - if err := iprot.ReadMapEnd(); err != nil { - return err - } - p.FieldMetas = _field - return nil + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateViewResponse[fieldId])) } -func (p *GetTracesMetaInfoResponse) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - var _elem string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _elem = v - } +func (p *CreateViewResponse) ReadField1(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - p.KeySpanType = _field + p.ID = _field return nil } -func (p *GetTracesMetaInfoResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *CreateViewResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -6267,9 +6134,9 @@ func (p *GetTracesMetaInfoResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *GetTracesMetaInfoResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *CreateViewResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetTracesMetaInfoResponse"); err != nil { + if err = oprot.WriteStructBegin("CreateViewResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -6277,10 +6144,6 @@ func (p *GetTracesMetaInfoResponse) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -6303,22 +6166,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *GetTracesMetaInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("field_metas", thrift.MAP, 1); err != nil { +func (p *CreateViewResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRUCT, len(p.FieldMetas)); err != nil { - return err - } - for k, v := range p.FieldMetas { - if err := oprot.WriteString(k); err != nil { - return err - } - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteMapEnd(); err != nil { + if err := oprot.WriteI64(p.ID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -6330,33 +6182,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *GetTracesMetaInfoResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetKeySpanType() { - if err = oprot.WriteFieldBegin("key_span_type", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRING, len(p.KeySpanType)); err != nil { - return err - } - for _, v := range p.KeySpanType { - if err := oprot.WriteString(v); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *GetTracesMetaInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *CreateViewResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -6375,24 +6201,21 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *GetTracesMetaInfoResponse) String() string { +func (p *CreateViewResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("GetTracesMetaInfoResponse(%+v)", *p) + return fmt.Sprintf("CreateViewResponse(%+v)", *p) } -func (p *GetTracesMetaInfoResponse) DeepEqual(ano *GetTracesMetaInfoResponse) bool { +func (p *CreateViewResponse) DeepEqual(ano *CreateViewResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.FieldMetas) { - return false - } - if !p.Field2DeepEqual(ano.KeySpanType) { + if !p.Field1DeepEqual(ano.ID) { return false } if !p.Field255DeepEqual(ano.BaseResp) { @@ -6401,33 +6224,14 @@ func (p *GetTracesMetaInfoResponse) DeepEqual(ano *GetTracesMetaInfoResponse) bo return true } -func (p *GetTracesMetaInfoResponse) Field1DeepEqual(src map[string]*FieldMeta) bool { - - if len(p.FieldMetas) != len(src) { - return false - } - for k, v := range p.FieldMetas { - _src := src[k] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *GetTracesMetaInfoResponse) Field2DeepEqual(src []string) bool { +func (p *CreateViewResponse) Field1DeepEqual(src int64) bool { - if len(p.KeySpanType) != len(src) { + if p.ID != src { return false } - for i, v := range p.KeySpanType { - _src := src[i] - if strings.Compare(v, _src) != 0 { - return false - } - } return true } -func (p *GetTracesMetaInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *CreateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -6435,105 +6239,120 @@ func (p *GetTracesMetaInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type CreateViewRequest struct { - EnterpriseID *string `thrift:"enterprise_id,1,optional" frugal:"1,optional,string" form:"enterprise_id" json:"enterprise_id,omitempty"` - WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` - ViewName string `thrift:"view_name,3,required" frugal:"3,required,string" form:"view_name,required" json:"view_name,required"` - PlatformType common.PlatformType `thrift:"platform_type,4,required" frugal:"4,required,string" form:"platform_type,required" json:"platform_type,required"` - SpanListType common.SpanListType `thrift:"span_list_type,5,required" frugal:"5,required,string" form:"span_list_type,required" json:"span_list_type,required"` - Filters string `thrift:"filters,6,required" frugal:"6,required,string" form:"filters,required" json:"filters,required"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewCreateViewRequest() *CreateViewRequest { - return &CreateViewRequest{} +type UpdateViewRequest struct { + ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" path:"view_id,required" ` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ViewName *string `thrift:"view_name,3,optional" frugal:"3,optional,string" form:"view_name" json:"view_name,omitempty"` + PlatformType *common.PlatformType `thrift:"platform_type,4,optional" frugal:"4,optional,string" form:"platform_type" json:"platform_type,omitempty"` + SpanListType *common.SpanListType `thrift:"span_list_type,5,optional" frugal:"5,optional,string" form:"span_list_type" json:"span_list_type,omitempty"` + Filters *string `thrift:"filters,6,optional" frugal:"6,optional,string" form:"filters" json:"filters,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func (p *CreateViewRequest) InitDefault() { +func NewUpdateViewRequest() *UpdateViewRequest { + return &UpdateViewRequest{} } -var CreateViewRequest_EnterpriseID_DEFAULT string - -func (p *CreateViewRequest) GetEnterpriseID() (v string) { - if p == nil { - return - } - if !p.IsSetEnterpriseID() { - return CreateViewRequest_EnterpriseID_DEFAULT - } - return *p.EnterpriseID +func (p *UpdateViewRequest) InitDefault() { } -func (p *CreateViewRequest) GetWorkspaceID() (v int64) { +func (p *UpdateViewRequest) GetID() (v int64) { if p != nil { - return p.WorkspaceID + return p.ID } return } -func (p *CreateViewRequest) GetViewName() (v string) { +func (p *UpdateViewRequest) GetWorkspaceID() (v int64) { if p != nil { - return p.ViewName + return p.WorkspaceID } return } -func (p *CreateViewRequest) GetPlatformType() (v common.PlatformType) { - if p != nil { - return p.PlatformType +var UpdateViewRequest_ViewName_DEFAULT string + +func (p *UpdateViewRequest) GetViewName() (v string) { + if p == nil { + return } - return + if !p.IsSetViewName() { + return UpdateViewRequest_ViewName_DEFAULT + } + return *p.ViewName } -func (p *CreateViewRequest) GetSpanListType() (v common.SpanListType) { - if p != nil { - return p.SpanListType +var UpdateViewRequest_PlatformType_DEFAULT common.PlatformType + +func (p *UpdateViewRequest) GetPlatformType() (v common.PlatformType) { + if p == nil { + return } - return + if !p.IsSetPlatformType() { + return UpdateViewRequest_PlatformType_DEFAULT + } + return *p.PlatformType } -func (p *CreateViewRequest) GetFilters() (v string) { - if p != nil { - return p.Filters +var UpdateViewRequest_SpanListType_DEFAULT common.SpanListType + +func (p *UpdateViewRequest) GetSpanListType() (v common.SpanListType) { + if p == nil { + return } - return + if !p.IsSetSpanListType() { + return UpdateViewRequest_SpanListType_DEFAULT + } + return *p.SpanListType } -var CreateViewRequest_Base_DEFAULT *base.Base +var UpdateViewRequest_Filters_DEFAULT string -func (p *CreateViewRequest) GetBase() (v *base.Base) { +func (p *UpdateViewRequest) GetFilters() (v string) { if p == nil { return } - if !p.IsSetBase() { - return CreateViewRequest_Base_DEFAULT + if !p.IsSetFilters() { + return UpdateViewRequest_Filters_DEFAULT } - return p.Base + return *p.Filters } -func (p *CreateViewRequest) SetEnterpriseID(val *string) { - p.EnterpriseID = val + +var UpdateViewRequest_Base_DEFAULT *base.Base + +func (p *UpdateViewRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return UpdateViewRequest_Base_DEFAULT + } + return p.Base } -func (p *CreateViewRequest) SetWorkspaceID(val int64) { +func (p *UpdateViewRequest) SetID(val int64) { + p.ID = val +} +func (p *UpdateViewRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *CreateViewRequest) SetViewName(val string) { +func (p *UpdateViewRequest) SetViewName(val *string) { p.ViewName = val } -func (p *CreateViewRequest) SetPlatformType(val common.PlatformType) { +func (p *UpdateViewRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *CreateViewRequest) SetSpanListType(val common.SpanListType) { +func (p *UpdateViewRequest) SetSpanListType(val *common.SpanListType) { p.SpanListType = val } -func (p *CreateViewRequest) SetFilters(val string) { +func (p *UpdateViewRequest) SetFilters(val *string) { p.Filters = val } -func (p *CreateViewRequest) SetBase(val *base.Base) { +func (p *UpdateViewRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_CreateViewRequest = map[int16]string{ - 1: "enterprise_id", +var fieldIDToName_UpdateViewRequest = map[int16]string{ + 1: "id", 2: "workspace_id", 3: "view_name", 4: "platform_type", @@ -6542,22 +6361,31 @@ var fieldIDToName_CreateViewRequest = map[int16]string{ 255: "Base", } -func (p *CreateViewRequest) IsSetEnterpriseID() bool { - return p.EnterpriseID != nil +func (p *UpdateViewRequest) IsSetViewName() bool { + return p.ViewName != nil } -func (p *CreateViewRequest) IsSetBase() bool { +func (p *UpdateViewRequest) IsSetPlatformType() bool { + return p.PlatformType != nil +} + +func (p *UpdateViewRequest) IsSetSpanListType() bool { + return p.SpanListType != nil +} + +func (p *UpdateViewRequest) IsSetFilters() bool { + return p.Filters != nil +} + +func (p *UpdateViewRequest) IsSetBase() bool { return p.Base != nil } -func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *UpdateViewRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetID bool = false var issetWorkspaceID bool = false - var issetViewName bool = false - var issetPlatformType bool = false - var issetSpanListType bool = false - var issetFilters bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -6574,10 +6402,11 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6595,7 +6424,6 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } - issetViewName = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6604,7 +6432,6 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } - issetPlatformType = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6613,7 +6440,6 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField5(iprot); err != nil { goto ReadFieldError } - issetSpanListType = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6622,7 +6448,6 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField6(iprot); err != nil { goto ReadFieldError } - issetFilters = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -6647,28 +6472,13 @@ func (p *CreateViewRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetViewName { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetPlatformType { - fieldId = 4 - goto RequiredFieldNotSetError - } - - if !issetSpanListType { - fieldId = 5 + if !issetID { + fieldId = 1 goto RequiredFieldNotSetError } - if !issetFilters { - fieldId = 6 + if !issetWorkspaceID { + fieldId = 2 goto RequiredFieldNotSetError } return nil @@ -6677,7 +6487,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateViewRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateViewRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -6686,21 +6496,21 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateViewRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_UpdateViewRequest[fieldId])) } -func (p *CreateViewRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField1(iprot thrift.TProtocol) error { - var _field *string - if v, err := iprot.ReadString(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err } else { - _field = &v + _field = v } - p.EnterpriseID = _field + p.ID = _field return nil } -func (p *CreateViewRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField2(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -6711,51 +6521,51 @@ func (p *CreateViewRequest) ReadField2(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *CreateViewRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField3(iprot thrift.TProtocol) error { - var _field string + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } p.ViewName = _field return nil } -func (p *CreateViewRequest) ReadField4(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField4(iprot thrift.TProtocol) error { - var _field common.PlatformType + var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } p.PlatformType = _field return nil } -func (p *CreateViewRequest) ReadField5(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField5(iprot thrift.TProtocol) error { - var _field common.SpanListType + var _field *common.SpanListType if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } p.SpanListType = _field return nil } -func (p *CreateViewRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField6(iprot thrift.TProtocol) error { - var _field string + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } p.Filters = _field return nil } -func (p *CreateViewRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *UpdateViewRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -6764,9 +6574,9 @@ func (p *CreateViewRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *CreateViewRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *UpdateViewRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateViewRequest"); err != nil { + if err = oprot.WriteStructBegin("UpdateViewRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -6816,17 +6626,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *CreateViewRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEnterpriseID() { - if err = oprot.WriteFieldBegin("enterprise_id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.EnterpriseID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *UpdateViewRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.ID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -6834,7 +6642,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *CreateViewRequest) writeField2(oprot thrift.TProtocol) (err error) { +func (p *UpdateViewRequest) writeField2(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } @@ -6850,15 +6658,17 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *CreateViewRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.ViewName); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *UpdateViewRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetViewName() { + if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.ViewName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -6866,15 +6676,17 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *CreateViewRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.PlatformType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *UpdateViewRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PlatformType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -6882,15 +6694,17 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *CreateViewRequest) writeField5(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.SpanListType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *UpdateViewRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetSpanListType() { + if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.SpanListType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -6898,15 +6712,17 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *CreateViewRequest) writeField6(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("filters", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.Filters); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *UpdateViewRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetFilters() { + if err = oprot.WriteFieldBegin("filters", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Filters); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -6914,7 +6730,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *CreateViewRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *UpdateViewRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -6933,21 +6749,21 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *CreateViewRequest) String() string { +func (p *UpdateViewRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("CreateViewRequest(%+v)", *p) + return fmt.Sprintf("UpdateViewRequest(%+v)", *p) } -func (p *CreateViewRequest) DeepEqual(ano *CreateViewRequest) bool { +func (p *UpdateViewRequest) DeepEqual(ano *UpdateViewRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EnterpriseID) { + if !p.Field1DeepEqual(ano.ID) { return false } if !p.Field2DeepEqual(ano.WorkspaceID) { @@ -6971,54 +6787,69 @@ func (p *CreateViewRequest) DeepEqual(ano *CreateViewRequest) bool { return true } -func (p *CreateViewRequest) Field1DeepEqual(src *string) bool { +func (p *UpdateViewRequest) Field1DeepEqual(src int64) bool { - if p.EnterpriseID == src { - return true - } else if p.EnterpriseID == nil || src == nil { - return false - } - if strings.Compare(*p.EnterpriseID, *src) != 0 { + if p.ID != src { return false } return true } -func (p *CreateViewRequest) Field2DeepEqual(src int64) bool { +func (p *UpdateViewRequest) Field2DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *CreateViewRequest) Field3DeepEqual(src string) bool { +func (p *UpdateViewRequest) Field3DeepEqual(src *string) bool { - if strings.Compare(p.ViewName, src) != 0 { + if p.ViewName == src { + return true + } else if p.ViewName == nil || src == nil { + return false + } + if strings.Compare(*p.ViewName, *src) != 0 { return false } return true } -func (p *CreateViewRequest) Field4DeepEqual(src common.PlatformType) bool { +func (p *UpdateViewRequest) Field4DeepEqual(src *common.PlatformType) bool { - if strings.Compare(p.PlatformType, src) != 0 { + if p.PlatformType == src { + return true + } else if p.PlatformType == nil || src == nil { + return false + } + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *CreateViewRequest) Field5DeepEqual(src common.SpanListType) bool { +func (p *UpdateViewRequest) Field5DeepEqual(src *common.SpanListType) bool { - if strings.Compare(p.SpanListType, src) != 0 { + if p.SpanListType == src { + return true + } else if p.SpanListType == nil || src == nil { + return false + } + if strings.Compare(*p.SpanListType, *src) != 0 { return false } return true } -func (p *CreateViewRequest) Field6DeepEqual(src string) bool { +func (p *UpdateViewRequest) Field6DeepEqual(src *string) bool { - if strings.Compare(p.Filters, src) != 0 { + if p.Filters == src { + return true + } else if p.Filters == nil || src == nil { + return false + } + if strings.Compare(*p.Filters, *src) != 0 { return false } return true } -func (p *CreateViewRequest) Field255DeepEqual(src *base.Base) bool { +func (p *UpdateViewRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -7026,56 +6857,43 @@ func (p *CreateViewRequest) Field255DeepEqual(src *base.Base) bool { return true } -type CreateViewResponse struct { - ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" form:"id,required" ` +type UpdateViewResponse struct { BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewCreateViewResponse() *CreateViewResponse { - return &CreateViewResponse{} -} - -func (p *CreateViewResponse) InitDefault() { +func NewUpdateViewResponse() *UpdateViewResponse { + return &UpdateViewResponse{} } -func (p *CreateViewResponse) GetID() (v int64) { - if p != nil { - return p.ID - } - return +func (p *UpdateViewResponse) InitDefault() { } -var CreateViewResponse_BaseResp_DEFAULT *base.BaseResp +var UpdateViewResponse_BaseResp_DEFAULT *base.BaseResp -func (p *CreateViewResponse) GetBaseResp() (v *base.BaseResp) { +func (p *UpdateViewResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return CreateViewResponse_BaseResp_DEFAULT + return UpdateViewResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *CreateViewResponse) SetID(val int64) { - p.ID = val -} -func (p *CreateViewResponse) SetBaseResp(val *base.BaseResp) { +func (p *UpdateViewResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_CreateViewResponse = map[int16]string{ - 1: "id", +var fieldIDToName_UpdateViewResponse = map[int16]string{ 255: "BaseResp", } -func (p *CreateViewResponse) IsSetBaseResp() bool { +func (p *UpdateViewResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *CreateViewResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *UpdateViewResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -7091,15 +6909,6 @@ func (p *CreateViewResponse) Read(iprot thrift.TProtocol) (err error) { } switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -7121,17 +6930,13 @@ func (p *CreateViewResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetID { - fieldId = 1 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateViewResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateViewResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7139,22 +6944,9 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateViewResponse[fieldId])) } -func (p *CreateViewResponse) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.ID = _field - return nil -} -func (p *CreateViewResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *UpdateViewResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -7163,16 +6955,12 @@ func (p *CreateViewResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *CreateViewResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *UpdateViewResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateViewResponse"); err != nil { + if err = oprot.WriteStructBegin("UpdateViewResponse"); err != nil { goto WriteStructBeginError } if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -7195,23 +6983,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *CreateViewResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.ID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *CreateViewResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *UpdateViewResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -7230,37 +7002,27 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *CreateViewResponse) String() string { +func (p *UpdateViewResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("CreateViewResponse(%+v)", *p) + return fmt.Sprintf("UpdateViewResponse(%+v)", *p) } -func (p *CreateViewResponse) DeepEqual(ano *CreateViewResponse) bool { +func (p *UpdateViewResponse) DeepEqual(ano *UpdateViewResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.ID) { - return false - } if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *CreateViewResponse) Field1DeepEqual(src int64) bool { - - if p.ID != src { - return false - } - return true -} -func (p *CreateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *UpdateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -7268,149 +7030,65 @@ func (p *CreateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type UpdateViewRequest struct { - ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" path:"view_id,required" ` - WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` - ViewName *string `thrift:"view_name,3,optional" frugal:"3,optional,string" form:"view_name" json:"view_name,omitempty"` - PlatformType *common.PlatformType `thrift:"platform_type,4,optional" frugal:"4,optional,string" form:"platform_type" json:"platform_type,omitempty"` - SpanListType *common.SpanListType `thrift:"span_list_type,5,optional" frugal:"5,optional,string" form:"span_list_type" json:"span_list_type,omitempty"` - Filters *string `thrift:"filters,6,optional" frugal:"6,optional,string" form:"filters" json:"filters,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type DeleteViewRequest struct { + ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" path:"view_id,required" ` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" query:"workspace_id,required" ` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewUpdateViewRequest() *UpdateViewRequest { - return &UpdateViewRequest{} +func NewDeleteViewRequest() *DeleteViewRequest { + return &DeleteViewRequest{} } -func (p *UpdateViewRequest) InitDefault() { +func (p *DeleteViewRequest) InitDefault() { } -func (p *UpdateViewRequest) GetID() (v int64) { +func (p *DeleteViewRequest) GetID() (v int64) { if p != nil { return p.ID } return } -func (p *UpdateViewRequest) GetWorkspaceID() (v int64) { +func (p *DeleteViewRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -var UpdateViewRequest_ViewName_DEFAULT string - -func (p *UpdateViewRequest) GetViewName() (v string) { - if p == nil { - return - } - if !p.IsSetViewName() { - return UpdateViewRequest_ViewName_DEFAULT - } - return *p.ViewName -} - -var UpdateViewRequest_PlatformType_DEFAULT common.PlatformType - -func (p *UpdateViewRequest) GetPlatformType() (v common.PlatformType) { - if p == nil { - return - } - if !p.IsSetPlatformType() { - return UpdateViewRequest_PlatformType_DEFAULT - } - return *p.PlatformType -} - -var UpdateViewRequest_SpanListType_DEFAULT common.SpanListType - -func (p *UpdateViewRequest) GetSpanListType() (v common.SpanListType) { - if p == nil { - return - } - if !p.IsSetSpanListType() { - return UpdateViewRequest_SpanListType_DEFAULT - } - return *p.SpanListType -} - -var UpdateViewRequest_Filters_DEFAULT string - -func (p *UpdateViewRequest) GetFilters() (v string) { - if p == nil { - return - } - if !p.IsSetFilters() { - return UpdateViewRequest_Filters_DEFAULT - } - return *p.Filters -} - -var UpdateViewRequest_Base_DEFAULT *base.Base +var DeleteViewRequest_Base_DEFAULT *base.Base -func (p *UpdateViewRequest) GetBase() (v *base.Base) { +func (p *DeleteViewRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return UpdateViewRequest_Base_DEFAULT + return DeleteViewRequest_Base_DEFAULT } return p.Base } -func (p *UpdateViewRequest) SetID(val int64) { +func (p *DeleteViewRequest) SetID(val int64) { p.ID = val } -func (p *UpdateViewRequest) SetWorkspaceID(val int64) { +func (p *DeleteViewRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *UpdateViewRequest) SetViewName(val *string) { - p.ViewName = val -} -func (p *UpdateViewRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val -} -func (p *UpdateViewRequest) SetSpanListType(val *common.SpanListType) { - p.SpanListType = val -} -func (p *UpdateViewRequest) SetFilters(val *string) { - p.Filters = val -} -func (p *UpdateViewRequest) SetBase(val *base.Base) { +func (p *DeleteViewRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_UpdateViewRequest = map[int16]string{ +var fieldIDToName_DeleteViewRequest = map[int16]string{ 1: "id", 2: "workspace_id", - 3: "view_name", - 4: "platform_type", - 5: "span_list_type", - 6: "filters", 255: "Base", } -func (p *UpdateViewRequest) IsSetViewName() bool { - return p.ViewName != nil -} - -func (p *UpdateViewRequest) IsSetPlatformType() bool { - return p.PlatformType != nil +func (p *DeleteViewRequest) IsSetBase() bool { + return p.Base != nil } -func (p *UpdateViewRequest) IsSetSpanListType() bool { - return p.SpanListType != nil -} - -func (p *UpdateViewRequest) IsSetFilters() bool { - return p.Filters != nil -} - -func (p *UpdateViewRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *UpdateViewRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *DeleteViewRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetID bool = false @@ -7448,38 +7126,6 @@ func (p *UpdateViewRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.STRING { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.STRING { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.STRING { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -7516,7 +7162,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateViewRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteViewRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7525,10 +7171,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_UpdateViewRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DeleteViewRequest[fieldId])) } -func (p *UpdateViewRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *DeleteViewRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -7539,7 +7185,7 @@ func (p *UpdateViewRequest) ReadField1(iprot thrift.TProtocol) error { p.ID = _field return nil } -func (p *UpdateViewRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *DeleteViewRequest) ReadField2(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -7550,51 +7196,7 @@ func (p *UpdateViewRequest) ReadField2(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *UpdateViewRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.ViewName = _field - return nil -} -func (p *UpdateViewRequest) ReadField4(iprot thrift.TProtocol) error { - - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field - return nil -} -func (p *UpdateViewRequest) ReadField5(iprot thrift.TProtocol) error { - - var _field *common.SpanListType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.SpanListType = _field - return nil -} -func (p *UpdateViewRequest) ReadField6(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Filters = _field - return nil -} -func (p *UpdateViewRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *DeleteViewRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -7603,9 +7205,9 @@ func (p *UpdateViewRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *UpdateViewRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateViewRequest"); err != nil { + if err = oprot.WriteStructBegin("DeleteViewRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -7617,22 +7219,6 @@ func (p *UpdateViewRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -7655,7 +7241,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *UpdateViewRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -7671,7 +7257,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *UpdateViewRequest) writeField2(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewRequest) writeField2(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } @@ -7687,79 +7273,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *UpdateViewRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetViewName() { - if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.ViewName); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *UpdateViewRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PlatformType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *UpdateViewRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetSpanListType() { - if err = oprot.WriteFieldBegin("span_list_type", thrift.STRING, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.SpanListType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *UpdateViewRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetFilters() { - if err = oprot.WriteFieldBegin("filters", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Filters); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *UpdateViewRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -7778,15 +7292,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *UpdateViewRequest) String() string { +func (p *DeleteViewRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("UpdateViewRequest(%+v)", *p) + return fmt.Sprintf("DeleteViewRequest(%+v)", *p) } -func (p *UpdateViewRequest) DeepEqual(ano *UpdateViewRequest) bool { +func (p *DeleteViewRequest) DeepEqual(ano *DeleteViewRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -7798,129 +7312,69 @@ func (p *UpdateViewRequest) DeepEqual(ano *UpdateViewRequest) bool { if !p.Field2DeepEqual(ano.WorkspaceID) { return false } - if !p.Field3DeepEqual(ano.ViewName) { - return false - } - if !p.Field4DeepEqual(ano.PlatformType) { - return false - } - if !p.Field5DeepEqual(ano.SpanListType) { - return false - } - if !p.Field6DeepEqual(ano.Filters) { - return false - } if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *UpdateViewRequest) Field1DeepEqual(src int64) bool { +func (p *DeleteViewRequest) Field1DeepEqual(src int64) bool { if p.ID != src { return false } return true } -func (p *UpdateViewRequest) Field2DeepEqual(src int64) bool { +func (p *DeleteViewRequest) Field2DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *UpdateViewRequest) Field3DeepEqual(src *string) bool { +func (p *DeleteViewRequest) Field255DeepEqual(src *base.Base) bool { - if p.ViewName == src { - return true - } else if p.ViewName == nil || src == nil { - return false - } - if strings.Compare(*p.ViewName, *src) != 0 { + if !p.Base.DeepEqual(src) { return false } return true } -func (p *UpdateViewRequest) Field4DeepEqual(src *common.PlatformType) bool { - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false - } - if strings.Compare(*p.PlatformType, *src) != 0 { - return false - } - return true +type DeleteViewResponse struct { + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func (p *UpdateViewRequest) Field5DeepEqual(src *common.SpanListType) bool { - if p.SpanListType == src { - return true - } else if p.SpanListType == nil || src == nil { - return false - } - if strings.Compare(*p.SpanListType, *src) != 0 { - return false - } - return true +func NewDeleteViewResponse() *DeleteViewResponse { + return &DeleteViewResponse{} } -func (p *UpdateViewRequest) Field6DeepEqual(src *string) bool { - if p.Filters == src { - return true - } else if p.Filters == nil || src == nil { - return false - } - if strings.Compare(*p.Filters, *src) != 0 { - return false - } - return true -} -func (p *UpdateViewRequest) Field255DeepEqual(src *base.Base) bool { - - if !p.Base.DeepEqual(src) { - return false - } - return true -} - -type UpdateViewResponse struct { - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` -} - -func NewUpdateViewResponse() *UpdateViewResponse { - return &UpdateViewResponse{} -} - -func (p *UpdateViewResponse) InitDefault() { +func (p *DeleteViewResponse) InitDefault() { } -var UpdateViewResponse_BaseResp_DEFAULT *base.BaseResp +var DeleteViewResponse_BaseResp_DEFAULT *base.BaseResp -func (p *UpdateViewResponse) GetBaseResp() (v *base.BaseResp) { +func (p *DeleteViewResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return UpdateViewResponse_BaseResp_DEFAULT + return DeleteViewResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *UpdateViewResponse) SetBaseResp(val *base.BaseResp) { +func (p *DeleteViewResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_UpdateViewResponse = map[int16]string{ +var fieldIDToName_DeleteViewResponse = map[int16]string{ 255: "BaseResp", } -func (p *UpdateViewResponse) IsSetBaseResp() bool { +func (p *DeleteViewResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *UpdateViewResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *DeleteViewResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -7965,7 +7419,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateViewResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteViewResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -7975,7 +7429,7 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *UpdateViewResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *DeleteViewResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -7984,9 +7438,9 @@ func (p *UpdateViewResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *UpdateViewResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateViewResponse"); err != nil { + if err = oprot.WriteStructBegin("DeleteViewResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -8012,7 +7466,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *UpdateViewResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *DeleteViewResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -8031,15 +7485,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *UpdateViewResponse) String() string { +func (p *DeleteViewResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("UpdateViewResponse(%+v)", *p) + return fmt.Sprintf("DeleteViewResponse(%+v)", *p) } -func (p *UpdateViewResponse) DeepEqual(ano *UpdateViewResponse) bool { +func (p *DeleteViewResponse) DeepEqual(ano *DeleteViewResponse) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -8051,7 +7505,7 @@ func (p *UpdateViewResponse) DeepEqual(ano *UpdateViewResponse) bool { return true } -func (p *UpdateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *DeleteViewResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -8059,68 +7513,97 @@ func (p *UpdateViewResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type DeleteViewRequest struct { - ID int64 `thrift:"id,1,required" frugal:"1,required,i64" json:"id" path:"view_id,required" ` - WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" query:"workspace_id,required" ` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type ListViewsRequest struct { + EnterpriseID *string `thrift:"enterprise_id,1,optional" frugal:"1,optional,string" form:"enterprise_id" json:"enterprise_id,omitempty"` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` + ViewName *string `thrift:"view_name,3,optional" frugal:"3,optional,string" form:"view_name" json:"view_name,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewDeleteViewRequest() *DeleteViewRequest { - return &DeleteViewRequest{} +func NewListViewsRequest() *ListViewsRequest { + return &ListViewsRequest{} } -func (p *DeleteViewRequest) InitDefault() { +func (p *ListViewsRequest) InitDefault() { } -func (p *DeleteViewRequest) GetID() (v int64) { - if p != nil { - return p.ID +var ListViewsRequest_EnterpriseID_DEFAULT string + +func (p *ListViewsRequest) GetEnterpriseID() (v string) { + if p == nil { + return } - return + if !p.IsSetEnterpriseID() { + return ListViewsRequest_EnterpriseID_DEFAULT + } + return *p.EnterpriseID } -func (p *DeleteViewRequest) GetWorkspaceID() (v int64) { +func (p *ListViewsRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -var DeleteViewRequest_Base_DEFAULT *base.Base +var ListViewsRequest_ViewName_DEFAULT string -func (p *DeleteViewRequest) GetBase() (v *base.Base) { +func (p *ListViewsRequest) GetViewName() (v string) { + if p == nil { + return + } + if !p.IsSetViewName() { + return ListViewsRequest_ViewName_DEFAULT + } + return *p.ViewName +} + +var ListViewsRequest_Base_DEFAULT *base.Base + +func (p *ListViewsRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return DeleteViewRequest_Base_DEFAULT + return ListViewsRequest_Base_DEFAULT } return p.Base } -func (p *DeleteViewRequest) SetID(val int64) { - p.ID = val +func (p *ListViewsRequest) SetEnterpriseID(val *string) { + p.EnterpriseID = val } -func (p *DeleteViewRequest) SetWorkspaceID(val int64) { +func (p *ListViewsRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *DeleteViewRequest) SetBase(val *base.Base) { +func (p *ListViewsRequest) SetViewName(val *string) { + p.ViewName = val +} +func (p *ListViewsRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_DeleteViewRequest = map[int16]string{ - 1: "id", +var fieldIDToName_ListViewsRequest = map[int16]string{ + 1: "enterprise_id", 2: "workspace_id", + 3: "view_name", 255: "Base", } -func (p *DeleteViewRequest) IsSetBase() bool { +func (p *ListViewsRequest) IsSetEnterpriseID() bool { + return p.EnterpriseID != nil +} + +func (p *ListViewsRequest) IsSetViewName() bool { + return p.ViewName != nil +} + +func (p *ListViewsRequest) IsSetBase() bool { return p.Base != nil } -func (p *DeleteViewRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListViewsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetID bool = false var issetWorkspaceID bool = false if _, err = iprot.ReadStructBegin(); err != nil { @@ -8138,11 +7621,10 @@ func (p *DeleteViewRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -8155,6 +7637,14 @@ func (p *DeleteViewRequest) Read(iprot thrift.TProtocol) (err error) { } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -8176,11 +7666,6 @@ func (p *DeleteViewRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetID { - fieldId = 1 - goto RequiredFieldNotSetError - } - if !issetWorkspaceID { fieldId = 2 goto RequiredFieldNotSetError @@ -8191,7 +7676,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteViewRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListViewsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -8200,21 +7685,21 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DeleteViewRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListViewsRequest[fieldId])) } -func (p *DeleteViewRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ListViewsRequest) ReadField1(iprot thrift.TProtocol) error { - var _field int64 - if v, err := iprot.ReadI64(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } - p.ID = _field + p.EnterpriseID = _field return nil } -func (p *DeleteViewRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *ListViewsRequest) ReadField2(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -8225,7 +7710,18 @@ func (p *DeleteViewRequest) ReadField2(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *DeleteViewRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ListViewsRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field *string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.ViewName = _field + return nil +} +func (p *ListViewsRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -8234,9 +7730,9 @@ func (p *DeleteViewRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *DeleteViewRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListViewsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteViewRequest"); err != nil { + if err = oprot.WriteStructBegin("ListViewsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -8248,6 +7744,10 @@ func (p *DeleteViewRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -8270,15 +7770,17 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *DeleteViewRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.ID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ListViewsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetEnterpriseID() { + if err = oprot.WriteFieldBegin("enterprise_id", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.EnterpriseID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -8286,7 +7788,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *DeleteViewRequest) writeField2(oprot thrift.TProtocol) (err error) { +func (p *ListViewsRequest) writeField2(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } @@ -8302,7 +7804,25 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *DeleteViewRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListViewsRequest) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetViewName() { + if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.ViewName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ListViewsRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -8321,91 +7841,124 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *DeleteViewRequest) String() string { +func (p *ListViewsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("DeleteViewRequest(%+v)", *p) + return fmt.Sprintf("ListViewsRequest(%+v)", *p) } -func (p *DeleteViewRequest) DeepEqual(ano *DeleteViewRequest) bool { +func (p *ListViewsRequest) DeepEqual(ano *ListViewsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.ID) { + if !p.Field1DeepEqual(ano.EnterpriseID) { return false } if !p.Field2DeepEqual(ano.WorkspaceID) { return false } + if !p.Field3DeepEqual(ano.ViewName) { + return false + } if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *DeleteViewRequest) Field1DeepEqual(src int64) bool { +func (p *ListViewsRequest) Field1DeepEqual(src *string) bool { - if p.ID != src { + if p.EnterpriseID == src { + return true + } else if p.EnterpriseID == nil || src == nil { return false } - return true -} -func (p *DeleteViewRequest) Field2DeepEqual(src int64) bool { - - if p.WorkspaceID != src { + if strings.Compare(*p.EnterpriseID, *src) != 0 { return false } return true } -func (p *DeleteViewRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListViewsRequest) Field2DeepEqual(src int64) bool { - if !p.Base.DeepEqual(src) { + if p.WorkspaceID != src { return false } return true } +func (p *ListViewsRequest) Field3DeepEqual(src *string) bool { -type DeleteViewResponse struct { + if p.ViewName == src { + return true + } else if p.ViewName == nil || src == nil { + return false + } + if strings.Compare(*p.ViewName, *src) != 0 { + return false + } + return true +} +func (p *ListViewsRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type ListViewsResponse struct { + Views []*view.View `thrift:"views,1,required" frugal:"1,required,list" form:"views,required" json:"views,required" query:"views,required"` BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewDeleteViewResponse() *DeleteViewResponse { - return &DeleteViewResponse{} +func NewListViewsResponse() *ListViewsResponse { + return &ListViewsResponse{} } -func (p *DeleteViewResponse) InitDefault() { +func (p *ListViewsResponse) InitDefault() { } -var DeleteViewResponse_BaseResp_DEFAULT *base.BaseResp +func (p *ListViewsResponse) GetViews() (v []*view.View) { + if p != nil { + return p.Views + } + return +} -func (p *DeleteViewResponse) GetBaseResp() (v *base.BaseResp) { +var ListViewsResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *ListViewsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return DeleteViewResponse_BaseResp_DEFAULT + return ListViewsResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *DeleteViewResponse) SetBaseResp(val *base.BaseResp) { +func (p *ListViewsResponse) SetViews(val []*view.View) { + p.Views = val +} +func (p *ListViewsResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_DeleteViewResponse = map[int16]string{ +var fieldIDToName_ListViewsResponse = map[int16]string{ + 1: "views", 255: "BaseResp", } -func (p *DeleteViewResponse) IsSetBaseResp() bool { +func (p *ListViewsResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *DeleteViewResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListViewsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetViews bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -8421,6 +7974,15 @@ func (p *DeleteViewResponse) Read(iprot thrift.TProtocol) (err error) { } switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetViews = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -8442,13 +8004,17 @@ func (p *DeleteViewResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } + if !issetViews { + fieldId = 1 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteViewResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListViewsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -8456,9 +8022,34 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListViewsResponse[fieldId])) } -func (p *DeleteViewResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ListViewsResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*view.View, 0, size) + values := make([]view.View, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.Views = _field + return nil +} +func (p *ListViewsResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -8467,12 +8058,16 @@ func (p *DeleteViewResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *DeleteViewResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListViewsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteViewResponse"); err != nil { + if err = oprot.WriteStructBegin("ListViewsResponse"); err != nil { goto WriteStructBeginError } if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -8495,7 +8090,31 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *DeleteViewResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListViewsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("views", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Views)); err != nil { + return err + } + for _, v := range p.Views { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListViewsResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -8514,27 +8133,43 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *DeleteViewResponse) String() string { +func (p *ListViewsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("DeleteViewResponse(%+v)", *p) + return fmt.Sprintf("ListViewsResponse(%+v)", *p) } -func (p *DeleteViewResponse) DeepEqual(ano *DeleteViewResponse) bool { +func (p *ListViewsResponse) DeepEqual(ano *ListViewsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } + if !p.Field1DeepEqual(ano.Views) { + return false + } if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *DeleteViewResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListViewsResponse) Field1DeepEqual(src []*view.View) bool { + + if len(p.Views) != len(src) { + return false + } + for i, v := range p.Views { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ListViewsResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -8542,98 +8177,86 @@ func (p *DeleteViewResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type ListViewsRequest struct { - EnterpriseID *string `thrift:"enterprise_id,1,optional" frugal:"1,optional,string" form:"enterprise_id" json:"enterprise_id,omitempty"` - WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" form:"workspace_id,required" ` - ViewName *string `thrift:"view_name,3,optional" frugal:"3,optional,string" form:"view_name" json:"view_name,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type CreateManualAnnotationRequest struct { + Annotation *annotation.Annotation `thrift:"annotation,1,required" frugal:"1,required,annotation.Annotation" form:"annotation,required" json:"annotation,required"` + PlatformType *common.PlatformType `thrift:"platform_type,2,optional" frugal:"2,optional,string" form:"platform_type" json:"platform_type,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewListViewsRequest() *ListViewsRequest { - return &ListViewsRequest{} +func NewCreateManualAnnotationRequest() *CreateManualAnnotationRequest { + return &CreateManualAnnotationRequest{} } -func (p *ListViewsRequest) InitDefault() { +func (p *CreateManualAnnotationRequest) InitDefault() { } -var ListViewsRequest_EnterpriseID_DEFAULT string +var CreateManualAnnotationRequest_Annotation_DEFAULT *annotation.Annotation -func (p *ListViewsRequest) GetEnterpriseID() (v string) { +func (p *CreateManualAnnotationRequest) GetAnnotation() (v *annotation.Annotation) { if p == nil { return } - if !p.IsSetEnterpriseID() { - return ListViewsRequest_EnterpriseID_DEFAULT - } - return *p.EnterpriseID -} - -func (p *ListViewsRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID + if !p.IsSetAnnotation() { + return CreateManualAnnotationRequest_Annotation_DEFAULT } - return + return p.Annotation } -var ListViewsRequest_ViewName_DEFAULT string +var CreateManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType -func (p *ListViewsRequest) GetViewName() (v string) { +func (p *CreateManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } - if !p.IsSetViewName() { - return ListViewsRequest_ViewName_DEFAULT + if !p.IsSetPlatformType() { + return CreateManualAnnotationRequest_PlatformType_DEFAULT } - return *p.ViewName + return *p.PlatformType } -var ListViewsRequest_Base_DEFAULT *base.Base +var CreateManualAnnotationRequest_Base_DEFAULT *base.Base -func (p *ListViewsRequest) GetBase() (v *base.Base) { +func (p *CreateManualAnnotationRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return ListViewsRequest_Base_DEFAULT + return CreateManualAnnotationRequest_Base_DEFAULT } return p.Base } -func (p *ListViewsRequest) SetEnterpriseID(val *string) { - p.EnterpriseID = val -} -func (p *ListViewsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val +func (p *CreateManualAnnotationRequest) SetAnnotation(val *annotation.Annotation) { + p.Annotation = val } -func (p *ListViewsRequest) SetViewName(val *string) { - p.ViewName = val +func (p *CreateManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { + p.PlatformType = val } -func (p *ListViewsRequest) SetBase(val *base.Base) { +func (p *CreateManualAnnotationRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_ListViewsRequest = map[int16]string{ - 1: "enterprise_id", - 2: "workspace_id", - 3: "view_name", +var fieldIDToName_CreateManualAnnotationRequest = map[int16]string{ + 1: "annotation", + 2: "platform_type", 255: "Base", } -func (p *ListViewsRequest) IsSetEnterpriseID() bool { - return p.EnterpriseID != nil +func (p *CreateManualAnnotationRequest) IsSetAnnotation() bool { + return p.Annotation != nil } -func (p *ListViewsRequest) IsSetViewName() bool { - return p.ViewName != nil +func (p *CreateManualAnnotationRequest) IsSetPlatformType() bool { + return p.PlatformType != nil } -func (p *ListViewsRequest) IsSetBase() bool { +func (p *CreateManualAnnotationRequest) IsSetBase() bool { return p.Base != nil } -func (p *ListViewsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false + var issetAnnotation bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -8650,25 +8273,17 @@ func (p *ListViewsRequest) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetAnnotation = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.I64 { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { + if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -8695,8 +8310,8 @@ func (p *ListViewsRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { - fieldId = 2 + if !issetAnnotation { + fieldId = 1 goto RequiredFieldNotSetError } return nil @@ -8705,7 +8320,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListViewsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateManualAnnotationRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -8714,43 +8329,29 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListViewsRequest[fieldId])) -} - -func (p *ListViewsRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.EnterpriseID = _field - return nil + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateManualAnnotationRequest[fieldId])) } -func (p *ListViewsRequest) ReadField2(iprot thrift.TProtocol) error { - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *CreateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { + _field := annotation.NewAnnotation() + if err := _field.Read(iprot); err != nil { return err - } else { - _field = v } - p.WorkspaceID = _field + p.Annotation = _field return nil } -func (p *ListViewsRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *CreateManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *string + var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.ViewName = _field + p.PlatformType = _field return nil } -func (p *ListViewsRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *CreateManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -8759,9 +8360,9 @@ func (p *ListViewsRequest) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *ListViewsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListViewsRequest"); err != nil { + if err = oprot.WriteStructBegin("CreateManualAnnotationRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -8773,10 +8374,6 @@ func (p *ListViewsRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -8799,29 +8396,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListViewsRequest) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetEnterpriseID() { - if err = oprot.WriteFieldBegin("enterprise_id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.EnterpriseID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ListViewsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { +func (p *CreateManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := p.Annotation.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -8829,16 +8408,16 @@ func (p *ListViewsRequest) writeField2(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListViewsRequest) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetViewName() { - if err = oprot.WriteFieldBegin("view_name", thrift.STRING, 3); err != nil { +func (p *CreateManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.ViewName); err != nil { + if err := oprot.WriteString(*p.PlatformType); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -8847,11 +8426,11 @@ func (p *ListViewsRequest) writeField3(oprot thrift.TProtocol) (err error) { } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListViewsRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -8870,27 +8449,24 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListViewsRequest) String() string { +func (p *CreateManualAnnotationRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListViewsRequest(%+v)", *p) + return fmt.Sprintf("CreateManualAnnotationRequest(%+v)", *p) } -func (p *ListViewsRequest) DeepEqual(ano *ListViewsRequest) bool { +func (p *CreateManualAnnotationRequest) DeepEqual(ano *CreateManualAnnotationRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.EnterpriseID) { - return false - } - if !p.Field2DeepEqual(ano.WorkspaceID) { + if !p.Field1DeepEqual(ano.Annotation) { return false } - if !p.Field3DeepEqual(ano.ViewName) { + if !p.Field2DeepEqual(ano.PlatformType) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -8899,38 +8475,26 @@ func (p *ListViewsRequest) DeepEqual(ano *ListViewsRequest) bool { return true } -func (p *ListViewsRequest) Field1DeepEqual(src *string) bool { - - if p.EnterpriseID == src { - return true - } else if p.EnterpriseID == nil || src == nil { - return false - } - if strings.Compare(*p.EnterpriseID, *src) != 0 { - return false - } - return true -} -func (p *ListViewsRequest) Field2DeepEqual(src int64) bool { +func (p *CreateManualAnnotationRequest) Field1DeepEqual(src *annotation.Annotation) bool { - if p.WorkspaceID != src { + if !p.Annotation.DeepEqual(src) { return false } return true } -func (p *ListViewsRequest) Field3DeepEqual(src *string) bool { +func (p *CreateManualAnnotationRequest) Field2DeepEqual(src *common.PlatformType) bool { - if p.ViewName == src { + if p.PlatformType == src { return true - } else if p.ViewName == nil || src == nil { + } else if p.PlatformType == nil || src == nil { return false } - if strings.Compare(*p.ViewName, *src) != 0 { + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *ListViewsRequest) Field255DeepEqual(src *base.Base) bool { +func (p *CreateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -8938,56 +8502,64 @@ func (p *ListViewsRequest) Field255DeepEqual(src *base.Base) bool { return true } -type ListViewsResponse struct { - Views []*view.View `thrift:"views,1,required" frugal:"1,required,list" form:"views,required" json:"views,required" query:"views,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type CreateManualAnnotationResponse struct { + AnnotationID *string `thrift:"annotation_id,1,optional" frugal:"1,optional,string" form:"annotation_id" json:"annotation_id,omitempty" query:"annotation_id"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewListViewsResponse() *ListViewsResponse { - return &ListViewsResponse{} +func NewCreateManualAnnotationResponse() *CreateManualAnnotationResponse { + return &CreateManualAnnotationResponse{} } -func (p *ListViewsResponse) InitDefault() { +func (p *CreateManualAnnotationResponse) InitDefault() { } -func (p *ListViewsResponse) GetViews() (v []*view.View) { - if p != nil { - return p.Views +var CreateManualAnnotationResponse_AnnotationID_DEFAULT string + +func (p *CreateManualAnnotationResponse) GetAnnotationID() (v string) { + if p == nil { + return } - return + if !p.IsSetAnnotationID() { + return CreateManualAnnotationResponse_AnnotationID_DEFAULT + } + return *p.AnnotationID } -var ListViewsResponse_BaseResp_DEFAULT *base.BaseResp +var CreateManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ListViewsResponse) GetBaseResp() (v *base.BaseResp) { +func (p *CreateManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return ListViewsResponse_BaseResp_DEFAULT + return CreateManualAnnotationResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *ListViewsResponse) SetViews(val []*view.View) { - p.Views = val +func (p *CreateManualAnnotationResponse) SetAnnotationID(val *string) { + p.AnnotationID = val } -func (p *ListViewsResponse) SetBaseResp(val *base.BaseResp) { +func (p *CreateManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_ListViewsResponse = map[int16]string{ - 1: "views", +var fieldIDToName_CreateManualAnnotationResponse = map[int16]string{ + 1: "annotation_id", 255: "BaseResp", } -func (p *ListViewsResponse) IsSetBaseResp() bool { +func (p *CreateManualAnnotationResponse) IsSetAnnotationID() bool { + return p.AnnotationID != nil +} + +func (p *CreateManualAnnotationResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *ListViewsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetViews bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -9004,11 +8576,10 @@ func (p *ListViewsResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetViews = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -9033,17 +8604,13 @@ func (p *ListViewsResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetViews { - fieldId = 1 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListViewsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateManualAnnotationResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9051,34 +8618,20 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListViewsResponse[fieldId])) } -func (p *ListViewsResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*view.View, 0, size) - values := make([]view.View, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } +func (p *CreateManualAnnotationResponse) ReadField1(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = &v } - p.Views = _field + p.AnnotationID = _field return nil } -func (p *ListViewsResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *CreateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -9087,9 +8640,9 @@ func (p *ListViewsResponse) ReadField255(iprot thrift.TProtocol) error { return nil } -func (p *ListViewsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListViewsResponse"); err != nil { + if err = oprot.WriteStructBegin("CreateManualAnnotationResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9119,23 +8672,17 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListViewsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("views", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Views)); err != nil { - return err - } - for _, v := range p.Views { - if err := v.Write(oprot); err != nil { +func (p *CreateManualAnnotationResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetAnnotationID() { + if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.AnnotationID); err != nil { return err } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -9143,7 +8690,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListViewsResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *CreateManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -9162,21 +8709,21 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListViewsResponse) String() string { +func (p *CreateManualAnnotationResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ListViewsResponse(%+v)", *p) + return fmt.Sprintf("CreateManualAnnotationResponse(%+v)", *p) } -func (p *ListViewsResponse) DeepEqual(ano *ListViewsResponse) bool { +func (p *CreateManualAnnotationResponse) DeepEqual(ano *CreateManualAnnotationResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Views) { + if !p.Field1DeepEqual(ano.AnnotationID) { return false } if !p.Field255DeepEqual(ano.BaseResp) { @@ -9185,20 +8732,19 @@ func (p *ListViewsResponse) DeepEqual(ano *ListViewsResponse) bool { return true } -func (p *ListViewsResponse) Field1DeepEqual(src []*view.View) bool { +func (p *CreateManualAnnotationResponse) Field1DeepEqual(src *string) bool { - if len(p.Views) != len(src) { + if p.AnnotationID == src { + return true + } else if p.AnnotationID == nil || src == nil { return false } - for i, v := range p.Views { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } + if strings.Compare(*p.AnnotationID, *src) != 0 { + return false } return true } -func (p *ListViewsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *CreateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -9206,85 +8752,98 @@ func (p *ListViewsResponse) Field255DeepEqual(src *base.BaseResp) bool { return true } -type CreateManualAnnotationRequest struct { - Annotation *annotation.Annotation `thrift:"annotation,1,required" frugal:"1,required,annotation.Annotation" form:"annotation,required" json:"annotation,required"` - PlatformType *common.PlatformType `thrift:"platform_type,2,optional" frugal:"2,optional,string" form:"platform_type" json:"platform_type,omitempty"` +type UpdateManualAnnotationRequest struct { + AnnotationID string `thrift:"annotation_id,1,required" frugal:"1,required,string" json:"annotation_id,required" path:"annotation_id,required"` + Annotation *annotation.Annotation `thrift:"annotation,2,required" frugal:"2,required,annotation.Annotation" form:"annotation,required" json:"annotation,required"` + PlatformType *common.PlatformType `thrift:"platform_type,3,optional" frugal:"3,optional,string" form:"platform_type" json:"platform_type,omitempty"` Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewCreateManualAnnotationRequest() *CreateManualAnnotationRequest { - return &CreateManualAnnotationRequest{} +func NewUpdateManualAnnotationRequest() *UpdateManualAnnotationRequest { + return &UpdateManualAnnotationRequest{} } -func (p *CreateManualAnnotationRequest) InitDefault() { +func (p *UpdateManualAnnotationRequest) InitDefault() { } -var CreateManualAnnotationRequest_Annotation_DEFAULT *annotation.Annotation +func (p *UpdateManualAnnotationRequest) GetAnnotationID() (v string) { + if p != nil { + return p.AnnotationID + } + return +} -func (p *CreateManualAnnotationRequest) GetAnnotation() (v *annotation.Annotation) { +var UpdateManualAnnotationRequest_Annotation_DEFAULT *annotation.Annotation + +func (p *UpdateManualAnnotationRequest) GetAnnotation() (v *annotation.Annotation) { if p == nil { return } if !p.IsSetAnnotation() { - return CreateManualAnnotationRequest_Annotation_DEFAULT + return UpdateManualAnnotationRequest_Annotation_DEFAULT } return p.Annotation } -var CreateManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType +var UpdateManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType -func (p *CreateManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { +func (p *UpdateManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } if !p.IsSetPlatformType() { - return CreateManualAnnotationRequest_PlatformType_DEFAULT + return UpdateManualAnnotationRequest_PlatformType_DEFAULT } return *p.PlatformType } -var CreateManualAnnotationRequest_Base_DEFAULT *base.Base +var UpdateManualAnnotationRequest_Base_DEFAULT *base.Base -func (p *CreateManualAnnotationRequest) GetBase() (v *base.Base) { +func (p *UpdateManualAnnotationRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return CreateManualAnnotationRequest_Base_DEFAULT + return UpdateManualAnnotationRequest_Base_DEFAULT } return p.Base } -func (p *CreateManualAnnotationRequest) SetAnnotation(val *annotation.Annotation) { +func (p *UpdateManualAnnotationRequest) SetAnnotationID(val string) { + p.AnnotationID = val +} +func (p *UpdateManualAnnotationRequest) SetAnnotation(val *annotation.Annotation) { p.Annotation = val } -func (p *CreateManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { +func (p *UpdateManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *CreateManualAnnotationRequest) SetBase(val *base.Base) { +func (p *UpdateManualAnnotationRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_CreateManualAnnotationRequest = map[int16]string{ - 1: "annotation", - 2: "platform_type", +var fieldIDToName_UpdateManualAnnotationRequest = map[int16]string{ + 1: "annotation_id", + 2: "annotation", + 3: "platform_type", 255: "Base", } -func (p *CreateManualAnnotationRequest) IsSetAnnotation() bool { +func (p *UpdateManualAnnotationRequest) IsSetAnnotation() bool { return p.Annotation != nil } -func (p *CreateManualAnnotationRequest) IsSetPlatformType() bool { +func (p *UpdateManualAnnotationRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *CreateManualAnnotationRequest) IsSetBase() bool { +func (p *UpdateManualAnnotationRequest) IsSetBase() bool { return p.Base != nil } -func (p *CreateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetAnnotationID bool = false var issetAnnotation bool = false if _, err = iprot.ReadStructBegin(); err != nil { @@ -9302,19 +8861,28 @@ func (p *CreateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetAnnotation = true + issetAnnotationID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetAnnotation = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.STRING { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -9339,17 +8907,22 @@ func (p *CreateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetAnnotation { + if !issetAnnotationID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetAnnotation { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateManualAnnotationRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateManualAnnotationRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9358,10 +8931,21 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_CreateManualAnnotationRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_UpdateManualAnnotationRequest[fieldId])) } -func (p *CreateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *UpdateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.AnnotationID = _field + return nil +} +func (p *UpdateManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { _field := annotation.NewAnnotation() if err := _field.Read(iprot); err != nil { return err @@ -9369,7 +8953,7 @@ func (p *CreateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error p.Annotation = _field return nil } -func (p *CreateManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *UpdateManualAnnotationRequest) ReadField3(iprot thrift.TProtocol) error { var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { @@ -9380,7 +8964,7 @@ func (p *CreateManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error p.PlatformType = _field return nil } -func (p *CreateManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *UpdateManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -9389,9 +8973,9 @@ func (p *CreateManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) err return nil } -func (p *CreateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateManualAnnotationRequest"); err != nil { + if err = oprot.WriteStructBegin("UpdateManualAnnotationRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -9403,6 +8987,10 @@ func (p *CreateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -9425,11 +9013,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *CreateManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 1); err != nil { +func (p *UpdateManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := p.Annotation.Write(oprot); err != nil { + if err := oprot.WriteString(p.AnnotationID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -9441,9 +9029,25 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *CreateManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 2); err != nil { + goto WriteFieldBeginError + } + if err := p.Annotation.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *UpdateManualAnnotationRequest) writeField3(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 2); err != nil { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 3); err != nil { goto WriteFieldBeginError } if err := oprot.WriteString(*p.PlatformType); err != nil { @@ -9455,11 +9059,11 @@ func (p *CreateManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *CreateManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -9478,24 +9082,27 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *CreateManualAnnotationRequest) String() string { +func (p *UpdateManualAnnotationRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("CreateManualAnnotationRequest(%+v)", *p) + return fmt.Sprintf("UpdateManualAnnotationRequest(%+v)", *p) } -func (p *CreateManualAnnotationRequest) DeepEqual(ano *CreateManualAnnotationRequest) bool { +func (p *UpdateManualAnnotationRequest) DeepEqual(ano *UpdateManualAnnotationRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Annotation) { + if !p.Field1DeepEqual(ano.AnnotationID) { return false } - if !p.Field2DeepEqual(ano.PlatformType) { + if !p.Field2DeepEqual(ano.Annotation) { + return false + } + if !p.Field3DeepEqual(ano.PlatformType) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -9504,14 +9111,21 @@ func (p *CreateManualAnnotationRequest) DeepEqual(ano *CreateManualAnnotationReq return true } -func (p *CreateManualAnnotationRequest) Field1DeepEqual(src *annotation.Annotation) bool { +func (p *UpdateManualAnnotationRequest) Field1DeepEqual(src string) bool { + + if strings.Compare(p.AnnotationID, src) != 0 { + return false + } + return true +} +func (p *UpdateManualAnnotationRequest) Field2DeepEqual(src *annotation.Annotation) bool { if !p.Annotation.DeepEqual(src) { return false } return true } -func (p *CreateManualAnnotationRequest) Field2DeepEqual(src *common.PlatformType) bool { +func (p *UpdateManualAnnotationRequest) Field3DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -9523,7 +9137,7 @@ func (p *CreateManualAnnotationRequest) Field2DeepEqual(src *common.PlatformType } return true } -func (p *CreateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { +func (p *UpdateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -9531,62 +9145,41 @@ func (p *CreateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { return true } -type CreateManualAnnotationResponse struct { - AnnotationID *string `thrift:"annotation_id,1,optional" frugal:"1,optional,string" form:"annotation_id" json:"annotation_id,omitempty" query:"annotation_id"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` -} - -func NewCreateManualAnnotationResponse() *CreateManualAnnotationResponse { - return &CreateManualAnnotationResponse{} +type UpdateManualAnnotationResponse struct { + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func (p *CreateManualAnnotationResponse) InitDefault() { +func NewUpdateManualAnnotationResponse() *UpdateManualAnnotationResponse { + return &UpdateManualAnnotationResponse{} } -var CreateManualAnnotationResponse_AnnotationID_DEFAULT string - -func (p *CreateManualAnnotationResponse) GetAnnotationID() (v string) { - if p == nil { - return - } - if !p.IsSetAnnotationID() { - return CreateManualAnnotationResponse_AnnotationID_DEFAULT - } - return *p.AnnotationID +func (p *UpdateManualAnnotationResponse) InitDefault() { } -var CreateManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp +var UpdateManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp -func (p *CreateManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { +func (p *UpdateManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return CreateManualAnnotationResponse_BaseResp_DEFAULT + return UpdateManualAnnotationResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *CreateManualAnnotationResponse) SetAnnotationID(val *string) { - p.AnnotationID = val -} -func (p *CreateManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { +func (p *UpdateManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_CreateManualAnnotationResponse = map[int16]string{ - 1: "annotation_id", +var fieldIDToName_UpdateManualAnnotationResponse = map[int16]string{ 255: "BaseResp", } -func (p *CreateManualAnnotationResponse) IsSetAnnotationID() bool { - return p.AnnotationID != nil -} - -func (p *CreateManualAnnotationResponse) IsSetBaseResp() bool { +func (p *UpdateManualAnnotationResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *CreateManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -9604,14 +9197,6 @@ func (p *CreateManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error } switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -9639,7 +9224,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_CreateManualAnnotationResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateManualAnnotationResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9649,18 +9234,7 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *CreateManualAnnotationResponse) ReadField1(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.AnnotationID = _field - return nil -} -func (p *CreateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *UpdateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -9669,16 +9243,12 @@ func (p *CreateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) er return nil } -func (p *CreateManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("CreateManualAnnotationResponse"); err != nil { + if err = oprot.WriteStructBegin("UpdateManualAnnotationResponse"); err != nil { goto WriteStructBeginError } if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -9701,25 +9271,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *CreateManualAnnotationResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetAnnotationID() { - if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.AnnotationID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *CreateManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *UpdateManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -9738,42 +9290,27 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *CreateManualAnnotationResponse) String() string { +func (p *UpdateManualAnnotationResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("CreateManualAnnotationResponse(%+v)", *p) + return fmt.Sprintf("UpdateManualAnnotationResponse(%+v)", *p) } -func (p *CreateManualAnnotationResponse) DeepEqual(ano *CreateManualAnnotationResponse) bool { +func (p *UpdateManualAnnotationResponse) DeepEqual(ano *UpdateManualAnnotationResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.AnnotationID) { - return false - } if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *CreateManualAnnotationResponse) Field1DeepEqual(src *string) bool { - - if p.AnnotationID == src { - return true - } else if p.AnnotationID == nil || src == nil { - return false - } - if strings.Compare(*p.AnnotationID, *src) != 0 { - return false - } - return true -} -func (p *CreateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *UpdateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -9781,99 +9318,142 @@ func (p *CreateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) b return true } -type UpdateManualAnnotationRequest struct { - AnnotationID string `thrift:"annotation_id,1,required" frugal:"1,required,string" json:"annotation_id,required" path:"annotation_id,required"` - Annotation *annotation.Annotation `thrift:"annotation,2,required" frugal:"2,required,annotation.Annotation" form:"annotation,required" json:"annotation,required"` - PlatformType *common.PlatformType `thrift:"platform_type,3,optional" frugal:"3,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type DeleteManualAnnotationRequest struct { + AnnotationID string `thrift:"annotation_id,1,required" frugal:"1,required,string" json:"annotation_id,required" path:"annotation_id,required"` + WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" query:"workspace_id,required" ` + TraceID string `thrift:"trace_id,3,required" frugal:"3,required,string" json:"trace_id,required" query:"trace_id,required"` + SpanID string `thrift:"span_id,4,required" frugal:"4,required,string" json:"span_id,required" query:"span_id,required"` + StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" query:"start_time,required" ` + AnnotationKey string `thrift:"annotation_key,6,required" frugal:"6,required,string" json:"annotation_key,required" query:"annotation_key,required"` + PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" json:"platform_type,omitempty" query:"platform_type"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewUpdateManualAnnotationRequest() *UpdateManualAnnotationRequest { - return &UpdateManualAnnotationRequest{} +func NewDeleteManualAnnotationRequest() *DeleteManualAnnotationRequest { + return &DeleteManualAnnotationRequest{} } -func (p *UpdateManualAnnotationRequest) InitDefault() { +func (p *DeleteManualAnnotationRequest) InitDefault() { } -func (p *UpdateManualAnnotationRequest) GetAnnotationID() (v string) { +func (p *DeleteManualAnnotationRequest) GetAnnotationID() (v string) { if p != nil { return p.AnnotationID } return } -var UpdateManualAnnotationRequest_Annotation_DEFAULT *annotation.Annotation +func (p *DeleteManualAnnotationRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return +} -func (p *UpdateManualAnnotationRequest) GetAnnotation() (v *annotation.Annotation) { - if p == nil { - return +func (p *DeleteManualAnnotationRequest) GetTraceID() (v string) { + if p != nil { + return p.TraceID } - if !p.IsSetAnnotation() { - return UpdateManualAnnotationRequest_Annotation_DEFAULT + return +} + +func (p *DeleteManualAnnotationRequest) GetSpanID() (v string) { + if p != nil { + return p.SpanID } - return p.Annotation + return } -var UpdateManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType +func (p *DeleteManualAnnotationRequest) GetStartTime() (v int64) { + if p != nil { + return p.StartTime + } + return +} -func (p *UpdateManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { +func (p *DeleteManualAnnotationRequest) GetAnnotationKey() (v string) { + if p != nil { + return p.AnnotationKey + } + return +} + +var DeleteManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType + +func (p *DeleteManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } if !p.IsSetPlatformType() { - return UpdateManualAnnotationRequest_PlatformType_DEFAULT + return DeleteManualAnnotationRequest_PlatformType_DEFAULT } return *p.PlatformType } -var UpdateManualAnnotationRequest_Base_DEFAULT *base.Base +var DeleteManualAnnotationRequest_Base_DEFAULT *base.Base -func (p *UpdateManualAnnotationRequest) GetBase() (v *base.Base) { +func (p *DeleteManualAnnotationRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return UpdateManualAnnotationRequest_Base_DEFAULT + return DeleteManualAnnotationRequest_Base_DEFAULT } return p.Base } -func (p *UpdateManualAnnotationRequest) SetAnnotationID(val string) { +func (p *DeleteManualAnnotationRequest) SetAnnotationID(val string) { p.AnnotationID = val } -func (p *UpdateManualAnnotationRequest) SetAnnotation(val *annotation.Annotation) { - p.Annotation = val +func (p *DeleteManualAnnotationRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val } -func (p *UpdateManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { +func (p *DeleteManualAnnotationRequest) SetTraceID(val string) { + p.TraceID = val +} +func (p *DeleteManualAnnotationRequest) SetSpanID(val string) { + p.SpanID = val +} +func (p *DeleteManualAnnotationRequest) SetStartTime(val int64) { + p.StartTime = val +} +func (p *DeleteManualAnnotationRequest) SetAnnotationKey(val string) { + p.AnnotationKey = val +} +func (p *DeleteManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *UpdateManualAnnotationRequest) SetBase(val *base.Base) { +func (p *DeleteManualAnnotationRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_UpdateManualAnnotationRequest = map[int16]string{ +var fieldIDToName_DeleteManualAnnotationRequest = map[int16]string{ 1: "annotation_id", - 2: "annotation", - 3: "platform_type", + 2: "workspace_id", + 3: "trace_id", + 4: "span_id", + 5: "start_time", + 6: "annotation_key", + 7: "platform_type", 255: "Base", } -func (p *UpdateManualAnnotationRequest) IsSetAnnotation() bool { - return p.Annotation != nil -} - -func (p *UpdateManualAnnotationRequest) IsSetPlatformType() bool { +func (p *DeleteManualAnnotationRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *UpdateManualAnnotationRequest) IsSetBase() bool { +func (p *DeleteManualAnnotationRequest) IsSetBase() bool { return p.Base != nil } -func (p *UpdateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetAnnotationID bool = false - var issetAnnotation bool = false + var issetWorkspaceID bool = false + var issetTraceID bool = false + var issetSpanID bool = false + var issetStartTime bool = false + var issetAnnotationKey bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -9899,11 +9479,11 @@ func (p *UpdateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.I64 { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetAnnotation = true + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -9912,6 +9492,42 @@ func (p *UpdateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } + issetTraceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + issetSpanID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetStartTime = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + issetAnnotationKey = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.STRING { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -9941,17 +9557,37 @@ func (p *UpdateManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto RequiredFieldNotSetError } - if !issetAnnotation { + if !issetWorkspaceID { fieldId = 2 goto RequiredFieldNotSetError } + + if !issetTraceID { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetSpanID { + fieldId = 4 + goto RequiredFieldNotSetError + } + + if !issetStartTime { + fieldId = 5 + goto RequiredFieldNotSetError + } + + if !issetAnnotationKey { + fieldId = 6 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateManualAnnotationRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteManualAnnotationRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -9960,10 +9596,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_UpdateManualAnnotationRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DeleteManualAnnotationRequest[fieldId])) } -func (p *UpdateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *DeleteManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { var _field string if v, err := iprot.ReadString(); err != nil { @@ -9974,37 +9610,84 @@ func (p *UpdateManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error p.AnnotationID = _field return nil } -func (p *UpdateManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { - _field := annotation.NewAnnotation() - if err := _field.Read(iprot); err != nil { +func (p *DeleteManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = v } - p.Annotation = _field + p.WorkspaceID = _field return nil } -func (p *UpdateManualAnnotationRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *DeleteManualAnnotationRequest) ReadField3(iprot thrift.TProtocol) error { - var _field *common.PlatformType + var _field string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = &v + _field = v } - p.PlatformType = _field + p.TraceID = _field return nil } -func (p *UpdateManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { +func (p *DeleteManualAnnotationRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v } - p.Base = _field + p.SpanID = _field return nil } +func (p *DeleteManualAnnotationRequest) ReadField5(iprot thrift.TProtocol) error { -func (p *UpdateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.StartTime = _field + return nil +} +func (p *DeleteManualAnnotationRequest) ReadField6(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.AnnotationKey = _field + return nil +} +func (p *DeleteManualAnnotationRequest) ReadField7(iprot thrift.TProtocol) error { + + var _field *common.PlatformType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.PlatformType = _field + return nil +} +func (p *DeleteManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err + } + p.Base = _field + return nil +} + +func (p *DeleteManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateManualAnnotationRequest"); err != nil { + if err = oprot.WriteStructBegin("DeleteManualAnnotationRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -10020,6 +9703,22 @@ func (p *UpdateManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error fieldId = 3 goto WriteFieldError } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -10042,7 +9741,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *UpdateManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } @@ -10058,11 +9757,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *UpdateManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 2); err != nil { +func (p *DeleteManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } - if err := p.Annotation.Write(oprot); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -10074,9 +9773,73 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *UpdateManualAnnotationRequest) writeField3(oprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.TraceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *DeleteManualAnnotationRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.SpanID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *DeleteManualAnnotationRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.StartTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *DeleteManualAnnotationRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation_key", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.AnnotationKey); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *DeleteManualAnnotationRequest) writeField7(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 3); err != nil { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { goto WriteFieldBeginError } if err := oprot.WriteString(*p.PlatformType); err != nil { @@ -10088,11 +9851,11 @@ func (p *UpdateManualAnnotationRequest) writeField3(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) } -func (p *UpdateManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -10111,15 +9874,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *UpdateManualAnnotationRequest) String() string { +func (p *DeleteManualAnnotationRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("UpdateManualAnnotationRequest(%+v)", *p) + return fmt.Sprintf("DeleteManualAnnotationRequest(%+v)", *p) } -func (p *UpdateManualAnnotationRequest) DeepEqual(ano *UpdateManualAnnotationRequest) bool { +func (p *DeleteManualAnnotationRequest) DeepEqual(ano *DeleteManualAnnotationRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -10128,10 +9891,22 @@ func (p *UpdateManualAnnotationRequest) DeepEqual(ano *UpdateManualAnnotationReq if !p.Field1DeepEqual(ano.AnnotationID) { return false } - if !p.Field2DeepEqual(ano.Annotation) { + if !p.Field2DeepEqual(ano.WorkspaceID) { return false } - if !p.Field3DeepEqual(ano.PlatformType) { + if !p.Field3DeepEqual(ano.TraceID) { + return false + } + if !p.Field4DeepEqual(ano.SpanID) { + return false + } + if !p.Field5DeepEqual(ano.StartTime) { + return false + } + if !p.Field6DeepEqual(ano.AnnotationKey) { + return false + } + if !p.Field7DeepEqual(ano.PlatformType) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -10140,21 +9915,49 @@ func (p *UpdateManualAnnotationRequest) DeepEqual(ano *UpdateManualAnnotationReq return true } -func (p *UpdateManualAnnotationRequest) Field1DeepEqual(src string) bool { +func (p *DeleteManualAnnotationRequest) Field1DeepEqual(src string) bool { if strings.Compare(p.AnnotationID, src) != 0 { return false } return true } -func (p *UpdateManualAnnotationRequest) Field2DeepEqual(src *annotation.Annotation) bool { +func (p *DeleteManualAnnotationRequest) Field2DeepEqual(src int64) bool { - if !p.Annotation.DeepEqual(src) { + if p.WorkspaceID != src { return false } return true } -func (p *UpdateManualAnnotationRequest) Field3DeepEqual(src *common.PlatformType) bool { +func (p *DeleteManualAnnotationRequest) Field3DeepEqual(src string) bool { + + if strings.Compare(p.TraceID, src) != 0 { + return false + } + return true +} +func (p *DeleteManualAnnotationRequest) Field4DeepEqual(src string) bool { + + if strings.Compare(p.SpanID, src) != 0 { + return false + } + return true +} +func (p *DeleteManualAnnotationRequest) Field5DeepEqual(src int64) bool { + + if p.StartTime != src { + return false + } + return true +} +func (p *DeleteManualAnnotationRequest) Field6DeepEqual(src string) bool { + + if strings.Compare(p.AnnotationKey, src) != 0 { + return false + } + return true +} +func (p *DeleteManualAnnotationRequest) Field7DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -10166,7 +9969,7 @@ func (p *UpdateManualAnnotationRequest) Field3DeepEqual(src *common.PlatformType } return true } -func (p *UpdateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { +func (p *DeleteManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -10174,41 +9977,41 @@ func (p *UpdateManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { return true } -type UpdateManualAnnotationResponse struct { +type DeleteManualAnnotationResponse struct { BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewUpdateManualAnnotationResponse() *UpdateManualAnnotationResponse { - return &UpdateManualAnnotationResponse{} +func NewDeleteManualAnnotationResponse() *DeleteManualAnnotationResponse { + return &DeleteManualAnnotationResponse{} } -func (p *UpdateManualAnnotationResponse) InitDefault() { +func (p *DeleteManualAnnotationResponse) InitDefault() { } -var UpdateManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp +var DeleteManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp -func (p *UpdateManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { +func (p *DeleteManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return UpdateManualAnnotationResponse_BaseResp_DEFAULT + return DeleteManualAnnotationResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *UpdateManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { +func (p *DeleteManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_UpdateManualAnnotationResponse = map[int16]string{ +var fieldIDToName_DeleteManualAnnotationResponse = map[int16]string{ 255: "BaseResp", } -func (p *UpdateManualAnnotationResponse) IsSetBaseResp() bool { +func (p *DeleteManualAnnotationResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *UpdateManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -10253,7 +10056,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_UpdateManualAnnotationResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteManualAnnotationResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -10263,7 +10066,7 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *UpdateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *DeleteManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -10272,9 +10075,9 @@ func (p *UpdateManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) er return nil } -func (p *UpdateManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("UpdateManualAnnotationResponse"); err != nil { + if err = oprot.WriteStructBegin("DeleteManualAnnotationResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -10300,7 +10103,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *UpdateManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *DeleteManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -10319,15 +10122,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *UpdateManualAnnotationResponse) String() string { +func (p *DeleteManualAnnotationResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("UpdateManualAnnotationResponse(%+v)", *p) + return fmt.Sprintf("DeleteManualAnnotationResponse(%+v)", *p) } -func (p *UpdateManualAnnotationResponse) DeepEqual(ano *UpdateManualAnnotationResponse) bool { +func (p *DeleteManualAnnotationResponse) DeepEqual(ano *DeleteManualAnnotationResponse) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -10339,7 +10142,7 @@ func (p *UpdateManualAnnotationResponse) DeepEqual(ano *UpdateManualAnnotationRe return true } -func (p *UpdateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *DeleteManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -10347,142 +10150,137 @@ func (p *UpdateManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) b return true } -type DeleteManualAnnotationRequest struct { - AnnotationID string `thrift:"annotation_id,1,required" frugal:"1,required,string" json:"annotation_id,required" path:"annotation_id,required"` - WorkspaceID int64 `thrift:"workspace_id,2,required" frugal:"2,required,i64" json:"workspace_id" query:"workspace_id,required" ` - TraceID string `thrift:"trace_id,3,required" frugal:"3,required,string" json:"trace_id,required" query:"trace_id,required"` - SpanID string `thrift:"span_id,4,required" frugal:"4,required,string" json:"span_id,required" query:"span_id,required"` - StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" query:"start_time,required" ` - AnnotationKey string `thrift:"annotation_key,6,required" frugal:"6,required,string" json:"annotation_key,required" query:"annotation_key,required"` - PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" json:"platform_type,omitempty" query:"platform_type"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewDeleteManualAnnotationRequest() *DeleteManualAnnotationRequest { - return &DeleteManualAnnotationRequest{} +type ListAnnotationsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + SpanID string `thrift:"span_id,2,required" frugal:"2,required,string" form:"span_id,required" json:"span_id,required"` + TraceID string `thrift:"trace_id,3,required" frugal:"3,required,string" form:"trace_id,required" json:"trace_id,required"` + StartTime int64 `thrift:"start_time,4,required" frugal:"4,required,i64" json:"start_time" form:"start_time,required" ` + PlatformType *common.PlatformType `thrift:"platform_type,5,optional" frugal:"5,optional,string" form:"platform_type" json:"platform_type,omitempty"` + DescByUpdatedAt *bool `thrift:"desc_by_updated_at,6,optional" frugal:"6,optional,bool" form:"desc_by_updated_at" json:"desc_by_updated_at,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func (p *DeleteManualAnnotationRequest) InitDefault() { +func NewListAnnotationsRequest() *ListAnnotationsRequest { + return &ListAnnotationsRequest{} } -func (p *DeleteManualAnnotationRequest) GetAnnotationID() (v string) { - if p != nil { - return p.AnnotationID - } - return +func (p *ListAnnotationsRequest) InitDefault() { } -func (p *DeleteManualAnnotationRequest) GetWorkspaceID() (v int64) { +func (p *ListAnnotationsRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -func (p *DeleteManualAnnotationRequest) GetTraceID() (v string) { +func (p *ListAnnotationsRequest) GetSpanID() (v string) { if p != nil { - return p.TraceID + return p.SpanID } return } -func (p *DeleteManualAnnotationRequest) GetSpanID() (v string) { +func (p *ListAnnotationsRequest) GetTraceID() (v string) { if p != nil { - return p.SpanID + return p.TraceID } return } -func (p *DeleteManualAnnotationRequest) GetStartTime() (v int64) { +func (p *ListAnnotationsRequest) GetStartTime() (v int64) { if p != nil { return p.StartTime } return } -func (p *DeleteManualAnnotationRequest) GetAnnotationKey() (v string) { - if p != nil { - return p.AnnotationKey +var ListAnnotationsRequest_PlatformType_DEFAULT common.PlatformType + +func (p *ListAnnotationsRequest) GetPlatformType() (v common.PlatformType) { + if p == nil { + return } - return + if !p.IsSetPlatformType() { + return ListAnnotationsRequest_PlatformType_DEFAULT + } + return *p.PlatformType } -var DeleteManualAnnotationRequest_PlatformType_DEFAULT common.PlatformType +var ListAnnotationsRequest_DescByUpdatedAt_DEFAULT bool -func (p *DeleteManualAnnotationRequest) GetPlatformType() (v common.PlatformType) { +func (p *ListAnnotationsRequest) GetDescByUpdatedAt() (v bool) { if p == nil { return } - if !p.IsSetPlatformType() { - return DeleteManualAnnotationRequest_PlatformType_DEFAULT + if !p.IsSetDescByUpdatedAt() { + return ListAnnotationsRequest_DescByUpdatedAt_DEFAULT } - return *p.PlatformType + return *p.DescByUpdatedAt } -var DeleteManualAnnotationRequest_Base_DEFAULT *base.Base +var ListAnnotationsRequest_Base_DEFAULT *base.Base -func (p *DeleteManualAnnotationRequest) GetBase() (v *base.Base) { +func (p *ListAnnotationsRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return DeleteManualAnnotationRequest_Base_DEFAULT + return ListAnnotationsRequest_Base_DEFAULT } return p.Base } -func (p *DeleteManualAnnotationRequest) SetAnnotationID(val string) { - p.AnnotationID = val -} -func (p *DeleteManualAnnotationRequest) SetWorkspaceID(val int64) { +func (p *ListAnnotationsRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *DeleteManualAnnotationRequest) SetTraceID(val string) { - p.TraceID = val -} -func (p *DeleteManualAnnotationRequest) SetSpanID(val string) { +func (p *ListAnnotationsRequest) SetSpanID(val string) { p.SpanID = val } -func (p *DeleteManualAnnotationRequest) SetStartTime(val int64) { - p.StartTime = val +func (p *ListAnnotationsRequest) SetTraceID(val string) { + p.TraceID = val } -func (p *DeleteManualAnnotationRequest) SetAnnotationKey(val string) { - p.AnnotationKey = val +func (p *ListAnnotationsRequest) SetStartTime(val int64) { + p.StartTime = val } -func (p *DeleteManualAnnotationRequest) SetPlatformType(val *common.PlatformType) { +func (p *ListAnnotationsRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *DeleteManualAnnotationRequest) SetBase(val *base.Base) { +func (p *ListAnnotationsRequest) SetDescByUpdatedAt(val *bool) { + p.DescByUpdatedAt = val +} +func (p *ListAnnotationsRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_DeleteManualAnnotationRequest = map[int16]string{ - 1: "annotation_id", - 2: "workspace_id", +var fieldIDToName_ListAnnotationsRequest = map[int16]string{ + 1: "workspace_id", + 2: "span_id", 3: "trace_id", - 4: "span_id", - 5: "start_time", - 6: "annotation_key", - 7: "platform_type", + 4: "start_time", + 5: "platform_type", + 6: "desc_by_updated_at", 255: "Base", } -func (p *DeleteManualAnnotationRequest) IsSetPlatformType() bool { +func (p *ListAnnotationsRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *DeleteManualAnnotationRequest) IsSetBase() bool { +func (p *ListAnnotationsRequest) IsSetDescByUpdatedAt() bool { + return p.DescByUpdatedAt != nil +} + +func (p *ListAnnotationsRequest) IsSetBase() bool { return p.Base != nil } -func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetAnnotationID bool = false var issetWorkspaceID bool = false - var issetTraceID bool = false var issetSpanID bool = false + var issetTraceID bool = false var issetStartTime bool = false - var issetAnnotationKey bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -10499,20 +10297,20 @@ func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetAnnotationID = true + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true + issetSpanID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -10526,37 +10324,27 @@ func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto SkipFieldError } case 4: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } - issetSpanID = true + issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 5: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRING { if err = p.ReadField5(iprot); err != nil { goto ReadFieldError } - issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 6: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.BOOL { if err = p.ReadField6(iprot); err != nil { goto ReadFieldError } - issetAnnotationKey = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: - if fieldTypeId == thrift.STRING { - if err = p.ReadField7(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -10581,12 +10369,12 @@ func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetAnnotationID { + if !issetWorkspaceID { fieldId = 1 goto RequiredFieldNotSetError } - if !issetWorkspaceID { + if !issetSpanID { fieldId = 2 goto RequiredFieldNotSetError } @@ -10596,18 +10384,8 @@ func (p *DeleteManualAnnotationRequest) Read(iprot thrift.TProtocol) (err error) goto RequiredFieldNotSetError } - if !issetSpanID { - fieldId = 4 - goto RequiredFieldNotSetError - } - if !issetStartTime { - fieldId = 5 - goto RequiredFieldNotSetError - } - - if !issetAnnotationKey { - fieldId = 6 + fieldId = 4 goto RequiredFieldNotSetError } return nil @@ -10616,7 +10394,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteManualAnnotationRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -10625,21 +10403,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DeleteManualAnnotationRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationsRequest[fieldId])) } -func (p *DeleteManualAnnotationRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.AnnotationID = _field - return nil -} -func (p *DeleteManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -10650,7 +10417,7 @@ func (p *DeleteManualAnnotationRequest) ReadField2(iprot thrift.TProtocol) error p.WorkspaceID = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField2(iprot thrift.TProtocol) error { var _field string if v, err := iprot.ReadString(); err != nil { @@ -10658,10 +10425,10 @@ func (p *DeleteManualAnnotationRequest) ReadField3(iprot thrift.TProtocol) error } else { _field = v } - p.TraceID = _field + p.SpanID = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField4(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField3(iprot thrift.TProtocol) error { var _field string if v, err := iprot.ReadString(); err != nil { @@ -10669,10 +10436,10 @@ func (p *DeleteManualAnnotationRequest) ReadField4(iprot thrift.TProtocol) error } else { _field = v } - p.SpanID = _field + p.TraceID = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField5(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField4(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -10683,29 +10450,29 @@ func (p *DeleteManualAnnotationRequest) ReadField5(iprot thrift.TProtocol) error p.StartTime = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField5(iprot thrift.TProtocol) error { - var _field string + var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } - p.AnnotationKey = _field + p.PlatformType = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField7(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField6(iprot thrift.TProtocol) error { - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { + var _field *bool + if v, err := iprot.ReadBool(); err != nil { return err } else { _field = &v } - p.PlatformType = _field + p.DescByUpdatedAt = _field return nil } -func (p *DeleteManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ListAnnotationsRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -10714,9 +10481,9 @@ func (p *DeleteManualAnnotationRequest) ReadField255(iprot thrift.TProtocol) err return nil } -func (p *DeleteManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteManualAnnotationRequest"); err != nil { + if err = oprot.WriteStructBegin("ListAnnotationsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -10744,10 +10511,6 @@ func (p *DeleteManualAnnotationRequest) Write(oprot thrift.TProtocol) (err error fieldId = 6 goto WriteFieldError } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -10770,11 +10533,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 1); err != nil { +func (p *ListAnnotationsRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.AnnotationID); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -10786,11 +10549,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 2); err != nil { +func (p *ListAnnotationsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := oprot.WriteString(p.SpanID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -10802,7 +10565,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField3(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsRequest) writeField3(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 3); err != nil { goto WriteFieldBeginError } @@ -10818,11 +10581,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 4); err != nil { +func (p *ListAnnotationsRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.SpanID); err != nil { + if err := oprot.WriteI64(p.StartTime); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -10834,15 +10597,17 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField5(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.StartTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ListAnnotationsRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PlatformType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -10850,28 +10615,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField6(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation_key", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.AnnotationKey); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *DeleteManualAnnotationRequest) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { +func (p *ListAnnotationsRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetDescByUpdatedAt() { + if err = oprot.WriteFieldBegin("desc_by_updated_at", thrift.BOOL, 6); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.PlatformType); err != nil { + if err := oprot.WriteBool(*p.DescByUpdatedAt); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -10880,11 +10629,11 @@ func (p *DeleteManualAnnotationRequest) writeField7(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -10903,39 +10652,36 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *DeleteManualAnnotationRequest) String() string { +func (p *ListAnnotationsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("DeleteManualAnnotationRequest(%+v)", *p) + return fmt.Sprintf("ListAnnotationsRequest(%+v)", *p) } -func (p *DeleteManualAnnotationRequest) DeepEqual(ano *DeleteManualAnnotationRequest) bool { +func (p *ListAnnotationsRequest) DeepEqual(ano *ListAnnotationsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.AnnotationID) { + if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.WorkspaceID) { + if !p.Field2DeepEqual(ano.SpanID) { return false } if !p.Field3DeepEqual(ano.TraceID) { return false } - if !p.Field4DeepEqual(ano.SpanID) { - return false - } - if !p.Field5DeepEqual(ano.StartTime) { + if !p.Field4DeepEqual(ano.StartTime) { return false } - if !p.Field6DeepEqual(ano.AnnotationKey) { + if !p.Field5DeepEqual(ano.PlatformType) { return false } - if !p.Field7DeepEqual(ano.PlatformType) { + if !p.Field6DeepEqual(ano.DescByUpdatedAt) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -10944,61 +10690,59 @@ func (p *DeleteManualAnnotationRequest) DeepEqual(ano *DeleteManualAnnotationReq return true } -func (p *DeleteManualAnnotationRequest) Field1DeepEqual(src string) bool { +func (p *ListAnnotationsRequest) Field1DeepEqual(src int64) bool { - if strings.Compare(p.AnnotationID, src) != 0 { + if p.WorkspaceID != src { return false } return true } -func (p *DeleteManualAnnotationRequest) Field2DeepEqual(src int64) bool { +func (p *ListAnnotationsRequest) Field2DeepEqual(src string) bool { - if p.WorkspaceID != src { + if strings.Compare(p.SpanID, src) != 0 { return false } return true } -func (p *DeleteManualAnnotationRequest) Field3DeepEqual(src string) bool { +func (p *ListAnnotationsRequest) Field3DeepEqual(src string) bool { if strings.Compare(p.TraceID, src) != 0 { return false } return true } -func (p *DeleteManualAnnotationRequest) Field4DeepEqual(src string) bool { +func (p *ListAnnotationsRequest) Field4DeepEqual(src int64) bool { - if strings.Compare(p.SpanID, src) != 0 { + if p.StartTime != src { return false } return true } -func (p *DeleteManualAnnotationRequest) Field5DeepEqual(src int64) bool { +func (p *ListAnnotationsRequest) Field5DeepEqual(src *common.PlatformType) bool { - if p.StartTime != src { + if p.PlatformType == src { + return true + } else if p.PlatformType == nil || src == nil { return false } - return true -} -func (p *DeleteManualAnnotationRequest) Field6DeepEqual(src string) bool { - - if strings.Compare(p.AnnotationKey, src) != 0 { + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *DeleteManualAnnotationRequest) Field7DeepEqual(src *common.PlatformType) bool { +func (p *ListAnnotationsRequest) Field6DeepEqual(src *bool) bool { - if p.PlatformType == src { + if p.DescByUpdatedAt == src { return true - } else if p.PlatformType == nil || src == nil { + } else if p.DescByUpdatedAt == nil || src == nil { return false } - if strings.Compare(*p.PlatformType, *src) != 0 { + if *p.DescByUpdatedAt != *src { return false } return true } -func (p *DeleteManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListAnnotationsRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -11006,43 +10750,56 @@ func (p *DeleteManualAnnotationRequest) Field255DeepEqual(src *base.Base) bool { return true } -type DeleteManualAnnotationResponse struct { - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type ListAnnotationsResponse struct { + Annotations []*annotation.Annotation `thrift:"annotations,1,required" frugal:"1,required,list" form:"annotations,required" json:"annotations,required" query:"annotations,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewDeleteManualAnnotationResponse() *DeleteManualAnnotationResponse { - return &DeleteManualAnnotationResponse{} +func NewListAnnotationsResponse() *ListAnnotationsResponse { + return &ListAnnotationsResponse{} } -func (p *DeleteManualAnnotationResponse) InitDefault() { +func (p *ListAnnotationsResponse) InitDefault() { } -var DeleteManualAnnotationResponse_BaseResp_DEFAULT *base.BaseResp +func (p *ListAnnotationsResponse) GetAnnotations() (v []*annotation.Annotation) { + if p != nil { + return p.Annotations + } + return +} -func (p *DeleteManualAnnotationResponse) GetBaseResp() (v *base.BaseResp) { +var ListAnnotationsResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *ListAnnotationsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return DeleteManualAnnotationResponse_BaseResp_DEFAULT + return ListAnnotationsResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *DeleteManualAnnotationResponse) SetBaseResp(val *base.BaseResp) { +func (p *ListAnnotationsResponse) SetAnnotations(val []*annotation.Annotation) { + p.Annotations = val +} +func (p *ListAnnotationsResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_DeleteManualAnnotationResponse = map[int16]string{ +var fieldIDToName_ListAnnotationsResponse = map[int16]string{ + 1: "annotations", 255: "BaseResp", } -func (p *DeleteManualAnnotationResponse) IsSetBaseResp() bool { +func (p *ListAnnotationsResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *DeleteManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetAnnotations bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -11058,6 +10815,15 @@ func (p *DeleteManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error } switch fieldId { + case 1: + if fieldTypeId == thrift.LIST { + if err = p.ReadField1(iprot); err != nil { + goto ReadFieldError + } + issetAnnotations = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -11079,13 +10845,17 @@ func (p *DeleteManualAnnotationResponse) Read(iprot thrift.TProtocol) (err error goto ReadStructEndError } + if !issetAnnotations { + fieldId = 1 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DeleteManualAnnotationResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -11093,9 +10863,34 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationsResponse[fieldId])) } -func (p *DeleteManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ListAnnotationsResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*annotation.Annotation, 0, size) + values := make([]annotation.Annotation, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.Annotations = _field + return nil +} +func (p *ListAnnotationsResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -11104,12 +10899,16 @@ func (p *DeleteManualAnnotationResponse) ReadField255(iprot thrift.TProtocol) er return nil } -func (p *DeleteManualAnnotationResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DeleteManualAnnotationResponse"); err != nil { + if err = oprot.WriteStructBegin("ListAnnotationsResponse"); err != nil { goto WriteStructBeginError } if p != nil { + if err = p.writeField1(oprot); err != nil { + fieldId = 1 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -11132,7 +10931,31 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *DeleteManualAnnotationResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotations", thrift.LIST, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Annotations)); err != nil { + return err + } + for _, v := range p.Annotations { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +} +func (p *ListAnnotationsResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -11151,27 +10974,43 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *DeleteManualAnnotationResponse) String() string { +func (p *ListAnnotationsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("DeleteManualAnnotationResponse(%+v)", *p) + return fmt.Sprintf("ListAnnotationsResponse(%+v)", *p) } -func (p *DeleteManualAnnotationResponse) DeepEqual(ano *DeleteManualAnnotationResponse) bool { +func (p *ListAnnotationsResponse) DeepEqual(ano *ListAnnotationsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } + if !p.Field1DeepEqual(ano.Annotations) { + return false + } if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *DeleteManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListAnnotationsResponse) Field1DeepEqual(src []*annotation.Annotation) bool { + + if len(p.Annotations) != len(src) { + return false + } + for i, v := range p.Annotations { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ListAnnotationsResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -11179,137 +11018,186 @@ func (p *DeleteManualAnnotationResponse) Field255DeepEqual(src *base.BaseResp) b return true } -type ListAnnotationsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - SpanID string `thrift:"span_id,2,required" frugal:"2,required,string" form:"span_id,required" json:"span_id,required"` - TraceID string `thrift:"trace_id,3,required" frugal:"3,required,string" form:"trace_id,required" json:"trace_id,required"` - StartTime int64 `thrift:"start_time,4,required" frugal:"4,required,i64" json:"start_time" form:"start_time,required" ` - PlatformType *common.PlatformType `thrift:"platform_type,5,optional" frugal:"5,optional,string" form:"platform_type" json:"platform_type,omitempty"` - DescByUpdatedAt *bool `thrift:"desc_by_updated_at,6,optional" frugal:"6,optional,bool" form:"desc_by_updated_at" json:"desc_by_updated_at,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type ExportTracesToDatasetRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + SpanIds []*SpanID `thrift:"span_ids,2,required" frugal:"2,required,list" form:"span_ids,required" json:"span_ids,required"` + Category dataset.DatasetCategory `thrift:"category,3,required" frugal:"3,required,DatasetCategory" form:"category,required" json:"category,required"` + Config *DatasetConfig `thrift:"config,4,required" frugal:"4,required,DatasetConfig" form:"config,required" json:"config,required"` + StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" form:"start_time,required" ` + EndTime int64 `thrift:"end_time,6,required" frugal:"6,required,i64" json:"end_time" form:"end_time,required" ` + PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" form:"platform_type" json:"platform_type,omitempty"` + // 导入方式,不填默认为追加 + ExportType dataset0.ExportType `thrift:"export_type,8,required" frugal:"8,required,string" form:"export_type,required" json:"export_type,required"` + FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,9,optional" frugal:"9,optional,list" form:"field_mappings" json:"field_mappings,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewListAnnotationsRequest() *ListAnnotationsRequest { - return &ListAnnotationsRequest{} +func NewExportTracesToDatasetRequest() *ExportTracesToDatasetRequest { + return &ExportTracesToDatasetRequest{} } -func (p *ListAnnotationsRequest) InitDefault() { +func (p *ExportTracesToDatasetRequest) InitDefault() { } -func (p *ListAnnotationsRequest) GetWorkspaceID() (v int64) { +func (p *ExportTracesToDatasetRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -func (p *ListAnnotationsRequest) GetSpanID() (v string) { +func (p *ExportTracesToDatasetRequest) GetSpanIds() (v []*SpanID) { if p != nil { - return p.SpanID + return p.SpanIds } return } -func (p *ListAnnotationsRequest) GetTraceID() (v string) { +func (p *ExportTracesToDatasetRequest) GetCategory() (v dataset.DatasetCategory) { if p != nil { - return p.TraceID + return p.Category } return } -func (p *ListAnnotationsRequest) GetStartTime() (v int64) { - if p != nil { - return p.StartTime - } - return -} +var ExportTracesToDatasetRequest_Config_DEFAULT *DatasetConfig -var ListAnnotationsRequest_PlatformType_DEFAULT common.PlatformType +func (p *ExportTracesToDatasetRequest) GetConfig() (v *DatasetConfig) { + if p == nil { + return + } + if !p.IsSetConfig() { + return ExportTracesToDatasetRequest_Config_DEFAULT + } + return p.Config +} -func (p *ListAnnotationsRequest) GetPlatformType() (v common.PlatformType) { +func (p *ExportTracesToDatasetRequest) GetStartTime() (v int64) { + if p != nil { + return p.StartTime + } + return +} + +func (p *ExportTracesToDatasetRequest) GetEndTime() (v int64) { + if p != nil { + return p.EndTime + } + return +} + +var ExportTracesToDatasetRequest_PlatformType_DEFAULT common.PlatformType + +func (p *ExportTracesToDatasetRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } if !p.IsSetPlatformType() { - return ListAnnotationsRequest_PlatformType_DEFAULT + return ExportTracesToDatasetRequest_PlatformType_DEFAULT } return *p.PlatformType } -var ListAnnotationsRequest_DescByUpdatedAt_DEFAULT bool +func (p *ExportTracesToDatasetRequest) GetExportType() (v dataset0.ExportType) { + if p != nil { + return p.ExportType + } + return +} -func (p *ListAnnotationsRequest) GetDescByUpdatedAt() (v bool) { +var ExportTracesToDatasetRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping + +func (p *ExportTracesToDatasetRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { if p == nil { return } - if !p.IsSetDescByUpdatedAt() { - return ListAnnotationsRequest_DescByUpdatedAt_DEFAULT + if !p.IsSetFieldMappings() { + return ExportTracesToDatasetRequest_FieldMappings_DEFAULT } - return *p.DescByUpdatedAt + return p.FieldMappings } -var ListAnnotationsRequest_Base_DEFAULT *base.Base +var ExportTracesToDatasetRequest_Base_DEFAULT *base.Base -func (p *ListAnnotationsRequest) GetBase() (v *base.Base) { +func (p *ExportTracesToDatasetRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return ListAnnotationsRequest_Base_DEFAULT + return ExportTracesToDatasetRequest_Base_DEFAULT } return p.Base } -func (p *ListAnnotationsRequest) SetWorkspaceID(val int64) { +func (p *ExportTracesToDatasetRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *ListAnnotationsRequest) SetSpanID(val string) { - p.SpanID = val +func (p *ExportTracesToDatasetRequest) SetSpanIds(val []*SpanID) { + p.SpanIds = val } -func (p *ListAnnotationsRequest) SetTraceID(val string) { - p.TraceID = val +func (p *ExportTracesToDatasetRequest) SetCategory(val dataset.DatasetCategory) { + p.Category = val } -func (p *ListAnnotationsRequest) SetStartTime(val int64) { +func (p *ExportTracesToDatasetRequest) SetConfig(val *DatasetConfig) { + p.Config = val +} +func (p *ExportTracesToDatasetRequest) SetStartTime(val int64) { p.StartTime = val } -func (p *ListAnnotationsRequest) SetPlatformType(val *common.PlatformType) { +func (p *ExportTracesToDatasetRequest) SetEndTime(val int64) { + p.EndTime = val +} +func (p *ExportTracesToDatasetRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *ListAnnotationsRequest) SetDescByUpdatedAt(val *bool) { - p.DescByUpdatedAt = val +func (p *ExportTracesToDatasetRequest) SetExportType(val dataset0.ExportType) { + p.ExportType = val } -func (p *ListAnnotationsRequest) SetBase(val *base.Base) { +func (p *ExportTracesToDatasetRequest) SetFieldMappings(val []*dataset0.FieldMapping) { + p.FieldMappings = val +} +func (p *ExportTracesToDatasetRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_ListAnnotationsRequest = map[int16]string{ +var fieldIDToName_ExportTracesToDatasetRequest = map[int16]string{ 1: "workspace_id", - 2: "span_id", - 3: "trace_id", - 4: "start_time", - 5: "platform_type", - 6: "desc_by_updated_at", + 2: "span_ids", + 3: "category", + 4: "config", + 5: "start_time", + 6: "end_time", + 7: "platform_type", + 8: "export_type", + 9: "field_mappings", 255: "Base", } -func (p *ListAnnotationsRequest) IsSetPlatformType() bool { +func (p *ExportTracesToDatasetRequest) IsSetConfig() bool { + return p.Config != nil +} + +func (p *ExportTracesToDatasetRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *ListAnnotationsRequest) IsSetDescByUpdatedAt() bool { - return p.DescByUpdatedAt != nil +func (p *ExportTracesToDatasetRequest) IsSetFieldMappings() bool { + return p.FieldMappings != nil } -func (p *ListAnnotationsRequest) IsSetBase() bool { +func (p *ExportTracesToDatasetRequest) IsSetBase() bool { return p.Base != nil } -func (p *ListAnnotationsRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetWorkspaceID bool = false - var issetSpanID bool = false - var issetTraceID bool = false + var issetSpanIds bool = false + var issetCategory bool = false + var issetConfig bool = false var issetStartTime bool = false + var issetEndTime bool = false + var issetExportType bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -11335,45 +11223,72 @@ func (p *ListAnnotationsRequest) Read(iprot thrift.TProtocol) (err error) { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.LIST { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetSpanID = true + issetSpanIds = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I32 { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } - issetTraceID = true + issetCategory = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 4: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } - issetStartTime = true + issetConfig = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 5: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I64 { if err = p.ReadField5(iprot); err != nil { goto ReadFieldError } + issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 6: - if fieldTypeId == thrift.BOOL { + if fieldTypeId == thrift.I64 { if err = p.ReadField6(iprot); err != nil { goto ReadFieldError } + issetEndTime = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.STRING { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 8: + if fieldTypeId == thrift.STRING { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + issetExportType = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 9: + if fieldTypeId == thrift.LIST { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -11403,27 +11318,42 @@ func (p *ListAnnotationsRequest) Read(iprot thrift.TProtocol) (err error) { goto RequiredFieldNotSetError } - if !issetSpanID { + if !issetSpanIds { fieldId = 2 goto RequiredFieldNotSetError } - if !issetTraceID { + if !issetCategory { fieldId = 3 goto RequiredFieldNotSetError } - if !issetStartTime { + if !issetConfig { fieldId = 4 goto RequiredFieldNotSetError } + + if !issetStartTime { + fieldId = 5 + goto RequiredFieldNotSetError + } + + if !issetEndTime { + fieldId = 6 + goto RequiredFieldNotSetError + } + + if !issetExportType { + fieldId = 8 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExportTracesToDatasetRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -11432,10 +11362,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationsRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExportTracesToDatasetRequest[fieldId])) } -func (p *ListAnnotationsRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -11446,29 +11376,60 @@ func (p *ListAnnotationsRequest) ReadField1(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *ListAnnotationsRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField2(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*SpanID, 0, size) + values := make([]SpanID, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _field string - if v, err := iprot.ReadString(); err != nil { + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.SpanIds = _field + return nil +} +func (p *ExportTracesToDatasetRequest) ReadField3(iprot thrift.TProtocol) error { + + var _field dataset.DatasetCategory + if v, err := iprot.ReadI32(); err != nil { return err } else { - _field = v + _field = dataset.DatasetCategory(v) } - p.SpanID = _field + p.Category = _field return nil } -func (p *ListAnnotationsRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField4(iprot thrift.TProtocol) error { + _field := NewDatasetConfig() + if err := _field.Read(iprot); err != nil { + return err + } + p.Config = _field + return nil +} +func (p *ExportTracesToDatasetRequest) ReadField5(iprot thrift.TProtocol) error { - var _field string - if v, err := iprot.ReadString(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err } else { _field = v } - p.TraceID = _field + p.StartTime = _field return nil } -func (p *ListAnnotationsRequest) ReadField4(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField6(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -11476,10 +11437,10 @@ func (p *ListAnnotationsRequest) ReadField4(iprot thrift.TProtocol) error { } else { _field = v } - p.StartTime = _field + p.EndTime = _field return nil } -func (p *ListAnnotationsRequest) ReadField5(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField7(iprot thrift.TProtocol) error { var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { @@ -11490,29 +11451,52 @@ func (p *ListAnnotationsRequest) ReadField5(iprot thrift.TProtocol) error { p.PlatformType = _field return nil } -func (p *ListAnnotationsRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetRequest) ReadField8(iprot thrift.TProtocol) error { - var _field *bool - if v, err := iprot.ReadBool(); err != nil { + var _field dataset0.ExportType + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = &v + _field = v } - p.DescByUpdatedAt = _field + p.ExportType = _field return nil } -func (p *ListAnnotationsRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err +func (p *ExportTracesToDatasetRequest) ReadField9(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*dataset0.FieldMapping, 0, size) + values := make([]dataset0.FieldMapping, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.FieldMappings = _field + return nil +} +func (p *ExportTracesToDatasetRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() + if err := _field.Read(iprot); err != nil { + return err } p.Base = _field return nil } -func (p *ListAnnotationsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListAnnotationsRequest"); err != nil { + if err = oprot.WriteStructBegin("ExportTracesToDatasetRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -11540,6 +11524,18 @@ func (p *ListAnnotationsRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 6 goto WriteFieldError } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -11562,7 +11558,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -11578,11 +11574,19 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 2); err != nil { +func (p *ExportTracesToDatasetRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.SpanID); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanIds)); err != nil { + return err + } + for _, v := range p.SpanIds { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -11594,11 +11598,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 3); err != nil { +func (p *ExportTracesToDatasetRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("category", thrift.I32, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(p.TraceID); err != nil { + if err := oprot.WriteI32(int32(p.Category)); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -11610,11 +11614,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { +func (p *ExportTracesToDatasetRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("config", thrift.STRUCT, 4); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.StartTime); err != nil { + if err := p.Config.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -11626,9 +11630,41 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField5(oprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.StartTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *ExportTracesToDatasetRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("end_time", thrift.I64, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(p.EndTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *ExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 5); err != nil { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { goto WriteFieldBeginError } if err := oprot.WriteString(*p.PlatformType); err != nil { @@ -11640,16 +11676,40 @@ func (p *ListAnnotationsRequest) writeField5(oprot thrift.TProtocol) (err error) } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetDescByUpdatedAt() { - if err = oprot.WriteFieldBegin("desc_by_updated_at", thrift.BOOL, 6); err != nil { +func (p *ExportTracesToDatasetRequest) writeField8(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("export_type", thrift.STRING, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.ExportType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} +func (p *ExportTracesToDatasetRequest) writeField9(oprot thrift.TProtocol) (err error) { + if p.IsSetFieldMappings() { + if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 9); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteBool(*p.DescByUpdatedAt); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { + return err + } + for _, v := range p.FieldMappings { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -11658,11 +11718,11 @@ func (p *ListAnnotationsRequest) writeField6(oprot thrift.TProtocol) (err error) } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) } -func (p *ListAnnotationsRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -11681,15 +11741,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListAnnotationsRequest) String() string { +func (p *ExportTracesToDatasetRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListAnnotationsRequest(%+v)", *p) + return fmt.Sprintf("ExportTracesToDatasetRequest(%+v)", *p) } -func (p *ListAnnotationsRequest) DeepEqual(ano *ListAnnotationsRequest) bool { +func (p *ExportTracesToDatasetRequest) DeepEqual(ano *ExportTracesToDatasetRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -11698,19 +11758,28 @@ func (p *ListAnnotationsRequest) DeepEqual(ano *ListAnnotationsRequest) bool { if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.SpanID) { + if !p.Field2DeepEqual(ano.SpanIds) { return false } - if !p.Field3DeepEqual(ano.TraceID) { + if !p.Field3DeepEqual(ano.Category) { return false } - if !p.Field4DeepEqual(ano.StartTime) { + if !p.Field4DeepEqual(ano.Config) { return false } - if !p.Field5DeepEqual(ano.PlatformType) { + if !p.Field5DeepEqual(ano.StartTime) { return false } - if !p.Field6DeepEqual(ano.DescByUpdatedAt) { + if !p.Field6DeepEqual(ano.EndTime) { + return false + } + if !p.Field7DeepEqual(ano.PlatformType) { + return false + } + if !p.Field8DeepEqual(ano.ExportType) { + return false + } + if !p.Field9DeepEqual(ano.FieldMappings) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -11719,35 +11788,55 @@ func (p *ListAnnotationsRequest) DeepEqual(ano *ListAnnotationsRequest) bool { return true } -func (p *ListAnnotationsRequest) Field1DeepEqual(src int64) bool { +func (p *ExportTracesToDatasetRequest) Field1DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *ListAnnotationsRequest) Field2DeepEqual(src string) bool { +func (p *ExportTracesToDatasetRequest) Field2DeepEqual(src []*SpanID) bool { - if strings.Compare(p.SpanID, src) != 0 { + if len(p.SpanIds) != len(src) { return false } + for i, v := range p.SpanIds { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -func (p *ListAnnotationsRequest) Field3DeepEqual(src string) bool { +func (p *ExportTracesToDatasetRequest) Field3DeepEqual(src dataset.DatasetCategory) bool { - if strings.Compare(p.TraceID, src) != 0 { + if p.Category != src { return false } return true } -func (p *ListAnnotationsRequest) Field4DeepEqual(src int64) bool { +func (p *ExportTracesToDatasetRequest) Field4DeepEqual(src *DatasetConfig) bool { + + if !p.Config.DeepEqual(src) { + return false + } + return true +} +func (p *ExportTracesToDatasetRequest) Field5DeepEqual(src int64) bool { if p.StartTime != src { return false } return true } -func (p *ListAnnotationsRequest) Field5DeepEqual(src *common.PlatformType) bool { +func (p *ExportTracesToDatasetRequest) Field6DeepEqual(src int64) bool { + + if p.EndTime != src { + return false + } + return true +} +func (p *ExportTracesToDatasetRequest) Field7DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -11759,19 +11848,27 @@ func (p *ListAnnotationsRequest) Field5DeepEqual(src *common.PlatformType) bool } return true } -func (p *ListAnnotationsRequest) Field6DeepEqual(src *bool) bool { +func (p *ExportTracesToDatasetRequest) Field8DeepEqual(src dataset0.ExportType) bool { - if p.DescByUpdatedAt == src { - return true - } else if p.DescByUpdatedAt == nil || src == nil { + if strings.Compare(p.ExportType, src) != 0 { return false } - if *p.DescByUpdatedAt != *src { + return true +} +func (p *ExportTracesToDatasetRequest) Field9DeepEqual(src []*dataset0.FieldMapping) bool { + + if len(p.FieldMappings) != len(src) { return false } + for i, v := range p.FieldMappings { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -func (p *ListAnnotationsRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ExportTracesToDatasetRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -11779,56 +11876,48 @@ func (p *ListAnnotationsRequest) Field255DeepEqual(src *base.Base) bool { return true } -type ListAnnotationsResponse struct { - Annotations []*annotation.Annotation `thrift:"annotations,1,required" frugal:"1,required,list" form:"annotations,required" json:"annotations,required" query:"annotations,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type SpanID struct { + TraceID string `thrift:"trace_id,1,required" frugal:"1,required,string" form:"trace_id,required" json:"trace_id,required" query:"trace_id,required"` + SpanID string `thrift:"span_id,2,required" frugal:"2,required,string" form:"span_id,required" json:"span_id,required" query:"span_id,required"` } -func NewListAnnotationsResponse() *ListAnnotationsResponse { - return &ListAnnotationsResponse{} +func NewSpanID() *SpanID { + return &SpanID{} } -func (p *ListAnnotationsResponse) InitDefault() { +func (p *SpanID) InitDefault() { } -func (p *ListAnnotationsResponse) GetAnnotations() (v []*annotation.Annotation) { +func (p *SpanID) GetTraceID() (v string) { if p != nil { - return p.Annotations + return p.TraceID } return } -var ListAnnotationsResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ListAnnotationsResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return ListAnnotationsResponse_BaseResp_DEFAULT +func (p *SpanID) GetSpanID() (v string) { + if p != nil { + return p.SpanID } - return p.BaseResp -} -func (p *ListAnnotationsResponse) SetAnnotations(val []*annotation.Annotation) { - p.Annotations = val + return } -func (p *ListAnnotationsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *SpanID) SetTraceID(val string) { + p.TraceID = val } - -var fieldIDToName_ListAnnotationsResponse = map[int16]string{ - 1: "annotations", - 255: "BaseResp", +func (p *SpanID) SetSpanID(val string) { + p.SpanID = val } -func (p *ListAnnotationsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +var fieldIDToName_SpanID = map[int16]string{ + 1: "trace_id", + 2: "span_id", } -func (p *ListAnnotationsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *SpanID) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetAnnotations bool = false + var issetTraceID bool = false + var issetSpanID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -11845,19 +11934,20 @@ func (p *ListAnnotationsResponse) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetAnnotations = true + issetTraceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { + case 2: + if fieldTypeId == thrift.STRING { + if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetSpanID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -11874,17 +11964,22 @@ func (p *ListAnnotationsResponse) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetAnnotations { + if !issetTraceID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetSpanID { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SpanID[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -11893,44 +11988,35 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationsResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SpanID[fieldId])) } -func (p *ListAnnotationsResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*annotation.Annotation, 0, size) - values := make([]annotation.Annotation, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } +func (p *SpanID) ReadField1(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v } - p.Annotations = _field + p.TraceID = _field return nil } -func (p *ListAnnotationsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { +func (p *SpanID) ReadField2(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v } - p.BaseResp = _field + p.SpanID = _field return nil } -func (p *ListAnnotationsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *SpanID) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListAnnotationsResponse"); err != nil { + if err = oprot.WriteStructBegin("SpanID"); err != nil { goto WriteStructBeginError } if p != nil { @@ -11938,8 +12024,8 @@ func (p *ListAnnotationsResponse) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 + if err = p.writeField2(oprot); err != nil { + fieldId = 2 goto WriteFieldError } } @@ -11960,19 +12046,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListAnnotationsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotations", thrift.LIST, 1); err != nil { +func (p *SpanID) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Annotations)); err != nil { - return err - } - for _, v := range p.Annotations { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteString(p.TraceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -11984,249 +12062,157 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListAnnotationsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *SpanID) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.SpanID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListAnnotationsResponse) String() string { +func (p *SpanID) String() string { if p == nil { return "" } - return fmt.Sprintf("ListAnnotationsResponse(%+v)", *p) + return fmt.Sprintf("SpanID(%+v)", *p) } -func (p *ListAnnotationsResponse) DeepEqual(ano *ListAnnotationsResponse) bool { +func (p *SpanID) DeepEqual(ano *SpanID) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Annotations) { + if !p.Field1DeepEqual(ano.TraceID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field2DeepEqual(ano.SpanID) { return false } return true } -func (p *ListAnnotationsResponse) Field1DeepEqual(src []*annotation.Annotation) bool { +func (p *SpanID) Field1DeepEqual(src string) bool { - if len(p.Annotations) != len(src) { + if strings.Compare(p.TraceID, src) != 0 { return false } - for i, v := range p.Annotations { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *ListAnnotationsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *SpanID) Field2DeepEqual(src string) bool { - if !p.BaseResp.DeepEqual(src) { + if strings.Compare(p.SpanID, src) != 0 { return false } return true } -type ExportTracesToDatasetRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - SpanIds []*SpanID `thrift:"span_ids,2,required" frugal:"2,required,list" form:"span_ids,required" json:"span_ids,required"` - Category dataset.DatasetCategory `thrift:"category,3,required" frugal:"3,required,DatasetCategory" form:"category,required" json:"category,required"` - Config *DatasetConfig `thrift:"config,4,required" frugal:"4,required,DatasetConfig" form:"config,required" json:"config,required"` - StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" form:"start_time,required" ` - EndTime int64 `thrift:"end_time,6,required" frugal:"6,required,i64" json:"end_time" form:"end_time,required" ` - PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" form:"platform_type" json:"platform_type,omitempty"` - // 导入方式,不填默认为追加 - ExportType dataset0.ExportType `thrift:"export_type,8,required" frugal:"8,required,string" form:"export_type,required" json:"export_type,required"` - FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,9,optional" frugal:"9,optional,list" form:"field_mappings" json:"field_mappings,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` -} - -func NewExportTracesToDatasetRequest() *ExportTracesToDatasetRequest { - return &ExportTracesToDatasetRequest{} -} - -func (p *ExportTracesToDatasetRequest) InitDefault() { +type DatasetConfig struct { + // 是否是新增数据集 + IsNewDataset bool `thrift:"is_new_dataset,1,required" frugal:"1,required,bool" form:"is_new_dataset,required" json:"is_new_dataset,required" query:"is_new_dataset,required"` + // 数据集id,新增数据集时可为空 + DatasetID *int64 `thrift:"dataset_id,2,optional" frugal:"2,optional,i64" json:"dataset_id" form:"dataset_id" query:"dataset_id"` + // 数据集名称,选择已有数据集时可为空 + DatasetName *string `thrift:"dataset_name,3,optional" frugal:"3,optional,string" form:"dataset_name" json:"dataset_name,omitempty" query:"dataset_name"` + // 数据集列数据schema + DatasetSchema *dataset0.DatasetSchema `thrift:"dataset_schema,4,optional" frugal:"4,optional,dataset.DatasetSchema" form:"dataset_schema" json:"dataset_schema,omitempty" query:"dataset_schema"` } -func (p *ExportTracesToDatasetRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func NewDatasetConfig() *DatasetConfig { + return &DatasetConfig{} } -func (p *ExportTracesToDatasetRequest) GetSpanIds() (v []*SpanID) { - if p != nil { - return p.SpanIds - } - return +func (p *DatasetConfig) InitDefault() { } -func (p *ExportTracesToDatasetRequest) GetCategory() (v dataset.DatasetCategory) { +func (p *DatasetConfig) GetIsNewDataset() (v bool) { if p != nil { - return p.Category + return p.IsNewDataset } return } -var ExportTracesToDatasetRequest_Config_DEFAULT *DatasetConfig +var DatasetConfig_DatasetID_DEFAULT int64 -func (p *ExportTracesToDatasetRequest) GetConfig() (v *DatasetConfig) { +func (p *DatasetConfig) GetDatasetID() (v int64) { if p == nil { return } - if !p.IsSetConfig() { - return ExportTracesToDatasetRequest_Config_DEFAULT - } - return p.Config -} - -func (p *ExportTracesToDatasetRequest) GetStartTime() (v int64) { - if p != nil { - return p.StartTime - } - return -} - -func (p *ExportTracesToDatasetRequest) GetEndTime() (v int64) { - if p != nil { - return p.EndTime + if !p.IsSetDatasetID() { + return DatasetConfig_DatasetID_DEFAULT } - return + return *p.DatasetID } -var ExportTracesToDatasetRequest_PlatformType_DEFAULT common.PlatformType +var DatasetConfig_DatasetName_DEFAULT string -func (p *ExportTracesToDatasetRequest) GetPlatformType() (v common.PlatformType) { +func (p *DatasetConfig) GetDatasetName() (v string) { if p == nil { return } - if !p.IsSetPlatformType() { - return ExportTracesToDatasetRequest_PlatformType_DEFAULT - } - return *p.PlatformType -} - -func (p *ExportTracesToDatasetRequest) GetExportType() (v dataset0.ExportType) { - if p != nil { - return p.ExportType + if !p.IsSetDatasetName() { + return DatasetConfig_DatasetName_DEFAULT } - return + return *p.DatasetName } -var ExportTracesToDatasetRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping +var DatasetConfig_DatasetSchema_DEFAULT *dataset0.DatasetSchema -func (p *ExportTracesToDatasetRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { +func (p *DatasetConfig) GetDatasetSchema() (v *dataset0.DatasetSchema) { if p == nil { return } - if !p.IsSetFieldMappings() { - return ExportTracesToDatasetRequest_FieldMappings_DEFAULT + if !p.IsSetDatasetSchema() { + return DatasetConfig_DatasetSchema_DEFAULT } - return p.FieldMappings + return p.DatasetSchema } - -var ExportTracesToDatasetRequest_Base_DEFAULT *base.Base - -func (p *ExportTracesToDatasetRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return ExportTracesToDatasetRequest_Base_DEFAULT - } - return p.Base -} -func (p *ExportTracesToDatasetRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ExportTracesToDatasetRequest) SetSpanIds(val []*SpanID) { - p.SpanIds = val -} -func (p *ExportTracesToDatasetRequest) SetCategory(val dataset.DatasetCategory) { - p.Category = val -} -func (p *ExportTracesToDatasetRequest) SetConfig(val *DatasetConfig) { - p.Config = val -} -func (p *ExportTracesToDatasetRequest) SetStartTime(val int64) { - p.StartTime = val -} -func (p *ExportTracesToDatasetRequest) SetEndTime(val int64) { - p.EndTime = val -} -func (p *ExportTracesToDatasetRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val -} -func (p *ExportTracesToDatasetRequest) SetExportType(val dataset0.ExportType) { - p.ExportType = val +func (p *DatasetConfig) SetIsNewDataset(val bool) { + p.IsNewDataset = val } -func (p *ExportTracesToDatasetRequest) SetFieldMappings(val []*dataset0.FieldMapping) { - p.FieldMappings = val +func (p *DatasetConfig) SetDatasetID(val *int64) { + p.DatasetID = val } -func (p *ExportTracesToDatasetRequest) SetBase(val *base.Base) { - p.Base = val +func (p *DatasetConfig) SetDatasetName(val *string) { + p.DatasetName = val } - -var fieldIDToName_ExportTracesToDatasetRequest = map[int16]string{ - 1: "workspace_id", - 2: "span_ids", - 3: "category", - 4: "config", - 5: "start_time", - 6: "end_time", - 7: "platform_type", - 8: "export_type", - 9: "field_mappings", - 255: "Base", +func (p *DatasetConfig) SetDatasetSchema(val *dataset0.DatasetSchema) { + p.DatasetSchema = val } -func (p *ExportTracesToDatasetRequest) IsSetConfig() bool { - return p.Config != nil +var fieldIDToName_DatasetConfig = map[int16]string{ + 1: "is_new_dataset", + 2: "dataset_id", + 3: "dataset_name", + 4: "dataset_schema", } -func (p *ExportTracesToDatasetRequest) IsSetPlatformType() bool { - return p.PlatformType != nil +func (p *DatasetConfig) IsSetDatasetID() bool { + return p.DatasetID != nil } -func (p *ExportTracesToDatasetRequest) IsSetFieldMappings() bool { - return p.FieldMappings != nil +func (p *DatasetConfig) IsSetDatasetName() bool { + return p.DatasetName != nil } -func (p *ExportTracesToDatasetRequest) IsSetBase() bool { - return p.Base != nil +func (p *DatasetConfig) IsSetDatasetSchema() bool { + return p.DatasetSchema != nil } -func (p *ExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *DatasetConfig) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetWorkspaceID bool = false - var issetSpanIds bool = false - var issetCategory bool = false - var issetConfig bool = false - var issetStartTime bool = false - var issetEndTime bool = false - var issetExportType bool = false + var issetIsNewDataset bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -12243,29 +12229,27 @@ func (p *ExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.BOOL { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetWorkspaceID = true + issetIsNewDataset = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.I64 { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetSpanIds = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.STRING { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } - issetCategory = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -12274,58 +12258,6 @@ func (p *ExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } - issetConfig = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.I64 { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - issetStartTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.I64 { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - issetEndTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: - if fieldTypeId == thrift.STRING { - if err = p.ReadField7(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 8: - if fieldTypeId == thrift.STRING { - if err = p.ReadField8(iprot); err != nil { - goto ReadFieldError - } - issetExportType = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 9: - if fieldTypeId == thrift.LIST { - if err = p.ReadField9(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -12342,47 +12274,17 @@ func (p *ExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetWorkspaceID { + if !issetIsNewDataset { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetSpanIds { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetCategory { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetConfig { - fieldId = 4 - goto RequiredFieldNotSetError - } - - if !issetStartTime { - fieldId = 5 - goto RequiredFieldNotSetError - } - - if !issetEndTime { - fieldId = 6 - goto RequiredFieldNotSetError - } - - if !issetExportType { - fieldId = 8 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExportTracesToDatasetRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DatasetConfig[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -12391,142 +12293,55 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExportTracesToDatasetRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DatasetConfig[fieldId])) } -func (p *ExportTracesToDatasetRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *DatasetConfig) ReadField1(iprot thrift.TProtocol) error { - var _field int64 - if v, err := iprot.ReadI64(); err != nil { + var _field bool + if v, err := iprot.ReadBool(); err != nil { return err } else { _field = v } - p.WorkspaceID = _field + p.IsNewDataset = _field return nil } -func (p *ExportTracesToDatasetRequest) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*SpanID, 0, size) - values := make([]SpanID, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } +func (p *DatasetConfig) ReadField2(iprot thrift.TProtocol) error { - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { return err + } else { + _field = &v } - p.SpanIds = _field + p.DatasetID = _field return nil } -func (p *ExportTracesToDatasetRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *DatasetConfig) ReadField3(iprot thrift.TProtocol) error { - var _field dataset.DatasetCategory - if v, err := iprot.ReadI32(); err != nil { + var _field *string + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = dataset.DatasetCategory(v) + _field = &v } - p.Category = _field + p.DatasetName = _field return nil } -func (p *ExportTracesToDatasetRequest) ReadField4(iprot thrift.TProtocol) error { - _field := NewDatasetConfig() +func (p *DatasetConfig) ReadField4(iprot thrift.TProtocol) error { + _field := dataset0.NewDatasetSchema() if err := _field.Read(iprot); err != nil { return err } - p.Config = _field - return nil -} -func (p *ExportTracesToDatasetRequest) ReadField5(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.StartTime = _field + p.DatasetSchema = _field return nil } -func (p *ExportTracesToDatasetRequest) ReadField6(iprot thrift.TProtocol) error { - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.EndTime = _field - return nil -} -func (p *ExportTracesToDatasetRequest) ReadField7(iprot thrift.TProtocol) error { - - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field - return nil -} -func (p *ExportTracesToDatasetRequest) ReadField8(iprot thrift.TProtocol) error { - - var _field dataset0.ExportType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.ExportType = _field - return nil -} -func (p *ExportTracesToDatasetRequest) ReadField9(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*dataset0.FieldMapping, 0, size) - values := make([]dataset0.FieldMapping, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.FieldMappings = _field - return nil -} -func (p *ExportTracesToDatasetRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() - if err := _field.Read(iprot); err != nil { - return err - } - p.Base = _field - return nil -} - -func (p *ExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ExportTracesToDatasetRequest"); err != nil { - goto WriteStructBeginError +func (p *DatasetConfig) Write(oprot thrift.TProtocol) (err error) { + var fieldId int16 + if err = oprot.WriteStructBegin("DatasetConfig"); err != nil { + goto WriteStructBeginError } if p != nil { if err = p.writeField1(oprot); err != nil { @@ -12545,30 +12360,6 @@ func (p *ExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err error) fieldId = 4 goto WriteFieldError } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } - if err = p.writeField8(oprot); err != nil { - fieldId = 8 - goto WriteFieldError - } - if err = p.writeField9(oprot); err != nil { - fieldId = 9 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -12587,11 +12378,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExportTracesToDatasetRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { +func (p *DatasetConfig) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("is_new_dataset", thrift.BOOL, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { + if err := oprot.WriteBool(p.IsNewDataset); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -12603,100 +12394,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExportTracesToDatasetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanIds)); err != nil { - return err - } - for _, v := range p.SpanIds { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("category", thrift.I32, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(int32(p.Category)); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("config", thrift.STRUCT, 4); err != nil { - goto WriteFieldBeginError - } - if err := p.Config.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField5(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.StartTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField6(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.EndTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { +func (p *DatasetConfig) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetDatasetID() { + if err = oprot.WriteFieldBegin("dataset_id", thrift.I64, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.PlatformType); err != nil { + if err := oprot.WriteI64(*p.DatasetID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -12705,40 +12408,16 @@ func (p *ExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) -} -func (p *ExportTracesToDatasetRequest) writeField8(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("export_type", thrift.STRING, 8); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.ExportType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ExportTracesToDatasetRequest) writeField9(oprot thrift.TProtocol) (err error) { - if p.IsSetFieldMappings() { - if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 9); err != nil { +func (p *DatasetConfig) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetDatasetName() { + if err = oprot.WriteFieldBegin("dataset_name", thrift.STRING, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { - return err - } - for _, v := range p.FieldMappings { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteString(*p.DatasetName); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -12747,16 +12426,16 @@ func (p *ExportTracesToDatasetRequest) writeField9(oprot thrift.TProtocol) (err } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *ExportTracesToDatasetRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { +func (p *DatasetConfig) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetDatasetSchema() { + if err = oprot.WriteFieldBegin("dataset_schema", thrift.STRUCT, 4); err != nil { goto WriteFieldBeginError } - if err := p.Base.Write(oprot); err != nil { + if err := p.DatasetSchema.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -12765,188 +12444,248 @@ func (p *ExportTracesToDatasetRequest) writeField255(oprot thrift.TProtocol) (er } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *ExportTracesToDatasetRequest) String() string { +func (p *DatasetConfig) String() string { if p == nil { return "" } - return fmt.Sprintf("ExportTracesToDatasetRequest(%+v)", *p) + return fmt.Sprintf("DatasetConfig(%+v)", *p) } -func (p *ExportTracesToDatasetRequest) DeepEqual(ano *ExportTracesToDatasetRequest) bool { +func (p *DatasetConfig) DeepEqual(ano *DatasetConfig) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.SpanIds) { + if !p.Field1DeepEqual(ano.IsNewDataset) { return false } - if !p.Field3DeepEqual(ano.Category) { + if !p.Field2DeepEqual(ano.DatasetID) { return false } - if !p.Field4DeepEqual(ano.Config) { + if !p.Field3DeepEqual(ano.DatasetName) { return false } - if !p.Field5DeepEqual(ano.StartTime) { + if !p.Field4DeepEqual(ano.DatasetSchema) { return false } - if !p.Field6DeepEqual(ano.EndTime) { - return false - } - if !p.Field7DeepEqual(ano.PlatformType) { - return false - } - if !p.Field8DeepEqual(ano.ExportType) { - return false - } - if !p.Field9DeepEqual(ano.FieldMappings) { - return false - } - if !p.Field255DeepEqual(ano.Base) { + return true +} + +func (p *DatasetConfig) Field1DeepEqual(src bool) bool { + + if p.IsNewDataset != src { return false } return true } +func (p *DatasetConfig) Field2DeepEqual(src *int64) bool { -func (p *ExportTracesToDatasetRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { + if p.DatasetID == src { + return true + } else if p.DatasetID == nil || src == nil { + return false + } + if *p.DatasetID != *src { return false } return true } -func (p *ExportTracesToDatasetRequest) Field2DeepEqual(src []*SpanID) bool { +func (p *DatasetConfig) Field3DeepEqual(src *string) bool { - if len(p.SpanIds) != len(src) { + if p.DatasetName == src { + return true + } else if p.DatasetName == nil || src == nil { return false } - for i, v := range p.SpanIds { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } + if strings.Compare(*p.DatasetName, *src) != 0 { + return false } return true } -func (p *ExportTracesToDatasetRequest) Field3DeepEqual(src dataset.DatasetCategory) bool { +func (p *DatasetConfig) Field4DeepEqual(src *dataset0.DatasetSchema) bool { - if p.Category != src { + if !p.DatasetSchema.DeepEqual(src) { return false } return true } -func (p *ExportTracesToDatasetRequest) Field4DeepEqual(src *DatasetConfig) bool { - if !p.Config.DeepEqual(src) { - return false +type ExportTracesToDatasetResponse struct { + // 成功导入的数量 + SuccessCount *int32 `thrift:"success_count,1,optional" frugal:"1,optional,i32" form:"success_count" json:"success_count,omitempty" query:"success_count"` + // 错误信息 + Errors []*dataset.ItemErrorGroup `thrift:"errors,2,optional" frugal:"2,optional,list" form:"errors" json:"errors,omitempty" query:"errors"` + // 数据集id + DatasetID *int64 `thrift:"dataset_id,3,optional" frugal:"3,optional,i64" json:"dataset_id" form:"dataset_id" query:"dataset_id"` + // 数据集名称 + DatasetName *string `thrift:"dataset_name,4,optional" frugal:"4,optional,string" form:"dataset_name" json:"dataset_name,omitempty" query:"dataset_name"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"-" json:"-" query:"-"` + // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg + Code *int32 `thrift:"Code,256,optional" frugal:"256,optional,i32" form:"Code" json:"Code,omitempty" query:"Code"` + // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg + Msg *string `thrift:"Msg,257,optional" frugal:"257,optional,string" form:"Msg" json:"Msg,omitempty" query:"Msg"` +} + +func NewExportTracesToDatasetResponse() *ExportTracesToDatasetResponse { + return &ExportTracesToDatasetResponse{} +} + +func (p *ExportTracesToDatasetResponse) InitDefault() { +} + +var ExportTracesToDatasetResponse_SuccessCount_DEFAULT int32 + +func (p *ExportTracesToDatasetResponse) GetSuccessCount() (v int32) { + if p == nil { + return } - return true + if !p.IsSetSuccessCount() { + return ExportTracesToDatasetResponse_SuccessCount_DEFAULT + } + return *p.SuccessCount } -func (p *ExportTracesToDatasetRequest) Field5DeepEqual(src int64) bool { - if p.StartTime != src { - return false +var ExportTracesToDatasetResponse_Errors_DEFAULT []*dataset.ItemErrorGroup + +func (p *ExportTracesToDatasetResponse) GetErrors() (v []*dataset.ItemErrorGroup) { + if p == nil { + return } - return true + if !p.IsSetErrors() { + return ExportTracesToDatasetResponse_Errors_DEFAULT + } + return p.Errors } -func (p *ExportTracesToDatasetRequest) Field6DeepEqual(src int64) bool { - if p.EndTime != src { - return false +var ExportTracesToDatasetResponse_DatasetID_DEFAULT int64 + +func (p *ExportTracesToDatasetResponse) GetDatasetID() (v int64) { + if p == nil { + return } - return true + if !p.IsSetDatasetID() { + return ExportTracesToDatasetResponse_DatasetID_DEFAULT + } + return *p.DatasetID } -func (p *ExportTracesToDatasetRequest) Field7DeepEqual(src *common.PlatformType) bool { - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false +var ExportTracesToDatasetResponse_DatasetName_DEFAULT string + +func (p *ExportTracesToDatasetResponse) GetDatasetName() (v string) { + if p == nil { + return } - if strings.Compare(*p.PlatformType, *src) != 0 { - return false + if !p.IsSetDatasetName() { + return ExportTracesToDatasetResponse_DatasetName_DEFAULT } - return true + return *p.DatasetName } -func (p *ExportTracesToDatasetRequest) Field8DeepEqual(src dataset0.ExportType) bool { - if strings.Compare(p.ExportType, src) != 0 { - return false +var ExportTracesToDatasetResponse_BaseResp_DEFAULT *base.BaseResp + +func (p *ExportTracesToDatasetResponse) GetBaseResp() (v *base.BaseResp) { + if p == nil { + return } - return true + if !p.IsSetBaseResp() { + return ExportTracesToDatasetResponse_BaseResp_DEFAULT + } + return p.BaseResp } -func (p *ExportTracesToDatasetRequest) Field9DeepEqual(src []*dataset0.FieldMapping) bool { - if len(p.FieldMappings) != len(src) { - return false +var ExportTracesToDatasetResponse_Code_DEFAULT int32 + +func (p *ExportTracesToDatasetResponse) GetCode() (v int32) { + if p == nil { + return } - for i, v := range p.FieldMappings { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } + if !p.IsSetCode() { + return ExportTracesToDatasetResponse_Code_DEFAULT } - return true + return *p.Code } -func (p *ExportTracesToDatasetRequest) Field255DeepEqual(src *base.Base) bool { - if !p.Base.DeepEqual(src) { - return false +var ExportTracesToDatasetResponse_Msg_DEFAULT string + +func (p *ExportTracesToDatasetResponse) GetMsg() (v string) { + if p == nil { + return } - return true + if !p.IsSetMsg() { + return ExportTracesToDatasetResponse_Msg_DEFAULT + } + return *p.Msg +} +func (p *ExportTracesToDatasetResponse) SetSuccessCount(val *int32) { + p.SuccessCount = val +} +func (p *ExportTracesToDatasetResponse) SetErrors(val []*dataset.ItemErrorGroup) { + p.Errors = val +} +func (p *ExportTracesToDatasetResponse) SetDatasetID(val *int64) { + p.DatasetID = val +} +func (p *ExportTracesToDatasetResponse) SetDatasetName(val *string) { + p.DatasetName = val +} +func (p *ExportTracesToDatasetResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val +} +func (p *ExportTracesToDatasetResponse) SetCode(val *int32) { + p.Code = val +} +func (p *ExportTracesToDatasetResponse) SetMsg(val *string) { + p.Msg = val } -type SpanID struct { - TraceID string `thrift:"trace_id,1,required" frugal:"1,required,string" form:"trace_id,required" json:"trace_id,required" query:"trace_id,required"` - SpanID string `thrift:"span_id,2,required" frugal:"2,required,string" form:"span_id,required" json:"span_id,required" query:"span_id,required"` +var fieldIDToName_ExportTracesToDatasetResponse = map[int16]string{ + 1: "success_count", + 2: "errors", + 3: "dataset_id", + 4: "dataset_name", + 255: "BaseResp", + 256: "Code", + 257: "Msg", } -func NewSpanID() *SpanID { - return &SpanID{} +func (p *ExportTracesToDatasetResponse) IsSetSuccessCount() bool { + return p.SuccessCount != nil } -func (p *SpanID) InitDefault() { +func (p *ExportTracesToDatasetResponse) IsSetErrors() bool { + return p.Errors != nil } -func (p *SpanID) GetTraceID() (v string) { - if p != nil { - return p.TraceID - } - return +func (p *ExportTracesToDatasetResponse) IsSetDatasetID() bool { + return p.DatasetID != nil } -func (p *SpanID) GetSpanID() (v string) { - if p != nil { - return p.SpanID - } - return +func (p *ExportTracesToDatasetResponse) IsSetDatasetName() bool { + return p.DatasetName != nil } -func (p *SpanID) SetTraceID(val string) { - p.TraceID = val + +func (p *ExportTracesToDatasetResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -func (p *SpanID) SetSpanID(val string) { - p.SpanID = val + +func (p *ExportTracesToDatasetResponse) IsSetCode() bool { + return p.Code != nil } -var fieldIDToName_SpanID = map[int16]string{ - 1: "trace_id", - 2: "span_id", +func (p *ExportTracesToDatasetResponse) IsSetMsg() bool { + return p.Msg != nil } -func (p *SpanID) Read(iprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetTraceID bool = false - var issetSpanID bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -12963,52 +12702,81 @@ func (p *SpanID) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I32 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetTraceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.LIST { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetSpanID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - default: - if err = iprot.Skip(fieldTypeId); err != nil { + case 3: + if fieldTypeId == thrift.I64 { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetTraceID { - fieldId = 1 - goto RequiredFieldNotSetError + case 4: + if fieldTypeId == thrift.STRING { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 256: + if fieldTypeId == thrift.I32 { + if err = p.ReadField256(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 257: + if fieldTypeId == thrift.STRING { + if err = p.ReadField257(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + default: + if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + } + if err = iprot.ReadFieldEnd(); err != nil { + goto ReadFieldEndError + } } - - if !issetSpanID { - fieldId = 2 - goto RequiredFieldNotSetError + if err = iprot.ReadStructEnd(); err != nil { + goto ReadStructEndError } + return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SpanID[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExportTracesToDatasetResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -13016,36 +12784,98 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SpanID[fieldId])) } -func (p *SpanID) ReadField1(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetResponse) ReadField1(iprot thrift.TProtocol) error { - var _field string + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.SuccessCount = _field + return nil +} +func (p *ExportTracesToDatasetResponse) ReadField2(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*dataset.ItemErrorGroup, 0, size) + values := make([]dataset.ItemErrorGroup, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.Errors = _field + return nil +} +func (p *ExportTracesToDatasetResponse) ReadField3(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.DatasetID = _field + return nil +} +func (p *ExportTracesToDatasetResponse) ReadField4(iprot thrift.TProtocol) error { + + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } - p.TraceID = _field + p.DatasetName = _field return nil } -func (p *SpanID) ReadField2(iprot thrift.TProtocol) error { +func (p *ExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() + if err := _field.Read(iprot); err != nil { + return err + } + p.BaseResp = _field + return nil +} +func (p *ExportTracesToDatasetResponse) ReadField256(iprot thrift.TProtocol) error { - var _field string + var _field *int32 + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = &v + } + p.Code = _field + return nil +} +func (p *ExportTracesToDatasetResponse) ReadField257(iprot thrift.TProtocol) error { + + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { - _field = v + _field = &v } - p.SpanID = _field + p.Msg = _field return nil } -func (p *SpanID) Write(oprot thrift.TProtocol) (err error) { +func (p *ExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SpanID"); err != nil { + if err = oprot.WriteStructBegin("ExportTracesToDatasetResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -13057,6 +12887,26 @@ func (p *SpanID) Write(oprot thrift.TProtocol) (err error) { fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } + if err = p.writeField256(oprot); err != nil { + fieldId = 256 + goto WriteFieldError + } + if err = p.writeField257(oprot); err != nil { + fieldId = 257 + goto WriteFieldError + } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -13075,15 +12925,17 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SpanID) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.TraceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ExportTracesToDatasetResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetSuccessCount() { + if err = oprot.WriteFieldBegin("success_count", thrift.I32, 1); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.SuccessCount); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -13091,15 +12943,25 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *SpanID) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.SpanID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError +func (p *ExportTracesToDatasetResponse) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetErrors() { + if err = oprot.WriteFieldBegin("errors", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Errors)); err != nil { + return err + } + for _, v := range p.Errors { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } return nil WriteFieldBeginError: @@ -13107,149 +12969,404 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } - -func (p *SpanID) String() string { - if p == nil { - return "" +func (p *ExportTracesToDatasetResponse) writeField3(oprot thrift.TProtocol) (err error) { + if p.IsSetDatasetID() { + if err = oprot.WriteFieldBegin("dataset_id", thrift.I64, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.DatasetID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - return fmt.Sprintf("SpanID(%+v)", *p) - + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } - -func (p *SpanID) DeepEqual(ano *SpanID) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.TraceID) { - return false - } - if !p.Field2DeepEqual(ano.SpanID) { - return false +func (p *ExportTracesToDatasetResponse) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetDatasetName() { + if err = oprot.WriteFieldBegin("dataset_name", thrift.STRING, 4); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.DatasetName); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } } - return true + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) +} +func (p *ExportTracesToDatasetResponse) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseResp() { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.BaseResp.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) +} +func (p *ExportTracesToDatasetResponse) writeField256(oprot thrift.TProtocol) (err error) { + if p.IsSetCode() { + if err = oprot.WriteFieldBegin("Code", thrift.I32, 256); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(*p.Code); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 256 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 256 end error: ", p), err) +} +func (p *ExportTracesToDatasetResponse) writeField257(oprot thrift.TProtocol) (err error) { + if p.IsSetMsg() { + if err = oprot.WriteFieldBegin("Msg", thrift.STRING, 257); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.Msg); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 257 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 257 end error: ", p), err) } -func (p *SpanID) Field1DeepEqual(src string) bool { - - if strings.Compare(p.TraceID, src) != 0 { - return false +func (p *ExportTracesToDatasetResponse) String() string { + if p == nil { + return "" } - return true + return fmt.Sprintf("ExportTracesToDatasetResponse(%+v)", *p) + } -func (p *SpanID) Field2DeepEqual(src string) bool { - if strings.Compare(p.SpanID, src) != 0 { +func (p *ExportTracesToDatasetResponse) DeepEqual(ano *ExportTracesToDatasetResponse) bool { + if p == ano { + return true + } else if p == nil || ano == nil { + return false + } + if !p.Field1DeepEqual(ano.SuccessCount) { + return false + } + if !p.Field2DeepEqual(ano.Errors) { + return false + } + if !p.Field3DeepEqual(ano.DatasetID) { + return false + } + if !p.Field4DeepEqual(ano.DatasetName) { + return false + } + if !p.Field255DeepEqual(ano.BaseResp) { + return false + } + if !p.Field256DeepEqual(ano.Code) { + return false + } + if !p.Field257DeepEqual(ano.Msg) { return false } return true } -type DatasetConfig struct { - // 是否是新增数据集 - IsNewDataset bool `thrift:"is_new_dataset,1,required" frugal:"1,required,bool" form:"is_new_dataset,required" json:"is_new_dataset,required" query:"is_new_dataset,required"` - // 数据集id,新增数据集时可为空 - DatasetID *int64 `thrift:"dataset_id,2,optional" frugal:"2,optional,i64" json:"dataset_id" form:"dataset_id" query:"dataset_id"` - // 数据集名称,选择已有数据集时可为空 - DatasetName *string `thrift:"dataset_name,3,optional" frugal:"3,optional,string" form:"dataset_name" json:"dataset_name,omitempty" query:"dataset_name"` - // 数据集列数据schema - DatasetSchema *dataset0.DatasetSchema `thrift:"dataset_schema,4,optional" frugal:"4,optional,dataset.DatasetSchema" form:"dataset_schema" json:"dataset_schema,omitempty" query:"dataset_schema"` -} +func (p *ExportTracesToDatasetResponse) Field1DeepEqual(src *int32) bool { -func NewDatasetConfig() *DatasetConfig { - return &DatasetConfig{} + if p.SuccessCount == src { + return true + } else if p.SuccessCount == nil || src == nil { + return false + } + if *p.SuccessCount != *src { + return false + } + return true } +func (p *ExportTracesToDatasetResponse) Field2DeepEqual(src []*dataset.ItemErrorGroup) bool { -func (p *DatasetConfig) InitDefault() { + if len(p.Errors) != len(src) { + return false + } + for i, v := range p.Errors { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true } +func (p *ExportTracesToDatasetResponse) Field3DeepEqual(src *int64) bool { -func (p *DatasetConfig) GetIsNewDataset() (v bool) { - if p != nil { - return p.IsNewDataset + if p.DatasetID == src { + return true + } else if p.DatasetID == nil || src == nil { + return false } - return + if *p.DatasetID != *src { + return false + } + return true } +func (p *ExportTracesToDatasetResponse) Field4DeepEqual(src *string) bool { -var DatasetConfig_DatasetID_DEFAULT int64 - -func (p *DatasetConfig) GetDatasetID() (v int64) { - if p == nil { - return + if p.DatasetName == src { + return true + } else if p.DatasetName == nil || src == nil { + return false } - if !p.IsSetDatasetID() { - return DatasetConfig_DatasetID_DEFAULT + if strings.Compare(*p.DatasetName, *src) != 0 { + return false } - return *p.DatasetID + return true } +func (p *ExportTracesToDatasetResponse) Field255DeepEqual(src *base.BaseResp) bool { -var DatasetConfig_DatasetName_DEFAULT string + if !p.BaseResp.DeepEqual(src) { + return false + } + return true +} +func (p *ExportTracesToDatasetResponse) Field256DeepEqual(src *int32) bool { -func (p *DatasetConfig) GetDatasetName() (v string) { - if p == nil { - return + if p.Code == src { + return true + } else if p.Code == nil || src == nil { + return false } - if !p.IsSetDatasetName() { - return DatasetConfig_DatasetName_DEFAULT + if *p.Code != *src { + return false } - return *p.DatasetName + return true } +func (p *ExportTracesToDatasetResponse) Field257DeepEqual(src *string) bool { -var DatasetConfig_DatasetSchema_DEFAULT *dataset0.DatasetSchema - -func (p *DatasetConfig) GetDatasetSchema() (v *dataset0.DatasetSchema) { - if p == nil { - return + if p.Msg == src { + return true + } else if p.Msg == nil || src == nil { + return false } - if !p.IsSetDatasetSchema() { - return DatasetConfig_DatasetSchema_DEFAULT + if strings.Compare(*p.Msg, *src) != 0 { + return false } - return p.DatasetSchema -} -func (p *DatasetConfig) SetIsNewDataset(val bool) { - p.IsNewDataset = val -} -func (p *DatasetConfig) SetDatasetID(val *int64) { - p.DatasetID = val + return true } -func (p *DatasetConfig) SetDatasetName(val *string) { - p.DatasetName = val + +type PreviewExportTracesToDatasetRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + SpanIds []*SpanID `thrift:"span_ids,2,required" frugal:"2,required,list" form:"span_ids,required" json:"span_ids,required"` + Category dataset.DatasetCategory `thrift:"category,3,required" frugal:"3,required,DatasetCategory" form:"category,required" json:"category,required"` + Config *DatasetConfig `thrift:"config,4,required" frugal:"4,required,DatasetConfig" form:"config,required" json:"config,required"` + StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" form:"start_time,required" ` + EndTime int64 `thrift:"end_time,6,required" frugal:"6,required,i64" json:"end_time" form:"end_time,required" ` + PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" form:"platform_type" json:"platform_type,omitempty"` + // 导入方式,不填默认为追加 + ExportType dataset0.ExportType `thrift:"export_type,8,required" frugal:"8,required,string" form:"export_type,required" json:"export_type,required"` + FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,9,optional" frugal:"9,optional,list" form:"field_mappings" json:"field_mappings,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` } -func (p *DatasetConfig) SetDatasetSchema(val *dataset0.DatasetSchema) { - p.DatasetSchema = val + +func NewPreviewExportTracesToDatasetRequest() *PreviewExportTracesToDatasetRequest { + return &PreviewExportTracesToDatasetRequest{} } -var fieldIDToName_DatasetConfig = map[int16]string{ - 1: "is_new_dataset", - 2: "dataset_id", - 3: "dataset_name", - 4: "dataset_schema", +func (p *PreviewExportTracesToDatasetRequest) InitDefault() { } -func (p *DatasetConfig) IsSetDatasetID() bool { - return p.DatasetID != nil +func (p *PreviewExportTracesToDatasetRequest) GetWorkspaceID() (v int64) { + if p != nil { + return p.WorkspaceID + } + return } -func (p *DatasetConfig) IsSetDatasetName() bool { - return p.DatasetName != nil +func (p *PreviewExportTracesToDatasetRequest) GetSpanIds() (v []*SpanID) { + if p != nil { + return p.SpanIds + } + return } -func (p *DatasetConfig) IsSetDatasetSchema() bool { - return p.DatasetSchema != nil +func (p *PreviewExportTracesToDatasetRequest) GetCategory() (v dataset.DatasetCategory) { + if p != nil { + return p.Category + } + return } -func (p *DatasetConfig) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetIsNewDataset bool = false +var PreviewExportTracesToDatasetRequest_Config_DEFAULT *DatasetConfig - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *PreviewExportTracesToDatasetRequest) GetConfig() (v *DatasetConfig) { + if p == nil { + return } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { + if !p.IsSetConfig() { + return PreviewExportTracesToDatasetRequest_Config_DEFAULT + } + return p.Config +} + +func (p *PreviewExportTracesToDatasetRequest) GetStartTime() (v int64) { + if p != nil { + return p.StartTime + } + return +} + +func (p *PreviewExportTracesToDatasetRequest) GetEndTime() (v int64) { + if p != nil { + return p.EndTime + } + return +} + +var PreviewExportTracesToDatasetRequest_PlatformType_DEFAULT common.PlatformType + +func (p *PreviewExportTracesToDatasetRequest) GetPlatformType() (v common.PlatformType) { + if p == nil { + return + } + if !p.IsSetPlatformType() { + return PreviewExportTracesToDatasetRequest_PlatformType_DEFAULT + } + return *p.PlatformType +} + +func (p *PreviewExportTracesToDatasetRequest) GetExportType() (v dataset0.ExportType) { + if p != nil { + return p.ExportType + } + return +} + +var PreviewExportTracesToDatasetRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping + +func (p *PreviewExportTracesToDatasetRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { + if p == nil { + return + } + if !p.IsSetFieldMappings() { + return PreviewExportTracesToDatasetRequest_FieldMappings_DEFAULT + } + return p.FieldMappings +} + +var PreviewExportTracesToDatasetRequest_Base_DEFAULT *base.Base + +func (p *PreviewExportTracesToDatasetRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return PreviewExportTracesToDatasetRequest_Base_DEFAULT + } + return p.Base +} +func (p *PreviewExportTracesToDatasetRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *PreviewExportTracesToDatasetRequest) SetSpanIds(val []*SpanID) { + p.SpanIds = val +} +func (p *PreviewExportTracesToDatasetRequest) SetCategory(val dataset.DatasetCategory) { + p.Category = val +} +func (p *PreviewExportTracesToDatasetRequest) SetConfig(val *DatasetConfig) { + p.Config = val +} +func (p *PreviewExportTracesToDatasetRequest) SetStartTime(val int64) { + p.StartTime = val +} +func (p *PreviewExportTracesToDatasetRequest) SetEndTime(val int64) { + p.EndTime = val +} +func (p *PreviewExportTracesToDatasetRequest) SetPlatformType(val *common.PlatformType) { + p.PlatformType = val +} +func (p *PreviewExportTracesToDatasetRequest) SetExportType(val dataset0.ExportType) { + p.ExportType = val +} +func (p *PreviewExportTracesToDatasetRequest) SetFieldMappings(val []*dataset0.FieldMapping) { + p.FieldMappings = val +} +func (p *PreviewExportTracesToDatasetRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_PreviewExportTracesToDatasetRequest = map[int16]string{ + 1: "workspace_id", + 2: "span_ids", + 3: "category", + 4: "config", + 5: "start_time", + 6: "end_time", + 7: "platform_type", + 8: "export_type", + 9: "field_mappings", + 255: "Base", +} + +func (p *PreviewExportTracesToDatasetRequest) IsSetConfig() bool { + return p.Config != nil +} + +func (p *PreviewExportTracesToDatasetRequest) IsSetPlatformType() bool { + return p.PlatformType != nil +} + +func (p *PreviewExportTracesToDatasetRequest) IsSetFieldMappings() bool { + return p.FieldMappings != nil +} + +func (p *PreviewExportTracesToDatasetRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *PreviewExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetSpanIds bool = false + var issetCategory bool = false + var issetConfig bool = false + var issetStartTime bool = false + var issetEndTime bool = false + var issetExportType bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError + } + + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { goto ReadFieldBeginError } if fieldTypeId == thrift.STOP { @@ -13258,27 +13375,29 @@ func (p *DatasetConfig) Read(iprot thrift.TProtocol) (err error) { switch fieldId { case 1: - if fieldTypeId == thrift.BOOL { + if fieldTypeId == thrift.I64 { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetIsNewDataset = true + issetWorkspaceID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 2: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.LIST { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetSpanIds = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.STRING { + if fieldTypeId == thrift.I32 { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } + issetCategory = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -13287,6 +13406,58 @@ func (p *DatasetConfig) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } + issetConfig = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + issetStartTime = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.I64 { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + issetEndTime = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.STRING { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 8: + if fieldTypeId == thrift.STRING { + if err = p.ReadField8(iprot); err != nil { + goto ReadFieldError + } + issetExportType = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 9: + if fieldTypeId == thrift.LIST { + if err = p.ReadField9(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 255: + if fieldTypeId == thrift.STRUCT { + if err = p.ReadField255(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -13303,17 +13474,47 @@ func (p *DatasetConfig) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetIsNewDataset { + if !issetWorkspaceID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetSpanIds { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetCategory { + fieldId = 3 + goto RequiredFieldNotSetError + } + + if !issetConfig { + fieldId = 4 + goto RequiredFieldNotSetError + } + + if !issetStartTime { + fieldId = 5 + goto RequiredFieldNotSetError + } + + if !issetEndTime { + fieldId = 6 + goto RequiredFieldNotSetError + } + + if !issetExportType { + fieldId = 8 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_DatasetConfig[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_PreviewExportTracesToDatasetRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -13322,54 +13523,141 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_DatasetConfig[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_PreviewExportTracesToDatasetRequest[fieldId])) } -func (p *DatasetConfig) ReadField1(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetRequest) ReadField1(iprot thrift.TProtocol) error { - var _field bool - if v, err := iprot.ReadBool(); err != nil { + var _field int64 + if v, err := iprot.ReadI64(); err != nil { return err } else { _field = v } - p.IsNewDataset = _field + p.WorkspaceID = _field return nil } -func (p *DatasetConfig) ReadField2(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *PreviewExportTracesToDatasetRequest) ReadField2(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { return err - } else { - _field = &v } - p.DatasetID = _field + _field := make([]*SpanID, 0, size) + values := make([]SpanID, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.SpanIds = _field return nil } -func (p *DatasetConfig) ReadField3(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetRequest) ReadField3(iprot thrift.TProtocol) error { - var _field *string + var _field dataset.DatasetCategory + if v, err := iprot.ReadI32(); err != nil { + return err + } else { + _field = dataset.DatasetCategory(v) + } + p.Category = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField4(iprot thrift.TProtocol) error { + _field := NewDatasetConfig() + if err := _field.Read(iprot); err != nil { + return err + } + p.Config = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField5(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.StartTime = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField6(iprot thrift.TProtocol) error { + + var _field int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = v + } + p.EndTime = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField7(iprot thrift.TProtocol) error { + + var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.DatasetName = _field + p.PlatformType = _field return nil } -func (p *DatasetConfig) ReadField4(iprot thrift.TProtocol) error { - _field := dataset0.NewDatasetSchema() +func (p *PreviewExportTracesToDatasetRequest) ReadField8(iprot thrift.TProtocol) error { + + var _field dataset0.ExportType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.ExportType = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField9(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*dataset0.FieldMapping, 0, size) + values := make([]dataset0.FieldMapping, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.FieldMappings = _field + return nil +} +func (p *PreviewExportTracesToDatasetRequest) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err } - p.DatasetSchema = _field + p.Base = _field return nil } -func (p *DatasetConfig) Write(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("DatasetConfig"); err != nil { + if err = oprot.WriteStructBegin("PreviewExportTracesToDatasetRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -13389,6 +13677,30 @@ func (p *DatasetConfig) Write(oprot thrift.TProtocol) (err error) { fieldId = 4 goto WriteFieldError } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } + if err = p.writeField8(oprot); err != nil { + fieldId = 8 + goto WriteFieldError + } + if err = p.writeField9(oprot); err != nil { + fieldId = 9 + goto WriteFieldError + } + if err = p.writeField255(oprot); err != nil { + fieldId = 255 + goto WriteFieldError + } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -13407,11 +13719,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *DatasetConfig) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("is_new_dataset", thrift.BOOL, 1); err != nil { +func (p *PreviewExportTracesToDatasetRequest) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteBool(p.IsNewDataset); err != nil { + if err := oprot.WriteI64(p.WorkspaceID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -13423,17 +13735,23 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *DatasetConfig) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetDatasetID() { - if err = oprot.WriteFieldBegin("dataset_id", thrift.I64, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.DatasetID); err != nil { +func (p *PreviewExportTracesToDatasetRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanIds)); err != nil { + return err + } + for _, v := range p.SpanIds { + if err := v.Write(oprot); err != nil { return err } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -13441,17 +13759,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *DatasetConfig) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetDatasetName() { - if err = oprot.WriteFieldBegin("dataset_name", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.DatasetName); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *PreviewExportTracesToDatasetRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("category", thrift.I32, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI32(int32(p.Category)); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -13459,17 +13775,15 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *DatasetConfig) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetDatasetSchema() { - if err = oprot.WriteFieldBegin("dataset_schema", thrift.STRUCT, 4); err != nil { - goto WriteFieldBeginError - } - if err := p.DatasetSchema.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *PreviewExportTracesToDatasetRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("config", thrift.STRUCT, 4); err != nil { + goto WriteFieldBeginError + } + if err := p.Config.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -13477,242 +13791,375 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } - -func (p *DatasetConfig) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("DatasetConfig(%+v)", *p) - -} - -func (p *DatasetConfig) DeepEqual(ano *DatasetConfig) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false +func (p *PreviewExportTracesToDatasetRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { + goto WriteFieldBeginError } - if !p.Field1DeepEqual(ano.IsNewDataset) { - return false + if err := oprot.WriteI64(p.StartTime); err != nil { + return err } - if !p.Field2DeepEqual(ano.DatasetID) { - return false + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - if !p.Field3DeepEqual(ano.DatasetName) { - return false + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *PreviewExportTracesToDatasetRequest) writeField6(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("end_time", thrift.I64, 6); err != nil { + goto WriteFieldBeginError } - if !p.Field4DeepEqual(ano.DatasetSchema) { - return false + if err := oprot.WriteI64(p.EndTime); err != nil { + return err } - return true -} - -func (p *DatasetConfig) Field1DeepEqual(src bool) bool { - - if p.IsNewDataset != src { - return false + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } - return true + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *PreviewExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PlatformType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} +func (p *PreviewExportTracesToDatasetRequest) writeField8(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("export_type", thrift.STRING, 8); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.ExportType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) +} +func (p *PreviewExportTracesToDatasetRequest) writeField9(oprot thrift.TProtocol) (err error) { + if p.IsSetFieldMappings() { + if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 9); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { + return err + } + for _, v := range p.FieldMappings { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) +} +func (p *PreviewExportTracesToDatasetRequest) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBase() { + if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { + goto WriteFieldBeginError + } + if err := p.Base.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *DatasetConfig) Field2DeepEqual(src *int64) bool { - if p.DatasetID == src { +func (p *PreviewExportTracesToDatasetRequest) String() string { + if p == nil { + return "" + } + return fmt.Sprintf("PreviewExportTracesToDatasetRequest(%+v)", *p) + +} + +func (p *PreviewExportTracesToDatasetRequest) DeepEqual(ano *PreviewExportTracesToDatasetRequest) bool { + if p == ano { return true - } else if p.DatasetID == nil || src == nil { + } else if p == nil || ano == nil { return false } - if *p.DatasetID != *src { + if !p.Field1DeepEqual(ano.WorkspaceID) { + return false + } + if !p.Field2DeepEqual(ano.SpanIds) { + return false + } + if !p.Field3DeepEqual(ano.Category) { + return false + } + if !p.Field4DeepEqual(ano.Config) { + return false + } + if !p.Field5DeepEqual(ano.StartTime) { + return false + } + if !p.Field6DeepEqual(ano.EndTime) { + return false + } + if !p.Field7DeepEqual(ano.PlatformType) { + return false + } + if !p.Field8DeepEqual(ano.ExportType) { + return false + } + if !p.Field9DeepEqual(ano.FieldMappings) { + return false + } + if !p.Field255DeepEqual(ano.Base) { return false } return true } -func (p *DatasetConfig) Field3DeepEqual(src *string) bool { - if p.DatasetName == src { +func (p *PreviewExportTracesToDatasetRequest) Field1DeepEqual(src int64) bool { + + if p.WorkspaceID != src { + return false + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field2DeepEqual(src []*SpanID) bool { + + if len(p.SpanIds) != len(src) { + return false + } + for i, v := range p.SpanIds { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field3DeepEqual(src dataset.DatasetCategory) bool { + + if p.Category != src { + return false + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field4DeepEqual(src *DatasetConfig) bool { + + if !p.Config.DeepEqual(src) { + return false + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field5DeepEqual(src int64) bool { + + if p.StartTime != src { + return false + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field6DeepEqual(src int64) bool { + + if p.EndTime != src { + return false + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field7DeepEqual(src *common.PlatformType) bool { + + if p.PlatformType == src { return true - } else if p.DatasetName == nil || src == nil { + } else if p.PlatformType == nil || src == nil { return false } - if strings.Compare(*p.DatasetName, *src) != 0 { + if strings.Compare(*p.PlatformType, *src) != 0 { return false } return true } -func (p *DatasetConfig) Field4DeepEqual(src *dataset0.DatasetSchema) bool { +func (p *PreviewExportTracesToDatasetRequest) Field8DeepEqual(src dataset0.ExportType) bool { - if !p.DatasetSchema.DeepEqual(src) { + if strings.Compare(p.ExportType, src) != 0 { return false } return true } +func (p *PreviewExportTracesToDatasetRequest) Field9DeepEqual(src []*dataset0.FieldMapping) bool { -type ExportTracesToDatasetResponse struct { - // 成功导入的数量 - SuccessCount *int32 `thrift:"success_count,1,optional" frugal:"1,optional,i32" form:"success_count" json:"success_count,omitempty" query:"success_count"` - // 错误信息 - Errors []*dataset.ItemErrorGroup `thrift:"errors,2,optional" frugal:"2,optional,list" form:"errors" json:"errors,omitempty" query:"errors"` - // 数据集id - DatasetID *int64 `thrift:"dataset_id,3,optional" frugal:"3,optional,i64" json:"dataset_id" form:"dataset_id" query:"dataset_id"` - // 数据集名称 - DatasetName *string `thrift:"dataset_name,4,optional" frugal:"4,optional,string" form:"dataset_name" json:"dataset_name,omitempty" query:"dataset_name"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"-" json:"-" query:"-"` + if len(p.FieldMappings) != len(src) { + return false + } + for i, v := range p.FieldMappings { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *PreviewExportTracesToDatasetRequest) Field255DeepEqual(src *base.Base) bool { + + if !p.Base.DeepEqual(src) { + return false + } + return true +} + +type PreviewExportTracesToDatasetResponse struct { + // 预览数据 + Items []*dataset0.Item `thrift:"items,1,optional" frugal:"1,optional,list" form:"items" json:"items,omitempty" query:"items"` + // 概要错误信息 + Errors []*dataset.ItemErrorGroup `thrift:"errors,2,optional" frugal:"2,optional,list" form:"errors" json:"errors,omitempty" query:"errors"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"-" json:"-" query:"-"` // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg Code *int32 `thrift:"Code,256,optional" frugal:"256,optional,i32" form:"Code" json:"Code,omitempty" query:"Code"` // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg Msg *string `thrift:"Msg,257,optional" frugal:"257,optional,string" form:"Msg" json:"Msg,omitempty" query:"Msg"` } -func NewExportTracesToDatasetResponse() *ExportTracesToDatasetResponse { - return &ExportTracesToDatasetResponse{} +func NewPreviewExportTracesToDatasetResponse() *PreviewExportTracesToDatasetResponse { + return &PreviewExportTracesToDatasetResponse{} } -func (p *ExportTracesToDatasetResponse) InitDefault() { +func (p *PreviewExportTracesToDatasetResponse) InitDefault() { } -var ExportTracesToDatasetResponse_SuccessCount_DEFAULT int32 +var PreviewExportTracesToDatasetResponse_Items_DEFAULT []*dataset0.Item -func (p *ExportTracesToDatasetResponse) GetSuccessCount() (v int32) { +func (p *PreviewExportTracesToDatasetResponse) GetItems() (v []*dataset0.Item) { if p == nil { return } - if !p.IsSetSuccessCount() { - return ExportTracesToDatasetResponse_SuccessCount_DEFAULT + if !p.IsSetItems() { + return PreviewExportTracesToDatasetResponse_Items_DEFAULT } - return *p.SuccessCount + return p.Items } -var ExportTracesToDatasetResponse_Errors_DEFAULT []*dataset.ItemErrorGroup +var PreviewExportTracesToDatasetResponse_Errors_DEFAULT []*dataset.ItemErrorGroup -func (p *ExportTracesToDatasetResponse) GetErrors() (v []*dataset.ItemErrorGroup) { +func (p *PreviewExportTracesToDatasetResponse) GetErrors() (v []*dataset.ItemErrorGroup) { if p == nil { return } if !p.IsSetErrors() { - return ExportTracesToDatasetResponse_Errors_DEFAULT + return PreviewExportTracesToDatasetResponse_Errors_DEFAULT } return p.Errors } -var ExportTracesToDatasetResponse_DatasetID_DEFAULT int64 +var PreviewExportTracesToDatasetResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ExportTracesToDatasetResponse) GetDatasetID() (v int64) { +func (p *PreviewExportTracesToDatasetResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetDatasetID() { - return ExportTracesToDatasetResponse_DatasetID_DEFAULT + if !p.IsSetBaseResp() { + return PreviewExportTracesToDatasetResponse_BaseResp_DEFAULT } - return *p.DatasetID + return p.BaseResp } -var ExportTracesToDatasetResponse_DatasetName_DEFAULT string +var PreviewExportTracesToDatasetResponse_Code_DEFAULT int32 -func (p *ExportTracesToDatasetResponse) GetDatasetName() (v string) { - if p == nil { - return - } - if !p.IsSetDatasetName() { - return ExportTracesToDatasetResponse_DatasetName_DEFAULT - } - return *p.DatasetName -} - -var ExportTracesToDatasetResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ExportTracesToDatasetResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return ExportTracesToDatasetResponse_BaseResp_DEFAULT - } - return p.BaseResp -} - -var ExportTracesToDatasetResponse_Code_DEFAULT int32 - -func (p *ExportTracesToDatasetResponse) GetCode() (v int32) { +func (p *PreviewExportTracesToDatasetResponse) GetCode() (v int32) { if p == nil { return } if !p.IsSetCode() { - return ExportTracesToDatasetResponse_Code_DEFAULT + return PreviewExportTracesToDatasetResponse_Code_DEFAULT } return *p.Code } -var ExportTracesToDatasetResponse_Msg_DEFAULT string +var PreviewExportTracesToDatasetResponse_Msg_DEFAULT string -func (p *ExportTracesToDatasetResponse) GetMsg() (v string) { +func (p *PreviewExportTracesToDatasetResponse) GetMsg() (v string) { if p == nil { return } if !p.IsSetMsg() { - return ExportTracesToDatasetResponse_Msg_DEFAULT + return PreviewExportTracesToDatasetResponse_Msg_DEFAULT } return *p.Msg } -func (p *ExportTracesToDatasetResponse) SetSuccessCount(val *int32) { - p.SuccessCount = val +func (p *PreviewExportTracesToDatasetResponse) SetItems(val []*dataset0.Item) { + p.Items = val } -func (p *ExportTracesToDatasetResponse) SetErrors(val []*dataset.ItemErrorGroup) { +func (p *PreviewExportTracesToDatasetResponse) SetErrors(val []*dataset.ItemErrorGroup) { p.Errors = val } -func (p *ExportTracesToDatasetResponse) SetDatasetID(val *int64) { - p.DatasetID = val -} -func (p *ExportTracesToDatasetResponse) SetDatasetName(val *string) { - p.DatasetName = val -} -func (p *ExportTracesToDatasetResponse) SetBaseResp(val *base.BaseResp) { +func (p *PreviewExportTracesToDatasetResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -func (p *ExportTracesToDatasetResponse) SetCode(val *int32) { +func (p *PreviewExportTracesToDatasetResponse) SetCode(val *int32) { p.Code = val } -func (p *ExportTracesToDatasetResponse) SetMsg(val *string) { +func (p *PreviewExportTracesToDatasetResponse) SetMsg(val *string) { p.Msg = val } -var fieldIDToName_ExportTracesToDatasetResponse = map[int16]string{ - 1: "success_count", +var fieldIDToName_PreviewExportTracesToDatasetResponse = map[int16]string{ + 1: "items", 2: "errors", - 3: "dataset_id", - 4: "dataset_name", 255: "BaseResp", 256: "Code", 257: "Msg", } -func (p *ExportTracesToDatasetResponse) IsSetSuccessCount() bool { - return p.SuccessCount != nil +func (p *PreviewExportTracesToDatasetResponse) IsSetItems() bool { + return p.Items != nil } -func (p *ExportTracesToDatasetResponse) IsSetErrors() bool { +func (p *PreviewExportTracesToDatasetResponse) IsSetErrors() bool { return p.Errors != nil } -func (p *ExportTracesToDatasetResponse) IsSetDatasetID() bool { - return p.DatasetID != nil -} - -func (p *ExportTracesToDatasetResponse) IsSetDatasetName() bool { - return p.DatasetName != nil -} - -func (p *ExportTracesToDatasetResponse) IsSetBaseResp() bool { +func (p *PreviewExportTracesToDatasetResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *ExportTracesToDatasetResponse) IsSetCode() bool { +func (p *PreviewExportTracesToDatasetResponse) IsSetCode() bool { return p.Code != nil } -func (p *ExportTracesToDatasetResponse) IsSetMsg() bool { +func (p *PreviewExportTracesToDatasetResponse) IsSetMsg() bool { return p.Msg != nil } -func (p *ExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -13731,7 +14178,7 @@ func (p *ExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } @@ -13746,22 +14193,6 @@ func (p *ExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 3: - if fieldTypeId == thrift.I64 { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.STRING { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } case 255: if fieldTypeId == thrift.STRUCT { if err = p.ReadField255(iprot); err != nil { @@ -13805,7 +14236,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExportTracesToDatasetResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_PreviewExportTracesToDatasetResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -13815,18 +14246,30 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*dataset0.Item, 0, size) + values := make([]dataset0.Item, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { return err - } else { - _field = &v } - p.SuccessCount = _field + p.Items = _field return nil } -func (p *ExportTracesToDatasetResponse) ReadField2(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetResponse) ReadField2(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err @@ -13849,29 +14292,7 @@ func (p *ExportTracesToDatasetResponse) ReadField2(iprot thrift.TProtocol) error p.Errors = _field return nil } -func (p *ExportTracesToDatasetResponse) ReadField3(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.DatasetID = _field - return nil -} -func (p *ExportTracesToDatasetResponse) ReadField4(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.DatasetName = _field - return nil -} -func (p *ExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -13879,7 +14300,7 @@ func (p *ExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtocol) err p.BaseResp = _field return nil } -func (p *ExportTracesToDatasetResponse) ReadField256(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetResponse) ReadField256(iprot thrift.TProtocol) error { var _field *int32 if v, err := iprot.ReadI32(); err != nil { @@ -13890,7 +14311,7 @@ func (p *ExportTracesToDatasetResponse) ReadField256(iprot thrift.TProtocol) err p.Code = _field return nil } -func (p *ExportTracesToDatasetResponse) ReadField257(iprot thrift.TProtocol) error { +func (p *PreviewExportTracesToDatasetResponse) ReadField257(iprot thrift.TProtocol) error { var _field *string if v, err := iprot.ReadString(); err != nil { @@ -13902,9 +14323,9 @@ func (p *ExportTracesToDatasetResponse) ReadField257(iprot thrift.TProtocol) err return nil } -func (p *ExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExportTracesToDatasetResponse"); err != nil { + if err = oprot.WriteStructBegin("PreviewExportTracesToDatasetResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -13916,14 +14337,6 @@ func (p *ExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (err error fieldId = 2 goto WriteFieldError } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -13954,12 +14367,20 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccessCount() { - if err = oprot.WriteFieldBegin("success_count", thrift.I32, 1); err != nil { +func (p *PreviewExportTracesToDatasetResponse) writeField1(oprot thrift.TProtocol) (err error) { + if p.IsSetItems() { + if err = oprot.WriteFieldBegin("items", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(*p.SuccessCount); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Items)); err != nil { + return err + } + for _, v := range p.Items { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -13972,7 +14393,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) writeField2(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) writeField2(oprot thrift.TProtocol) (err error) { if p.IsSetErrors() { if err = oprot.WriteFieldBegin("errors", thrift.LIST, 2); err != nil { goto WriteFieldBeginError @@ -13998,43 +14419,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) writeField3(oprot thrift.TProtocol) (err error) { - if p.IsSetDatasetID() { - if err = oprot.WriteFieldBegin("dataset_id", thrift.I64, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.DatasetID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ExportTracesToDatasetResponse) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetDatasetName() { - if err = oprot.WriteFieldBegin("dataset_name", thrift.STRING, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.DatasetName); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ExportTracesToDatasetResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -14052,7 +14437,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) writeField256(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) writeField256(oprot thrift.TProtocol) (err error) { if p.IsSetCode() { if err = oprot.WriteFieldBegin("Code", thrift.I32, 256); err != nil { goto WriteFieldBeginError @@ -14070,7 +14455,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 256 end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) writeField257(oprot thrift.TProtocol) (err error) { +func (p *PreviewExportTracesToDatasetResponse) writeField257(oprot thrift.TProtocol) (err error) { if p.IsSetMsg() { if err = oprot.WriteFieldBegin("Msg", thrift.STRING, 257); err != nil { goto WriteFieldBeginError @@ -14089,32 +14474,26 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 257 end error: ", p), err) } -func (p *ExportTracesToDatasetResponse) String() string { +func (p *PreviewExportTracesToDatasetResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ExportTracesToDatasetResponse(%+v)", *p) + return fmt.Sprintf("PreviewExportTracesToDatasetResponse(%+v)", *p) } -func (p *ExportTracesToDatasetResponse) DeepEqual(ano *ExportTracesToDatasetResponse) bool { +func (p *PreviewExportTracesToDatasetResponse) DeepEqual(ano *PreviewExportTracesToDatasetResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.SuccessCount) { + if !p.Field1DeepEqual(ano.Items) { return false } if !p.Field2DeepEqual(ano.Errors) { return false } - if !p.Field3DeepEqual(ano.DatasetID) { - return false - } - if !p.Field4DeepEqual(ano.DatasetName) { - return false - } if !p.Field255DeepEqual(ano.BaseResp) { return false } @@ -14127,19 +14506,20 @@ func (p *ExportTracesToDatasetResponse) DeepEqual(ano *ExportTracesToDatasetResp return true } -func (p *ExportTracesToDatasetResponse) Field1DeepEqual(src *int32) bool { +func (p *PreviewExportTracesToDatasetResponse) Field1DeepEqual(src []*dataset0.Item) bool { - if p.SuccessCount == src { - return true - } else if p.SuccessCount == nil || src == nil { + if len(p.Items) != len(src) { return false } - if *p.SuccessCount != *src { - return false + for i, v := range p.Items { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } } return true } -func (p *ExportTracesToDatasetResponse) Field2DeepEqual(src []*dataset.ItemErrorGroup) bool { +func (p *PreviewExportTracesToDatasetResponse) Field2DeepEqual(src []*dataset.ItemErrorGroup) bool { if len(p.Errors) != len(src) { return false @@ -14152,38 +14532,14 @@ func (p *ExportTracesToDatasetResponse) Field2DeepEqual(src []*dataset.ItemError } return true } -func (p *ExportTracesToDatasetResponse) Field3DeepEqual(src *int64) bool { - - if p.DatasetID == src { - return true - } else if p.DatasetID == nil || src == nil { - return false - } - if *p.DatasetID != *src { - return false - } - return true -} -func (p *ExportTracesToDatasetResponse) Field4DeepEqual(src *string) bool { - - if p.DatasetName == src { - return true - } else if p.DatasetName == nil || src == nil { - return false - } - if strings.Compare(*p.DatasetName, *src) != 0 { - return false - } - return true -} -func (p *ExportTracesToDatasetResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *PreviewExportTracesToDatasetResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *ExportTracesToDatasetResponse) Field256DeepEqual(src *int32) bool { +func (p *PreviewExportTracesToDatasetResponse) Field256DeepEqual(src *int32) bool { if p.Code == src { return true @@ -14195,7 +14551,7 @@ func (p *ExportTracesToDatasetResponse) Field256DeepEqual(src *int32) bool { } return true } -func (p *ExportTracesToDatasetResponse) Field257DeepEqual(src *string) bool { +func (p *PreviewExportTracesToDatasetResponse) Field257DeepEqual(src *string) bool { if p.Msg == src { return true @@ -14208,186 +14564,138 @@ func (p *ExportTracesToDatasetResponse) Field257DeepEqual(src *string) bool { return true } -type PreviewExportTracesToDatasetRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - SpanIds []*SpanID `thrift:"span_ids,2,required" frugal:"2,required,list" form:"span_ids,required" json:"span_ids,required"` - Category dataset.DatasetCategory `thrift:"category,3,required" frugal:"3,required,DatasetCategory" form:"category,required" json:"category,required"` - Config *DatasetConfig `thrift:"config,4,required" frugal:"4,required,DatasetConfig" form:"config,required" json:"config,required"` - StartTime int64 `thrift:"start_time,5,required" frugal:"5,required,i64" json:"start_time" form:"start_time,required" ` - EndTime int64 `thrift:"end_time,6,required" frugal:"6,required,i64" json:"end_time" form:"end_time,required" ` - PlatformType *common.PlatformType `thrift:"platform_type,7,optional" frugal:"7,optional,string" form:"platform_type" json:"platform_type,omitempty"` - // 导入方式,不填默认为追加 - ExportType dataset0.ExportType `thrift:"export_type,8,required" frugal:"8,required,string" form:"export_type,required" json:"export_type,required"` - FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,9,optional" frugal:"9,optional,list" form:"field_mappings" json:"field_mappings,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` +type ChangeEvaluatorScoreRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + AnnotationID string `thrift:"annotation_id,2,required" frugal:"2,required,string" form:"annotation_id,required" json:"annotation_id,required"` + SpanID string `thrift:"span_id,3,required" frugal:"3,required,string" form:"span_id,required" json:"span_id,required"` + StartTime int64 `thrift:"start_time,4,required" frugal:"4,required,i64" json:"start_time" form:"start_time,required" ` + Correction *annotation.Correction `thrift:"correction,5,required" frugal:"5,required,annotation.Correction" form:"correction,required" json:"correction,required"` + PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` } -func NewPreviewExportTracesToDatasetRequest() *PreviewExportTracesToDatasetRequest { - return &PreviewExportTracesToDatasetRequest{} +func NewChangeEvaluatorScoreRequest() *ChangeEvaluatorScoreRequest { + return &ChangeEvaluatorScoreRequest{} } -func (p *PreviewExportTracesToDatasetRequest) InitDefault() { +func (p *ChangeEvaluatorScoreRequest) InitDefault() { } -func (p *PreviewExportTracesToDatasetRequest) GetWorkspaceID() (v int64) { +func (p *ChangeEvaluatorScoreRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -func (p *PreviewExportTracesToDatasetRequest) GetSpanIds() (v []*SpanID) { +func (p *ChangeEvaluatorScoreRequest) GetAnnotationID() (v string) { if p != nil { - return p.SpanIds + return p.AnnotationID } return } -func (p *PreviewExportTracesToDatasetRequest) GetCategory() (v dataset.DatasetCategory) { +func (p *ChangeEvaluatorScoreRequest) GetSpanID() (v string) { if p != nil { - return p.Category + return p.SpanID } return } -var PreviewExportTracesToDatasetRequest_Config_DEFAULT *DatasetConfig - -func (p *PreviewExportTracesToDatasetRequest) GetConfig() (v *DatasetConfig) { - if p == nil { - return - } - if !p.IsSetConfig() { - return PreviewExportTracesToDatasetRequest_Config_DEFAULT - } - return p.Config -} - -func (p *PreviewExportTracesToDatasetRequest) GetStartTime() (v int64) { +func (p *ChangeEvaluatorScoreRequest) GetStartTime() (v int64) { if p != nil { return p.StartTime } return } -func (p *PreviewExportTracesToDatasetRequest) GetEndTime() (v int64) { - if p != nil { - return p.EndTime - } - return -} - -var PreviewExportTracesToDatasetRequest_PlatformType_DEFAULT common.PlatformType +var ChangeEvaluatorScoreRequest_Correction_DEFAULT *annotation.Correction -func (p *PreviewExportTracesToDatasetRequest) GetPlatformType() (v common.PlatformType) { +func (p *ChangeEvaluatorScoreRequest) GetCorrection() (v *annotation.Correction) { if p == nil { return } - if !p.IsSetPlatformType() { - return PreviewExportTracesToDatasetRequest_PlatformType_DEFAULT - } - return *p.PlatformType -} - -func (p *PreviewExportTracesToDatasetRequest) GetExportType() (v dataset0.ExportType) { - if p != nil { - return p.ExportType + if !p.IsSetCorrection() { + return ChangeEvaluatorScoreRequest_Correction_DEFAULT } - return + return p.Correction } -var PreviewExportTracesToDatasetRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping +var ChangeEvaluatorScoreRequest_PlatformType_DEFAULT common.PlatformType -func (p *PreviewExportTracesToDatasetRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { +func (p *ChangeEvaluatorScoreRequest) GetPlatformType() (v common.PlatformType) { if p == nil { return } - if !p.IsSetFieldMappings() { - return PreviewExportTracesToDatasetRequest_FieldMappings_DEFAULT + if !p.IsSetPlatformType() { + return ChangeEvaluatorScoreRequest_PlatformType_DEFAULT } - return p.FieldMappings + return *p.PlatformType } -var PreviewExportTracesToDatasetRequest_Base_DEFAULT *base.Base +var ChangeEvaluatorScoreRequest_Base_DEFAULT *base.Base -func (p *PreviewExportTracesToDatasetRequest) GetBase() (v *base.Base) { +func (p *ChangeEvaluatorScoreRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return PreviewExportTracesToDatasetRequest_Base_DEFAULT + return ChangeEvaluatorScoreRequest_Base_DEFAULT } return p.Base } -func (p *PreviewExportTracesToDatasetRequest) SetWorkspaceID(val int64) { +func (p *ChangeEvaluatorScoreRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *PreviewExportTracesToDatasetRequest) SetSpanIds(val []*SpanID) { - p.SpanIds = val -} -func (p *PreviewExportTracesToDatasetRequest) SetCategory(val dataset.DatasetCategory) { - p.Category = val +func (p *ChangeEvaluatorScoreRequest) SetAnnotationID(val string) { + p.AnnotationID = val } -func (p *PreviewExportTracesToDatasetRequest) SetConfig(val *DatasetConfig) { - p.Config = val +func (p *ChangeEvaluatorScoreRequest) SetSpanID(val string) { + p.SpanID = val } -func (p *PreviewExportTracesToDatasetRequest) SetStartTime(val int64) { +func (p *ChangeEvaluatorScoreRequest) SetStartTime(val int64) { p.StartTime = val } -func (p *PreviewExportTracesToDatasetRequest) SetEndTime(val int64) { - p.EndTime = val +func (p *ChangeEvaluatorScoreRequest) SetCorrection(val *annotation.Correction) { + p.Correction = val } -func (p *PreviewExportTracesToDatasetRequest) SetPlatformType(val *common.PlatformType) { +func (p *ChangeEvaluatorScoreRequest) SetPlatformType(val *common.PlatformType) { p.PlatformType = val } -func (p *PreviewExportTracesToDatasetRequest) SetExportType(val dataset0.ExportType) { - p.ExportType = val -} -func (p *PreviewExportTracesToDatasetRequest) SetFieldMappings(val []*dataset0.FieldMapping) { - p.FieldMappings = val -} -func (p *PreviewExportTracesToDatasetRequest) SetBase(val *base.Base) { +func (p *ChangeEvaluatorScoreRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_PreviewExportTracesToDatasetRequest = map[int16]string{ +var fieldIDToName_ChangeEvaluatorScoreRequest = map[int16]string{ 1: "workspace_id", - 2: "span_ids", - 3: "category", - 4: "config", - 5: "start_time", - 6: "end_time", - 7: "platform_type", - 8: "export_type", - 9: "field_mappings", + 2: "annotation_id", + 3: "span_id", + 4: "start_time", + 5: "correction", + 6: "platform_type", 255: "Base", } -func (p *PreviewExportTracesToDatasetRequest) IsSetConfig() bool { - return p.Config != nil +func (p *ChangeEvaluatorScoreRequest) IsSetCorrection() bool { + return p.Correction != nil } -func (p *PreviewExportTracesToDatasetRequest) IsSetPlatformType() bool { +func (p *ChangeEvaluatorScoreRequest) IsSetPlatformType() bool { return p.PlatformType != nil } -func (p *PreviewExportTracesToDatasetRequest) IsSetFieldMappings() bool { - return p.FieldMappings != nil -} - -func (p *PreviewExportTracesToDatasetRequest) IsSetBase() bool { +func (p *ChangeEvaluatorScoreRequest) IsSetBase() bool { return p.Base != nil } -func (p *PreviewExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetWorkspaceID bool = false - var issetSpanIds bool = false - var issetCategory bool = false - var issetConfig bool = false + var issetAnnotationID bool = false + var issetSpanID bool = false var issetStartTime bool = false - var issetEndTime bool = false - var issetExportType bool = false + var issetCorrection bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -14413,70 +14721,44 @@ func (p *PreviewExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err goto SkipFieldError } case 2: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRING { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetSpanIds = true + issetAnnotationID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 3: - if fieldTypeId == thrift.I32 { + if fieldTypeId == thrift.STRING { if err = p.ReadField3(iprot); err != nil { goto ReadFieldError } - issetCategory = true + issetSpanID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 4: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.I64 { if err = p.ReadField4(iprot); err != nil { goto ReadFieldError } - issetConfig = true + issetStartTime = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 5: - if fieldTypeId == thrift.I64 { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField5(iprot); err != nil { goto ReadFieldError } - issetStartTime = true + issetCorrection = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } case 6: - if fieldTypeId == thrift.I64 { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - issetEndTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: - if fieldTypeId == thrift.STRING { - if err = p.ReadField7(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 8: if fieldTypeId == thrift.STRING { - if err = p.ReadField8(iprot); err != nil { - goto ReadFieldError - } - issetExportType = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 9: - if fieldTypeId == thrift.LIST { - if err = p.ReadField9(iprot); err != nil { + if err = p.ReadField6(iprot); err != nil { goto ReadFieldError } } else if err = iprot.Skip(fieldTypeId); err != nil { @@ -14508,42 +14790,32 @@ func (p *PreviewExportTracesToDatasetRequest) Read(iprot thrift.TProtocol) (err goto RequiredFieldNotSetError } - if !issetSpanIds { + if !issetAnnotationID { fieldId = 2 goto RequiredFieldNotSetError } - if !issetCategory { + if !issetSpanID { fieldId = 3 goto RequiredFieldNotSetError } - if !issetConfig { + if !issetStartTime { fieldId = 4 goto RequiredFieldNotSetError } - if !issetStartTime { + if !issetCorrection { fieldId = 5 goto RequiredFieldNotSetError } - - if !issetEndTime { - fieldId = 6 - goto RequiredFieldNotSetError - } - - if !issetExportType { - fieldId = 8 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_PreviewExportTracesToDatasetRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ChangeEvaluatorScoreRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -14552,10 +14824,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_PreviewExportTracesToDatasetRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ChangeEvaluatorScoreRequest[fieldId])) } -func (p *PreviewExportTracesToDatasetRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -14566,49 +14838,29 @@ func (p *PreviewExportTracesToDatasetRequest) ReadField1(iprot thrift.TProtocol) p.WorkspaceID = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*SpanID, 0, size) - values := make([]SpanID, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { +func (p *ChangeEvaluatorScoreRequest) ReadField2(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v } - p.SpanIds = _field + p.AnnotationID = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField3(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreRequest) ReadField3(iprot thrift.TProtocol) error { - var _field dataset.DatasetCategory - if v, err := iprot.ReadI32(); err != nil { + var _field string + if v, err := iprot.ReadString(); err != nil { return err } else { - _field = dataset.DatasetCategory(v) - } - p.Category = _field - return nil -} -func (p *PreviewExportTracesToDatasetRequest) ReadField4(iprot thrift.TProtocol) error { - _field := NewDatasetConfig() - if err := _field.Read(iprot); err != nil { - return err + _field = v } - p.Config = _field + p.SpanID = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField5(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreRequest) ReadField4(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -14619,18 +14871,15 @@ func (p *PreviewExportTracesToDatasetRequest) ReadField5(iprot thrift.TProtocol) p.StartTime = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField6(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { +func (p *ChangeEvaluatorScoreRequest) ReadField5(iprot thrift.TProtocol) error { + _field := annotation.NewCorrection() + if err := _field.Read(iprot); err != nil { return err - } else { - _field = v } - p.EndTime = _field + p.Correction = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField7(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreRequest) ReadField6(iprot thrift.TProtocol) error { var _field *common.PlatformType if v, err := iprot.ReadString(); err != nil { @@ -14641,41 +14890,7 @@ func (p *PreviewExportTracesToDatasetRequest) ReadField7(iprot thrift.TProtocol) p.PlatformType = _field return nil } -func (p *PreviewExportTracesToDatasetRequest) ReadField8(iprot thrift.TProtocol) error { - - var _field dataset0.ExportType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.ExportType = _field - return nil -} -func (p *PreviewExportTracesToDatasetRequest) ReadField9(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*dataset0.FieldMapping, 0, size) - values := make([]dataset0.FieldMapping, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.FieldMappings = _field - return nil -} -func (p *PreviewExportTracesToDatasetRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -14684,9 +14899,9 @@ func (p *PreviewExportTracesToDatasetRequest) ReadField255(iprot thrift.TProtoco return nil } -func (p *PreviewExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("PreviewExportTracesToDatasetRequest"); err != nil { + if err = oprot.WriteStructBegin("ChangeEvaluatorScoreRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -14714,18 +14929,6 @@ func (p *PreviewExportTracesToDatasetRequest) Write(oprot thrift.TProtocol) (err fieldId = 6 goto WriteFieldError } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } - if err = p.writeField8(oprot); err != nil { - fieldId = 8 - goto WriteFieldError - } - if err = p.writeField9(oprot); err != nil { - fieldId = 9 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -14748,7 +14951,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -14764,19 +14967,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 2); err != nil { +func (p *ChangeEvaluatorScoreRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanIds)); err != nil { - return err - } - for _, v := range p.SpanIds { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteString(p.AnnotationID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -14788,11 +14983,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("category", thrift.I32, 3); err != nil { +func (p *ChangeEvaluatorScoreRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 3); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI32(int32(p.Category)); err != nil { + if err := oprot.WriteString(p.SpanID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -14804,11 +14999,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("config", thrift.STRUCT, 4); err != nil { +func (p *ChangeEvaluatorScoreRequest) writeField4(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { goto WriteFieldBeginError } - if err := p.Config.Write(oprot); err != nil { + if err := oprot.WriteI64(p.StartTime); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -14820,11 +15015,11 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField5(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 5); err != nil { +func (p *ChangeEvaluatorScoreRequest) writeField5(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("correction", thrift.STRUCT, 5); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteI64(p.StartTime); err != nil { + if err := p.Correction.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -14836,25 +15031,9 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField6(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.EndTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreRequest) writeField6(oprot thrift.TProtocol) (err error) { if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 7); err != nil { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { goto WriteFieldBeginError } if err := oprot.WriteString(*p.PlatformType); err != nil { @@ -14866,53 +15045,11 @@ func (p *PreviewExportTracesToDatasetRequest) writeField7(oprot thrift.TProtocol } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetRequest) writeField8(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("export_type", thrift.STRING, 8); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.ExportType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 8 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetRequest) writeField9(oprot thrift.TProtocol) (err error) { - if p.IsSetFieldMappings() { - if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 9); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { - return err - } - for _, v := range p.FieldMappings { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 9 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -14931,15 +15068,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetRequest) String() string { +func (p *ChangeEvaluatorScoreRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("PreviewExportTracesToDatasetRequest(%+v)", *p) + return fmt.Sprintf("ChangeEvaluatorScoreRequest(%+v)", *p) } -func (p *PreviewExportTracesToDatasetRequest) DeepEqual(ano *PreviewExportTracesToDatasetRequest) bool { +func (p *ChangeEvaluatorScoreRequest) DeepEqual(ano *ChangeEvaluatorScoreRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -14948,28 +15085,19 @@ func (p *PreviewExportTracesToDatasetRequest) DeepEqual(ano *PreviewExportTraces if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.SpanIds) { - return false - } - if !p.Field3DeepEqual(ano.Category) { - return false - } - if !p.Field4DeepEqual(ano.Config) { - return false - } - if !p.Field5DeepEqual(ano.StartTime) { + if !p.Field2DeepEqual(ano.AnnotationID) { return false } - if !p.Field6DeepEqual(ano.EndTime) { + if !p.Field3DeepEqual(ano.SpanID) { return false } - if !p.Field7DeepEqual(ano.PlatformType) { + if !p.Field4DeepEqual(ano.StartTime) { return false } - if !p.Field8DeepEqual(ano.ExportType) { + if !p.Field5DeepEqual(ano.Correction) { return false } - if !p.Field9DeepEqual(ano.FieldMappings) { + if !p.Field6DeepEqual(ano.PlatformType) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -14978,55 +15106,42 @@ func (p *PreviewExportTracesToDatasetRequest) DeepEqual(ano *PreviewExportTraces return true } -func (p *PreviewExportTracesToDatasetRequest) Field1DeepEqual(src int64) bool { +func (p *ChangeEvaluatorScoreRequest) Field1DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *PreviewExportTracesToDatasetRequest) Field2DeepEqual(src []*SpanID) bool { +func (p *ChangeEvaluatorScoreRequest) Field2DeepEqual(src string) bool { - if len(p.SpanIds) != len(src) { + if strings.Compare(p.AnnotationID, src) != 0 { return false } - for i, v := range p.SpanIds { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *PreviewExportTracesToDatasetRequest) Field3DeepEqual(src dataset.DatasetCategory) bool { +func (p *ChangeEvaluatorScoreRequest) Field3DeepEqual(src string) bool { - if p.Category != src { + if strings.Compare(p.SpanID, src) != 0 { return false } return true } -func (p *PreviewExportTracesToDatasetRequest) Field4DeepEqual(src *DatasetConfig) bool { +func (p *ChangeEvaluatorScoreRequest) Field4DeepEqual(src int64) bool { - if !p.Config.DeepEqual(src) { + if p.StartTime != src { return false } return true } -func (p *PreviewExportTracesToDatasetRequest) Field5DeepEqual(src int64) bool { +func (p *ChangeEvaluatorScoreRequest) Field5DeepEqual(src *annotation.Correction) bool { - if p.StartTime != src { + if !p.Correction.DeepEqual(src) { return false } return true } -func (p *PreviewExportTracesToDatasetRequest) Field6DeepEqual(src int64) bool { - - if p.EndTime != src { - return false - } - return true -} -func (p *PreviewExportTracesToDatasetRequest) Field7DeepEqual(src *common.PlatformType) bool { +func (p *ChangeEvaluatorScoreRequest) Field6DeepEqual(src *common.PlatformType) bool { if p.PlatformType == src { return true @@ -15038,27 +15153,7 @@ func (p *PreviewExportTracesToDatasetRequest) Field7DeepEqual(src *common.Platfo } return true } -func (p *PreviewExportTracesToDatasetRequest) Field8DeepEqual(src dataset0.ExportType) bool { - - if strings.Compare(p.ExportType, src) != 0 { - return false - } - return true -} -func (p *PreviewExportTracesToDatasetRequest) Field9DeepEqual(src []*dataset0.FieldMapping) bool { - - if len(p.FieldMappings) != len(src) { - return false - } - for i, v := range p.FieldMappings { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *PreviewExportTracesToDatasetRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ChangeEvaluatorScoreRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -15066,131 +15161,65 @@ func (p *PreviewExportTracesToDatasetRequest) Field255DeepEqual(src *base.Base) return true } -type PreviewExportTracesToDatasetResponse struct { - // 预览数据 - Items []*dataset0.Item `thrift:"items,1,optional" frugal:"1,optional,list" form:"items" json:"items,omitempty" query:"items"` - // 概要错误信息 - Errors []*dataset.ItemErrorGroup `thrift:"errors,2,optional" frugal:"2,optional,list" form:"errors" json:"errors,omitempty" query:"errors"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"-" json:"-" query:"-"` - // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg - Code *int32 `thrift:"Code,256,optional" frugal:"256,optional,i32" form:"Code" json:"Code,omitempty" query:"Code"` - // 仅供http请求使用; 内部RPC不予使用,统一通过BaseResp获取Code和Msg - Msg *string `thrift:"Msg,257,optional" frugal:"257,optional,string" form:"Msg" json:"Msg,omitempty" query:"Msg"` -} - -func NewPreviewExportTracesToDatasetResponse() *PreviewExportTracesToDatasetResponse { - return &PreviewExportTracesToDatasetResponse{} +type ChangeEvaluatorScoreResponse struct { + Annotation *annotation.Annotation `thrift:"annotation,1,required" frugal:"1,required,annotation.Annotation" form:"annotation,required" json:"annotation,required" query:"annotation,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func (p *PreviewExportTracesToDatasetResponse) InitDefault() { +func NewChangeEvaluatorScoreResponse() *ChangeEvaluatorScoreResponse { + return &ChangeEvaluatorScoreResponse{} } -var PreviewExportTracesToDatasetResponse_Items_DEFAULT []*dataset0.Item - -func (p *PreviewExportTracesToDatasetResponse) GetItems() (v []*dataset0.Item) { - if p == nil { - return - } - if !p.IsSetItems() { - return PreviewExportTracesToDatasetResponse_Items_DEFAULT - } - return p.Items +func (p *ChangeEvaluatorScoreResponse) InitDefault() { } -var PreviewExportTracesToDatasetResponse_Errors_DEFAULT []*dataset.ItemErrorGroup +var ChangeEvaluatorScoreResponse_Annotation_DEFAULT *annotation.Annotation -func (p *PreviewExportTracesToDatasetResponse) GetErrors() (v []*dataset.ItemErrorGroup) { +func (p *ChangeEvaluatorScoreResponse) GetAnnotation() (v *annotation.Annotation) { if p == nil { return } - if !p.IsSetErrors() { - return PreviewExportTracesToDatasetResponse_Errors_DEFAULT + if !p.IsSetAnnotation() { + return ChangeEvaluatorScoreResponse_Annotation_DEFAULT } - return p.Errors + return p.Annotation } -var PreviewExportTracesToDatasetResponse_BaseResp_DEFAULT *base.BaseResp +var ChangeEvaluatorScoreResponse_BaseResp_DEFAULT *base.BaseResp -func (p *PreviewExportTracesToDatasetResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ChangeEvaluatorScoreResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return PreviewExportTracesToDatasetResponse_BaseResp_DEFAULT + return ChangeEvaluatorScoreResponse_BaseResp_DEFAULT } return p.BaseResp } - -var PreviewExportTracesToDatasetResponse_Code_DEFAULT int32 - -func (p *PreviewExportTracesToDatasetResponse) GetCode() (v int32) { - if p == nil { - return - } - if !p.IsSetCode() { - return PreviewExportTracesToDatasetResponse_Code_DEFAULT - } - return *p.Code -} - -var PreviewExportTracesToDatasetResponse_Msg_DEFAULT string - -func (p *PreviewExportTracesToDatasetResponse) GetMsg() (v string) { - if p == nil { - return - } - if !p.IsSetMsg() { - return PreviewExportTracesToDatasetResponse_Msg_DEFAULT - } - return *p.Msg -} -func (p *PreviewExportTracesToDatasetResponse) SetItems(val []*dataset0.Item) { - p.Items = val -} -func (p *PreviewExportTracesToDatasetResponse) SetErrors(val []*dataset.ItemErrorGroup) { - p.Errors = val +func (p *ChangeEvaluatorScoreResponse) SetAnnotation(val *annotation.Annotation) { + p.Annotation = val } -func (p *PreviewExportTracesToDatasetResponse) SetBaseResp(val *base.BaseResp) { +func (p *ChangeEvaluatorScoreResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -func (p *PreviewExportTracesToDatasetResponse) SetCode(val *int32) { - p.Code = val -} -func (p *PreviewExportTracesToDatasetResponse) SetMsg(val *string) { - p.Msg = val -} -var fieldIDToName_PreviewExportTracesToDatasetResponse = map[int16]string{ - 1: "items", - 2: "errors", +var fieldIDToName_ChangeEvaluatorScoreResponse = map[int16]string{ + 1: "annotation", 255: "BaseResp", - 256: "Code", - 257: "Msg", -} - -func (p *PreviewExportTracesToDatasetResponse) IsSetItems() bool { - return p.Items != nil } -func (p *PreviewExportTracesToDatasetResponse) IsSetErrors() bool { - return p.Errors != nil +func (p *ChangeEvaluatorScoreResponse) IsSetAnnotation() bool { + return p.Annotation != nil } -func (p *PreviewExportTracesToDatasetResponse) IsSetBaseResp() bool { +func (p *ChangeEvaluatorScoreResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *PreviewExportTracesToDatasetResponse) IsSetCode() bool { - return p.Code != nil -} - -func (p *PreviewExportTracesToDatasetResponse) IsSetMsg() bool { - return p.Msg != nil -} - -func (p *PreviewExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 + var issetAnnotation bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -15207,18 +15236,11 @@ func (p *PreviewExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRUCT { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } + issetAnnotation = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -15230,22 +15252,6 @@ func (p *PreviewExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 256: - if fieldTypeId == thrift.I32 { - if err = p.ReadField256(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 257: - if fieldTypeId == thrift.STRING { - if err = p.ReadField257(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } default: if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError @@ -15259,13 +15265,17 @@ func (p *PreviewExportTracesToDatasetResponse) Read(iprot thrift.TProtocol) (err goto ReadStructEndError } + if !issetAnnotation { + fieldId = 1 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_PreviewExportTracesToDatasetResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ChangeEvaluatorScoreResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15273,55 +15283,19 @@ ReadFieldEndError: return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +RequiredFieldNotSetError: + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ChangeEvaluatorScoreResponse[fieldId])) } -func (p *PreviewExportTracesToDatasetResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*dataset0.Item, 0, size) - values := make([]dataset0.Item, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.Items = _field - return nil -} -func (p *PreviewExportTracesToDatasetResponse) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*dataset.ItemErrorGroup, 0, size) - values := make([]dataset.ItemErrorGroup, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { +func (p *ChangeEvaluatorScoreResponse) ReadField1(iprot thrift.TProtocol) error { + _field := annotation.NewAnnotation() + if err := _field.Read(iprot); err != nil { return err } - p.Errors = _field + p.Annotation = _field return nil } -func (p *PreviewExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ChangeEvaluatorScoreResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -15329,32 +15303,10 @@ func (p *PreviewExportTracesToDatasetResponse) ReadField255(iprot thrift.TProtoc p.BaseResp = _field return nil } -func (p *PreviewExportTracesToDatasetResponse) ReadField256(iprot thrift.TProtocol) error { - - var _field *int32 - if v, err := iprot.ReadI32(); err != nil { - return err - } else { - _field = &v - } - p.Code = _field - return nil -} -func (p *PreviewExportTracesToDatasetResponse) ReadField257(iprot thrift.TProtocol) error { - - var _field *string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.Msg = _field - return nil -} -func (p *PreviewExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("PreviewExportTracesToDatasetResponse"); err != nil { + if err = oprot.WriteStructBegin("ChangeEvaluatorScoreResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15362,22 +15314,10 @@ func (p *PreviewExportTracesToDatasetResponse) Write(oprot thrift.TProtocol) (er fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError } - if err = p.writeField256(oprot); err != nil { - fieldId = 256 - goto WriteFieldError - } - if err = p.writeField257(oprot); err != nil { - fieldId = 257 - goto WriteFieldError - } } if err = oprot.WriteFieldStop(); err != nil { goto WriteFieldStopError @@ -15396,25 +15336,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *PreviewExportTracesToDatasetResponse) writeField1(oprot thrift.TProtocol) (err error) { - if p.IsSetItems() { - if err = oprot.WriteFieldBegin("items", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Items)); err != nil { - return err - } - for _, v := range p.Items { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } +func (p *ChangeEvaluatorScoreResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 1); err != nil { + goto WriteFieldBeginError + } + if err := p.Annotation.Write(oprot); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: @@ -15422,33 +15352,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetResponse) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetErrors() { - if err = oprot.WriteFieldBegin("errors", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Errors)); err != nil { - return err - } - for _, v := range p.Errors { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ChangeEvaluatorScoreResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -15466,265 +15370,116 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *PreviewExportTracesToDatasetResponse) writeField256(oprot thrift.TProtocol) (err error) { - if p.IsSetCode() { - if err = oprot.WriteFieldBegin("Code", thrift.I32, 256); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI32(*p.Code); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 256 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 256 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetResponse) writeField257(oprot thrift.TProtocol) (err error) { - if p.IsSetMsg() { - if err = oprot.WriteFieldBegin("Msg", thrift.STRING, 257); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.Msg); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 257 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 257 end error: ", p), err) -} -func (p *PreviewExportTracesToDatasetResponse) String() string { +func (p *ChangeEvaluatorScoreResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("PreviewExportTracesToDatasetResponse(%+v)", *p) + return fmt.Sprintf("ChangeEvaluatorScoreResponse(%+v)", *p) } -func (p *PreviewExportTracesToDatasetResponse) DeepEqual(ano *PreviewExportTracesToDatasetResponse) bool { +func (p *ChangeEvaluatorScoreResponse) DeepEqual(ano *ChangeEvaluatorScoreResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Items) { - return false - } - if !p.Field2DeepEqual(ano.Errors) { + if !p.Field1DeepEqual(ano.Annotation) { return false } if !p.Field255DeepEqual(ano.BaseResp) { return false } - if !p.Field256DeepEqual(ano.Code) { - return false - } - if !p.Field257DeepEqual(ano.Msg) { - return false - } return true } -func (p *PreviewExportTracesToDatasetResponse) Field1DeepEqual(src []*dataset0.Item) bool { - - if len(p.Items) != len(src) { - return false - } - for i, v := range p.Items { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *PreviewExportTracesToDatasetResponse) Field2DeepEqual(src []*dataset.ItemErrorGroup) bool { +func (p *ChangeEvaluatorScoreResponse) Field1DeepEqual(src *annotation.Annotation) bool { - if len(p.Errors) != len(src) { + if !p.Annotation.DeepEqual(src) { return false } - for i, v := range p.Errors { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *PreviewExportTracesToDatasetResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ChangeEvaluatorScoreResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *PreviewExportTracesToDatasetResponse) Field256DeepEqual(src *int32) bool { - - if p.Code == src { - return true - } else if p.Code == nil || src == nil { - return false - } - if *p.Code != *src { - return false - } - return true -} -func (p *PreviewExportTracesToDatasetResponse) Field257DeepEqual(src *string) bool { - - if p.Msg == src { - return true - } else if p.Msg == nil || src == nil { - return false - } - if strings.Compare(*p.Msg, *src) != 0 { - return false - } - return true -} -type ChangeEvaluatorScoreRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - AnnotationID string `thrift:"annotation_id,2,required" frugal:"2,required,string" form:"annotation_id,required" json:"annotation_id,required"` - SpanID string `thrift:"span_id,3,required" frugal:"3,required,string" form:"span_id,required" json:"span_id,required"` - StartTime int64 `thrift:"start_time,4,required" frugal:"4,required,i64" json:"start_time" form:"start_time,required" ` - Correction *annotation.Correction `thrift:"correction,5,required" frugal:"5,required,annotation.Correction" form:"correction,required" json:"correction,required"` - PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"Base" json:"Base,omitempty" query:"Base"` +type ListAnnotationEvaluatorsRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" query:"workspace_id,required" ` + Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` } -func NewChangeEvaluatorScoreRequest() *ChangeEvaluatorScoreRequest { - return &ChangeEvaluatorScoreRequest{} +func NewListAnnotationEvaluatorsRequest() *ListAnnotationEvaluatorsRequest { + return &ListAnnotationEvaluatorsRequest{} } -func (p *ChangeEvaluatorScoreRequest) InitDefault() { +func (p *ListAnnotationEvaluatorsRequest) InitDefault() { } -func (p *ChangeEvaluatorScoreRequest) GetWorkspaceID() (v int64) { +func (p *ListAnnotationEvaluatorsRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -func (p *ChangeEvaluatorScoreRequest) GetAnnotationID() (v string) { - if p != nil { - return p.AnnotationID - } - return -} - -func (p *ChangeEvaluatorScoreRequest) GetSpanID() (v string) { - if p != nil { - return p.SpanID - } - return -} - -func (p *ChangeEvaluatorScoreRequest) GetStartTime() (v int64) { - if p != nil { - return p.StartTime - } - return -} - -var ChangeEvaluatorScoreRequest_Correction_DEFAULT *annotation.Correction - -func (p *ChangeEvaluatorScoreRequest) GetCorrection() (v *annotation.Correction) { - if p == nil { - return - } - if !p.IsSetCorrection() { - return ChangeEvaluatorScoreRequest_Correction_DEFAULT - } - return p.Correction -} - -var ChangeEvaluatorScoreRequest_PlatformType_DEFAULT common.PlatformType +var ListAnnotationEvaluatorsRequest_Name_DEFAULT string -func (p *ChangeEvaluatorScoreRequest) GetPlatformType() (v common.PlatformType) { +func (p *ListAnnotationEvaluatorsRequest) GetName() (v string) { if p == nil { return } - if !p.IsSetPlatformType() { - return ChangeEvaluatorScoreRequest_PlatformType_DEFAULT + if !p.IsSetName() { + return ListAnnotationEvaluatorsRequest_Name_DEFAULT } - return *p.PlatformType + return *p.Name } -var ChangeEvaluatorScoreRequest_Base_DEFAULT *base.Base +var ListAnnotationEvaluatorsRequest_Base_DEFAULT *base.Base -func (p *ChangeEvaluatorScoreRequest) GetBase() (v *base.Base) { +func (p *ListAnnotationEvaluatorsRequest) GetBase() (v *base.Base) { if p == nil { return } if !p.IsSetBase() { - return ChangeEvaluatorScoreRequest_Base_DEFAULT + return ListAnnotationEvaluatorsRequest_Base_DEFAULT } return p.Base } -func (p *ChangeEvaluatorScoreRequest) SetWorkspaceID(val int64) { +func (p *ListAnnotationEvaluatorsRequest) SetWorkspaceID(val int64) { p.WorkspaceID = val } -func (p *ChangeEvaluatorScoreRequest) SetAnnotationID(val string) { - p.AnnotationID = val -} -func (p *ChangeEvaluatorScoreRequest) SetSpanID(val string) { - p.SpanID = val -} -func (p *ChangeEvaluatorScoreRequest) SetStartTime(val int64) { - p.StartTime = val -} -func (p *ChangeEvaluatorScoreRequest) SetCorrection(val *annotation.Correction) { - p.Correction = val -} -func (p *ChangeEvaluatorScoreRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val +func (p *ListAnnotationEvaluatorsRequest) SetName(val *string) { + p.Name = val } -func (p *ChangeEvaluatorScoreRequest) SetBase(val *base.Base) { +func (p *ListAnnotationEvaluatorsRequest) SetBase(val *base.Base) { p.Base = val } -var fieldIDToName_ChangeEvaluatorScoreRequest = map[int16]string{ +var fieldIDToName_ListAnnotationEvaluatorsRequest = map[int16]string{ 1: "workspace_id", - 2: "annotation_id", - 3: "span_id", - 4: "start_time", - 5: "correction", - 6: "platform_type", + 2: "name", 255: "Base", } -func (p *ChangeEvaluatorScoreRequest) IsSetCorrection() bool { - return p.Correction != nil -} - -func (p *ChangeEvaluatorScoreRequest) IsSetPlatformType() bool { - return p.PlatformType != nil +func (p *ListAnnotationEvaluatorsRequest) IsSetName() bool { + return p.Name != nil } -func (p *ChangeEvaluatorScoreRequest) IsSetBase() bool { +func (p *ListAnnotationEvaluatorsRequest) IsSetBase() bool { return p.Base != nil } -func (p *ChangeEvaluatorScoreRequest) Read(iprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsRequest) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 var issetWorkspaceID bool = false - var issetAnnotationID bool = false - var issetSpanID bool = false - var issetStartTime bool = false - var issetCorrection bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -15754,42 +15509,6 @@ func (p *ChangeEvaluatorScoreRequest) Read(iprot thrift.TProtocol) (err error) { if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } - issetAnnotationID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.STRING { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - issetSpanID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.I64 { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - issetStartTime = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - issetCorrection = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.STRING { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -15818,33 +15537,13 @@ func (p *ChangeEvaluatorScoreRequest) Read(iprot thrift.TProtocol) (err error) { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetAnnotationID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetSpanID { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetStartTime { - fieldId = 4 - goto RequiredFieldNotSetError - } - - if !issetCorrection { - fieldId = 5 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ChangeEvaluatorScoreRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationEvaluatorsRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -15853,10 +15552,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ChangeEvaluatorScoreRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationEvaluatorsRequest[fieldId])) } -func (p *ChangeEvaluatorScoreRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ListAnnotationEvaluatorsRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -15867,59 +15566,18 @@ func (p *ChangeEvaluatorScoreRequest) ReadField1(iprot thrift.TProtocol) error { p.WorkspaceID = _field return nil } -func (p *ChangeEvaluatorScoreRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.AnnotationID = _field - return nil -} -func (p *ChangeEvaluatorScoreRequest) ReadField3(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.SpanID = _field - return nil -} -func (p *ChangeEvaluatorScoreRequest) ReadField4(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.StartTime = _field - return nil -} -func (p *ChangeEvaluatorScoreRequest) ReadField5(iprot thrift.TProtocol) error { - _field := annotation.NewCorrection() - if err := _field.Read(iprot); err != nil { - return err - } - p.Correction = _field - return nil -} -func (p *ChangeEvaluatorScoreRequest) ReadField6(iprot thrift.TProtocol) error { +func (p *ListAnnotationEvaluatorsRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *common.PlatformType + var _field *string if v, err := iprot.ReadString(); err != nil { return err } else { _field = &v } - p.PlatformType = _field + p.Name = _field return nil } -func (p *ChangeEvaluatorScoreRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ListAnnotationEvaluatorsRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -15928,9 +15586,9 @@ func (p *ChangeEvaluatorScoreRequest) ReadField255(iprot thrift.TProtocol) error return nil } -func (p *ChangeEvaluatorScoreRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ChangeEvaluatorScoreRequest"); err != nil { + if err = oprot.WriteStructBegin("ListAnnotationEvaluatorsRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -15942,22 +15600,6 @@ func (p *ChangeEvaluatorScoreRequest) Write(oprot thrift.TProtocol) (err error) fieldId = 2 goto WriteFieldError } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -15980,7 +15622,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ChangeEvaluatorScoreRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -15996,76 +15638,12 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ChangeEvaluatorScoreRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation_id", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.AnnotationID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ChangeEvaluatorScoreRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 3); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.SpanID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ChangeEvaluatorScoreRequest) writeField4(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.StartTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ChangeEvaluatorScoreRequest) writeField5(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("correction", thrift.STRUCT, 5); err != nil { - goto WriteFieldBeginError - } - if err := p.Correction.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *ChangeEvaluatorScoreRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { +func (p *ListAnnotationEvaluatorsRequest) writeField2(oprot thrift.TProtocol) (err error) { + if p.IsSetName() { + if err = oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.PlatformType); err != nil { + if err := oprot.WriteString(*p.Name); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -16074,11 +15652,11 @@ func (p *ChangeEvaluatorScoreRequest) writeField6(oprot thrift.TProtocol) (err e } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ChangeEvaluatorScoreRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -16097,15 +15675,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ChangeEvaluatorScoreRequest) String() string { +func (p *ListAnnotationEvaluatorsRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ChangeEvaluatorScoreRequest(%+v)", *p) + return fmt.Sprintf("ListAnnotationEvaluatorsRequest(%+v)", *p) } -func (p *ChangeEvaluatorScoreRequest) DeepEqual(ano *ChangeEvaluatorScoreRequest) bool { +func (p *ListAnnotationEvaluatorsRequest) DeepEqual(ano *ListAnnotationEvaluatorsRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16114,19 +15692,7 @@ func (p *ChangeEvaluatorScoreRequest) DeepEqual(ano *ChangeEvaluatorScoreRequest if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.AnnotationID) { - return false - } - if !p.Field3DeepEqual(ano.SpanID) { - return false - } - if !p.Field4DeepEqual(ano.StartTime) { - return false - } - if !p.Field5DeepEqual(ano.Correction) { - return false - } - if !p.Field6DeepEqual(ano.PlatformType) { + if !p.Field2DeepEqual(ano.Name) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -16135,54 +15701,26 @@ func (p *ChangeEvaluatorScoreRequest) DeepEqual(ano *ChangeEvaluatorScoreRequest return true } -func (p *ChangeEvaluatorScoreRequest) Field1DeepEqual(src int64) bool { +func (p *ListAnnotationEvaluatorsRequest) Field1DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *ChangeEvaluatorScoreRequest) Field2DeepEqual(src string) bool { - - if strings.Compare(p.AnnotationID, src) != 0 { - return false - } - return true -} -func (p *ChangeEvaluatorScoreRequest) Field3DeepEqual(src string) bool { - - if strings.Compare(p.SpanID, src) != 0 { - return false - } - return true -} -func (p *ChangeEvaluatorScoreRequest) Field4DeepEqual(src int64) bool { - - if p.StartTime != src { - return false - } - return true -} -func (p *ChangeEvaluatorScoreRequest) Field5DeepEqual(src *annotation.Correction) bool { - - if !p.Correction.DeepEqual(src) { - return false - } - return true -} -func (p *ChangeEvaluatorScoreRequest) Field6DeepEqual(src *common.PlatformType) bool { +func (p *ListAnnotationEvaluatorsRequest) Field2DeepEqual(src *string) bool { - if p.PlatformType == src { + if p.Name == src { return true - } else if p.PlatformType == nil || src == nil { + } else if p.Name == nil || src == nil { return false } - if strings.Compare(*p.PlatformType, *src) != 0 { + if strings.Compare(*p.Name, *src) != 0 { return false } return true } -func (p *ChangeEvaluatorScoreRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ListAnnotationEvaluatorsRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -16190,65 +15728,56 @@ func (p *ChangeEvaluatorScoreRequest) Field255DeepEqual(src *base.Base) bool { return true } -type ChangeEvaluatorScoreResponse struct { - Annotation *annotation.Annotation `thrift:"annotation,1,required" frugal:"1,required,annotation.Annotation" form:"annotation,required" json:"annotation,required" query:"annotation,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type ListAnnotationEvaluatorsResponse struct { + Evaluators []*annotation.AnnotationEvaluator `thrift:"evaluators,1,required" frugal:"1,required,list" form:"evaluators,required" json:"evaluators,required" query:"evaluators,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func NewChangeEvaluatorScoreResponse() *ChangeEvaluatorScoreResponse { - return &ChangeEvaluatorScoreResponse{} +func NewListAnnotationEvaluatorsResponse() *ListAnnotationEvaluatorsResponse { + return &ListAnnotationEvaluatorsResponse{} } -func (p *ChangeEvaluatorScoreResponse) InitDefault() { +func (p *ListAnnotationEvaluatorsResponse) InitDefault() { } -var ChangeEvaluatorScoreResponse_Annotation_DEFAULT *annotation.Annotation - -func (p *ChangeEvaluatorScoreResponse) GetAnnotation() (v *annotation.Annotation) { - if p == nil { - return - } - if !p.IsSetAnnotation() { - return ChangeEvaluatorScoreResponse_Annotation_DEFAULT +func (p *ListAnnotationEvaluatorsResponse) GetEvaluators() (v []*annotation.AnnotationEvaluator) { + if p != nil { + return p.Evaluators } - return p.Annotation + return } -var ChangeEvaluatorScoreResponse_BaseResp_DEFAULT *base.BaseResp +var ListAnnotationEvaluatorsResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ChangeEvaluatorScoreResponse) GetBaseResp() (v *base.BaseResp) { +func (p *ListAnnotationEvaluatorsResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } if !p.IsSetBaseResp() { - return ChangeEvaluatorScoreResponse_BaseResp_DEFAULT + return ListAnnotationEvaluatorsResponse_BaseResp_DEFAULT } return p.BaseResp } -func (p *ChangeEvaluatorScoreResponse) SetAnnotation(val *annotation.Annotation) { - p.Annotation = val +func (p *ListAnnotationEvaluatorsResponse) SetEvaluators(val []*annotation.AnnotationEvaluator) { + p.Evaluators = val } -func (p *ChangeEvaluatorScoreResponse) SetBaseResp(val *base.BaseResp) { +func (p *ListAnnotationEvaluatorsResponse) SetBaseResp(val *base.BaseResp) { p.BaseResp = val } -var fieldIDToName_ChangeEvaluatorScoreResponse = map[int16]string{ - 1: "annotation", +var fieldIDToName_ListAnnotationEvaluatorsResponse = map[int16]string{ + 1: "evaluators", 255: "BaseResp", } -func (p *ChangeEvaluatorScoreResponse) IsSetAnnotation() bool { - return p.Annotation != nil -} - -func (p *ChangeEvaluatorScoreResponse) IsSetBaseResp() bool { +func (p *ListAnnotationEvaluatorsResponse) IsSetBaseResp() bool { return p.BaseResp != nil } -func (p *ChangeEvaluatorScoreResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsResponse) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetAnnotation bool = false + var issetEvaluators bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -16265,11 +15794,11 @@ func (p *ChangeEvaluatorScoreResponse) Read(iprot thrift.TProtocol) (err error) switch fieldId { case 1: - if fieldTypeId == thrift.STRUCT { + if fieldTypeId == thrift.LIST { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetAnnotation = true + issetEvaluators = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -16294,7 +15823,7 @@ func (p *ChangeEvaluatorScoreResponse) Read(iprot thrift.TProtocol) (err error) goto ReadStructEndError } - if !issetAnnotation { + if !issetEvaluators { fieldId = 1 goto RequiredFieldNotSetError } @@ -16304,7 +15833,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ChangeEvaluatorScoreResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationEvaluatorsResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16313,18 +15842,33 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ChangeEvaluatorScoreResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationEvaluatorsResponse[fieldId])) } -func (p *ChangeEvaluatorScoreResponse) ReadField1(iprot thrift.TProtocol) error { - _field := annotation.NewAnnotation() - if err := _field.Read(iprot); err != nil { +func (p *ListAnnotationEvaluatorsResponse) ReadField1(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { return err } - p.Annotation = _field + _field := make([]*annotation.AnnotationEvaluator, 0, size) + values := make([]annotation.AnnotationEvaluator, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.Evaluators = _field return nil } -func (p *ChangeEvaluatorScoreResponse) ReadField255(iprot thrift.TProtocol) error { +func (p *ListAnnotationEvaluatorsResponse) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err @@ -16333,9 +15877,9 @@ func (p *ChangeEvaluatorScoreResponse) ReadField255(iprot thrift.TProtocol) erro return nil } -func (p *ChangeEvaluatorScoreResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ChangeEvaluatorScoreResponse"); err != nil { + if err = oprot.WriteStructBegin("ListAnnotationEvaluatorsResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16365,11 +15909,19 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ChangeEvaluatorScoreResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("annotation", thrift.STRUCT, 1); err != nil { +func (p *ListAnnotationEvaluatorsResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("evaluators", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := p.Annotation.Write(oprot); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Evaluators)); err != nil { + return err + } + for _, v := range p.Evaluators { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -16381,7 +15933,7 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ChangeEvaluatorScoreResponse) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ListAnnotationEvaluatorsResponse) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBaseResp() { if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -16400,21 +15952,21 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ChangeEvaluatorScoreResponse) String() string { +func (p *ListAnnotationEvaluatorsResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ChangeEvaluatorScoreResponse(%+v)", *p) + return fmt.Sprintf("ListAnnotationEvaluatorsResponse(%+v)", *p) } -func (p *ChangeEvaluatorScoreResponse) DeepEqual(ano *ChangeEvaluatorScoreResponse) bool { +func (p *ListAnnotationEvaluatorsResponse) DeepEqual(ano *ListAnnotationEvaluatorsResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Annotation) { + if !p.Field1DeepEqual(ano.Evaluators) { return false } if !p.Field255DeepEqual(ano.BaseResp) { @@ -16423,14 +15975,20 @@ func (p *ChangeEvaluatorScoreResponse) DeepEqual(ano *ChangeEvaluatorScoreRespon return true } -func (p *ChangeEvaluatorScoreResponse) Field1DeepEqual(src *annotation.Annotation) bool { +func (p *ListAnnotationEvaluatorsResponse) Field1DeepEqual(src []*annotation.AnnotationEvaluator) bool { - if !p.Annotation.DeepEqual(src) { + if len(p.Evaluators) != len(src) { return false } + for i, v := range p.Evaluators { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -func (p *ChangeEvaluatorScoreResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *ListAnnotationEvaluatorsResponse) Field255DeepEqual(src *base.BaseResp) bool { if !p.BaseResp.DeepEqual(src) { return false @@ -16438,80 +15996,169 @@ func (p *ChangeEvaluatorScoreResponse) Field255DeepEqual(src *base.BaseResp) boo return true } -type ListAnnotationEvaluatorsRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" query:"workspace_id,required" ` - Name *string `thrift:"name,2,optional" frugal:"2,optional,string" form:"name" json:"name,omitempty"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` +type ExtractSpanInfoRequest struct { + WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` + TraceID string `thrift:"trace_id,2,required" frugal:"2,required,string" form:"trace_id,required" json:"trace_id,required"` + SpanIds []string `thrift:"span_ids,3,required" frugal:"3,required,list" form:"span_ids,required" json:"span_ids,required"` + StartTime *int64 `thrift:"start_time,4,optional" frugal:"4,optional,i64" json:"start_time" form:"start_time" ` + EndTime *int64 `thrift:"end_time,5,optional" frugal:"5,optional,i64" json:"end_time" form:"end_time" ` + PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` + FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,7,optional" frugal:"7,optional,list" form:"field_mappings" json:"field_mappings,omitempty" query:"field_mappings"` + Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` } -func NewListAnnotationEvaluatorsRequest() *ListAnnotationEvaluatorsRequest { - return &ListAnnotationEvaluatorsRequest{} +func NewExtractSpanInfoRequest() *ExtractSpanInfoRequest { + return &ExtractSpanInfoRequest{} } -func (p *ListAnnotationEvaluatorsRequest) InitDefault() { +func (p *ExtractSpanInfoRequest) InitDefault() { } -func (p *ListAnnotationEvaluatorsRequest) GetWorkspaceID() (v int64) { +func (p *ExtractSpanInfoRequest) GetWorkspaceID() (v int64) { if p != nil { return p.WorkspaceID } return } -var ListAnnotationEvaluatorsRequest_Name_DEFAULT string +func (p *ExtractSpanInfoRequest) GetTraceID() (v string) { + if p != nil { + return p.TraceID + } + return +} -func (p *ListAnnotationEvaluatorsRequest) GetName() (v string) { +func (p *ExtractSpanInfoRequest) GetSpanIds() (v []string) { + if p != nil { + return p.SpanIds + } + return +} + +var ExtractSpanInfoRequest_StartTime_DEFAULT int64 + +func (p *ExtractSpanInfoRequest) GetStartTime() (v int64) { if p == nil { return } - if !p.IsSetName() { - return ListAnnotationEvaluatorsRequest_Name_DEFAULT + if !p.IsSetStartTime() { + return ExtractSpanInfoRequest_StartTime_DEFAULT } - return *p.Name + return *p.StartTime } -var ListAnnotationEvaluatorsRequest_Base_DEFAULT *base.Base +var ExtractSpanInfoRequest_EndTime_DEFAULT int64 -func (p *ListAnnotationEvaluatorsRequest) GetBase() (v *base.Base) { +func (p *ExtractSpanInfoRequest) GetEndTime() (v int64) { if p == nil { return } - if !p.IsSetBase() { - return ListAnnotationEvaluatorsRequest_Base_DEFAULT + if !p.IsSetEndTime() { + return ExtractSpanInfoRequest_EndTime_DEFAULT } - return p.Base -} -func (p *ListAnnotationEvaluatorsRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ListAnnotationEvaluatorsRequest) SetName(val *string) { - p.Name = val -} -func (p *ListAnnotationEvaluatorsRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_ListAnnotationEvaluatorsRequest = map[int16]string{ - 1: "workspace_id", - 2: "name", - 255: "Base", + return *p.EndTime } -func (p *ListAnnotationEvaluatorsRequest) IsSetName() bool { - return p.Name != nil -} +var ExtractSpanInfoRequest_PlatformType_DEFAULT common.PlatformType -func (p *ListAnnotationEvaluatorsRequest) IsSetBase() bool { - return p.Base != nil +func (p *ExtractSpanInfoRequest) GetPlatformType() (v common.PlatformType) { + if p == nil { + return + } + if !p.IsSetPlatformType() { + return ExtractSpanInfoRequest_PlatformType_DEFAULT + } + return *p.PlatformType } -func (p *ListAnnotationEvaluatorsRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false +var ExtractSpanInfoRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *ExtractSpanInfoRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { + if p == nil { + return + } + if !p.IsSetFieldMappings() { + return ExtractSpanInfoRequest_FieldMappings_DEFAULT + } + return p.FieldMappings +} + +var ExtractSpanInfoRequest_Base_DEFAULT *base.Base + +func (p *ExtractSpanInfoRequest) GetBase() (v *base.Base) { + if p == nil { + return + } + if !p.IsSetBase() { + return ExtractSpanInfoRequest_Base_DEFAULT + } + return p.Base +} +func (p *ExtractSpanInfoRequest) SetWorkspaceID(val int64) { + p.WorkspaceID = val +} +func (p *ExtractSpanInfoRequest) SetTraceID(val string) { + p.TraceID = val +} +func (p *ExtractSpanInfoRequest) SetSpanIds(val []string) { + p.SpanIds = val +} +func (p *ExtractSpanInfoRequest) SetStartTime(val *int64) { + p.StartTime = val +} +func (p *ExtractSpanInfoRequest) SetEndTime(val *int64) { + p.EndTime = val +} +func (p *ExtractSpanInfoRequest) SetPlatformType(val *common.PlatformType) { + p.PlatformType = val +} +func (p *ExtractSpanInfoRequest) SetFieldMappings(val []*dataset0.FieldMapping) { + p.FieldMappings = val +} +func (p *ExtractSpanInfoRequest) SetBase(val *base.Base) { + p.Base = val +} + +var fieldIDToName_ExtractSpanInfoRequest = map[int16]string{ + 1: "workspace_id", + 2: "trace_id", + 3: "span_ids", + 4: "start_time", + 5: "end_time", + 6: "platform_type", + 7: "field_mappings", + 255: "Base", +} + +func (p *ExtractSpanInfoRequest) IsSetStartTime() bool { + return p.StartTime != nil +} + +func (p *ExtractSpanInfoRequest) IsSetEndTime() bool { + return p.EndTime != nil +} + +func (p *ExtractSpanInfoRequest) IsSetPlatformType() bool { + return p.PlatformType != nil +} + +func (p *ExtractSpanInfoRequest) IsSetFieldMappings() bool { + return p.FieldMappings != nil +} + +func (p *ExtractSpanInfoRequest) IsSetBase() bool { + return p.Base != nil +} + +func (p *ExtractSpanInfoRequest) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetWorkspaceID bool = false + var issetTraceID bool = false + var issetSpanIds bool = false + + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } for { @@ -16538,6 +16185,48 @@ func (p *ListAnnotationEvaluatorsRequest) Read(iprot thrift.TProtocol) (err erro if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetTraceID = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 3: + if fieldTypeId == thrift.LIST { + if err = p.ReadField3(iprot); err != nil { + goto ReadFieldError + } + issetSpanIds = true + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 4: + if fieldTypeId == thrift.I64 { + if err = p.ReadField4(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 5: + if fieldTypeId == thrift.I64 { + if err = p.ReadField5(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 6: + if fieldTypeId == thrift.STRING { + if err = p.ReadField6(iprot); err != nil { + goto ReadFieldError + } + } else if err = iprot.Skip(fieldTypeId); err != nil { + goto SkipFieldError + } + case 7: + if fieldTypeId == thrift.LIST { + if err = p.ReadField7(iprot); err != nil { + goto ReadFieldError + } } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -16566,13 +16255,23 @@ func (p *ListAnnotationEvaluatorsRequest) Read(iprot thrift.TProtocol) (err erro fieldId = 1 goto RequiredFieldNotSetError } + + if !issetTraceID { + fieldId = 2 + goto RequiredFieldNotSetError + } + + if !issetSpanIds { + fieldId = 3 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationEvaluatorsRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExtractSpanInfoRequest[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16581,10 +16280,10 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationEvaluatorsRequest[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExtractSpanInfoRequest[fieldId])) } -func (p *ListAnnotationEvaluatorsRequest) ReadField1(iprot thrift.TProtocol) error { +func (p *ExtractSpanInfoRequest) ReadField1(iprot thrift.TProtocol) error { var _field int64 if v, err := iprot.ReadI64(); err != nil { @@ -16595,18 +16294,97 @@ func (p *ListAnnotationEvaluatorsRequest) ReadField1(iprot thrift.TProtocol) err p.WorkspaceID = _field return nil } -func (p *ListAnnotationEvaluatorsRequest) ReadField2(iprot thrift.TProtocol) error { +func (p *ExtractSpanInfoRequest) ReadField2(iprot thrift.TProtocol) error { - var _field *string + var _field string if v, err := iprot.ReadString(); err != nil { return err + } else { + _field = v + } + p.TraceID = _field + return nil +} +func (p *ExtractSpanInfoRequest) ReadField3(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]string, 0, size) + for i := 0; i < size; i++ { + + var _elem string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _elem = v + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.SpanIds = _field + return nil +} +func (p *ExtractSpanInfoRequest) ReadField4(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err } else { _field = &v } - p.Name = _field + p.StartTime = _field return nil } -func (p *ListAnnotationEvaluatorsRequest) ReadField255(iprot thrift.TProtocol) error { +func (p *ExtractSpanInfoRequest) ReadField5(iprot thrift.TProtocol) error { + + var _field *int64 + if v, err := iprot.ReadI64(); err != nil { + return err + } else { + _field = &v + } + p.EndTime = _field + return nil +} +func (p *ExtractSpanInfoRequest) ReadField6(iprot thrift.TProtocol) error { + + var _field *common.PlatformType + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = &v + } + p.PlatformType = _field + return nil +} +func (p *ExtractSpanInfoRequest) ReadField7(iprot thrift.TProtocol) error { + _, size, err := iprot.ReadListBegin() + if err != nil { + return err + } + _field := make([]*dataset0.FieldMapping, 0, size) + values := make([]dataset0.FieldMapping, size) + for i := 0; i < size; i++ { + _elem := &values[i] + _elem.InitDefault() + + if err := _elem.Read(iprot); err != nil { + return err + } + + _field = append(_field, _elem) + } + if err := iprot.ReadListEnd(); err != nil { + return err + } + p.FieldMappings = _field + return nil +} +func (p *ExtractSpanInfoRequest) ReadField255(iprot thrift.TProtocol) error { _field := base.NewBase() if err := _field.Read(iprot); err != nil { return err @@ -16615,9 +16393,9 @@ func (p *ListAnnotationEvaluatorsRequest) ReadField255(iprot thrift.TProtocol) e return nil } -func (p *ListAnnotationEvaluatorsRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ExtractSpanInfoRequest) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListAnnotationEvaluatorsRequest"); err != nil { + if err = oprot.WriteStructBegin("ExtractSpanInfoRequest"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16629,6 +16407,26 @@ func (p *ListAnnotationEvaluatorsRequest) Write(oprot thrift.TProtocol) (err err fieldId = 2 goto WriteFieldError } + if err = p.writeField3(oprot); err != nil { + fieldId = 3 + goto WriteFieldError + } + if err = p.writeField4(oprot); err != nil { + fieldId = 4 + goto WriteFieldError + } + if err = p.writeField5(oprot); err != nil { + fieldId = 5 + goto WriteFieldError + } + if err = p.writeField6(oprot); err != nil { + fieldId = 6 + goto WriteFieldError + } + if err = p.writeField7(oprot); err != nil { + fieldId = 7 + goto WriteFieldError + } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -16651,7 +16449,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListAnnotationEvaluatorsRequest) writeField1(oprot thrift.TProtocol) (err error) { +func (p *ExtractSpanInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { goto WriteFieldBeginError } @@ -16667,12 +16465,52 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListAnnotationEvaluatorsRequest) writeField2(oprot thrift.TProtocol) (err error) { - if p.IsSetName() { - if err = oprot.WriteFieldBegin("name", thrift.STRING, 2); err != nil { +func (p *ExtractSpanInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(p.TraceID); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) +} +func (p *ExtractSpanInfoRequest) writeField3(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 3); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRING, len(p.SpanIds)); err != nil { + return err + } + for _, v := range p.SpanIds { + if err := oprot.WriteString(v); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) +} +func (p *ExtractSpanInfoRequest) writeField4(oprot thrift.TProtocol) (err error) { + if p.IsSetStartTime() { + if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteString(*p.Name); err != nil { + if err := oprot.WriteI64(*p.StartTime); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -16681,11 +16519,73 @@ func (p *ListAnnotationEvaluatorsRequest) writeField2(oprot thrift.TProtocol) (e } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) } -func (p *ListAnnotationEvaluatorsRequest) writeField255(oprot thrift.TProtocol) (err error) { +func (p *ExtractSpanInfoRequest) writeField5(oprot thrift.TProtocol) (err error) { + if p.IsSetEndTime() { + if err = oprot.WriteFieldBegin("end_time", thrift.I64, 5); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteI64(*p.EndTime); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) +} +func (p *ExtractSpanInfoRequest) writeField6(oprot thrift.TProtocol) (err error) { + if p.IsSetPlatformType() { + if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteString(*p.PlatformType); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) +} +func (p *ExtractSpanInfoRequest) writeField7(oprot thrift.TProtocol) (err error) { + if p.IsSetFieldMappings() { + if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 7); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { + return err + } + for _, v := range p.FieldMappings { + if err := v.Write(oprot); err != nil { + return err + } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError + } + } + return nil +WriteFieldBeginError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) +WriteFieldEndError: + return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) +} +func (p *ExtractSpanInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { if p.IsSetBase() { if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError @@ -16704,15 +16604,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ListAnnotationEvaluatorsRequest) String() string { +func (p *ExtractSpanInfoRequest) String() string { if p == nil { return "" } - return fmt.Sprintf("ListAnnotationEvaluatorsRequest(%+v)", *p) + return fmt.Sprintf("ExtractSpanInfoRequest(%+v)", *p) } -func (p *ListAnnotationEvaluatorsRequest) DeepEqual(ano *ListAnnotationEvaluatorsRequest) bool { +func (p *ExtractSpanInfoRequest) DeepEqual(ano *ExtractSpanInfoRequest) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -16721,7 +16621,22 @@ func (p *ListAnnotationEvaluatorsRequest) DeepEqual(ano *ListAnnotationEvaluator if !p.Field1DeepEqual(ano.WorkspaceID) { return false } - if !p.Field2DeepEqual(ano.Name) { + if !p.Field2DeepEqual(ano.TraceID) { + return false + } + if !p.Field3DeepEqual(ano.SpanIds) { + return false + } + if !p.Field4DeepEqual(ano.StartTime) { + return false + } + if !p.Field5DeepEqual(ano.EndTime) { + return false + } + if !p.Field6DeepEqual(ano.PlatformType) { + return false + } + if !p.Field7DeepEqual(ano.FieldMappings) { return false } if !p.Field255DeepEqual(ano.Base) { @@ -16730,26 +16645,83 @@ func (p *ListAnnotationEvaluatorsRequest) DeepEqual(ano *ListAnnotationEvaluator return true } -func (p *ListAnnotationEvaluatorsRequest) Field1DeepEqual(src int64) bool { +func (p *ExtractSpanInfoRequest) Field1DeepEqual(src int64) bool { if p.WorkspaceID != src { return false } return true } -func (p *ListAnnotationEvaluatorsRequest) Field2DeepEqual(src *string) bool { +func (p *ExtractSpanInfoRequest) Field2DeepEqual(src string) bool { - if p.Name == src { + if strings.Compare(p.TraceID, src) != 0 { + return false + } + return true +} +func (p *ExtractSpanInfoRequest) Field3DeepEqual(src []string) bool { + + if len(p.SpanIds) != len(src) { + return false + } + for i, v := range p.SpanIds { + _src := src[i] + if strings.Compare(v, _src) != 0 { + return false + } + } + return true +} +func (p *ExtractSpanInfoRequest) Field4DeepEqual(src *int64) bool { + + if p.StartTime == src { return true - } else if p.Name == nil || src == nil { + } else if p.StartTime == nil || src == nil { return false } - if strings.Compare(*p.Name, *src) != 0 { + if *p.StartTime != *src { return false } return true } -func (p *ListAnnotationEvaluatorsRequest) Field255DeepEqual(src *base.Base) bool { +func (p *ExtractSpanInfoRequest) Field5DeepEqual(src *int64) bool { + + if p.EndTime == src { + return true + } else if p.EndTime == nil || src == nil { + return false + } + if *p.EndTime != *src { + return false + } + return true +} +func (p *ExtractSpanInfoRequest) Field6DeepEqual(src *common.PlatformType) bool { + + if p.PlatformType == src { + return true + } else if p.PlatformType == nil || src == nil { + return false + } + if strings.Compare(*p.PlatformType, *src) != 0 { + return false + } + return true +} +func (p *ExtractSpanInfoRequest) Field7DeepEqual(src []*dataset0.FieldMapping) bool { + + if len(p.FieldMappings) != len(src) { + return false + } + for i, v := range p.FieldMappings { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } + return true +} +func (p *ExtractSpanInfoRequest) Field255DeepEqual(src *base.Base) bool { if !p.Base.DeepEqual(src) { return false @@ -16757,56 +16729,48 @@ func (p *ListAnnotationEvaluatorsRequest) Field255DeepEqual(src *base.Base) bool return true } -type ListAnnotationEvaluatorsResponse struct { - Evaluators []*annotation.AnnotationEvaluator `thrift:"evaluators,1,required" frugal:"1,required,list" form:"evaluators,required" json:"evaluators,required" query:"evaluators,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +type SpanInfo struct { + SpanID string `thrift:"span_id,1,required" frugal:"1,required,string" form:"span_id,required" json:"span_id,required" query:"span_id,required"` + FieldList []*dataset0.FieldData `thrift:"field_list,2,required" frugal:"2,required,list" form:"field_list,required" json:"field_list,required" query:"field_list,required"` } -func NewListAnnotationEvaluatorsResponse() *ListAnnotationEvaluatorsResponse { - return &ListAnnotationEvaluatorsResponse{} +func NewSpanInfo() *SpanInfo { + return &SpanInfo{} } -func (p *ListAnnotationEvaluatorsResponse) InitDefault() { +func (p *SpanInfo) InitDefault() { } -func (p *ListAnnotationEvaluatorsResponse) GetEvaluators() (v []*annotation.AnnotationEvaluator) { +func (p *SpanInfo) GetSpanID() (v string) { if p != nil { - return p.Evaluators + return p.SpanID } return } -var ListAnnotationEvaluatorsResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ListAnnotationEvaluatorsResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { - return - } - if !p.IsSetBaseResp() { - return ListAnnotationEvaluatorsResponse_BaseResp_DEFAULT +func (p *SpanInfo) GetFieldList() (v []*dataset0.FieldData) { + if p != nil { + return p.FieldList } - return p.BaseResp -} -func (p *ListAnnotationEvaluatorsResponse) SetEvaluators(val []*annotation.AnnotationEvaluator) { - p.Evaluators = val + return } -func (p *ListAnnotationEvaluatorsResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val +func (p *SpanInfo) SetSpanID(val string) { + p.SpanID = val } - -var fieldIDToName_ListAnnotationEvaluatorsResponse = map[int16]string{ - 1: "evaluators", - 255: "BaseResp", +func (p *SpanInfo) SetFieldList(val []*dataset0.FieldData) { + p.FieldList = val } -func (p *ListAnnotationEvaluatorsResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +var fieldIDToName_SpanInfo = map[int16]string{ + 1: "span_id", + 2: "field_list", } -func (p *ListAnnotationEvaluatorsResponse) Read(iprot thrift.TProtocol) (err error) { +func (p *SpanInfo) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 - var issetEvaluators bool = false + var issetSpanID bool = false + var issetFieldList bool = false if _, err = iprot.ReadStructBegin(); err != nil { goto ReadStructBeginError @@ -16823,19 +16787,20 @@ func (p *ListAnnotationEvaluatorsResponse) Read(iprot thrift.TProtocol) (err err switch fieldId { case 1: - if fieldTypeId == thrift.LIST { + if fieldTypeId == thrift.STRING { if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } - issetEvaluators = true + issetSpanID = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { + case 2: + if fieldTypeId == thrift.LIST { + if err = p.ReadField2(iprot); err != nil { goto ReadFieldError } + issetFieldList = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -16852,17 +16817,22 @@ func (p *ListAnnotationEvaluatorsResponse) Read(iprot thrift.TProtocol) (err err goto ReadStructEndError } - if !issetEvaluators { + if !issetSpanID { fieldId = 1 goto RequiredFieldNotSetError } + + if !issetFieldList { + fieldId = 2 + goto RequiredFieldNotSetError + } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ListAnnotationEvaluatorsResponse[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SpanInfo[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -16871,16 +16841,27 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ListAnnotationEvaluatorsResponse[fieldId])) + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SpanInfo[fieldId])) } -func (p *ListAnnotationEvaluatorsResponse) ReadField1(iprot thrift.TProtocol) error { +func (p *SpanInfo) ReadField1(iprot thrift.TProtocol) error { + + var _field string + if v, err := iprot.ReadString(); err != nil { + return err + } else { + _field = v + } + p.SpanID = _field + return nil +} +func (p *SpanInfo) ReadField2(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*annotation.AnnotationEvaluator, 0, size) - values := make([]annotation.AnnotationEvaluator, size) + _field := make([]*dataset0.FieldData, 0, size) + values := make([]dataset0.FieldData, size) for i := 0; i < size; i++ { _elem := &values[i] _elem.InitDefault() @@ -16894,21 +16875,13 @@ func (p *ListAnnotationEvaluatorsResponse) ReadField1(iprot thrift.TProtocol) er if err := iprot.ReadListEnd(); err != nil { return err } - p.Evaluators = _field - return nil -} -func (p *ListAnnotationEvaluatorsResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field + p.FieldList = _field return nil } -func (p *ListAnnotationEvaluatorsResponse) Write(oprot thrift.TProtocol) (err error) { +func (p *SpanInfo) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ListAnnotationEvaluatorsResponse"); err != nil { + if err = oprot.WriteStructBegin("SpanInfo"); err != nil { goto WriteStructBeginError } if p != nil { @@ -16916,8 +16889,8 @@ func (p *ListAnnotationEvaluatorsResponse) Write(oprot thrift.TProtocol) (err er fieldId = 1 goto WriteFieldError } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 + if err = p.writeField2(oprot); err != nil { + fieldId = 2 goto WriteFieldError } } @@ -16938,19 +16911,11 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ListAnnotationEvaluatorsResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("evaluators", thrift.LIST, 1); err != nil { +func (p *SpanInfo) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Evaluators)); err != nil { - return err - } - for _, v := range p.Evaluators { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { + if err := oprot.WriteString(p.SpanID); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -16962,300 +16927,146 @@ WriteFieldBeginError: WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ListAnnotationEvaluatorsResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { +func (p *SpanInfo) writeField2(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("field_list", thrift.LIST, 2); err != nil { + goto WriteFieldBeginError + } + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldList)); err != nil { + return err + } + for _, v := range p.FieldList { + if err := v.Write(oprot); err != nil { return err } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } + } + if err := oprot.WriteListEnd(); err != nil { + return err + } + if err = oprot.WriteFieldEnd(); err != nil { + goto WriteFieldEndError } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) } -func (p *ListAnnotationEvaluatorsResponse) String() string { +func (p *SpanInfo) String() string { if p == nil { return "" } - return fmt.Sprintf("ListAnnotationEvaluatorsResponse(%+v)", *p) + return fmt.Sprintf("SpanInfo(%+v)", *p) } -func (p *ListAnnotationEvaluatorsResponse) DeepEqual(ano *ListAnnotationEvaluatorsResponse) bool { +func (p *SpanInfo) DeepEqual(ano *SpanInfo) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.Evaluators) { + if !p.Field1DeepEqual(ano.SpanID) { return false } - if !p.Field255DeepEqual(ano.BaseResp) { + if !p.Field2DeepEqual(ano.FieldList) { return false } return true } -func (p *ListAnnotationEvaluatorsResponse) Field1DeepEqual(src []*annotation.AnnotationEvaluator) bool { +func (p *SpanInfo) Field1DeepEqual(src string) bool { - if len(p.Evaluators) != len(src) { + if strings.Compare(p.SpanID, src) != 0 { return false } - for i, v := range p.Evaluators { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } return true } -func (p *ListAnnotationEvaluatorsResponse) Field255DeepEqual(src *base.BaseResp) bool { +func (p *SpanInfo) Field2DeepEqual(src []*dataset0.FieldData) bool { - if !p.BaseResp.DeepEqual(src) { + if len(p.FieldList) != len(src) { return false } + for i, v := range p.FieldList { + _src := src[i] + if !v.DeepEqual(_src) { + return false + } + } return true } -type ExtractSpanInfoRequest struct { - WorkspaceID int64 `thrift:"workspace_id,1,required" frugal:"1,required,i64" json:"workspace_id" form:"workspace_id,required" ` - TraceID string `thrift:"trace_id,2,required" frugal:"2,required,string" form:"trace_id,required" json:"trace_id,required"` - SpanIds []string `thrift:"span_ids,3,required" frugal:"3,required,list" form:"span_ids,required" json:"span_ids,required"` - StartTime *int64 `thrift:"start_time,4,optional" frugal:"4,optional,i64" json:"start_time" form:"start_time" ` - EndTime *int64 `thrift:"end_time,5,optional" frugal:"5,optional,i64" json:"end_time" form:"end_time" ` - PlatformType *common.PlatformType `thrift:"platform_type,6,optional" frugal:"6,optional,string" form:"platform_type" json:"platform_type,omitempty"` - FieldMappings []*dataset0.FieldMapping `thrift:"field_mappings,7,optional" frugal:"7,optional,list" form:"field_mappings" json:"field_mappings,omitempty" query:"field_mappings"` - Base *base.Base `thrift:"Base,255,optional" frugal:"255,optional,base.Base" form:"-" json:"-" query:"-"` -} - -func NewExtractSpanInfoRequest() *ExtractSpanInfoRequest { - return &ExtractSpanInfoRequest{} -} - -func (p *ExtractSpanInfoRequest) InitDefault() { +type ExtractSpanInfoResponse struct { + SpanInfos []*SpanInfo `thrift:"span_infos,1,required" frugal:"1,required,list" form:"span_infos,required" json:"span_infos,required" query:"span_infos,required"` + BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` } -func (p *ExtractSpanInfoRequest) GetWorkspaceID() (v int64) { - if p != nil { - return p.WorkspaceID - } - return +func NewExtractSpanInfoResponse() *ExtractSpanInfoResponse { + return &ExtractSpanInfoResponse{} } -func (p *ExtractSpanInfoRequest) GetTraceID() (v string) { - if p != nil { - return p.TraceID - } - return +func (p *ExtractSpanInfoResponse) InitDefault() { } -func (p *ExtractSpanInfoRequest) GetSpanIds() (v []string) { +func (p *ExtractSpanInfoResponse) GetSpanInfos() (v []*SpanInfo) { if p != nil { - return p.SpanIds + return p.SpanInfos } return } -var ExtractSpanInfoRequest_StartTime_DEFAULT int64 +var ExtractSpanInfoResponse_BaseResp_DEFAULT *base.BaseResp -func (p *ExtractSpanInfoRequest) GetStartTime() (v int64) { +func (p *ExtractSpanInfoResponse) GetBaseResp() (v *base.BaseResp) { if p == nil { return } - if !p.IsSetStartTime() { - return ExtractSpanInfoRequest_StartTime_DEFAULT + if !p.IsSetBaseResp() { + return ExtractSpanInfoResponse_BaseResp_DEFAULT } - return *p.StartTime + return p.BaseResp } - -var ExtractSpanInfoRequest_EndTime_DEFAULT int64 - -func (p *ExtractSpanInfoRequest) GetEndTime() (v int64) { - if p == nil { - return - } - if !p.IsSetEndTime() { - return ExtractSpanInfoRequest_EndTime_DEFAULT - } - return *p.EndTime +func (p *ExtractSpanInfoResponse) SetSpanInfos(val []*SpanInfo) { + p.SpanInfos = val +} +func (p *ExtractSpanInfoResponse) SetBaseResp(val *base.BaseResp) { + p.BaseResp = val } -var ExtractSpanInfoRequest_PlatformType_DEFAULT common.PlatformType +var fieldIDToName_ExtractSpanInfoResponse = map[int16]string{ + 1: "span_infos", + 255: "BaseResp", +} -func (p *ExtractSpanInfoRequest) GetPlatformType() (v common.PlatformType) { - if p == nil { - return - } - if !p.IsSetPlatformType() { - return ExtractSpanInfoRequest_PlatformType_DEFAULT - } - return *p.PlatformType +func (p *ExtractSpanInfoResponse) IsSetBaseResp() bool { + return p.BaseResp != nil } -var ExtractSpanInfoRequest_FieldMappings_DEFAULT []*dataset0.FieldMapping +func (p *ExtractSpanInfoResponse) Read(iprot thrift.TProtocol) (err error) { + var fieldTypeId thrift.TType + var fieldId int16 + var issetSpanInfos bool = false -func (p *ExtractSpanInfoRequest) GetFieldMappings() (v []*dataset0.FieldMapping) { - if p == nil { - return - } - if !p.IsSetFieldMappings() { - return ExtractSpanInfoRequest_FieldMappings_DEFAULT + if _, err = iprot.ReadStructBegin(); err != nil { + goto ReadStructBeginError } - return p.FieldMappings -} -var ExtractSpanInfoRequest_Base_DEFAULT *base.Base - -func (p *ExtractSpanInfoRequest) GetBase() (v *base.Base) { - if p == nil { - return - } - if !p.IsSetBase() { - return ExtractSpanInfoRequest_Base_DEFAULT - } - return p.Base -} -func (p *ExtractSpanInfoRequest) SetWorkspaceID(val int64) { - p.WorkspaceID = val -} -func (p *ExtractSpanInfoRequest) SetTraceID(val string) { - p.TraceID = val -} -func (p *ExtractSpanInfoRequest) SetSpanIds(val []string) { - p.SpanIds = val -} -func (p *ExtractSpanInfoRequest) SetStartTime(val *int64) { - p.StartTime = val -} -func (p *ExtractSpanInfoRequest) SetEndTime(val *int64) { - p.EndTime = val -} -func (p *ExtractSpanInfoRequest) SetPlatformType(val *common.PlatformType) { - p.PlatformType = val -} -func (p *ExtractSpanInfoRequest) SetFieldMappings(val []*dataset0.FieldMapping) { - p.FieldMappings = val -} -func (p *ExtractSpanInfoRequest) SetBase(val *base.Base) { - p.Base = val -} - -var fieldIDToName_ExtractSpanInfoRequest = map[int16]string{ - 1: "workspace_id", - 2: "trace_id", - 3: "span_ids", - 4: "start_time", - 5: "end_time", - 6: "platform_type", - 7: "field_mappings", - 255: "Base", -} - -func (p *ExtractSpanInfoRequest) IsSetStartTime() bool { - return p.StartTime != nil -} - -func (p *ExtractSpanInfoRequest) IsSetEndTime() bool { - return p.EndTime != nil -} - -func (p *ExtractSpanInfoRequest) IsSetPlatformType() bool { - return p.PlatformType != nil -} - -func (p *ExtractSpanInfoRequest) IsSetFieldMappings() bool { - return p.FieldMappings != nil -} - -func (p *ExtractSpanInfoRequest) IsSetBase() bool { - return p.Base != nil -} - -func (p *ExtractSpanInfoRequest) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetTraceID bool = false - var issetSpanIds bool = false - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } + for { + _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() + if err != nil { + goto ReadFieldBeginError + } + if fieldTypeId == thrift.STOP { + break + } switch fieldId { case 1: - if fieldTypeId == thrift.I64 { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.STRING { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetTraceID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 3: - if fieldTypeId == thrift.LIST { - if err = p.ReadField3(iprot); err != nil { - goto ReadFieldError - } - issetSpanIds = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 4: - if fieldTypeId == thrift.I64 { - if err = p.ReadField4(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 5: - if fieldTypeId == thrift.I64 { - if err = p.ReadField5(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 6: - if fieldTypeId == thrift.STRING { - if err = p.ReadField6(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 7: if fieldTypeId == thrift.LIST { - if err = p.ReadField7(iprot); err != nil { + if err = p.ReadField1(iprot); err != nil { goto ReadFieldError } + issetSpanInfos = true } else if err = iprot.Skip(fieldTypeId); err != nil { goto SkipFieldError } @@ -17280,27 +17091,17 @@ func (p *ExtractSpanInfoRequest) Read(iprot thrift.TProtocol) (err error) { goto ReadStructEndError } - if !issetWorkspaceID { + if !issetSpanInfos { fieldId = 1 goto RequiredFieldNotSetError } - - if !issetTraceID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetSpanIds { - fieldId = 3 - goto RequiredFieldNotSetError - } return nil ReadStructBeginError: return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExtractSpanInfoRequest[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExtractSpanInfoResponse[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -17309,94 +17110,16 @@ ReadFieldEndError: ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExtractSpanInfoRequest[fieldId])) -} - -func (p *ExtractSpanInfoRequest) ReadField1(iprot thrift.TProtocol) error { - - var _field int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = v - } - p.WorkspaceID = _field - return nil -} -func (p *ExtractSpanInfoRequest) ReadField2(iprot thrift.TProtocol) error { - - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v - } - p.TraceID = _field - return nil -} -func (p *ExtractSpanInfoRequest) ReadField3(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - - var _elem string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _elem = v - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.SpanIds = _field - return nil -} -func (p *ExtractSpanInfoRequest) ReadField4(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.StartTime = _field - return nil -} -func (p *ExtractSpanInfoRequest) ReadField5(iprot thrift.TProtocol) error { - - var _field *int64 - if v, err := iprot.ReadI64(); err != nil { - return err - } else { - _field = &v - } - p.EndTime = _field - return nil + return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExtractSpanInfoResponse[fieldId])) } -func (p *ExtractSpanInfoRequest) ReadField6(iprot thrift.TProtocol) error { - var _field *common.PlatformType - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = &v - } - p.PlatformType = _field - return nil -} -func (p *ExtractSpanInfoRequest) ReadField7(iprot thrift.TProtocol) error { +func (p *ExtractSpanInfoResponse) ReadField1(iprot thrift.TProtocol) error { _, size, err := iprot.ReadListBegin() if err != nil { return err } - _field := make([]*dataset0.FieldMapping, 0, size) - values := make([]dataset0.FieldMapping, size) + _field := make([]*SpanInfo, 0, size) + values := make([]SpanInfo, size) for i := 0; i < size; i++ { _elem := &values[i] _elem.InitDefault() @@ -17410,21 +17133,21 @@ func (p *ExtractSpanInfoRequest) ReadField7(iprot thrift.TProtocol) error { if err := iprot.ReadListEnd(); err != nil { return err } - p.FieldMappings = _field + p.SpanInfos = _field return nil } -func (p *ExtractSpanInfoRequest) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBase() +func (p *ExtractSpanInfoResponse) ReadField255(iprot thrift.TProtocol) error { + _field := base.NewBaseResp() if err := _field.Read(iprot); err != nil { return err } - p.Base = _field + p.BaseResp = _field return nil } -func (p *ExtractSpanInfoRequest) Write(oprot thrift.TProtocol) (err error) { +func (p *ExtractSpanInfoResponse) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("ExtractSpanInfoRequest"); err != nil { + if err = oprot.WriteStructBegin("ExtractSpanInfoResponse"); err != nil { goto WriteStructBeginError } if p != nil { @@ -17432,30 +17155,6 @@ func (p *ExtractSpanInfoRequest) Write(oprot thrift.TProtocol) (err error) { fieldId = 1 goto WriteFieldError } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - if err = p.writeField3(oprot); err != nil { - fieldId = 3 - goto WriteFieldError - } - if err = p.writeField4(oprot); err != nil { - fieldId = 4 - goto WriteFieldError - } - if err = p.writeField5(oprot); err != nil { - fieldId = 5 - goto WriteFieldError - } - if err = p.writeField6(oprot); err != nil { - fieldId = 6 - goto WriteFieldError - } - if err = p.writeField7(oprot); err != nil { - fieldId = 7 - goto WriteFieldError - } if err = p.writeField255(oprot); err != nil { fieldId = 255 goto WriteFieldError @@ -17478,47 +17177,15 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *ExtractSpanInfoRequest) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("workspace_id", thrift.I64, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(p.WorkspaceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("trace_id", thrift.STRING, 2); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.TraceID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField3(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_ids", thrift.LIST, 3); err != nil { +func (p *ExtractSpanInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { + if err = oprot.WriteFieldBegin("span_infos", thrift.LIST, 1); err != nil { goto WriteFieldBeginError } - if err := oprot.WriteListBegin(thrift.STRING, len(p.SpanIds)); err != nil { + if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanInfos)); err != nil { return err } - for _, v := range p.SpanIds { - if err := oprot.WriteString(v); err != nil { + for _, v := range p.SpanInfos { + if err := v.Write(oprot); err != nil { return err } } @@ -17530,96 +17197,16 @@ func (p *ExtractSpanInfoRequest) writeField3(oprot thrift.TProtocol) (err error) } return nil WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 3 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField4(oprot thrift.TProtocol) (err error) { - if p.IsSetStartTime() { - if err = oprot.WriteFieldBegin("start_time", thrift.I64, 4); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.StartTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 4 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField5(oprot thrift.TProtocol) (err error) { - if p.IsSetEndTime() { - if err = oprot.WriteFieldBegin("end_time", thrift.I64, 5); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteI64(*p.EndTime); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 5 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField6(oprot thrift.TProtocol) (err error) { - if p.IsSetPlatformType() { - if err = oprot.WriteFieldBegin("platform_type", thrift.STRING, 6); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(*p.PlatformType); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 6 end error: ", p), err) -} -func (p *ExtractSpanInfoRequest) writeField7(oprot thrift.TProtocol) (err error) { - if p.IsSetFieldMappings() { - if err = oprot.WriteFieldBegin("field_mappings", thrift.LIST, 7); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldMappings)); err != nil { - return err - } - for _, v := range p.FieldMappings { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 begin error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 7 end error: ", p), err) + return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *ExtractSpanInfoRequest) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBase() { - if err = oprot.WriteFieldBegin("Base", thrift.STRUCT, 255); err != nil { +func (p *ExtractSpanInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { + if p.IsSetBaseResp() { + if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { goto WriteFieldBeginError } - if err := p.Base.Write(oprot); err != nil { + if err := p.BaseResp.Write(oprot); err != nil { return err } if err = oprot.WriteFieldEnd(); err != nil { @@ -17633,1322 +17220,358 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) } -func (p *ExtractSpanInfoRequest) String() string { +func (p *ExtractSpanInfoResponse) String() string { if p == nil { return "" } - return fmt.Sprintf("ExtractSpanInfoRequest(%+v)", *p) + return fmt.Sprintf("ExtractSpanInfoResponse(%+v)", *p) } -func (p *ExtractSpanInfoRequest) DeepEqual(ano *ExtractSpanInfoRequest) bool { +func (p *ExtractSpanInfoResponse) DeepEqual(ano *ExtractSpanInfoResponse) bool { if p == ano { return true } else if p == nil || ano == nil { return false } - if !p.Field1DeepEqual(ano.WorkspaceID) { - return false - } - if !p.Field2DeepEqual(ano.TraceID) { - return false - } - if !p.Field3DeepEqual(ano.SpanIds) { - return false - } - if !p.Field4DeepEqual(ano.StartTime) { - return false - } - if !p.Field5DeepEqual(ano.EndTime) { - return false - } - if !p.Field6DeepEqual(ano.PlatformType) { - return false - } - if !p.Field7DeepEqual(ano.FieldMappings) { - return false - } - if !p.Field255DeepEqual(ano.Base) { + if !p.Field1DeepEqual(ano.SpanInfos) { return false } - return true -} - -func (p *ExtractSpanInfoRequest) Field1DeepEqual(src int64) bool { - - if p.WorkspaceID != src { + if !p.Field255DeepEqual(ano.BaseResp) { return false } return true } -func (p *ExtractSpanInfoRequest) Field2DeepEqual(src string) bool { - if strings.Compare(p.TraceID, src) != 0 { - return false - } - return true -} -func (p *ExtractSpanInfoRequest) Field3DeepEqual(src []string) bool { +func (p *ExtractSpanInfoResponse) Field1DeepEqual(src []*SpanInfo) bool { - if len(p.SpanIds) != len(src) { + if len(p.SpanInfos) != len(src) { return false } - for i, v := range p.SpanIds { + for i, v := range p.SpanInfos { _src := src[i] - if strings.Compare(v, _src) != 0 { + if !v.DeepEqual(_src) { return false } } return true } -func (p *ExtractSpanInfoRequest) Field4DeepEqual(src *int64) bool { +func (p *ExtractSpanInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { - if p.StartTime == src { - return true - } else if p.StartTime == nil || src == nil { - return false - } - if *p.StartTime != *src { + if !p.BaseResp.DeepEqual(src) { return false } return true } -func (p *ExtractSpanInfoRequest) Field5DeepEqual(src *int64) bool { - if p.EndTime == src { - return true - } else if p.EndTime == nil || src == nil { - return false - } - if *p.EndTime != *src { - return false - } - return true -} -func (p *ExtractSpanInfoRequest) Field6DeepEqual(src *common.PlatformType) bool { +type TraceService interface { + ListSpans(ctx context.Context, req *ListSpansRequest) (r *ListSpansResponse, err error) - if p.PlatformType == src { - return true - } else if p.PlatformType == nil || src == nil { - return false - } - if strings.Compare(*p.PlatformType, *src) != 0 { - return false - } - return true -} -func (p *ExtractSpanInfoRequest) Field7DeepEqual(src []*dataset0.FieldMapping) bool { + GetTrace(ctx context.Context, req *GetTraceRequest) (r *GetTraceResponse, err error) - if len(p.FieldMappings) != len(src) { - return false - } - for i, v := range p.FieldMappings { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *ExtractSpanInfoRequest) Field255DeepEqual(src *base.Base) bool { + BatchGetTracesAdvanceInfo(ctx context.Context, req *BatchGetTracesAdvanceInfoRequest) (r *BatchGetTracesAdvanceInfoResponse, err error) - if !p.Base.DeepEqual(src) { - return false - } - return true -} + IngestTracesInner(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) -type SpanInfo struct { - SpanID string `thrift:"span_id,1,required" frugal:"1,required,string" form:"span_id,required" json:"span_id,required" query:"span_id,required"` - FieldList []*dataset0.FieldData `thrift:"field_list,2,required" frugal:"2,required,list" form:"field_list,required" json:"field_list,required" query:"field_list,required"` -} + GetTracesMetaInfo(ctx context.Context, req *GetTracesMetaInfoRequest) (r *GetTracesMetaInfoResponse, err error) -func NewSpanInfo() *SpanInfo { - return &SpanInfo{} -} + CreateView(ctx context.Context, req *CreateViewRequest) (r *CreateViewResponse, err error) -func (p *SpanInfo) InitDefault() { -} + UpdateView(ctx context.Context, req *UpdateViewRequest) (r *UpdateViewResponse, err error) -func (p *SpanInfo) GetSpanID() (v string) { - if p != nil { - return p.SpanID - } - return -} + DeleteView(ctx context.Context, req *DeleteViewRequest) (r *DeleteViewResponse, err error) -func (p *SpanInfo) GetFieldList() (v []*dataset0.FieldData) { - if p != nil { - return p.FieldList - } - return -} -func (p *SpanInfo) SetSpanID(val string) { - p.SpanID = val -} -func (p *SpanInfo) SetFieldList(val []*dataset0.FieldData) { - p.FieldList = val -} + ListViews(ctx context.Context, req *ListViewsRequest) (r *ListViewsResponse, err error) -var fieldIDToName_SpanInfo = map[int16]string{ - 1: "span_id", - 2: "field_list", -} + CreateManualAnnotation(ctx context.Context, req *CreateManualAnnotationRequest) (r *CreateManualAnnotationResponse, err error) -func (p *SpanInfo) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetSpanID bool = false - var issetFieldList bool = false + UpdateManualAnnotation(ctx context.Context, req *UpdateManualAnnotationRequest) (r *UpdateManualAnnotationResponse, err error) - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } + DeleteManualAnnotation(ctx context.Context, req *DeleteManualAnnotationRequest) (r *DeleteManualAnnotationResponse, err error) - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } + ListAnnotations(ctx context.Context, req *ListAnnotationsRequest) (r *ListAnnotationsResponse, err error) - switch fieldId { - case 1: - if fieldTypeId == thrift.STRING { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetSpanID = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 2: - if fieldTypeId == thrift.LIST { - if err = p.ReadField2(iprot); err != nil { - goto ReadFieldError - } - issetFieldList = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } + ExportTracesToDataset(ctx context.Context, req *ExportTracesToDatasetRequest) (r *ExportTracesToDatasetResponse, err error) - if !issetSpanID { - fieldId = 1 - goto RequiredFieldNotSetError - } + PreviewExportTracesToDataset(ctx context.Context, req *PreviewExportTracesToDatasetRequest) (r *PreviewExportTracesToDatasetResponse, err error) - if !issetFieldList { - fieldId = 2 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SpanInfo[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) + ChangeEvaluatorScore(ctx context.Context, req *ChangeEvaluatorScoreRequest) (r *ChangeEvaluatorScoreResponse, err error) -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_SpanInfo[fieldId])) + ListAnnotationEvaluators(ctx context.Context, req *ListAnnotationEvaluatorsRequest) (r *ListAnnotationEvaluatorsResponse, err error) + + ExtractSpanInfo(ctx context.Context, req *ExtractSpanInfoRequest) (r *ExtractSpanInfoResponse, err error) } -func (p *SpanInfo) ReadField1(iprot thrift.TProtocol) error { +type TraceServiceClient struct { + c thrift.TClient +} - var _field string - if v, err := iprot.ReadString(); err != nil { - return err - } else { - _field = v +func NewTraceServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *TraceServiceClient { + return &TraceServiceClient{ + c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), } - p.SpanID = _field - return nil } -func (p *SpanInfo) ReadField2(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*dataset0.FieldData, 0, size) - values := make([]dataset0.FieldData, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err +func NewTraceServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *TraceServiceClient { + return &TraceServiceClient{ + c: thrift.NewTStandardClient(iprot, oprot), } - p.FieldList = _field - return nil } -func (p *SpanInfo) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("SpanInfo"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField2(oprot); err != nil { - fieldId = 2 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError +func NewTraceServiceClient(c thrift.TClient) *TraceServiceClient { + return &TraceServiceClient{ + c: c, } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *SpanInfo) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_id", thrift.STRING, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteString(p.SpanID); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) +func (p *TraceServiceClient) Client_() thrift.TClient { + return p.c } -func (p *SpanInfo) writeField2(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("field_list", thrift.LIST, 2); err != nil { - goto WriteFieldBeginError + +func (p *TraceServiceClient) ListSpans(ctx context.Context, req *ListSpansRequest) (r *ListSpansResponse, err error) { + var _args TraceServiceListSpansArgs + _args.Req = req + var _result TraceServiceListSpansResult + if err = p.Client_().Call(ctx, "ListSpans", &_args, &_result); err != nil { + return } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.FieldList)); err != nil { - return err + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) GetTrace(ctx context.Context, req *GetTraceRequest) (r *GetTraceResponse, err error) { + var _args TraceServiceGetTraceArgs + _args.Req = req + var _result TraceServiceGetTraceResult + if err = p.Client_().Call(ctx, "GetTrace", &_args, &_result); err != nil { + return } - for _, v := range p.FieldList { - if err := v.Write(oprot); err != nil { - return err - } + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *BatchGetTracesAdvanceInfoRequest) (r *BatchGetTracesAdvanceInfoResponse, err error) { + var _args TraceServiceBatchGetTracesAdvanceInfoArgs + _args.Req = req + var _result TraceServiceBatchGetTracesAdvanceInfoResult + if err = p.Client_().Call(ctx, "BatchGetTracesAdvanceInfo", &_args, &_result); err != nil { + return } - if err := oprot.WriteListEnd(); err != nil { - return err + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) IngestTracesInner(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) { + var _args TraceServiceIngestTracesInnerArgs + _args.Req = req + var _result TraceServiceIngestTracesInnerResult + if err = p.Client_().Call(ctx, "IngestTracesInner", &_args, &_result); err != nil { + return } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) GetTracesMetaInfo(ctx context.Context, req *GetTracesMetaInfoRequest) (r *GetTracesMetaInfoResponse, err error) { + var _args TraceServiceGetTracesMetaInfoArgs + _args.Req = req + var _result TraceServiceGetTracesMetaInfoResult + if err = p.Client_().Call(ctx, "GetTracesMetaInfo", &_args, &_result); err != nil { + return } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 2 end error: ", p), err) + return _result.GetSuccess(), nil } - -func (p *SpanInfo) String() string { - if p == nil { - return "" +func (p *TraceServiceClient) CreateView(ctx context.Context, req *CreateViewRequest) (r *CreateViewResponse, err error) { + var _args TraceServiceCreateViewArgs + _args.Req = req + var _result TraceServiceCreateViewResult + if err = p.Client_().Call(ctx, "CreateView", &_args, &_result); err != nil { + return } - return fmt.Sprintf("SpanInfo(%+v)", *p) - + return _result.GetSuccess(), nil } - -func (p *SpanInfo) DeepEqual(ano *SpanInfo) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.SpanID) { - return false +func (p *TraceServiceClient) UpdateView(ctx context.Context, req *UpdateViewRequest) (r *UpdateViewResponse, err error) { + var _args TraceServiceUpdateViewArgs + _args.Req = req + var _result TraceServiceUpdateViewResult + if err = p.Client_().Call(ctx, "UpdateView", &_args, &_result); err != nil { + return } - if !p.Field2DeepEqual(ano.FieldList) { - return false + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) DeleteView(ctx context.Context, req *DeleteViewRequest) (r *DeleteViewResponse, err error) { + var _args TraceServiceDeleteViewArgs + _args.Req = req + var _result TraceServiceDeleteViewResult + if err = p.Client_().Call(ctx, "DeleteView", &_args, &_result); err != nil { + return } - return true + return _result.GetSuccess(), nil } - -func (p *SpanInfo) Field1DeepEqual(src string) bool { - - if strings.Compare(p.SpanID, src) != 0 { - return false +func (p *TraceServiceClient) ListViews(ctx context.Context, req *ListViewsRequest) (r *ListViewsResponse, err error) { + var _args TraceServiceListViewsArgs + _args.Req = req + var _result TraceServiceListViewsResult + if err = p.Client_().Call(ctx, "ListViews", &_args, &_result); err != nil { + return } - return true + return _result.GetSuccess(), nil } -func (p *SpanInfo) Field2DeepEqual(src []*dataset0.FieldData) bool { - - if len(p.FieldList) != len(src) { - return false +func (p *TraceServiceClient) CreateManualAnnotation(ctx context.Context, req *CreateManualAnnotationRequest) (r *CreateManualAnnotationResponse, err error) { + var _args TraceServiceCreateManualAnnotationArgs + _args.Req = req + var _result TraceServiceCreateManualAnnotationResult + if err = p.Client_().Call(ctx, "CreateManualAnnotation", &_args, &_result); err != nil { + return } - for i, v := range p.FieldList { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) UpdateManualAnnotation(ctx context.Context, req *UpdateManualAnnotationRequest) (r *UpdateManualAnnotationResponse, err error) { + var _args TraceServiceUpdateManualAnnotationArgs + _args.Req = req + var _result TraceServiceUpdateManualAnnotationResult + if err = p.Client_().Call(ctx, "UpdateManualAnnotation", &_args, &_result); err != nil { + return } - return true + return _result.GetSuccess(), nil } - -type ExtractSpanInfoResponse struct { - SpanInfos []*SpanInfo `thrift:"span_infos,1,required" frugal:"1,required,list" form:"span_infos,required" json:"span_infos,required" query:"span_infos,required"` - BaseResp *base.BaseResp `thrift:"BaseResp,255,optional" frugal:"255,optional,base.BaseResp" form:"BaseResp" json:"BaseResp,omitempty" query:"BaseResp"` +func (p *TraceServiceClient) DeleteManualAnnotation(ctx context.Context, req *DeleteManualAnnotationRequest) (r *DeleteManualAnnotationResponse, err error) { + var _args TraceServiceDeleteManualAnnotationArgs + _args.Req = req + var _result TraceServiceDeleteManualAnnotationResult + if err = p.Client_().Call(ctx, "DeleteManualAnnotation", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil } - -func NewExtractSpanInfoResponse() *ExtractSpanInfoResponse { - return &ExtractSpanInfoResponse{} +func (p *TraceServiceClient) ListAnnotations(ctx context.Context, req *ListAnnotationsRequest) (r *ListAnnotationsResponse, err error) { + var _args TraceServiceListAnnotationsArgs + _args.Req = req + var _result TraceServiceListAnnotationsResult + if err = p.Client_().Call(ctx, "ListAnnotations", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil } - -func (p *ExtractSpanInfoResponse) InitDefault() { +func (p *TraceServiceClient) ExportTracesToDataset(ctx context.Context, req *ExportTracesToDatasetRequest) (r *ExportTracesToDatasetResponse, err error) { + var _args TraceServiceExportTracesToDatasetArgs + _args.Req = req + var _result TraceServiceExportTracesToDatasetResult + if err = p.Client_().Call(ctx, "ExportTracesToDataset", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil } - -func (p *ExtractSpanInfoResponse) GetSpanInfos() (v []*SpanInfo) { - if p != nil { - return p.SpanInfos +func (p *TraceServiceClient) PreviewExportTracesToDataset(ctx context.Context, req *PreviewExportTracesToDatasetRequest) (r *PreviewExportTracesToDatasetResponse, err error) { + var _args TraceServicePreviewExportTracesToDatasetArgs + _args.Req = req + var _result TraceServicePreviewExportTracesToDatasetResult + if err = p.Client_().Call(ctx, "PreviewExportTracesToDataset", &_args, &_result); err != nil { + return } - return + return _result.GetSuccess(), nil } - -var ExtractSpanInfoResponse_BaseResp_DEFAULT *base.BaseResp - -func (p *ExtractSpanInfoResponse) GetBaseResp() (v *base.BaseResp) { - if p == nil { +func (p *TraceServiceClient) ChangeEvaluatorScore(ctx context.Context, req *ChangeEvaluatorScoreRequest) (r *ChangeEvaluatorScoreResponse, err error) { + var _args TraceServiceChangeEvaluatorScoreArgs + _args.Req = req + var _result TraceServiceChangeEvaluatorScoreResult + if err = p.Client_().Call(ctx, "ChangeEvaluatorScore", &_args, &_result); err != nil { return } - if !p.IsSetBaseResp() { - return ExtractSpanInfoResponse_BaseResp_DEFAULT + return _result.GetSuccess(), nil +} +func (p *TraceServiceClient) ListAnnotationEvaluators(ctx context.Context, req *ListAnnotationEvaluatorsRequest) (r *ListAnnotationEvaluatorsResponse, err error) { + var _args TraceServiceListAnnotationEvaluatorsArgs + _args.Req = req + var _result TraceServiceListAnnotationEvaluatorsResult + if err = p.Client_().Call(ctx, "ListAnnotationEvaluators", &_args, &_result); err != nil { + return } - return p.BaseResp + return _result.GetSuccess(), nil } -func (p *ExtractSpanInfoResponse) SetSpanInfos(val []*SpanInfo) { - p.SpanInfos = val +func (p *TraceServiceClient) ExtractSpanInfo(ctx context.Context, req *ExtractSpanInfoRequest) (r *ExtractSpanInfoResponse, err error) { + var _args TraceServiceExtractSpanInfoArgs + _args.Req = req + var _result TraceServiceExtractSpanInfoResult + if err = p.Client_().Call(ctx, "ExtractSpanInfo", &_args, &_result); err != nil { + return + } + return _result.GetSuccess(), nil } -func (p *ExtractSpanInfoResponse) SetBaseResp(val *base.BaseResp) { - p.BaseResp = val + +type TraceServiceProcessor struct { + processorMap map[string]thrift.TProcessorFunction + handler TraceService } -var fieldIDToName_ExtractSpanInfoResponse = map[int16]string{ - 1: "span_infos", - 255: "BaseResp", +func (p *TraceServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { + p.processorMap[key] = processor } -func (p *ExtractSpanInfoResponse) IsSetBaseResp() bool { - return p.BaseResp != nil +func (p *TraceServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { + processor, ok = p.processorMap[key] + return processor, ok } -func (p *ExtractSpanInfoResponse) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - var issetSpanInfos bool = false +func (p *TraceServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { + return p.processorMap +} - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func NewTraceServiceProcessor(handler TraceService) *TraceServiceProcessor { + self := &TraceServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} + self.AddToProcessorMap("ListSpans", &traceServiceProcessorListSpans{handler: handler}) + self.AddToProcessorMap("GetTrace", &traceServiceProcessorGetTrace{handler: handler}) + self.AddToProcessorMap("BatchGetTracesAdvanceInfo", &traceServiceProcessorBatchGetTracesAdvanceInfo{handler: handler}) + self.AddToProcessorMap("IngestTracesInner", &traceServiceProcessorIngestTracesInner{handler: handler}) + self.AddToProcessorMap("GetTracesMetaInfo", &traceServiceProcessorGetTracesMetaInfo{handler: handler}) + self.AddToProcessorMap("CreateView", &traceServiceProcessorCreateView{handler: handler}) + self.AddToProcessorMap("UpdateView", &traceServiceProcessorUpdateView{handler: handler}) + self.AddToProcessorMap("DeleteView", &traceServiceProcessorDeleteView{handler: handler}) + self.AddToProcessorMap("ListViews", &traceServiceProcessorListViews{handler: handler}) + self.AddToProcessorMap("CreateManualAnnotation", &traceServiceProcessorCreateManualAnnotation{handler: handler}) + self.AddToProcessorMap("UpdateManualAnnotation", &traceServiceProcessorUpdateManualAnnotation{handler: handler}) + self.AddToProcessorMap("DeleteManualAnnotation", &traceServiceProcessorDeleteManualAnnotation{handler: handler}) + self.AddToProcessorMap("ListAnnotations", &traceServiceProcessorListAnnotations{handler: handler}) + self.AddToProcessorMap("ExportTracesToDataset", &traceServiceProcessorExportTracesToDataset{handler: handler}) + self.AddToProcessorMap("PreviewExportTracesToDataset", &traceServiceProcessorPreviewExportTracesToDataset{handler: handler}) + self.AddToProcessorMap("ChangeEvaluatorScore", &traceServiceProcessorChangeEvaluatorScore{handler: handler}) + self.AddToProcessorMap("ListAnnotationEvaluators", &traceServiceProcessorListAnnotationEvaluators{handler: handler}) + self.AddToProcessorMap("ExtractSpanInfo", &traceServiceProcessorExtractSpanInfo{handler: handler}) + return self +} +func (p *TraceServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + name, _, seqId, err := iprot.ReadMessageBegin() + if err != nil { + return false, err + } + if processor, ok := p.GetProcessorFunction(name); ok { + return processor.Process(ctx, seqId, iprot, oprot) } + iprot.Skip(thrift.STRUCT) + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) + oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, x +} - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } +type traceServiceProcessorListSpans struct { + handler TraceService +} - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - issetSpanInfos = true - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - case 255: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField255(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - if !issetSpanInfos { - fieldId = 1 - goto RequiredFieldNotSetError - } - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_ExtractSpanInfoResponse[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) -RequiredFieldNotSetError: - return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("required field %s is not set", fieldIDToName_ExtractSpanInfoResponse[fieldId])) -} - -func (p *ExtractSpanInfoResponse) ReadField1(iprot thrift.TProtocol) error { - _, size, err := iprot.ReadListBegin() - if err != nil { - return err - } - _field := make([]*SpanInfo, 0, size) - values := make([]SpanInfo, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - - if err := _elem.Read(iprot); err != nil { - return err - } - - _field = append(_field, _elem) - } - if err := iprot.ReadListEnd(); err != nil { - return err - } - p.SpanInfos = _field - return nil -} -func (p *ExtractSpanInfoResponse) ReadField255(iprot thrift.TProtocol) error { - _field := base.NewBaseResp() - if err := _field.Read(iprot); err != nil { - return err - } - p.BaseResp = _field - return nil -} - -func (p *ExtractSpanInfoResponse) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ExtractSpanInfoResponse"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } - if err = p.writeField255(oprot); err != nil { - fieldId = 255 - goto WriteFieldError - } - } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError - } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError - } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *ExtractSpanInfoResponse) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("span_infos", thrift.LIST, 1); err != nil { - goto WriteFieldBeginError - } - if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SpanInfos)); err != nil { - return err - } - for _, v := range p.SpanInfos { - if err := v.Write(oprot); err != nil { - return err - } - } - if err := oprot.WriteListEnd(); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) -} -func (p *ExtractSpanInfoResponse) writeField255(oprot thrift.TProtocol) (err error) { - if p.IsSetBaseResp() { - if err = oprot.WriteFieldBegin("BaseResp", thrift.STRUCT, 255); err != nil { - goto WriteFieldBeginError - } - if err := p.BaseResp.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 255 end error: ", p), err) -} - -func (p *ExtractSpanInfoResponse) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("ExtractSpanInfoResponse(%+v)", *p) - -} - -func (p *ExtractSpanInfoResponse) DeepEqual(ano *ExtractSpanInfoResponse) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.SpanInfos) { - return false - } - if !p.Field255DeepEqual(ano.BaseResp) { - return false - } - return true -} - -func (p *ExtractSpanInfoResponse) Field1DeepEqual(src []*SpanInfo) bool { - - if len(p.SpanInfos) != len(src) { - return false - } - for i, v := range p.SpanInfos { - _src := src[i] - if !v.DeepEqual(_src) { - return false - } - } - return true -} -func (p *ExtractSpanInfoResponse) Field255DeepEqual(src *base.BaseResp) bool { - - if !p.BaseResp.DeepEqual(src) { - return false - } - return true -} - -type TraceService interface { - ListSpans(ctx context.Context, req *ListSpansRequest) (r *ListSpansResponse, err error) - - GetTrace(ctx context.Context, req *GetTraceRequest) (r *GetTraceResponse, err error) - - SearchTraceTree(ctx context.Context, req *SearchTraceTreeRequest) (r *SearchTraceTreeResponse, err error) - - BatchGetTracesAdvanceInfo(ctx context.Context, req *BatchGetTracesAdvanceInfoRequest) (r *BatchGetTracesAdvanceInfoResponse, err error) - - IngestTracesInner(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) - - GetTracesMetaInfo(ctx context.Context, req *GetTracesMetaInfoRequest) (r *GetTracesMetaInfoResponse, err error) - - CreateView(ctx context.Context, req *CreateViewRequest) (r *CreateViewResponse, err error) - - UpdateView(ctx context.Context, req *UpdateViewRequest) (r *UpdateViewResponse, err error) - - DeleteView(ctx context.Context, req *DeleteViewRequest) (r *DeleteViewResponse, err error) - - ListViews(ctx context.Context, req *ListViewsRequest) (r *ListViewsResponse, err error) - - CreateManualAnnotation(ctx context.Context, req *CreateManualAnnotationRequest) (r *CreateManualAnnotationResponse, err error) - - UpdateManualAnnotation(ctx context.Context, req *UpdateManualAnnotationRequest) (r *UpdateManualAnnotationResponse, err error) - - DeleteManualAnnotation(ctx context.Context, req *DeleteManualAnnotationRequest) (r *DeleteManualAnnotationResponse, err error) - - ListAnnotations(ctx context.Context, req *ListAnnotationsRequest) (r *ListAnnotationsResponse, err error) - - ExportTracesToDataset(ctx context.Context, req *ExportTracesToDatasetRequest) (r *ExportTracesToDatasetResponse, err error) - - PreviewExportTracesToDataset(ctx context.Context, req *PreviewExportTracesToDatasetRequest) (r *PreviewExportTracesToDatasetResponse, err error) - - ChangeEvaluatorScore(ctx context.Context, req *ChangeEvaluatorScoreRequest) (r *ChangeEvaluatorScoreResponse, err error) - - ListAnnotationEvaluators(ctx context.Context, req *ListAnnotationEvaluatorsRequest) (r *ListAnnotationEvaluatorsResponse, err error) - - ExtractSpanInfo(ctx context.Context, req *ExtractSpanInfoRequest) (r *ExtractSpanInfoResponse, err error) -} - -type TraceServiceClient struct { - c thrift.TClient -} - -func NewTraceServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *TraceServiceClient { - return &TraceServiceClient{ - c: thrift.NewTStandardClient(f.GetProtocol(t), f.GetProtocol(t)), - } -} - -func NewTraceServiceClientProtocol(t thrift.TTransport, iprot thrift.TProtocol, oprot thrift.TProtocol) *TraceServiceClient { - return &TraceServiceClient{ - c: thrift.NewTStandardClient(iprot, oprot), - } -} - -func NewTraceServiceClient(c thrift.TClient) *TraceServiceClient { - return &TraceServiceClient{ - c: c, - } -} - -func (p *TraceServiceClient) Client_() thrift.TClient { - return p.c -} - -func (p *TraceServiceClient) ListSpans(ctx context.Context, req *ListSpansRequest) (r *ListSpansResponse, err error) { - var _args TraceServiceListSpansArgs - _args.Req = req - var _result TraceServiceListSpansResult - if err = p.Client_().Call(ctx, "ListSpans", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) GetTrace(ctx context.Context, req *GetTraceRequest) (r *GetTraceResponse, err error) { - var _args TraceServiceGetTraceArgs - _args.Req = req - var _result TraceServiceGetTraceResult - if err = p.Client_().Call(ctx, "GetTrace", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) SearchTraceTree(ctx context.Context, req *SearchTraceTreeRequest) (r *SearchTraceTreeResponse, err error) { - var _args TraceServiceSearchTraceTreeArgs - _args.Req = req - var _result TraceServiceSearchTraceTreeResult - if err = p.Client_().Call(ctx, "SearchTraceTree", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *BatchGetTracesAdvanceInfoRequest) (r *BatchGetTracesAdvanceInfoResponse, err error) { - var _args TraceServiceBatchGetTracesAdvanceInfoArgs - _args.Req = req - var _result TraceServiceBatchGetTracesAdvanceInfoResult - if err = p.Client_().Call(ctx, "BatchGetTracesAdvanceInfo", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) IngestTracesInner(ctx context.Context, req *IngestTracesRequest) (r *IngestTracesResponse, err error) { - var _args TraceServiceIngestTracesInnerArgs - _args.Req = req - var _result TraceServiceIngestTracesInnerResult - if err = p.Client_().Call(ctx, "IngestTracesInner", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) GetTracesMetaInfo(ctx context.Context, req *GetTracesMetaInfoRequest) (r *GetTracesMetaInfoResponse, err error) { - var _args TraceServiceGetTracesMetaInfoArgs - _args.Req = req - var _result TraceServiceGetTracesMetaInfoResult - if err = p.Client_().Call(ctx, "GetTracesMetaInfo", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) CreateView(ctx context.Context, req *CreateViewRequest) (r *CreateViewResponse, err error) { - var _args TraceServiceCreateViewArgs - _args.Req = req - var _result TraceServiceCreateViewResult - if err = p.Client_().Call(ctx, "CreateView", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) UpdateView(ctx context.Context, req *UpdateViewRequest) (r *UpdateViewResponse, err error) { - var _args TraceServiceUpdateViewArgs - _args.Req = req - var _result TraceServiceUpdateViewResult - if err = p.Client_().Call(ctx, "UpdateView", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) DeleteView(ctx context.Context, req *DeleteViewRequest) (r *DeleteViewResponse, err error) { - var _args TraceServiceDeleteViewArgs - _args.Req = req - var _result TraceServiceDeleteViewResult - if err = p.Client_().Call(ctx, "DeleteView", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ListViews(ctx context.Context, req *ListViewsRequest) (r *ListViewsResponse, err error) { - var _args TraceServiceListViewsArgs - _args.Req = req - var _result TraceServiceListViewsResult - if err = p.Client_().Call(ctx, "ListViews", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) CreateManualAnnotation(ctx context.Context, req *CreateManualAnnotationRequest) (r *CreateManualAnnotationResponse, err error) { - var _args TraceServiceCreateManualAnnotationArgs - _args.Req = req - var _result TraceServiceCreateManualAnnotationResult - if err = p.Client_().Call(ctx, "CreateManualAnnotation", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) UpdateManualAnnotation(ctx context.Context, req *UpdateManualAnnotationRequest) (r *UpdateManualAnnotationResponse, err error) { - var _args TraceServiceUpdateManualAnnotationArgs - _args.Req = req - var _result TraceServiceUpdateManualAnnotationResult - if err = p.Client_().Call(ctx, "UpdateManualAnnotation", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) DeleteManualAnnotation(ctx context.Context, req *DeleteManualAnnotationRequest) (r *DeleteManualAnnotationResponse, err error) { - var _args TraceServiceDeleteManualAnnotationArgs - _args.Req = req - var _result TraceServiceDeleteManualAnnotationResult - if err = p.Client_().Call(ctx, "DeleteManualAnnotation", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ListAnnotations(ctx context.Context, req *ListAnnotationsRequest) (r *ListAnnotationsResponse, err error) { - var _args TraceServiceListAnnotationsArgs - _args.Req = req - var _result TraceServiceListAnnotationsResult - if err = p.Client_().Call(ctx, "ListAnnotations", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ExportTracesToDataset(ctx context.Context, req *ExportTracesToDatasetRequest) (r *ExportTracesToDatasetResponse, err error) { - var _args TraceServiceExportTracesToDatasetArgs - _args.Req = req - var _result TraceServiceExportTracesToDatasetResult - if err = p.Client_().Call(ctx, "ExportTracesToDataset", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) PreviewExportTracesToDataset(ctx context.Context, req *PreviewExportTracesToDatasetRequest) (r *PreviewExportTracesToDatasetResponse, err error) { - var _args TraceServicePreviewExportTracesToDatasetArgs - _args.Req = req - var _result TraceServicePreviewExportTracesToDatasetResult - if err = p.Client_().Call(ctx, "PreviewExportTracesToDataset", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ChangeEvaluatorScore(ctx context.Context, req *ChangeEvaluatorScoreRequest) (r *ChangeEvaluatorScoreResponse, err error) { - var _args TraceServiceChangeEvaluatorScoreArgs - _args.Req = req - var _result TraceServiceChangeEvaluatorScoreResult - if err = p.Client_().Call(ctx, "ChangeEvaluatorScore", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ListAnnotationEvaluators(ctx context.Context, req *ListAnnotationEvaluatorsRequest) (r *ListAnnotationEvaluatorsResponse, err error) { - var _args TraceServiceListAnnotationEvaluatorsArgs - _args.Req = req - var _result TraceServiceListAnnotationEvaluatorsResult - if err = p.Client_().Call(ctx, "ListAnnotationEvaluators", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} -func (p *TraceServiceClient) ExtractSpanInfo(ctx context.Context, req *ExtractSpanInfoRequest) (r *ExtractSpanInfoResponse, err error) { - var _args TraceServiceExtractSpanInfoArgs - _args.Req = req - var _result TraceServiceExtractSpanInfoResult - if err = p.Client_().Call(ctx, "ExtractSpanInfo", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - -type TraceServiceProcessor struct { - processorMap map[string]thrift.TProcessorFunction - handler TraceService -} - -func (p *TraceServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) { - p.processorMap[key] = processor -} - -func (p *TraceServiceProcessor) GetProcessorFunction(key string) (processor thrift.TProcessorFunction, ok bool) { - processor, ok = p.processorMap[key] - return processor, ok -} - -func (p *TraceServiceProcessor) ProcessorMap() map[string]thrift.TProcessorFunction { - return p.processorMap -} - -func NewTraceServiceProcessor(handler TraceService) *TraceServiceProcessor { - self := &TraceServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)} - self.AddToProcessorMap("ListSpans", &traceServiceProcessorListSpans{handler: handler}) - self.AddToProcessorMap("GetTrace", &traceServiceProcessorGetTrace{handler: handler}) - self.AddToProcessorMap("SearchTraceTree", &traceServiceProcessorSearchTraceTree{handler: handler}) - self.AddToProcessorMap("BatchGetTracesAdvanceInfo", &traceServiceProcessorBatchGetTracesAdvanceInfo{handler: handler}) - self.AddToProcessorMap("IngestTracesInner", &traceServiceProcessorIngestTracesInner{handler: handler}) - self.AddToProcessorMap("GetTracesMetaInfo", &traceServiceProcessorGetTracesMetaInfo{handler: handler}) - self.AddToProcessorMap("CreateView", &traceServiceProcessorCreateView{handler: handler}) - self.AddToProcessorMap("UpdateView", &traceServiceProcessorUpdateView{handler: handler}) - self.AddToProcessorMap("DeleteView", &traceServiceProcessorDeleteView{handler: handler}) - self.AddToProcessorMap("ListViews", &traceServiceProcessorListViews{handler: handler}) - self.AddToProcessorMap("CreateManualAnnotation", &traceServiceProcessorCreateManualAnnotation{handler: handler}) - self.AddToProcessorMap("UpdateManualAnnotation", &traceServiceProcessorUpdateManualAnnotation{handler: handler}) - self.AddToProcessorMap("DeleteManualAnnotation", &traceServiceProcessorDeleteManualAnnotation{handler: handler}) - self.AddToProcessorMap("ListAnnotations", &traceServiceProcessorListAnnotations{handler: handler}) - self.AddToProcessorMap("ExportTracesToDataset", &traceServiceProcessorExportTracesToDataset{handler: handler}) - self.AddToProcessorMap("PreviewExportTracesToDataset", &traceServiceProcessorPreviewExportTracesToDataset{handler: handler}) - self.AddToProcessorMap("ChangeEvaluatorScore", &traceServiceProcessorChangeEvaluatorScore{handler: handler}) - self.AddToProcessorMap("ListAnnotationEvaluators", &traceServiceProcessorListAnnotationEvaluators{handler: handler}) - self.AddToProcessorMap("ExtractSpanInfo", &traceServiceProcessorExtractSpanInfo{handler: handler}) - return self -} -func (p *TraceServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - name, _, seqId, err := iprot.ReadMessageBegin() - if err != nil { - return false, err - } - if processor, ok := p.GetProcessorFunction(name); ok { - return processor.Process(ctx, seqId, iprot, oprot) - } - iprot.Skip(thrift.STRUCT) - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name) - oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, x -} - -type traceServiceProcessorListSpans struct { - handler TraceService -} - -func (p *traceServiceProcessorListSpans) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceListSpansArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListSpans", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceListSpansResult{} - var retval *ListSpansResponse - if retval, err2 = p.handler.ListSpans(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSpans: "+err2.Error()) - oprot.WriteMessageBegin("ListSpans", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("ListSpans", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorGetTrace struct { - handler TraceService -} - -func (p *traceServiceProcessorGetTrace) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceGetTraceArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("GetTrace", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceGetTraceResult{} - var retval *GetTraceResponse - if retval, err2 = p.handler.GetTrace(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetTrace: "+err2.Error()) - oprot.WriteMessageBegin("GetTrace", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("GetTrace", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorSearchTraceTree struct { - handler TraceService -} - -func (p *traceServiceProcessorSearchTraceTree) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceSearchTraceTreeArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("SearchTraceTree", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceSearchTraceTreeResult{} - var retval *SearchTraceTreeResponse - if retval, err2 = p.handler.SearchTraceTree(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing SearchTraceTree: "+err2.Error()) - oprot.WriteMessageBegin("SearchTraceTree", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("SearchTraceTree", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorBatchGetTracesAdvanceInfo struct { - handler TraceService -} - -func (p *traceServiceProcessorBatchGetTracesAdvanceInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceBatchGetTracesAdvanceInfoArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceBatchGetTracesAdvanceInfoResult{} - var retval *BatchGetTracesAdvanceInfoResponse - if retval, err2 = p.handler.BatchGetTracesAdvanceInfo(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetTracesAdvanceInfo: "+err2.Error()) - oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorIngestTracesInner struct { - handler TraceService -} - -func (p *traceServiceProcessorIngestTracesInner) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceIngestTracesInnerArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("IngestTracesInner", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceIngestTracesInnerResult{} - var retval *IngestTracesResponse - if retval, err2 = p.handler.IngestTracesInner(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing IngestTracesInner: "+err2.Error()) - oprot.WriteMessageBegin("IngestTracesInner", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("IngestTracesInner", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorGetTracesMetaInfo struct { - handler TraceService -} - -func (p *traceServiceProcessorGetTracesMetaInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceGetTracesMetaInfoArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceGetTracesMetaInfoResult{} - var retval *GetTracesMetaInfoResponse - if retval, err2 = p.handler.GetTracesMetaInfo(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetTracesMetaInfo: "+err2.Error()) - oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorCreateView struct { - handler TraceService -} - -func (p *traceServiceProcessorCreateView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceCreateViewArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateView", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err - } - - iprot.ReadMessageEnd() - var err2 error - result := TraceServiceCreateViewResult{} - var retval *CreateViewResponse - if retval, err2 = p.handler.CreateView(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateView: "+err2.Error()) - oprot.WriteMessageBegin("CreateView", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return true, err2 - } else { - result.Success = retval - } - if err2 = oprot.WriteMessageBegin("CreateView", thrift.REPLY, seqId); err2 != nil { - err = err2 - } - if err2 = result.Write(oprot); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { - err = err2 - } - if err2 = oprot.Flush(ctx); err == nil && err2 != nil { - err = err2 - } - if err != nil { - return - } - return true, err -} - -type traceServiceProcessorUpdateView struct { - handler TraceService -} - -func (p *traceServiceProcessorUpdateView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceUpdateViewArgs{} - if err = args.Read(iprot); err != nil { - iprot.ReadMessageEnd() - x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("UpdateView", thrift.EXCEPTION, seqId) - x.Write(oprot) - oprot.WriteMessageEnd() - oprot.Flush(ctx) - return false, err +func (p *traceServiceProcessorListSpans) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceListSpansArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListSpans", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } iprot.ReadMessageEnd() var err2 error - result := TraceServiceUpdateViewResult{} - var retval *UpdateViewResponse - if retval, err2 = p.handler.UpdateView(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateView: "+err2.Error()) - oprot.WriteMessageBegin("UpdateView", thrift.EXCEPTION, seqId) + result := TraceServiceListSpansResult{} + var retval *ListSpansResponse + if retval, err2 = p.handler.ListSpans(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListSpans: "+err2.Error()) + oprot.WriteMessageBegin("ListSpans", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -18956,7 +17579,7 @@ func (p *traceServiceProcessorUpdateView) Process(ctx context.Context, seqId int } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("UpdateView", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("ListSpans", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -18974,16 +17597,16 @@ func (p *traceServiceProcessorUpdateView) Process(ctx context.Context, seqId int return true, err } -type traceServiceProcessorDeleteView struct { +type traceServiceProcessorGetTrace struct { handler TraceService } -func (p *traceServiceProcessorDeleteView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceDeleteViewArgs{} +func (p *traceServiceProcessorGetTrace) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceGetTraceArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DeleteView", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("GetTrace", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -18992,11 +17615,11 @@ func (p *traceServiceProcessorDeleteView) Process(ctx context.Context, seqId int iprot.ReadMessageEnd() var err2 error - result := TraceServiceDeleteViewResult{} - var retval *DeleteViewResponse - if retval, err2 = p.handler.DeleteView(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteView: "+err2.Error()) - oprot.WriteMessageBegin("DeleteView", thrift.EXCEPTION, seqId) + result := TraceServiceGetTraceResult{} + var retval *GetTraceResponse + if retval, err2 = p.handler.GetTrace(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetTrace: "+err2.Error()) + oprot.WriteMessageBegin("GetTrace", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19004,7 +17627,7 @@ func (p *traceServiceProcessorDeleteView) Process(ctx context.Context, seqId int } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("DeleteView", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("GetTrace", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19022,16 +17645,16 @@ func (p *traceServiceProcessorDeleteView) Process(ctx context.Context, seqId int return true, err } -type traceServiceProcessorListViews struct { +type traceServiceProcessorBatchGetTracesAdvanceInfo struct { handler TraceService } -func (p *traceServiceProcessorListViews) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceListViewsArgs{} +func (p *traceServiceProcessorBatchGetTracesAdvanceInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceBatchGetTracesAdvanceInfoArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListViews", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19040,11 +17663,11 @@ func (p *traceServiceProcessorListViews) Process(ctx context.Context, seqId int3 iprot.ReadMessageEnd() var err2 error - result := TraceServiceListViewsResult{} - var retval *ListViewsResponse - if retval, err2 = p.handler.ListViews(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListViews: "+err2.Error()) - oprot.WriteMessageBegin("ListViews", thrift.EXCEPTION, seqId) + result := TraceServiceBatchGetTracesAdvanceInfoResult{} + var retval *BatchGetTracesAdvanceInfoResponse + if retval, err2 = p.handler.BatchGetTracesAdvanceInfo(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing BatchGetTracesAdvanceInfo: "+err2.Error()) + oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19052,7 +17675,7 @@ func (p *traceServiceProcessorListViews) Process(ctx context.Context, seqId int3 } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ListViews", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("BatchGetTracesAdvanceInfo", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19070,16 +17693,16 @@ func (p *traceServiceProcessorListViews) Process(ctx context.Context, seqId int3 return true, err } -type traceServiceProcessorCreateManualAnnotation struct { +type traceServiceProcessorIngestTracesInner struct { handler TraceService } -func (p *traceServiceProcessorCreateManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceCreateManualAnnotationArgs{} +func (p *traceServiceProcessorIngestTracesInner) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceIngestTracesInnerArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("CreateManualAnnotation", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("IngestTracesInner", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19088,11 +17711,11 @@ func (p *traceServiceProcessorCreateManualAnnotation) Process(ctx context.Contex iprot.ReadMessageEnd() var err2 error - result := TraceServiceCreateManualAnnotationResult{} - var retval *CreateManualAnnotationResponse - if retval, err2 = p.handler.CreateManualAnnotation(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateManualAnnotation: "+err2.Error()) - oprot.WriteMessageBegin("CreateManualAnnotation", thrift.EXCEPTION, seqId) + result := TraceServiceIngestTracesInnerResult{} + var retval *IngestTracesResponse + if retval, err2 = p.handler.IngestTracesInner(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing IngestTracesInner: "+err2.Error()) + oprot.WriteMessageBegin("IngestTracesInner", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19100,7 +17723,7 @@ func (p *traceServiceProcessorCreateManualAnnotation) Process(ctx context.Contex } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("CreateManualAnnotation", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("IngestTracesInner", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19118,16 +17741,16 @@ func (p *traceServiceProcessorCreateManualAnnotation) Process(ctx context.Contex return true, err } -type traceServiceProcessorUpdateManualAnnotation struct { +type traceServiceProcessorGetTracesMetaInfo struct { handler TraceService } -func (p *traceServiceProcessorUpdateManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceUpdateManualAnnotationArgs{} +func (p *traceServiceProcessorGetTracesMetaInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceGetTracesMetaInfoArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19136,11 +17759,11 @@ func (p *traceServiceProcessorUpdateManualAnnotation) Process(ctx context.Contex iprot.ReadMessageEnd() var err2 error - result := TraceServiceUpdateManualAnnotationResult{} - var retval *UpdateManualAnnotationResponse - if retval, err2 = p.handler.UpdateManualAnnotation(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateManualAnnotation: "+err2.Error()) - oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.EXCEPTION, seqId) + result := TraceServiceGetTracesMetaInfoResult{} + var retval *GetTracesMetaInfoResponse + if retval, err2 = p.handler.GetTracesMetaInfo(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing GetTracesMetaInfo: "+err2.Error()) + oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19148,7 +17771,7 @@ func (p *traceServiceProcessorUpdateManualAnnotation) Process(ctx context.Contex } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("GetTracesMetaInfo", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19166,16 +17789,16 @@ func (p *traceServiceProcessorUpdateManualAnnotation) Process(ctx context.Contex return true, err } -type traceServiceProcessorDeleteManualAnnotation struct { +type traceServiceProcessorCreateView struct { handler TraceService } -func (p *traceServiceProcessorDeleteManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceDeleteManualAnnotationArgs{} +func (p *traceServiceProcessorCreateView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceCreateViewArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("CreateView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19184,11 +17807,11 @@ func (p *traceServiceProcessorDeleteManualAnnotation) Process(ctx context.Contex iprot.ReadMessageEnd() var err2 error - result := TraceServiceDeleteManualAnnotationResult{} - var retval *DeleteManualAnnotationResponse - if retval, err2 = p.handler.DeleteManualAnnotation(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteManualAnnotation: "+err2.Error()) - oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.EXCEPTION, seqId) + result := TraceServiceCreateViewResult{} + var retval *CreateViewResponse + if retval, err2 = p.handler.CreateView(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateView: "+err2.Error()) + oprot.WriteMessageBegin("CreateView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19196,7 +17819,7 @@ func (p *traceServiceProcessorDeleteManualAnnotation) Process(ctx context.Contex } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("CreateView", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19214,16 +17837,16 @@ func (p *traceServiceProcessorDeleteManualAnnotation) Process(ctx context.Contex return true, err } -type traceServiceProcessorListAnnotations struct { +type traceServiceProcessorUpdateView struct { handler TraceService } -func (p *traceServiceProcessorListAnnotations) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceListAnnotationsArgs{} +func (p *traceServiceProcessorUpdateView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceUpdateViewArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListAnnotations", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("UpdateView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19232,11 +17855,11 @@ func (p *traceServiceProcessorListAnnotations) Process(ctx context.Context, seqI iprot.ReadMessageEnd() var err2 error - result := TraceServiceListAnnotationsResult{} - var retval *ListAnnotationsResponse - if retval, err2 = p.handler.ListAnnotations(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListAnnotations: "+err2.Error()) - oprot.WriteMessageBegin("ListAnnotations", thrift.EXCEPTION, seqId) + result := TraceServiceUpdateViewResult{} + var retval *UpdateViewResponse + if retval, err2 = p.handler.UpdateView(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateView: "+err2.Error()) + oprot.WriteMessageBegin("UpdateView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19244,7 +17867,7 @@ func (p *traceServiceProcessorListAnnotations) Process(ctx context.Context, seqI } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ListAnnotations", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("UpdateView", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19262,16 +17885,16 @@ func (p *traceServiceProcessorListAnnotations) Process(ctx context.Context, seqI return true, err } -type traceServiceProcessorExportTracesToDataset struct { +type traceServiceProcessorDeleteView struct { handler TraceService } -func (p *traceServiceProcessorExportTracesToDataset) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceExportTracesToDatasetArgs{} +func (p *traceServiceProcessorDeleteView) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceDeleteViewArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ExportTracesToDataset", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("DeleteView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19280,11 +17903,11 @@ func (p *traceServiceProcessorExportTracesToDataset) Process(ctx context.Context iprot.ReadMessageEnd() var err2 error - result := TraceServiceExportTracesToDatasetResult{} - var retval *ExportTracesToDatasetResponse - if retval, err2 = p.handler.ExportTracesToDataset(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExportTracesToDataset: "+err2.Error()) - oprot.WriteMessageBegin("ExportTracesToDataset", thrift.EXCEPTION, seqId) + result := TraceServiceDeleteViewResult{} + var retval *DeleteViewResponse + if retval, err2 = p.handler.DeleteView(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteView: "+err2.Error()) + oprot.WriteMessageBegin("DeleteView", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19292,7 +17915,7 @@ func (p *traceServiceProcessorExportTracesToDataset) Process(ctx context.Context } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ExportTracesToDataset", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("DeleteView", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19310,16 +17933,16 @@ func (p *traceServiceProcessorExportTracesToDataset) Process(ctx context.Context return true, err } -type traceServiceProcessorPreviewExportTracesToDataset struct { +type traceServiceProcessorListViews struct { handler TraceService } -func (p *traceServiceProcessorPreviewExportTracesToDataset) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServicePreviewExportTracesToDatasetArgs{} +func (p *traceServiceProcessorListViews) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceListViewsArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("ListViews", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19328,11 +17951,11 @@ func (p *traceServiceProcessorPreviewExportTracesToDataset) Process(ctx context. iprot.ReadMessageEnd() var err2 error - result := TraceServicePreviewExportTracesToDatasetResult{} - var retval *PreviewExportTracesToDatasetResponse - if retval, err2 = p.handler.PreviewExportTracesToDataset(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing PreviewExportTracesToDataset: "+err2.Error()) - oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.EXCEPTION, seqId) + result := TraceServiceListViewsResult{} + var retval *ListViewsResponse + if retval, err2 = p.handler.ListViews(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListViews: "+err2.Error()) + oprot.WriteMessageBegin("ListViews", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19340,7 +17963,7 @@ func (p *traceServiceProcessorPreviewExportTracesToDataset) Process(ctx context. } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("ListViews", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19358,16 +17981,16 @@ func (p *traceServiceProcessorPreviewExportTracesToDataset) Process(ctx context. return true, err } -type traceServiceProcessorChangeEvaluatorScore struct { +type traceServiceProcessorCreateManualAnnotation struct { handler TraceService } -func (p *traceServiceProcessorChangeEvaluatorScore) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceChangeEvaluatorScoreArgs{} +func (p *traceServiceProcessorCreateManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceCreateManualAnnotationArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("CreateManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19376,11 +17999,11 @@ func (p *traceServiceProcessorChangeEvaluatorScore) Process(ctx context.Context, iprot.ReadMessageEnd() var err2 error - result := TraceServiceChangeEvaluatorScoreResult{} - var retval *ChangeEvaluatorScoreResponse - if retval, err2 = p.handler.ChangeEvaluatorScore(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ChangeEvaluatorScore: "+err2.Error()) - oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.EXCEPTION, seqId) + result := TraceServiceCreateManualAnnotationResult{} + var retval *CreateManualAnnotationResponse + if retval, err2 = p.handler.CreateManualAnnotation(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing CreateManualAnnotation: "+err2.Error()) + oprot.WriteMessageBegin("CreateManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19388,7 +18011,7 @@ func (p *traceServiceProcessorChangeEvaluatorScore) Process(ctx context.Context, } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("CreateManualAnnotation", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19406,16 +18029,16 @@ func (p *traceServiceProcessorChangeEvaluatorScore) Process(ctx context.Context, return true, err } -type traceServiceProcessorListAnnotationEvaluators struct { +type traceServiceProcessorUpdateManualAnnotation struct { handler TraceService } -func (p *traceServiceProcessorListAnnotationEvaluators) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceListAnnotationEvaluatorsArgs{} +func (p *traceServiceProcessorUpdateManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceUpdateManualAnnotationArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19424,11 +18047,11 @@ func (p *traceServiceProcessorListAnnotationEvaluators) Process(ctx context.Cont iprot.ReadMessageEnd() var err2 error - result := TraceServiceListAnnotationEvaluatorsResult{} - var retval *ListAnnotationEvaluatorsResponse - if retval, err2 = p.handler.ListAnnotationEvaluators(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListAnnotationEvaluators: "+err2.Error()) - oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.EXCEPTION, seqId) + result := TraceServiceUpdateManualAnnotationResult{} + var retval *UpdateManualAnnotationResponse + if retval, err2 = p.handler.UpdateManualAnnotation(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing UpdateManualAnnotation: "+err2.Error()) + oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19436,7 +18059,7 @@ func (p *traceServiceProcessorListAnnotationEvaluators) Process(ctx context.Cont } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("UpdateManualAnnotation", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19454,16 +18077,16 @@ func (p *traceServiceProcessorListAnnotationEvaluators) Process(ctx context.Cont return true, err } -type traceServiceProcessorExtractSpanInfo struct { +type traceServiceProcessorDeleteManualAnnotation struct { handler TraceService } -func (p *traceServiceProcessorExtractSpanInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { - args := TraceServiceExtractSpanInfoArgs{} +func (p *traceServiceProcessorDeleteManualAnnotation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceDeleteManualAnnotationArgs{} if err = args.Read(iprot); err != nil { iprot.ReadMessageEnd() x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) - oprot.WriteMessageBegin("ExtractSpanInfo", thrift.EXCEPTION, seqId) + oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19472,11 +18095,11 @@ func (p *traceServiceProcessorExtractSpanInfo) Process(ctx context.Context, seqI iprot.ReadMessageEnd() var err2 error - result := TraceServiceExtractSpanInfoResult{} - var retval *ExtractSpanInfoResponse - if retval, err2 = p.handler.ExtractSpanInfo(ctx, args.Req); err2 != nil { - x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExtractSpanInfo: "+err2.Error()) - oprot.WriteMessageBegin("ExtractSpanInfo", thrift.EXCEPTION, seqId) + result := TraceServiceDeleteManualAnnotationResult{} + var retval *DeleteManualAnnotationResponse + if retval, err2 = p.handler.DeleteManualAnnotation(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing DeleteManualAnnotation: "+err2.Error()) + oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.EXCEPTION, seqId) x.Write(oprot) oprot.WriteMessageEnd() oprot.Flush(ctx) @@ -19484,7 +18107,7 @@ func (p *traceServiceProcessorExtractSpanInfo) Process(ctx context.Context, seqI } else { result.Success = retval } - if err2 = oprot.WriteMessageBegin("ExtractSpanInfo", thrift.REPLY, seqId); err2 != nil { + if err2 = oprot.WriteMessageBegin("DeleteManualAnnotation", thrift.REPLY, seqId); err2 != nil { err = err2 } if err2 = result.Write(oprot); err == nil && err2 != nil { @@ -19502,385 +18125,329 @@ func (p *traceServiceProcessorExtractSpanInfo) Process(ctx context.Context, seqI return true, err } -type TraceServiceListSpansArgs struct { - Req *ListSpansRequest `thrift:"req,1" frugal:"1,default,ListSpansRequest"` -} - -func NewTraceServiceListSpansArgs() *TraceServiceListSpansArgs { - return &TraceServiceListSpansArgs{} -} - -func (p *TraceServiceListSpansArgs) InitDefault() { -} - -var TraceServiceListSpansArgs_Req_DEFAULT *ListSpansRequest - -func (p *TraceServiceListSpansArgs) GetReq() (v *ListSpansRequest) { - if p == nil { - return - } - if !p.IsSetReq() { - return TraceServiceListSpansArgs_Req_DEFAULT - } - return p.Req -} -func (p *TraceServiceListSpansArgs) SetReq(val *ListSpansRequest) { - p.Req = val -} - -var fieldIDToName_TraceServiceListSpansArgs = map[int16]string{ - 1: "req", -} - -func (p *TraceServiceListSpansArgs) IsSetReq() bool { - return p.Req != nil -} - -func (p *TraceServiceListSpansArgs) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError - } - - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField1(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } - } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError - } - - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceListSpansArgs[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +type traceServiceProcessorListAnnotations struct { + handler TraceService } -func (p *TraceServiceListSpansArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewListSpansRequest() - if err := _field.Read(iprot); err != nil { - return err +func (p *traceServiceProcessorListAnnotations) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceListAnnotationsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListAnnotations", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - p.Req = _field - return nil -} -func (p *TraceServiceListSpansArgs) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ListSpans_args"); err != nil { - goto WriteStructBeginError - } - if p != nil { - if err = p.writeField1(oprot); err != nil { - fieldId = 1 - goto WriteFieldError - } + iprot.ReadMessageEnd() + var err2 error + result := TraceServiceListAnnotationsResult{} + var retval *ListAnnotationsResponse + if retval, err2 = p.handler.ListAnnotations(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListAnnotations: "+err2.Error()) + oprot.WriteMessageBegin("ListAnnotations", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = oprot.WriteMessageBegin("ListAnnotations", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) -} - -func (p *TraceServiceListSpansArgs) writeField1(oprot thrift.TProtocol) (err error) { - if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { - goto WriteFieldBeginError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if err := p.Req.Write(oprot); err != nil { - return err + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError + if err != nil { + return } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) + return true, err } -func (p *TraceServiceListSpansArgs) String() string { - if p == nil { - return "" - } - return fmt.Sprintf("TraceServiceListSpansArgs(%+v)", *p) - +type traceServiceProcessorExportTracesToDataset struct { + handler TraceService } -func (p *TraceServiceListSpansArgs) DeepEqual(ano *TraceServiceListSpansArgs) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false - } - if !p.Field1DeepEqual(ano.Req) { - return false +func (p *traceServiceProcessorExportTracesToDataset) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceExportTracesToDatasetArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ExportTracesToDataset", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - return true -} - -func (p *TraceServiceListSpansArgs) Field1DeepEqual(src *ListSpansRequest) bool { - if !p.Req.DeepEqual(src) { - return false + iprot.ReadMessageEnd() + var err2 error + result := TraceServiceExportTracesToDatasetResult{} + var retval *ExportTracesToDatasetResponse + if retval, err2 = p.handler.ExportTracesToDataset(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExportTracesToDataset: "+err2.Error()) + oprot.WriteMessageBegin("ExportTracesToDataset", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - return true -} - -type TraceServiceListSpansResult struct { - Success *ListSpansResponse `thrift:"success,0,optional" frugal:"0,optional,ListSpansResponse"` -} - -func NewTraceServiceListSpansResult() *TraceServiceListSpansResult { - return &TraceServiceListSpansResult{} + if err2 = oprot.WriteMessageBegin("ExportTracesToDataset", thrift.REPLY, seqId); err2 != nil { + err = err2 + } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *TraceServiceListSpansResult) InitDefault() { +type traceServiceProcessorPreviewExportTracesToDataset struct { + handler TraceService } -var TraceServiceListSpansResult_Success_DEFAULT *ListSpansResponse +func (p *traceServiceProcessorPreviewExportTracesToDataset) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServicePreviewExportTracesToDatasetArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } -func (p *TraceServiceListSpansResult) GetSuccess() (v *ListSpansResponse) { - if p == nil { - return + iprot.ReadMessageEnd() + var err2 error + result := TraceServicePreviewExportTracesToDatasetResult{} + var retval *PreviewExportTracesToDatasetResponse + if retval, err2 = p.handler.PreviewExportTracesToDataset(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing PreviewExportTracesToDataset: "+err2.Error()) + oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if !p.IsSetSuccess() { - return TraceServiceListSpansResult_Success_DEFAULT + if err2 = oprot.WriteMessageBegin("PreviewExportTracesToDataset", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return p.Success -} -func (p *TraceServiceListSpansResult) SetSuccess(x interface{}) { - p.Success = x.(*ListSpansResponse) -} - -var fieldIDToName_TraceServiceListSpansResult = map[int16]string{ - 0: "success", + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -func (p *TraceServiceListSpansResult) IsSetSuccess() bool { - return p.Success != nil +type traceServiceProcessorChangeEvaluatorScore struct { + handler TraceService } -func (p *TraceServiceListSpansResult) Read(iprot thrift.TProtocol) (err error) { - var fieldTypeId thrift.TType - var fieldId int16 - - if _, err = iprot.ReadStructBegin(); err != nil { - goto ReadStructBeginError +func (p *traceServiceProcessorChangeEvaluatorScore) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceChangeEvaluatorScoreArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - for { - _, fieldTypeId, fieldId, err = iprot.ReadFieldBegin() - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - if err = p.ReadField0(iprot); err != nil { - goto ReadFieldError - } - } else if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - default: - if err = iprot.Skip(fieldTypeId); err != nil { - goto SkipFieldError - } - } - if err = iprot.ReadFieldEnd(); err != nil { - goto ReadFieldEndError - } + iprot.ReadMessageEnd() + var err2 error + result := TraceServiceChangeEvaluatorScoreResult{} + var retval *ChangeEvaluatorScoreResponse + if retval, err2 = p.handler.ChangeEvaluatorScore(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ChangeEvaluatorScore: "+err2.Error()) + oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if err = iprot.ReadStructEnd(); err != nil { - goto ReadStructEndError + if err2 = oprot.WriteMessageBegin("ChangeEvaluatorScore", thrift.REPLY, seqId); err2 != nil { + err = err2 } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err +} - return nil -ReadStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T read struct begin error: ", p), err) -ReadFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceListSpansResult[fieldId]), err) -SkipFieldError: - return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) - -ReadFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T read field end error", p), err) -ReadStructEndError: - return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) +type traceServiceProcessorListAnnotationEvaluators struct { + handler TraceService } -func (p *TraceServiceListSpansResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewListSpansResponse() - if err := _field.Read(iprot); err != nil { - return err +func (p *traceServiceProcessorListAnnotationEvaluators) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceListAnnotationEvaluatorsArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err + } + + iprot.ReadMessageEnd() + var err2 error + result := TraceServiceListAnnotationEvaluatorsResult{} + var retval *ListAnnotationEvaluatorsResponse + if retval, err2 = p.handler.ListAnnotationEvaluators(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ListAnnotationEvaluators: "+err2.Error()) + oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - p.Success = _field - return nil -} - -func (p *TraceServiceListSpansResult) Write(oprot thrift.TProtocol) (err error) { - var fieldId int16 - if err = oprot.WriteStructBegin("ListSpans_result"); err != nil { - goto WriteStructBeginError + if err2 = oprot.WriteMessageBegin("ListAnnotationEvaluators", thrift.REPLY, seqId); err2 != nil { + err = err2 } - if p != nil { - if err = p.writeField0(oprot); err != nil { - fieldId = 0 - goto WriteFieldError - } + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteFieldStop(); err != nil { - goto WriteFieldStopError + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 } - if err = oprot.WriteStructEnd(); err != nil { - goto WriteStructEndError + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 } - return nil -WriteStructBeginError: - return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) -WriteFieldError: - return thrift.PrependError(fmt.Sprintf("%T write field %d error: ", p, fieldId), err) -WriteFieldStopError: - return thrift.PrependError(fmt.Sprintf("%T write field stop error: ", p), err) -WriteStructEndError: - return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) + if err != nil { + return + } + return true, err } -func (p *TraceServiceListSpansResult) writeField0(oprot thrift.TProtocol) (err error) { - if p.IsSetSuccess() { - if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { - goto WriteFieldBeginError - } - if err := p.Success.Write(oprot); err != nil { - return err - } - if err = oprot.WriteFieldEnd(); err != nil { - goto WriteFieldEndError - } - } - return nil -WriteFieldBeginError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 begin error: ", p), err) -WriteFieldEndError: - return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) +type traceServiceProcessorExtractSpanInfo struct { + handler TraceService } -func (p *TraceServiceListSpansResult) String() string { - if p == nil { - return "" +func (p *traceServiceProcessorExtractSpanInfo) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) { + args := TraceServiceExtractSpanInfoArgs{} + if err = args.Read(iprot); err != nil { + iprot.ReadMessageEnd() + x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error()) + oprot.WriteMessageBegin("ExtractSpanInfo", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return false, err } - return fmt.Sprintf("TraceServiceListSpansResult(%+v)", *p) - -} -func (p *TraceServiceListSpansResult) DeepEqual(ano *TraceServiceListSpansResult) bool { - if p == ano { - return true - } else if p == nil || ano == nil { - return false + iprot.ReadMessageEnd() + var err2 error + result := TraceServiceExtractSpanInfoResult{} + var retval *ExtractSpanInfoResponse + if retval, err2 = p.handler.ExtractSpanInfo(ctx, args.Req); err2 != nil { + x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing ExtractSpanInfo: "+err2.Error()) + oprot.WriteMessageBegin("ExtractSpanInfo", thrift.EXCEPTION, seqId) + x.Write(oprot) + oprot.WriteMessageEnd() + oprot.Flush(ctx) + return true, err2 + } else { + result.Success = retval } - if !p.Field0DeepEqual(ano.Success) { - return false + if err2 = oprot.WriteMessageBegin("ExtractSpanInfo", thrift.REPLY, seqId); err2 != nil { + err = err2 } - return true -} - -func (p *TraceServiceListSpansResult) Field0DeepEqual(src *ListSpansResponse) bool { - - if !p.Success.DeepEqual(src) { - return false + if err2 = result.Write(oprot); err == nil && err2 != nil { + err = err2 } - return true + if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil { + err = err2 + } + if err2 = oprot.Flush(ctx); err == nil && err2 != nil { + err = err2 + } + if err != nil { + return + } + return true, err } -type TraceServiceGetTraceArgs struct { - Req *GetTraceRequest `thrift:"req,1" frugal:"1,default,GetTraceRequest"` +type TraceServiceListSpansArgs struct { + Req *ListSpansRequest `thrift:"req,1" frugal:"1,default,ListSpansRequest"` } -func NewTraceServiceGetTraceArgs() *TraceServiceGetTraceArgs { - return &TraceServiceGetTraceArgs{} +func NewTraceServiceListSpansArgs() *TraceServiceListSpansArgs { + return &TraceServiceListSpansArgs{} } -func (p *TraceServiceGetTraceArgs) InitDefault() { +func (p *TraceServiceListSpansArgs) InitDefault() { } -var TraceServiceGetTraceArgs_Req_DEFAULT *GetTraceRequest +var TraceServiceListSpansArgs_Req_DEFAULT *ListSpansRequest -func (p *TraceServiceGetTraceArgs) GetReq() (v *GetTraceRequest) { +func (p *TraceServiceListSpansArgs) GetReq() (v *ListSpansRequest) { if p == nil { return } if !p.IsSetReq() { - return TraceServiceGetTraceArgs_Req_DEFAULT + return TraceServiceListSpansArgs_Req_DEFAULT } return p.Req } -func (p *TraceServiceGetTraceArgs) SetReq(val *GetTraceRequest) { +func (p *TraceServiceListSpansArgs) SetReq(val *ListSpansRequest) { p.Req = val } -var fieldIDToName_TraceServiceGetTraceArgs = map[int16]string{ +var fieldIDToName_TraceServiceListSpansArgs = map[int16]string{ 1: "req", } -func (p *TraceServiceGetTraceArgs) IsSetReq() bool { +func (p *TraceServiceListSpansArgs) IsSetReq() bool { return p.Req != nil } -func (p *TraceServiceGetTraceArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -19925,7 +18492,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceGetTraceArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceListSpansArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -19935,8 +18502,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *TraceServiceGetTraceArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewGetTraceRequest() +func (p *TraceServiceListSpansArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewListSpansRequest() if err := _field.Read(iprot); err != nil { return err } @@ -19944,9 +18511,9 @@ func (p *TraceServiceGetTraceArgs) ReadField1(iprot thrift.TProtocol) error { return nil } -func (p *TraceServiceGetTraceArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetTrace_args"); err != nil { + if err = oprot.WriteStructBegin("ListSpans_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -19972,7 +18539,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *TraceServiceGetTraceArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -19989,15 +18556,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *TraceServiceGetTraceArgs) String() string { +func (p *TraceServiceListSpansArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("TraceServiceGetTraceArgs(%+v)", *p) + return fmt.Sprintf("TraceServiceListSpansArgs(%+v)", *p) } -func (p *TraceServiceGetTraceArgs) DeepEqual(ano *TraceServiceGetTraceArgs) bool { +func (p *TraceServiceListSpansArgs) DeepEqual(ano *TraceServiceListSpansArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -20009,7 +18576,7 @@ func (p *TraceServiceGetTraceArgs) DeepEqual(ano *TraceServiceGetTraceArgs) bool return true } -func (p *TraceServiceGetTraceArgs) Field1DeepEqual(src *GetTraceRequest) bool { +func (p *TraceServiceListSpansArgs) Field1DeepEqual(src *ListSpansRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -20017,41 +18584,41 @@ func (p *TraceServiceGetTraceArgs) Field1DeepEqual(src *GetTraceRequest) bool { return true } -type TraceServiceGetTraceResult struct { - Success *GetTraceResponse `thrift:"success,0,optional" frugal:"0,optional,GetTraceResponse"` +type TraceServiceListSpansResult struct { + Success *ListSpansResponse `thrift:"success,0,optional" frugal:"0,optional,ListSpansResponse"` } -func NewTraceServiceGetTraceResult() *TraceServiceGetTraceResult { - return &TraceServiceGetTraceResult{} +func NewTraceServiceListSpansResult() *TraceServiceListSpansResult { + return &TraceServiceListSpansResult{} } -func (p *TraceServiceGetTraceResult) InitDefault() { +func (p *TraceServiceListSpansResult) InitDefault() { } -var TraceServiceGetTraceResult_Success_DEFAULT *GetTraceResponse +var TraceServiceListSpansResult_Success_DEFAULT *ListSpansResponse -func (p *TraceServiceGetTraceResult) GetSuccess() (v *GetTraceResponse) { +func (p *TraceServiceListSpansResult) GetSuccess() (v *ListSpansResponse) { if p == nil { return } if !p.IsSetSuccess() { - return TraceServiceGetTraceResult_Success_DEFAULT + return TraceServiceListSpansResult_Success_DEFAULT } return p.Success } -func (p *TraceServiceGetTraceResult) SetSuccess(x interface{}) { - p.Success = x.(*GetTraceResponse) +func (p *TraceServiceListSpansResult) SetSuccess(x interface{}) { + p.Success = x.(*ListSpansResponse) } -var fieldIDToName_TraceServiceGetTraceResult = map[int16]string{ +var fieldIDToName_TraceServiceListSpansResult = map[int16]string{ 0: "success", } -func (p *TraceServiceGetTraceResult) IsSetSuccess() bool { +func (p *TraceServiceListSpansResult) IsSetSuccess() bool { return p.Success != nil } -func (p *TraceServiceGetTraceResult) Read(iprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -20096,7 +18663,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceGetTraceResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceListSpansResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -20106,8 +18673,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *TraceServiceGetTraceResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewGetTraceResponse() +func (p *TraceServiceListSpansResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewListSpansResponse() if err := _field.Read(iprot); err != nil { return err } @@ -20115,9 +18682,9 @@ func (p *TraceServiceGetTraceResult) ReadField0(iprot thrift.TProtocol) error { return nil } -func (p *TraceServiceGetTraceResult) Write(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("GetTrace_result"); err != nil { + if err = oprot.WriteStructBegin("ListSpans_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -20143,7 +18710,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *TraceServiceGetTraceResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceListSpansResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -20162,15 +18729,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *TraceServiceGetTraceResult) String() string { +func (p *TraceServiceListSpansResult) String() string { if p == nil { return "" } - return fmt.Sprintf("TraceServiceGetTraceResult(%+v)", *p) + return fmt.Sprintf("TraceServiceListSpansResult(%+v)", *p) } -func (p *TraceServiceGetTraceResult) DeepEqual(ano *TraceServiceGetTraceResult) bool { +func (p *TraceServiceListSpansResult) DeepEqual(ano *TraceServiceListSpansResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -20182,7 +18749,7 @@ func (p *TraceServiceGetTraceResult) DeepEqual(ano *TraceServiceGetTraceResult) return true } -func (p *TraceServiceGetTraceResult) Field0DeepEqual(src *GetTraceResponse) bool { +func (p *TraceServiceListSpansResult) Field0DeepEqual(src *ListSpansResponse) bool { if !p.Success.DeepEqual(src) { return false @@ -20190,41 +18757,41 @@ func (p *TraceServiceGetTraceResult) Field0DeepEqual(src *GetTraceResponse) bool return true } -type TraceServiceSearchTraceTreeArgs struct { - Req *SearchTraceTreeRequest `thrift:"req,1" frugal:"1,default,SearchTraceTreeRequest"` +type TraceServiceGetTraceArgs struct { + Req *GetTraceRequest `thrift:"req,1" frugal:"1,default,GetTraceRequest"` } -func NewTraceServiceSearchTraceTreeArgs() *TraceServiceSearchTraceTreeArgs { - return &TraceServiceSearchTraceTreeArgs{} +func NewTraceServiceGetTraceArgs() *TraceServiceGetTraceArgs { + return &TraceServiceGetTraceArgs{} } -func (p *TraceServiceSearchTraceTreeArgs) InitDefault() { +func (p *TraceServiceGetTraceArgs) InitDefault() { } -var TraceServiceSearchTraceTreeArgs_Req_DEFAULT *SearchTraceTreeRequest +var TraceServiceGetTraceArgs_Req_DEFAULT *GetTraceRequest -func (p *TraceServiceSearchTraceTreeArgs) GetReq() (v *SearchTraceTreeRequest) { +func (p *TraceServiceGetTraceArgs) GetReq() (v *GetTraceRequest) { if p == nil { return } if !p.IsSetReq() { - return TraceServiceSearchTraceTreeArgs_Req_DEFAULT + return TraceServiceGetTraceArgs_Req_DEFAULT } return p.Req } -func (p *TraceServiceSearchTraceTreeArgs) SetReq(val *SearchTraceTreeRequest) { +func (p *TraceServiceGetTraceArgs) SetReq(val *GetTraceRequest) { p.Req = val } -var fieldIDToName_TraceServiceSearchTraceTreeArgs = map[int16]string{ +var fieldIDToName_TraceServiceGetTraceArgs = map[int16]string{ 1: "req", } -func (p *TraceServiceSearchTraceTreeArgs) IsSetReq() bool { +func (p *TraceServiceGetTraceArgs) IsSetReq() bool { return p.Req != nil } -func (p *TraceServiceSearchTraceTreeArgs) Read(iprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceArgs) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -20269,7 +18836,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceSearchTraceTreeArgs[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceGetTraceArgs[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -20279,8 +18846,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeArgs) ReadField1(iprot thrift.TProtocol) error { - _field := NewSearchTraceTreeRequest() +func (p *TraceServiceGetTraceArgs) ReadField1(iprot thrift.TProtocol) error { + _field := NewGetTraceRequest() if err := _field.Read(iprot); err != nil { return err } @@ -20288,9 +18855,9 @@ func (p *TraceServiceSearchTraceTreeArgs) ReadField1(iprot thrift.TProtocol) err return nil } -func (p *TraceServiceSearchTraceTreeArgs) Write(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceArgs) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTree_args"); err != nil { + if err = oprot.WriteStructBegin("GetTrace_args"); err != nil { goto WriteStructBeginError } if p != nil { @@ -20316,7 +18883,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeArgs) writeField1(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceArgs) writeField1(oprot thrift.TProtocol) (err error) { if err = oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil { goto WriteFieldBeginError } @@ -20333,15 +18900,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 1 end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeArgs) String() string { +func (p *TraceServiceGetTraceArgs) String() string { if p == nil { return "" } - return fmt.Sprintf("TraceServiceSearchTraceTreeArgs(%+v)", *p) + return fmt.Sprintf("TraceServiceGetTraceArgs(%+v)", *p) } -func (p *TraceServiceSearchTraceTreeArgs) DeepEqual(ano *TraceServiceSearchTraceTreeArgs) bool { +func (p *TraceServiceGetTraceArgs) DeepEqual(ano *TraceServiceGetTraceArgs) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -20353,7 +18920,7 @@ func (p *TraceServiceSearchTraceTreeArgs) DeepEqual(ano *TraceServiceSearchTrace return true } -func (p *TraceServiceSearchTraceTreeArgs) Field1DeepEqual(src *SearchTraceTreeRequest) bool { +func (p *TraceServiceGetTraceArgs) Field1DeepEqual(src *GetTraceRequest) bool { if !p.Req.DeepEqual(src) { return false @@ -20361,41 +18928,41 @@ func (p *TraceServiceSearchTraceTreeArgs) Field1DeepEqual(src *SearchTraceTreeRe return true } -type TraceServiceSearchTraceTreeResult struct { - Success *SearchTraceTreeResponse `thrift:"success,0,optional" frugal:"0,optional,SearchTraceTreeResponse"` +type TraceServiceGetTraceResult struct { + Success *GetTraceResponse `thrift:"success,0,optional" frugal:"0,optional,GetTraceResponse"` } -func NewTraceServiceSearchTraceTreeResult() *TraceServiceSearchTraceTreeResult { - return &TraceServiceSearchTraceTreeResult{} +func NewTraceServiceGetTraceResult() *TraceServiceGetTraceResult { + return &TraceServiceGetTraceResult{} } -func (p *TraceServiceSearchTraceTreeResult) InitDefault() { +func (p *TraceServiceGetTraceResult) InitDefault() { } -var TraceServiceSearchTraceTreeResult_Success_DEFAULT *SearchTraceTreeResponse +var TraceServiceGetTraceResult_Success_DEFAULT *GetTraceResponse -func (p *TraceServiceSearchTraceTreeResult) GetSuccess() (v *SearchTraceTreeResponse) { +func (p *TraceServiceGetTraceResult) GetSuccess() (v *GetTraceResponse) { if p == nil { return } if !p.IsSetSuccess() { - return TraceServiceSearchTraceTreeResult_Success_DEFAULT + return TraceServiceGetTraceResult_Success_DEFAULT } return p.Success } -func (p *TraceServiceSearchTraceTreeResult) SetSuccess(x interface{}) { - p.Success = x.(*SearchTraceTreeResponse) +func (p *TraceServiceGetTraceResult) SetSuccess(x interface{}) { + p.Success = x.(*GetTraceResponse) } -var fieldIDToName_TraceServiceSearchTraceTreeResult = map[int16]string{ +var fieldIDToName_TraceServiceGetTraceResult = map[int16]string{ 0: "success", } -func (p *TraceServiceSearchTraceTreeResult) IsSetSuccess() bool { +func (p *TraceServiceGetTraceResult) IsSetSuccess() bool { return p.Success != nil } -func (p *TraceServiceSearchTraceTreeResult) Read(iprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceResult) Read(iprot thrift.TProtocol) (err error) { var fieldTypeId thrift.TType var fieldId int16 @@ -20440,7 +19007,7 @@ ReadStructBeginError: ReadFieldBeginError: return thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) ReadFieldError: - return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceSearchTraceTreeResult[fieldId]), err) + return thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceGetTraceResult[fieldId]), err) SkipFieldError: return thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) @@ -20450,8 +19017,8 @@ ReadStructEndError: return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeResult) ReadField0(iprot thrift.TProtocol) error { - _field := NewSearchTraceTreeResponse() +func (p *TraceServiceGetTraceResult) ReadField0(iprot thrift.TProtocol) error { + _field := NewGetTraceResponse() if err := _field.Read(iprot); err != nil { return err } @@ -20459,9 +19026,9 @@ func (p *TraceServiceSearchTraceTreeResult) ReadField0(iprot thrift.TProtocol) e return nil } -func (p *TraceServiceSearchTraceTreeResult) Write(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceResult) Write(oprot thrift.TProtocol) (err error) { var fieldId int16 - if err = oprot.WriteStructBegin("SearchTraceTree_result"); err != nil { + if err = oprot.WriteStructBegin("GetTrace_result"); err != nil { goto WriteStructBeginError } if p != nil { @@ -20487,7 +19054,7 @@ WriteStructEndError: return thrift.PrependError(fmt.Sprintf("%T write struct end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeResult) writeField0(oprot thrift.TProtocol) (err error) { +func (p *TraceServiceGetTraceResult) writeField0(oprot thrift.TProtocol) (err error) { if p.IsSetSuccess() { if err = oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil { goto WriteFieldBeginError @@ -20506,15 +19073,15 @@ WriteFieldEndError: return thrift.PrependError(fmt.Sprintf("%T write field 0 end error: ", p), err) } -func (p *TraceServiceSearchTraceTreeResult) String() string { +func (p *TraceServiceGetTraceResult) String() string { if p == nil { return "" } - return fmt.Sprintf("TraceServiceSearchTraceTreeResult(%+v)", *p) + return fmt.Sprintf("TraceServiceGetTraceResult(%+v)", *p) } -func (p *TraceServiceSearchTraceTreeResult) DeepEqual(ano *TraceServiceSearchTraceTreeResult) bool { +func (p *TraceServiceGetTraceResult) DeepEqual(ano *TraceServiceGetTraceResult) bool { if p == ano { return true } else if p == nil || ano == nil { @@ -20526,7 +19093,7 @@ func (p *TraceServiceSearchTraceTreeResult) DeepEqual(ano *TraceServiceSearchTra return true } -func (p *TraceServiceSearchTraceTreeResult) Field0DeepEqual(src *SearchTraceTreeResponse) bool { +func (p *TraceServiceGetTraceResult) Field0DeepEqual(src *GetTraceResponse) bool { if !p.Success.DeepEqual(src) { return false diff --git a/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace_validator.go b/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace_validator.go index 68dfcd626..c8976cb21 100644 --- a/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace_validator.go +++ b/backend/kitex_gen/coze/loop/observability/trace/coze.loop.observability.trace_validator.go @@ -74,32 +74,6 @@ func (p *GetTraceResponse) IsValid() error { } return nil } -func (p *SearchTraceTreeRequest) IsValid() error { - if p.Filters != nil { - if err := p.Filters.IsValid(); err != nil { - return fmt.Errorf("field Filters not valid, %w", err) - } - } - if p.Base != nil { - if err := p.Base.IsValid(); err != nil { - return fmt.Errorf("field Base not valid, %w", err) - } - } - return nil -} -func (p *SearchTraceTreeResponse) IsValid() error { - if p.TracesAdvanceInfo != nil { - if err := p.TracesAdvanceInfo.IsValid(); err != nil { - return fmt.Errorf("field TracesAdvanceInfo not valid, %w", err) - } - } - if p.BaseResp != nil { - if err := p.BaseResp.IsValid(); err != nil { - return fmt.Errorf("field BaseResp not valid, %w", err) - } - } - return nil -} func (p *TraceQueryParams) IsValid() error { return nil } diff --git a/backend/kitex_gen/coze/loop/observability/trace/k-coze.loop.observability.trace.go b/backend/kitex_gen/coze/loop/observability/trace/k-coze.loop.observability.trace.go index d33b54cd8..bada89ab9 100644 --- a/backend/kitex_gen/coze/loop/observability/trace/k-coze.loop.observability.trace.go +++ b/backend/kitex_gen/coze/loop/observability/trace/k-coze.loop.observability.trace.go @@ -2072,711 +2072,6 @@ func (p *GetTraceResponse) DeepCopy(s interface{}) error { return nil } -func (p *SearchTraceTreeRequest) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetWorkspaceID bool = false - var issetTraceID bool = false - var issetStartTime bool = false - var issetEndTime bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetWorkspaceID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetTraceID = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 3: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField3(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetStartTime = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 4: - if fieldTypeId == thrift.I64 { - l, err = p.FastReadField4(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetEndTime = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 8: - if fieldTypeId == thrift.STRING { - l, err = p.FastReadField8(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 10: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField10(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetWorkspaceID { - fieldId = 1 - goto RequiredFieldNotSetError - } - - if !issetTraceID { - fieldId = 2 - goto RequiredFieldNotSetError - } - - if !issetStartTime { - fieldId = 3 - goto RequiredFieldNotSetError - } - - if !issetEndTime { - fieldId = 4 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeRequest[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceTreeRequest[fieldId])) -} - -func (p *SearchTraceTreeRequest) FastReadField1(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.WorkspaceID = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField2(buf []byte) (int, error) { - offset := 0 - - var _field string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.TraceID = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField3(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.StartTime = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField4(buf []byte) (int, error) { - offset := 0 - - var _field int64 - if v, l, err := thrift.Binary.ReadI64(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = v - } - p.EndTime = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField8(buf []byte) (int, error) { - offset := 0 - - var _field *common.PlatformType - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - _field = &v - } - p.PlatformType = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField10(buf []byte) (int, error) { - offset := 0 - _field := filter.NewFilterFields() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Filters = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBase() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Base = _field - return offset, nil -} - -func (p *SearchTraceTreeRequest) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchTraceTreeRequest) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField3(buf[offset:], w) - offset += p.fastWriteField4(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField8(buf[offset:], w) - offset += p.fastWriteField10(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchTraceTreeRequest) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field3Length() - l += p.field4Length() - l += p.field8Length() - l += p.field10Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchTraceTreeRequest) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 1) - offset += thrift.Binary.WriteI64(buf[offset:], p.WorkspaceID) - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 2) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, p.TraceID) - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField3(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 3) - offset += thrift.Binary.WriteI64(buf[offset:], p.StartTime) - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField4(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.I64, 4) - offset += thrift.Binary.WriteI64(buf[offset:], p.EndTime) - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField8(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetPlatformType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRING, 8) - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, *p.PlatformType) - } - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField10(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetFilters() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 10) - offset += p.Filters.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeRequest) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBase() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.Base.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeRequest) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *SearchTraceTreeRequest) field2Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(p.TraceID) - return l -} - -func (p *SearchTraceTreeRequest) field3Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *SearchTraceTreeRequest) field4Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.I64Length() - return l -} - -func (p *SearchTraceTreeRequest) field8Length() int { - l := 0 - if p.IsSetPlatformType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.StringLengthNocopy(*p.PlatformType) - } - return l -} - -func (p *SearchTraceTreeRequest) field10Length() int { - l := 0 - if p.IsSetFilters() { - l += thrift.Binary.FieldBeginLength() - l += p.Filters.BLength() - } - return l -} - -func (p *SearchTraceTreeRequest) field255Length() int { - l := 0 - if p.IsSetBase() { - l += thrift.Binary.FieldBeginLength() - l += p.Base.BLength() - } - return l -} - -func (p *SearchTraceTreeRequest) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceTreeRequest) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - p.WorkspaceID = src.WorkspaceID - - if src.TraceID != "" { - p.TraceID = kutils.StringDeepCopy(src.TraceID) - } - - p.StartTime = src.StartTime - - p.EndTime = src.EndTime - - if src.PlatformType != nil { - tmp := *src.PlatformType - p.PlatformType = &tmp - } - - var _filters *filter.FilterFields - if src.Filters != nil { - _filters = &filter.FilterFields{} - if err := _filters.DeepCopy(src.Filters); err != nil { - return err - } - } - p.Filters = _filters - - var _base *base.Base - if src.Base != nil { - _base = &base.Base{} - if err := _base.DeepCopy(src.Base); err != nil { - return err - } - } - p.Base = _base - - return nil -} - -func (p *SearchTraceTreeResponse) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - var issetSpans bool = false - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - issetSpans = true - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 2: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - case 255: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField255(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - if !issetSpans { - fieldId = 1 - goto RequiredFieldNotSetError - } - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_SearchTraceTreeResponse[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -RequiredFieldNotSetError: - return offset, thrift.NewProtocolException(thrift.INVALID_DATA, fmt.Sprintf("required field %s is not set", fieldIDToName_SearchTraceTreeResponse[fieldId])) -} - -func (p *SearchTraceTreeResponse) FastReadField1(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]*span.OutputSpan, 0, size) - values := make([]span.OutputSpan, size) - for i := 0; i < size; i++ { - _elem := &values[i] - _elem.InitDefault() - if l, err := _elem.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field = append(_field, _elem) - } - p.Spans = _field - return offset, nil -} - -func (p *SearchTraceTreeResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - _field := NewTraceAdvanceInfo() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.TracesAdvanceInfo = _field - return offset, nil -} - -func (p *SearchTraceTreeResponse) FastReadField255(buf []byte) (int, error) { - offset := 0 - _field := base.NewBaseResp() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.BaseResp = _field - return offset, nil -} - -func (p *SearchTraceTreeResponse) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *SearchTraceTreeResponse) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) - offset += p.fastWriteField255(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *SearchTraceTreeResponse) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - l += p.field2Length() - l += p.field255Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *SearchTraceTreeResponse) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 1) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.Spans { - length++ - offset += v.FastWriteNocopy(buf[offset:], w) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRUCT, length) - return offset -} - -func (p *SearchTraceTreeResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetTracesAdvanceInfo() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 2) - offset += p.TracesAdvanceInfo.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetBaseResp() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 255) - offset += p.BaseResp.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *SearchTraceTreeResponse) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.Spans { - _ = v - l += v.BLength() - } - return l -} - -func (p *SearchTraceTreeResponse) field2Length() int { - l := 0 - if p.IsSetTracesAdvanceInfo() { - l += thrift.Binary.FieldBeginLength() - l += p.TracesAdvanceInfo.BLength() - } - return l -} - -func (p *SearchTraceTreeResponse) field255Length() int { - l := 0 - if p.IsSetBaseResp() { - l += thrift.Binary.FieldBeginLength() - l += p.BaseResp.BLength() - } - return l -} - -func (p *SearchTraceTreeResponse) DeepCopy(s interface{}) error { - src, ok := s.(*SearchTraceTreeResponse) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - if src.Spans != nil { - p.Spans = make([]*span.OutputSpan, 0, len(src.Spans)) - for _, elem := range src.Spans { - var _elem *span.OutputSpan - if elem != nil { - _elem = &span.OutputSpan{} - if err := _elem.DeepCopy(elem); err != nil { - return err - } - } - - p.Spans = append(p.Spans, _elem) - } - } - - var _tracesAdvanceInfo *TraceAdvanceInfo - if src.TracesAdvanceInfo != nil { - _tracesAdvanceInfo = &TraceAdvanceInfo{} - if err := _tracesAdvanceInfo.DeepCopy(src.TracesAdvanceInfo); err != nil { - return err - } - } - p.TracesAdvanceInfo = _tracesAdvanceInfo - - var _baseResp *base.BaseResp - if src.BaseResp != nil { - _baseResp = &base.BaseResp{} - if err := _baseResp.DeepCopy(src.BaseResp); err != nil { - return err - } - } - p.BaseResp = _baseResp - - return nil -} - func (p *TraceQueryParams) FastRead(buf []byte) (int, error) { var err error @@ -4571,20 +3866,6 @@ func (p *GetTracesMetaInfoResponse) FastRead(buf []byte) (int, error) { goto SkipFieldError } } - case 2: - if fieldTypeId == thrift.LIST { - l, err = p.FastReadField2(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } case 255: if fieldTypeId == thrift.STRUCT { l, err = p.FastReadField255(buf[offset:]) @@ -4639,44 +3920,20 @@ func (p *GetTracesMetaInfoResponse) FastReadField1(buf []byte) (int, error) { return offset, err } else { offset += l - _key = v - } - - _val := &values[i] - _val.InitDefault() - if l, err := _val.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - - _field[_key] = _val - } - p.FieldMetas = _field - return offset, nil -} - -func (p *GetTracesMetaInfoResponse) FastReadField2(buf []byte) (int, error) { - offset := 0 - - _, size, l, err := thrift.Binary.ReadListBegin(buf[offset:]) - offset += l - if err != nil { - return offset, err - } - _field := make([]string, 0, size) - for i := 0; i < size; i++ { - var _elem string - if v, l, err := thrift.Binary.ReadString(buf[offset:]); err != nil { + _key = v + } + + _val := &values[i] + _val.InitDefault() + if l, err := _val.FastRead(buf[offset:]); err != nil { return offset, err } else { offset += l - _elem = v } - _field = append(_field, _elem) + _field[_key] = _val } - p.KeySpanType = _field + p.FieldMetas = _field return offset, nil } @@ -4700,7 +3957,6 @@ func (p *GetTracesMetaInfoResponse) FastWriteNocopy(buf []byte, w thrift.NocopyW offset := 0 if p != nil { offset += p.fastWriteField1(buf[offset:], w) - offset += p.fastWriteField2(buf[offset:], w) offset += p.fastWriteField255(buf[offset:], w) } offset += thrift.Binary.WriteFieldStop(buf[offset:]) @@ -4711,7 +3967,6 @@ func (p *GetTracesMetaInfoResponse) BLength() int { l := 0 if p != nil { l += p.field1Length() - l += p.field2Length() l += p.field255Length() } l += thrift.Binary.FieldStopLength() @@ -4733,22 +3988,6 @@ func (p *GetTracesMetaInfoResponse) fastWriteField1(buf []byte, w thrift.NocopyW return offset } -func (p *GetTracesMetaInfoResponse) fastWriteField2(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetKeySpanType() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.LIST, 2) - listBeginOffset := offset - offset += thrift.Binary.ListBeginLength() - var length int - for _, v := range p.KeySpanType { - length++ - offset += thrift.Binary.WriteStringNocopy(buf[offset:], w, v) - } - thrift.Binary.WriteListBegin(buf[listBeginOffset:], thrift.STRING, length) - } - return offset -} - func (p *GetTracesMetaInfoResponse) fastWriteField255(buf []byte, w thrift.NocopyWriter) int { offset := 0 if p.IsSetBaseResp() { @@ -4771,19 +4010,6 @@ func (p *GetTracesMetaInfoResponse) field1Length() int { return l } -func (p *GetTracesMetaInfoResponse) field2Length() int { - l := 0 - if p.IsSetKeySpanType() { - l += thrift.Binary.FieldBeginLength() - l += thrift.Binary.ListBeginLength() - for _, v := range p.KeySpanType { - _ = v - l += thrift.Binary.StringLengthNocopy(v) - } - } - return l -} - func (p *GetTracesMetaInfoResponse) field255Length() int { l := 0 if p.IsSetBaseResp() { @@ -4819,17 +4045,6 @@ func (p *GetTracesMetaInfoResponse) DeepCopy(s interface{}) error { } } - if src.KeySpanType != nil { - p.KeySpanType = make([]string, 0, len(src.KeySpanType)) - for _, elem := range src.KeySpanType { - var _elem string - if elem != "" { - _elem = kutils.StringDeepCopy(elem) - } - p.KeySpanType = append(p.KeySpanType, _elem) - } - } - var _baseResp *base.BaseResp if src.BaseResp != nil { _baseResp = &base.BaseResp{} @@ -14111,240 +13326,6 @@ func (p *TraceServiceGetTraceResult) DeepCopy(s interface{}) error { return nil } -func (p *TraceServiceSearchTraceTreeArgs) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 1: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField1(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceSearchTraceTreeArgs[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *TraceServiceSearchTraceTreeArgs) FastReadField1(buf []byte) (int, error) { - offset := 0 - _field := NewSearchTraceTreeRequest() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Req = _field - return offset, nil -} - -func (p *TraceServiceSearchTraceTreeArgs) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *TraceServiceSearchTraceTreeArgs) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField1(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *TraceServiceSearchTraceTreeArgs) BLength() int { - l := 0 - if p != nil { - l += p.field1Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *TraceServiceSearchTraceTreeArgs) fastWriteField1(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 1) - offset += p.Req.FastWriteNocopy(buf[offset:], w) - return offset -} - -func (p *TraceServiceSearchTraceTreeArgs) field1Length() int { - l := 0 - l += thrift.Binary.FieldBeginLength() - l += p.Req.BLength() - return l -} - -func (p *TraceServiceSearchTraceTreeArgs) DeepCopy(s interface{}) error { - src, ok := s.(*TraceServiceSearchTraceTreeArgs) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _req *SearchTraceTreeRequest - if src.Req != nil { - _req = &SearchTraceTreeRequest{} - if err := _req.DeepCopy(src.Req); err != nil { - return err - } - } - p.Req = _req - - return nil -} - -func (p *TraceServiceSearchTraceTreeResult) FastRead(buf []byte) (int, error) { - - var err error - var offset int - var l int - var fieldTypeId thrift.TType - var fieldId int16 - for { - fieldTypeId, fieldId, l, err = thrift.Binary.ReadFieldBegin(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldBeginError - } - if fieldTypeId == thrift.STOP { - break - } - switch fieldId { - case 0: - if fieldTypeId == thrift.STRUCT { - l, err = p.FastReadField0(buf[offset:]) - offset += l - if err != nil { - goto ReadFieldError - } - } else { - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - default: - l, err = thrift.Binary.Skip(buf[offset:], fieldTypeId) - offset += l - if err != nil { - goto SkipFieldError - } - } - } - - return offset, nil -ReadFieldBeginError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d begin error: ", p, fieldId), err) -ReadFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T read field %d '%s' error: ", p, fieldId, fieldIDToName_TraceServiceSearchTraceTreeResult[fieldId]), err) -SkipFieldError: - return offset, thrift.PrependError(fmt.Sprintf("%T field %d skip type %d error: ", p, fieldId, fieldTypeId), err) -} - -func (p *TraceServiceSearchTraceTreeResult) FastReadField0(buf []byte) (int, error) { - offset := 0 - _field := NewSearchTraceTreeResponse() - if l, err := _field.FastRead(buf[offset:]); err != nil { - return offset, err - } else { - offset += l - } - p.Success = _field - return offset, nil -} - -func (p *TraceServiceSearchTraceTreeResult) FastWrite(buf []byte) int { - return p.FastWriteNocopy(buf, nil) -} - -func (p *TraceServiceSearchTraceTreeResult) FastWriteNocopy(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p != nil { - offset += p.fastWriteField0(buf[offset:], w) - } - offset += thrift.Binary.WriteFieldStop(buf[offset:]) - return offset -} - -func (p *TraceServiceSearchTraceTreeResult) BLength() int { - l := 0 - if p != nil { - l += p.field0Length() - } - l += thrift.Binary.FieldStopLength() - return l -} - -func (p *TraceServiceSearchTraceTreeResult) fastWriteField0(buf []byte, w thrift.NocopyWriter) int { - offset := 0 - if p.IsSetSuccess() { - offset += thrift.Binary.WriteFieldBegin(buf[offset:], thrift.STRUCT, 0) - offset += p.Success.FastWriteNocopy(buf[offset:], w) - } - return offset -} - -func (p *TraceServiceSearchTraceTreeResult) field0Length() int { - l := 0 - if p.IsSetSuccess() { - l += thrift.Binary.FieldBeginLength() - l += p.Success.BLength() - } - return l -} - -func (p *TraceServiceSearchTraceTreeResult) DeepCopy(s interface{}) error { - src, ok := s.(*TraceServiceSearchTraceTreeResult) - if !ok { - return fmt.Errorf("%T's type not matched %T", s, p) - } - - var _success *SearchTraceTreeResponse - if src.Success != nil { - _success = &SearchTraceTreeResponse{} - if err := _success.DeepCopy(src.Success); err != nil { - return err - } - } - p.Success = _success - - return nil -} - func (p *TraceServiceBatchGetTracesAdvanceInfoArgs) FastRead(buf []byte) (int, error) { var err error @@ -18105,14 +17086,6 @@ func (p *TraceServiceGetTraceResult) GetResult() interface{} { return p.Success } -func (p *TraceServiceSearchTraceTreeArgs) GetFirstArgument() interface{} { - return p.Req -} - -func (p *TraceServiceSearchTraceTreeResult) GetResult() interface{} { - return p.Success -} - func (p *TraceServiceBatchGetTracesAdvanceInfoArgs) GetFirstArgument() interface{} { return p.Req } diff --git a/backend/kitex_gen/coze/loop/observability/trace/traceservice/client.go b/backend/kitex_gen/coze/loop/observability/trace/traceservice/client.go index 6bd0efb39..da26be9b5 100644 --- a/backend/kitex_gen/coze/loop/observability/trace/traceservice/client.go +++ b/backend/kitex_gen/coze/loop/observability/trace/traceservice/client.go @@ -13,7 +13,6 @@ import ( type Client interface { ListSpans(ctx context.Context, req *trace.ListSpansRequest, callOptions ...callopt.Option) (r *trace.ListSpansResponse, err error) GetTrace(ctx context.Context, req *trace.GetTraceRequest, callOptions ...callopt.Option) (r *trace.GetTraceResponse, err error) - SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) IngestTracesInner(ctx context.Context, req *trace.IngestTracesRequest, callOptions ...callopt.Option) (r *trace.IngestTracesResponse, err error) GetTracesMetaInfo(ctx context.Context, req *trace.GetTracesMetaInfoRequest, callOptions ...callopt.Option) (r *trace.GetTracesMetaInfoResponse, err error) @@ -71,11 +70,6 @@ func (p *kTraceServiceClient) GetTrace(ctx context.Context, req *trace.GetTraceR return p.kClient.GetTrace(ctx, req) } -func (p *kTraceServiceClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (r *trace.SearchTraceTreeResponse, err error) { - ctx = client.NewCtxWithCallOptions(ctx, callOptions) - return p.kClient.SearchTraceTree(ctx, req) -} - func (p *kTraceServiceClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { ctx = client.NewCtxWithCallOptions(ctx, callOptions) return p.kClient.BatchGetTracesAdvanceInfo(ctx, req) diff --git a/backend/kitex_gen/coze/loop/observability/trace/traceservice/traceservice.go b/backend/kitex_gen/coze/loop/observability/trace/traceservice/traceservice.go index 4e077e1f7..0aeace78b 100644 --- a/backend/kitex_gen/coze/loop/observability/trace/traceservice/traceservice.go +++ b/backend/kitex_gen/coze/loop/observability/trace/traceservice/traceservice.go @@ -27,13 +27,6 @@ var serviceMethods = map[string]kitex.MethodInfo{ false, kitex.WithStreamingMode(kitex.StreamingNone), ), - "SearchTraceTree": kitex.NewMethodInfo( - searchTraceTreeHandler, - newTraceServiceSearchTraceTreeArgs, - newTraceServiceSearchTraceTreeResult, - false, - kitex.WithStreamingMode(kitex.StreamingNone), - ), "BatchGetTracesAdvanceInfo": kitex.NewMethodInfo( batchGetTracesAdvanceInfoHandler, newTraceServiceBatchGetTracesAdvanceInfoArgs, @@ -217,25 +210,6 @@ func newTraceServiceGetTraceResult() interface{} { return trace.NewTraceServiceGetTraceResult() } -func searchTraceTreeHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { - realArg := arg.(*trace.TraceServiceSearchTraceTreeArgs) - realResult := result.(*trace.TraceServiceSearchTraceTreeResult) - success, err := handler.(trace.TraceService).SearchTraceTree(ctx, realArg.Req) - if err != nil { - return err - } - realResult.Success = success - return nil -} - -func newTraceServiceSearchTraceTreeArgs() interface{} { - return trace.NewTraceServiceSearchTraceTreeArgs() -} - -func newTraceServiceSearchTraceTreeResult() interface{} { - return trace.NewTraceServiceSearchTraceTreeResult() -} - func batchGetTracesAdvanceInfoHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { realArg := arg.(*trace.TraceServiceBatchGetTracesAdvanceInfoArgs) realResult := result.(*trace.TraceServiceBatchGetTracesAdvanceInfoResult) @@ -572,16 +546,6 @@ func (p *kClient) GetTrace(ctx context.Context, req *trace.GetTraceRequest) (r * return _result.GetSuccess(), nil } -func (p *kClient) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest) (r *trace.SearchTraceTreeResponse, err error) { - var _args trace.TraceServiceSearchTraceTreeArgs - _args.Req = req - var _result trace.TraceServiceSearchTraceTreeResult - if err = p.c.Call(ctx, "SearchTraceTree", &_args, &_result); err != nil { - return - } - return _result.GetSuccess(), nil -} - func (p *kClient) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest) (r *trace.BatchGetTracesAdvanceInfoResponse, err error) { var _args trace.TraceServiceBatchGetTracesAdvanceInfoArgs _args.Req = req diff --git a/backend/loop_gen/coze/loop/evaluation/loeval_target/local_evaltargetservice.go b/backend/loop_gen/coze/loop/evaluation/loeval_target/local_evaltargetservice.go index 2dcf0c421..31e9c927d 100644 --- a/backend/loop_gen/coze/loop/evaluation/loeval_target/local_evaltargetservice.go +++ b/backend/loop_gen/coze/loop/evaluation/loeval_target/local_evaltargetservice.go @@ -181,29 +181,6 @@ func (l *LocalEvalTargetService) BatchGetSourceEvalTargets(ctx context.Context, return result.GetSuccess(), nil } -// SearchCustomEvalTarget -// 搜索自定义评测对象 -func (l *LocalEvalTargetService) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest, callOptions ...callopt.Option) (*eval_target.SearchCustomEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*eval_target.EvalTargetServiceSearchCustomEvalTargetArgs) - result := out.(*eval_target.EvalTargetServiceSearchCustomEvalTargetResult) - resp, err := l.impl.SearchCustomEvalTarget(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &eval_target.EvalTargetServiceSearchCustomEvalTargetArgs{Req: req} - result := &eval_target.EvalTargetServiceSearchCustomEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "SearchCustomEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - // ExecuteEvalTarget // 执行 func (l *LocalEvalTargetService) ExecuteEvalTarget(ctx context.Context, request *eval_target.ExecuteEvalTargetRequest, callOptions ...callopt.Option) (*eval_target.ExecuteEvalTargetResponse, error) { @@ -227,27 +204,6 @@ func (l *LocalEvalTargetService) ExecuteEvalTarget(ctx context.Context, request return result.GetSuccess(), nil } -func (l *LocalEvalTargetService) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest, callOptions ...callopt.Option) (*eval_target.AsyncExecuteEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs) - result := out.(*eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult) - resp, err := l.impl.AsyncExecuteEvalTarget(ctx, arg.Request) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &eval_target.EvalTargetServiceAsyncExecuteEvalTargetArgs{Request: request} - result := &eval_target.EvalTargetServiceAsyncExecuteEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "AsyncExecuteEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - func (l *LocalEvalTargetService) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest, callOptions ...callopt.Option) (*eval_target.GetEvalTargetRecordResponse, error) { chain := l.mds(func(ctx context.Context, in, out interface{}) error { arg := in.(*eval_target.EvalTargetServiceGetEvalTargetRecordArgs) @@ -290,50 +246,6 @@ func (l *LocalEvalTargetService) BatchGetEvalTargetRecords(ctx context.Context, return result.GetSuccess(), nil } -// DebugEvalTarget -// debug -func (l *LocalEvalTargetService) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest, callOptions ...callopt.Option) (*eval_target.DebugEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*eval_target.EvalTargetServiceDebugEvalTargetArgs) - result := out.(*eval_target.EvalTargetServiceDebugEvalTargetResult) - resp, err := l.impl.DebugEvalTarget(ctx, arg.Request) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &eval_target.EvalTargetServiceDebugEvalTargetArgs{Request: request} - result := &eval_target.EvalTargetServiceDebugEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "DebugEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - -func (l *LocalEvalTargetService) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest, callOptions ...callopt.Option) (*eval_target.AsyncDebugEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs) - result := out.(*eval_target.EvalTargetServiceAsyncDebugEvalTargetResult) - resp, err := l.impl.AsyncDebugEvalTarget(ctx, arg.Request) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &eval_target.EvalTargetServiceAsyncDebugEvalTargetArgs{Request: request} - result := &eval_target.EvalTargetServiceAsyncDebugEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "AsyncDebugEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - // MockEvalTargetOutput // mock输出数据 func (l *LocalEvalTargetService) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest, callOptions ...callopt.Option) (*eval_target.MockEvalTargetOutputResponse, error) { diff --git a/backend/loop_gen/coze/loop/evaluation/loopenapi/local_evaluationopenapiservice.go b/backend/loop_gen/coze/loop/evaluation/loopenapi/local_evaluationopenapiservice.go deleted file mode 100644 index f279474eb..000000000 --- a/backend/loop_gen/coze/loop/evaluation/loopenapi/local_evaluationopenapiservice.go +++ /dev/null @@ -1,56 +0,0 @@ -// Code generated by cozeloop. DO NOT EDIT. -package loopenapi // import github.com/coze-dev/coze-loop/backend/loopenapi - -import ( - "context" - - "github.com/cloudwego/kitex/client/callopt" - "github.com/cloudwego/kitex/pkg/endpoint" - "github.com/cloudwego/kitex/pkg/rpcinfo" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" -) - -type LocalEvaluationOpenAPIService struct { - impl openapi.EvaluationOpenAPIService // the service implementation - mds endpoint.Middleware -} - -func NewLocalEvaluationOpenAPIService(impl openapi.EvaluationOpenAPIService, mds ...endpoint.Middleware) *LocalEvaluationOpenAPIService { - return &LocalEvaluationOpenAPIService{ - impl: impl, - mds: endpoint.Chain(mds...), - } -} - -func (l *LocalEvaluationOpenAPIService) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest, callOptions ...callopt.Option) (*openapi.ReportEvalTargetInvokeResultResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs) - result := out.(*openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult) - resp, err := l.impl.ReportEvalTargetInvokeResult_(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultArgs{Req: req} - result := &openapi.EvaluationOpenAPIServiceReportEvalTargetInvokeResultResult{} - ctx = l.injectRPCInfo(ctx, "ReportEvalTargetInvokeResult_") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - -func (l *LocalEvaluationOpenAPIService) injectRPCInfo(ctx context.Context, method string) context.Context { - rpcStats := rpcinfo.AsMutableRPCStats(rpcinfo.NewRPCStats()) - ri := rpcinfo.NewRPCInfo( - rpcinfo.NewEndpointInfo("EvaluationOpenAPIService", method, nil, nil), - rpcinfo.NewEndpointInfo("EvaluationOpenAPIService", method, nil, nil), - rpcinfo.NewServerInvocation(), - nil, - rpcStats.ImmutableView(), - ) - return rpcinfo.NewCtxWithRPCInfo(ctx, ri) -} diff --git a/backend/loop_gen/coze/loop/evaluation/lospi/local_evaluationspiservice.go b/backend/loop_gen/coze/loop/evaluation/lospi/local_evaluationspiservice.go deleted file mode 100644 index 67597c82e..000000000 --- a/backend/loop_gen/coze/loop/evaluation/lospi/local_evaluationspiservice.go +++ /dev/null @@ -1,98 +0,0 @@ -// Code generated by cozeloop. DO NOT EDIT. -package lospi // import github.com/coze-dev/coze-loop/backend/lospi - -import ( - "context" - - "github.com/cloudwego/kitex/client/callopt" - "github.com/cloudwego/kitex/pkg/endpoint" - "github.com/cloudwego/kitex/pkg/rpcinfo" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" -) - -type LocalEvaluationSPIService struct { - impl spi.EvaluationSPIService // the service implementation - mds endpoint.Middleware -} - -func NewLocalEvaluationSPIService(impl spi.EvaluationSPIService, mds ...endpoint.Middleware) *LocalEvaluationSPIService { - return &LocalEvaluationSPIService{ - impl: impl, - mds: endpoint.Chain(mds...), - } -} - -func (l *LocalEvaluationSPIService) SearchEvalTarget(ctx context.Context, req *spi.SearchEvalTargetRequest, callOptions ...callopt.Option) (*spi.SearchEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*spi.EvaluationSPIServiceSearchEvalTargetArgs) - result := out.(*spi.EvaluationSPIServiceSearchEvalTargetResult) - resp, err := l.impl.SearchEvalTarget(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &spi.EvaluationSPIServiceSearchEvalTargetArgs{Req: req} - result := &spi.EvaluationSPIServiceSearchEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "SearchEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - -func (l *LocalEvaluationSPIService) InvokeEvalTarget(ctx context.Context, req *spi.InvokeEvalTargetRequest, callOptions ...callopt.Option) (*spi.InvokeEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*spi.EvaluationSPIServiceInvokeEvalTargetArgs) - result := out.(*spi.EvaluationSPIServiceInvokeEvalTargetResult) - resp, err := l.impl.InvokeEvalTarget(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &spi.EvaluationSPIServiceInvokeEvalTargetArgs{Req: req} - result := &spi.EvaluationSPIServiceInvokeEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "InvokeEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - -func (l *LocalEvaluationSPIService) AsyncInvokeEvalTarget(ctx context.Context, req *spi.AsyncInvokeEvalTargetRequest, callOptions ...callopt.Option) (*spi.AsyncInvokeEvalTargetResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs) - result := out.(*spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult) - resp, err := l.impl.AsyncInvokeEvalTarget(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &spi.EvaluationSPIServiceAsyncInvokeEvalTargetArgs{Req: req} - result := &spi.EvaluationSPIServiceAsyncInvokeEvalTargetResult{} - ctx = l.injectRPCInfo(ctx, "AsyncInvokeEvalTarget") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - -func (l *LocalEvaluationSPIService) injectRPCInfo(ctx context.Context, method string) context.Context { - rpcStats := rpcinfo.AsMutableRPCStats(rpcinfo.NewRPCStats()) - ri := rpcinfo.NewRPCInfo( - rpcinfo.NewEndpointInfo("EvaluationSPIService", method, nil, nil), - rpcinfo.NewEndpointInfo("EvaluationSPIService", method, nil, nil), - rpcinfo.NewServerInvocation(), - nil, - rpcStats.ImmutableView(), - ) - return rpcinfo.NewCtxWithRPCInfo(ctx, ri) -} diff --git a/backend/loop_gen/coze/loop/observability/loopenapi/local_openapiservice.go b/backend/loop_gen/coze/loop/observability/loopenapi/local_openapiservice.go index 2ccedaecd..e9b9eef54 100644 --- a/backend/loop_gen/coze/loop/observability/loopenapi/local_openapiservice.go +++ b/backend/loop_gen/coze/loop/observability/loopenapi/local_openapiservice.go @@ -85,27 +85,6 @@ func (l *LocalOpenAPIService) SearchTraceOApi(ctx context.Context, req *openapi. return result.GetSuccess(), nil } -func (l *LocalOpenAPIService) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest, callOptions ...callopt.Option) (*openapi.SearchTraceTreeOApiResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*openapi.OpenAPIServiceSearchTraceTreeOApiArgs) - result := out.(*openapi.OpenAPIServiceSearchTraceTreeOApiResult) - resp, err := l.impl.SearchTraceTreeOApi(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &openapi.OpenAPIServiceSearchTraceTreeOApiArgs{Req: req} - result := &openapi.OpenAPIServiceSearchTraceTreeOApiResult{} - ctx = l.injectRPCInfo(ctx, "SearchTraceTreeOApi") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - func (l *LocalOpenAPIService) ListSpansOApi(ctx context.Context, req *openapi.ListSpansOApiRequest, callOptions ...callopt.Option) (*openapi.ListSpansOApiResponse, error) { chain := l.mds(func(ctx context.Context, in, out interface{}) error { arg := in.(*openapi.OpenAPIServiceListSpansOApiArgs) diff --git a/backend/loop_gen/coze/loop/observability/lotrace/local_traceservice.go b/backend/loop_gen/coze/loop/observability/lotrace/local_traceservice.go index dbaa11236..4a8f153e4 100644 --- a/backend/loop_gen/coze/loop/observability/lotrace/local_traceservice.go +++ b/backend/loop_gen/coze/loop/observability/lotrace/local_traceservice.go @@ -64,27 +64,6 @@ func (l *LocalTraceService) GetTrace(ctx context.Context, req *trace.GetTraceReq return result.GetSuccess(), nil } -func (l *LocalTraceService) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest, callOptions ...callopt.Option) (*trace.SearchTraceTreeResponse, error) { - chain := l.mds(func(ctx context.Context, in, out interface{}) error { - arg := in.(*trace.TraceServiceSearchTraceTreeArgs) - result := out.(*trace.TraceServiceSearchTraceTreeResult) - resp, err := l.impl.SearchTraceTree(ctx, arg.Req) - if err != nil { - return err - } - result.SetSuccess(resp) - return nil - }) - - arg := &trace.TraceServiceSearchTraceTreeArgs{Req: req} - result := &trace.TraceServiceSearchTraceTreeResult{} - ctx = l.injectRPCInfo(ctx, "SearchTraceTree") - if err := chain(ctx, arg, result); err != nil { - return nil, err - } - return result.GetSuccess(), nil -} - func (l *LocalTraceService) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest, callOptions ...callopt.Option) (*trace.BatchGetTracesAdvanceInfoResponse, error) { chain := l.mds(func(ctx context.Context, in, out interface{}) error { arg := in.(*trace.TraceServiceBatchGetTracesAdvanceInfoArgs) diff --git a/backend/modules/evaluation/application/convertor/experiment/expt.go b/backend/modules/evaluation/application/convertor/experiment/expt.go index bd50c6042..506adeff4 100644 --- a/backend/modules/evaluation/application/convertor/experiment/expt.go +++ b/backend/modules/evaluation/application/convertor/experiment/expt.go @@ -270,8 +270,6 @@ func CreateEvalTargetParamDTO2DO(param *eval_target.CreateEvalTargetParam) *enti SourceTargetID: param.SourceTargetID, SourceTargetVersion: param.SourceTargetVersion, BotPublishVersion: param.BotPublishVersion, - Region: param.Region, - Env: param.Env, } if param.EvalTargetType != nil { res.EvalTargetType = gptr.Of(entity.EvalTargetType(*param.EvalTargetType)) @@ -279,14 +277,7 @@ func CreateEvalTargetParamDTO2DO(param *eval_target.CreateEvalTargetParam) *enti if param.BotInfoType != nil { res.BotInfoType = gptr.Of(entity.CozeBotInfoType(*param.BotInfoType)) } - if param.CustomEvalTarget != nil { - res.CustomEvalTarget = &entity.CustomEvalTarget{ - ID: param.CustomEvalTarget.ID, - Name: param.CustomEvalTarget.Name, - AvatarURL: param.CustomEvalTarget.AvatarURL, - Ext: param.CustomEvalTarget.Ext, - } - } + return res } diff --git a/backend/modules/evaluation/application/convertor/target/eval_target.go b/backend/modules/evaluation/application/convertor/target/eval_target.go index 0eed636f6..8a93bab61 100644 --- a/backend/modules/evaluation/application/convertor/target/eval_target.go +++ b/backend/modules/evaluation/application/convertor/target/eval_target.go @@ -70,7 +70,6 @@ func EvalTargetVersionDTO2DO(targetVersionDTO *dto.EvalTargetVersion) (targetVer Description: targetVersionDTO.GetEvalTargetContent().GetPrompt().GetDescription(), } } - targetVersionDO.CustomRPCServer = CustomRPCServerDTO2DO(targetVersionDTO.GetEvalTargetContent().GetCustomRPCServer()) targetVersionDO.RuntimeParamDemo = gptr.Of(targetVersionDTO.GetEvalTargetContent().GetRuntimeParamJSONDemo()) } @@ -187,14 +186,6 @@ func EvalTargetVersionDO2DTO(targetVersionDO *do.EvalTargetVersion) (targetVersi BaseInfo: commonconvertor.ConvertBaseInfoDO2DTO(targetVersionDO.VolcengineAgent.BaseInfo), } } - case do.EvalTargetTypeCustomRPCServer: - targetVersionDTO.EvalTargetContent = &dto.EvalTargetContent{ - InputSchemas: make([]*commondto.ArgsSchema, 0), - OutputSchemas: make([]*commondto.ArgsSchema, 0), - } - if targetVersionDO.CustomRPCServer != nil { - targetVersionDTO.EvalTargetContent.CustomRPCServer = CustomRPCServerDO2DTO(targetVersionDO.CustomRPCServer) - } default: targetVersionDTO.EvalTargetContent = &dto.EvalTargetContent{ InputSchemas: make([]*commondto.ArgsSchema, 0), @@ -211,110 +202,3 @@ func EvalTargetVersionDO2DTO(targetVersionDO *do.EvalTargetVersion) (targetVersi return targetVersionDTO } - -func CustomRPCServerDO2DTO(do *do.CustomRPCServer) (dtoRes *dto.CustomRPCServer) { - return &dto.CustomRPCServer{ - ID: &do.ID, - Name: &do.Name, - Description: &do.Description, - ServerName: &do.ServerName, - AccessProtocol: &do.AccessProtocol, - Regions: do.Regions, - Cluster: &do.Cluster, - InvokeHTTPInfo: HttpInfoDO2DTO(do.InvokeHTTPInfo), - AsyncInvokeHTTPInfo: HttpInfoDO2DTO(do.AsyncInvokeHTTPInfo), - NeedSearchTarget: do.NeedSearchTarget, - SearchHTTPInfo: HttpInfoDO2DTO(do.SearchHTTPInfo), - CustomEvalTarget: CustomEvalTargetDO2DTO(do.CustomEvalTarget), - IsAsync: do.IsAsync, - ExecRegion: gptr.Of(do.ExecRegion), - ExecEnv: do.ExecEnv, - Timeout: do.Timeout, - AsyncTimeout: do.AsyncTimeout, - Ext: do.Ext, - } -} - -func CustomRPCServerDTO2DO(dto *dto.CustomRPCServer) (doRes *do.CustomRPCServer) { - if dto == nil { - return nil - } - return &do.CustomRPCServer{ - ID: gptr.Indirect(dto.ID), - Name: gptr.Indirect(dto.Name), - Description: gptr.Indirect(dto.Description), - ServerName: gptr.Indirect(dto.ServerName), - AccessProtocol: gptr.Indirect(dto.AccessProtocol), - Regions: dto.Regions, - Cluster: gptr.Indirect(dto.Cluster), - NeedSearchTarget: dto.NeedSearchTarget, - IsAsync: dto.IsAsync, - InvokeHTTPInfo: HttpInfoDTO2DO(dto.InvokeHTTPInfo), - AsyncInvokeHTTPInfo: HttpInfoDTO2DO(dto.AsyncInvokeHTTPInfo), - SearchHTTPInfo: HttpInfoDTO2DO(dto.SearchHTTPInfo), - CustomEvalTarget: CustomEvalTargetDTO2DO(dto.CustomEvalTarget), - ExecRegion: gptr.Indirect(dto.ExecRegion), - ExecEnv: dto.ExecEnv, - Timeout: dto.Timeout, - AsyncTimeout: dto.AsyncTimeout, - Ext: dto.Ext, - } -} - -func HttpInfoDTO2DO(httpInfoDTO *dto.HTTPInfo) (httpInfoDO *do.HTTPInfo) { - if httpInfoDTO == nil { - return nil - } - return &do.HTTPInfo{ - Method: gptr.Indirect(httpInfoDTO.Method), - Path: gptr.Indirect(httpInfoDTO.Path), - } -} - -func HttpInfoDO2DTO(httpInfoDO *do.HTTPInfo) (httpInfoDTO *dto.HTTPInfo) { - if httpInfoDO == nil { - return nil - } - return &dto.HTTPInfo{ - Method: gptr.Of(httpInfoDO.Method), - Path: gptr.Of(httpInfoDO.Path), - } -} - -func CustomEvalTargetDTO2DO(customEvalTargetDTO *dto.CustomEvalTarget) (customEvalTargetDO *do.CustomEvalTarget) { - if customEvalTargetDTO == nil { - return nil - } - return &do.CustomEvalTarget{ - ID: customEvalTargetDTO.ID, - Name: customEvalTargetDTO.Name, - AvatarURL: customEvalTargetDTO.AvatarURL, - Ext: customEvalTargetDTO.Ext, - } -} - -func CustomEvalTargetDO2DTO(customEvalTargetDO *do.CustomEvalTarget) (customEvalTargetDTO *dto.CustomEvalTarget) { - if customEvalTargetDO == nil { - return nil - } - return &dto.CustomEvalTarget{ - ID: customEvalTargetDO.ID, - Name: customEvalTargetDO.Name, - AvatarURL: customEvalTargetDO.AvatarURL, - Ext: customEvalTargetDO.Ext, - } -} - -func CustomEvalTargetDO2DTOs(customEvalTargetDOs []*do.CustomEvalTarget) (customEvalTargetDTOs []*dto.CustomEvalTarget) { - if customEvalTargetDOs == nil { - return nil - } - customEvalTargetDTOs = make([]*dto.CustomEvalTarget, 0) - for _, customEvalTargetDO := range customEvalTargetDOs { - if customEvalTargetDO == nil { - continue - } - customEvalTargetDTOs = append(customEvalTargetDTOs, CustomEvalTargetDO2DTO(customEvalTargetDO)) - } - return customEvalTargetDTOs -} diff --git a/backend/modules/evaluation/application/convertor/target/eval_target_record.go b/backend/modules/evaluation/application/convertor/target/eval_target_record.go index 5ae564930..4c98185bf 100644 --- a/backend/modules/evaluation/application/convertor/target/eval_target_record.go +++ b/backend/modules/evaluation/application/convertor/target/eval_target_record.go @@ -8,12 +8,8 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/eval_target" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" commonconvertor "github.com/coze-dev/coze-loop/backend/modules/evaluation/application/convertor/common" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" ) func EvalTargetRecordDO2DTO(src *entity.EvalTargetRecord) *eval_target.EvalTargetRecord { @@ -43,11 +39,7 @@ func EvalTargetRecordDO2DTO(src *entity.EvalTargetRecord) *eval_target.EvalTarge DeletedAt: src.BaseInfo.DeletedAt, }, } - if src.BaseInfo != nil { - res.BaseInfo.CreatedAt = src.BaseInfo.CreatedAt - res.BaseInfo.UpdatedAt = src.BaseInfo.UpdatedAt - res.BaseInfo.DeletedAt = src.BaseInfo.DeletedAt - } + return res } @@ -57,7 +49,7 @@ func RecordDTO2DO(src *eval_target.EvalTargetRecord) *entity.EvalTargetRecord { return nil } - record := &entity.EvalTargetRecord{ + return &entity.EvalTargetRecord{ ID: getInt64Value(src.ID), SpaceID: getInt64Value(src.WorkspaceID), TargetID: getInt64Value(src.TargetID), @@ -70,14 +62,15 @@ func RecordDTO2DO(src *eval_target.EvalTargetRecord) *entity.EvalTargetRecord { EvalTargetInputData: InputDTO2ToDO(src.EvalTargetInputData), EvalTargetOutputData: OutputDTO2ToDO(src.EvalTargetOutputData), Status: StatusDTO2DO(src.Status), - BaseInfo: &entity.BaseInfo{}, - } - if src.BaseInfo != nil { - record.BaseInfo.CreatedAt = src.BaseInfo.CreatedAt - record.BaseInfo.UpdatedAt = src.BaseInfo.UpdatedAt - record.BaseInfo.DeletedAt = src.BaseInfo.DeletedAt + BaseInfo: &entity.BaseInfo{ + // todo + // CreatedBy: src.GetBaseInfo().GetCreatedBy(), + // UpdatedBy: src.GetBaseInfo().GetUpdatedBy(), + CreatedAt: src.BaseInfo.CreatedAt, + UpdatedAt: src.BaseInfo.UpdatedAt, + DeletedAt: src.BaseInfo.DeletedAt, + }, } - return record } func UnixMsPtr2Time(ms *int64) time.Time { @@ -270,104 +263,3 @@ func getInt32Value(ptr *int32) int32 { } return 0 } - -func ToSPIContentDO(spiContent *spi.Content) *entity.Content { - if spiContent == nil { - return nil - } - - var contentType *entity.ContentType - if spiContent.ContentType != nil { - ct := toSPIContentTypeDO(*spiContent.ContentType) - contentType = &ct - } - - var image *entity.Image - if spiContent.Image != nil { - image = &entity.Image{ - URL: spiContent.Image.URL, - } - } - - var multiPart []*entity.Content - if spiContent.MultiPart != nil { - multiPart = make([]*entity.Content, 0, len(spiContent.MultiPart)) - for _, part := range spiContent.MultiPart { - multiPart = append(multiPart, ToSPIContentDO(part)) - } - } - - return &entity.Content{ - ContentType: contentType, - Text: spiContent.Text, - Image: image, - MultiPart: multiPart, - } -} - -func toSPIContentTypeDO(spiContentType spi.ContentType) entity.ContentType { - switch spiContentType { - case spi.ContentTypeText: - return entity.ContentTypeText - case spi.ContentTypeImage: - return entity.ContentTypeImage - case spi.ContentTypeMultiPart: - return entity.ContentTypeMultipart - default: - return entity.ContentTypeText - } -} - -func ToTargetRunStatsDO(status spi.InvokeEvalTargetStatus) entity.EvalTargetRunStatus { - switch status { - case spi.InvokeEvalTargetStatus_FAILED: - return entity.EvalTargetRunStatusFail - case spi.InvokeEvalTargetStatus_SUCCESS: - return entity.EvalTargetRunStatusSuccess - default: - return entity.EvalTargetRunStatusUnknown - } -} - -func ToInvokeOutputDataDO(req *openapi.ReportEvalTargetInvokeResultRequest) *entity.EvalTargetOutputData { - switch req.GetStatus() { - case spi.InvokeEvalTargetStatus_SUCCESS: - output := req.GetOutput() - usage := req.GetUsage() - - outputFields := make(map[string]*entity.Content) - if output.ActualOutput != nil { - outputFields[consts.OutputSchemaKey] = ToSPIContentDO(output.ActualOutput) - } - - var evalTargetUsage *entity.EvalTargetUsage - if usage.InputTokens != nil || usage.OutputTokens != nil { - evalTargetUsage = &entity.EvalTargetUsage{ - InputTokens: getInt64Value(usage.InputTokens), - OutputTokens: getInt64Value(usage.OutputTokens), - } - } - - return &entity.EvalTargetOutputData{ - OutputFields: outputFields, - EvalTargetUsage: evalTargetUsage, - EvalTargetRunError: nil, - } - - case spi.InvokeEvalTargetStatus_FAILED: - errorMessage := req.GetErrorMessage() - var evalTargetRunError *entity.EvalTargetRunError - if errorMessage != "" { - evalTargetRunError = &entity.EvalTargetRunError{ - Code: errno.CustomEvalTargetInvokeFailCode, - Message: errorMessage, - } - } - return &entity.EvalTargetOutputData{ - EvalTargetRunError: evalTargetRunError, - } - - default: - return nil - } -} diff --git a/backend/modules/evaluation/application/convertor/target/eval_target_record_test.go b/backend/modules/evaluation/application/convertor/target/eval_target_record_test.go deleted file mode 100755 index 6cf7e8140..000000000 --- a/backend/modules/evaluation/application/convertor/target/eval_target_record_test.go +++ /dev/null @@ -1,175 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package target - -import ( - "testing" - "time" - - "github.com/bytedance/gg/gptr" - "github.com/stretchr/testify/assert" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" -) - -func TestEvalTargetRecordConversions(t *testing.T) { - now := time.Now().UnixMilli() - status := entity.EvalTargetRunStatusSuccess - record := &entity.EvalTargetRecord{ - ID: 1, - SpaceID: 2, - TargetID: 3, - TargetVersionID: 4, - ExperimentRunID: 5, - ItemID: 6, - TurnID: 7, - TraceID: "trace", - LogID: "log", - EvalTargetInputData: &entity.EvalTargetInputData{ - HistoryMessages: []*entity.Message{ - { - Role: entity.RoleUser, - Content: &entity.Content{ - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("hello"), - }, - }, - }, - InputFields: map[string]*entity.Content{ - "field": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("value"), - }, - }, - Ext: map[string]string{"extra": "ext"}, - }, - EvalTargetOutputData: &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{ - "output": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("out"), - }, - }, - EvalTargetUsage: &entity.EvalTargetUsage{ - InputTokens: 10, - OutputTokens: 20, - }, - EvalTargetRunError: &entity.EvalTargetRunError{Code: errno.CommonInternalErrorCode, Message: "err"}, - TimeConsumingMS: gptr.Of(int64(42)), - }, - Status: &status, - BaseInfo: &entity.BaseInfo{CreatedAt: gptr.Of(now), UpdatedAt: gptr.Of(now + 1)}, - } - - dto := EvalTargetRecordDO2DTO(record) - assert.NotNil(t, dto) - assert.Equal(t, record.ID, dto.GetID()) - assert.Equal(t, record.TraceID, dto.GetTraceID()) - assert.Equal(t, "value", dto.GetEvalTargetInputData().GetInputFields()["field"].GetText()) - assert.Equal(t, int64(10), dto.GetEvalTargetOutputData().GetEvalTargetUsage().GetInputTokens()) - - back := RecordDTO2DO(dto) - assert.Equal(t, record.TargetID, back.TargetID) - assert.Equal(t, record.EvalTargetOutputData.OutputFields["output"].GetText(), back.EvalTargetOutputData.OutputFields["output"].GetText()) - assert.Equal(t, record.Status, back.Status) - - var nilTime *int64 - assert.True(t, UnixMsPtr2Time(nilTime).IsZero()) - neg := gptr.Of(int64(-1)) - assert.True(t, UnixMsPtr2Time(neg).IsZero()) - assert.False(t, UnixMsPtr2Time(gptr.Of(int64(123))).IsZero()) -} - -func TestToInvokeOutputDataDO(t *testing.T) { - successStatus := spi.InvokeEvalTargetStatus_SUCCESS - contentType := spi.ContentTypeText - successReq := &openapi.ReportEvalTargetInvokeResultRequest{ - Status: &successStatus, - Output: &spi.InvokeEvalTargetOutput{ - ActualOutput: &spi.Content{ - ContentType: &contentType, - Text: gptr.Of("mock-output"), - MultiPart: []*spi.Content{{ - ContentType: &contentType, - Text: gptr.Of("part"), - }}, - }, - }, - Usage: &spi.InvokeEvalTargetUsage{ - InputTokens: gptr.Of(int64(100)), - OutputTokens: gptr.Of(int64(200)), - }, - } - - successOutput := ToInvokeOutputDataDO(successReq) - if assert.NotNil(t, successOutput) { - assert.Contains(t, successOutput.OutputFields, consts.OutputSchemaKey) - assert.NotNil(t, successOutput.EvalTargetUsage) - assert.Equal(t, int64(100), successOutput.EvalTargetUsage.InputTokens) - assert.Nil(t, successOutput.EvalTargetRunError) - } - - failStatus := spi.InvokeEvalTargetStatus_FAILED - failReq := &openapi.ReportEvalTargetInvokeResultRequest{ - Status: &failStatus, - ErrorMessage: gptr.Of("failed"), - } - - failOutput := ToInvokeOutputDataDO(failReq) - if assert.NotNil(t, failOutput) { - assert.NotNil(t, failOutput.EvalTargetRunError) - assert.Equal(t, int32(errno.CustomEvalTargetInvokeFailCode), failOutput.EvalTargetRunError.Code) - assert.Equal(t, "failed", failOutput.EvalTargetRunError.Message) - assert.Nil(t, failOutput.EvalTargetUsage) - } - - unknownStatus := spi.InvokeEvalTargetStatus(99) - unknownReq := &openapi.ReportEvalTargetInvokeResultRequest{Status: &unknownStatus} - assert.Nil(t, ToInvokeOutputDataDO(unknownReq)) -} - -func TestToInvokeOutputDataDO_PartialData(t *testing.T) { - successStatus := spi.InvokeEvalTargetStatus_SUCCESS - req := &openapi.ReportEvalTargetInvokeResultRequest{ - Status: &successStatus, - Output: &spi.InvokeEvalTargetOutput{}, - Usage: &spi.InvokeEvalTargetUsage{}, - } - - output := ToInvokeOutputDataDO(req) - if assert.NotNil(t, output) { - assert.Empty(t, output.OutputFields) - assert.Nil(t, output.EvalTargetUsage) - } -} - -func TestToSPIContentHelpers(t *testing.T) { - textType := spi.ContentTypeText - imageType := spi.ContentTypeImage - spiContent := &spi.Content{ - ContentType: &textType, - Text: gptr.Of("root"), - Image: &spi.Image{ - URL: gptr.Of("http://example.com/image.png"), - }, - MultiPart: []*spi.Content{{ - ContentType: &imageType, - }}, - } - - content := ToSPIContentDO(spiContent) - if assert.NotNil(t, content) { - assert.Equal(t, entity.ContentTypeText, *content.ContentType) - assert.Len(t, content.MultiPart, 1) - assert.Equal(t, entity.ContentTypeImage, *content.MultiPart[0].ContentType) - } - - assert.Equal(t, entity.EvalTargetRunStatusSuccess, ToTargetRunStatsDO(spi.InvokeEvalTargetStatus_SUCCESS)) - assert.Equal(t, entity.EvalTargetRunStatusFail, ToTargetRunStatsDO(spi.InvokeEvalTargetStatus_FAILED)) - assert.Equal(t, entity.EvalTargetRunStatusUnknown, ToTargetRunStatsDO(spi.InvokeEvalTargetStatus(42))) -} diff --git a/backend/modules/evaluation/application/convertor/target/eval_target_test.go b/backend/modules/evaluation/application/convertor/target/eval_target_test.go index 584b3212a..c0d334a7e 100755 --- a/backend/modules/evaluation/application/convertor/target/eval_target_test.go +++ b/backend/modules/evaluation/application/convertor/target/eval_target_test.go @@ -117,50 +117,12 @@ func TestEvalTargetVersionDTO2DO(t *testing.T) { SourceTargetVersion: "v1.0", }, }, - { - name: "自定义对象转换", - targetVersionDTO: &dto.EvalTargetVersion{ - ID: gptr.Of(int64(1)), - WorkspaceID: gptr.Of(int64(2)), - TargetID: gptr.Of(int64(3)), - SourceTargetVersion: gptr.Of("v1.0"), - EvalTargetContent: &dto.EvalTargetContent{ - CustomRPCServer: &dto.CustomRPCServer{ - ID: gptr.Of(int64(4)), - Name: gptr.Of("test"), - InvokeHTTPInfo: &dto.HTTPInfo{ - Method: gptr.Of(""), - Path: gptr.Of(""), - }, - CustomEvalTarget: &dto.CustomEvalTarget{ - ID: gptr.Of(""), - Name: gptr.Of(""), - AvatarURL: gptr.Of(""), - }, - }, - }, - }, - expected: &do.EvalTargetVersion{ - ID: 1, - SpaceID: 2, - TargetID: 3, - SourceTargetVersion: "v1.0", - CustomRPCServer: &do.CustomRPCServer{ - ID: 4, - Name: "test", - }, - }, - }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { t.Parallel() result := EvalTargetVersionDTO2DO(tt.targetVersionDTO) - if tt.name == "自定义对象转换" { - assert.Equal(t, result.CustomRPCServer.Name, tt.expected.CustomRPCServer.Name) - return - } assert.Equal(t, tt.expected, result) }) } @@ -349,45 +311,6 @@ func TestEvalTargetVersionDO2DTO(t *testing.T) { }, }, }, - { - name: "自定义对象转换", - targetVersionDO: &do.EvalTargetVersion{ - ID: 1, - SpaceID: 2, - TargetID: 3, - SourceTargetVersion: "v1.0", - EvalTargetType: do.EvalTargetTypeCustomRPCServer, - CustomRPCServer: &do.CustomRPCServer{ - Name: "test", - Description: "test", - InvokeHTTPInfo: &do.HTTPInfo{ - Method: "GET", - Path: "/test", - }, - AsyncInvokeHTTPInfo: &do.HTTPInfo{ - Method: "GET", - Path: "/test", - }, - SearchHTTPInfo: &do.HTTPInfo{ - Method: "GET", - Path: "/test", - }, - CustomEvalTarget: &do.CustomEvalTarget{ - Name: gptr.Of("test"), - }, - IsAsync: gptr.Of(true), - Ext: map[string]string{ - "test": "test", - }, - }, - }, - expected: &dto.EvalTargetVersion{ - ID: gptr.Of(int64(1)), - WorkspaceID: gptr.Of(int64(2)), - TargetID: gptr.Of(int64(3)), - SourceTargetVersion: gptr.Of("v1.0"), - }, - }, } for _, tt := range tests { @@ -404,117 +327,3 @@ func TestEvalTargetVersionDO2DTO(t *testing.T) { }) } } - -func TestCustomRPCServerConversions(t *testing.T) { - t.Parallel() - - trueVal := true - timeout := int64(1000) - asyncTimeout := int64(2000) - execEnv := "prod" - doValue := &do.CustomRPCServer{ - ID: 123, - Name: "custom", - Description: "desc", - ServerName: "svc", - AccessProtocol: do.AccessProtocolFaasHTTP, - Regions: []do.Region{"cn"}, - Cluster: "default", - InvokeHTTPInfo: &do.HTTPInfo{Method: do.HTTPMethodPost, Path: "/invoke"}, - AsyncInvokeHTTPInfo: &do.HTTPInfo{Method: do.HTTPMethodGet, Path: "/async"}, - NeedSearchTarget: &trueVal, - SearchHTTPInfo: &do.HTTPInfo{Method: do.HTTPMethodGet, Path: "/search"}, - CustomEvalTarget: &do.CustomEvalTarget{ID: gptr.Of("id"), Name: gptr.Of("target"), AvatarURL: gptr.Of("avatar"), Ext: map[string]string{"k": "v"}}, - IsAsync: &trueVal, - ExecRegion: do.RegionCN, - ExecEnv: &execEnv, - Timeout: &timeout, - AsyncTimeout: &asyncTimeout, - Ext: map[string]string{"extra": "value"}, - } - - dtoValue := CustomRPCServerDO2DTO(doValue) - assert.NotNil(t, dtoValue) - assert.Equal(t, doValue.ID, gptr.Indirect(dtoValue.ID)) - assert.Equal(t, doValue.Name, gptr.Indirect(dtoValue.Name)) - assert.Equal(t, doValue.Description, gptr.Indirect(dtoValue.Description)) - assert.Equal(t, doValue.ServerName, gptr.Indirect(dtoValue.ServerName)) - assert.Equal(t, doValue.AccessProtocol, gptr.Indirect(dtoValue.AccessProtocol)) - assert.Equal(t, doValue.Regions, dtoValue.Regions) - assert.Equal(t, doValue.Cluster, gptr.Indirect(dtoValue.Cluster)) - assert.Equal(t, doValue.InvokeHTTPInfo.Path, gptr.Indirect(dtoValue.InvokeHTTPInfo.Path)) - assert.Equal(t, doValue.AsyncInvokeHTTPInfo.Method, gptr.Indirect(dtoValue.AsyncInvokeHTTPInfo.Method)) - assert.Equal(t, doValue.NeedSearchTarget, dtoValue.NeedSearchTarget) - assert.Equal(t, doValue.SearchHTTPInfo.Path, gptr.Indirect(dtoValue.SearchHTTPInfo.Path)) - assert.Equal(t, doValue.CustomEvalTarget.Name, dtoValue.CustomEvalTarget.Name) - assert.Equal(t, doValue.IsAsync, dtoValue.IsAsync) - assert.Equal(t, gptr.Indirect(dtoValue.ExecRegion), doValue.ExecRegion) - assert.Equal(t, doValue.ExecEnv, dtoValue.ExecEnv) - assert.Equal(t, doValue.Timeout, dtoValue.Timeout) - assert.Equal(t, doValue.AsyncTimeout, dtoValue.AsyncTimeout) - assert.Equal(t, doValue.Ext, dtoValue.Ext) - - roundtrip := CustomRPCServerDTO2DO(dtoValue) - assert.Equal(t, doValue.ID, roundtrip.ID) - assert.Equal(t, doValue.Name, roundtrip.Name) - assert.Equal(t, doValue.Description, roundtrip.Description) - assert.Equal(t, doValue.ServerName, roundtrip.ServerName) - assert.Equal(t, doValue.AccessProtocol, roundtrip.AccessProtocol) - assert.Equal(t, doValue.Regions, roundtrip.Regions) - assert.Equal(t, doValue.Cluster, roundtrip.Cluster) - assert.Equal(t, doValue.InvokeHTTPInfo.Method, roundtrip.InvokeHTTPInfo.Method) - assert.Equal(t, doValue.AsyncInvokeHTTPInfo.Path, roundtrip.AsyncInvokeHTTPInfo.Path) - assert.Equal(t, doValue.NeedSearchTarget, roundtrip.NeedSearchTarget) - assert.Equal(t, doValue.SearchHTTPInfo.Method, roundtrip.SearchHTTPInfo.Method) - assert.Equal(t, doValue.CustomEvalTarget.Ext, roundtrip.CustomEvalTarget.Ext) - assert.Equal(t, doValue.IsAsync, roundtrip.IsAsync) - assert.Equal(t, doValue.ExecRegion, roundtrip.ExecRegion) - assert.Equal(t, doValue.ExecEnv, roundtrip.ExecEnv) - assert.Equal(t, doValue.Timeout, roundtrip.Timeout) - assert.Equal(t, doValue.AsyncTimeout, roundtrip.AsyncTimeout) - assert.Equal(t, doValue.Ext, roundtrip.Ext) - - assert.Nil(t, CustomRPCServerDTO2DO(nil)) -} - -func TestCustomEvalTargetConversions(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - dos []*do.CustomEvalTarget - }{ - { - name: "包含nil元素", - dos: []*do.CustomEvalTarget{ - {ID: gptr.Of("1"), Name: gptr.Of("a")}, - nil, - }, - }, - { - name: "nil输入", - dos: nil, - }, - } - - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - dtos := CustomEvalTargetDO2DTOs(tt.dos) - if tt.dos == nil { - assert.Nil(t, dtos) - return - } - assert.Len(t, dtos, 1) - assert.Equal(t, gptr.Indirect(tt.dos[0].ID), gptr.Indirect(dtos[0].ID)) - }) - } - - dtoValue := &dto.CustomEvalTarget{ID: gptr.Of("id"), Name: gptr.Of("name"), AvatarURL: gptr.Of("avatar")} - doValue := CustomEvalTargetDTO2DO(dtoValue) - assert.Equal(t, gptr.Indirect(dtoValue.ID), gptr.Indirect(doValue.ID)) - assert.Equal(t, gptr.Indirect(dtoValue.Name), gptr.Indirect(doValue.Name)) - assert.Equal(t, gptr.Indirect(dtoValue.AvatarURL), gptr.Indirect(doValue.AvatarURL)) - assert.Nil(t, CustomEvalTargetDTO2DO(nil)) - assert.Nil(t, CustomEvalTargetDO2DTO(nil)) -} diff --git a/backend/modules/evaluation/application/eval_openapi_app.go b/backend/modules/evaluation/application/eval_openapi_app.go deleted file mode 100644 index 2b2b67597..000000000 --- a/backend/modules/evaluation/application/eval_openapi_app.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package application - -import ( - "context" - "strconv" - "time" - - "github.com/bytedance/gg/gptr" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/application/convertor/target" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service" - "github.com/coze-dev/coze-loop/backend/pkg/json" - "github.com/coze-dev/coze-loop/backend/pkg/logs" -) - -type IEvalOpenAPIApplication = evaluation.EvalOpenAPIService - -type EvalOpenAPIApplication struct { - targetSvc service.IEvalTargetService - asyncRepo repo.IEvalAsyncRepo - publisher events.ExptEventPublisher -} - -func NewEvalOpenAPIApplication(asyncRepo repo.IEvalAsyncRepo, publisher events.ExptEventPublisher, targetSvc service.IEvalTargetService) IEvalOpenAPIApplication { - return &EvalOpenAPIApplication{asyncRepo: asyncRepo, publisher: publisher, targetSvc: targetSvc} -} - -func (e *EvalOpenAPIApplication) ReportEvalTargetInvokeResult_(ctx context.Context, req *openapi.ReportEvalTargetInvokeResultRequest) (r *openapi.ReportEvalTargetInvokeResultResponse, err error) { - logs.CtxInfo(ctx, "ReportEvalTargetInvokeResult receive req: %v", json.Jsonify(req)) - - actx, err := e.asyncRepo.GetEvalAsyncCtx(ctx, strconv.FormatInt(req.GetInvokeID(), 10)) - if err != nil { - return nil, err - } - - outputData := target.ToInvokeOutputDataDO(req) - outputData.TimeConsumingMS = gptr.Of(time.Now().UnixMilli() - actx.AsyncUnixMS) - if err := e.targetSvc.ReportInvokeRecords(ctx, &entity.ReportTargetRecordParam{ - SpaceID: req.GetWorkspaceID(), - RecordID: req.GetInvokeID(), - OutputData: outputData, - Status: target.ToTargetRunStatsDO(req.GetStatus()), - Session: actx.Session, - }); err != nil { - return nil, err - } - - if actx.Event != nil { - if err := e.publisher.PublishExptRecordEvalEvent(ctx, actx.Event, gptr.Of(time.Second*3)); err != nil { - return nil, err - } - } - - return &openapi.ReportEvalTargetInvokeResultResponse{BaseResp: base.NewBaseResp()}, nil -} diff --git a/backend/modules/evaluation/application/eval_openapi_app_test.go b/backend/modules/evaluation/application/eval_openapi_app_test.go deleted file mode 100755 index 19d3c63ae..000000000 --- a/backend/modules/evaluation/application/eval_openapi_app_test.go +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package application - -import ( - "context" - "errors" - "strconv" - "testing" - "time" - - "github.com/bytedance/gg/gptr" - "github.com/stretchr/testify/assert" - "go.uber.org/mock/gomock" - - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/openapi" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - eventmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/events/mocks" - repomocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" - servicemocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" -) - -func TestEvalOpenAPIApplication_ReportEvalTargetInvokeResult(t *testing.T) { - t.Parallel() - - repoErrorReq := newSuccessInvokeResultReq(11, 101) - reportErrorReq := newSuccessInvokeResultReq(22, 202) - publisherErrorReq := newSuccessInvokeResultReq(33, 303) - successReq := newSuccessInvokeResultReq(44, 404) - failedReq := newFailedInvokeResultReq(55, 505, "invoke failed") - - tests := []struct { - name string - req *openapi.ReportEvalTargetInvokeResultRequest - setup func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, targetSvc *servicemocks.MockIEvalTargetService, publisher *eventmocks.MockExptEventPublisher) - wantErr bool - }{ - { - name: "repo returns error", - req: repoErrorReq, - setup: func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, _ *servicemocks.MockIEvalTargetService, _ *eventmocks.MockExptEventPublisher) { - asyncRepo.EXPECT().GetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(repoErrorReq.GetInvokeID(), 10)).Return(nil, errors.New("repo error")) - }, - wantErr: true, - }, - { - name: "report invoke records returns error", - req: reportErrorReq, - setup: func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, targetSvc *servicemocks.MockIEvalTargetService, publisher *eventmocks.MockExptEventPublisher) { - actx := &entity.EvalAsyncCtx{AsyncUnixMS: time.Now().Add(-200 * time.Millisecond).UnixMilli()} - asyncRepo.EXPECT().GetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(reportErrorReq.GetInvokeID(), 10)).Return(actx, nil) - targetSvc.EXPECT().ReportInvokeRecords(gomock.Any(), gomock.AssignableToTypeOf(&entity.ReportTargetRecordParam{})).DoAndReturn(func(_ context.Context, param *entity.ReportTargetRecordParam) error { - assert.Equal(t, reportErrorReq.GetWorkspaceID(), param.SpaceID) - assert.Equal(t, reportErrorReq.GetInvokeID(), param.RecordID) - assert.Equal(t, entity.EvalTargetRunStatusSuccess, param.Status) - if assert.NotNil(t, param.OutputData) { - assert.NotNil(t, param.OutputData.EvalTargetUsage) - assert.NotNil(t, param.OutputData.TimeConsumingMS) - if param.OutputData.TimeConsumingMS != nil { - assert.Greater(t, *param.OutputData.TimeConsumingMS, int64(0)) - } - } - assert.Nil(t, param.Session) - return errors.New("report error") - }) - publisher.EXPECT().PublishExptRecordEvalEvent(gomock.Any(), gomock.Any(), gomock.Any()).Times(0) - }, - wantErr: true, - }, - { - name: "publisher returns error", - req: publisherErrorReq, - setup: func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, targetSvc *servicemocks.MockIEvalTargetService, publisher *eventmocks.MockExptEventPublisher) { - session := &entity.Session{UserID: "user"} - event := &entity.ExptItemEvalEvent{} - actx := &entity.EvalAsyncCtx{AsyncUnixMS: time.Now().Add(-150 * time.Millisecond).UnixMilli(), Event: event, Session: session} - asyncRepo.EXPECT().GetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(publisherErrorReq.GetInvokeID(), 10)).Return(actx, nil) - targetSvc.EXPECT().ReportInvokeRecords(gomock.Any(), gomock.AssignableToTypeOf(&entity.ReportTargetRecordParam{})).DoAndReturn(func(_ context.Context, param *entity.ReportTargetRecordParam) error { - assert.Equal(t, session, param.Session) - return nil - }) - publisher.EXPECT().PublishExptRecordEvalEvent(gomock.Any(), event, gomock.Any()).DoAndReturn(func(_ context.Context, evt *entity.ExptItemEvalEvent, duration *time.Duration) error { - assert.Equal(t, event, evt) - if assert.NotNil(t, duration) { - assert.Equal(t, 3*time.Second, *duration) - } - return errors.New("publish error") - }) - }, - wantErr: true, - }, - { - name: "success without event", - req: successReq, - setup: func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, targetSvc *servicemocks.MockIEvalTargetService, publisher *eventmocks.MockExptEventPublisher) { - actx := &entity.EvalAsyncCtx{AsyncUnixMS: time.Now().Add(-100 * time.Millisecond).UnixMilli()} - asyncRepo.EXPECT().GetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(successReq.GetInvokeID(), 10)).Return(actx, nil) - targetSvc.EXPECT().ReportInvokeRecords(gomock.Any(), gomock.AssignableToTypeOf(&entity.ReportTargetRecordParam{})).DoAndReturn(func(_ context.Context, param *entity.ReportTargetRecordParam) error { - assert.Nil(t, param.Session) - return nil - }) - publisher.EXPECT().PublishExptRecordEvalEvent(gomock.Any(), gomock.Any(), gomock.Any()).Times(0) - }, - wantErr: false, - }, - { - name: "success with event on failure status", - req: failedReq, - setup: func(t *testing.T, asyncRepo *repomocks.MockIEvalAsyncRepo, targetSvc *servicemocks.MockIEvalTargetService, publisher *eventmocks.MockExptEventPublisher) { - session := &entity.Session{UserID: "owner"} - event := &entity.ExptItemEvalEvent{} - actx := &entity.EvalAsyncCtx{AsyncUnixMS: time.Now().Add(-120 * time.Millisecond).UnixMilli(), Event: event, Session: session} - asyncRepo.EXPECT().GetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(failedReq.GetInvokeID(), 10)).Return(actx, nil) - targetSvc.EXPECT().ReportInvokeRecords(gomock.Any(), gomock.AssignableToTypeOf(&entity.ReportTargetRecordParam{})).DoAndReturn(func(_ context.Context, param *entity.ReportTargetRecordParam) error { - assert.Equal(t, entity.EvalTargetRunStatusFail, param.Status) - if assert.NotNil(t, param.OutputData) { - if assert.NotNil(t, param.OutputData.EvalTargetRunError) { - assert.Equal(t, failedReq.GetErrorMessage(), param.OutputData.EvalTargetRunError.Message) - } - assert.NotNil(t, param.OutputData.TimeConsumingMS) - } - assert.Equal(t, session, param.Session) - return nil - }) - publisher.EXPECT().PublishExptRecordEvalEvent(gomock.Any(), event, gomock.Any()).DoAndReturn(func(_ context.Context, evt *entity.ExptItemEvalEvent, duration *time.Duration) error { - assert.Equal(t, event, evt) - if assert.NotNil(t, duration) { - assert.Equal(t, 3*time.Second, *duration) - } - return nil - }) - }, - wantErr: false, - }, - } - - for _, tc := range tests { - caseData := tc - t.Run(caseData.name, func(t *testing.T) { - t.Parallel() - - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - asyncRepo := repomocks.NewMockIEvalAsyncRepo(ctrl) - targetSvc := servicemocks.NewMockIEvalTargetService(ctrl) - publisher := eventmocks.NewMockExptEventPublisher(ctrl) - - app := &EvalOpenAPIApplication{ - targetSvc: targetSvc, - asyncRepo: asyncRepo, - publisher: publisher, - } - - caseData.setup(t, asyncRepo, targetSvc, publisher) - - resp, err := app.ReportEvalTargetInvokeResult_(context.Background(), caseData.req) - if caseData.wantErr { - assert.Error(t, err) - assert.Nil(t, resp) - return - } - - assert.NoError(t, err) - if assert.NotNil(t, resp) { - assert.NotNil(t, resp.BaseResp) - } - }) - } -} - -func newSuccessInvokeResultReq(workspaceID, invokeID int64) *openapi.ReportEvalTargetInvokeResultRequest { - status := spi.InvokeEvalTargetStatus_SUCCESS - contentType := spi.ContentTypeText - text := "result" - inputTokens := int64(10) - outputTokens := int64(20) - - return &openapi.ReportEvalTargetInvokeResultRequest{ - WorkspaceID: gptr.Of(workspaceID), - InvokeID: gptr.Of(invokeID), - Status: &status, - Output: &spi.InvokeEvalTargetOutput{ - ActualOutput: &spi.Content{ - ContentType: &contentType, - Text: gptr.Of(text), - }, - }, - Usage: &spi.InvokeEvalTargetUsage{ - InputTokens: &inputTokens, - OutputTokens: &outputTokens, - }, - } -} - -func newFailedInvokeResultReq(workspaceID, invokeID int64, errorMessage string) *openapi.ReportEvalTargetInvokeResultRequest { - status := spi.InvokeEvalTargetStatus_FAILED - - return &openapi.ReportEvalTargetInvokeResultRequest{ - WorkspaceID: gptr.Of(workspaceID), - InvokeID: gptr.Of(invokeID), - Status: &status, - ErrorMessage: gptr.Of(errorMessage), - } -} - -func TestNewEvalOpenAPIApplication(t *testing.T) { - app := NewEvalOpenAPIApplication(nil, nil, nil) - assert.NotNil(t, app) -} diff --git a/backend/modules/evaluation/application/eval_target_app.go b/backend/modules/evaluation/application/eval_target_app.go index f37fa1d1c..95dfd7217 100644 --- a/backend/modules/evaluation/application/eval_target_app.go +++ b/backend/modules/evaluation/application/eval_target_app.go @@ -7,26 +7,19 @@ import ( "context" "strconv" "sync" - "time" - "github.com/bytedance/gg/gmap" "github.com/bytedance/gg/gptr" - "github.com/coze-dev/coze-loop/backend/infra/middleware/session" - "github.com/coze-dev/coze-loop/backend/kitex_gen/base" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation" eval_target_dto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/eval_target" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" "github.com/coze-dev/coze-loop/backend/modules/evaluation/application/convertor/target" "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service" "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" - "github.com/coze-dev/coze-loop/backend/pkg/json" ) var _ evaluation.EvalTargetService = &EvalTargetApplicationImpl{} @@ -35,7 +28,6 @@ type EvalTargetApplicationImpl struct { auth rpc.IAuthProvider evalTargetService service.IEvalTargetService typedOperators map[entity.EvalTargetType]service.ISourceEvalTargetOperateService - evalAsyncRepo repo.IEvalAsyncRepo } var ( @@ -43,18 +35,14 @@ var ( evalTargetHandler evaluation.EvalTargetService ) -func NewEvalTargetHandlerImpl( - auth rpc.IAuthProvider, - evalTargetService service.IEvalTargetService, +func NewEvalTargetHandlerImpl(auth rpc.IAuthProvider, evalTargetService service.IEvalTargetService, typedOperators map[entity.EvalTargetType]service.ISourceEvalTargetOperateService, - evalAsyncRepo repo.IEvalAsyncRepo, ) evaluation.EvalTargetService { evalTargetHandlerOnce.Do(func() { evalTargetHandler = &EvalTargetApplicationImpl{ auth: auth, evalTargetService: evalTargetService, typedOperators: typedOperators, - evalAsyncRepo: evalAsyncRepo, } }) return evalTargetHandler @@ -83,21 +71,10 @@ func (e EvalTargetApplicationImpl) CreateEvalTarget(ctx context.Context, request if err != nil { return nil, err } - opts := make([]entity.Option, 0) - opts = append(opts, entity.WithCozeBotPublishVersion(request.Param.BotPublishVersion), - entity.WithCozeBotInfoType(entity.CozeBotInfoType(request.Param.GetBotInfoType())), - entity.WithRegion(request.Param.Region), - entity.WithEnv(request.Param.Env)) - if request.GetParam().CustomEvalTarget != nil { - opts = append(opts, entity.WithCustomEvalTarget(&entity.CustomEvalTarget{ - ID: request.GetParam().GetCustomEvalTarget().ID, - Name: request.GetParam().GetCustomEvalTarget().Name, - AvatarURL: request.GetParam().GetCustomEvalTarget().AvatarURL, - Ext: request.GetParam().GetCustomEvalTarget().Ext, - })) - } id, versionID, err := e.evalTargetService.CreateEvalTarget(ctx, request.WorkspaceID, request.Param.GetSourceTargetID(), request.Param.GetSourceTargetVersion(), - entity.EvalTargetType(request.Param.GetEvalTargetType()), opts...) + entity.EvalTargetType(request.Param.GetEvalTargetType()), + entity.WithCozeBotPublishVersion(request.Param.BotPublishVersion), + entity.WithCozeBotInfoType(entity.CozeBotInfoType(request.Param.GetBotInfoType()))) if err != nil { return nil, err } @@ -335,28 +312,6 @@ func (e EvalTargetApplicationImpl) ExecuteEvalTarget(ctx context.Context, reques return resp, nil } -func (e EvalTargetApplicationImpl) AsyncExecuteEvalTarget(ctx context.Context, request *eval_target.AsyncExecuteEvalTargetRequest) (r *eval_target.AsyncExecuteEvalTargetResponse, err error) { - if err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(request.EvalTargetID, 10), - SpaceID: request.WorkspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Run), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationTarget)}}, - }); err != nil { - return nil, err - } - - record, _, err := e.evalTargetService.AsyncExecuteTarget(ctx, request.WorkspaceID, request.EvalTargetID, request.EvalTargetVersionID, &entity.ExecuteTargetCtx{ - ExperimentRunID: request.ExperimentRunID, - }, target.InputDTO2ToDO(request.InputData)) - if err != nil { - return nil, err - } - - return &eval_target.AsyncExecuteEvalTargetResponse{ - InvokeID: gptr.Of(record.ID), - BaseResp: base.NewBaseResp(), - }, nil -} - func (e EvalTargetApplicationImpl) GetEvalTargetRecord(ctx context.Context, request *eval_target.GetEvalTargetRecordRequest) (r *eval_target.GetEvalTargetRecordResponse, err error) { if request == nil { return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("req is nil")) @@ -442,52 +397,6 @@ func (e EvalTargetApplicationImpl) BatchGetSourceEvalTargets(ctx context.Context }, nil } -func (e EvalTargetApplicationImpl) SearchCustomEvalTarget(ctx context.Context, req *eval_target.SearchCustomEvalTargetRequest) (r *eval_target.SearchCustomEvalTargetResponse, err error) { - // 参数校验 - if req == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("req is nil")) - } - if req.WorkspaceID == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("spaceID is nil")) - } - if req.ApplicationID == nil && req.CustomRPCServer == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("app info is nil")) - } - if req.Region == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("region is nil")) - } - if e.typedOperators[entity.EvalTargetTypeCustomRPCServer] == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("target type not support")) - } - // 鉴权 - err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(gptr.Indirect(req.WorkspaceID), 10), - SpaceID: gptr.Indirect(req.WorkspaceID), - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of("listLoopEvaluationTarget"), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }) - if err != nil { - return nil, err - } - res, nextCursor, hasMore, err := e.typedOperators[entity.EvalTargetTypeCustomRPCServer].SearchCustomEvalTarget(ctx, &entity.SearchCustomEvalTargetParam{ - WorkspaceID: req.WorkspaceID, - Keyword: req.Keyword, - ApplicationID: req.ApplicationID, - CustomRPCServer: target.CustomRPCServerDTO2DO(req.CustomRPCServer), - Region: req.Region, - Env: req.Env, - PageSize: req.PageSize, - PageToken: req.PageToken, - }) - if err != nil { - return nil, err - } - return &eval_target.SearchCustomEvalTargetResponse{ - CustomEvalTargets: target.CustomEvalTargetDO2DTOs(res), - NextPageToken: &nextCursor, - HasMore: &hasMore, - }, nil -} - func (e EvalTargetApplicationImpl) MockEvalTargetOutput(ctx context.Context, request *eval_target.MockEvalTargetOutputRequest) (r *eval_target.MockEvalTargetOutputResponse, err error) { // 参数验证 if request == nil { @@ -519,6 +428,7 @@ func (e EvalTargetApplicationImpl) MockEvalTargetOutput(ctx context.Context, req if err != nil { return nil, err } + // 使用构建的target实体的output schema生成mock数据 var mockOutput map[string]string if evalTarget.EvalTargetVersion != nil && len(evalTarget.EvalTargetVersion.OutputSchema) > 0 { @@ -536,115 +446,3 @@ func (e EvalTargetApplicationImpl) MockEvalTargetOutput(ctx context.Context, req MockOutput: mockOutput, }, nil } - -func (e EvalTargetApplicationImpl) DebugEvalTarget(ctx context.Context, request *eval_target.DebugEvalTargetRequest) (r *eval_target.DebugEvalTargetResponse, err error) { - // err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - // ObjectID: strconv.FormatInt(request.GetWorkspaceID(), 10), - // SpaceID: request.GetWorkspaceID(), - // ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionDebugEvalTarget), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - // }) - // if err != nil { - // return nil, err - // } - - inputFields := make(map[string]*spi.Content) - if err := json.Unmarshal([]byte(request.GetParam()), &inputFields); err != nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("param json unmarshal fail")) - } - - switch request.GetEvalTargetType() { - case eval_target_dto.EvalTargetType_CustomRPCServer: - record, err := e.evalTargetService.DebugTarget(ctx, &entity.DebugTargetParam{ - SpaceID: request.GetWorkspaceID(), - PatchyTarget: &entity.EvalTarget{ - SpaceID: request.GetWorkspaceID(), - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - EvalTargetVersion: &entity.EvalTargetVersion{ - SpaceID: request.GetWorkspaceID(), - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - CustomRPCServer: target.CustomRPCServerDTO2DO(request.GetCustomRPCServer()), - }, - }, - InputData: &entity.EvalTargetInputData{ - InputFields: gmap.Map(inputFields, func(k string, v *spi.Content) (string, *entity.Content) { - return k, target.ToSPIContentDO(v) - }), - Ext: map[string]string{ - consts.FieldAdapterBuiltinFieldNameRuntimeParam: request.GetTargetRuntimeParam().GetJSONValue(), - }, - }, - }) - if err != nil { - return nil, err - } - return &eval_target.DebugEvalTargetResponse{ - EvalTargetRecord: target.EvalTargetRecordDO2DTO(record), - BaseResp: base.NewBaseResp(), - }, err - default: - return nil, errorx.New("unsupported eval target type %v", request.GetEvalTargetType()) - } -} - -func (e EvalTargetApplicationImpl) AsyncDebugEvalTarget(ctx context.Context, request *eval_target.AsyncDebugEvalTargetRequest) (r *eval_target.AsyncDebugEvalTargetResponse, err error) { - // err = e.auth.Authorization(ctx, &rpc.AuthorizationParam{ - // ObjectID: strconv.FormatInt(request.GetWorkspaceID(), 10), - // SpaceID: request.GetWorkspaceID(), - // ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.ActionDebugEvalTarget), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - // }) - // if err != nil { - // return nil, err - // } - - startTime := time.Now() - userID := session.UserIDInCtxOrEmpty(ctx) - inputFields := make(map[string]*spi.Content) - if err := json.Unmarshal([]byte(request.GetParam()), &inputFields); err != nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("param json unmarshal fail")) - } - - switch request.GetEvalTargetType() { - case eval_target_dto.EvalTargetType_CustomRPCServer: - record, callee, err := e.evalTargetService.AsyncDebugTarget(ctx, &entity.DebugTargetParam{ - SpaceID: request.GetWorkspaceID(), - PatchyTarget: &entity.EvalTarget{ - SpaceID: request.GetWorkspaceID(), - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - EvalTargetVersion: &entity.EvalTargetVersion{ - SpaceID: request.GetWorkspaceID(), - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - CustomRPCServer: target.CustomRPCServerDTO2DO(request.GetCustomRPCServer()), - }, - }, - InputData: &entity.EvalTargetInputData{ - InputFields: gmap.Map(inputFields, func(k string, v *spi.Content) (string, *entity.Content) { - return k, target.ToSPIContentDO(v) - }), - Ext: map[string]string{ - consts.FieldAdapterBuiltinFieldNameRuntimeParam: request.GetTargetRuntimeParam().GetJSONValue(), - }, - }, - }) - if err != nil { - return nil, err - } - - recordID := record.ID - if err := e.evalAsyncRepo.SetEvalAsyncCtx(ctx, strconv.FormatInt(recordID, 10), &entity.EvalAsyncCtx{ - TurnID: recordID, - AsyncUnixMS: startTime.UnixMilli(), - Session: &entity.Session{UserID: userID}, - Callee: callee, - }); err != nil { - return nil, err - } - - return &eval_target.AsyncDebugEvalTargetResponse{ - InvokeID: record.ID, - Callee: gptr.Of(callee), - BaseResp: base.NewBaseResp(), - }, err - default: - return nil, errorx.New("unsupported eval target type %v", request.GetEvalTargetType()) - } -} diff --git a/backend/modules/evaluation/application/eval_target_app_test.go b/backend/modules/evaluation/application/eval_target_app_test.go index 3af7302e7..8af27f320 100644 --- a/backend/modules/evaluation/application/eval_target_app_test.go +++ b/backend/modules/evaluation/application/eval_target_app_test.go @@ -5,7 +5,6 @@ package application import ( "context" - stdjson "encoding/json" "strconv" "testing" @@ -13,16 +12,13 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" - domaincommon "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/common" domain_eval_target "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/eval_target" - evaltargetapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/spi" + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/eval_target" "github.com/coze-dev/coze-loop/backend/modules/evaluation/application/convertor/target" "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc" rpcmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/rpc/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - repomocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" @@ -52,25 +48,22 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { tests := []struct { name string - req *evaltargetapi.CreateEvalTargetRequest + req *eval_target.CreateEvalTargetRequest mockSetup func() - wantResp *evaltargetapi.CreateEvalTargetResponse + wantResp *eval_target.CreateEvalTargetResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetID: &validSourceTargetID, SourceTargetVersion: &validSourceTargetVersion, EvalTargetType: &validEvalTargetType, BotInfoType: &validBotInfoType, BotPublishVersion: &validBotPublishVersion, - CustomEvalTarget: &domain_eval_target.CustomEvalTarget{ - Name: gptr.Of("test"), - }, }, }, mockSetup: func() { @@ -91,7 +84,7 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { gomock.Any(), // options ).Return(int64(1), int64(2), nil) }, - wantResp: &evaltargetapi.CreateEvalTargetResponse{ + wantResp: &eval_target.CreateEvalTargetResponse{ ID: gptr.Of(int64(1)), VersionID: gptr.Of(int64(2)), }, @@ -107,7 +100,7 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - nil param", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, Param: nil, }, @@ -118,9 +111,9 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - missing source target id", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetVersion: &validSourceTargetVersion, EvalTargetType: &validEvalTargetType, }, @@ -132,9 +125,9 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - missing source target version", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetID: &validSourceTargetID, EvalTargetType: &validEvalTargetType, }, @@ -157,7 +150,7 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { gomock.Any(), // options ).Return(int64(1), int64(2), nil) }, - wantResp: &evaltargetapi.CreateEvalTargetResponse{ + wantResp: &eval_target.CreateEvalTargetResponse{ ID: gptr.Of(int64(1)), VersionID: gptr.Of(int64(2)), }, @@ -165,9 +158,9 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - missing eval target type", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetID: &validSourceTargetID, SourceTargetVersion: &validSourceTargetVersion, }, @@ -179,9 +172,9 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - auth failed", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetID: &validSourceTargetID, SourceTargetVersion: &validSourceTargetVersion, EvalTargetType: &validEvalTargetType, @@ -197,9 +190,9 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { }, { name: "error - service failure", - req: &evaltargetapi.CreateEvalTargetRequest{ + req: &eval_target.CreateEvalTargetRequest{ WorkspaceID: validSpaceID, - Param: &evaltargetapi.CreateEvalTargetParam{ + Param: &eval_target.CreateEvalTargetParam{ SourceTargetID: &validSourceTargetID, SourceTargetVersion: &validSourceTargetVersion, EvalTargetType: &validEvalTargetType, @@ -237,16 +230,6 @@ func TestEvalTargetApplicationImpl_CreateEvalTarget(t *testing.T) { } } -func TestNewEvalTargetHandlerImpl(t *testing.T) { - handler := NewEvalTargetHandlerImpl(nil, nil, nil, nil) - if handler == nil { - t.Fatalf("handler is nil") - } - if handler2 := NewEvalTargetHandlerImpl(nil, nil, nil, nil); handler2 != handler { - t.Fatalf("handler should be singleton") - } -} - func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() @@ -279,15 +262,15 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { tests := []struct { name string - req *evaltargetapi.BatchGetEvalTargetsBySourceRequest + req *eval_target.BatchGetEvalTargetsBySourceRequest mockSetup func() - wantResp *evaltargetapi.BatchGetEvalTargetsBySourceResponse + wantResp *eval_target.BatchGetEvalTargetsBySourceResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, EvalTargetType: &validEvalTargetType, @@ -308,7 +291,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { mockTypedOperator.EXPECT().PackSourceInfo(gomock.Any(), validSpaceID, validEvalTargets).Return(nil) }, - wantResp: &evaltargetapi.BatchGetEvalTargetsBySourceResponse{ + wantResp: &eval_target.BatchGetEvalTargetsBySourceResponse{ EvalTargets: []*domain_eval_target.EvalTarget{ { ID: gptr.Of(int64(1)), @@ -330,7 +313,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { }, { name: "error - empty source target ids", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: []string{}, EvalTargetType: &validEvalTargetType, @@ -342,7 +325,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { }, { name: "error - nil eval target type", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, EvalTargetType: nil, @@ -354,7 +337,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { }, { name: "error - auth failure", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, EvalTargetType: &validEvalTargetType, @@ -369,7 +352,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { }, { name: "error - service failure", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, EvalTargetType: &validEvalTargetType, @@ -385,7 +368,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetsBySource(t *testing.T) { }, { name: "error - pack source info failure", - req: &evaltargetapi.BatchGetEvalTargetsBySourceRequest{ + req: &eval_target.BatchGetEvalTargetsBySourceRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, EvalTargetType: &validEvalTargetType, @@ -456,15 +439,15 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { tests := []struct { name string - req *evaltargetapi.GetEvalTargetVersionRequest + req *eval_target.GetEvalTargetVersionRequest mockSetup func() - wantResp *evaltargetapi.GetEvalTargetVersionResponse + wantResp *eval_target.GetEvalTargetVersionResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.GetEvalTargetVersionRequest{ + req: &eval_target.GetEvalTargetVersionRequest{ WorkspaceID: validSpaceID, EvalTargetVersionID: &validVersionID, }, @@ -481,7 +464,7 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { }). Return(nil) }, - wantResp: &evaltargetapi.GetEvalTargetVersionResponse{ + wantResp: &eval_target.GetEvalTargetVersionResponse{ EvalTarget: target.EvalTargetDO2DTO(validEvalTarget), }, wantErr: false, @@ -496,7 +479,7 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { }, { name: "error - nil version id", - req: &evaltargetapi.GetEvalTargetVersionRequest{ + req: &eval_target.GetEvalTargetVersionRequest{ WorkspaceID: validSpaceID, }, mockSetup: func() {}, @@ -506,7 +489,7 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { }, { name: "success - eval target not found", - req: &evaltargetapi.GetEvalTargetVersionRequest{ + req: &eval_target.GetEvalTargetVersionRequest{ WorkspaceID: validSpaceID, EvalTargetVersionID: &validVersionID, }, @@ -515,12 +498,12 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { GetEvalTargetVersion(gomock.Any(), validSpaceID, validVersionID, false). Return(nil, nil) }, - wantResp: &evaltargetapi.GetEvalTargetVersionResponse{}, + wantResp: &eval_target.GetEvalTargetVersionResponse{}, wantErr: false, }, { name: "error - service failure", - req: &evaltargetapi.GetEvalTargetVersionRequest{ + req: &eval_target.GetEvalTargetVersionRequest{ WorkspaceID: validSpaceID, EvalTargetVersionID: &validVersionID, }, @@ -535,7 +518,7 @@ func TestEvalTargetApplicationImpl_GetEvalTargetVersion(t *testing.T) { }, { name: "error - auth failed", - req: &evaltargetapi.GetEvalTargetVersionRequest{ + req: &eval_target.GetEvalTargetVersionRequest{ WorkspaceID: validSpaceID, EvalTargetVersionID: &validVersionID, }, @@ -620,15 +603,15 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetVersions(t *testing.T) { tests := []struct { name string - req *evaltargetapi.BatchGetEvalTargetVersionsRequest + req *eval_target.BatchGetEvalTargetVersionsRequest mockSetup func() - wantResp *evaltargetapi.BatchGetEvalTargetVersionsResponse + wantResp *eval_target.BatchGetEvalTargetVersionsResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.BatchGetEvalTargetVersionsRequest{ + req: &eval_target.BatchGetEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, EvalTargetVersionIds: validVersionIDs, }, @@ -641,7 +624,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetVersions(t *testing.T) { Authorization(gomock.Any(), gomock.Any()). Return(nil) }, - wantResp: &evaltargetapi.BatchGetEvalTargetVersionsResponse{ + wantResp: &eval_target.BatchGetEvalTargetVersionsResponse{ EvalTargets: []*domain_eval_target.EvalTarget{ target.EvalTargetDO2DTO(validEvalTargets[0]), target.EvalTargetDO2DTO(validEvalTargets[1]), @@ -659,7 +642,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetVersions(t *testing.T) { }, { name: "error - empty version ids", - req: &evaltargetapi.BatchGetEvalTargetVersionsRequest{ + req: &eval_target.BatchGetEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, EvalTargetVersionIds: []int64{}, }, @@ -670,7 +653,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetVersions(t *testing.T) { }, { name: "error - auth failed", - req: &evaltargetapi.BatchGetEvalTargetVersionsRequest{ + req: &eval_target.BatchGetEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, EvalTargetVersionIds: validVersionIDs, }, @@ -685,7 +668,7 @@ func TestEvalTargetApplicationImpl_BatchGetEvalTargetVersions(t *testing.T) { }, { name: "error - service failure", - req: &evaltargetapi.BatchGetEvalTargetVersionsRequest{ + req: &eval_target.BatchGetEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, EvalTargetVersionIds: validVersionIDs, }, @@ -767,15 +750,15 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargets(t *testing.T) { tests := []struct { name string - req *evaltargetapi.ListSourceEvalTargetsRequest + req *eval_target.ListSourceEvalTargetsRequest mockSetup func() - wantResp *evaltargetapi.ListSourceEvalTargetsResponse + wantResp *eval_target.ListSourceEvalTargetsResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.ListSourceEvalTargetsRequest{ + req: &eval_target.ListSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, TargetType: &validEvalTargetType, }, @@ -798,7 +781,7 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargets(t *testing.T) { EvalTargetType: 1, }}, "", false, nil) }, - wantResp: &evaltargetapi.ListSourceEvalTargetsResponse{ + wantResp: &eval_target.ListSourceEvalTargetsResponse{ EvalTargets: []*domain_eval_target.EvalTarget{ target.EvalTargetDO2DTO(validEvalTargets[0]), target.EvalTargetDO2DTO(validEvalTargets[1]), @@ -816,7 +799,7 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargets(t *testing.T) { }, { name: "error - nil eval target type", - req: &evaltargetapi.ListSourceEvalTargetsRequest{ + req: &eval_target.ListSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, }, mockSetup: func() {}, @@ -902,15 +885,15 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargetVersions(t *testing.T) { tests := []struct { name string - req *evaltargetapi.ListSourceEvalTargetVersionsRequest + req *eval_target.ListSourceEvalTargetVersionsRequest mockSetup func() - wantResp *evaltargetapi.ListSourceEvalTargetVersionsResponse + wantResp *eval_target.ListSourceEvalTargetVersionsResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.ListSourceEvalTargetVersionsRequest{ + req: &eval_target.ListSourceEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, TargetType: &validEvalTargetType, }, @@ -946,7 +929,7 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargetVersions(t *testing.T) { }, }}, "", false, nil) }, - wantResp: &evaltargetapi.ListSourceEvalTargetVersionsResponse{ + wantResp: &eval_target.ListSourceEvalTargetVersionsResponse{ Versions: []*domain_eval_target.EvalTargetVersion{ target.EvalTargetVersionDO2DTO(validEvalTargets[0]), target.EvalTargetVersionDO2DTO(validEvalTargets[1]), @@ -965,7 +948,7 @@ func TestEvalTargetApplicationImpl_ListSourceEvalTargetVersions(t *testing.T) { }, { name: "error - nil target type", - req: &evaltargetapi.ListSourceEvalTargetVersionsRequest{ + req: &eval_target.ListSourceEvalTargetVersionsRequest{ WorkspaceID: validSpaceID, }, mockSetup: func() {}, @@ -1033,15 +1016,15 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { tests := []struct { name string - req *evaltargetapi.BatchGetSourceEvalTargetsRequest + req *eval_target.BatchGetSourceEvalTargetsRequest mockSetup func() - wantResp *evaltargetapi.BatchGetSourceEvalTargetsResponse + wantResp *eval_target.BatchGetSourceEvalTargetsResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.BatchGetSourceEvalTargetsRequest{ + req: &eval_target.BatchGetSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, TargetType: &validEvalTargetType, SourceTargetIds: validSourceTargetIDs, @@ -1052,7 +1035,7 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { BatchGetSource(gomock.Any(), validSpaceID, validSourceTargetIDs). Return(validEvalTargets, nil) }, - wantResp: &evaltargetapi.BatchGetSourceEvalTargetsResponse{ + wantResp: &eval_target.BatchGetSourceEvalTargetsResponse{ EvalTargets: []*domain_eval_target.EvalTarget{ target.EvalTargetDO2DTO(validEvalTargets[0]), target.EvalTargetDO2DTO(validEvalTargets[1]), @@ -1062,7 +1045,7 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { }, { name: "error - nil target type", - req: &evaltargetapi.BatchGetSourceEvalTargetsRequest{ + req: &eval_target.BatchGetSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, SourceTargetIds: validSourceTargetIDs, }, @@ -1073,7 +1056,7 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { }, { name: "error - auth failed", - req: &evaltargetapi.BatchGetSourceEvalTargetsRequest{ + req: &eval_target.BatchGetSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, TargetType: &validEvalTargetType, SourceTargetIds: validSourceTargetIDs, @@ -1089,7 +1072,7 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { }, { name: "error - unsupported target type", - req: &evaltargetapi.BatchGetSourceEvalTargetsRequest{ + req: &eval_target.BatchGetSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, TargetType: &unsupportedEvalTargetType, SourceTargetIds: validSourceTargetIDs, @@ -1103,7 +1086,7 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { }, { name: "error - service failure", - req: &evaltargetapi.BatchGetSourceEvalTargetsRequest{ + req: &eval_target.BatchGetSourceEvalTargetsRequest{ WorkspaceID: validSpaceID, TargetType: &validEvalTargetType, SourceTargetIds: validSourceTargetIDs, @@ -1145,304 +1128,6 @@ func TestEvalTargetApplicationImpl_BatchGetSourceEvalTargets(t *testing.T) { } } -func TestEvalTargetApplicationImpl_SearchCustomEvalTarget(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - // Setup mocks - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - mockTypedOperator := mocks.NewMockISourceEvalTargetOperateService(ctrl) - - app := &EvalTargetApplicationImpl{ - auth: mockAuth, - typedOperators: map[entity.EvalTargetType]service.ISourceEvalTargetOperateService{ - entity.EvalTargetTypeCustomRPCServer: mockTypedOperator, - }, - } - - // Test data - validSpaceID := int64(123) - validApplicationID := int64(456) - validKeyword := "test keyword" - validRegion := "cn" - validEnv := "prod" - validPageSize := int32(10) - validPageToken := "token123" - validCustomRPCServer := &domain_eval_target.CustomRPCServer{ - ID: gptr.Of(int64(789)), - Name: gptr.Of("test server"), - Description: gptr.Of("test description"), - ServerName: gptr.Of("test-server"), - AccessProtocol: gptr.Of("rpc"), - Cluster: gptr.Of("test-cluster"), - } - - validCustomEvalTargets := []*entity.CustomEvalTarget{ - { - ID: gptr.Of("target-1"), - Name: gptr.Of("Test Target 1"), - AvatarURL: gptr.Of("http://example.com/avatar1.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - { - ID: gptr.Of("target-2"), - Name: gptr.Of("Test Target 2"), - AvatarURL: gptr.Of("http://example.com/avatar2.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - } - - tests := []struct { - name string - req *evaltargetapi.SearchCustomEvalTargetRequest - mockSetup func() - wantResp *evaltargetapi.SearchCustomEvalTargetResponse - wantErr bool - wantErrCode int32 - }{ - { - name: "success - normal request with applicationID", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - Env: &validEnv, - PageSize: &validPageSize, - PageToken: &validPageToken, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(validSpaceID, 10), - SpaceID: validSpaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of("listLoopEvaluationTarget"), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }).Return(nil) - - mockTypedOperator.EXPECT().SearchCustomEvalTarget(gomock.Any(), &entity.SearchCustomEvalTargetParam{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - CustomRPCServer: nil, - Region: &validRegion, - Env: &validEnv, - PageSize: &validPageSize, - PageToken: &validPageToken, - }).Return(validCustomEvalTargets, "next-token", true, nil) - }, - wantResp: &evaltargetapi.SearchCustomEvalTargetResponse{ - CustomEvalTargets: []*domain_eval_target.CustomEvalTarget{ - { - ID: gptr.Of("target-1"), - Name: gptr.Of("Test Target 1"), - AvatarURL: gptr.Of("http://example.com/avatar1.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - { - ID: gptr.Of("target-2"), - Name: gptr.Of("Test Target 2"), - AvatarURL: gptr.Of("http://example.com/avatar2.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - }, - NextPageToken: gptr.Of("next-token"), - HasMore: gptr.Of(true), - }, - wantErr: false, - }, - { - name: "success - normal request with customRPCServer", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - CustomRPCServer: validCustomRPCServer, - Region: &validRegion, - Env: &validEnv, - PageSize: &validPageSize, - PageToken: &validPageToken, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(validSpaceID, 10), - SpaceID: validSpaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of("listLoopEvaluationTarget"), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }).Return(nil) - - mockTypedOperator.EXPECT().SearchCustomEvalTarget(gomock.Any(), gomock.Any()).Return(validCustomEvalTargets, "next-token", true, nil) - }, - wantResp: &evaltargetapi.SearchCustomEvalTargetResponse{ - CustomEvalTargets: []*domain_eval_target.CustomEvalTarget{ - { - ID: gptr.Of("target-1"), - Name: gptr.Of("Test Target 1"), - AvatarURL: gptr.Of("http://example.com/avatar1.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - { - ID: gptr.Of("target-2"), - Name: gptr.Of("Test Target 2"), - AvatarURL: gptr.Of("http://example.com/avatar2.jpg"), - Ext: map[string]string{"type": "custom"}, - }, - }, - NextPageToken: gptr.Of("next-token"), - HasMore: gptr.Of(true), - }, - wantErr: false, - }, - { - name: "error - nil request", - req: nil, - mockSetup: func() {}, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "error - nil workspaceID", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - }, - mockSetup: func() {}, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "error - both applicationID and customRPCServer are nil", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - Region: &validRegion, - }, - mockSetup: func() {}, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "error - nil region", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - }, - mockSetup: func() {}, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "error - target type not support", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - }, - mockSetup: func() { - // Create app without typedOperators for CustomRPCServer - app.typedOperators = map[entity.EvalTargetType]service.ISourceEvalTargetOperateService{} - }, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "error - auth failed", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()). - Return(errorx.NewByCode(errno.CommonNoPermissionCode)) - }, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonNoPermissionCode, - }, - { - name: "error - service failure", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockTypedOperator.EXPECT().SearchCustomEvalTarget(gomock.Any(), gomock.Any()). - Return(nil, "", false, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantResp: nil, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "success - empty results", - req: &evaltargetapi.SearchCustomEvalTargetRequest{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - Region: &validRegion, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(validSpaceID, 10), - SpaceID: validSpaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of("listLoopEvaluationTarget"), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }).Return(nil) - - mockTypedOperator.EXPECT().SearchCustomEvalTarget(gomock.Any(), &entity.SearchCustomEvalTargetParam{ - WorkspaceID: &validSpaceID, - Keyword: &validKeyword, - ApplicationID: &validApplicationID, - CustomRPCServer: nil, - Region: &validRegion, - Env: nil, - PageSize: nil, - PageToken: nil, - }).Return([]*entity.CustomEvalTarget{}, "", false, nil) - }, - wantResp: &evaltargetapi.SearchCustomEvalTargetResponse{ - CustomEvalTargets: []*domain_eval_target.CustomEvalTarget{}, - NextPageToken: gptr.Of(""), - HasMore: gptr.Of(false), - }, - wantErr: false, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - // Reset typedOperators for each test - app.typedOperators = map[entity.EvalTargetType]service.ISourceEvalTargetOperateService{ - entity.EvalTargetTypeCustomRPCServer: mockTypedOperator, - } - - tt.mockSetup() - - resp, err := app.SearchCustomEvalTarget(context.Background(), tt.req) - - if tt.wantErr { - assert.Error(t, err) - if tt.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tt.wantErrCode, statusErr.Code()) - } - } else { - assert.NoError(t, err) - assert.Equal(t, tt.wantResp, resp) - } - }) - } -} - func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() @@ -1488,15 +1173,15 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { tests := []struct { name string - req *evaltargetapi.MockEvalTargetOutputRequest + req *eval_target.MockEvalTargetOutputRequest mockSetup func() - wantResp *evaltargetapi.MockEvalTargetOutputResponse + wantResp *eval_target.MockEvalTargetOutputResponse wantErr bool wantErrCode int32 }{ { name: "success - normal request", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1517,7 +1202,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { GenerateMockOutputData(validEvalTarget.EvalTargetVersion.OutputSchema). Return(map[string]string{"output": "mock output"}, nil) }, - wantResp: &evaltargetapi.MockEvalTargetOutputResponse{ + wantResp: &eval_target.MockEvalTargetOutputResponse{ EvalTarget: target.EvalTargetDO2DTO(validEvalTarget), MockOutput: map[string]string{"output": "mock output"}, }, @@ -1533,7 +1218,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "error - unsupported target type", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1546,7 +1231,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "error - auth failed", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1567,7 +1252,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "error - build by source failed", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1584,7 +1269,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "error - build by source returns nil", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1601,7 +1286,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "error - generate mock data failed", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1624,7 +1309,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }, { name: "success - no output schema", - req: &evaltargetapi.MockEvalTargetOutputRequest{ + req: &eval_target.MockEvalTargetOutputRequest{ WorkspaceID: validSpaceID, SourceTargetID: validSourceTargetID, EvalTargetVersion: validEvalTargetVersion, @@ -1651,7 +1336,7 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) }, - wantResp: &evaltargetapi.MockEvalTargetOutputResponse{ + wantResp: &eval_target.MockEvalTargetOutputResponse{ EvalTarget: target.EvalTargetDO2DTO(&entity.EvalTarget{ ID: 1, SpaceID: validSpaceID, @@ -1696,697 +1381,3 @@ func TestEvalTargetApplicationImpl_MockEvalTargetOutput(t *testing.T) { }) } } - -func TestEvalTargetApplicationImpl_AsyncExecuteEvalTarget(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - - app := &EvalTargetApplicationImpl{ - auth: mockAuth, - evalTargetService: mockEvalTargetService, - } - - workspaceID := int64(101) - targetID := int64(202) - versionID := int64(303) - inputData := &domain_eval_target.EvalTargetInputData{} - record := &entity.EvalTargetRecord{ID: 888} - - tests := []struct { - name string - req *evaltargetapi.AsyncExecuteEvalTargetRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "success", - req: &evaltargetapi.AsyncExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(targetID, 10), - SpaceID: workspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Run), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationTarget)}}, - }).Return(nil) - mockEvalTargetService.EXPECT().AsyncExecuteTarget( - gomock.Any(), - workspaceID, - targetID, - versionID, - gomock.Any(), - gomock.Any(), - ).Return(record, "callee", nil) - }, - }, - { - name: "auth failure", - req: &evaltargetapi.AsyncExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errorx.NewByCode(errno.CommonNoPermissionCode)) - }, - wantErr: true, - wantErrCode: errno.CommonNoPermissionCode, - }, - { - name: "service failure", - req: &evaltargetapi.AsyncExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockEvalTargetService.EXPECT().AsyncExecuteTarget(gomock.Any(), workspaceID, targetID, versionID, gomock.Any(), gomock.Any()). - Return(nil, "", errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.AsyncExecuteEvalTarget(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - } else { - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.NotNil(t, resp.InvokeID) - assert.Equal(t, record.ID, *resp.InvokeID) - assert.NotNil(t, resp.BaseResp) - } - }) - } -} - -func TestEvalTargetApplicationImpl_DebugEvalTarget(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - - app := &EvalTargetApplicationImpl{ - evalTargetService: mockEvalTargetService, - } - - workspaceID := int64(1001) - targetType := domain_eval_target.EvalTargetType_CustomRPCServer - runtimeParamJSON := "{}" - content := map[string]*spi.Content{ - "input": { - ContentType: gptr.Of(spi.ContentType("text")), - Text: gptr.Of("hello"), - }, - } - paramBytes, _ := stdjson.Marshal(content) - customRPC := &domain_eval_target.CustomRPCServer{Name: gptr.Of("debug")} - record := &entity.EvalTargetRecord{ - ID: 909, - EvalTargetOutputData: &entity.EvalTargetOutputData{}, - BaseInfo: &entity.BaseInfo{ - CreatedAt: gptr.Of(int64(1)), - UpdatedAt: gptr.Of(int64(1)), - }, - } - - tests := []struct { - name string - req *evaltargetapi.DebugEvalTargetRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "success", - req: &evaltargetapi.DebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of(string(paramBytes)), - TargetRuntimeParam: &domaincommon.RuntimeParam{ - JSONValue: gptr.Of(runtimeParamJSON), - }, - CustomRPCServer: customRPC, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().DebugTarget(gomock.Any(), gomock.Any()).Return(record, nil) - }, - }, - { - name: "invalid json", - req: &evaltargetapi.DebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of("{"), - }, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "service failure", - req: &evaltargetapi.DebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of(string(paramBytes)), - TargetRuntimeParam: &domaincommon.RuntimeParam{JSONValue: gptr.Of(runtimeParamJSON)}, - CustomRPCServer: customRPC, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().DebugTarget(gomock.Any(), gomock.Any()). - Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "unsupported type", - req: &evaltargetapi.DebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: gptr.Of(domain_eval_target.EvalTargetType(0)), - Param: gptr.Of(string(paramBytes)), - }, - mockSetup: func() {}, - wantErr: true, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.DebugEvalTarget(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - } else { - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.NotNil(t, resp.EvalTargetRecord) - } - }) - } -} - -func TestEvalTargetApplicationImpl_AsyncDebugEvalTarget(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - mockEvalAsyncRepo := repomocks.NewMockIEvalAsyncRepo(ctrl) - - app := &EvalTargetApplicationImpl{ - evalTargetService: mockEvalTargetService, - evalAsyncRepo: mockEvalAsyncRepo, - } - - workspaceID := int64(2001) - targetType := domain_eval_target.EvalTargetType_CustomRPCServer - runtimeParamJSON := "{}" - content := map[string]*spi.Content{ - "input": { - ContentType: gptr.Of(spi.ContentType("text")), - Text: gptr.Of("world"), - }, - } - paramBytes, _ := stdjson.Marshal(content) - customRPC := &domain_eval_target.CustomRPCServer{Name: gptr.Of("async")} - record := &entity.EvalTargetRecord{ - ID: 707, - EvalTargetOutputData: &entity.EvalTargetOutputData{}, - BaseInfo: &entity.BaseInfo{ - CreatedAt: gptr.Of(int64(1)), - UpdatedAt: gptr.Of(int64(1)), - }, - } - - tests := []struct { - name string - req *evaltargetapi.AsyncDebugEvalTargetRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "success", - req: &evaltargetapi.AsyncDebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of(string(paramBytes)), - TargetRuntimeParam: &domaincommon.RuntimeParam{ - JSONValue: gptr.Of(runtimeParamJSON), - }, - CustomRPCServer: customRPC, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().AsyncDebugTarget(gomock.Any(), gomock.Any()).Return(record, "callee", nil) - mockEvalAsyncRepo.EXPECT().SetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(record.ID, 10), gomock.Any()).Return(nil) - }, - }, - { - name: "invalid json", - req: &evaltargetapi.AsyncDebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of("{"), - }, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "service failure", - req: &evaltargetapi.AsyncDebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of(string(paramBytes)), - TargetRuntimeParam: &domaincommon.RuntimeParam{JSONValue: gptr.Of(runtimeParamJSON)}, - CustomRPCServer: customRPC, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().AsyncDebugTarget(gomock.Any(), gomock.Any()). - Return(nil, "", errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "set async ctx failure", - req: &evaltargetapi.AsyncDebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: &targetType, - Param: gptr.Of(string(paramBytes)), - TargetRuntimeParam: &domaincommon.RuntimeParam{JSONValue: gptr.Of(runtimeParamJSON)}, - CustomRPCServer: customRPC, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().AsyncDebugTarget(gomock.Any(), gomock.Any()).Return(record, "callee", nil) - mockEvalAsyncRepo.EXPECT().SetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(record.ID, 10), gomock.Any()). - Return(errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "unsupported type", - req: &evaltargetapi.AsyncDebugEvalTargetRequest{ - WorkspaceID: &workspaceID, - EvalTargetType: gptr.Of(domain_eval_target.EvalTargetType(0)), - Param: gptr.Of(string(paramBytes)), - }, - mockSetup: func() {}, - wantErr: true, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.AsyncDebugEvalTarget(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - } else { - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.Equal(t, record.ID, resp.InvokeID) - assert.Equal(t, gptr.Of("callee"), resp.Callee) - assert.NotNil(t, resp.BaseResp) - } - }) - } -} - -func TestEvalTargetApplicationImpl_ExecuteEvalTarget(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - - app := &EvalTargetApplicationImpl{ - auth: mockAuth, - evalTargetService: mockEvalTargetService, - } - - workspaceID := int64(100) - targetID := int64(200) - versionID := int64(300) - inputData := &domain_eval_target.EvalTargetInputData{} - record := &entity.EvalTargetRecord{ID: 1, SpaceID: workspaceID, TargetID: targetID, BaseInfo: &entity.BaseInfo{}} - - tests := []struct { - name string - req *evaltargetapi.ExecuteEvalTargetRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "success", - req: &evaltargetapi.ExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(targetID, 10), - SpaceID: workspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Run), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationTarget)}}, - }).Return(nil) - mockEvalTargetService.EXPECT().ExecuteTarget( - gomock.Any(), - workspaceID, - targetID, - versionID, - gomock.AssignableToTypeOf(&entity.ExecuteTargetCtx{}), - gomock.AssignableToTypeOf(&entity.EvalTargetInputData{}), - ).Return(record, nil) - }, - }, - { - name: "nil request", - req: nil, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "nil input data", - req: &evaltargetapi.ExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - }, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "auth failure", - req: &evaltargetapi.ExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errorx.NewByCode(errno.CommonNoPermissionCode)) - }, - wantErr: true, - wantErrCode: errno.CommonNoPermissionCode, - }, - { - name: "service failure", - req: &evaltargetapi.ExecuteEvalTargetRequest{ - WorkspaceID: workspaceID, - EvalTargetID: targetID, - EvalTargetVersionID: versionID, - InputData: inputData, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockEvalTargetService.EXPECT().ExecuteTarget(gomock.Any(), workspaceID, targetID, versionID, gomock.Any(), gomock.Any()). - Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.ExecuteEvalTarget(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - return - } - - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.NotNil(t, resp.EvalTargetRecord) - }) - } -} - -func TestEvalTargetApplicationImpl_GetEvalTargetRecord(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - - app := &EvalTargetApplicationImpl{ - auth: mockAuth, - evalTargetService: mockEvalTargetService, - } - - workspaceID := int64(111) - recordID := int64(222) - record := &entity.EvalTargetRecord{TargetID: 333, ID: recordID, BaseInfo: &entity.BaseInfo{}} - - tests := []struct { - name string - req *evaltargetapi.GetEvalTargetRecordRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "nil request", - req: nil, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "service failure", - req: &evaltargetapi.GetEvalTargetRecordRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordID: recordID, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().GetRecordByID(gomock.Any(), workspaceID, recordID). - Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "record not found", - req: &evaltargetapi.GetEvalTargetRecordRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordID: recordID, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().GetRecordByID(gomock.Any(), workspaceID, recordID).Return(nil, nil) - }, - }, - { - name: "auth failure", - req: &evaltargetapi.GetEvalTargetRecordRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordID: recordID, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().GetRecordByID(gomock.Any(), workspaceID, recordID).Return(record, nil) - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errorx.NewByCode(errno.CommonNoPermissionCode)) - }, - wantErr: true, - wantErrCode: errno.CommonNoPermissionCode, - }, - { - name: "success", - req: &evaltargetapi.GetEvalTargetRecordRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordID: recordID, - }, - mockSetup: func() { - mockEvalTargetService.EXPECT().GetRecordByID(gomock.Any(), workspaceID, recordID).Return(record, nil) - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(record.TargetID, 10), - SpaceID: workspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of(consts.Read), EntityType: gptr.Of(rpc.AuthEntityType_EvaluationTarget)}}, - }).Return(nil) - }, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.GetEvalTargetRecord(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - return - } - - assert.NoError(t, err) - assert.NotNil(t, resp) - }) - } -} - -func TestEvalTargetApplicationImpl_BatchGetEvalTargetRecords(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockAuth := rpcmocks.NewMockIAuthProvider(ctrl) - mockEvalTargetService := mocks.NewMockIEvalTargetService(ctrl) - - app := &EvalTargetApplicationImpl{ - auth: mockAuth, - evalTargetService: mockEvalTargetService, - } - - workspaceID := int64(777) - recordIDs := []int64{1, 2} - records := []*entity.EvalTargetRecord{{ID: 1, BaseInfo: &entity.BaseInfo{}}, {ID: 2, BaseInfo: &entity.BaseInfo{}}} - - tests := []struct { - name string - req *evaltargetapi.BatchGetEvalTargetRecordsRequest - mockSetup func() - wantErr bool - wantErrCode int32 - }{ - { - name: "nil request", - req: nil, - mockSetup: func() {}, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "auth failure", - req: &evaltargetapi.BatchGetEvalTargetRecordsRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordIds: recordIDs, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(errorx.NewByCode(errno.CommonNoPermissionCode)) - }, - wantErr: true, - wantErrCode: errno.CommonNoPermissionCode, - }, - { - name: "service failure", - req: &evaltargetapi.BatchGetEvalTargetRecordsRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordIds: recordIDs, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), gomock.Any()).Return(nil) - mockEvalTargetService.EXPECT().BatchGetRecordByIDs(gomock.Any(), workspaceID, recordIDs). - Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "success", - req: &evaltargetapi.BatchGetEvalTargetRecordsRequest{ - WorkspaceID: workspaceID, - EvalTargetRecordIds: recordIDs, - }, - mockSetup: func() { - mockAuth.EXPECT().Authorization(gomock.Any(), &rpc.AuthorizationParam{ - ObjectID: strconv.FormatInt(workspaceID, 10), - SpaceID: workspaceID, - ActionObjects: []*rpc.ActionObject{{Action: gptr.Of("listLoopEvaluationTarget"), EntityType: gptr.Of(rpc.AuthEntityType_Space)}}, - }).Return(nil) - mockEvalTargetService.EXPECT().BatchGetRecordByIDs(gomock.Any(), workspaceID, recordIDs).Return(records, nil) - }, - }, - } - - for _, tt := range tests { - tc := tt - t.Run(tc.name, func(t *testing.T) { - if tc.mockSetup != nil { - tc.mockSetup() - } - - resp, err := app.BatchGetEvalTargetRecords(context.Background(), tc.req) - - if tc.wantErr { - assert.Error(t, err) - if tc.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - assert.True(t, ok) - assert.Equal(t, tc.wantErrCode, statusErr.Code()) - } - return - } - - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.Len(t, resp.EvalTargetRecords, len(recordIDs)) - }) - } -} diff --git a/backend/modules/evaluation/application/experiment_app_test.go b/backend/modules/evaluation/application/experiment_app_test.go index b64e00937..ddfe08e9b 100644 --- a/backend/modules/evaluation/application/experiment_app_test.go +++ b/backend/modules/evaluation/application/experiment_app_test.go @@ -74,9 +74,6 @@ func TestExperimentApplication_CreateExperiment(t *testing.T) { Desc: gptr.Of("test description"), CreateEvalTargetParam: &eval_target.CreateEvalTargetParam{ EvalTargetType: gptr.Of(domain_eval_target.EvalTargetType_CozeBot), - CustomEvalTarget: &domain_eval_target.CustomEvalTarget{ - Name: gptr.Of("test"), - }, }, Session: &common.Session{ UserID: gptr.Of(int64(789)), diff --git a/backend/modules/evaluation/application/wire.go b/backend/modules/evaluation/application/wire.go index 42259da08..676e42d47 100644 --- a/backend/modules/evaluation/application/wire.go +++ b/backend/modules/evaluation/application/wire.go @@ -64,7 +64,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/llm" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/prompt" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/tag" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/runtime" evalconf "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/conf" "github.com/coze-dev/coze-loop/backend/pkg/conf" ) @@ -131,7 +130,6 @@ var ( targetDomainService, evaluatorDomainService, flagSet, - evalAsyncRepoSet, ) evaluatorDomainService = wire.NewSet( @@ -139,8 +137,8 @@ var ( domainservice.NewEvaluatorRecordServiceImpl, NewEvaluatorSourceServices, llm.NewLLMRPCProvider, - NewRuntimeFactory, - NewRuntimeManagerFromFactory, + NewStubRuntimeFactory, + NewStubRuntimeManagerFromFactory, NewSandboxConfig, NewLogger, @@ -205,21 +203,6 @@ var ( foundation.NewAuthRPCProvider, targetDomainService, flagSet, - evalAsyncRepoSet, - ) - - evalAsyncRepoSet = wire.NewSet( - experiment.NewEvalAsyncRepo, - exptredis.NewEvalAsyncDAO, - ) - - evalOpenAPISet = wire.NewSet( - NewEvalOpenAPIApplication, - targetDomainService, - evaltargetmtr.NewEvalTargetMetrics, - flagSet, - rmqproducer.NewExptEventPublisher, - evalAsyncRepoSet, ) ) @@ -323,14 +306,14 @@ func NewLogger() *logrus.Logger { return logger } -// NewRuntimeFactory 创建运行时工厂 -func NewRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { - return runtime.NewRuntimeFactory(logger, sandboxConfig) +// NewStubRuntimeFactory 创建存根运行时工厂 +func NewStubRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { + return service.NewStubRuntimeFactory(logger, sandboxConfig) } -// NewRuntimeManagerFromFactory 从工厂创建运行时管理器 -func NewRuntimeManagerFromFactory(factory component.IRuntimeFactory, logger *logrus.Logger) component.IRuntimeManager { - return runtime.NewRuntimeManager(factory, logger) +// NewStubRuntimeManagerFromFactory 从工厂创建存根运行时管理器 +func NewStubRuntimeManagerFromFactory(factory component.IRuntimeFactory, logger *logrus.Logger) component.IRuntimeManager { + return service.NewStubRuntimeManager(factory, logger) } func NewEvaluatorSourceServices( @@ -354,21 +337,3 @@ func NewEvaluatorSourceServices( } return serviceMap } - -func InitEvalOpenAPIApplication( - ctx context.Context, - configFactory conf.IConfigLoaderFactory, - rmqFactory mq.IFactory, - cmdable redis.Cmdable, - idgen idgen.IIDGenerator, - db db.Provider, - client promptmanageservice.Client, - executeClient promptexecuteservice.Client, - authClient authservice.Client, - meter metrics.Meter, -) (IEvalOpenAPIApplication, error) { - wire.Build( - evalOpenAPISet, - ) - return nil, nil -} diff --git a/backend/modules/evaluation/application/wire_gen.go b/backend/modules/evaluation/application/wire_gen.go index cba660758..044672049 100644 --- a/backend/modules/evaluation/application/wire_gen.go +++ b/backend/modules/evaluation/application/wire_gen.go @@ -57,7 +57,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/notify" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/prompt" "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/rpc/tag" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/runtime" conf2 "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/conf" "github.com/coze-dev/coze-loop/backend/pkg/conf" "github.com/google/wire" @@ -90,8 +89,8 @@ func InitExperimentApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d evaluatorExecMetrics := evaluator2.NewEvaluatorMetrics(meter) logger := NewLogger() sandboxConfig := NewSandboxConfig() - iRuntimeFactory := NewRuntimeFactory(logger, sandboxConfig) - iRuntimeManager := NewRuntimeManagerFromFactory(iRuntimeFactory, logger) + iRuntimeFactory := NewStubRuntimeFactory(logger, sandboxConfig) + iRuntimeManager := NewStubRuntimeManagerFromFactory(iRuntimeFactory, logger) codeBuilderFactory := service.NewCodeBuilderFactory() v := NewEvaluatorSourceServices(illmProvider, evaluatorExecMetrics, iConfiger, iRuntimeManager, codeBuilderFactory) serviceEvaluatorService := service.NewEvaluatorServiceImpl(idgen2, rateLimiter, rmqFactory, iEvaluatorRepo, iEvaluatorRecordRepo, idempotentService, iConfiger, v) @@ -144,9 +143,7 @@ func InitExperimentApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d iExptManager := service.NewExptManager(exptResultService, iExperimentRepo, iExptRunLogRepo, iExptStatsRepo, iExptItemResultRepo, iExptTurnResultRepo, componentIConfiger, quotaRepo, iLocker, idempotentService, exptEventPublisher, auditClient, idgen2, exptMetric, iLatestWriteTracker, evaluationSetVersionService, iEvaluationSetService, iEvalTargetService, serviceEvaluatorService, benefitSvc, exptAggrResultService) schedulerModeFactory := service.NewSchedulerModeFactory(iExptManager, iExptItemResultRepo, iExptStatsRepo, iExptTurnResultRepo, idgen2, evaluationSetItemService, iExperimentRepo, idempotentService, componentIConfiger, exptEventPublisher, evaluatorRecordService, exptResultService) exptSchedulerEvent := service.NewExptSchedulerSvc(iExptManager, iExperimentRepo, iExptItemResultRepo, iExptTurnResultRepo, iExptStatsRepo, iExptRunLogRepo, idempotentService, componentIConfiger, quotaRepo, iLocker, exptEventPublisher, auditClient, exptMetric, exptResultService, idgen2, evaluationSetItemService, schedulerModeFactory) - iEvalAsyncDAO := dao.NewEvalAsyncDAO(cmdable) - iEvalAsyncRepo := experiment.NewEvalAsyncRepo(iEvalAsyncDAO) - exptItemEvalEvent := service.NewExptRecordEvalService(iExptManager, componentIConfiger, exptEventPublisher, iExptItemResultRepo, iExptTurnResultRepo, iExptStatsRepo, iExperimentRepo, quotaRepo, iLocker, idempotentService, auditClient, exptMetric, exptResultService, iEvalTargetService, evaluationSetItemService, evaluatorRecordService, serviceEvaluatorService, idgen2, benefitSvc, iEvalAsyncRepo) + exptItemEvalEvent := service.NewExptRecordEvalService(iExptManager, componentIConfiger, exptEventPublisher, iExptItemResultRepo, iExptTurnResultRepo, iExptStatsRepo, iExperimentRepo, quotaRepo, iLocker, idempotentService, auditClient, exptMetric, exptResultService, iEvalTargetService, evaluationSetItemService, evaluatorRecordService, serviceEvaluatorService, idgen2, benefitSvc) iAuthProvider := foundation.NewAuthRPCProvider(authClient) iExptAnnotateService := service.NewExptAnnotateService(db2, iExptAnnotateRepo, iExptTurnResultRepo, exptEventPublisher, evaluationSetItemService, iExperimentRepo, exptResultService, iExptTurnResultFilterRepo, iExptAggrResultRepo) exptResultExportRecordDAO := mysql.NewExptResultExportRecordDAO(db2) @@ -179,8 +176,8 @@ func InitEvaluatorApplication(ctx context.Context, idgen2 idgen.IIDGenerator, au evaluatorExecMetrics := evaluator2.NewEvaluatorMetrics(meter) logger := NewLogger() sandboxConfig := NewSandboxConfig() - iRuntimeFactory := NewRuntimeFactory(logger, sandboxConfig) - iRuntimeManager := NewRuntimeManagerFromFactory(iRuntimeFactory, logger) + iRuntimeFactory := NewStubRuntimeFactory(logger, sandboxConfig) + iRuntimeManager := NewStubRuntimeManagerFromFactory(iRuntimeFactory, logger) codeBuilderFactory := service.NewCodeBuilderFactory() v := NewEvaluatorSourceServices(illmProvider, evaluatorExecMetrics, iConfiger, iRuntimeManager, codeBuilderFactory) evaluatorService := service.NewEvaluatorServiceImpl(idgen2, rateLimiter, rmqFactory, iEvaluatorRepo, iEvaluatorRecordRepo, idempotentService, iConfiger, v) @@ -228,32 +225,10 @@ func InitEvalTargetApplication(ctx context.Context, idgen2 idgen.IIDGenerator, d iPromptRPCAdapter := prompt.NewPromptRPCAdapter(client, executeClient) v := NewSourceTargetOperators(iPromptRPCAdapter) iEvalTargetService := service.NewEvalTargetServiceImpl(iEvalTargetRepo, idgen2, evalTargetMetrics, v) - iEvalAsyncDAO := dao.NewEvalAsyncDAO(cmdable) - iEvalAsyncRepo := experiment.NewEvalAsyncRepo(iEvalAsyncDAO) - evalTargetService := NewEvalTargetHandlerImpl(iAuthProvider, iEvalTargetService, v, iEvalAsyncRepo) + evalTargetService := NewEvalTargetHandlerImpl(iAuthProvider, iEvalTargetService, v) return evalTargetService } -func InitEvalOpenAPIApplication(ctx context.Context, configFactory conf.IConfigLoaderFactory, rmqFactory mq.IFactory, cmdable redis.Cmdable, idgen2 idgen.IIDGenerator, db2 db.Provider, client promptmanageservice.Client, executeClient promptexecuteservice.Client, authClient authservice.Client, meter metrics.Meter) (IEvalOpenAPIApplication, error) { - iEvalAsyncDAO := dao.NewEvalAsyncDAO(cmdable) - iEvalAsyncRepo := experiment.NewEvalAsyncRepo(iEvalAsyncDAO) - exptEventPublisher, err := producer.NewExptEventPublisher(ctx, configFactory, rmqFactory) - if err != nil { - return nil, err - } - evalTargetDAO := mysql3.NewEvalTargetDAO(db2) - evalTargetVersionDAO := mysql3.NewEvalTargetVersionDAO(db2) - evalTargetRecordDAO := mysql3.NewEvalTargetRecordDAO(db2) - iLatestWriteTracker := platestwrite.NewLatestWriteTracker(cmdable) - iEvalTargetRepo := target.NewEvalTargetRepo(idgen2, db2, evalTargetDAO, evalTargetVersionDAO, evalTargetRecordDAO, iLatestWriteTracker) - evalTargetMetrics := metrics3.NewEvalTargetMetrics(meter) - iPromptRPCAdapter := prompt.NewPromptRPCAdapter(client, executeClient) - v := NewSourceTargetOperators(iPromptRPCAdapter) - iEvalTargetService := service.NewEvalTargetServiceImpl(iEvalTargetRepo, idgen2, evalTargetMetrics, v) - v2 := NewEvalOpenAPIApplication(iEvalAsyncRepo, exptEventPublisher, iEvalTargetService) - return v2, nil -} - // wire.go: var ( @@ -265,11 +240,10 @@ var ( targetDomainService, evaluatorDomainService, flagSet, - evalAsyncRepoSet, ) - evaluatorDomainService = wire.NewSet(service.NewEvaluatorServiceImpl, service.NewEvaluatorRecordServiceImpl, NewEvaluatorSourceServices, llm.NewLLMRPCProvider, NewRuntimeFactory, - NewRuntimeManagerFromFactory, + evaluatorDomainService = wire.NewSet(service.NewEvaluatorServiceImpl, service.NewEvaluatorRecordServiceImpl, NewEvaluatorSourceServices, llm.NewLLMRPCProvider, NewStubRuntimeFactory, + NewStubRuntimeManagerFromFactory, NewSandboxConfig, NewLogger, service.NewCodeBuilderFactory, evaluator.NewEvaluatorRepo, evaluator.NewEvaluatorRecordRepo, mysql2.NewEvaluatorDAO, mysql2.NewEvaluatorVersionDAO, mysql2.NewEvaluatorRecordDAO, evaluator.NewRateLimiterImpl, conf2.NewEvaluatorConfiger, evaluator2.NewEvaluatorMetrics, producer.NewEvaluatorEventPublisher, ) @@ -291,14 +265,6 @@ var ( evalTargetSet = wire.NewSet( NewEvalTargetHandlerImpl, metrics3.NewEvalTargetMetrics, foundation.NewAuthRPCProvider, targetDomainService, flagSet, - evalAsyncRepoSet, - ) - - evalAsyncRepoSet = wire.NewSet(experiment.NewEvalAsyncRepo, dao.NewEvalAsyncDAO) - - evalOpenAPISet = wire.NewSet( - NewEvalOpenAPIApplication, - targetDomainService, metrics3.NewEvalTargetMetrics, flagSet, producer.NewExptEventPublisher, evalAsyncRepoSet, ) ) @@ -322,14 +288,14 @@ func NewLogger() *logrus.Logger { return logger } -// NewRuntimeFactory 创建运行时工厂 -func NewRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { - return runtime.NewRuntimeFactory(logger, sandboxConfig) +// NewStubRuntimeFactory 创建存根运行时工厂 +func NewStubRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { + return service.NewStubRuntimeFactory(logger, sandboxConfig) } -// NewRuntimeManagerFromFactory 从工厂创建运行时管理器 -func NewRuntimeManagerFromFactory(factory component.IRuntimeFactory, logger *logrus.Logger) component.IRuntimeManager { - return runtime.NewRuntimeManager(factory, logger) +// NewStubRuntimeManagerFromFactory 从工厂创建存根运行时管理器 +func NewStubRuntimeManagerFromFactory(factory component.IRuntimeFactory, logger *logrus.Logger) component.IRuntimeManager { + return service.NewStubRuntimeManager(factory, logger) } func NewEvaluatorSourceServices( diff --git a/backend/modules/evaluation/consts/experiment.go b/backend/modules/evaluation/consts/experiment.go index 66c6c841b..c821474a7 100644 --- a/backend/modules/evaluation/consts/experiment.go +++ b/backend/modules/evaluation/consts/experiment.go @@ -6,8 +6,6 @@ package consts const ( ActionCreateExpt = "createLoopEvaluationExperiment" ActionReadExpt = "listLoopEvaluationExperiment" - - ActionDebugEvalTarget = "debugLoopEvalTarget" ) const ( diff --git a/backend/modules/evaluation/domain/entity/expt.go b/backend/modules/evaluation/domain/entity/expt.go index 69f7266e1..acc99295d 100644 --- a/backend/modules/evaluation/domain/entity/expt.go +++ b/backend/modules/evaluation/domain/entity/expt.go @@ -8,7 +8,6 @@ import ( "fmt" "time" - "github.com/bytedance/gg/gptr" "github.com/mitchellh/mapstructure" "github.com/coze-dev/coze-loop/backend/pkg/errorx" @@ -126,21 +125,6 @@ func (e *Experiment) ToEvaluatorRefDO() []*ExptEvaluatorRef { return refs } -func (e *Experiment) AsyncExec() bool { - return e.AsyncCallTarget() || e.AsyncCallEvaluators() -} - -func (e *Experiment) AsyncCallTarget() bool { - if e == nil || e.Target == nil || e.Target.EvalTargetVersion == nil || e.Target.EvalTargetVersion.CustomRPCServer == nil { - return false - } - return gptr.Indirect(e.Target.EvalTargetVersion.CustomRPCServer.IsAsync) -} - -func (e *Experiment) AsyncCallEvaluators() bool { - return false -} - type ExptEvaluatorVersionRef struct { EvaluatorID int64 EvaluatorVersionID int64 @@ -169,7 +153,7 @@ func (t *TargetConf) Valid(ctx context.Context, targetType EvalTargetType) error if t == nil || t.TargetVersionID == 0 { return fmt.Errorf("invalid TargetConf: %v", json.Jsonify(t)) } - if targetType == EvalTargetTypeLoopPrompt || targetType == EvalTargetTypeCustomRPCServer { // prompt target might receive no input + if targetType == EvalTargetTypeLoopPrompt { // prompt target might receive no input return nil } if t.IngressConf != nil && t.IngressConf.EvalSetAdapter != nil && len(t.IngressConf.EvalSetAdapter.FieldConfs) > 0 { @@ -311,9 +295,6 @@ type CreateEvalTargetParam struct { EvalTargetType *EvalTargetType BotInfoType *CozeBotInfoType BotPublishVersion *string - CustomEvalTarget *CustomEvalTarget // 搜索对象返回的信息 - Region *Region - Env *string } func (c *CreateEvalTargetParam) IsNull() bool { diff --git a/backend/modules/evaluation/domain/entity/expt_run.go b/backend/modules/evaluation/domain/entity/expt_run.go index e3bd4ca86..014c39a36 100644 --- a/backend/modules/evaluation/domain/entity/expt_run.go +++ b/backend/modules/evaluation/domain/entity/expt_run.go @@ -8,9 +8,6 @@ import ( "strings" "time" - "github.com/bytedance/gg/gptr" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/json" "github.com/coze-dev/coze-loop/backend/pkg/logs" @@ -88,13 +85,12 @@ const ( ) const ( - defaultDaemonInterval = 20 * time.Second - defaultZombieIntervalSecond = 60 * 60 * 24 - defaultItemEvalConcurNum = 3 - defaultItemEvalInterval = 20 * time.Second - defaultSpaceExptConcurLimit = 200 - defaultItemZombieSecond = 60 * 20 - defaultItemAsyncZombieSecond = 60 * 60 * 3 + defaultDaemonInterval = 20 * time.Second + defaultZombieIntervalSecond = 60 * 60 * 24 + defaultItemEvalConcurNum = 3 + defaultItemEvalInterval = 20 * time.Second + defaultSpaceExptConcurLimit = 200 + defaultItemZombieSecond = 60 * 20 ) type ExptConsumerConf struct { @@ -152,10 +148,9 @@ func (e *ExptExecConf) GetExptItemEvalConf() *ExptItemEvalConf { } type ExptItemEvalConf struct { - ConcurNum int `json:"concur_num" mapstructure:"concur_num"` - IntervalSecond int `json:"interval_second" mapstructure:"interval_second"` - ZombieSecond int `json:"zombie_second" mapstructure:"zombie_second"` - AsyncZombieSecond int `json:"async_zombie_second" mapstructure:"async_zombie_second"` + ConcurNum int `json:"concur_num" mapstructure:"concur_num"` + IntervalSecond int `json:"interval_second" mapstructure:"interval_second"` + ZombieSecond int `json:"zombie_second" mapstructure:"zombie_second"` } func (e *ExptItemEvalConf) GetConcurNum() int { @@ -172,27 +167,13 @@ func (e *ExptItemEvalConf) GetInterval() time.Duration { return defaultItemEvalInterval } -func (e *ExptItemEvalConf) getZombieSecond() int { +func (e *ExptItemEvalConf) GetZombieSecond() int { if e != nil && e.ZombieSecond > 0 { return e.ZombieSecond } return defaultItemZombieSecond } -func (e *ExptItemEvalConf) getAsyncZombieSecond() int { - if e != nil && e.AsyncZombieSecond > 0 { - return e.AsyncZombieSecond - } - return defaultItemAsyncZombieSecond -} - -func (e *ExptItemEvalConf) GetItemZombieSecond(isAsync bool) int { - if isAsync { - return e.getAsyncZombieSecond() - } - return e.getZombieSecond() -} - func DefaultExptConsumerConf() *ExptConsumerConf { return &ExptConsumerConf{ ExptExecWorkerNum: 50, @@ -386,7 +367,6 @@ type ExptTurnRunResult struct { TargetResult *EvalTargetRecord EvaluatorResults map[int64]*EvaluatorRecord EvalErr error - AsyncAbort bool } func (e *ExptTurnRunResult) SetTargetResult(er *EvalTargetRecord) *ExptTurnRunResult { @@ -418,27 +398,6 @@ func (e *ExptTurnRunResult) GetEvaluatorRecord(evaluatorVersionID int64) *Evalua return e.EvaluatorResults[evaluatorVersionID] } -func (e *ExptTurnRunResult) AbortWithTargetResult(expt *Experiment) bool { - // invalid target result - if e.TargetResult == nil { - e.SetEvalErr(errorx.NewByCode(errno.CommonInternalErrorCode, errorx.WithExtraMsg("target result is nil"))) - return true - } - - // target exec error - if e.TargetResult.EvalTargetOutputData != nil && e.TargetResult.EvalTargetOutputData.EvalTargetRunError != nil { - return true - } - - // target async exec, with no record - if expt.AsyncCallTarget() && gptr.Indirect(e.TargetResult.Status) == EvalTargetRunStatusAsyncInvoking { - e.AsyncAbort = true - return true - } - - return false -} - //go:generate mockgen -destination ./mocks/expt_scheduler_mock.go --package mocks . ExptSchedulerMode type ExptSchedulerMode interface { Mode() ExptRunMode @@ -455,11 +414,3 @@ type CKDBConfig struct { ExptTurnResultFilterDBName string `json:"expt_turn_result_filter_db_name" mapstructure:"expt_turn_result_filter_db_name"` DatasetItemsSnapshotDBName string `json:"dataset_items_snapshot_db_name" mapstructure:"dataset_items_snapshot_db_name"` } - -type EvalAsyncCtx struct { - Event *ExptItemEvalEvent - TurnID int64 - AsyncUnixMS int64 // async call time with unix ms ts - Session *Session - Callee string -} diff --git a/backend/modules/evaluation/domain/entity/expt_run_test.go b/backend/modules/evaluation/domain/entity/expt_run_test.go deleted file mode 100644 index 35b110419..000000000 --- a/backend/modules/evaluation/domain/entity/expt_run_test.go +++ /dev/null @@ -1,697 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package entity - -import ( - "testing" - "time" - - "github.com/bytedance/gg/gptr" - "github.com/stretchr/testify/assert" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" - "github.com/coze-dev/coze-loop/backend/pkg/errorx" -) - -func TestExptTurnRunResult_AbortWithTargetResult(t *testing.T) { - tests := []struct { - name string - turnRunResult *ExptTurnRunResult - experiment *Experiment - expectedAbort bool - expectedErr bool - expectedErrMsg string - checkAsyncAbort bool - }{ - { - name: "TargetResult为nil,应该中止并设置错误", - turnRunResult: &ExptTurnRunResult{ - TargetResult: nil, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(false), - }, - }, - }, - }, - expectedAbort: true, - expectedErr: true, - expectedErrMsg: "target result is nil", - }, - { - name: "TargetResult有执行错误,应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: &EvalTargetRunError{ - Code: 500, - Message: "execution failed", - }, - }, - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(false), - }, - }, - }, - }, - expectedAbort: true, - expectedErr: false, - }, - { - name: "TargetResult无执行错误,非异步调用,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusSuccess), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(false), - }, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "异步调用且状态为AsyncInvoking,应该中止并设置AsyncAbort", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(true), - }, - }, - }, - }, - expectedAbort: true, - expectedErr: false, - checkAsyncAbort: true, - }, - { - name: "异步调用但状态不是AsyncInvoking,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusSuccess), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(true), - }, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "非异步调用但状态为AsyncInvoking,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(false), - }, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "Experiment为nil,AsyncCallTarget返回false,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: nil, - expectedAbort: false, - expectedErr: false, - }, - { - name: "Experiment.Target为nil,AsyncCallTarget返回false,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: &Experiment{ - Target: nil, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "Experiment.Target.EvalTargetVersion为nil,AsyncCallTarget返回false,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: nil, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "Experiment.Target.EvalTargetVersion.CustomRPCServer为nil,AsyncCallTarget返回false,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: gptr.Of(EvalTargetRunStatusAsyncInvoking), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: nil, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "EvalTargetOutputData为nil,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: nil, - Status: gptr.Of(EvalTargetRunStatusSuccess), - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(false), - }, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - { - name: "Status为nil,不应该中止", - turnRunResult: &ExptTurnRunResult{ - TargetResult: &EvalTargetRecord{ - EvalTargetOutputData: &EvalTargetOutputData{ - EvalTargetRunError: nil, - }, - Status: nil, - }, - }, - experiment: &Experiment{ - Target: &EvalTarget{ - EvalTargetVersion: &EvalTargetVersion{ - CustomRPCServer: &CustomRPCServer{ - IsAsync: gptr.Of(true), - }, - }, - }, - }, - expectedAbort: false, - expectedErr: false, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - // 执行测试 - result := tt.turnRunResult.AbortWithTargetResult(tt.experiment) - - // 验证返回值 - assert.Equal(t, tt.expectedAbort, result) - - // 验证错误设置 - if tt.expectedErr { - assert.Error(t, tt.turnRunResult.GetEvalErr()) - if tt.expectedErrMsg != "" { - assert.Contains(t, tt.turnRunResult.GetEvalErr().Error(), tt.expectedErrMsg) - } - // 验证错误码 - statusErr, ok := errorx.FromStatusError(tt.turnRunResult.GetEvalErr()) - assert.True(t, ok) - assert.Equal(t, int32(errno.CommonInternalErrorCode), statusErr.Code()) - } else { - assert.NoError(t, tt.turnRunResult.GetEvalErr()) - } - - // 验证AsyncAbort设置 - if tt.checkAsyncAbort { - assert.True(t, tt.turnRunResult.AsyncAbort) - } else { - assert.False(t, tt.turnRunResult.AsyncAbort) - } - }) - } -} - -func TestExptTurnRunResult_SetEvalErr(t *testing.T) { - tests := []struct { - name string - err error - expected error - }{ - { - name: "设置nil错误", - err: nil, - expected: nil, - }, - { - name: "设置非nil错误", - err: errorx.New("test error"), - expected: errorx.New("test error"), - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := &ExptTurnRunResult{} - result.SetEvalErr(tt.err) - - if tt.expected == nil { - assert.Nil(t, result.GetEvalErr()) - } else { - assert.NotNil(t, result.GetEvalErr()) - assert.Contains(t, result.GetEvalErr().Error(), "test error") - } - }) - } -} - -func TestExptTurnRunResult_SetTargetResult(t *testing.T) { - tests := []struct { - name string - targetResult *EvalTargetRecord - expected *EvalTargetRecord - }{ - { - name: "设置nil TargetResult", - targetResult: nil, - expected: nil, - }, - { - name: "设置非nil TargetResult", - targetResult: &EvalTargetRecord{ - ID: 123, - SpaceID: 456, - }, - expected: &EvalTargetRecord{ - ID: 123, - SpaceID: 456, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := &ExptTurnRunResult{} - returned := result.SetTargetResult(tt.targetResult) - - // 验证返回值是同一个实例 - assert.Equal(t, result, returned) - - // 验证TargetResult被正确设置 - assert.Equal(t, tt.expected, result.TargetResult) - }) - } -} - -func TestExptTurnRunResult_SetEvaluatorResults(t *testing.T) { - tests := []struct { - name string - evaluatorResults map[int64]*EvaluatorRecord - expected map[int64]*EvaluatorRecord - }{ - { - name: "设置nil EvaluatorResults", - evaluatorResults: nil, - expected: nil, - }, - { - name: "设置非nil EvaluatorResults", - evaluatorResults: map[int64]*EvaluatorRecord{ - 1: {ID: 100, EvaluatorVersionID: 1}, - 2: {ID: 200, EvaluatorVersionID: 2}, - }, - expected: map[int64]*EvaluatorRecord{ - 1: {ID: 100, EvaluatorVersionID: 1}, - 2: {ID: 200, EvaluatorVersionID: 2}, - }, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := &ExptTurnRunResult{} - returned := result.SetEvaluatorResults(tt.evaluatorResults) - - // 验证返回值是同一个实例 - assert.Equal(t, result, returned) - - // 验证EvaluatorResults被正确设置 - assert.Equal(t, tt.expected, result.EvaluatorResults) - }) - } -} - -func TestExptTurnRunResult_GetEvaluatorRecord(t *testing.T) { - tests := []struct { - name string - turnRunResult *ExptTurnRunResult - evaluatorVersionID int64 - expected *EvaluatorRecord - }{ - { - name: "ExptTurnRunResult为nil", - turnRunResult: nil, - evaluatorVersionID: 1, - expected: nil, - }, - { - name: "EvaluatorResults为nil", - turnRunResult: &ExptTurnRunResult{ - EvaluatorResults: nil, - }, - evaluatorVersionID: 1, - expected: nil, - }, - { - name: "EvaluatorResults为空map", - turnRunResult: &ExptTurnRunResult{ - EvaluatorResults: map[int64]*EvaluatorRecord{}, - }, - evaluatorVersionID: 1, - expected: nil, - }, - { - name: "找到对应的EvaluatorRecord", - turnRunResult: &ExptTurnRunResult{ - EvaluatorResults: map[int64]*EvaluatorRecord{ - 1: {ID: 100, EvaluatorVersionID: 1}, - 2: {ID: 200, EvaluatorVersionID: 2}, - }, - }, - evaluatorVersionID: 1, - expected: &EvaluatorRecord{ID: 100, EvaluatorVersionID: 1}, - }, - { - name: "找不到对应的EvaluatorRecord", - turnRunResult: &ExptTurnRunResult{ - EvaluatorResults: map[int64]*EvaluatorRecord{ - 1: {ID: 100, EvaluatorVersionID: 1}, - 2: {ID: 200, EvaluatorVersionID: 2}, - }, - }, - evaluatorVersionID: 3, - expected: nil, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result *EvaluatorRecord - if tt.turnRunResult != nil { - result = tt.turnRunResult.GetEvaluatorRecord(tt.evaluatorVersionID) - } else { - result = (*ExptTurnRunResult)(nil).GetEvaluatorRecord(tt.evaluatorVersionID) - } - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestExptItemEvalConf_GetConcurNum(t *testing.T) { - tests := []struct { - name string - conf *ExptItemEvalConf - expected int - }{ - { - name: "conf为nil,返回默认值", - conf: nil, - expected: defaultItemEvalConcurNum, - }, - { - name: "ConcurNum为0,返回默认值", - conf: &ExptItemEvalConf{ConcurNum: 0}, - expected: defaultItemEvalConcurNum, - }, - { - name: "ConcurNum为负数,返回默认值", - conf: &ExptItemEvalConf{ConcurNum: -1}, - expected: defaultItemEvalConcurNum, - }, - { - name: "ConcurNum为正数,返回设置值", - conf: &ExptItemEvalConf{ConcurNum: 5}, - expected: 5, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result int - if tt.conf != nil { - result = tt.conf.GetConcurNum() - } else { - result = (*ExptItemEvalConf)(nil).GetConcurNum() - } - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestExptItemEvalConf_GetInterval(t *testing.T) { - tests := []struct { - name string - conf *ExptItemEvalConf - expected time.Duration - }{ - { - name: "conf为nil,返回默认值", - conf: nil, - expected: defaultItemEvalInterval, - }, - { - name: "IntervalSecond为0,返回默认值", - conf: &ExptItemEvalConf{IntervalSecond: 0}, - expected: defaultItemEvalInterval, - }, - { - name: "IntervalSecond为负数,返回默认值", - conf: &ExptItemEvalConf{IntervalSecond: -1}, - expected: defaultItemEvalInterval, - }, - { - name: "IntervalSecond为正数,返回设置值", - conf: &ExptItemEvalConf{IntervalSecond: 30}, - expected: 30 * time.Second, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result time.Duration - if tt.conf != nil { - result = tt.conf.GetInterval() - } else { - result = (*ExptItemEvalConf)(nil).GetInterval() - } - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestExptItemEvalConf_getZombieSecond(t *testing.T) { - tests := []struct { - name string - conf *ExptItemEvalConf - expected int - }{ - { - name: "conf为nil,返回默认值", - conf: nil, - expected: defaultItemZombieSecond, - }, - { - name: "ZombieSecond为0,返回默认值", - conf: &ExptItemEvalConf{ZombieSecond: 0}, - expected: defaultItemZombieSecond, - }, - { - name: "ZombieSecond为负数,返回默认值", - conf: &ExptItemEvalConf{ZombieSecond: -1}, - expected: defaultItemZombieSecond, - }, - { - name: "ZombieSecond为正数,返回设置值", - conf: &ExptItemEvalConf{ZombieSecond: 1800}, - expected: 1800, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result int - if tt.conf != nil { - result = tt.conf.getZombieSecond() - } else { - result = (*ExptItemEvalConf)(nil).getZombieSecond() - } - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestExptItemEvalConf_getAsyncZombieSecond(t *testing.T) { - tests := []struct { - name string - conf *ExptItemEvalConf - expected int - }{ - { - name: "conf为nil,返回默认值", - conf: nil, - expected: defaultItemAsyncZombieSecond, - }, - { - name: "AsyncZombieSecond为0,返回默认值", - conf: &ExptItemEvalConf{AsyncZombieSecond: 0}, - expected: defaultItemAsyncZombieSecond, - }, - { - name: "AsyncZombieSecond为负数,返回默认值", - conf: &ExptItemEvalConf{AsyncZombieSecond: -1}, - expected: defaultItemAsyncZombieSecond, - }, - { - name: "AsyncZombieSecond为正数,返回设置值", - conf: &ExptItemEvalConf{AsyncZombieSecond: 7200}, - expected: 7200, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result int - if tt.conf != nil { - result = tt.conf.getAsyncZombieSecond() - } else { - result = (*ExptItemEvalConf)(nil).getAsyncZombieSecond() - } - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestExptItemEvalConf_GetItemZombieSecond(t *testing.T) { - tests := []struct { - name string - conf *ExptItemEvalConf - isAsync bool - expected int - }{ - { - name: "conf为nil,isAsync为false,返回同步默认值", - conf: nil, - isAsync: false, - expected: defaultItemZombieSecond, - }, - { - name: "conf为nil,isAsync为true,返回异步默认值", - conf: nil, - isAsync: true, - expected: defaultItemAsyncZombieSecond, - }, - { - name: "conf有值,isAsync为false,返回同步设置值", - conf: &ExptItemEvalConf{ZombieSecond: 1800, AsyncZombieSecond: 7200}, - isAsync: false, - expected: 1800, - }, - { - name: "conf有值,isAsync为true,返回异步设置值", - conf: &ExptItemEvalConf{ZombieSecond: 1800, AsyncZombieSecond: 7200}, - isAsync: true, - expected: 7200, - }, - { - name: "conf有值但ZombieSecond为0,isAsync为false,返回同步默认值", - conf: &ExptItemEvalConf{ZombieSecond: 0, AsyncZombieSecond: 7200}, - isAsync: false, - expected: defaultItemZombieSecond, - }, - { - name: "conf有值但AsyncZombieSecond为0,isAsync为true,返回异步默认值", - conf: &ExptItemEvalConf{ZombieSecond: 1800, AsyncZombieSecond: 0}, - isAsync: true, - expected: defaultItemAsyncZombieSecond, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - var result int - if tt.conf != nil { - result = tt.conf.GetItemZombieSecond(tt.isAsync) - } else { - result = (*ExptItemEvalConf)(nil).GetItemZombieSecond(tt.isAsync) - } - assert.Equal(t, tt.expected, result) - }) - } -} diff --git a/backend/modules/evaluation/domain/entity/param.go b/backend/modules/evaluation/domain/entity/param.go index d937505a6..5a2c892e3 100644 --- a/backend/modules/evaluation/domain/entity/param.go +++ b/backend/modules/evaluation/domain/entity/param.go @@ -85,11 +85,8 @@ type BatchGetEvaluationSetVersionsResult struct { type Option func(option *Opt) type Opt struct { - PublishVersion *string - BotInfoType CozeBotInfoType - CustomEvalTarget *CustomEvalTarget - Region *Region - Env *string + PublishVersion *string + BotInfoType CozeBotInfoType } func WithCozeBotPublishVersion(publishVersion *string) Option { @@ -104,24 +101,6 @@ func WithCozeBotInfoType(botInfoType CozeBotInfoType) Option { } } -func WithCustomEvalTarget(customTarget *CustomEvalTarget) Option { - return func(option *Opt) { - option.CustomEvalTarget = customTarget - } -} - -func WithRegion(region *Region) Option { - return func(option *Opt) { - option.Region = region - } -} - -func WithEnv(env *string) Option { - return func(option *Opt) { - option.Env = env - } -} - type ExecuteEvalTargetParam struct { TargetID int64 VersionID int64 @@ -279,29 +258,3 @@ type LLMCallParam struct { ToolCallConfig *ToolCallConfig ModelConfig *ModelConfig } - -type SearchCustomEvalTargetParam struct { - WorkspaceID *int64 - Keyword *string - ApplicationID *int64 - CustomRPCServer *CustomRPCServer - Region *Region - Env *string - PageSize *int32 - PageToken *string -} - -type ReportTargetRecordParam struct { - SpaceID int64 - RecordID int64 - Status EvalTargetRunStatus - OutputData *EvalTargetOutputData - - Session *Session -} - -type DebugTargetParam struct { - SpaceID int64 - PatchyTarget *EvalTarget - InputData *EvalTargetInputData -} diff --git a/backend/modules/evaluation/domain/entity/target.go b/backend/modules/evaluation/domain/entity/target.go index 10f4db082..9a80e7bf7 100644 --- a/backend/modules/evaluation/domain/entity/target.go +++ b/backend/modules/evaluation/domain/entity/target.go @@ -29,7 +29,6 @@ type EvalTargetVersion struct { Prompt *LoopPrompt CozeWorkflow *CozeWorkflow VolcengineAgent *VolcengineAgent - CustomRPCServer *CustomRPCServer InputSchema []*ArgsSchema OutputSchema []*ArgsSchema @@ -51,8 +50,6 @@ const ( EvalTargetTypeCozeWorkflow EvalTargetType = 4 // 火山智能体 EvalTargetTypeVolcengineAgent EvalTargetType = 5 - // 自定义服务 for内场 - EvalTargetTypeCustomRPCServer EvalTargetType = 6 ) func (p EvalTargetType) String() string { @@ -67,8 +64,6 @@ func (p EvalTargetType) String() string { return "CozeWorkflow" case EvalTargetTypeVolcengineAgent: return "VolcengineAgent" - case EvalTargetTypeCustomRPCServer: - return "CustomRPCServer" } return "" } diff --git a/backend/modules/evaluation/domain/entity/target_builtin_custom_rpc_server.go b/backend/modules/evaluation/domain/entity/target_builtin_custom_rpc_server.go deleted file mode 100644 index facb42d8c..000000000 --- a/backend/modules/evaluation/domain/entity/target_builtin_custom_rpc_server.go +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package entity - -type CustomRPCServer struct { - // 应用ID - ID int64 - // DTO使用,不存数据库 - Name string `json:"-"` - // DTO使用,不存数据库 - Description string `json:"-"` - // 注意以下信息会存储到DB,也就是说实验创建时以下内容就确定了,运行时直接从评测DB中获取,而不是实时从app模块拉 - ServerName string - // 接入协议 - AccessProtocol AccessProtocol - Regions []Region - Cluster string - // 执行http信息 - InvokeHTTPInfo *HTTPInfo - // 异步执行http信息,如果用户选了异步就传入这个字段 - AsyncInvokeHTTPInfo *HTTPInfo - // 是否需要搜索对象 - NeedSearchTarget *bool - // 搜索对象http信息 - SearchHTTPInfo *HTTPInfo - // 搜索对象返回的信息 - CustomEvalTarget *CustomEvalTarget - // 是否异步 - IsAsync *bool - // 额外信息 - Ext map[string]string - - ExecRegion Region // 执行区域 - ExecEnv *string // 执行环境 - Timeout *int64 // 执行超时,单位ms - AsyncTimeout *int64 // 执行超时,单位ms -} - -type HTTPInfo struct { - Method HTTPMethod - Path string -} - -type CustomEvalTarget struct { - // 唯一键,平台不消费,仅做透传 - ID *string - // 名称,平台用于展示在对象搜索下拉列表 - Name *string - // 头像url,平台用于展示在对象搜索下拉列表 - AvatarURL *string - // 扩展字段,目前主要存储旧版协议response中的额外字段:object_type(旧版ID)、object_meta、space_id - Ext map[string]string -} - -type Region = string - -const ( - RegionBOE = "boe" - RegionCN = "cn" - RegionI18N = "i18n" -) - -type AccessProtocol = string - -const ( - AccessProtocolRPC = "rpc" - AccessProtocolRPCOld = "rpc_old" - AccessProtocolFaasHTTP = "faas_http" - AccessProtocolFaasHTTPOld = "faas_http_old" -) - -type HTTPMethod = string - -const ( - HTTPMethodGet = "get" - HTTPMethodPost = "post" -) diff --git a/backend/modules/evaluation/domain/entity/target_record.go b/backend/modules/evaluation/domain/entity/target_record.go index ee726bcf0..0dd42ae1c 100644 --- a/backend/modules/evaluation/domain/entity/target_record.go +++ b/backend/modules/evaluation/domain/entity/target_record.go @@ -104,10 +104,9 @@ type EvalTargetRunError struct { type EvalTargetRunStatus int64 const ( - EvalTargetRunStatusUnknown EvalTargetRunStatus = 0 - EvalTargetRunStatusSuccess EvalTargetRunStatus = 1 - EvalTargetRunStatusFail EvalTargetRunStatus = 2 - EvalTargetRunStatusAsyncInvoking EvalTargetRunStatus = 3 + EvalTargetRunStatusUnknown EvalTargetRunStatus = 0 + EvalTargetRunStatusSuccess EvalTargetRunStatus = 1 + EvalTargetRunStatusFail EvalTargetRunStatus = 2 ) type ExecuteTargetCtx struct { diff --git a/backend/modules/evaluation/domain/repo/expt.go b/backend/modules/evaluation/domain/repo/expt.go index 430fbe89e..fd6c04f25 100644 --- a/backend/modules/evaluation/domain/repo/expt.go +++ b/backend/modules/evaluation/domain/repo/expt.go @@ -10,7 +10,7 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" ) -//go:generate mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo,IEvalAsyncRepo,IExptInsightAnalysisRecordRepo +//go:generate mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo,IExptInsightAnalysisRecordRepo type IExperimentRepo interface { Create(ctx context.Context, expt *entity.Experiment, exptEvaluatorRefs []*entity.ExptEvaluatorRef) error Update(ctx context.Context, expt *entity.Experiment) error @@ -135,10 +135,6 @@ type IExptResultExportRecordRepo interface { Get(ctx context.Context, spaceID, exportID int64) (*entity.ExptResultExportRecord, error) } -type IEvalAsyncRepo interface { - GetEvalAsyncCtx(ctx context.Context, invokeID string) (*entity.EvalAsyncCtx, error) - SetEvalAsyncCtx(ctx context.Context, invokeID string, actx *entity.EvalAsyncCtx) error -} type IExptInsightAnalysisRecordRepo interface { CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) (int64, error) UpdateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error diff --git a/backend/modules/evaluation/domain/repo/mocks/expt.go b/backend/modules/evaluation/domain/repo/mocks/expt.go index fef44d66c..eeff4bb2d 100644 --- a/backend/modules/evaluation/domain/repo/mocks/expt.go +++ b/backend/modules/evaluation/domain/repo/mocks/expt.go @@ -1,9 +1,9 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo (interfaces: IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo,IEvalAsyncRepo,IExptInsightAnalysisRecordRepo) +// Source: github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo (interfaces: IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo) // // Generated by this command: // -// mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo,IEvalAsyncRepo,IExptInsightAnalysisRecordRepo +// mockgen -destination ./mocks/expt.go --package mocks . IExperimentRepo,IExptStatsRepo,IExptItemResultRepo,IExptTurnResultRepo,IExptRunLogRepo,IExptAggrResultRepo,QuotaRepo,IExptTurnResultFilterRepo,IExptAnnotateRepo,IExptResultExportRecordRepo // // Package mocks is a generated GoMock package. @@ -1604,64 +1604,10 @@ func (mr *MockIExptResultExportRecordRepoMockRecorder) Update(ctx, exportRecord return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockIExptResultExportRecordRepo)(nil).Update), varargs...) } -// MockIEvalAsyncRepo is a mock of IEvalAsyncRepo interface. -type MockIEvalAsyncRepo struct { - ctrl *gomock.Controller - recorder *MockIEvalAsyncRepoMockRecorder - isgomock struct{} -} - -// MockIEvalAsyncRepoMockRecorder is the mock recorder for MockIEvalAsyncRepo. -type MockIEvalAsyncRepoMockRecorder struct { - mock *MockIEvalAsyncRepo -} - -// NewMockIEvalAsyncRepo creates a new mock instance. -func NewMockIEvalAsyncRepo(ctrl *gomock.Controller) *MockIEvalAsyncRepo { - mock := &MockIEvalAsyncRepo{ctrl: ctrl} - mock.recorder = &MockIEvalAsyncRepoMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockIEvalAsyncRepo) EXPECT() *MockIEvalAsyncRepoMockRecorder { - return m.recorder -} - -// GetEvalAsyncCtx mocks base method. -func (m *MockIEvalAsyncRepo) GetEvalAsyncCtx(ctx context.Context, invokeID string) (*entity.EvalAsyncCtx, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetEvalAsyncCtx", ctx, invokeID) - ret0, _ := ret[0].(*entity.EvalAsyncCtx) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetEvalAsyncCtx indicates an expected call of GetEvalAsyncCtx. -func (mr *MockIEvalAsyncRepoMockRecorder) GetEvalAsyncCtx(ctx, invokeID any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetEvalAsyncCtx", reflect.TypeOf((*MockIEvalAsyncRepo)(nil).GetEvalAsyncCtx), ctx, invokeID) -} - -// SetEvalAsyncCtx mocks base method. -func (m *MockIEvalAsyncRepo) SetEvalAsyncCtx(ctx context.Context, invokeID string, actx *entity.EvalAsyncCtx) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SetEvalAsyncCtx", ctx, invokeID, actx) - ret0, _ := ret[0].(error) - return ret0 -} - -// SetEvalAsyncCtx indicates an expected call of SetEvalAsyncCtx. -func (mr *MockIEvalAsyncRepoMockRecorder) SetEvalAsyncCtx(ctx, invokeID, actx any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetEvalAsyncCtx", reflect.TypeOf((*MockIEvalAsyncRepo)(nil).SetEvalAsyncCtx), ctx, invokeID, actx) -} - // MockIExptInsightAnalysisRecordRepo is a mock of IExptInsightAnalysisRecordRepo interface. type MockIExptInsightAnalysisRecordRepo struct { ctrl *gomock.Controller recorder *MockIExptInsightAnalysisRecordRepoMockRecorder - isgomock struct{} } // MockIExptInsightAnalysisRecordRepoMockRecorder is the mock recorder for MockIExptInsightAnalysisRecordRepo. @@ -1682,9 +1628,9 @@ func (m *MockIExptInsightAnalysisRecordRepo) EXPECT() *MockIExptInsightAnalysisR } // CountFeedbackVote mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) CountFeedbackVote(ctx context.Context, spaceID, exptID, recordID int64) (int64, int64, error) { +func (m *MockIExptInsightAnalysisRecordRepo) CountFeedbackVote(arg0 context.Context, arg1, arg2, arg3 int64) (int64, int64, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CountFeedbackVote", ctx, spaceID, exptID, recordID) + ret := m.ctrl.Call(m, "CountFeedbackVote", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(int64) ret1, _ := ret[1].(int64) ret2, _ := ret[2].(error) @@ -1692,16 +1638,16 @@ func (m *MockIExptInsightAnalysisRecordRepo) CountFeedbackVote(ctx context.Conte } // CountFeedbackVote indicates an expected call of CountFeedbackVote. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CountFeedbackVote(ctx, spaceID, exptID, recordID any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CountFeedbackVote(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CountFeedbackVote), ctx, spaceID, exptID, recordID) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CountFeedbackVote), arg0, arg1, arg2, arg3) } // CreateAnalysisRecord mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) CreateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) (int64, error) { +func (m *MockIExptInsightAnalysisRecordRepo) CreateAnalysisRecord(arg0 context.Context, arg1 *entity.ExptInsightAnalysisRecord, arg2 ...db.Option) (int64, error) { m.ctrl.T.Helper() - varargs := []any{ctx, record} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateAnalysisRecord", varargs...) @@ -1711,17 +1657,17 @@ func (m *MockIExptInsightAnalysisRecordRepo) CreateAnalysisRecord(ctx context.Co } // CreateAnalysisRecord indicates an expected call of CreateAnalysisRecord. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateAnalysisRecord(ctx, record any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateAnalysisRecord(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, record}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateAnalysisRecord), varargs...) } // CreateFeedbackComment mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { +func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackComment(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { m.ctrl.T.Helper() - varargs := []any{ctx, feedbackComment} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateFeedbackComment", varargs...) @@ -1730,17 +1676,17 @@ func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackComment(ctx context.C } // CreateFeedbackComment indicates an expected call of CreateFeedbackComment. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackComment(ctx, feedbackComment any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackComment(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, feedbackComment}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateFeedbackComment), varargs...) } // CreateFeedbackVote mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { +func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackVote(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { m.ctrl.T.Helper() - varargs := []any{ctx, feedbackVote} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "CreateFeedbackVote", varargs...) @@ -1749,60 +1695,60 @@ func (m *MockIExptInsightAnalysisRecordRepo) CreateFeedbackVote(ctx context.Cont } // CreateFeedbackVote indicates an expected call of CreateFeedbackVote. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackVote(ctx, feedbackVote any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) CreateFeedbackVote(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, feedbackVote}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).CreateFeedbackVote), varargs...) } // DeleteAnalysisRecord mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) DeleteAnalysisRecord(ctx context.Context, spaceID, exptID, recordID int64) error { +func (m *MockIExptInsightAnalysisRecordRepo) DeleteAnalysisRecord(arg0 context.Context, arg1, arg2, arg3 int64) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteAnalysisRecord", ctx, spaceID, exptID, recordID) + ret := m.ctrl.Call(m, "DeleteAnalysisRecord", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(error) return ret0 } // DeleteAnalysisRecord indicates an expected call of DeleteAnalysisRecord. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteAnalysisRecord(ctx, spaceID, exptID, recordID any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteAnalysisRecord(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteAnalysisRecord), ctx, spaceID, exptID, recordID) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteAnalysisRecord), arg0, arg1, arg2, arg3) } // DeleteFeedbackComment mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) DeleteFeedbackComment(ctx context.Context, spaceID, exptID, commentID int64) error { +func (m *MockIExptInsightAnalysisRecordRepo) DeleteFeedbackComment(arg0 context.Context, arg1, arg2, arg3 int64) error { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DeleteFeedbackComment", ctx, spaceID, exptID, commentID) + ret := m.ctrl.Call(m, "DeleteFeedbackComment", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(error) return ret0 } // DeleteFeedbackComment indicates an expected call of DeleteFeedbackComment. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteFeedbackComment(ctx, spaceID, exptID, commentID any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) DeleteFeedbackComment(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteFeedbackComment), ctx, spaceID, exptID, commentID) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).DeleteFeedbackComment), arg0, arg1, arg2, arg3) } // GetAnalysisRecordByID mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) GetAnalysisRecordByID(ctx context.Context, spaceID, exptID, recordID int64) (*entity.ExptInsightAnalysisRecord, error) { +func (m *MockIExptInsightAnalysisRecordRepo) GetAnalysisRecordByID(arg0 context.Context, arg1, arg2, arg3 int64) (*entity.ExptInsightAnalysisRecord, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAnalysisRecordByID", ctx, spaceID, exptID, recordID) + ret := m.ctrl.Call(m, "GetAnalysisRecordByID", arg0, arg1, arg2, arg3) ret0, _ := ret[0].(*entity.ExptInsightAnalysisRecord) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAnalysisRecordByID indicates an expected call of GetAnalysisRecordByID. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetAnalysisRecordByID(ctx, spaceID, exptID, recordID any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetAnalysisRecordByID(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnalysisRecordByID", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetAnalysisRecordByID), ctx, spaceID, exptID, recordID) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnalysisRecordByID", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetAnalysisRecordByID), arg0, arg1, arg2, arg3) } // GetFeedbackCommentByRecordID mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackCommentByRecordID(ctx context.Context, spaceID, exptID, recordID int64, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackComment, error) { +func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackCommentByRecordID(arg0 context.Context, arg1, arg2, arg3 int64, arg4 ...db.Option) (*entity.ExptInsightAnalysisFeedbackComment, error) { m.ctrl.T.Helper() - varargs := []any{ctx, spaceID, exptID, recordID} - for _, a := range opts { + varargs := []interface{}{arg0, arg1, arg2, arg3} + for _, a := range arg4 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetFeedbackCommentByRecordID", varargs...) @@ -1812,17 +1758,17 @@ func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackCommentByRecordID(ctx co } // GetFeedbackCommentByRecordID indicates an expected call of GetFeedbackCommentByRecordID. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackCommentByRecordID(ctx, spaceID, exptID, recordID any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackCommentByRecordID(arg0, arg1, arg2, arg3 interface{}, arg4 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, spaceID, exptID, recordID}, opts...) + varargs := append([]interface{}{arg0, arg1, arg2, arg3}, arg4...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeedbackCommentByRecordID", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetFeedbackCommentByRecordID), varargs...) } // GetFeedbackVoteByUser mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackVoteByUser(ctx context.Context, spaceID, exptID, recordID int64, userID string, opts ...db.Option) (*entity.ExptInsightAnalysisFeedbackVote, error) { +func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackVoteByUser(arg0 context.Context, arg1, arg2, arg3 int64, arg4 string, arg5 ...db.Option) (*entity.ExptInsightAnalysisFeedbackVote, error) { m.ctrl.T.Helper() - varargs := []any{ctx, spaceID, exptID, recordID, userID} - for _, a := range opts { + varargs := []interface{}{arg0, arg1, arg2, arg3, arg4} + for _, a := range arg5 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "GetFeedbackVoteByUser", varargs...) @@ -1832,16 +1778,16 @@ func (m *MockIExptInsightAnalysisRecordRepo) GetFeedbackVoteByUser(ctx context.C } // GetFeedbackVoteByUser indicates an expected call of GetFeedbackVoteByUser. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackVoteByUser(ctx, spaceID, exptID, recordID, userID any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) GetFeedbackVoteByUser(arg0, arg1, arg2, arg3, arg4 interface{}, arg5 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, spaceID, exptID, recordID, userID}, opts...) + varargs := append([]interface{}{arg0, arg1, arg2, arg3, arg4}, arg5...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFeedbackVoteByUser", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).GetFeedbackVoteByUser), varargs...) } // List mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) List(ctx context.Context, spaceID, exptID, recordID int64, page entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { +func (m *MockIExptInsightAnalysisRecordRepo) List(arg0 context.Context, arg1, arg2, arg3 int64, arg4 entity.Page) ([]*entity.ExptInsightAnalysisFeedbackComment, int64, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "List", ctx, spaceID, exptID, recordID, page) + ret := m.ctrl.Call(m, "List", arg0, arg1, arg2, arg3, arg4) ret0, _ := ret[0].([]*entity.ExptInsightAnalysisFeedbackComment) ret1, _ := ret[1].(int64) ret2, _ := ret[2].(error) @@ -1849,15 +1795,15 @@ func (m *MockIExptInsightAnalysisRecordRepo) List(ctx context.Context, spaceID, } // List indicates an expected call of List. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) List(ctx, spaceID, exptID, recordID, page any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) List(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).List), ctx, spaceID, exptID, recordID, page) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "List", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).List), arg0, arg1, arg2, arg3, arg4) } // ListAnalysisRecord mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) ListAnalysisRecord(ctx context.Context, spaceID, exptID int64, page entity.Page) ([]*entity.ExptInsightAnalysisRecord, int64, error) { +func (m *MockIExptInsightAnalysisRecordRepo) ListAnalysisRecord(arg0 context.Context, arg1, arg2 int64, arg3 entity.Page) ([]*entity.ExptInsightAnalysisRecord, int64, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListAnalysisRecord", ctx, spaceID, exptID, page) + ret := m.ctrl.Call(m, "ListAnalysisRecord", arg0, arg1, arg2, arg3) ret0, _ := ret[0].([]*entity.ExptInsightAnalysisRecord) ret1, _ := ret[1].(int64) ret2, _ := ret[2].(error) @@ -1865,16 +1811,16 @@ func (m *MockIExptInsightAnalysisRecordRepo) ListAnalysisRecord(ctx context.Cont } // ListAnalysisRecord indicates an expected call of ListAnalysisRecord. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) ListAnalysisRecord(ctx, spaceID, exptID, page any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) ListAnalysisRecord(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).ListAnalysisRecord), ctx, spaceID, exptID, page) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).ListAnalysisRecord), arg0, arg1, arg2, arg3) } // UpdateAnalysisRecord mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) UpdateAnalysisRecord(ctx context.Context, record *entity.ExptInsightAnalysisRecord, opts ...db.Option) error { +func (m *MockIExptInsightAnalysisRecordRepo) UpdateAnalysisRecord(arg0 context.Context, arg1 *entity.ExptInsightAnalysisRecord, arg2 ...db.Option) error { m.ctrl.T.Helper() - varargs := []any{ctx, record} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateAnalysisRecord", varargs...) @@ -1883,17 +1829,17 @@ func (m *MockIExptInsightAnalysisRecordRepo) UpdateAnalysisRecord(ctx context.Co } // UpdateAnalysisRecord indicates an expected call of UpdateAnalysisRecord. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateAnalysisRecord(ctx, record any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateAnalysisRecord(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, record}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateAnalysisRecord", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateAnalysisRecord), varargs...) } // UpdateFeedbackComment mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackComment(ctx context.Context, feedbackComment *entity.ExptInsightAnalysisFeedbackComment, opts ...db.Option) error { +func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackComment(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackComment, arg2 ...db.Option) error { m.ctrl.T.Helper() - varargs := []any{ctx, feedbackComment} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateFeedbackComment", varargs...) @@ -1902,17 +1848,17 @@ func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackComment(ctx context.C } // UpdateFeedbackComment indicates an expected call of UpdateFeedbackComment. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackComment(ctx, feedbackComment any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackComment(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, feedbackComment}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFeedbackComment", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateFeedbackComment), varargs...) } // UpdateFeedbackVote mocks base method. -func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackVote(ctx context.Context, feedbackVote *entity.ExptInsightAnalysisFeedbackVote, opts ...db.Option) error { +func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackVote(arg0 context.Context, arg1 *entity.ExptInsightAnalysisFeedbackVote, arg2 ...db.Option) error { m.ctrl.T.Helper() - varargs := []any{ctx, feedbackVote} - for _, a := range opts { + varargs := []interface{}{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UpdateFeedbackVote", varargs...) @@ -1921,8 +1867,8 @@ func (m *MockIExptInsightAnalysisRecordRepo) UpdateFeedbackVote(ctx context.Cont } // UpdateFeedbackVote indicates an expected call of UpdateFeedbackVote. -func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackVote(ctx, feedbackVote any, opts ...any) *gomock.Call { +func (mr *MockIExptInsightAnalysisRecordRepoMockRecorder) UpdateFeedbackVote(arg0, arg1 interface{}, arg2 ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, feedbackVote}, opts...) + varargs := append([]interface{}{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateFeedbackVote", reflect.TypeOf((*MockIExptInsightAnalysisRecordRepo)(nil).UpdateFeedbackVote), varargs...) } diff --git a/backend/modules/evaluation/domain/repo/mocks/target.go b/backend/modules/evaluation/domain/repo/mocks/target.go index 849226eec..46cd5b019 100644 --- a/backend/modules/evaluation/domain/repo/mocks/target.go +++ b/backend/modules/evaluation/domain/repo/mocks/target.go @@ -3,7 +3,7 @@ // // Generated by this command: // -// mockgen -destination=mocks/target.go -package=mocks . IEvalTargetRepo +// mockgen -destination=modules/evaluation/domain/repo/mocks/target.go -package=mocks github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo IEvalTargetRepo // // Package mocks is a generated GoMock package. @@ -192,17 +192,3 @@ func (mr *MockIEvalTargetRepoMockRecorder) ListEvalTargetRecordByIDsAndSpaceID(c mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListEvalTargetRecordByIDsAndSpaceID", reflect.TypeOf((*MockIEvalTargetRepo)(nil).ListEvalTargetRecordByIDsAndSpaceID), ctx, spaceID, recordIDs) } - -// SaveEvalTargetRecord mocks base method. -func (m *MockIEvalTargetRepo) SaveEvalTargetRecord(ctx context.Context, record *entity.EvalTargetRecord) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SaveEvalTargetRecord", ctx, record) - ret0, _ := ret[0].(error) - return ret0 -} - -// SaveEvalTargetRecord indicates an expected call of SaveEvalTargetRecord. -func (mr *MockIEvalTargetRepoMockRecorder) SaveEvalTargetRecord(ctx, record any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SaveEvalTargetRecord", reflect.TypeOf((*MockIEvalTargetRepo)(nil).SaveEvalTargetRecord), ctx, record) -} diff --git a/backend/modules/evaluation/domain/repo/target.go b/backend/modules/evaluation/domain/repo/target.go index 677a0f229..f66eee90b 100644 --- a/backend/modules/evaluation/domain/repo/target.go +++ b/backend/modules/evaluation/domain/repo/target.go @@ -21,8 +21,7 @@ type IEvalTargetRepo interface { // target record start CreateEvalTargetRecord(ctx context.Context, record *entity.EvalTargetRecord) (int64, error) - SaveEvalTargetRecord(ctx context.Context, record *entity.EvalTargetRecord) error - GetEvalTargetRecordByIDAndSpaceID(ctx context.Context, spaceID int64, recordID int64) (*entity.EvalTargetRecord, error) + GetEvalTargetRecordByIDAndSpaceID(ctx context.Context, spaceID, recordID int64) (*entity.EvalTargetRecord, error) ListEvalTargetRecordByIDsAndSpaceID(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.EvalTargetRecord, error) // target record end } diff --git a/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl.go b/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl.go index 3ef228d46..8b15bc69a 100644 --- a/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl.go +++ b/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl.go @@ -366,8 +366,22 @@ type outputMsgFormat struct { // 优化后的正则表达式,支持 score 为 number 或 string 类型 var jsonRe = regexp.MustCompile(`\{(?s:.*?"score"\s*:\s*(?:"([\d.]+)"|([\d.]+)).*?"reason"\s*:\s*"((?:[^"\\]|\\.)*)".*?)}`) +// stripMarkdownCodeFence removes markdown code fence markers (```json, ```, etc.) from content +var codeFenceRe = regexp.MustCompile("(?s)^\\s*```(?:json)?\\s*\\n?(.+?)\\n?```\\s*$") + +func stripMarkdownCodeFence(content string) string { + if matches := codeFenceRe.FindStringSubmatch(content); len(matches) > 1 { + return matches[1] + } + return content +} + func parseContentOutput(ctx context.Context, evaluatorVersion *entity.PromptEvaluatorVersion, replyItem *entity.ReplyItem, output *entity.EvaluatorOutputData) error { content := gptr.Indirect(replyItem.Content) + + // Strip markdown code fences if present + content = stripMarkdownCodeFence(content) + var outputMsg outputMsgFormat b := []byte(content) diff --git a/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl_test.go b/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl_test.go index 83327acde..51caad0d2 100755 --- a/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl_test.go +++ b/backend/modules/evaluation/domain/service/evaluator_source_prompt_impl_test.go @@ -728,6 +728,43 @@ func TestParseOutput_ParseTypeContent(t *testing.T) { }) } +func Test_stripMarkdownCodeFence(t *testing.T) { + t.Run("标准markdown代码块", func(t *testing.T) { + input := "```json\n{\"score\": 0, \"reason\": \"test\"}\n```" + expected := "{\"score\": 0, \"reason\": \"test\"}" + result := stripMarkdownCodeFence(input) + assert.Equal(t, expected, result) + }) + + t.Run("不带语言标识的代码块", func(t *testing.T) { + input := "```\n{\"score\": 1}\n```" + expected := "{\"score\": 1}" + result := stripMarkdownCodeFence(input) + assert.Equal(t, expected, result) + }) + + t.Run("带前后空白的代码块", func(t *testing.T) { + input := " ```json\n{\"test\": true}\n``` " + expected := "{\"test\": true}" + result := stripMarkdownCodeFence(input) + assert.Equal(t, expected, result) + }) + + t.Run("不是代码块的普通文本", func(t *testing.T) { + input := "{\"score\": 0, \"reason\": \"test\"}" + expected := "{\"score\": 0, \"reason\": \"test\"}" + result := stripMarkdownCodeFence(input) + assert.Equal(t, expected, result) + }) + + t.Run("多行JSON内容", func(t *testing.T) { + input := "```json\n{\n \"reason\": \"测试\",\n \"score\": 0\n}\n```" + expected := "{\n \"reason\": \"测试\",\n \"score\": 0\n}" + result := stripMarkdownCodeFence(input) + assert.Equal(t, expected, result) + }) +} + func Test_parseContentOutput(t *testing.T) { // 公共测试设置 ctx := context.Background() @@ -871,6 +908,24 @@ func Test_parseContentOutput(t *testing.T) { assert.InDelta(t, 0.5, *output.EvaluatorResult.Score, 0.0001) assert.Equal(t, `This is a reason with a "quote" and a \ backslash.`, output.EvaluatorResult.Reasoning) }) + + t.Run("场景10: JSON被markdown代码块包裹且score为0", func(t *testing.T) { + // Arrange: 准备一个被markdown代码块包裹的JSON,score为0,包含中文 + content := "```json\n{\n \"reason\": \"模型输出"蠢猪"是一个带有强烈侮辱性和攻击性的词语。它不符合任何无争议或无可辩论性答案的标准,反而使用了煽动性语言,极易引发激烈的情绪反应和分歧。这完全违背了避免争议和辩论的原则。\",\n \"score\": 0\n}\n```" + replyItem := &entity.ReplyItem{Content: &content} + output := &entity.EvaluatorOutputData{ + EvaluatorResult: &entity.EvaluatorResult{}, + } + + // Act: 调用被测函数 + err := parseContentOutput(ctx, evaluatorVersion, replyItem, output) + + // Assert: 断言能够正确解析score为0的情况 + assert.NoError(t, err) + assert.NotNil(t, output.EvaluatorResult.Score) + assert.InDelta(t, 0.0, *output.EvaluatorResult.Score, 0.0001) + assert.Contains(t, output.EvaluatorResult.Reasoning, "模型输出"蠢猪"是一个带有强烈侮辱性和攻击性的词语") + }) } // TestEvaluatorSourcePromptServiceImpl_Run_DisableTracing 测试追踪控制核心逻辑 diff --git a/backend/modules/evaluation/domain/service/expt_manage_impl.go b/backend/modules/evaluation/domain/service/expt_manage_impl.go index 1f00cc59f..dce765194 100644 --- a/backend/modules/evaluation/domain/service/expt_manage_impl.go +++ b/backend/modules/evaluation/domain/service/expt_manage_impl.go @@ -481,21 +481,9 @@ func (e *ExptMangerImpl) CreateExpt(ctx context.Context, req *entity.CreateExptP var versionedTargetID *entity.VersionedTargetID if !req.CreateEvalTargetParam.IsNull() { - opts := make([]entity.Option, 0) - opts = append(opts, entity.WithCozeBotPublishVersion(req.CreateEvalTargetParam.BotPublishVersion), - entity.WithCozeBotInfoType(gptr.Indirect(req.CreateEvalTargetParam.BotInfoType)), - entity.WithRegion(req.CreateEvalTargetParam.Region), - entity.WithEnv(req.CreateEvalTargetParam.Env)) - if req.CreateEvalTargetParam.CustomEvalTarget != nil { - opts = append(opts, entity.WithCustomEvalTarget(&entity.CustomEvalTarget{ - ID: req.CreateEvalTargetParam.CustomEvalTarget.ID, - Name: req.CreateEvalTargetParam.CustomEvalTarget.Name, - AvatarURL: req.CreateEvalTargetParam.CustomEvalTarget.AvatarURL, - Ext: req.CreateEvalTargetParam.CustomEvalTarget.Ext, - })) - } targetID, targetVersionID, err := e.evalTargetService.CreateEvalTarget(ctx, req.WorkspaceID, gptr.Indirect(req.CreateEvalTargetParam.SourceTargetID), gptr.Indirect(req.CreateEvalTargetParam.SourceTargetVersion), gptr.Indirect(req.CreateEvalTargetParam.EvalTargetType), - opts...) + entity.WithCozeBotPublishVersion(req.CreateEvalTargetParam.BotPublishVersion), + entity.WithCozeBotInfoType(gptr.Indirect(req.CreateEvalTargetParam.BotInfoType))) if err != nil { return nil, errorx.Wrapf(err, "CreateEvalTarget failed, param: %v", json.Jsonify(req.CreateEvalTargetParam)) } diff --git a/backend/modules/evaluation/domain/service/expt_manage_impl_test.go b/backend/modules/evaluation/domain/service/expt_manage_impl_test.go index 04395717c..f54f187c4 100644 --- a/backend/modules/evaluation/domain/service/expt_manage_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_manage_impl_test.go @@ -147,7 +147,7 @@ func TestExptMangerImpl_CreateExpt(t *testing.T) { mgr.evalTargetService.(*svcMocks.MockIEvalTargetService). EXPECT(). - CreateEvalTarget(ctx, gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()). + CreateEvalTarget(ctx, gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()). Return(int64(100), int64(101), nil).AnyTimes() mgr.evalTargetService.(*svcMocks.MockIEvalTargetService). EXPECT(). diff --git a/backend/modules/evaluation/domain/service/expt_run_item_event_impl.go b/backend/modules/evaluation/domain/service/expt_run_item_event_impl.go index de8aa2f15..7c5f51a00 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_event_impl.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_event_impl.go @@ -51,7 +51,6 @@ type ExptItemEventEvalServiceImpl struct { evaluatorRecordService EvaluatorRecordService idgen idgen.IIDGenerator benefitService benefit.IBenefitService - evalAsyncRepo repo.IEvalAsyncRepo } func NewExptRecordEvalService( @@ -74,7 +73,6 @@ func NewExptRecordEvalService( evaluatorService EvaluatorService, idgen idgen.IIDGenerator, benefitService benefit.IBenefitService, - evalAsyncRepo repo.IEvalAsyncRepo, ) ExptItemEvalEvent { i := &ExptItemEventEvalServiceImpl{ manager: manager, @@ -96,7 +94,6 @@ func NewExptRecordEvalService( evaluatorService: evaluatorService, idgen: idgen, benefitService: benefitService, - evalAsyncRepo: evalAsyncRepo, } i.endpoints = RecordEvalChain( @@ -113,7 +110,7 @@ func (e *ExptItemEventEvalServiceImpl) Eval(ctx context.Context, event *entity.E ctx = ctxcache.Init(ctx) if err := e.endpoints(ctx, event); err != nil { - logs.CtxError(ctx, "[ExptTurnEval] expt record eval fail, event: %v, err: %v", json.Jsonify(event), err) + logs.CtxError(ctx, "[ExptRecordEval] expt record eval fail, event: %v, err: %v", json.Jsonify(event), err) return err } @@ -164,7 +161,7 @@ func (e *ExptItemEventEvalServiceImpl) HandleEventErr(next RecordEvalEndPoint) R e.metric.EmitItemExecResult(event.SpaceID, int64(event.ExptRunMode), nextErr != nil, needRetry, stable, int64(code), event.CreateAt) }() - logs.CtxInfo(ctx, "[ExptTurnEval] handle event done, success: %v, retry: %v, retry_times: %v, err: %v, indebt: %v, event: %v", + logs.CtxInfo(ctx, "[ExptRecordEval] handle event done, success: %v, retry: %v, retry_times: %v, err: %v, indebt: %v, event: %v", nextErr == nil, needRetry, retryConf.GetRetryTimes(), nextErr, retryConf.IsInDebt, json.Jsonify(event)) if nextErr == nil { @@ -255,7 +252,7 @@ func (e *ExptItemEventEvalServiceImpl) eval(ctx context.Context, event *entity.E return err } - if err := NewExptItemEvaluation(e.exptTurnResultRepo, e.exptItemResultRepo, e.configer, e.metric, e.evaTargetService, e.evaluatorRecordService, e.evaluatorService, e.benefitService, e.evalAsyncRepo). + if err := NewExptItemEvaluation(e.exptTurnResultRepo, e.exptItemResultRepo, e.configer, e.metric, e.evaTargetService, e.evaluatorRecordService, e.evaluatorService, e.benefitService). Eval(ctx, eiec); err != nil { return err } @@ -387,15 +384,6 @@ func (e *ExptRecordEvalModeSubmit) PreEval(ctx context.Context, eiec *entity.Exp // return err // } - got, err := e.exptTurnResultRepo.GetItemTurnRunLogs(ctx, event.ExptID, event.ExptRunID, event.EvalSetItemID, event.SpaceID) - if err != nil { - return err - } - - for _, turnResult := range got { - eiec.ExistItemEvalResult.TurnResultRunLogs[turnResult.TurnID] = turnResult - } - absentRunLogTurnIDs := make([]int64, 0, len(turns)) for _, turn := range turns { if turn == nil { @@ -432,6 +420,19 @@ func (e *ExptRecordEvalModeSubmit) PreEval(ctx context.Context, eiec *entity.Exp return err } + // turnRunLogDOs := make([]*entity.ExptTurnResultRunLog, 0, len(turnRunResults)) + // for _, trr := range turnRunResults { + // _, err := convert2.NewExptTurnResultRunLogConvertor().ConvertModelToEntity(trr) + // if err != nil { + // return err + // } + // turnRunLogDOs = append(turnRunLogDOs, nil) + // } + // + // eiec.ExistItemEvalResult.TurnResultRunLogs = gslice.ToMap(turnRunLogDOs, func(t *entity.ExptTurnResultRunLog) (int64, *entity.ExptTurnResultRunLog) { + // return t.TurnID, t + // }) + eiec.ExistItemEvalResult.TurnResultRunLogs = gslice.ToMap(turnRunResults, func(t *entity.ExptTurnResultRunLog) (int64, *entity.ExptTurnResultRunLog) { return t.TurnID, t }) diff --git a/backend/modules/evaluation/domain/service/expt_run_item_event_impl_test.go b/backend/modules/evaluation/domain/service/expt_run_item_event_impl_test.go index 1120088fb..a84d46791 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_event_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_event_impl_test.go @@ -47,7 +47,6 @@ func TestNewExptRecordEvalService(t *testing.T) { svcmocks.NewMockEvaluatorService(ctrl), idgenmocks.NewMockIIDGenerator(ctrl), benefitmocks.NewMockIBenefitService(ctrl), - repoMocks.NewMockIEvalAsyncRepo(ctrl), ) assert.NotNil(t, service) } @@ -685,6 +684,19 @@ func TestNewRecordEvalMode(t *testing.T) { } func TestExptRecordEvalModeSubmit_PreEval(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockExptItemResultRepo := repoMocks.NewMockIExptItemResultRepo(ctrl) + mockExptTurnResultRepo := repoMocks.NewMockIExptTurnResultRepo(ctrl) + mockIdgen := idgenmocks.NewMockIIDGenerator(ctrl) + + mode := &ExptRecordEvalModeSubmit{ + exptItemResultRepo: mockExptItemResultRepo, + exptTurnResultRepo: mockExptTurnResultRepo, + idgen: mockIdgen, + } + mockEvalSetItem := &entity.EvaluationSetItem{ ID: 1, Turns: []*entity.Turn{ @@ -694,21 +706,21 @@ func TestExptRecordEvalModeSubmit_PreEval(t *testing.T) { tests := []struct { name string - prepare func(mockExptItemResultRepo *repoMocks.MockIExptItemResultRepo, mockExptTurnResultRepo *repoMocks.MockIExptTurnResultRepo, mockIdgen *idgenmocks.MockIIDGenerator) + prepare func() eiec *entity.ExptItemEvalCtx wantErr bool }{ { name: "正常流程", - prepare: func(_ *repoMocks.MockIExptItemResultRepo, mockExptTurnResultRepo *repoMocks.MockIExptTurnResultRepo, _ *idgenmocks.MockIIDGenerator) { - // placeholder to satisfy type; real expectations set below per-correct types + prepare: func() { + mockIdgen.EXPECT().GenMultiIDs(gomock.Any(), gomock.Any()).Return([]int64{1}, nil) + mockExptTurnResultRepo.EXPECT().BatchCreateNXRunLog(gomock.Any(), gomock.Any()).Return(nil) }, eiec: &entity.ExptItemEvalCtx{ Event: &entity.ExptItemEvalEvent{ - ExptID: 1, - ExptRunID: 2, - SpaceID: 3, - EvalSetItemID: 1, + ExptID: 1, + ExptRunID: 2, + SpaceID: 3, }, EvalSetItem: mockEvalSetItem, ExistItemEvalResult: &entity.ExptItemEvalResult{ @@ -719,8 +731,7 @@ func TestExptRecordEvalModeSubmit_PreEval(t *testing.T) { }, { name: "生成ID失败", - prepare: func(_ *repoMocks.MockIExptItemResultRepo, mockExptTurnResultRepo *repoMocks.MockIExptTurnResultRepo, mockIdgen *idgenmocks.MockIIDGenerator) { - mockExptTurnResultRepo.EXPECT().GetItemTurnRunLogs(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptTurnResultRunLog{}, nil) + prepare: func() { mockIdgen.EXPECT().GenMultiIDs(gomock.Any(), gomock.Any()).Return(nil, errors.New("mock error")) }, eiec: &entity.ExptItemEvalCtx{ @@ -734,8 +745,7 @@ func TestExptRecordEvalModeSubmit_PreEval(t *testing.T) { }, { name: "创建运行日志失败", - prepare: func(_ *repoMocks.MockIExptItemResultRepo, mockExptTurnResultRepo *repoMocks.MockIExptTurnResultRepo, mockIdgen *idgenmocks.MockIIDGenerator) { - mockExptTurnResultRepo.EXPECT().GetItemTurnRunLogs(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptTurnResultRunLog{}, nil) + prepare: func() { mockIdgen.EXPECT().GenMultiIDs(gomock.Any(), gomock.Any()).Return([]int64{1}, nil) mockExptTurnResultRepo.EXPECT().BatchCreateNXRunLog(gomock.Any(), gomock.Any()).Return(errors.New("mock error")) }, @@ -752,28 +762,7 @@ func TestExptRecordEvalModeSubmit_PreEval(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockExptItemResultRepo := repoMocks.NewMockIExptItemResultRepo(ctrl) - mockExptTurnResultRepo := repoMocks.NewMockIExptTurnResultRepo(ctrl) - mockIdgen := idgenmocks.NewMockIIDGenerator(ctrl) - - // 每个子用例独立设置期望 - if tt.name == "正常流程" { - mockExptTurnResultRepo.EXPECT().GetItemTurnRunLogs(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return([]*entity.ExptTurnResultRunLog{}, nil) - mockIdgen.EXPECT().GenMultiIDs(gomock.Any(), gomock.Any()).Return([]int64{1}, nil) - mockExptTurnResultRepo.EXPECT().BatchCreateNXRunLog(gomock.Any(), gomock.Any()).Return(nil) - } else { - tt.prepare(mockExptItemResultRepo, mockExptTurnResultRepo, mockIdgen) - } - - mode := &ExptRecordEvalModeSubmit{ - exptItemResultRepo: mockExptItemResultRepo, - exptTurnResultRepo: mockExptTurnResultRepo, - idgen: mockIdgen, - } - + tt.prepare() err := mode.PreEval(context.Background(), tt.eiec) if tt.wantErr { assert.Error(t, err) diff --git a/backend/modules/evaluation/domain/service/expt_run_item_impl.go b/backend/modules/evaluation/domain/service/expt_run_item_impl.go index 400487114..b5852e423 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_impl.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_impl.go @@ -9,7 +9,6 @@ import ( "strconv" "time" - "github.com/bytedance/gg/gcond" "github.com/bytedance/gg/gptr" "github.com/jinzhu/copier" @@ -39,7 +38,6 @@ func NewExptItemEvaluation( evaluatorRecordService EvaluatorRecordService, evaluatorService EvaluatorService, benefitService benefit.IBenefitService, - evalAsyncRepo repo.IEvalAsyncRepo, ) ExptItemEvaluation { return &ExptItemEvalCtxExecutor{ TurnResultRepo: turnResultRepo, @@ -50,7 +48,6 @@ func NewExptItemEvaluation( evaluatorRecordService: evaluatorRecordService, evaluatorService: evaluatorService, benefitService: benefitService, - evalAsyncRepo: evalAsyncRepo, } } @@ -63,7 +60,6 @@ type ExptItemEvalCtxExecutor struct { evaluatorService EvaluatorService evaluatorRecordService EvaluatorRecordService benefitService benefit.IBenefitService - evalAsyncRepo repo.IEvalAsyncRepo } func (e *ExptItemEvalCtxExecutor) Eval(ctx context.Context, eiec *entity.ExptItemEvalCtx) error { @@ -72,55 +68,43 @@ func (e *ExptItemEvalCtxExecutor) Eval(ctx context.Context, eiec *entity.ExptIte // if err := e.SetItemRunProcessing(ctx, event.ExptID, event.ExptRunID, event.EvalSetItemID, event.SpaceID, event.Session); err != nil { // return err // } - - asyncAbort, evalErr := e.EvalTurns(ctx, eiec) - if asyncAbort { - return nil - } - - if err := e.CompleteItemRun(ctx, event, evalErr); err != nil { + if err := e.CompleteItemRun(ctx, event, e.EvalTurns(ctx, eiec)); err != nil { return err } return nil } -func (e *ExptItemEvalCtxExecutor) EvalTurns(ctx context.Context, eiec *entity.ExptItemEvalCtx) (asyncAbort bool, err error) { +func (e *ExptItemEvalCtxExecutor) EvalTurns(ctx context.Context, eiec *entity.ExptItemEvalCtx) error { var history []*entity.Message if eiec.EvalSetItem == nil { - return false, fmt.Errorf("EvalTurns with invalid empty eval_set_item") + return fmt.Errorf("EvalTurns with invalid empty eval_set_item") } for _, turn := range eiec.EvalSetItem.Turns { etec, err := e.buildExptTurnEvalCtx(ctx, turn, eiec, history) if err != nil { - return false, err + return err } ctx = context.WithValue(ctx, consts.CtxKeyLogID, etec.GetTurnEvalLogID(ctx, turn.ID)) //nolint:staticcheck - turnRunRes := NewExptTurnEvaluation(e.Metric, e.evalTargetService, e.evaluatorService, e.benefitService, e.evalAsyncRepo).Eval(ctx, etec) + turnRunRes := NewExptTurnEvaluation(e.Metric, e.evalTargetService, e.evaluatorService, e.benefitService).Eval(ctx, etec) if err := e.storeTurnRunResult(ctx, etec, turnRunRes); err != nil { - return false, err - } - - if turnRunRes.AsyncAbort { - logs.CtxInfo(ctx, "[ExptTurnEval] eval async abort, expt_id: %v, item_id: %v, turn_id: %v", eiec.Event.ExptID, eiec.Event.EvalSetItemID, turn.ID) - return true, nil + return err } if err := turnRunRes.GetEvalErr(); err != nil { - return false, err + return err } history = append(history, buildHistoryMessage(ctx, turnRunRes)...) } - time.Sleep(time.Second * 1) - - return false, nil + time.Sleep(time.Second * 1) // 确保日志落库 + return nil } func (e *ExptItemEvalCtxExecutor) storeTurnRunResult(ctx context.Context, etec *entity.ExptTurnEvalCtx, result *entity.ExptTurnRunResult) error { @@ -181,7 +165,7 @@ func (e *ExptItemEvalCtxExecutor) storeTurnRunResult(ctx context.Context, etec * clone.Status = entity.TurnRunState_Fail clone.ErrMsg = errno.SerializeErr(evalErr) } else { - clone.Status = gcond.If(result.AsyncAbort, clone.Status, entity.TurnRunState_Success) + clone.Status = entity.TurnRunState_Success } result.SetEvalErr(evalErr) @@ -212,9 +196,6 @@ func (e *ExptItemEvalCtxExecutor) buildExptTurnEvalCtx(ctx context.Context, turn } ) etec.Ext = make(map[string]string) - for k, v := range eiec.Event.Ext { - etec.Ext[k] = v - } for _, fieldData := range eiec.EvalSetItem.Turns[0].FieldDataList { if fieldData.Name == "span_id" { etec.Ext["span_id"] = fieldData.Content.GetText() @@ -229,7 +210,9 @@ func (e *ExptItemEvalCtxExecutor) buildExptTurnEvalCtx(ctx context.Context, turn etec.Ext["task_id"] = eiec.Expt.SourceID etec.Ext["workspace_id"] = strconv.FormatInt(eiec.Expt.SpaceID, 10) etec.Ext["start_time"] = strconv.FormatInt(gptr.Indirect(eiec.EvalSetItem.BaseInfo.CreatedAt)*1000, 10) // 存储是毫秒,需要存入微妙 - + for k, v := range eiec.Event.Ext { + etec.Ext[k] = v + } if existTurnRunResult == nil { return etec, nil } @@ -281,11 +264,11 @@ func (e *ExptItemEvalCtxExecutor) CompleteItemRun(ctx context.Context, event *en } if e.evalErrNeedTerminateExpt(ctx, event.SpaceID, evalErr) { - logs.CtxWarn(ctx, "[ExptTurnEval] found error which should terminate expt, expt_id: %v, expt_run_id: %v, item_id: %v, err: %v", event.ExptID, event.ExptRunID, event.EvalSetItemID, evalErr) + logs.CtxWarn(ctx, "[ExptRecordEval] found error which should terminate expt, expt_id: %v, expt_run_id: %v, item_id: %v, err: %v", event.ExptID, event.ExptRunID, event.EvalSetItemID, evalErr) return evalErr } - logs.CtxInfo(ctx, "[ExptTurnEval] expt item eval finished, expt_id: %v, expt_run_id: %v, success: %v, update_fields: %v", event.ExptID, event.ExptRunID, evalErr == nil, ufields) + logs.CtxInfo(ctx, "[ExptRecordEval] expt item eval finished, expt_id: %v, expt_run_id: %v, success: %v, update_fields: %v", event.ExptID, event.ExptRunID, evalErr == nil, ufields) time.Sleep(time.Second * 2) // 确保日志落库 return nil } diff --git a/backend/modules/evaluation/domain/service/expt_run_item_impl_test.go b/backend/modules/evaluation/domain/service/expt_run_item_impl_test.go index 76832a33a..009680d4f 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_impl_test.go @@ -37,7 +37,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { mockEvaluatorRecordService := servicemocks.NewMockEvaluatorRecordService(ctrl) mockEvaluatorService := servicemocks.NewMockEvaluatorService(ctrl) mockBenefitService := benefitmocks.NewMockIBenefitService(ctrl) - mockEvalAsyncRepo := repomocks.NewMockIEvalAsyncRepo(ctrl) tests := []struct { name string @@ -49,7 +48,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { evaluatorRecordService EvaluatorRecordService evaluatorService EvaluatorService benefitService benefit.IBenefitService - evalAsyncRepo repo.IEvalAsyncRepo }{ { name: "所有参数有效", @@ -61,7 +59,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { evaluatorRecordService: mockEvaluatorRecordService, evaluatorService: mockEvaluatorService, benefitService: mockBenefitService, - evalAsyncRepo: mockEvalAsyncRepo, }, { name: "部分参数为nil", @@ -73,7 +70,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { evaluatorRecordService: mockEvaluatorRecordService, evaluatorService: mockEvaluatorService, benefitService: mockBenefitService, - evalAsyncRepo: mockEvalAsyncRepo, }, { name: "全部为nil", @@ -85,7 +81,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { evaluatorRecordService: nil, evaluatorService: nil, benefitService: nil, - evalAsyncRepo: nil, }, } @@ -100,7 +95,6 @@ func Test_NewExptItemEvaluation(t *testing.T) { tt.evaluatorRecordService, tt.evaluatorService, tt.benefitService, - tt.evalAsyncRepo, ) assert.NotNil(t, inst) }) @@ -275,14 +269,14 @@ func Test_ExptItemEvalCtxExecutor_EvalTurns(t *testing.T) { t.Run("参数校验失败-EvalSetItem为nil", func(t *testing.T) { execCtx := &entity.ExptItemEvalCtx{EvalSetItem: nil} - _, err := executor.EvalTurns(context.Background(), execCtx) + err := executor.EvalTurns(context.Background(), execCtx) assert.Error(t, err) assert.Contains(t, err.Error(), "invalid empty eval_set_item") }) t.Run("正常流程-无turns", func(t *testing.T) { execCtx := &entity.ExptItemEvalCtx{EvalSetItem: &entity.EvaluationSetItem{Turns: []*entity.Turn{}}} - _, err := executor.EvalTurns(context.Background(), execCtx) + err := executor.EvalTurns(context.Background(), execCtx) assert.NoError(t, err) }) } diff --git a/backend/modules/evaluation/domain/service/expt_run_item_turn_impl.go b/backend/modules/evaluation/domain/service/expt_run_item_turn_impl.go index 423ad3e72..50bd87d44 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_turn_impl.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_turn_impl.go @@ -18,7 +18,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/metrics" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/json" @@ -32,19 +31,16 @@ type ExptItemTurnEvaluation interface { Eval(ctx context.Context, etec *entity.ExptTurnEvalCtx) *entity.ExptTurnRunResult } -func NewExptTurnEvaluation( - metric metrics.ExptMetric, +func NewExptTurnEvaluation(metric metrics.ExptMetric, evalTargetService IEvalTargetService, evaluatorService EvaluatorService, benefitService benefit.IBenefitService, - evalAsyncRepo repo.IEvalAsyncRepo, ) ExptItemTurnEvaluation { return &DefaultExptTurnEvaluationImpl{ metric: metric, evalTargetService: evalTargetService, evaluatorService: evaluatorService, benefitService: benefitService, - evalAsyncRepo: evalAsyncRepo, } } @@ -53,7 +49,6 @@ type DefaultExptTurnEvaluationImpl struct { evalTargetService IEvalTargetService evaluatorService EvaluatorService benefitService benefit.IBenefitService - evalAsyncRepo repo.IEvalAsyncRepo } func (e *DefaultExptTurnEvaluationImpl) Eval(ctx context.Context, etec *entity.ExptTurnEvalCtx) (trr *entity.ExptTurnRunResult) { @@ -68,37 +63,46 @@ func (e *DefaultExptTurnEvaluationImpl) Eval(ctx context.Context, etec *entity.E }() defer goroutine.Recover(ctx, &trr.EvalErr) - targetResult, err := e.CallTarget(ctx, etec) + var targetResult *entity.EvalTargetRecord + var err error + targetResult, err = e.CallTarget(ctx, etec) if err != nil { logs.CtxError(ctx, "[ExptTurnEval] call target fail, err: %v", err) return trr.SetEvalErr(err) } - logs.CtxInfo(ctx, "[ExptTurnEval] call target success, target_result: %v", json.Jsonify(targetResult)) - if trr.SetTargetResult(targetResult).AbortWithTargetResult(etec.Expt) { + trr.SetTargetResult(targetResult) + if targetResult != nil && targetResult.EvalTargetOutputData != nil && targetResult.EvalTargetOutputData.EvalTargetRunError != nil { return trr } + if targetResult == nil { + err = errorx.NewByCode(errno.CommonInternalErrorCode, errorx.WithExtraMsg("target result is nil")) + return trr.SetEvalErr(err) + + } + evaluatorResults, err := e.CallEvaluators(ctx, etec, targetResult) if err != nil { logs.CtxError(ctx, "[ExptTurnEval] call evaluators fail, err: %v", err) return trr.SetEvaluatorResults(evaluatorResults).SetEvalErr(err) } - logs.CtxInfo(ctx, "[ExptTurnEval] call evaluators success, evaluator_results: %v", json.Jsonify(evaluatorResults)) + trr.SetEvaluatorResults(evaluatorResults) - return trr.SetEvaluatorResults(evaluatorResults) + return trr } func (e *DefaultExptTurnEvaluationImpl) CallTarget(ctx context.Context, etec *entity.ExptTurnEvalCtx) (*entity.EvalTargetRecord, error) { + // Whether target is called is determined by the target info bound in expt; + // ConnectorConf.TargetConf serves as the config info for executing the target, and CheckConnector completes the validity check when creating experiment. if e.skipTargetNode(etec.Expt) { return &entity.EvalTargetRecord{EvalTargetOutputData: &entity.EvalTargetOutputData{OutputFields: make(map[string]*entity.Content)}}, nil } - if existRecord := e.existedTargetRecord(etec); existRecord != nil { - logs.CtxInfo(ctx, "CallTarget return with existed target record, record_id: %v", existRecord.ID) - return existRecord, nil + if existResult := etec.ExptTurnRunResult.TargetResult; existResult != nil && existResult.Status != nil && *existResult.Status == entity.EvalTargetRunStatusSuccess { + return existResult, nil } if err := e.CheckBenefit(ctx, etec.Event.ExptID, etec.Event.SpaceID, etec.Expt.CreditCost == entity.CreditCostFree, etec.Event.Session); err != nil { @@ -108,8 +112,6 @@ func (e *DefaultExptTurnEvaluationImpl) CallTarget(ctx context.Context, etec *en return e.callTarget(ctx, etec, etec.History, etec.Event.SpaceID) } -// skipTargetNode Whether target is called is determined by the target info bound in expt; -// ConnectorConf.TargetConf serves as the config info for executing the target, and CheckConnector completes the validity check when creating experiment. func (e *DefaultExptTurnEvaluationImpl) skipTargetNode(expt *entity.Experiment) bool { if expt.TargetVersionID == 0 { return true @@ -120,16 +122,6 @@ func (e *DefaultExptTurnEvaluationImpl) skipTargetNode(expt *entity.Experiment) return false } -func (e *DefaultExptTurnEvaluationImpl) existedTargetRecord(etec *entity.ExptTurnEvalCtx) *entity.EvalTargetRecord { - if etec == nil || etec.ExptTurnRunResult.TargetResult == nil { - return nil - } - if gptr.Indirect(etec.ExptTurnRunResult.TargetResult.Status) == entity.EvalTargetRunStatusSuccess { - return etec.ExptTurnRunResult.TargetResult - } - return nil -} - func (e *DefaultExptTurnEvaluationImpl) skipEvaluatorNode(expt *entity.Experiment) bool { return expt.EvalConf.ConnectorConf.EvaluatorsConf == nil } @@ -156,7 +148,8 @@ func (e *DefaultExptTurnEvaluationImpl) CheckBenefit(ctx context.Context, exptID } func (e *DefaultExptTurnEvaluationImpl) callTarget(ctx context.Context, etec *entity.ExptTurnEvalCtx, history []*entity.Message, spaceID int64) (record *entity.EvalTargetRecord, err error) { - defer func() { e.metric.EmitTurnExecTargetResult(etec.Event.SpaceID, err != nil) }() + logs.CtxInfo(ctx, "[ExptTurnEval] call target, etec: %v", etec) + defer e.metric.EmitTurnExecTargetResult(etec.Event.SpaceID, err != nil) turn := etec.Turn targetConf := etec.Expt.EvalConf.ConnectorConf.TargetConf @@ -169,42 +162,30 @@ func (e *DefaultExptTurnEvaluationImpl) callTarget(ctx context.Context, etec *en return t.Name, t.Content }) - buildInputFields := func(fieldConfs []*entity.FieldConf) (map[string]*entity.Content, error) { - fields := make(map[string]*entity.Content, len(fieldConfs)) - switch etec.Expt.Target.EvalTargetType { - case entity.EvalTargetTypeCustomRPCServer: - return turnFields, nil - default: - for _, fc := range fieldConfs { - firstField, err := json.GetFirstJSONPathField(fc.FromField) - if err != nil { - return nil, err - } - if firstField == fc.FromField { // 没有下钻字段 - fields[fc.FieldName] = turnFields[fc.FromField] - } else { - content, err := e.getContentByJsonPath(turnFields[firstField], fc.FromField) - if err != nil { - return nil, err - } - fields[fc.FieldName] = content - } - } - - } - return fields, nil + if targetConf.IngressConf == nil || targetConf.IngressConf.EvalSetAdapter == nil { + return nil, errorx.New("target config ingress conf or eval set adapter is nil") } - var inputFields map[string]*entity.Content - if targetConf.IngressConf != nil && targetConf.IngressConf.EvalSetAdapter != nil { - inputFields, err = buildInputFields(targetConf.IngressConf.EvalSetAdapter.FieldConfs) + fieldConfs := targetConf.IngressConf.EvalSetAdapter.FieldConfs + fields := make(map[string]*entity.Content, len(fieldConfs)) + for _, fc := range fieldConfs { + firstField, err := json.GetFirstJSONPathField(fc.FromField) if err != nil { return nil, err } + if firstField == fc.FromField { // 没有下钻字段 + fields[fc.FieldName] = turnFields[fc.FromField] + continue + } + content, err := e.getContentByJsonPath(turnFields[firstField], fc.FromField) + if err != nil { + return nil, err + } + fields[fc.FieldName] = content } ext := gmap.Clone(etec.Ext) - if targetConf.IngressConf != nil && targetConf.IngressConf.CustomConf != nil { + if targetConf.IngressConf.CustomConf != nil { for _, fc := range targetConf.IngressConf.CustomConf.FieldConfs { if fc.FieldName == consts.FieldAdapterBuiltinFieldNameRuntimeParam { ext[consts.TargetExecuteExtRuntimeParamKey] = fc.Value @@ -212,38 +193,19 @@ func (e *DefaultExptTurnEvaluationImpl) callTarget(ctx context.Context, etec *en } } - var targetRecord *entity.EvalTargetRecord - etc := &entity.ExecuteTargetCtx{ + targetRecord, err := e.evalTargetService.ExecuteTarget(ctx, spaceID, etec.Expt.Target.ID, etec.Expt.Target.EvalTargetVersion.ID, &entity.ExecuteTargetCtx{ ExperimentRunID: gptr.Of(etec.Event.ExptRunID), ItemID: etec.EvalSetItem.ItemID, TurnID: etec.Turn.ID, - } - etid := &entity.EvalTargetInputData{ + }, &entity.EvalTargetInputData{ HistoryMessages: history, - InputFields: inputFields, + InputFields: fields, Ext: ext, - } - - if !etec.Expt.AsyncCallTarget() { - return e.evalTargetService.ExecuteTarget(ctx, spaceID, etec.Expt.Target.ID, etec.Expt.Target.EvalTargetVersion.ID, etc, etid) - } - - ts := time.Now() - targetRecord, callee, err := e.evalTargetService.AsyncExecuteTarget(ctx, spaceID, etec.Expt.Target.ID, etec.Expt.Target.EvalTargetVersion.ID, etc, etid) + }) if err != nil { return nil, err } - if err := e.evalAsyncRepo.SetEvalAsyncCtx(ctx, strconv.FormatInt(targetRecord.ID, 10), &entity.EvalAsyncCtx{ - Event: etec.Event, - TurnID: targetRecord.ID, - AsyncUnixMS: ts.UnixMilli(), - Session: etec.Event.Session, - Callee: callee, - }); err != nil { - return nil, err - } - return targetRecord, nil } @@ -288,6 +250,8 @@ func (e *DefaultExptTurnEvaluationImpl) CallEvaluators(ctx context.Context, etec func (e *DefaultExptTurnEvaluationImpl) callEvaluators(ctx context.Context, execEvaluatorVersionIDs []int64, etec *entity.ExptTurnEvalCtx, targetResult *entity.EvalTargetRecord, history []*entity.Message, ) (map[int64]*entity.EvaluatorRecord, error) { + logs.CtxInfo(ctx, "[ExptTurnEval] call evaluators, etec: %v", etec) + logs.CtxInfo(ctx, "[ExptTurnEval] call evaluators, target_result: %v", json.Jsonify(targetResult)) var ( recordMap sync.Map item = etec.EvalSetItem diff --git a/backend/modules/evaluation/domain/service/expt_run_item_turn_impl_test.go b/backend/modules/evaluation/domain/service/expt_run_item_turn_impl_test.go index 10ee742bb..93798bff0 100644 --- a/backend/modules/evaluation/domain/service/expt_run_item_turn_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_run_item_turn_impl_test.go @@ -5,7 +5,6 @@ package service import ( "context" "errors" - "strconv" "testing" "github.com/bytedance/gg/gptr" @@ -17,7 +16,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/consts" metricsmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/metrics/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - repomocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" svcmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" ) @@ -31,9 +29,8 @@ func TestNewExptTurnEvaluation(t *testing.T) { mockEvalTargetService := svcmocks.NewMockIEvalTargetService(ctrl) mockEvaluatorService := svcmocks.NewMockEvaluatorService(ctrl) mockBenefitService := benefitmocks.NewMockIBenefitService(ctrl) - mockEvalAsyncRepo := repomocks.NewMockIEvalAsyncRepo(ctrl) - eval := NewExptTurnEvaluation(mockMetric, mockEvalTargetService, mockEvaluatorService, mockBenefitService, mockEvalAsyncRepo) + eval := NewExptTurnEvaluation(mockMetric, mockEvalTargetService, mockEvaluatorService, mockBenefitService) assert.NotNil(t, eval) } @@ -1121,112 +1118,6 @@ func TestDefaultExptTurnEvaluationImpl_callTarget_RuntimeParam(t *testing.T) { } } -func TestDefaultExptTurnEvaluationImpl_callTarget_Async(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockMetric := metricsmocks.NewMockExptMetric(ctrl) - mockEvalTargetService := svcmocks.NewMockIEvalTargetService(ctrl) - mockEvalAsyncRepo := repomocks.NewMockIEvalAsyncRepo(ctrl) - - service := &DefaultExptTurnEvaluationImpl{ - metric: mockMetric, - evalTargetService: mockEvalTargetService, - evalAsyncRepo: mockEvalAsyncRepo, - } - - spaceID := int64(42) - targetID := int64(101) - targetVersionID := int64(202) - isAsync := true - record := &entity.EvalTargetRecord{ - ID: 9999, - EvalTargetOutputData: &entity.EvalTargetOutputData{OutputFields: map[string]*entity.Content{}}, - Status: gptr.Of(entity.EvalTargetRunStatusAsyncInvoking), - TargetID: targetID, - TargetVersionID: targetVersionID, - SpaceID: spaceID, - } - - turnContent := &entity.Content{ContentType: gptr.Of(entity.ContentTypeText), Text: gptr.Of("payload")} - etec := &entity.ExptTurnEvalCtx{ - ExptItemEvalCtx: &entity.ExptItemEvalCtx{ - Event: &entity.ExptItemEvalEvent{ - ExptID: 555, - ExptRunID: 777, - SpaceID: spaceID, - Session: &entity.Session{UserID: "user"}, - }, - Expt: &entity.Experiment{ - SpaceID: spaceID, - TargetVersionID: targetVersionID, - Target: &entity.EvalTarget{ - ID: targetID, - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - CustomRPCServer: &entity.CustomRPCServer{ - IsAsync: gptr.Of(isAsync), - }, - }, - }, - EvalConf: &entity.EvaluationConfiguration{ - ConnectorConf: entity.Connector{ - TargetConf: &entity.TargetConf{ - TargetVersionID: targetVersionID, - IngressConf: &entity.TargetIngressConf{ - EvalSetAdapter: &entity.FieldAdapter{ - FieldConfs: []*entity.FieldConf{ - {FieldName: "fieldA", FromField: "fieldA"}, - }, - }, - }, - }, - }, - }, - }, - EvalSetItem: &entity.EvaluationSetItem{ItemID: 888}, - }, - Turn: &entity.Turn{ - ID: 999, - FieldDataList: []*entity.FieldData{ - {Name: "fieldA", Content: turnContent}, - }, - }, - Ext: map[string]string{"ext-key": "ext-val"}, - } - - mockMetric.EXPECT().EmitTurnExecTargetResult(spaceID, false) - - mockEvalTargetService.EXPECT().AsyncExecuteTarget(gomock.Any(), spaceID, targetID, targetVersionID, gomock.Any(), gomock.Any()).DoAndReturn( - func(_ context.Context, _ int64, _ int64, _ int64, param *entity.ExecuteTargetCtx, input *entity.EvalTargetInputData) (*entity.EvalTargetRecord, string, error) { - assert.Equal(t, int64(777), gptr.Indirect(param.ExperimentRunID)) - assert.Equal(t, int64(888), param.ItemID) - assert.Equal(t, int64(999), param.TurnID) - if assert.NotNil(t, input) { - assert.Equal(t, "payload", gptr.Indirect(input.InputFields["fieldA"].Text)) - assert.Equal(t, "ext-val", input.Ext["ext-key"]) - } - return record, "callee-service", nil - }, - ) - - mockEvalAsyncRepo.EXPECT().SetEvalAsyncCtx(gomock.Any(), strconv.FormatInt(record.ID, 10), gomock.Any()).DoAndReturn( - func(_ context.Context, invokeID string, actx *entity.EvalAsyncCtx) error { - assert.Equal(t, strconv.FormatInt(record.ID, 10), invokeID) - if assert.NotNil(t, actx) { - assert.Equal(t, "callee-service", actx.Callee) - assert.Equal(t, etec.Event, actx.Event) - } - return nil - }, - ) - - got, err := service.callTarget(context.Background(), etec, []*entity.Message{}, spaceID) - assert.NoError(t, err) - assert.Equal(t, record, got) -} - func TestDefaultExptTurnEvaluationImpl_buildEvaluatorInputData(t *testing.T) { t.Parallel() @@ -1844,7 +1735,7 @@ func TestDefaultExptTurnEvaluationImpl_callTarget_EdgeCases(t *testing.T) { Target: &entity.EvalTarget{ ID: 1, EvalTargetVersion: &entity.EvalTargetVersion{ID: 1}, - EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetType: entity.EvalTargetTypeLoopPrompt, }, EvalConf: &entity.EvaluationConfiguration{ ConnectorConf: entity.Connector{ @@ -1956,14 +1847,14 @@ func TestDefaultExptTurnEvaluationImpl_callTarget_EdgeCases(t *testing.T) { // Setup mocks based on test case switch tt.name { case "execute target service fails": - mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), true) + mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), false) mockEvalTargetService.EXPECT().ExecuteTarget(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil, errors.New("execute target failed")) case "target config validation fails": // For target config validation fails, no ExecuteTarget call should be made - mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), true) + mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), false) default: // For json path parsing error case - mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), true) + mockMetric.EXPECT().EmitTurnExecTargetResult(gomock.Any(), false) } _, err := service.callTarget(context.Background(), tt.etec, tt.history, tt.spaceID) diff --git a/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl.go b/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl.go index a4828712d..ef6d4b2c1 100644 --- a/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl.go +++ b/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl.go @@ -239,7 +239,7 @@ func (e *ExptSchedulerImpl) schedule(ctx context.Context, event *entity.ExptSche return err } - incomplete, zombies, err := e.handleZombies(ctx, event, incomplete, exptDetail) + incomplete, zombies, err := e.handleZombies(ctx, event, incomplete) if err != nil { return err } @@ -387,8 +387,8 @@ func (e *ExptSchedulerImpl) handleToSubmits(ctx context.Context, event *entity.E return nil } -func (e *ExptSchedulerImpl) handleZombies(ctx context.Context, event *entity.ExptScheduleEvent, items []*entity.ExptEvalItem, expt *entity.Experiment) (alives, zombies []*entity.ExptEvalItem, err error) { - zombieSecond := e.Configer.GetConsumerConf(ctx).GetExptExecConf(event.SpaceID).GetExptItemEvalConf().GetItemZombieSecond(expt.AsyncExec()) +func (e *ExptSchedulerImpl) handleZombies(ctx context.Context, event *entity.ExptScheduleEvent, items []*entity.ExptEvalItem) (alives, zombies []*entity.ExptEvalItem, err error) { + zombieSecond := e.Configer.GetConsumerConf(ctx).GetExptExecConf(event.SpaceID).GetExptItemEvalConf().GetZombieSecond() for _, item := range items { if item.State == entity.ItemRunState_Processing && item.UpdatedAt != nil && !gptr.Indirect(item.UpdatedAt).IsZero() { if time.Since(gptr.Indirect(item.UpdatedAt)).Seconds() > float64(zombieSecond) { diff --git a/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl_test.go b/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl_test.go index 5ee8a54fb..998c162ca 100644 --- a/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl_test.go +++ b/backend/modules/evaluation/domain/service/expt_run_scheduler_event_impl_test.go @@ -1143,7 +1143,7 @@ func TestExptSchedulerImpl_handleZombies(t *testing.T) { ExptTurnResultRepo: f.exptTurnResultRepo, } - alives, zombies, err := svc.handleZombies(tt.args.ctx, tt.args.event, tt.args.items, nil) + alives, zombies, err := svc.handleZombies(tt.args.ctx, tt.args.event, tt.args.items) if tt.assertErr != nil { tt.assertErr(t, err) diff --git a/backend/modules/evaluation/domain/service/file_name b/backend/modules/evaluation/domain/service/file_name deleted file mode 100644 index 268baf2d8..000000000 --- a/backend/modules/evaluation/domain/service/file_name +++ /dev/null @@ -1 +0,0 @@ -ID,status,test_field,actual_output,test_evaluator,test_evaluator_reason,test_tag,logID,targetTraceID diff --git a/backend/modules/evaluation/domain/service/mocks/target.go b/backend/modules/evaluation/domain/service/mocks/target.go index aa0272bee..7e4b0126d 100644 --- a/backend/modules/evaluation/domain/service/mocks/target.go +++ b/backend/modules/evaluation/domain/service/mocks/target.go @@ -41,38 +41,6 @@ func (m *MockIEvalTargetService) EXPECT() *MockIEvalTargetServiceMockRecorder { return m.recorder } -// AsyncDebugTarget mocks base method. -func (m *MockIEvalTargetService) AsyncDebugTarget(ctx context.Context, param *entity.DebugTargetParam) (*entity.EvalTargetRecord, string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AsyncDebugTarget", ctx, param) - ret0, _ := ret[0].(*entity.EvalTargetRecord) - ret1, _ := ret[1].(string) - ret2, _ := ret[2].(error) - return ret0, ret1, ret2 -} - -// AsyncDebugTarget indicates an expected call of AsyncDebugTarget. -func (mr *MockIEvalTargetServiceMockRecorder) AsyncDebugTarget(ctx, param any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AsyncDebugTarget", reflect.TypeOf((*MockIEvalTargetService)(nil).AsyncDebugTarget), ctx, param) -} - -// AsyncExecuteTarget mocks base method. -func (m *MockIEvalTargetService) AsyncExecuteTarget(ctx context.Context, spaceID, targetID, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (*entity.EvalTargetRecord, string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AsyncExecuteTarget", ctx, spaceID, targetID, targetVersionID, param, inputData) - ret0, _ := ret[0].(*entity.EvalTargetRecord) - ret1, _ := ret[1].(string) - ret2, _ := ret[2].(error) - return ret0, ret1, ret2 -} - -// AsyncExecuteTarget indicates an expected call of AsyncExecuteTarget. -func (mr *MockIEvalTargetServiceMockRecorder) AsyncExecuteTarget(ctx, spaceID, targetID, targetVersionID, param, inputData any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AsyncExecuteTarget", reflect.TypeOf((*MockIEvalTargetService)(nil).AsyncExecuteTarget), ctx, spaceID, targetID, targetVersionID, param, inputData) -} - // BatchGetEvalTargetBySource mocks base method. func (m *MockIEvalTargetService) BatchGetEvalTargetBySource(ctx context.Context, param *entity.BatchGetEvalTargetBySourceParam) ([]*entity.EvalTarget, error) { m.ctrl.T.Helper() @@ -139,35 +107,6 @@ func (mr *MockIEvalTargetServiceMockRecorder) CreateEvalTarget(ctx, spaceID, sou return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateEvalTarget", reflect.TypeOf((*MockIEvalTargetService)(nil).CreateEvalTarget), varargs...) } -// CreateRecord mocks base method. -func (m *MockIEvalTargetService) CreateRecord(ctx context.Context, record *entity.EvalTargetRecord) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "CreateRecord", ctx, record) - ret0, _ := ret[0].(error) - return ret0 -} - -// CreateRecord indicates an expected call of CreateRecord. -func (mr *MockIEvalTargetServiceMockRecorder) CreateRecord(ctx, record any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateRecord", reflect.TypeOf((*MockIEvalTargetService)(nil).CreateRecord), ctx, record) -} - -// DebugTarget mocks base method. -func (m *MockIEvalTargetService) DebugTarget(ctx context.Context, param *entity.DebugTargetParam) (*entity.EvalTargetRecord, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "DebugTarget", ctx, param) - ret0, _ := ret[0].(*entity.EvalTargetRecord) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// DebugTarget indicates an expected call of DebugTarget. -func (mr *MockIEvalTargetServiceMockRecorder) DebugTarget(ctx, param any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DebugTarget", reflect.TypeOf((*MockIEvalTargetService)(nil).DebugTarget), ctx, param) -} - // ExecuteTarget mocks base method. func (m *MockIEvalTargetService) ExecuteTarget(ctx context.Context, spaceID, targetID, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (*entity.EvalTargetRecord, error) { m.ctrl.T.Helper() @@ -288,20 +227,6 @@ func (mr *MockIEvalTargetServiceMockRecorder) GetRecordByID(ctx, spaceID, record return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecordByID", reflect.TypeOf((*MockIEvalTargetService)(nil).GetRecordByID), ctx, spaceID, recordID) } -// ReportInvokeRecords mocks base method. -func (m *MockIEvalTargetService) ReportInvokeRecords(ctx context.Context, recordID2Params *entity.ReportTargetRecordParam) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ReportInvokeRecords", ctx, recordID2Params) - ret0, _ := ret[0].(error) - return ret0 -} - -// ReportInvokeRecords indicates an expected call of ReportInvokeRecords. -func (mr *MockIEvalTargetServiceMockRecorder) ReportInvokeRecords(ctx, recordID2Params any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ReportInvokeRecords", reflect.TypeOf((*MockIEvalTargetService)(nil).ReportInvokeRecords), ctx, recordID2Params) -} - // ValidateRuntimeParam mocks base method. func (m *MockIEvalTargetService) ValidateRuntimeParam(ctx context.Context, targetType entity.EvalTargetType, runtimeParam string) error { m.ctrl.T.Helper() diff --git a/backend/modules/evaluation/domain/service/mocks/target_source.go b/backend/modules/evaluation/domain/service/mocks/target_source.go index 76f4bc2f5..b30866224 100644 --- a/backend/modules/evaluation/domain/service/mocks/target_source.go +++ b/backend/modules/evaluation/domain/service/mocks/target_source.go @@ -41,22 +41,6 @@ func (m *MockISourceEvalTargetOperateService) EXPECT() *MockISourceEvalTargetOpe return m.recorder } -// AsyncExecute mocks base method. -func (m *MockISourceEvalTargetOperateService) AsyncExecute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (int64, string, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AsyncExecute", ctx, spaceID, param) - ret0, _ := ret[0].(int64) - ret1, _ := ret[1].(string) - ret2, _ := ret[2].(error) - return ret0, ret1, ret2 -} - -// AsyncExecute indicates an expected call of AsyncExecute. -func (mr *MockISourceEvalTargetOperateServiceMockRecorder) AsyncExecute(ctx, spaceID, param any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AsyncExecute", reflect.TypeOf((*MockISourceEvalTargetOperateService)(nil).AsyncExecute), ctx, spaceID, param) -} - // BatchGetSource mocks base method. func (m *MockISourceEvalTargetOperateService) BatchGetSource(ctx context.Context, spaceID int64, ids []string) ([]*entity.EvalTarget, error) { m.ctrl.T.Helper() @@ -198,23 +182,6 @@ func (mr *MockISourceEvalTargetOperateServiceMockRecorder) RuntimeParam() *gomoc return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RuntimeParam", reflect.TypeOf((*MockISourceEvalTargetOperateService)(nil).RuntimeParam)) } -// SearchCustomEvalTarget mocks base method. -func (m *MockISourceEvalTargetOperateService) SearchCustomEvalTarget(ctx context.Context, param *entity.SearchCustomEvalTargetParam) ([]*entity.CustomEvalTarget, string, bool, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SearchCustomEvalTarget", ctx, param) - ret0, _ := ret[0].([]*entity.CustomEvalTarget) - ret1, _ := ret[1].(string) - ret2, _ := ret[2].(bool) - ret3, _ := ret[3].(error) - return ret0, ret1, ret2, ret3 -} - -// SearchCustomEvalTarget indicates an expected call of SearchCustomEvalTarget. -func (mr *MockISourceEvalTargetOperateServiceMockRecorder) SearchCustomEvalTarget(ctx, param any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SearchCustomEvalTarget", reflect.TypeOf((*MockISourceEvalTargetOperateService)(nil).SearchCustomEvalTarget), ctx, param) -} - // ValidateInput mocks base method. func (m *MockISourceEvalTargetOperateService) ValidateInput(ctx context.Context, spaceID int64, inputSchema []*entity.ArgsSchema, input *entity.EvalTargetInputData) error { m.ctrl.T.Helper() diff --git a/backend/modules/evaluation/domain/service/runtime_stub.go b/backend/modules/evaluation/domain/service/runtime_stub.go new file mode 100755 index 000000000..93cb99f47 --- /dev/null +++ b/backend/modules/evaluation/domain/service/runtime_stub.go @@ -0,0 +1,142 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package service + +import ( + "context" + "fmt" + + "github.com/sirupsen/logrus" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +// StubRuntime 是一个简单的运行时存根实现,用于替代被删除的 runtime 包 +type StubRuntime struct { + languageType entity.LanguageType +} + +// NewStubRuntime 创建一个新的存根运行时实例 +func NewStubRuntime(languageType entity.LanguageType) *StubRuntime { + return &StubRuntime{ + languageType: languageType, + } +} + +// RunCode 在沙箱中执行文本格式的代码(存根实现) +func (r *StubRuntime) RunCode(ctx context.Context, code, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) { + // 这是一个存根实现,实际的代码执行功能已被移除 + return &entity.ExecutionResult{ + Output: &entity.ExecutionOutput{ + Stderr: "Runtime functionality has been removed", + }, + }, fmt.Errorf("runtime functionality has been removed") +} + +// GetLanguageType 获取支持的语言类型 +func (r *StubRuntime) GetLanguageType() entity.LanguageType { + return r.languageType +} + +// GetReturnValFunction 获取语言特定的return_val函数实现 +func (r *StubRuntime) GetReturnValFunction() string { + switch r.languageType { + case entity.LanguageTypePython: + return ` +# return_val函数实现 +def return_val(value): + """ + 标准return_val函数实现 - 设置返回值到ret_val字段 + Args: + value: 要返回的值,通常是JSON字符串 + """ + # 这里不使用print,而是设置一个全局变量 + # 该变量会被FaaS服务器捕获到ret_val字段 + global _return_val_output + _return_val_output = value +` + case entity.LanguageTypeJS: + return ` +// return_val函数实现 +function return_val(value) { + /** + * 标准return_val函数实现 - 输出返回值供FaaS服务捕获 + * @param {string} value - 要返回的值,通常是JSON字符串 + */ + console.log(value); +} +` + default: + return "" + } +} + +// StubRuntimeFactory 是一个简单的运行时工厂存根实现 +type StubRuntimeFactory struct { + logger *logrus.Logger + sandboxConfig *entity.SandboxConfig +} + +// NewStubRuntimeFactory 创建一个新的存根运行时工厂实例 +func NewStubRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { + return &StubRuntimeFactory{ + logger: logger, + sandboxConfig: sandboxConfig, + } +} + +// CreateRuntime 根据语言类型创建Runtime实例(存根实现) +func (f *StubRuntimeFactory) CreateRuntime(languageType entity.LanguageType) (component.IRuntime, error) { + return NewStubRuntime(languageType), nil +} + +// GetSupportedLanguages 获取支持的语言类型列表 +func (f *StubRuntimeFactory) GetSupportedLanguages() []entity.LanguageType { + return []entity.LanguageType{ + entity.LanguageTypePython, + entity.LanguageTypeJS, + } +} + +// StubRuntimeManager 是一个简单的运行时管理器存根实现 +type StubRuntimeManager struct { + factory component.IRuntimeFactory + logger *logrus.Logger + cache map[entity.LanguageType]component.IRuntime +} + +// NewStubRuntimeManager 创建一个新的存根运行时管理器实例 +func NewStubRuntimeManager(factory component.IRuntimeFactory, logger *logrus.Logger) component.IRuntimeManager { + return &StubRuntimeManager{ + factory: factory, + logger: logger, + cache: make(map[entity.LanguageType]component.IRuntime), + } +} + +// GetRuntime 获取指定语言类型的Runtime实例 +func (m *StubRuntimeManager) GetRuntime(languageType entity.LanguageType) (component.IRuntime, error) { + if runtime, exists := m.cache[languageType]; exists { + return runtime, nil + } + + runtime, err := m.factory.CreateRuntime(languageType) + if err != nil { + return nil, err + } + + m.cache[languageType] = runtime + return runtime, nil +} + +// GetSupportedLanguages 获取支持的语言类型列表 +func (m *StubRuntimeManager) GetSupportedLanguages() []entity.LanguageType { + return m.factory.GetSupportedLanguages() +} + +// ClearCache 清空缓存 +func (m *StubRuntimeManager) ClearCache() { + m.cache = make(map[entity.LanguageType]component.IRuntime) +} diff --git a/backend/modules/evaluation/domain/service/runtime_stub_test.go b/backend/modules/evaluation/domain/service/runtime_stub_test.go new file mode 100755 index 000000000..34a010148 --- /dev/null +++ b/backend/modules/evaluation/domain/service/runtime_stub_test.go @@ -0,0 +1,541 @@ +// Copyright (c) 2025 coze-dev Authors +// SPDX-License-Identifier: Apache-2.0 + +package service + +import ( + "context" + "testing" + + "github.com/sirupsen/logrus" + "github.com/stretchr/testify/assert" + + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" +) + +func TestNewStubRuntime(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + want *StubRuntime + }{ + { + name: "创建Python存根运行时", + languageType: entity.LanguageTypePython, + want: &StubRuntime{ + languageType: entity.LanguageTypePython, + }, + }, + { + name: "创建JavaScript存根运行时", + languageType: entity.LanguageTypeJS, + want: &StubRuntime{ + languageType: entity.LanguageTypeJS, + }, + }, + { + name: "创建未知语言类型存根运行时", + languageType: entity.LanguageType("Unknown"), + want: &StubRuntime{ + languageType: entity.LanguageType("Unknown"), + }, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + result := NewStubRuntime(tt.languageType) + assert.Equal(t, tt.want, result) + }) + } +} + +func TestStubRuntime_RunCode(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + code string + language string + timeoutMS int64 + ext map[string]string + wantOutput string + wantErr bool + }{ + { + name: "Python代码执行存根", + languageType: entity.LanguageTypePython, + code: "print('hello world')", + language: "python", + timeoutMS: 5000, + ext: map[string]string{"key": "value"}, + wantOutput: "Runtime functionality has been removed", + wantErr: true, + }, + { + name: "JavaScript代码执行存根", + languageType: entity.LanguageTypeJS, + code: "console.log('hello world')", + language: "javascript", + timeoutMS: 3000, + ext: nil, + wantOutput: "Runtime functionality has been removed", + wantErr: true, + }, + { + name: "空代码执行存根", + languageType: entity.LanguageTypePython, + code: "", + language: "python", + timeoutMS: 1000, + ext: map[string]string{}, + wantOutput: "Runtime functionality has been removed", + wantErr: true, + }, + { + name: "超时时间为0", + languageType: entity.LanguageTypeJS, + code: "var x = 1;", + language: "javascript", + timeoutMS: 0, + ext: nil, + wantOutput: "Runtime functionality has been removed", + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + runtime := NewStubRuntime(tt.languageType) + result, err := runtime.RunCode(context.Background(), tt.code, tt.language, tt.timeoutMS, tt.ext) + + if tt.wantErr { + assert.Error(t, err) + assert.Contains(t, err.Error(), "runtime functionality has been removed") + } else { + assert.NoError(t, err) + } + + assert.NotNil(t, result) + assert.NotNil(t, result.Output) + assert.Equal(t, tt.wantOutput, result.Output.Stderr) + }) + } +} + +func TestStubRuntime_GetLanguageType(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + want entity.LanguageType + }{ + { + name: "获取Python语言类型", + languageType: entity.LanguageTypePython, + want: entity.LanguageTypePython, + }, + { + name: "获取JavaScript语言类型", + languageType: entity.LanguageTypeJS, + want: entity.LanguageTypeJS, + }, + { + name: "获取未知语言类型", + languageType: entity.LanguageType("Unknown"), + want: entity.LanguageType("Unknown"), + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + runtime := NewStubRuntime(tt.languageType) + result := runtime.GetLanguageType() + assert.Equal(t, tt.want, result) + }) + } +} + +func TestStubRuntime_GetReturnValFunction(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + wantContains []string + wantEmpty bool + }{ + { + name: "Python return_val函数", + languageType: entity.LanguageTypePython, + wantContains: []string{ + "def return_val(value):", + "global _return_val_output", + "_return_val_output = value", + }, + wantEmpty: false, + }, + { + name: "JavaScript return_val函数", + languageType: entity.LanguageTypeJS, + wantContains: []string{ + "function return_val(value)", + "console.log(value);", + }, + wantEmpty: false, + }, + { + name: "不支持的语言类型", + languageType: entity.LanguageType("Unknown"), + wantContains: nil, + wantEmpty: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + runtime := NewStubRuntime(tt.languageType) + result := runtime.GetReturnValFunction() + + if tt.wantEmpty { + assert.Empty(t, result) + } else { + assert.NotEmpty(t, result) + for _, contain := range tt.wantContains { + assert.Contains(t, result, contain) + } + } + }) + } +} + +func TestNewStubRuntimeFactory(t *testing.T) { + t.Parallel() + + logger := logrus.New() + sandboxConfig := &entity.SandboxConfig{ + MemoryLimit: 512, + TimeoutLimit: 5000, + } + + factory := NewStubRuntimeFactory(logger, sandboxConfig) + assert.NotNil(t, factory) + + stubFactory, ok := factory.(*StubRuntimeFactory) + assert.True(t, ok) + assert.Equal(t, logger, stubFactory.logger) + assert.Equal(t, sandboxConfig, stubFactory.sandboxConfig) +} + +func TestStubRuntimeFactory_CreateRuntime(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + wantErr bool + }{ + { + name: "创建Python运行时", + languageType: entity.LanguageTypePython, + wantErr: false, + }, + { + name: "创建JavaScript运行时", + languageType: entity.LanguageTypeJS, + wantErr: false, + }, + { + name: "创建未知语言类型运行时", + languageType: entity.LanguageType("Unknown"), + wantErr: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + runtime, err := factory.CreateRuntime(tt.languageType) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, runtime) + } else { + assert.NoError(t, err) + assert.NotNil(t, runtime) + + stubRuntime, ok := runtime.(*StubRuntime) + assert.True(t, ok) + assert.Equal(t, tt.languageType, stubRuntime.languageType) + } + }) + } +} + +func TestStubRuntimeFactory_GetSupportedLanguages(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + languages := factory.GetSupportedLanguages() + + expected := []entity.LanguageType{ + entity.LanguageTypePython, + entity.LanguageTypeJS, + } + + assert.Equal(t, expected, languages) + assert.Len(t, languages, 2) + assert.Contains(t, languages, entity.LanguageTypePython) + assert.Contains(t, languages, entity.LanguageTypeJS) +} + +func TestNewStubRuntimeManager(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + logger := logrus.New() + + manager := NewStubRuntimeManager(factory, logger) + assert.NotNil(t, manager) + + stubManager, ok := manager.(*StubRuntimeManager) + assert.True(t, ok) + assert.Equal(t, factory, stubManager.factory) + assert.Equal(t, logger, stubManager.logger) + assert.NotNil(t, stubManager.cache) +} + +func TestStubRuntimeManager_GetRuntime(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + languageType entity.LanguageType + wantErr bool + }{ + { + name: "获取Python运行时", + languageType: entity.LanguageTypePython, + wantErr: false, + }, + { + name: "获取JavaScript运行时", + languageType: entity.LanguageTypeJS, + wantErr: false, + }, + { + name: "获取未知语言类型运行时", + languageType: entity.LanguageType("Unknown"), + wantErr: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + manager := NewStubRuntimeManager(factory, logrus.New()) + + // 第一次获取 + runtime1, err1 := manager.GetRuntime(tt.languageType) + if tt.wantErr { + assert.Error(t, err1) + assert.Nil(t, runtime1) + return + } + + assert.NoError(t, err1) + assert.NotNil(t, runtime1) + + // 第二次获取,应该返回缓存的实例 + runtime2, err2 := manager.GetRuntime(tt.languageType) + assert.NoError(t, err2) + assert.NotNil(t, runtime2) + assert.Same(t, runtime1, runtime2) // 验证是同一个实例 + + // 验证运行时类型 + stubRuntime, ok := runtime1.(*StubRuntime) + assert.True(t, ok) + assert.Equal(t, tt.languageType, stubRuntime.languageType) + }) + } +} + +func TestStubRuntimeManager_GetSupportedLanguages(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + manager := NewStubRuntimeManager(factory, logrus.New()) + + languages := manager.GetSupportedLanguages() + + expected := []entity.LanguageType{ + entity.LanguageTypePython, + entity.LanguageTypeJS, + } + + assert.Equal(t, expected, languages) + assert.Len(t, languages, 2) +} + +func TestStubRuntimeManager_ClearCache(t *testing.T) { + t.Parallel() + + factory := NewStubRuntimeFactory(logrus.New(), &entity.SandboxConfig{}) + manager := NewStubRuntimeManager(factory, logrus.New()) + + // 先获取一个运行时实例,填充缓存 + runtime1, err := manager.GetRuntime(entity.LanguageTypePython) + assert.NoError(t, err) + assert.NotNil(t, runtime1) + + // 验证缓存中有实例 + stubManager := manager.(*StubRuntimeManager) + assert.Len(t, stubManager.cache, 1) + + // 清空缓存 + manager.ClearCache() + assert.Len(t, stubManager.cache, 0) + + // 再次获取,应该创建新的实例 + runtime2, err := manager.GetRuntime(entity.LanguageTypePython) + assert.NoError(t, err) + assert.NotNil(t, runtime2) + assert.NotSame(t, runtime1, runtime2) // 验证不是同一个实例 +} + +func TestStubRuntimeIntegration(t *testing.T) { + t.Parallel() + + // 集成测试:测试整个存根运行时系统的协作 + logger := logrus.New() + sandboxConfig := &entity.SandboxConfig{ + MemoryLimit: 512, + TimeoutLimit: 5000, + } + + // 创建工厂 + factory := NewStubRuntimeFactory(logger, sandboxConfig) + + // 创建管理器 + manager := NewStubRuntimeManager(factory, logger) + + // 测试支持的语言 + languages := manager.GetSupportedLanguages() + assert.Contains(t, languages, entity.LanguageTypePython) + assert.Contains(t, languages, entity.LanguageTypeJS) + + // 测试Python运行时 + pythonRuntime, err := manager.GetRuntime(entity.LanguageTypePython) + assert.NoError(t, err) + assert.NotNil(t, pythonRuntime) + + pythonResult, err := pythonRuntime.RunCode(context.Background(), "print('test')", "python", 5000, nil) + assert.Error(t, err) + assert.Contains(t, err.Error(), "runtime functionality has been removed") + assert.NotNil(t, pythonResult) + assert.Equal(t, "Runtime functionality has been removed", pythonResult.Output.Stderr) + + pythonReturnVal := pythonRuntime.GetReturnValFunction() + assert.Contains(t, pythonReturnVal, "def return_val(value):") + + // 测试JavaScript运行时 + jsRuntime, err := manager.GetRuntime(entity.LanguageTypeJS) + assert.NoError(t, err) + assert.NotNil(t, jsRuntime) + + jsResult, err := jsRuntime.RunCode(context.Background(), "console.log('test')", "javascript", 3000, nil) + assert.Error(t, err) + assert.Contains(t, err.Error(), "runtime functionality has been removed") + assert.NotNil(t, jsResult) + + jsReturnVal := jsRuntime.GetReturnValFunction() + assert.Contains(t, jsReturnVal, "function return_val(value)") + + // 测试缓存机制 + pythonRuntime2, err := manager.GetRuntime(entity.LanguageTypePython) + assert.NoError(t, err) + assert.Same(t, pythonRuntime, pythonRuntime2) + + // 测试清空缓存 + manager.ClearCache() + pythonRuntime3, err := manager.GetRuntime(entity.LanguageTypePython) + assert.NoError(t, err) + assert.NotSame(t, pythonRuntime, pythonRuntime3) +} + +func TestStubRuntimeErrorHandling(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + setupFunc func() (component.IRuntime, error) + testFunc func(runtime component.IRuntime) error + wantErr bool + errorMessage string + }{ + { + name: "运行时执行总是返回错误", + setupFunc: func() (component.IRuntime, error) { + return NewStubRuntime(entity.LanguageTypePython), nil + }, + testFunc: func(runtime component.IRuntime) error { + _, err := runtime.RunCode(context.Background(), "print('test')", "python", 5000, nil) + return err + }, + wantErr: true, + errorMessage: "runtime functionality has been removed", + }, + { + name: "不支持的语言类型返回空函数", + setupFunc: func() (component.IRuntime, error) { + return NewStubRuntime(entity.LanguageType("Unknown")), nil + }, + testFunc: func(runtime component.IRuntime) error { + result := runtime.GetReturnValFunction() + if result != "" { + return assert.AnError + } + return nil + }, + wantErr: false, + errorMessage: "", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + runtime, err := tt.setupFunc() + assert.NoError(t, err) + assert.NotNil(t, runtime) + + err = tt.testFunc(runtime) + if tt.wantErr { + assert.Error(t, err) + if tt.errorMessage != "" { + assert.Contains(t, err.Error(), tt.errorMessage) + } + } else { + assert.NoError(t, err) + } + }) + } +} diff --git a/backend/modules/evaluation/domain/service/target.go b/backend/modules/evaluation/domain/service/target.go index 9e950b5b1..2f0cc2408 100644 --- a/backend/modules/evaluation/domain/service/target.go +++ b/backend/modules/evaluation/domain/service/target.go @@ -20,14 +20,9 @@ type IEvalTargetService interface { BatchGetEvalTargetBySource(ctx context.Context, param *entity.BatchGetEvalTargetBySourceParam) (dos []*entity.EvalTarget, err error) BatchGetEvalTargetVersion(ctx context.Context, spaceID int64, versionIDs []int64, needSourceInfo bool) (dos []*entity.EvalTarget, err error) - ExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (*entity.EvalTargetRecord, error) - AsyncExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (record *entity.EvalTargetRecord, callee string, err error) - DebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, err error) - AsyncDebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, callee string, err error) - GetRecordByID(ctx context.Context, spaceID int64, recordID int64) (*entity.EvalTargetRecord, error) - CreateRecord(ctx context.Context, record *entity.EvalTargetRecord) error + ExecuteTarget(ctx context.Context, spaceID, targetID, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) (*entity.EvalTargetRecord, error) + GetRecordByID(ctx context.Context, spaceID, recordID int64) (*entity.EvalTargetRecord, error) BatchGetRecordByIDs(ctx context.Context, spaceID int64, recordIDs []int64) ([]*entity.EvalTargetRecord, error) - ReportInvokeRecords(ctx context.Context, recordID2Params *entity.ReportTargetRecordParam) error ValidateRuntimeParam(ctx context.Context, targetType entity.EvalTargetType, runtimeParam string) error GenerateMockOutputData(outputSchemas []*entity.ArgsSchema) (map[string]string, error) } diff --git a/backend/modules/evaluation/domain/service/target_impl.go b/backend/modules/evaluation/domain/service/target_impl.go index 0f3b7c884..42bf819e5 100644 --- a/backend/modules/evaluation/domain/service/target_impl.go +++ b/backend/modules/evaluation/domain/service/target_impl.go @@ -5,8 +5,6 @@ package service import ( "context" - "errors" - "fmt" "runtime" "strconv" "time" @@ -25,7 +23,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/jsonmock" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/json" - "github.com/coze-dev/coze-loop/backend/pkg/lang/goroutine" "github.com/coze-dev/coze-loop/backend/pkg/logs" ) @@ -225,16 +222,12 @@ func (e *EvalTargetServiceImpl) ExecuteTarget(ctx context.Context, spaceID, targ } statusErr, ok := errorx.FromStatusError(err) if ok { - outputData.EvalTargetRunError = &entity.EvalTargetRunError{ - Code: statusErr.Code(), - Message: statusErr.Error(), - } + outputData.EvalTargetRunError.Code = statusErr.Code() + outputData.EvalTargetRunError.Message = statusErr.Error() spanParam.ErrCode = strconv.FormatInt(int64(statusErr.Code()), 10) } else { - outputData.EvalTargetRunError = &entity.EvalTargetRunError{ - Code: errno.CommonInternalErrorCode, - Message: err.Error(), - } + outputData.EvalTargetRunError.Code = errno.CommonInternalErrorCode + outputData.EvalTargetRunError.Message = err.Error() } } @@ -307,9 +300,16 @@ func (e *EvalTargetServiceImpl) ExecuteTarget(ctx context.Context, spaceID, targ } ctx, span = looptracer.GetTracer().StartSpan(ctx, "EvalTarget", "eval_target", looptracer.WithStartNewTrace(), looptracer.WithSpanWorkspaceID(strconv.FormatInt(spaceID, 10))) + if err != nil { + logs.CtxWarn(ctx, "start span failed, err=%v", err) + } span.SetCallType("EvalTarget") - ctx = looptracer.GetTracer().Inject(ctx) + // inject flow trace + ctx = looptracer.GetTracer().Inject(ctx) + if err != nil { + logs.CtxWarn(ctx, "Inject ctx failed, err=%v", err) + } if e.typedOperators[evalTargetDO.EvalTargetType] == nil { return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("target type not support")) } @@ -334,189 +334,12 @@ func (e *EvalTargetServiceImpl) ExecuteTarget(ctx context.Context, spaceID, targ return nil, errorx.NewByCode(errno.CommonInternalErrorCode, errorx.WithExtraMsg("[ExecuteTarget]outputData is nil")) } // setSpan - spanParam.TargetType = evalTargetDO.EvalTargetType.String() - spanParam.TargetID = strconv.FormatInt(targetID, 10) - spanParam.TargetVersion = strconv.FormatInt(targetVersionID, 10) - if outputData.EvalTargetRunError != nil { - span.SetError(ctx, errors.New(outputData.EvalTargetRunError.Message)) - } - setSpanInputOutput(ctx, spanParam, inputData, outputData) - - return record, nil -} - -func (e *EvalTargetServiceImpl) AsyncExecuteTarget(ctx context.Context, spaceID int64, targetID int64, targetVersionID int64, - param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData, -) (record *entity.EvalTargetRecord, callee string, err error) { - if inputData == nil || param == nil { - return nil, "", errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("AsyncExecuteTarget with invalid param")) - } - - evalTargetDO, err := e.GetEvalTargetVersion(ctx, spaceID, targetVersionID, false) - if err != nil { - return nil, "", err - } - - return e.asyncExecuteTarget(ctx, spaceID, evalTargetDO, param, inputData) -} - -func (e *EvalTargetServiceImpl) asyncExecuteTarget(ctx context.Context, spaceID int64, target *entity.EvalTarget, param *entity.ExecuteTargetCtx, - inputData *entity.EvalTargetInputData, -) (record *entity.EvalTargetRecord, callee string, err error) { - defer func(st time.Time) { e.metric.EmitRun(spaceID, err, st) }(time.Now()) // todo(@liushengyang): mtr - defer goroutine.Recovery(ctx) - - targetID := target.ID - targetVersionID := target.EvalTargetVersion.ID - - operator := e.typedOperators[target.EvalTargetType] - if operator == nil { - return nil, "", errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("target type not support")) - } - - if err := operator.ValidateInput(ctx, spaceID, target.EvalTargetVersion.InputSchema, inputData); err != nil { - return nil, "", err - } - - status := entity.EvalTargetRunStatusAsyncInvoking - outputData := &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{}, - EvalTargetUsage: &entity.EvalTargetUsage{InputTokens: 0, OutputTokens: 0}, - TimeConsumingMS: gptr.Of(int64(0)), - } - - invokeID, callee, execErr := operator.AsyncExecute(ctx, spaceID, &entity.ExecuteEvalTargetParam{ - TargetID: targetID, - VersionID: targetVersionID, - SourceTargetID: target.SourceTargetID, - SourceTargetVersion: target.EvalTargetVersion.SourceTargetVersion, - Input: inputData, - TargetType: target.EvalTargetType, - EvalTarget: target, - }) - if execErr != nil { - // If an asynchronous call fails, return immediately without logging the error or propagating the exception. - // Avoid triggering a follow-up process via an asynchronous callback after a successful return. - logs.CtxError(ctx, "async execute target failed, spaceID=%v, targetID=%d, targetVersionID=%d, param=%v, inputData=%v, err=%v", - spaceID, targetID, targetVersionID, json.Jsonify(param), json.Jsonify(inputData), execErr) - return nil, callee, execErr - } - - logs.CtxInfo(ctx, "AsyncExecute with invoke_id %v, callee: %v, target_id: %v, target_version_id: %v", invokeID, callee, targetID, targetVersionID) - - userID := session.UserIDInCtxOrEmpty(ctx) - record = &entity.EvalTargetRecord{ - ID: invokeID, - SpaceID: spaceID, - TargetID: targetID, - TargetVersionID: targetVersionID, - ExperimentRunID: gptr.Indirect(param.ExperimentRunID), - ItemID: param.ItemID, - TurnID: param.TurnID, - LogID: logs.GetLogID(ctx), - EvalTargetInputData: inputData, - EvalTargetOutputData: outputData, - Status: gptr.Of(status), - BaseInfo: &entity.BaseInfo{ - CreatedBy: &entity.UserInfo{ - UserID: gptr.Of(userID), - }, - UpdatedBy: &entity.UserInfo{ - UserID: gptr.Of(userID), - }, - CreatedAt: gptr.Of(time.Now().UnixMilli()), - UpdatedAt: gptr.Of(time.Now().UnixMilli()), - }, - } - if _, err := e.evalTargetRepo.CreateEvalTargetRecord(ctx, record); err != nil { - return nil, callee, err - } - - return record, callee, nil -} - -func (e *EvalTargetServiceImpl) DebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, err error) { - defer func(st time.Time) { e.metric.EmitRun(param.SpaceID, err, st) }(time.Now()) // todo(@liushengyang): mtr - defer goroutine.Recovery(ctx) - - operator := e.typedOperators[param.PatchyTarget.EvalTargetType] - if operator == nil { - return nil, errorx.NewByCode(errno.CommonInvalidParamCode, errorx.WithExtraMsg("target type not support")) - } - - if err := operator.ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData); err != nil { - return nil, err - } - - outputData, status, execErr := operator.Execute(ctx, param.SpaceID, &entity.ExecuteEvalTargetParam{ - Input: param.InputData, - TargetType: param.PatchyTarget.EvalTargetType, - EvalTarget: param.PatchyTarget, - }) - if execErr != nil { - logs.CtxError(ctx, "execute target failed, param=%v, err=%v", json.Jsonify(param), execErr) - status = entity.EvalTargetRunStatusFail - outputData = &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{}, - EvalTargetUsage: &entity.EvalTargetUsage{}, - EvalTargetRunError: &entity.EvalTargetRunError{}, - TimeConsumingMS: gptr.Of(int64(0)), - } - statusErr, ok := errorx.FromStatusError(execErr) - if ok { - outputData.EvalTargetRunError = &entity.EvalTargetRunError{ - Code: statusErr.Code(), - Message: errorx.ErrorWithoutStack(execErr), - } - } else { - outputData.EvalTargetRunError = &entity.EvalTargetRunError{ - Code: errno.CommonInternalErrorCode, - Message: execErr.Error(), - } - } - } - - userID := session.UserIDInCtxOrEmpty(ctx) - recordID, err := e.idgen.GenID(ctx) - if err != nil { - return nil, err - } - - record = &entity.EvalTargetRecord{ - ID: recordID, - SpaceID: param.SpaceID, - LogID: logs.GetLogID(ctx), - EvalTargetInputData: param.InputData, - EvalTargetOutputData: outputData, - Status: gptr.Of(status), - BaseInfo: &entity.BaseInfo{ - CreatedBy: &entity.UserInfo{ - UserID: gptr.Of(userID), - }, - UpdatedBy: &entity.UserInfo{ - UserID: gptr.Of(userID), - }, - CreatedAt: gptr.Of(time.Now().UnixMilli()), - UpdatedAt: gptr.Of(time.Now().UnixMilli()), - }, - } - if _, err := e.evalTargetRepo.CreateEvalTargetRecord(ctx, record); err != nil { - return nil, err - } + setSpanInputOutput(ctx, spanParam, evalTargetDO, inputData, outputData) return record, nil } -func (e *EvalTargetServiceImpl) AsyncDebugTarget(ctx context.Context, param *entity.DebugTargetParam) (record *entity.EvalTargetRecord, callee string, err error) { - return e.asyncExecuteTarget(ctx, param.SpaceID, param.PatchyTarget, &entity.ExecuteTargetCtx{}, param.InputData) -} - -func (e *EvalTargetServiceImpl) CreateRecord(ctx context.Context, record *entity.EvalTargetRecord) error { - _, err := e.evalTargetRepo.CreateEvalTargetRecord(ctx, record) - return err -} - -func (e *EvalTargetServiceImpl) GetRecordByID(ctx context.Context, spaceID int64, recordID int64) (*entity.EvalTargetRecord, error) { +func (e *EvalTargetServiceImpl) GetRecordByID(ctx context.Context, spaceID, recordID int64) (*entity.EvalTargetRecord, error) { return e.evalTargetRepo.GetEvalTargetRecordByIDAndSpaceID(ctx, spaceID, recordID) } @@ -528,79 +351,6 @@ func (e *EvalTargetServiceImpl) BatchGetRecordByIDs(ctx context.Context, spaceID return e.evalTargetRepo.ListEvalTargetRecordByIDsAndSpaceID(ctx, spaceID, recordIDs) } -func (e *EvalTargetServiceImpl) ReportInvokeRecords(ctx context.Context, param *entity.ReportTargetRecordParam) error { - record, err := e.evalTargetRepo.GetEvalTargetRecordByIDAndSpaceID(ctx, param.SpaceID, param.RecordID) - if err != nil { - return err - } - - if record == nil { - return errorx.NewByCode(errno.CommonBadRequestCode, errorx.WithExtraMsg(fmt.Sprintf("target record not found %d, space_id %d", param.RecordID, param.SpaceID))) - } - - if status := gptr.Indirect(record.Status); status != entity.EvalTargetRunStatusAsyncInvoking { - return errorx.NewByCode(errno.CommonBadRequestCode, errorx.WithExtraMsg(fmt.Sprintf("unexpected target result status %d", status))) - } - - record.EvalTargetOutputData = param.OutputData - record.Status = gptr.Of(param.Status) - if err := e.evalTargetRepo.SaveEvalTargetRecord(ctx, record); err != nil { - return err - } - - if err := e.emitTargetTrace(logs.SetLogID(ctx, record.LogID), record, param.Session); err != nil { - logs.CtxError(ctx, "emitTargetTrace fail, target_id: %v, target_version_id: %v, record_id: %v, err: %v", - record.TargetID, record.TargetVersionID, record.ID, err) - } - - return nil -} - -func (e *EvalTargetServiceImpl) emitTargetTrace(ctx context.Context, record *entity.EvalTargetRecord, session *entity.Session) error { - if record.EvalTargetOutputData == nil { - logs.CtxInfo(ctx, "emitTargetTrace with null data") - return nil - } - - ctx, span := looptracer.GetTracer().StartSpan(ctx, "EvalTarget", "eval_target", looptracer.WithStartNewTrace(), looptracer.WithSpanWorkspaceID(strconv.FormatInt(record.SpaceID, 10))) - span.SetCallType("EvalTarget") - ctx = looptracer.GetTracer().Inject(ctx) - - spanParam := &targetSpanTagsParams{ - Error: nil, - ErrCode: "", - CallType: "eval_target", - TargetID: strconv.FormatInt(record.TargetID, 10), - TargetVersion: strconv.FormatInt(record.TargetVersionID, 10), - } - setSpanInputOutput(ctx, spanParam, record.EvalTargetInputData, record.EvalTargetOutputData) - - if record.TargetVersionID > 0 { - evalTargetDO, err := e.GetEvalTargetVersion(ctx, record.SpaceID, record.TargetVersionID, false) - if err != nil { - return err - } - spanParam.TargetType = evalTargetDO.EvalTargetType.String() - } - - if record.EvalTargetOutputData.EvalTargetRunError != nil { - span.SetError(ctx, fmt.Errorf("code: %v, msg: %v", record.EvalTargetOutputData.EvalTargetRunError.Code, record.EvalTargetOutputData.EvalTargetRunError.Message)) - } - span.SetInput(ctx, Convert2TraceString(spanParam.Inputs)) - span.SetOutput(ctx, Convert2TraceString(spanParam.Outputs)) - span.SetInputTokens(ctx, int(spanParam.InputToken)) - span.SetOutputTokens(ctx, int(spanParam.OutputToken)) - span.SetUserID(ctx, session.UserID) - span.SetTags(ctx, map[string]any{ - "eval_target_type": spanParam.TargetType, - "eval_target_id": spanParam.TargetID, - "eval_target_version": spanParam.TargetVersion, - }) - span.Finish(ctx) - - return nil -} - func (e *EvalTargetServiceImpl) ValidateRuntimeParam(ctx context.Context, targetType entity.EvalTargetType, runtimeParam string) error { if len(runtimeParam) == 0 { return nil @@ -623,7 +373,11 @@ func (e *EvalTargetServiceImpl) sourceTargetOperator(targetType entity.EvalTarge return o, nil } -func setSpanInputOutput(ctx context.Context, spanParam *targetSpanTagsParams, inputData *entity.EvalTargetInputData, outputData *entity.EvalTargetOutputData) { +func setSpanInputOutput(ctx context.Context, spanParam *targetSpanTagsParams, do *entity.EvalTarget, inputData *entity.EvalTargetInputData, outputData *entity.EvalTargetOutputData) { + spanParam.TargetType = do.EvalTargetType.String() + spanParam.TargetID = do.SourceTargetID + spanParam.TargetVersion = do.EvalTargetVersion.SourceTargetVersion + if inputData != nil { spanParam.Inputs = map[string][]*tracespec.ModelMessagePart{} for key, content := range inputData.InputFields { diff --git a/backend/modules/evaluation/domain/service/target_impl_test.go b/backend/modules/evaluation/domain/service/target_impl_test.go index a9b152274..5272fb75f 100755 --- a/backend/modules/evaluation/domain/service/target_impl_test.go +++ b/backend/modules/evaluation/domain/service/target_impl_test.go @@ -5,167 +5,174 @@ package service import ( "context" - "encoding/json" + "errors" "testing" - "github.com/bytedance/gg/gptr" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" "go.uber.org/mock/gomock" + "github.com/bytedance/gg/gptr" + idgenmocks "github.com/coze-dev/coze-loop/backend/infra/idgen/mocks" - metricsmocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/metrics/mocks" + "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/metrics/mocks" "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" repomocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo/mocks" servicemocks "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/service/mocks" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/pkg/errno" - "github.com/coze-dev/coze-loop/backend/pkg/errorx" ) -type evalTargetServiceTestDeps struct { - repo *repomocks.MockIEvalTargetRepo - idgen *idgenmocks.MockIIDGenerator - metric *metricsmocks.MockEvalTargetMetrics - operator *servicemocks.MockISourceEvalTargetOperateService -} - -func TestEvalTargetServiceImpl_CreateEvalTarget(t *testing.T) { +func TestEvaluatorTargetServiceImpl_CreateEvalTarget(t *testing.T) { t.Parallel() - type args struct { + tests := []struct { + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) spaceID int64 sourceTargetID string sourceTargetVersion string targetType entity.EvalTargetType - } - - tests := []struct { - name string - args args - prepare func(ctx context.Context, deps *evalTargetServiceTestDeps) map[entity.EvalTargetType]ISourceEvalTargetOperateService - wantErr bool - wantErrCode int32 - wantID int64 - wantVersion int64 + wantID int64 + wantVersionID int64 + wantErr bool }{ { - name: "unsupported target type", - args: args{ - spaceID: 1, - sourceTargetID: "src", - sourceTargetVersion: "v1", - targetType: entity.EvalTargetTypeLoopPrompt, - }, - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps) map[entity.EvalTargetType]ISourceEvalTargetOperateService { - return map[entity.EvalTargetType]ISourceEvalTargetOperateService{} + name: "成功创建评估目标", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + evalTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockOperator.EXPECT().BuildBySource(gomock.Any(), int64(1), "target_123", "v1.0").Return(evalTarget, nil) + mockRepo.EXPECT().CreateEvalTarget(gomock.Any(), evalTarget).Return(int64(123), int64(456), nil) + mockMetric.EXPECT().EmitCreate(int64(1), nil) + + return mockRepo, mockIDGen, mockMetric, mockOperator }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + wantID: 123, + wantVersionID: 456, + wantErr: false, }, { - name: "build by source error", - args: args{ - spaceID: 1, - sourceTargetID: "src", - sourceTargetVersion: "v1", - targetType: entity.EvalTargetTypeLoopPrompt, - }, - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps) map[entity.EvalTargetType]ISourceEvalTargetOperateService { - deps.operator.EXPECT().BuildBySource(ctx, int64(1), "src", "v1").Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - return map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - entity.EvalTargetTypeLoopPrompt: deps.operator, - } + name: "不支持的目标类型", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + mockMetric.EXPECT().EmitCreate(int64(1), gomock.Any()) + + return mockRepo, mockIDGen, mockMetric, mockOperator }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: 99, // 不支持的类型 + wantErr: true, }, { - name: "build by source returns nil", - args: args{ - spaceID: 1, - sourceTargetID: "src", - sourceTargetVersion: "v1", - targetType: entity.EvalTargetTypeLoopPrompt, - }, - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps) map[entity.EvalTargetType]ISourceEvalTargetOperateService { - deps.operator.EXPECT().BuildBySource(ctx, int64(1), "src", "v1").Return(nil, nil) - return map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - entity.EvalTargetTypeLoopPrompt: deps.operator, - } + name: "BuildBySource返回错误", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + mockOperator.EXPECT().BuildBySource(gomock.Any(), int64(1), "target_123", "v1.0").Return(nil, errors.New("build error")) + mockMetric.EXPECT().EmitCreate(int64(1), gomock.Any()) + + return mockRepo, mockIDGen, mockMetric, mockOperator }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + wantErr: true, }, { - name: "success", - args: args{ - spaceID: 1, - sourceTargetID: "src", - sourceTargetVersion: "v1", - targetType: entity.EvalTargetTypeLoopPrompt, + name: "BuildBySource返回nil", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + mockOperator.EXPECT().BuildBySource(gomock.Any(), int64(1), "target_123", "v1.0").Return(nil, nil) + mockMetric.EXPECT().EmitCreate(int64(1), gomock.Any()) + + return mockRepo, mockIDGen, mockMetric, mockOperator }, - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps) map[entity.EvalTargetType]ISourceEvalTargetOperateService { - expectDO := &entity.EvalTarget{ + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + wantErr: true, + }, + { + name: "CreateEvalTarget失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *idgenmocks.MockIIDGenerator, *mocks.MockEvalTargetMetrics, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + evalTarget := &entity.EvalTarget{ + ID: 123, SpaceID: 1, - SourceTargetID: "src", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - } - deps.operator.EXPECT().BuildBySource(ctx, int64(1), "src", "v1").Return(expectDO, nil) - deps.repo.EXPECT().CreateEvalTarget(ctx, expectDO).Return(int64(11), int64(22), nil) - return map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - entity.EvalTargetTypeLoopPrompt: deps.operator, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, } + + mockOperator.EXPECT().BuildBySource(gomock.Any(), int64(1), "target_123", "v1.0").Return(evalTarget, nil) + mockRepo.EXPECT().CreateEvalTarget(gomock.Any(), evalTarget).Return(int64(0), int64(0), errors.New("repo error")) + mockMetric.EXPECT().EmitCreate(int64(1), gomock.Any()) + + return mockRepo, mockIDGen, mockMetric, mockOperator }, - wantID: 11, - wantVersion: 22, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } + mockRepo, mockIDGen, mockMetric, mockOperator := tt.setupMocks(ctrl) - typedOps := map[entity.EvalTargetType]ISourceEvalTargetOperateService{} - if tt.prepare != nil { - typedOps = tt.prepare(ctx, deps) + typedOperators := make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) + if tt.targetType == entity.EvalTargetTypeCozeBot { + typedOperators[entity.EvalTargetTypeCozeBot] = mockOperator } - deps.metric.EXPECT().EmitCreate(tt.args.spaceID, gomock.Any()).Times(1) - - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: typedOps, - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - gotID, gotVersion, err := svc.CreateEvalTarget(ctx, tt.args.spaceID, tt.args.sourceTargetID, tt.args.sourceTargetVersion, tt.args.targetType) + id, versionID, err := service.CreateEvalTarget(context.Background(), tt.spaceID, tt.sourceTargetID, tt.sourceTargetVersion, tt.targetType) if tt.wantErr { - require.Error(t, err) - if tt.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - require.True(t, ok) - assert.Equal(t, tt.wantErrCode, statusErr.Code()) - } - return + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.wantID, id) + assert.Equal(t, tt.wantVersionID, versionID) } - - require.NoError(t, err) - assert.Equal(t, tt.wantID, gotID) - assert.Equal(t, tt.wantVersion, gotVersion) }) } } @@ -173,377 +180,406 @@ func TestEvalTargetServiceImpl_CreateEvalTarget(t *testing.T) { func TestEvalTargetServiceImpl_GetEvalTargetVersion(t *testing.T) { t.Parallel() - ctx := context.Background() - type args struct { + tests := []struct { + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) spaceID int64 versionID int64 needSourceInfo bool - } - - tests := []struct { - name string - args args - prepare func(deps *evalTargetServiceTestDeps, expectDo *entity.EvalTarget) - wantErr bool + want *entity.EvalTarget + wantErr bool }{ { - name: "repo error", - args: args{spaceID: 1, versionID: 2, needSourceInfo: false}, - prepare: func(deps *evalTargetServiceTestDeps, expectDo *entity.EvalTarget) { - deps.repo.EXPECT().GetEvalTargetVersion(ctx, int64(1), int64(2)).Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) + name: "成功获取版本信息_不需要源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + return mockRepo, mockOperator + }, + spaceID: 1, + versionID: 456, + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + }, + wantErr: false, + }, + { + name: "成功获取版本信息_需要源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + mockOperator.EXPECT().PackSourceVersionInfo(gomock.Any(), int64(1), []*entity.EvalTarget{expectedTarget}).Return(nil) + + return mockRepo, mockOperator }, - wantErr: true, + spaceID: 1, + versionID: 456, + needSourceInfo: true, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + }, + wantErr: false, }, { - name: "need source info", - args: args{spaceID: 1, versionID: 2, needSourceInfo: true}, - prepare: func(deps *evalTargetServiceTestDeps, expectDo *entity.EvalTarget) { - deps.repo.EXPECT().GetEvalTargetVersion(ctx, int64(1), int64(2)).Return(expectDo, nil) - deps.operator.EXPECT().PackSourceVersionInfo(ctx, int64(1), []*entity.EvalTarget{expectDo}).Return(nil) + name: "获取版本失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(999)).Return(nil, errors.New("version not found")) + return mockRepo, mockOperator }, + spaceID: 1, + versionID: 999, + needSourceInfo: false, + wantErr: true, }, { - name: "without source info", - args: args{spaceID: 1, versionID: 2, needSourceInfo: false}, - prepare: func(deps *evalTargetServiceTestDeps, expectDo *entity.EvalTarget) { - deps.repo.EXPECT().GetEvalTargetVersion(ctx, int64(1), int64(2)).Return(expectDo, nil) + name: "打包源信息失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + mockOperator.EXPECT().PackSourceVersionInfo(gomock.Any(), int64(1), []*entity.EvalTarget{expectedTarget}).Return(errors.New("pack error")) + + return mockRepo, mockOperator }, + spaceID: 1, + versionID: 456, + needSourceInfo: true, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } - - expectDo := &entity.EvalTarget{ - ID: 3, - SpaceID: tt.args.spaceID, - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: tt.args.versionID, - }, - } + mockRepo, mockOperator := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - if tt.prepare != nil { - tt.prepare(deps, expectDo) + typedOperators := map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, } - typedOps := map[entity.EvalTargetType]ISourceEvalTargetOperateService{} - if tt.args.needSourceInfo { - typedOps[entity.EvalTargetTypeLoopPrompt] = deps.operator - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: typedOps, - } + result, err := service.GetEvalTargetVersion(context.Background(), tt.spaceID, tt.versionID, tt.needSourceInfo) - do, err := svc.GetEvalTargetVersion(ctx, tt.args.spaceID, tt.args.versionID, tt.args.needSourceInfo) if tt.wantErr { - require.Error(t, err) - return + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) } - - require.NoError(t, err) - assert.Equal(t, expectDo, do) }) } } -func TestEvalTargetServiceImpl_asyncExecuteTarget(t *testing.T) { +func TestEvalTargetServiceImpl_GetEvalTargetVersionBySourceTarget(t *testing.T) { t.Parallel() - type prepareFunc func(ctx context.Context, deps *evalTargetServiceTestDeps, target *entity.EvalTarget, input *entity.EvalTargetInputData) - tests := []struct { - name string - prepare prepareFunc - wantErr bool - wantErrCode int32 - expectCallee string - expectID int64 + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) + spaceID int64 + sourceTargetID string + sourceTargetVersion string + targetType entity.EvalTargetType + needSourceInfo bool + want *entity.EvalTarget + wantErr bool }{ { - name: "validate input failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, target *entity.EvalTarget, input *entity.EvalTargetInputData) { - deps.operator.EXPECT().ValidateInput(ctx, target.SpaceID, target.EvalTargetVersion.InputSchema, input).Return(errorx.NewByCode(errno.CommonInvalidParamCode)) - deps.metric.EXPECT().EmitRun(target.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "成功通过源目标获取版本_不需要源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockRepo.EXPECT().GetEvalTargetVersionBySourceTarget(gomock.Any(), int64(1), "target_123", "v1.0", entity.EvalTargetTypeCozeBot).Return(expectedTarget, nil) + return mockRepo, mockOperator + }, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, + wantErr: false, }, { - name: "async execute failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, target *entity.EvalTarget, input *entity.EvalTargetInputData) { - deps.operator.EXPECT().ValidateInput(ctx, target.SpaceID, target.EvalTargetVersion.InputSchema, input).Return(nil) - deps.operator.EXPECT().AsyncExecute(ctx, target.SpaceID, gomock.Any()).Return(int64(0), "callee", errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.metric.EXPECT().EmitRun(target.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "成功通过源目标获取版本_需要源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + } + + mockRepo.EXPECT().GetEvalTargetVersionBySourceTarget(gomock.Any(), int64(1), "target_123", "v1.0", entity.EvalTargetTypeCozeBot).Return(expectedTarget, nil) + mockOperator.EXPECT().PackSourceVersionInfo(gomock.Any(), int64(1), []*entity.EvalTarget{expectedTarget}).Return(nil) + + return mockRepo, mockOperator }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - expectCallee: "callee", + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + needSourceInfo: true, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + }, + wantErr: false, }, { - name: "success", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, target *entity.EvalTarget, input *entity.EvalTargetInputData) { - deps.operator.EXPECT().ValidateInput(ctx, target.SpaceID, target.EvalTargetVersion.InputSchema, input).Return(nil) - deps.operator.EXPECT().AsyncExecute(ctx, target.SpaceID, gomock.Any()).Return(int64(999), "callee", nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(999), nil) - deps.metric.EXPECT().EmitRun(target.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "通过源目标获取失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, *servicemocks.MockISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + mockRepo.EXPECT().GetEvalTargetVersionBySourceTarget(gomock.Any(), int64(1), "invalid_target", "v1.0", entity.EvalTargetTypeCozeBot).Return(nil, errors.New("target not found")) + return mockRepo, mockOperator }, - expectCallee: "callee", - expectID: 999, + spaceID: 1, + sourceTargetID: "invalid_target", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + needSourceInfo: false, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } - - target := &entity.EvalTarget{ - ID: 1, - SpaceID: 1, - SourceTargetID: "source", - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: 2, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("a")}, - }, - }, - } - input := &entity.EvalTargetInputData{InputFields: map[string]*entity.Content{"a": {ContentType: gptr.Of(entity.ContentTypeText)}}} - - typedOps := map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - entity.EvalTargetTypeCustomRPCServer: deps.operator, - } + mockRepo, mockOperator := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: typedOps, + typedOperators := map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, } - if tt.prepare != nil { - tt.prepare(ctx, deps, target, input) - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - record, callee, err := svc.asyncExecuteTarget(ctx, target.SpaceID, target, &entity.ExecuteTargetCtx{ItemID: 1, TurnID: 2}, input) + result, err := service.GetEvalTargetVersionBySourceTarget(context.Background(), tt.spaceID, tt.sourceTargetID, tt.sourceTargetVersion, tt.targetType, tt.needSourceInfo) if tt.wantErr { - require.Error(t, err) - statusErr, ok := errorx.FromStatusError(err) - require.True(t, ok) - assert.Equal(t, tt.wantErrCode, statusErr.Code()) - assert.Equal(t, tt.expectCallee, callee) - return + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) } - - require.NoError(t, err) - require.NotNil(t, record) - assert.Equal(t, tt.expectCallee, callee) - assert.Equal(t, tt.expectID, record.ID) - assert.Equal(t, entity.EvalTargetRunStatusAsyncInvoking, gptr.Indirect(record.Status)) }) } } -func TestEvalTargetServiceImpl_ExecuteTarget(t *testing.T) { +func TestEvalTargetServiceImpl_GetEvalTarget(t *testing.T) { t.Parallel() - type prepareResult struct { - typedOps map[entity.EvalTargetType]ISourceEvalTargetOperateService - expectedOutput *entity.EvalTargetOutputData - } - tests := []struct { - name string - prepare func(ctx context.Context, deps *evalTargetServiceTestDeps, evalTarget *entity.EvalTarget, input *entity.EvalTargetInputData) prepareResult - wantStatus entity.EvalTargetRunStatus - wantErrCode int32 + name string + setupMocks func(*gomock.Controller) *repomocks.MockIEvalTargetRepo + targetID int64 + want *entity.EvalTarget + wantErr bool }{ { - name: "success", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, evalTarget *entity.EvalTarget, input *entity.EvalTargetInputData) prepareResult { - outputData := &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{ - "answer": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("ok"), - }, - }, - EvalTargetUsage: &entity.EvalTargetUsage{InputTokens: 1, OutputTokens: 2}, - } - deps.operator.EXPECT().ValidateInput(ctx, evalTarget.SpaceID, evalTarget.EvalTargetVersion.InputSchema, input).Return(nil) - deps.operator.EXPECT().Execute(ctx, evalTarget.SpaceID, gomock.Any()).DoAndReturn(func(_ context.Context, _ int64, param *entity.ExecuteEvalTargetParam) (*entity.EvalTargetOutputData, entity.EvalTargetRunStatus, error) { - assert.Equal(t, evalTarget.ID, param.TargetID) - assert.Equal(t, evalTarget.EvalTargetVersion.ID, param.VersionID) - assert.Equal(t, evalTarget.SourceTargetID, param.SourceTargetID) - assert.Equal(t, evalTarget.EvalTargetType, param.TargetType) - return outputData, entity.EvalTargetRunStatusSuccess, nil - }) - return prepareResult{ - typedOps: map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - evalTarget.EvalTargetType: deps.operator, - }, - expectedOutput: outputData, - } - }, - wantStatus: entity.EvalTargetRunStatusSuccess, - }, - { - name: "validate input failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, evalTarget *entity.EvalTarget, input *entity.EvalTargetInputData) prepareResult { - deps.operator.EXPECT().ValidateInput(ctx, evalTarget.SpaceID, evalTarget.EvalTargetVersion.InputSchema, input).Return(errorx.NewByCode(errno.CommonInvalidParamCode)) - return prepareResult{ - typedOps: map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - evalTarget.EvalTargetType: deps.operator, - }, + name: "成功获取评估目标", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, } + + mockRepo.EXPECT().GetEvalTarget(gomock.Any(), int64(123)).Return(expectedTarget, nil) + return mockRepo }, - wantStatus: entity.EvalTargetRunStatusFail, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "execute failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, evalTarget *entity.EvalTarget, input *entity.EvalTargetInputData) prepareResult { - deps.operator.EXPECT().ValidateInput(ctx, evalTarget.SpaceID, evalTarget.EvalTargetVersion.InputSchema, input).Return(nil) - deps.operator.EXPECT().Execute(ctx, evalTarget.SpaceID, gomock.Any()).Return(nil, entity.EvalTargetRunStatusFail, errorx.NewByCode(errno.CommonInternalErrorCode)) - return prepareResult{ - typedOps: map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - evalTarget.EvalTargetType: deps.operator, - }, - } + targetID: 123, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, }, - wantStatus: entity.EvalTargetRunStatusFail, - wantErrCode: errno.CommonInternalErrorCode, + wantErr: false, }, { - name: "execute returns nil output", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, evalTarget *entity.EvalTarget, input *entity.EvalTargetInputData) prepareResult { - deps.operator.EXPECT().ValidateInput(ctx, evalTarget.SpaceID, evalTarget.EvalTargetVersion.InputSchema, input).Return(nil) - deps.operator.EXPECT().Execute(ctx, evalTarget.SpaceID, gomock.Any()).Return(nil, entity.EvalTargetRunStatusSuccess, nil) - return prepareResult{ - typedOps: map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - evalTarget.EvalTargetType: deps.operator, - }, - } + name: "获取失败", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().GetEvalTarget(gomock.Any(), int64(999)).Return(nil, errors.New("not found")) + return mockRepo }, - wantStatus: entity.EvalTargetRunStatusFail, - wantErrCode: errno.CommonInternalErrorCode, + targetID: 999, + wantErr: true, }, } - for _, tc := range tests { - tcase := tc - t.Run(tcase.name, func(t *testing.T) { + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { t.Parallel() - ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } + mockRepo := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - evalTarget := &entity.EvalTarget{ - ID: 200, - SpaceID: 100, - SourceTargetID: "src-id", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: 300, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("field")}, - }, - }, + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, nil) + + result, err := service.GetEvalTarget(context.Background(), tt.targetID) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) } + }) + } +} - input := &entity.EvalTargetInputData{ - InputFields: map[string]*entity.Content{ - "field": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("hello"), - }, +func TestEvalTargetServiceImpl_GenerateMockOutputData(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + outputSchemas []*entity.ArgsSchema + want map[string]string + wantErr bool + }{ + { + name: "空schema列表", + outputSchemas: []*entity.ArgsSchema{}, + want: map[string]string{}, + wantErr: false, + }, + { + name: "有效schema生成mock数据", + outputSchemas: []*entity.ArgsSchema{ + { + Key: gptr.Of("output1"), + JsonSchema: gptr.Of(`{"type": "string"}`), }, - } + { + Key: gptr.Of("output2"), + JsonSchema: gptr.Of(`{"type": "number"}`), + }, + }, + want: map[string]string{}, // 实际内容由jsonmock生成,这里只验证不为空 + wantErr: false, + }, + { + name: "无效schema使用默认值", + outputSchemas: []*entity.ArgsSchema{ + { + Key: gptr.Of("invalid_output"), + JsonSchema: gptr.Of(`invalid json`), + }, + }, + want: map[string]string{ + "invalid_output": "{}", + }, + wantErr: false, + }, + } - param := &entity.ExecuteTargetCtx{ - ExperimentRunID: gptr.Of(int64(555)), - ItemID: 777, - TurnID: 888, - } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() - deps.repo.EXPECT().GetEvalTargetVersion(ctx, evalTarget.SpaceID, evalTarget.EvalTargetVersion.ID).Return(evalTarget, nil) - deps.metric.EXPECT().EmitRun(evalTarget.SpaceID, gomock.Any(), gomock.Any()).Times(1) - deps.idgen.EXPECT().GenID(ctx).Return(int64(9999), nil) + ctrl := gomock.NewController(t) + defer ctrl.Finish() - var savedRecord *entity.EvalTargetRecord - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).DoAndReturn(func(_ context.Context, rec *entity.EvalTargetRecord) (int64, error) { - savedRecord = rec - return rec.ID, nil - }) + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - prepareRes := tcase.prepare(ctx, deps, evalTarget, input) + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, nil) - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: prepareRes.typedOps, - } + result, err := service.GenerateMockOutputData(tt.outputSchemas) - record, err := svc.ExecuteTarget(ctx, evalTarget.SpaceID, evalTarget.ID, evalTarget.EvalTargetVersion.ID, param, input) - require.NoError(t, err) - require.NotNil(t, record) - require.NotNil(t, savedRecord) - assert.Equal(t, savedRecord, record) - assert.Equal(t, int64(9999), record.ID) - assert.Equal(t, tcase.wantStatus, gptr.Indirect(record.Status)) - - if prepareRes.expectedOutput != nil { - assert.Equal(t, prepareRes.expectedOutput, record.EvalTargetOutputData) - assert.Nil(t, record.EvalTargetOutputData.EvalTargetRunError) + if tt.wantErr { + assert.Error(t, err) } else { - if assert.NotNil(t, record.EvalTargetOutputData) { - if tcase.wantErrCode == 0 { - assert.Nil(t, record.EvalTargetOutputData.EvalTargetRunError) - } else { - if assert.NotNil(t, record.EvalTargetOutputData.EvalTargetRunError) { - assert.Equal(t, tcase.wantErrCode, record.EvalTargetOutputData.EvalTargetRunError.Code) - } + assert.NoError(t, err) + assert.Equal(t, len(tt.outputSchemas), len(result)) + + // 对于有效的schema,验证生成的数据不为空 + for _, schema := range tt.outputSchemas { + if schema.Key != nil { + value, exists := result[*schema.Key] + assert.True(t, exists) + assert.NotEmpty(t, value) } } } @@ -551,878 +587,1038 @@ func TestEvalTargetServiceImpl_ExecuteTarget(t *testing.T) { } } -func TestEvalTargetServiceImpl_ReportInvokeRecords(t *testing.T) { +func TestEvalTargetServiceImpl_EdgeCases(t *testing.T) { t.Parallel() - ctx := context.Background() - tests := []struct { - name string - prepare func(deps *evalTargetServiceTestDeps, param *entity.ReportTargetRecordParam, record *entity.EvalTargetRecord) - wantErr bool - errCode int32 + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) + spaceID int64 + versionID int64 + needSourceInfo bool + want *entity.EvalTarget + wantErr bool }{ { - name: "record query error", - prepare: func(deps *evalTargetServiceTestDeps, param *entity.ReportTargetRecordParam, record *entity.EvalTargetRecord) { - deps.repo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(ctx, param.SpaceID, param.RecordID).Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) + name: "成功获取版本信息_无需源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + } + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + return mockRepo, nil }, - wantErr: true, - errCode: errno.CommonInternalErrorCode, + spaceID: 1, + versionID: 456, + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + }, + wantErr: false, }, { - name: "record not found", - prepare: func(deps *evalTargetServiceTestDeps, param *entity.ReportTargetRecordParam, record *entity.EvalTargetRecord) { - deps.repo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(ctx, param.SpaceID, param.RecordID).Return(nil, nil) + name: "成功获取版本信息_需要源信息", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + } + + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + mockOperator.EXPECT().PackSourceVersionInfo(gomock.Any(), int64(1), []*entity.EvalTarget{expectedTarget}).Return(nil) + + typedOperators := map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, + } + return mockRepo, typedOperators }, - wantErr: true, - errCode: errno.CommonBadRequestCode, + spaceID: 1, + versionID: 456, + needSourceInfo: true, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + }, + wantErr: false, }, { - name: "status not async", - prepare: func(deps *evalTargetServiceTestDeps, param *entity.ReportTargetRecordParam, record *entity.EvalTargetRecord) { - status := entity.EvalTargetRunStatusSuccess - record.Status = &status - deps.repo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(ctx, param.SpaceID, param.RecordID).Return(record, nil) + name: "获取版本失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(999)).Return(nil, errors.New("version not found")) + return mockRepo, nil }, - wantErr: true, - errCode: errno.CommonBadRequestCode, + spaceID: 1, + versionID: 999, + needSourceInfo: false, + wantErr: true, }, { - name: "success", - prepare: func(deps *evalTargetServiceTestDeps, param *entity.ReportTargetRecordParam, record *entity.EvalTargetRecord) { - status := entity.EvalTargetRunStatusAsyncInvoking - record.Status = &status - record.EvalTargetOutputData = &entity.EvalTargetOutputData{} - deps.repo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(ctx, param.SpaceID, param.RecordID).Return(record, nil) - var saved *entity.EvalTargetRecord - deps.repo.EXPECT().SaveEvalTargetRecord(gomock.Any(), gomock.Any()).DoAndReturn(func(_ context.Context, rec *entity.EvalTargetRecord) error { - saved = rec - return nil - }) - deps.repo.EXPECT().GetEvalTargetVersion(gomock.Any(), record.SpaceID, record.TargetVersionID).Return(&entity.EvalTarget{EvalTargetType: entity.EvalTargetTypeCustomRPCServer}, nil) - deps.repo.EXPECT().CreateEvalTargetRecord(gomock.Any(), gomock.Any()).AnyTimes() - deps.metric.EXPECT().EmitRun(gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - param.Session = &entity.Session{UserID: "user"} - param.OutputData = &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{ - "key": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("value"), - }, - }, - EvalTargetUsage: &entity.EvalTargetUsage{InputTokens: 1, OutputTokens: 2}, - EvalTargetRunError: &entity.EvalTargetRunError{Code: 1, Message: "oops"}, - TimeConsumingMS: gptr.Of(int64(10)), + name: "包装源信息失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, } - deps.metric.EXPECT().EmitRun(gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() + mockRepo.EXPECT().GetEvalTargetVersion(gomock.Any(), int64(1), int64(456)).Return(expectedTarget, nil) + mockOperator.EXPECT().PackSourceVersionInfo(gomock.Any(), int64(1), []*entity.EvalTarget{expectedTarget}).Return(errors.New("pack source info failed")) - t.Cleanup(func() { - require.NotNil(t, saved) - assert.Equal(t, param.OutputData, saved.EvalTargetOutputData) - assert.Equal(t, param.Status, gptr.Indirect(saved.Status)) - }) + typedOperators := map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, + } + return mockRepo, typedOperators }, + spaceID: 1, + versionID: 456, + needSourceInfo: true, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } + mockRepo, typedOperators := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: map[entity.EvalTargetType]ISourceEvalTargetOperateService{}, + if typedOperators == nil { + typedOperators = make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) } - record := &entity.EvalTargetRecord{ - ID: 1, - SpaceID: 1, - TargetID: 2, - TargetVersionID: 3, - Status: gptr.Of(entity.EvalTargetRunStatusAsyncInvoking), - } - param := &entity.ReportTargetRecordParam{ - SpaceID: 1, - RecordID: 1, - Status: entity.EvalTargetRunStatusSuccess, - OutputData: &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{}, - }, - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - if tt.prepare != nil { - tt.prepare(deps, param, record) - } + result, err := service.GetEvalTargetVersion(context.Background(), tt.spaceID, tt.versionID, tt.needSourceInfo) - err := svc.ReportInvokeRecords(ctx, param) if tt.wantErr { - require.Error(t, err) - statusErr, ok := errorx.FromStatusError(err) - require.True(t, ok) - assert.Equal(t, tt.errCode, statusErr.Code()) - return + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) } - - require.NoError(t, err) }) } } -type fakeRuntimeParam struct { - parseErr error -} - -func (f *fakeRuntimeParam) GetJSONDemo() string { return "{}" } -func (f *fakeRuntimeParam) GetJSONValue() string { return "{}" } -func (f *fakeRuntimeParam) ParseFromJSON(string) (entity.IRuntimeParam, error) { - if f.parseErr != nil { - return nil, f.parseErr - } - return &fakeRuntimeParam{}, nil -} - -func TestEvalTargetServiceImpl_ValidateRuntimeParam(t *testing.T) { - t.Parallel() - - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - operator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) - operator.EXPECT().RuntimeParam().Return(&fakeRuntimeParam{parseErr: nil}).Times(1) - - svc := &EvalTargetServiceImpl{ - typedOperators: map[entity.EvalTargetType]ISourceEvalTargetOperateService{ - entity.EvalTargetTypeLoopPrompt: operator, - }, - } - - require.NoError(t, svc.ValidateRuntimeParam(context.Background(), entity.EvalTargetTypeLoopPrompt, "{}")) - - err := svc.ValidateRuntimeParam(context.Background(), entity.EvalTargetTypeLoopPrompt, "") - require.NoError(t, err) - - err = svc.ValidateRuntimeParam(context.Background(), entity.EvalTargetTypeCustomRPCServer, "{}") - require.Error(t, err) -} - -func TestSetSpanInputOutput(t *testing.T) { +func TestEvalTargetServiceImpl_MoreEdgeCases(t *testing.T) { t.Parallel() - textType := entity.ContentTypeText - imageType := entity.ContentTypeImage - tests := []struct { - name string - input *entity.EvalTargetInputData - output *entity.EvalTargetOutputData - wantInputs int - wantOutputs int + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) + spaceID int64 + sourceTargetID string + sourceTargetVersion string + targetType entity.EvalTargetType + needSourceInfo bool + want *entity.EvalTarget + wantErr bool }{ { - name: "text content", - input: &entity.EvalTargetInputData{InputFields: map[string]*entity.Content{ - "text": {ContentType: &textType, Text: gptr.Of("hello")}, - }}, - output: &entity.EvalTargetOutputData{OutputFields: map[string]*entity.Content{ - "text": {ContentType: &textType, Text: gptr.Of("world")}, - }, EvalTargetUsage: &entity.EvalTargetUsage{InputTokens: 1, OutputTokens: 2}}, - wantInputs: 1, - wantOutputs: 1, - }, - { - name: "image content", - input: &entity.EvalTargetInputData{InputFields: map[string]*entity.Content{ - "image": {ContentType: &imageType, Image: &entity.Image{Name: gptr.Of("img"), URL: gptr.Of("http://img")}}, - }}, - output: &entity.EvalTargetOutputData{OutputFields: map[string]*entity.Content{}}, - wantInputs: 1, - wantOutputs: 0, + name: "成功获取源目标版本", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + } + + mockRepo.EXPECT().GetEvalTargetVersionBySourceTarget(gomock.Any(), int64(1), "target_123", "v1.0", entity.EvalTargetTypeCozeBot).Return(expectedTarget, nil) + return mockRepo, nil + }, + spaceID: 1, + sourceTargetID: "target_123", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + }, + wantErr: false, }, { - name: "nil", - input: nil, - output: nil, - wantInputs: 0, - wantOutputs: 0, + name: "获取失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().GetEvalTargetVersionBySourceTarget(gomock.Any(), int64(1), "target_999", "v1.0", entity.EvalTargetTypeCozeBot).Return(nil, errors.New("not found")) + return mockRepo, nil + }, + spaceID: 1, + sourceTargetID: "target_999", + sourceTargetVersion: "v1.0", + targetType: entity.EvalTargetTypeCozeBot, + needSourceInfo: false, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - spanParam := &targetSpanTagsParams{} - setSpanInputOutput(context.Background(), spanParam, tt.input, tt.output) - assert.Len(t, spanParam.Inputs, tt.wantInputs) - assert.Len(t, spanParam.Outputs, tt.wantOutputs) - }) - } -} -func TestToTraceParts(t *testing.T) { - t.Parallel() + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo, typedOperators := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + if typedOperators == nil { + typedOperators = make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) + } + + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) + + result, err := service.GetEvalTargetVersionBySourceTarget(context.Background(), tt.spaceID, tt.sourceTargetID, tt.sourceTargetVersion, tt.targetType, tt.needSourceInfo) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } + }) + } +} - textType := entity.ContentTypeText - imageType := entity.ContentTypeImage - multipartType := entity.ContentTypeMultipart +func TestEvalTargetServiceImpl_GetEvalTargetVersionBySource(t *testing.T) { + t.Parallel() tests := []struct { - name string - content *entity.Content - wantLen int + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) + spaceID int64 + targetID int64 + sourceVersion string + needSourceInfo bool + want *entity.EvalTarget + wantErr bool }{ { - name: "text", - content: &entity.Content{ - ContentType: &textType, - Text: gptr.Of("hello"), + name: "成功找到匹配版本", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + versions := []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "456", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 789, + SourceTargetVersion: "v1.0", + }, + }, + } + + mockRepo.EXPECT().BatchGetEvalTargetBySource(gomock.Any(), gomock.Any()).Return(versions, nil) + return mockRepo, nil }, - wantLen: 1, - }, - { - name: "image", - content: &entity.Content{ - ContentType: &imageType, - Image: &entity.Image{ - Name: gptr.Of("img"), - URL: gptr.Of("http://img"), + spaceID: 1, + targetID: 456, + sourceVersion: "v1.0", + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "456", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 789, + SourceTargetVersion: "v1.0", }, }, - wantLen: 1, + wantErr: false, }, { - name: "multipart", - content: &entity.Content{ - ContentType: &multipartType, - MultiPart: []*entity.Content{ - {ContentType: &textType, Text: gptr.Of("part1")}, - {ContentType: &textType, Text: gptr.Of("part2")}, - }, + name: "未找到匹配版本", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + versions := []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "456", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 789, + SourceTargetVersion: "v2.0", // 不匹配 + }, + }, + } + + mockRepo.EXPECT().BatchGetEvalTargetBySource(gomock.Any(), gomock.Any()).Return(versions, nil) + return mockRepo, nil }, - wantLen: 2, + spaceID: 1, + targetID: 456, + sourceVersion: "v1.0", + needSourceInfo: false, + wantErr: true, }, { - name: "unknown", - content: &entity.Content{ - ContentType: nil, + name: "批量查询失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().BatchGetEvalTargetBySource(gomock.Any(), gomock.Any()).Return(nil, errors.New("query failed")) + return mockRepo, nil }, - wantLen: 1, + spaceID: 1, + targetID: 456, + sourceVersion: "v1.0", + needSourceInfo: false, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - parts := toTraceParts(context.Background(), tt.content) - assert.Len(t, parts, tt.wantLen) + + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo, typedOperators := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + if typedOperators == nil { + typedOperators = make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) + } + + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) + + result, err := service.GetEvalTargetVersionBySource(context.Background(), tt.spaceID, tt.targetID, tt.sourceVersion, tt.needSourceInfo) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } }) } } -func TestConvert2TraceString(t *testing.T) { +func TestEvalTargetServiceImpl_GetEvalTargetVersionByTarget(t *testing.T) { t.Parallel() tests := []struct { - name string - input interface{} - want string + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) + spaceID int64 + targetID int64 + sourceTargetVersion string + needSourceInfo bool + want *entity.EvalTarget + wantErr bool }{ { - name: "nil", - input: nil, - want: "", + name: "成功获取目标版本", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedTarget := &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_456", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 789, + SourceTargetVersion: "v1.0", + }, + } + + mockRepo.EXPECT().GetEvalTargetVersionByTarget(gomock.Any(), int64(1), int64(456), "v1.0").Return(expectedTarget, nil) + return mockRepo, nil + }, + spaceID: 1, + targetID: 456, + sourceTargetVersion: "v1.0", + needSourceInfo: false, + want: &entity.EvalTarget{ + ID: 123, + SpaceID: 1, + SourceTargetID: "target_456", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 789, + SourceTargetVersion: "v1.0", + }, + }, + wantErr: false, }, { - name: "map", - input: map[string]string{"a": "b"}, - want: "{\"a\":\"b\"}", + name: "获取失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().GetEvalTargetVersionByTarget(gomock.Any(), int64(1), int64(999), "v1.0").Return(nil, errors.New("not found")) + return mockRepo, nil + }, + spaceID: 1, + targetID: 999, + sourceTargetVersion: "v1.0", + needSourceInfo: false, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - got := Convert2TraceString(tt.input) - if tt.input == nil { - assert.Equal(t, tt.want, got) - return + + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo, typedOperators := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + if typedOperators == nil { + typedOperators = make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) } - var expect interface{} - require.NoError(t, json.Unmarshal([]byte(tt.want), &expect)) + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - var actual interface{} - require.NoError(t, json.Unmarshal([]byte(got), &actual)) - assert.Equal(t, expect, actual) + result, err := service.GetEvalTargetVersionByTarget(context.Background(), tt.spaceID, tt.targetID, tt.sourceTargetVersion, tt.needSourceInfo) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } }) } } -func TestEvalTargetServiceImpl_GenerateMockOutputData(t *testing.T) { +func TestEvalTargetServiceImpl_BatchGetEvalTargetBySource(t *testing.T) { t.Parallel() - svc := &EvalTargetServiceImpl{} - - validSchema := `{"type":"object","properties":{"name":{"type":"string"}}}` - invalidSchema := "invalid" - tests := []struct { - name string - schemas []*entity.ArgsSchema - wantLen int + name string + setupMocks func(*gomock.Controller) *repomocks.MockIEvalTargetRepo + param *entity.BatchGetEvalTargetBySourceParam + want []*entity.EvalTarget + wantErr bool }{ { - name: "empty schema", - schemas: nil, - wantLen: 0, - }, - { - name: "valid schema", - schemas: []*entity.ArgsSchema{ - {Key: gptr.Of("name"), JsonSchema: &validSchema}, + name: "成功批量获取", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedTargets := []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + }, + } + + mockRepo.EXPECT().BatchGetEvalTargetBySource(gomock.Any(), gomock.Any()).Return(expectedTargets, nil) + return mockRepo + }, + param: &entity.BatchGetEvalTargetBySourceParam{ + SpaceID: 1, + SourceTargetID: []string{"target_123"}, + TargetType: entity.EvalTargetTypeCozeBot, + }, + want: []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + }, }, - wantLen: 1, + wantErr: false, }, { - name: "invalid schema", - schemas: []*entity.ArgsSchema{ - {Key: gptr.Of("invalid"), JsonSchema: &invalidSchema}, + name: "查询失败", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().BatchGetEvalTargetBySource(gomock.Any(), gomock.Any()).Return(nil, errors.New("query failed")) + return mockRepo + }, + param: &entity.BatchGetEvalTargetBySourceParam{ + SpaceID: 1, + SourceTargetID: []string{"target_123"}, + TargetType: entity.EvalTargetTypeCozeBot, }, - wantLen: 1, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - result, err := svc.GenerateMockOutputData(tt.schemas) - require.NoError(t, err) - assert.Len(t, result, tt.wantLen) + + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, nil) + + result, err := service.BatchGetEvalTargetBySource(context.Background(), tt.param) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } }) } } -func TestBuildPageByCursor(t *testing.T) { +func TestEvalTargetServiceImpl_BatchGetEvalTargetVersion(t *testing.T) { t.Parallel() tests := []struct { - name string - cursor *string - wantPage int32 - wantErr bool + name string + setupMocks func(*gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) + spaceID int64 + versionIDs []int64 + needSourceInfo bool + want []*entity.EvalTarget + wantErr bool }{ { - name: "nil cursor", - cursor: nil, - wantPage: 1, - }, - { - name: "valid cursor", - cursor: gptr.Of("5"), - wantPage: 5, + name: "成功批量获取版本", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedVersions := []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + }, + } + + mockRepo.EXPECT().BatchGetEvalTargetVersion(gomock.Any(), int64(1), []int64{456}).Return(expectedVersions, nil) + return mockRepo, nil + }, + spaceID: 1, + versionIDs: []int64{456}, + needSourceInfo: false, + want: []*entity.EvalTarget{ + { + ID: 123, + SpaceID: 1, + SourceTargetID: "target_123", + EvalTargetType: entity.EvalTargetTypeCozeBot, + EvalTargetVersion: &entity.EvalTargetVersion{ + ID: 456, + SourceTargetVersion: "v1.0", + }, + }, + }, + wantErr: false, }, { - name: "invalid cursor", - cursor: gptr.Of("abc"), - wantErr: true, + name: "查询失败", + setupMocks: func(ctrl *gomock.Controller) (*repomocks.MockIEvalTargetRepo, map[entity.EvalTargetType]ISourceEvalTargetOperateService) { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().BatchGetEvalTargetVersion(gomock.Any(), int64(1), []int64{999}).Return(nil, errors.New("query failed")) + return mockRepo, nil + }, + spaceID: 1, + versionIDs: []int64{999}, + needSourceInfo: false, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - page, err := buildPageByCursor(tt.cursor) - if tt.wantErr { - require.Error(t, err) - return + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo, typedOperators := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + if typedOperators == nil { + typedOperators = make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) } - require.NoError(t, err) - assert.Equal(t, tt.wantPage, page) + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) + + result, err := service.BatchGetEvalTargetVersion(context.Background(), tt.spaceID, tt.versionIDs, tt.needSourceInfo) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } }) } } -func TestEvalTargetServiceImpl_DebugTarget(t *testing.T) { +func TestEvalTargetServiceImpl_GetRecordByID(t *testing.T) { t.Parallel() - type prepareFunc func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) - tests := []struct { - name string - prepare prepareFunc - wantErr bool - wantErrCode int32 - wantStatus entity.EvalTargetRunStatus + name string + setupMocks func(*gomock.Controller) *repomocks.MockIEvalTargetRepo + spaceID int64 + recordID int64 + want *entity.EvalTargetRecord + wantErr bool }{ { - name: "unsupported target type", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - // 不设置任何 operator,模拟不支持的类型 - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) - }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "validate input failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(errorx.NewByCode(errno.CommonInvalidParamCode)) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "成功获取记录", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedRecord := &entity.EvalTargetRecord{ + ID: 123, + SpaceID: 1, + TargetID: 456, + TargetVersionID: 789, + } + + mockRepo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(gomock.Any(), int64(1), int64(123)).Return(expectedRecord, nil) + return mockRepo }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "execute failed with status error", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(nil) - deps.operator.EXPECT().Execute(ctx, param.SpaceID, gomock.Any()).Return(nil, entity.EvalTargetRunStatusFail, errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.idgen.EXPECT().GenID(ctx).Return(int64(999), nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(999), nil) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + spaceID: 1, + recordID: 123, + want: &entity.EvalTargetRecord{ + ID: 123, + SpaceID: 1, + TargetID: 456, + TargetVersionID: 789, }, - wantStatus: entity.EvalTargetRunStatusFail, + wantErr: false, }, { - name: "execute failed with common error", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(nil) - deps.operator.EXPECT().Execute(ctx, param.SpaceID, gomock.Any()).Return(nil, entity.EvalTargetRunStatusFail, errorx.New("common error")) - deps.idgen.EXPECT().GenID(ctx).Return(int64(999), nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(999), nil) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "获取失败", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().GetEvalTargetRecordByIDAndSpaceID(gomock.Any(), int64(1), int64(999)).Return(nil, errors.New("not found")) + return mockRepo }, - wantStatus: entity.EvalTargetRunStatusFail, + spaceID: 1, + recordID: 999, + wantErr: true, }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, nil) + + result, err := service.GetRecordByID(context.Background(), tt.spaceID, tt.recordID) + + if tt.wantErr { + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) + } + }) + } +} + +func TestEvalTargetServiceImpl_BatchGetRecordByIDs(t *testing.T) { + t.Parallel() + + tests := []struct { + name string + setupMocks func(*gomock.Controller) *repomocks.MockIEvalTargetRepo + spaceID int64 + recordIDs []int64 + want []*entity.EvalTargetRecord + wantErr bool + }{ { - name: "execute success", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - outputData := &entity.EvalTargetOutputData{ - OutputFields: map[string]*entity.Content{ - "answer": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("test answer"), - }, + name: "成功批量获取记录", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + + expectedRecords := []*entity.EvalTargetRecord{ + { + ID: 123, + SpaceID: 1, + TargetID: 456, + TargetVersionID: 789, }, - EvalTargetUsage: &entity.EvalTargetUsage{ - InputTokens: 10, - OutputTokens: 20, + { + ID: 124, + SpaceID: 1, + TargetID: 457, + TargetVersionID: 790, }, } - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(nil) - deps.operator.EXPECT().Execute(ctx, param.SpaceID, gomock.Any()).DoAndReturn(func(_ context.Context, _ int64, execParam *entity.ExecuteEvalTargetParam) (*entity.EvalTargetOutputData, entity.EvalTargetRunStatus, error) { - assert.Equal(t, param.InputData, execParam.Input) - assert.Equal(t, param.PatchyTarget.EvalTargetType, execParam.TargetType) - assert.Equal(t, param.PatchyTarget, execParam.EvalTarget) - return outputData, entity.EvalTargetRunStatusSuccess, nil - }) - deps.idgen.EXPECT().GenID(ctx).Return(int64(999), nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(999), nil) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + + mockRepo.EXPECT().ListEvalTargetRecordByIDsAndSpaceID(gomock.Any(), int64(1), []int64{123, 124}).Return(expectedRecords, nil) + return mockRepo }, - wantStatus: entity.EvalTargetRunStatusSuccess, + spaceID: 1, + recordIDs: []int64{123, 124}, + want: []*entity.EvalTargetRecord{ + { + ID: 123, + SpaceID: 1, + TargetID: 456, + TargetVersionID: 789, + }, + { + ID: 124, + SpaceID: 1, + TargetID: 457, + TargetVersionID: 790, + }, + }, + wantErr: false, + }, + { + name: "spaceID为0", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + // 不应该调用仓储方法 + return mockRepo + }, + spaceID: 0, + recordIDs: []int64{123}, + wantErr: true, }, { - name: "idgen error", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(nil) - deps.operator.EXPECT().Execute(ctx, param.SpaceID, gomock.Any()).Return(&entity.EvalTargetOutputData{}, entity.EvalTargetRunStatusSuccess, nil) - deps.idgen.EXPECT().GenID(ctx).Return(int64(0), errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "recordIDs为空", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + // 不应该调用仓储方法 + return mockRepo }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, + spaceID: 1, + recordIDs: []int64{}, + wantErr: true, }, { - name: "create record error", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, param *entity.DebugTargetParam) { - deps.operator.EXPECT().ValidateInput(ctx, param.SpaceID, param.PatchyTarget.EvalTargetVersion.InputSchema, param.InputData).Return(nil) - deps.operator.EXPECT().Execute(ctx, param.SpaceID, gomock.Any()).Return(&entity.EvalTargetOutputData{}, entity.EvalTargetRunStatusSuccess, nil) - deps.idgen.EXPECT().GenID(ctx).Return(int64(999), nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(0), errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.metric.EXPECT().EmitRun(param.SpaceID, gomock.Any(), gomock.Any()).Times(1) + name: "查询失败", + setupMocks: func(ctrl *gomock.Controller) *repomocks.MockIEvalTargetRepo { + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockRepo.EXPECT().ListEvalTargetRecordByIDsAndSpaceID(gomock.Any(), int64(1), []int64{999}).Return(nil, errors.New("query failed")) + return mockRepo }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, + spaceID: 1, + recordIDs: []int64{999}, + wantErr: true, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } - - param := &entity.DebugTargetParam{ - SpaceID: 100, - PatchyTarget: &entity.EvalTarget{ - ID: 200, - SpaceID: 100, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: 300, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - { - Key: gptr.Of("input_field"), - SupportContentTypes: []entity.ContentType{entity.ContentTypeText}, - JsonSchema: gptr.Of(`{"type":"string"}`), - }, - }, - }, - }, - InputData: &entity.EvalTargetInputData{ - InputFields: map[string]*entity.Content{ - "input_field": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("test input"), - }, - }, - }, - } - - typedOps := map[entity.EvalTargetType]ISourceEvalTargetOperateService{} - if tt.prepare != nil { - tt.prepare(ctx, deps, param) - // 只有在 prepare 函数中设置了 operator 时才添加到 typedOps - if tt.name != "unsupported target type" { - typedOps[entity.EvalTargetTypeLoopPrompt] = deps.operator - } - } + mockRepo := tt.setupMocks(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: typedOps, - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, nil) - record, err := svc.DebugTarget(ctx, param) + result, err := service.BatchGetRecordByIDs(context.Background(), tt.spaceID, tt.recordIDs) if tt.wantErr { - require.Error(t, err) - if tt.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - require.True(t, ok) - assert.Equal(t, tt.wantErrCode, statusErr.Code()) - } - return + assert.Error(t, err) + assert.Nil(t, result) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.want, result) } - - require.NoError(t, err) - require.NotNil(t, record) - assert.Equal(t, int64(999), record.ID) - assert.Equal(t, param.SpaceID, record.SpaceID) - assert.Equal(t, param.InputData, record.EvalTargetInputData) - assert.Equal(t, tt.wantStatus, gptr.Indirect(record.Status)) - - // 验证 BaseInfo 字段 - require.NotNil(t, record.BaseInfo) - require.NotNil(t, record.BaseInfo.CreatedBy) - require.NotNil(t, record.BaseInfo.UpdatedBy) - require.NotNil(t, record.BaseInfo.CreatedAt) - require.NotNil(t, record.BaseInfo.UpdatedAt) }) } } -func TestEvalTargetServiceImpl_AsyncExecuteTarget(t *testing.T) { +func TestEvalTargetServiceImpl_ValidateRuntimeParam(t *testing.T) { t.Parallel() - type prepareFunc func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) - tests := []struct { name string - prepare prepareFunc + setupMocks func(*gomock.Controller) map[entity.EvalTargetType]ISourceEvalTargetOperateService + targetType entity.EvalTargetType + runtimeParam string wantErr bool - wantErrCode int32 - expectCallee string - expectID int64 }{ { - name: "nil input data", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - // 不设置任何 mock,因为会在参数验证阶段失败 + name: "空参数直接返回成功", + setupMocks: func(ctrl *gomock.Controller) map[entity.EvalTargetType]ISourceEvalTargetOperateService { + return make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, + targetType: entity.EvalTargetTypeCozeBot, + runtimeParam: "", + wantErr: false, }, { - name: "nil param", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - // 不设置任何 mock,因为会在参数验证阶段失败 - }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "get eval target version failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(nil, errorx.NewByCode(errno.CommonInternalErrorCode)) - }, - wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - }, - { - name: "unsupported target type", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - evalTarget := &entity.EvalTarget{ - ID: targetID, - SpaceID: spaceID, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("input_field")}, - }, - }, + name: "成功验证运行时参数", + setupMocks: func(ctrl *gomock.Controller) map[entity.EvalTargetType]ISourceEvalTargetOperateService { + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + mockRuntimeParam := &entity.DummyRuntimeParam{} + + mockOperator.EXPECT().RuntimeParam().Return(mockRuntimeParam) + + return map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, } - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(evalTarget, nil) - deps.metric.EXPECT().EmitRun(spaceID, gomock.Any(), gomock.Any()).Times(1) }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, + targetType: entity.EvalTargetTypeCozeBot, + runtimeParam: `{"timeout": 30}`, + wantErr: false, }, { - name: "validate input failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - evalTarget := &entity.EvalTarget{ - ID: targetID, - SpaceID: spaceID, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("input_field")}, - }, - }, - } - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(evalTarget, nil) - deps.operator.EXPECT().ValidateInput(ctx, spaceID, evalTarget.EvalTargetVersion.InputSchema, inputData).Return(errorx.NewByCode(errno.CommonInvalidParamCode)) - deps.metric.EXPECT().EmitRun(spaceID, gomock.Any(), gomock.Any()).Times(1) - }, - wantErr: true, - wantErrCode: errno.CommonInvalidParamCode, - }, - { - name: "async execute failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - evalTarget := &entity.EvalTarget{ - ID: targetID, - SpaceID: spaceID, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("input_field")}, - }, - }, - } - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(evalTarget, nil) - deps.operator.EXPECT().ValidateInput(ctx, spaceID, evalTarget.EvalTargetVersion.InputSchema, inputData).Return(nil) - deps.operator.EXPECT().AsyncExecute(ctx, spaceID, gomock.Any()).Return(int64(0), "callee", errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.metric.EXPECT().EmitRun(spaceID, gomock.Any(), gomock.Any()).Times(1) + name: "不支持的目标类型", + setupMocks: func(ctrl *gomock.Controller) map[entity.EvalTargetType]ISourceEvalTargetOperateService { + return make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) }, + targetType: 99, // 不存在的类型 + runtimeParam: `{"timeout": 30}`, wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - expectCallee: "callee", }, { - name: "create record failed", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - evalTarget := &entity.EvalTarget{ - ID: targetID, - SpaceID: spaceID, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("input_field")}, - }, - }, + name: "JSON解析失败", + setupMocks: func(ctrl *gomock.Controller) map[entity.EvalTargetType]ISourceEvalTargetOperateService { + // 创建一个自定义的RuntimeParam实现来模拟解析失败 + mockOperator := servicemocks.NewMockISourceEvalTargetOperateService(ctrl) + + // 使用真实的PromptRuntimeParam来测试解析错误 + mockOperator.EXPECT().RuntimeParam().Return(entity.NewPromptRuntimeParam(nil)) + + return map[entity.EvalTargetType]ISourceEvalTargetOperateService{ + entity.EvalTargetTypeCozeBot: mockOperator, } - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(evalTarget, nil) - deps.operator.EXPECT().ValidateInput(ctx, spaceID, evalTarget.EvalTargetVersion.InputSchema, inputData).Return(nil) - deps.operator.EXPECT().AsyncExecute(ctx, spaceID, gomock.Any()).Return(int64(999), "callee", nil) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(0), errorx.NewByCode(errno.CommonInternalErrorCode)) - deps.metric.EXPECT().EmitRun(spaceID, gomock.Any(), gomock.Any()).Times(1) }, + targetType: entity.EvalTargetTypeCozeBot, + runtimeParam: `invalid json syntax`, wantErr: true, - wantErrCode: errno.CommonInternalErrorCode, - expectCallee: "callee", - }, - { - name: "success", - prepare: func(ctx context.Context, deps *evalTargetServiceTestDeps, spaceID int64, targetID int64, targetVersionID int64, param *entity.ExecuteTargetCtx, inputData *entity.EvalTargetInputData) { - evalTarget := &entity.EvalTarget{ - ID: targetID, - SpaceID: spaceID, - SourceTargetID: "test-source", - EvalTargetType: entity.EvalTargetTypeLoopPrompt, - EvalTargetVersion: &entity.EvalTargetVersion{ - ID: targetVersionID, - SourceTargetVersion: "v1", - InputSchema: []*entity.ArgsSchema{ - {Key: gptr.Of("input_field")}, - }, - }, - } - deps.repo.EXPECT().GetEvalTargetVersion(ctx, spaceID, targetVersionID).Return(evalTarget, nil) - deps.operator.EXPECT().ValidateInput(ctx, spaceID, evalTarget.EvalTargetVersion.InputSchema, inputData).Return(nil) - deps.operator.EXPECT().AsyncExecute(ctx, spaceID, gomock.Any()).DoAndReturn(func(_ context.Context, _ int64, execParam *entity.ExecuteEvalTargetParam) (int64, string, error) { - assert.Equal(t, targetID, execParam.TargetID) - assert.Equal(t, targetVersionID, execParam.VersionID) - assert.Equal(t, "test-source", execParam.SourceTargetID) - assert.Equal(t, "v1", execParam.SourceTargetVersion) - assert.Equal(t, inputData, execParam.Input) - assert.Equal(t, entity.EvalTargetTypeLoopPrompt, execParam.TargetType) - assert.Equal(t, evalTarget, execParam.EvalTarget) - return int64(999), "callee", nil - }) - deps.repo.EXPECT().CreateEvalTargetRecord(ctx, gomock.Any()).Return(int64(999), nil) - deps.metric.EXPECT().EmitRun(spaceID, gomock.Any(), gomock.Any()).Times(1) - }, - expectCallee: "callee", - expectID: 999, }, } for _, tt := range tests { - tt := tt t.Run(tt.name, func(t *testing.T) { t.Parallel() - ctx := context.Background() ctrl := gomock.NewController(t) defer ctrl.Finish() - deps := &evalTargetServiceTestDeps{ - repo: repomocks.NewMockIEvalTargetRepo(ctrl), - idgen: idgenmocks.NewMockIIDGenerator(ctrl), - metric: metricsmocks.NewMockEvalTargetMetrics(ctrl), - operator: servicemocks.NewMockISourceEvalTargetOperateService(ctrl), - } + typedOperators := tt.setupMocks(ctrl) + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) - spaceID := int64(100) - targetID := int64(200) - targetVersionID := int64(300) - param := &entity.ExecuteTargetCtx{ - ExperimentRunID: gptr.Of(int64(555)), - ItemID: 777, - TurnID: 888, - } - inputData := &entity.EvalTargetInputData{ - InputFields: map[string]*entity.Content{ - "input_field": { - ContentType: gptr.Of(entity.ContentTypeText), - Text: gptr.Of("test input"), - }, - }, - } + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) - // 根据测试用例设置不同的参数 - var testParam *entity.ExecuteTargetCtx - var testInputData *entity.EvalTargetInputData - switch tt.name { - case "nil input data": - testParam = param - testInputData = nil - case "nil param": - testParam = nil - testInputData = inputData - default: - testParam = param - testInputData = inputData - } + err := service.ValidateRuntimeParam(context.Background(), tt.targetType, tt.runtimeParam) - typedOps := map[entity.EvalTargetType]ISourceEvalTargetOperateService{} - if tt.prepare != nil { - tt.prepare(ctx, deps, spaceID, targetID, targetVersionID, testParam, testInputData) - // 只有在 prepare 函数中设置了 operator 时才添加到 typedOps - if tt.name != "unsupported target type" { - typedOps[entity.EvalTargetTypeLoopPrompt] = deps.operator - } + if tt.wantErr { + assert.Error(t, err) + } else { + assert.NoError(t, err) } + }) + } +} - svc := &EvalTargetServiceImpl{ - evalTargetRepo: deps.repo, - idgen: deps.idgen, - metric: deps.metric, - typedOperators: typedOps, - } +func TestBuildPageByCursor(t *testing.T) { + t.Parallel() - record, callee, err := svc.AsyncExecuteTarget(ctx, spaceID, targetID, targetVersionID, testParam, testInputData) + tests := []struct { + name string + cursor *string + wantPage int32 + wantErr bool + }{ + { + name: "cursor为nil_返回第1页", + cursor: nil, + wantPage: 1, + wantErr: false, + }, + { + name: "cursor为有效数字", + cursor: gptr.Of("5"), + wantPage: 5, + wantErr: false, + }, + { + name: "cursor为无效字符串", + cursor: gptr.Of("invalid"), + wantErr: true, + }, + { + name: "cursor为0", + cursor: gptr.Of("0"), + wantPage: 0, + wantErr: false, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + page, err := buildPageByCursor(tt.cursor) if tt.wantErr { - require.Error(t, err) - if tt.wantErrCode != 0 { - statusErr, ok := errorx.FromStatusError(err) - require.True(t, ok) - assert.Equal(t, tt.wantErrCode, statusErr.Code()) - } - assert.Equal(t, tt.expectCallee, callee) - return + assert.Error(t, err) + } else { + assert.NoError(t, err) + assert.Equal(t, tt.wantPage, page) } + }) + } +} + +func TestConvert2TraceString(t *testing.T) { + t.Parallel() - require.NoError(t, err) - require.NotNil(t, record) - assert.Equal(t, tt.expectCallee, callee) - assert.Equal(t, tt.expectID, record.ID) - assert.Equal(t, spaceID, record.SpaceID) - assert.Equal(t, targetID, record.TargetID) - assert.Equal(t, targetVersionID, record.TargetVersionID) - assert.Equal(t, param.ItemID, record.ItemID) - assert.Equal(t, param.TurnID, record.TurnID) - assert.Equal(t, inputData, record.EvalTargetInputData) - assert.Equal(t, entity.EvalTargetRunStatusAsyncInvoking, gptr.Indirect(record.Status)) - - // 验证 BaseInfo 字段 - require.NotNil(t, record.BaseInfo) - require.NotNil(t, record.BaseInfo.CreatedBy) - require.NotNil(t, record.BaseInfo.UpdatedBy) - require.NotNil(t, record.BaseInfo.CreatedAt) - require.NotNil(t, record.BaseInfo.UpdatedAt) + tests := []struct { + name string + input interface{} + want string + }{ + { + name: "nil输入", + input: nil, + want: "", + }, + { + name: "字符串输入", + input: "test string", + want: `"test string"`, + }, + { + name: "数字输入", + input: 123, + want: "123", + }, + { + name: "对象输入", + input: map[string]interface{}{ + "key": "value", + }, + want: `{"key":"value"}`, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + t.Parallel() + + result := Convert2TraceString(tt.input) + assert.Equal(t, tt.want, result) }) } } + +func TestNewEvalTargetServiceImpl(t *testing.T) { + t.Parallel() + + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockRepo := repomocks.NewMockIEvalTargetRepo(ctrl) + mockIDGen := idgenmocks.NewMockIIDGenerator(ctrl) + mockMetric := mocks.NewMockEvalTargetMetrics(ctrl) + typedOperators := make(map[entity.EvalTargetType]ISourceEvalTargetOperateService) + + service := NewEvalTargetServiceImpl(mockRepo, mockIDGen, mockMetric, typedOperators) + + assert.NotNil(t, service) + + impl, ok := service.(*EvalTargetServiceImpl) + assert.True(t, ok) + assert.Equal(t, mockRepo, impl.evalTargetRepo) + assert.Equal(t, mockIDGen, impl.idgen) + assert.Equal(t, mockMetric, impl.metric) + assert.Equal(t, typedOperators, impl.typedOperators) +} diff --git a/backend/modules/evaluation/domain/service/target_source.go b/backend/modules/evaluation/domain/service/target_source.go index 87cc8c834..97e41e383 100644 --- a/backend/modules/evaluation/domain/service/target_source.go +++ b/backend/modules/evaluation/domain/service/target_source.go @@ -28,10 +28,7 @@ type ISourceEvalTargetOperateService interface { ValidateInput(ctx context.Context, spaceID int64, inputSchema []*entity.ArgsSchema, input *entity.EvalTargetInputData) error // Execute Execute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (outputData *entity.EvalTargetOutputData, status entity.EvalTargetRunStatus, err error) - AsyncExecute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (invokeID int64, callee string, err error) RuntimeParam() entity.IRuntimeParam - // 搜索自定义评测对象 - SearchCustomEvalTarget(ctx context.Context, param *entity.SearchCustomEvalTargetParam) (targets []*entity.CustomEvalTarget, nextCursor string, hasMore bool, err error) } //type Option func(option *Opt) diff --git a/backend/modules/evaluation/domain/service/target_source_loopprompt_impl.go b/backend/modules/evaluation/domain/service/target_source_loopprompt_impl.go index feec8ab32..be6fcb759 100644 --- a/backend/modules/evaluation/domain/service/target_source_loopprompt_impl.go +++ b/backend/modules/evaluation/domain/service/target_source_loopprompt_impl.go @@ -33,10 +33,6 @@ type PromptSourceEvalTargetServiceImpl struct { promptRPCAdapter rpc.IPromptRPCAdapter } -func (t *PromptSourceEvalTargetServiceImpl) AsyncExecute(ctx context.Context, spaceID int64, param *entity.ExecuteEvalTargetParam) (int64, string, error) { - return 0, "", errorx.New("async execute not supported") -} - func (t *PromptSourceEvalTargetServiceImpl) RuntimeParam() entity.IRuntimeParam { return entity.NewPromptRuntimeParam(nil) } @@ -477,7 +473,3 @@ func (t *PromptSourceEvalTargetServiceImpl) BatchGetSource(ctx context.Context, } return targets, nil } - -func (t *PromptSourceEvalTargetServiceImpl) SearchCustomEvalTarget(ctx context.Context, param *entity.SearchCustomEvalTargetParam) (targets []*entity.CustomEvalTarget, nextCursor string, hasMore bool, err error) { - return nil, "", false, nil -} diff --git a/backend/modules/evaluation/infra/metrics/eval_target/emit.go b/backend/modules/evaluation/infra/metrics/eval_target/emit.go index 780c89153..f02b8f482 100644 --- a/backend/modules/evaluation/infra/metrics/eval_target/emit.go +++ b/backend/modules/evaluation/infra/metrics/eval_target/emit.go @@ -73,7 +73,7 @@ func (e *EvalTargetMetricsImpl) EmitRun(spaceID int64, err error, start time.Tim } func (e *EvalTargetMetricsImpl) EmitCreate(spaceID int64, err error) { - if e == nil || e.metric == nil { + if e.metric == nil { return } code, isError := eval_metrics.GetCode(err) diff --git a/backend/modules/evaluation/infra/metrics/evaluation_set/emit.go b/backend/modules/evaluation/infra/metrics/evaluation_set/emit.go index 1b0887985..755606af6 100644 --- a/backend/modules/evaluation/infra/metrics/evaluation_set/emit.go +++ b/backend/modules/evaluation/infra/metrics/evaluation_set/emit.go @@ -5,7 +5,6 @@ package metrics import ( "strconv" - "sync" "github.com/coze-dev/coze-loop/backend/infra/metrics" eval_metrics "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component/metrics" @@ -31,23 +30,15 @@ func evaluationSetEvalMtrTags() []string { } } -var ( - evalSetMetricsOnce = sync.Once{} - evalSetMetricsImpl eval_metrics.EvaluationSetMetrics -) - func NewEvaluationSetMetrics(meter metrics.Meter) eval_metrics.EvaluationSetMetrics { - evalSetMetricsOnce.Do(func() { - if meter == nil { - return - } - metric, err := meter.NewMetric(evaluationSetMtrName, []metrics.MetricType{metrics.MetricTypeCounter, metrics.MetricTypeTimer}, evaluationSetEvalMtrTags()) - if err != nil { - return - } - evalSetMetricsImpl = &EvaluationSetMetricsImpl{metric: metric} - }) - return evalSetMetricsImpl + if meter == nil { + return nil + } + metric, err := meter.NewMetric(evaluationSetMtrName, []metrics.MetricType{metrics.MetricTypeCounter, metrics.MetricTypeTimer}, evaluationSetEvalMtrTags()) + if err != nil { + return nil + } + return &EvaluationSetMetricsImpl{metric: metric} } type EvaluationSetMetricsImpl struct { diff --git a/backend/modules/evaluation/infra/metrics/evaluation_set/emit_test.go b/backend/modules/evaluation/infra/metrics/evaluation_set/emit_test.go index dd39fa763..f8436adfe 100644 --- a/backend/modules/evaluation/infra/metrics/evaluation_set/emit_test.go +++ b/backend/modules/evaluation/infra/metrics/evaluation_set/emit_test.go @@ -73,11 +73,6 @@ func TestNewEvaluationSetMetrics(t *testing.T) { meter: nil, want: nil, }, - { - name: "meter", - meter: metrics.GetMeter(), - want: nil, - }, } for _, tt := range tests { diff --git a/backend/modules/evaluation/infra/metrics/evaluator/emit.go b/backend/modules/evaluation/infra/metrics/evaluator/emit.go index fe2a4cbb4..73752b7cc 100644 --- a/backend/modules/evaluation/infra/metrics/evaluator/emit.go +++ b/backend/modules/evaluation/infra/metrics/evaluator/emit.go @@ -5,7 +5,6 @@ package evaluator import ( "strconv" - "sync" "time" "github.com/coze-dev/coze-loop/backend/infra/metrics" @@ -29,11 +28,6 @@ const ( tagModelID = "model_id" ) -var ( - evaluatorMetricsOnce = sync.Once{} - evaluatorMetricsImpl eval_metrics.EvaluatorExecMetrics -) - func evaluatorEvalMtrTags() []string { return []string{ tagSpaceID, @@ -44,17 +38,14 @@ func evaluatorEvalMtrTags() []string { } func NewEvaluatorMetrics(meter metrics.Meter) eval_metrics.EvaluatorExecMetrics { - evaluatorMetricsOnce.Do(func() { - if meter == nil { - return - } - metric, err := meter.NewMetric(evaluatorMtrName, []metrics.MetricType{metrics.MetricTypeCounter, metrics.MetricTypeTimer}, evaluatorEvalMtrTags()) - if err != nil { - return - } - evaluatorMetricsImpl = &EvaluatorExecMetricsImpl{metric: metric} - }) - return evaluatorMetricsImpl + if meter == nil { + return nil + } + metric, err := meter.NewMetric(evaluatorMtrName, []metrics.MetricType{metrics.MetricTypeCounter, metrics.MetricTypeTimer}, evaluatorEvalMtrTags()) + if err != nil { + return nil + } + return &EvaluatorExecMetricsImpl{metric: metric} } type EvaluatorExecMetricsImpl struct { @@ -76,7 +67,7 @@ func (e *EvaluatorExecMetricsImpl) EmitRun(spaceID int64, err error, start time. } func (e *EvaluatorExecMetricsImpl) EmitCreate(spaceID int64, err error) { - if e == nil || e.metric == nil { + if e.metric == nil { return } code, isError := eval_metrics.GetCode(err) diff --git a/backend/modules/evaluation/infra/metrics/evaluator/emit_test.go b/backend/modules/evaluation/infra/metrics/evaluator/emit_test.go index 3db73e1d6..53666a8ab 100644 --- a/backend/modules/evaluation/infra/metrics/evaluator/emit_test.go +++ b/backend/modules/evaluation/infra/metrics/evaluator/emit_test.go @@ -134,11 +134,6 @@ func TestNewEvaluatorMetrics(t *testing.T) { meter: nil, want: nil, }, - { - name: "meter", - meter: metrics.GetMeter(), - want: nil, - }, } for _, tt := range tests { diff --git a/backend/modules/evaluation/infra/repo/experiment/item_turn_eval_async.go b/backend/modules/evaluation/infra/repo/experiment/item_turn_eval_async.go deleted file mode 100644 index ee585f45d..000000000 --- a/backend/modules/evaluation/infra/repo/experiment/item_turn_eval_async.go +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package experiment - -import ( - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/repo" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/redis/dao" -) - -type EvalAsyncRepoImpl struct { - dao.IEvalAsyncDAO -} - -func NewEvalAsyncRepo(dao dao.IEvalAsyncDAO) repo.IEvalAsyncRepo { - return &EvalAsyncRepoImpl{IEvalAsyncDAO: dao} -} diff --git a/backend/modules/evaluation/infra/repo/experiment/redis/convert/item_turn_eval_async.go b/backend/modules/evaluation/infra/repo/experiment/redis/convert/item_turn_eval_async.go deleted file mode 100644 index 2ab20b7ae..000000000 --- a/backend/modules/evaluation/infra/repo/experiment/redis/convert/item_turn_eval_async.go +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package convert - -import ( - "github.com/samber/lo" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/pkg/errorx" - "github.com/coze-dev/coze-loop/backend/pkg/json" -) - -func NewExptItemTurnEvalAsyncCtx() *ExptItemTurnEvalAsyncCtxConverter { - return &ExptItemTurnEvalAsyncCtxConverter{} -} - -type ExptItemTurnEvalAsyncCtxConverter struct{} - -func (ExptItemTurnEvalAsyncCtxConverter) FromDO(actx *entity.EvalAsyncCtx) ([]byte, error) { - bytes, err := json.Marshal(actx) - if err != nil { - return nil, errorx.Wrapf(err, "EvalAsyncCtx json marshal failed") - } - return bytes, nil -} - -func (ExptItemTurnEvalAsyncCtxConverter) ToDO(b []byte) (*entity.EvalAsyncCtx, error) { - actx := &entity.EvalAsyncCtx{} - bytes := toBytes(b) - if err := lo.TernaryF( - len(bytes) > 0, - func() error { return json.Unmarshal(bytes, actx) }, - func() error { return nil }, - ); err != nil { - return nil, errorx.Wrapf(err, "QuotaSpaceExpt json unmarshal failed") - } - return actx, nil -} diff --git a/backend/modules/evaluation/infra/repo/experiment/redis/dao/item_turn_eval_async.go b/backend/modules/evaluation/infra/repo/experiment/redis/dao/item_turn_eval_async.go deleted file mode 100644 index 985f88836..000000000 --- a/backend/modules/evaluation/infra/repo/experiment/redis/dao/item_turn_eval_async.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package dao - -import ( - "context" - "fmt" - "time" - - "github.com/coze-dev/coze-loop/backend/infra/redis" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/repo/experiment/redis/convert" - "github.com/coze-dev/coze-loop/backend/pkg/errorx" - "github.com/coze-dev/coze-loop/backend/pkg/lang/conv" -) - -type IEvalAsyncDAO interface { - SetEvalAsyncCtx(ctx context.Context, invokeID string, actx *entity.EvalAsyncCtx) error - GetEvalAsyncCtx(ctx context.Context, invokeID string) (*entity.EvalAsyncCtx, error) -} - -func NewEvalAsyncDAO(cmdable redis.Cmdable) IEvalAsyncDAO { - const table = "experiment" - return &evalAsyncDAOImpl{cmdable: cmdable, table: table} -} - -type evalAsyncDAOImpl struct { - cmdable redis.Cmdable - table string -} - -func (e *evalAsyncDAOImpl) makeExptItemTurnEvalAsyncCtxKey(invokeID string) string { - return fmt.Sprintf("[%s]item_turn_eval_async_ctx:%s", e.table, invokeID) -} - -func (e *evalAsyncDAOImpl) SetEvalAsyncCtx(ctx context.Context, invokeID string, actx *entity.EvalAsyncCtx) error { - bytes, err := convert.NewExptItemTurnEvalAsyncCtx().FromDO(actx) - if err != nil { - return err - } - key := e.makeExptItemTurnEvalAsyncCtxKey(invokeID) - if err := e.cmdable.Set(ctx, key, bytes, time.Hour*12).Err(); err != nil { - return errorx.Wrapf(err, "redis set key: %v", key) - } - return nil -} - -func (e *evalAsyncDAOImpl) GetEvalAsyncCtx(ctx context.Context, invokeID string) (*entity.EvalAsyncCtx, error) { - key := e.makeExptItemTurnEvalAsyncCtxKey(invokeID) - got, err := e.cmdable.Get(ctx, key).Result() - if err != nil { - return nil, errorx.Wrapf(err, "redis get fail, key: %v", key) - } - return convert.NewExptItemTurnEvalAsyncCtx().ToDO(conv.UnsafeStringToBytes(got)) -} diff --git a/backend/modules/evaluation/infra/repo/target/eval_target_repo_impl.go b/backend/modules/evaluation/infra/repo/target/eval_target_repo_impl.go index 993207e07..2f08da402 100644 --- a/backend/modules/evaluation/infra/repo/target/eval_target_repo_impl.go +++ b/backend/modules/evaluation/infra/repo/target/eval_target_repo_impl.go @@ -325,11 +325,3 @@ func (e *EvalTargetRepoImpl) ListEvalTargetRecordByIDsAndSpaceID(ctx context.Con return res, nil } - -func (e *EvalTargetRepoImpl) SaveEvalTargetRecord(ctx context.Context, record *entity.EvalTargetRecord) error { - po, err := convertor.EvalTargetRecordDO2PO(record) - if err != nil { - return err - } - return e.evalTargetRecordDao.Save(ctx, po) -} diff --git a/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target.go b/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target.go index 72ad23140..ef7d44a90 100644 --- a/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target.go +++ b/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target.go @@ -63,11 +63,6 @@ func EvalTargetVersionDO2PO(do *entity.EvalTargetVersion) (po *model.TargetVersi if err != nil { return nil, err } - case entity.EvalTargetTypeCustomRPCServer: - meta, err = json.Marshal(do.CustomRPCServer) - if err != nil { - return nil, err - } } if do.InputSchema != nil { inputSchema, err = json.Marshal(do.InputSchema) @@ -205,11 +200,6 @@ func EvalTargetVersionPO2DO(targetVersionPO *model.TargetVersion, targetType ent if err := json.Unmarshal(*targetVersionPO.TargetMeta, meta); err == nil { targetVersionDO.VolcengineAgent = meta } - case entity.EvalTargetTypeCustomRPCServer: - meta := &entity.CustomRPCServer{} - if err := json.Unmarshal(*targetVersionPO.TargetMeta, meta); err == nil { - targetVersionDO.CustomRPCServer = meta - } default: // todo } diff --git a/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target_test.go b/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target_test.go index 5824d387c..757994820 100755 --- a/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target_test.go +++ b/backend/modules/evaluation/infra/repo/target/mysql/convertor/eval_target_test.go @@ -158,26 +158,6 @@ func TestEvalTargetVersionDO2PO(t *testing.T) { assert.NotNil(t, po.TargetMeta) }, }, - { - name: "自定义对象版本转换", - do: &entity.EvalTargetVersion{ - ID: 1, - SpaceID: 2, - TargetID: 3, - SourceTargetVersion: "v2.0", - EvalTargetType: entity.EvalTargetTypeCustomRPCServer, - CustomRPCServer: &entity.CustomRPCServer{ - Name: "Test Prompt", - Description: "Test prompt description", - }, - }, - expectError: false, - checkResult: func(t *testing.T, po *model.TargetVersion) { - assert.Equal(t, int64(1), po.ID) - assert.Equal(t, "v2.0", po.SourceTargetVersion) - assert.NotNil(t, po.TargetMeta) - }, - }, } for _, tt := range tests { @@ -376,23 +356,6 @@ func TestEvalTargetVersionPO2DO(t *testing.T) { assert.Equal(t, int64(1), do.ID) }, }, - { - name: "自定义对象的版本转换", - targetVersionPO: &model.TargetVersion{ - ID: 1, - SpaceID: 2, - TargetID: 3, - SourceTargetVersion: "v2.0", - TargetMeta: gptr.Of([]byte(`{"id":1}`)), - CreatedAt: time.Now(), - UpdatedAt: time.Now(), - }, - targetType: entity.EvalTargetTypeCustomRPCServer, - checkResult: func(t *testing.T, do *entity.EvalTargetVersion) { - assert.NotNil(t, do) - assert.Equal(t, int64(1), do.ID) - }, - }, } for _, tt := range tests { diff --git a/backend/modules/evaluation/infra/repo/target/mysql/eval_target_record.go b/backend/modules/evaluation/infra/repo/target/mysql/eval_target_record.go index 9be1c3575..f08b3bddc 100644 --- a/backend/modules/evaluation/infra/repo/target/mysql/eval_target_record.go +++ b/backend/modules/evaluation/infra/repo/target/mysql/eval_target_record.go @@ -20,8 +20,7 @@ import ( //go:generate mockgen -destination=mocks/eval_target_record.go -package=mocks . EvalTargetRecordDAO type EvalTargetRecordDAO interface { Create(ctx context.Context, record *model.TargetRecord) (id int64, err error) - Save(ctx context.Context, record *model.TargetRecord) error - GetByIDAndSpaceID(ctx context.Context, recordID int64, spaceID int64) (*model.TargetRecord, error) + GetByIDAndSpaceID(ctx context.Context, recordID, spaceID int64) (*model.TargetRecord, error) ListByIDsAndSpaceID(ctx context.Context, recordIDs []int64, spaceID int64) ([]*model.TargetRecord, error) } @@ -34,13 +33,6 @@ func NewEvalTargetRecordDAO(db db.Provider) EvalTargetRecordDAO { return &EvalTargetRecordDAOImpl{db: db, query: query.Use(db.NewSession(context.Background()))} } -func (e *EvalTargetRecordDAOImpl) Save(ctx context.Context, record *model.TargetRecord) error { - if err := e.db.NewSession(ctx).Save(record).Error; err != nil { - return errorx.WrapByCode(err, errno.CommonMySqlErrorCode) - } - return nil -} - func (e *EvalTargetRecordDAOImpl) Create(ctx context.Context, record *model.TargetRecord) (id int64, err error) { // 写DB err = e.db.NewSession(ctx).Create(record).Error diff --git a/backend/modules/evaluation/infra/repo/target/mysql/mocks/eval_target_record.go b/backend/modules/evaluation/infra/repo/target/mysql/mocks/eval_target_record.go index 30f90d313..14e13f5ea 100644 --- a/backend/modules/evaluation/infra/repo/target/mysql/mocks/eval_target_record.go +++ b/backend/modules/evaluation/infra/repo/target/mysql/mocks/eval_target_record.go @@ -85,17 +85,3 @@ func (mr *MockEvalTargetRecordDAOMockRecorder) ListByIDsAndSpaceID(ctx, recordID mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListByIDsAndSpaceID", reflect.TypeOf((*MockEvalTargetRecordDAO)(nil).ListByIDsAndSpaceID), ctx, recordIDs, spaceID) } - -// Save mocks base method. -func (m *MockEvalTargetRecordDAO) Save(ctx context.Context, record *model.TargetRecord) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Save", ctx, record) - ret0, _ := ret[0].(error) - return ret0 -} - -// Save indicates an expected call of Save. -func (mr *MockEvalTargetRecordDAOMockRecorder) Save(ctx, record any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Save", reflect.TypeOf((*MockEvalTargetRecordDAO)(nil).Save), ctx, record) -} diff --git a/backend/modules/evaluation/infra/runtime/README.md b/backend/modules/evaluation/infra/runtime/README.md deleted file mode 100755 index aa1c57a14..000000000 --- a/backend/modules/evaluation/infra/runtime/README.md +++ /dev/null @@ -1,209 +0,0 @@ -# Runtime 模块重构说明 - -## 概述 - -本次重构整合了 `backend/modules/evaluation/infra/runtime` 目录下的所有运行时代码,实现了统一的运行时架构,提供了更简洁、高效和易维护的代码执行解决方案。 - -## 架构设计1. **Runtime** (`runtime.go`) -- 统一的运行时实现,专注于HTTP FaaS模式 -- 通过环境变量 `COZE_LOOP_PYTHON_FAAS_URL` 和 `COZE_LOOP_JS_FAAS_URL` 配置FaaS服务 -- 根据语言类型自动路由到对应的FaaS服务 - -2. **RuntimeFactory** (`factory.go`) -- 统一的运行时工厂实现 -- 使用单例模式管理运行时实例 -- 支持多语言类型的运行时创建 - -3. **RuntimeManager** (`manager.go`) -- 统一的运行时管理器 -- 提供线程安全的实例缓存和管理 -- 支持运行时的生命周期管理 -### 运行模式 - -#### 1. HTTP FaaS 模式 -- 当设置环境变量 `COZE_LOOP_FAAS_URL` 时自动启用 -- 通过HTTP调用远程FaaS服务执行代码 -- 适用于生产环境和分布式部署 - -#### 2. 精简架构 -- 移除了本地增强运行时模式 -- 仅支持HTTP FaaS模式,简化了架构复杂度 -- 专注于Python和JavaScript的FaaS执行 - -## 支持的语言 - -- **JavaScript/TypeScript**: `js`, `javascript`, `ts`, `typescript` -- **Python**: `python`, `py` - -## 主要特性 - -### 1. 统一接口 -- 完全实现 `IRuntime` 接口 -- 统一的代码执行和验证接口 -- 一致的错误处理和结果格式 - -### 2. FaaS服务配置 -```go -// 设置环境变量配置FaaS服务 -os.Setenv("COZE_LOOP_PYTHON_FAAS_URL", "http://python-faas:8000") -os.Setenv("COZE_LOOP_JS_FAAS_URL", "http://js-faas:8000") - -// 创建运行时(自动路由到对应FaaS服务) -runtime, err := NewRuntime(config, logger) -``` - -### 3. 资源管理 -- 自动资源清理 -- 线程安全的实例管理 -- 优雅的错误处理 - -### 4. 监控和指标 -- 健康状态检查 -- 运行时指标收集 -- 详细的执行日志 - -## 使用方式 - -### 基本使用 - -```go -import ( - "github.com/coze-dev/coze-loop/backend/modules/evaluation/infra/runtime" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// 创建运行时管理器 -logger := logrus.New() -config := entity.DefaultSandboxConfig() -factory := runtime.NewRuntimeFactory(logger, config) -manager := runtime.NewRuntimeManager(factory, logger) - -// 获取JavaScript运行时 -jsRuntime, err := manager.GetRuntime(entity.LanguageTypeJS) -if err != nil { - return err -} - -// 执行代码 -result, err := jsRuntime.RunCode(ctx, "console.log('Hello World')", "javascript", 5000) -if err != nil { - return err -} - -// 验证代码 -isValid := jsRuntime.ValidateCode(ctx, "function test() {}", "javascript") -``` - -### 工厂模式使用 - -```go -// 创建工厂 -factory := runtime.NewRuntimeFactory(logger, config) - -// 创建运行时 -pythonRuntime, err := factory.CreateRuntime(entity.LanguageTypePython) -if err != nil { - return err -} - -// 执行Python代码 -result, err := pythonRuntime.RunCode(ctx, "print('Hello Python')", "python", 5000) -``` - -## 配置选项 - -### 沙箱配置 - -```go -config := &entity.SandboxConfig{ - MemoryLimit: 256, // 内存限制 (MB) - TimeoutLimit: 30 * time.Second, // 执行超时 - MaxOutputSize: 2 * 1024 * 1024, // 最大输出 (2MB) - NetworkEnabled: false, // 网络访问 -} -``` - -### HTTP FaaS 配置 - -```go -// 通过环境变量配置 -os.Setenv("COZE_LOOP_PYTHON_FAAS_URL", "http://coze-loop-python-faas:8000") -os.Setenv("COZE_LOOP_JS_FAAS_URL", "http://coze-loop-js-faas:8000") -``` - -## 迁移指南 - -### 从旧版本迁移 - -1. **替换工厂创建** -```go -// 旧版本 -factory := runtime.NewRuntimeFactory(logger, config)// 新版本 -factory := runtime.NewRuntimeFactory(logger, config) -manager := runtime.NewRuntimeManager(factory, logger) -``` - -2. **替换管理器创建** -```go -// 旧版本 -manager := runtime.NewRuntimeManager(factory) - -// 新版本 -factory := runtime.NewRuntimeFactory(logger, config) -manager := runtime.NewRuntimeManager(factory, logger) -``` - -3. **接口保持兼容** -- 所有 `IRuntime` 接口方法保持不变 -- 所有 `IRuntimeFactory` 接口方法保持不变 -- 所有 `IRuntimeManager` 接口方法保持不变 - -## 性能优化 - -1. **单例模式**: 统一运行时使用单例模式,减少资源消耗 -2. **实例缓存**: 管理器缓存运行时实例,避免重复创建 -3. **资源复用**: 内部组件支持资源复用和连接池 -4. **异步处理**: 支持异步任务调度和并发执行 - -## 测试 - -运行测试: -```bash -cd backend/modules/evaluation/infra/runtime -go test -v ./... -``` - -测试覆盖: -- 基本功能测试 -- 模式切换测试 -- 并发安全测试 -- 错误处理测试 -- 资源清理测试 - -## 精简后的架构 - -本次精简重构删除了以下文件和目录: - -### 删除的本地执行相关代码 -- `enhanced/` 目录 - 增强运行时实现(沙箱池、任务调度器等) -- `deno/` 目录 - Deno客户端实现 -- `pyodide/` 目录 - Pyodide运行时实现 -- `simple_faas_server.py` - 本地FaaS服务器 -- `simple_runtime.go` - 简单运行时实现 -- `factory.go` - 旧版运行时工厂 -- `manager.go` - 旧版运行时管理器 -- 相关测试文件 - -### 保留的核心文件 -- `unified_runtime.go` - 统一运行时(仅支持HTTP FaaS) -- `unified_factory.go` - 统一运行时工厂 -- `unified_manager.go` - 统一运行时管理器 -- `http_faas_runtime.go` - HTTP FaaS适配器 -- 相关测试文件 - -## 未来扩展 - -1. **新语言支持**: 可通过扩展统一运行时轻松添加新语言 -2. **新运行模式**: 可添加新的运行时后端(如Docker、Kubernetes等) -3. **高级特性**: 可添加代码缓存、预编译、热重载等特性 -4. **监控增强**: 可添加更详细的指标和追踪功能 \ No newline at end of file diff --git a/backend/modules/evaluation/infra/runtime/factory.go b/backend/modules/evaluation/infra/runtime/factory.go deleted file mode 100755 index 003baa265..000000000 --- a/backend/modules/evaluation/infra/runtime/factory.go +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "fmt" - "sync" - - "github.com/sirupsen/logrus" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// RuntimeFactory 统一的运行时工厂实现 -type RuntimeFactory struct { - logger *logrus.Logger - sandboxConfig *entity.SandboxConfig - runtimeCache map[entity.LanguageType]component.IRuntime - mutex sync.RWMutex -} - -// NewRuntimeFactory 创建统一运行时工厂实例 -func NewRuntimeFactory(logger *logrus.Logger, sandboxConfig *entity.SandboxConfig) component.IRuntimeFactory { - if sandboxConfig == nil { - sandboxConfig = entity.DefaultSandboxConfig() - } - - if logger == nil { - logger = logrus.New() - } - - return &RuntimeFactory{ - logger: logger, - sandboxConfig: sandboxConfig, - runtimeCache: make(map[entity.LanguageType]component.IRuntime), - } -} - -// CreateRuntime 根据语言类型创建Runtime实例 -func (f *RuntimeFactory) CreateRuntime(languageType entity.LanguageType) (component.IRuntime, error) { - // 检查缓存 - f.mutex.RLock() - if runtime, exists := f.runtimeCache[languageType]; exists { - f.mutex.RUnlock() - return runtime, nil - } - f.mutex.RUnlock() - - // 双重检查锁 - f.mutex.Lock() - defer f.mutex.Unlock() - - if runtime, exists := f.runtimeCache[languageType]; exists { - return runtime, nil - } - - // 根据语言类型创建对应的Runtime实例 - var runtime component.IRuntime - var err error - - switch languageType { - case entity.LanguageTypePython: - runtime, err = NewPythonRuntime(f.sandboxConfig, f.logger) - if err != nil { - return nil, fmt.Errorf("创建Python运行时失败: %w", err) - } - f.logger.Info("Python运行时创建成功") - - case entity.LanguageTypeJS: - runtime, err = NewJavaScriptRuntime(f.sandboxConfig, f.logger) - if err != nil { - return nil, fmt.Errorf("创建JavaScript运行时失败: %w", err) - } - f.logger.Info("JavaScript运行时创建成功") - - default: - return nil, fmt.Errorf("不支持的语言类型: %s", languageType) - } - - // 缓存运行时实例 - f.runtimeCache[languageType] = runtime - - return runtime, nil -} - -// GetSupportedLanguages 获取支持的语言类型列表 -func (f *RuntimeFactory) GetSupportedLanguages() []entity.LanguageType { - return []entity.LanguageType{ - entity.LanguageTypePython, - entity.LanguageTypeJS, - } -} - -// GetHealthStatus 获取工厂健康状态 -func (f *RuntimeFactory) GetHealthStatus() map[string]interface{} { - f.mutex.RLock() - defer f.mutex.RUnlock() - - status := map[string]interface{}{ - "status": "healthy", - "supported_languages": f.GetSupportedLanguages(), - "cache_size": len(f.runtimeCache), - } - - // 添加缓存的运行时健康状态 - runtimeHealth := make(map[string]interface{}) - for languageType, runtime := range f.runtimeCache { - if healthRuntime, ok := runtime.(interface{ GetHealthStatus() map[string]interface{} }); ok { - runtimeHealth[string(languageType)] = healthRuntime.GetHealthStatus() - } else { - runtimeHealth[string(languageType)] = map[string]interface{}{ - "status": "cached", - } - } - } - if len(runtimeHealth) > 0 { - status["runtime_health"] = runtimeHealth - } - - return status -} - -// GetMetrics 获取工厂指标 -func (f *RuntimeFactory) GetMetrics() map[string]interface{} { - f.mutex.RLock() - defer f.mutex.RUnlock() - - metrics := map[string]interface{}{ - "factory_type": "language_specific", - "cache_size": len(f.runtimeCache), - "supported_languages": len(f.GetSupportedLanguages()), - } - - // 添加运行时指标 - runtimeMetrics := make(map[string]interface{}) - for languageType, runtime := range f.runtimeCache { - if metricsRuntime, ok := runtime.(interface{ GetMetrics() map[string]interface{} }); ok { - runtimeMetrics[string(languageType)] = metricsRuntime.GetMetrics() - } - } - if len(runtimeMetrics) > 0 { - metrics["runtime_metrics"] = runtimeMetrics - } - - return metrics -} - -// 确保RuntimeFactory实现IRuntimeFactory接口 -var _ component.IRuntimeFactory = (*RuntimeFactory)(nil) diff --git a/backend/modules/evaluation/infra/runtime/http_faas_integration_test.go b/backend/modules/evaluation/infra/runtime/http_faas_integration_test.go deleted file mode 100755 index d890bbf87..000000000 --- a/backend/modules/evaluation/infra/runtime/http_faas_integration_test.go +++ /dev/null @@ -1,169 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "fmt" - "os" - "testing" - "time" - - "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// TestHTTPFaaSIntegration 测试HTTP FaaS的集成功能 -func TestHTTPFaaSIntegration(t *testing.T) { - // 检查是否设置了FaaS URL - faasURL := os.Getenv("COZE_LOOP_FAAS_URL") - if faasURL == "" { - t.Skip("跳过HTTP FaaS集成测试:未设置COZE_LOOP_FAAS_URL环境变量") - } - - logger := logrus.New() - logger.SetLevel(logrus.InfoLevel) - - // 创建HTTP FaaS运行时适配器 - config := &HTTPFaaSRuntimeConfig{ - BaseURL: faasURL, - Timeout: 30 * time.Second, - MaxRetries: 2, - RetryInterval: 500 * time.Millisecond, - EnableEnhanced: true, - } - - jsAdapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, config, logger) - require.NoError(t, err) - - pythonAdapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypePython, config, logger) - require.NoError(t, err) - - t.Run("JavaScript代码执行", func(t *testing.T) { - ctx := context.Background() - code := ` - console.log("Hello from JavaScript"); - const result = 2 + 3; - console.log("Result:", result); - return result; - ` - - result, err := jsAdapter.RunCode(ctx, code, "javascript", 10000, make(map[string]string)) - require.NoError(t, err) - assert.NotNil(t, result) - assert.NotNil(t, result.Output) - - // 检查输出包含预期内容 - t.Logf("JavaScript输出: stdout=%s, stderr=%s, ret_val=%s", - result.Output.Stdout, result.Output.Stderr, result.Output.RetVal) - - assert.Contains(t, result.Output.Stdout, "Hello from JavaScript") - }) - - t.Run("Python代码执行", func(t *testing.T) { - ctx := context.Background() - code := ` -print("Hello from Python") -x = 10 -y = 20 -result = x + y -print(f"Result: {result}") - ` - - result, err := pythonAdapter.RunCode(ctx, code, "python", 10000, make(map[string]string)) - require.NoError(t, err) - assert.NotNil(t, result) - assert.NotNil(t, result.Output) - - // 检查输出包含预期内容 - t.Logf("Python输出: stdout=%s, stderr=%s, ret_val=%s", - result.Output.Stdout, result.Output.Stderr, result.Output.RetVal) - - assert.Contains(t, result.Output.Stdout, "Hello from Python") - assert.Contains(t, result.Output.Stdout, "Result: 30") - }) - - t.Run("错误代码处理", func(t *testing.T) { - ctx := context.Background() - code := ` - console.log("Before error"); - throw new Error("Test error"); - console.log("After error"); - ` - - result, err := jsAdapter.RunCode(ctx, code, "javascript", 10000, make(map[string]string)) - // 即使代码有错误,HTTP FaaS也应该返回结果而不是错误 - require.NoError(t, err) - assert.NotNil(t, result) - assert.NotNil(t, result.Output) - - t.Logf("错误代码输出: stdout=%s, stderr=%s", - result.Output.Stdout, result.Output.Stderr) - }) - - t.Run("超时处理", func(t *testing.T) { - ctx := context.Background() - code := ` - // 模拟长时间运行的代码 - let sum = 0; - for (let i = 0; i < 1000000; i++) { - sum += i; - } - return sum; - ` - - start := time.Now() - result, err := jsAdapter.RunCode(ctx, code, "javascript", 1000, make(map[string]string)) // 1秒超时 - duration := time.Since(start) - - // 应该在合理时间内完成(可能超时或正常完成) - assert.True(t, duration < 5*time.Second, "执行时间应该在5秒内") - - if err != nil { - t.Logf("超时测试产生错误(预期): %v", err) - } else { - t.Logf("超时测试完成: %+v", result) - } - }) - - t.Run("并发执行", func(t *testing.T) { - ctx := context.Background() - - // 启动多个并发执行 - const concurrency = 5 - results := make(chan error, concurrency) - - for i := 0; i < concurrency; i++ { - go func(index int) { - code := fmt.Sprintf(` - console.log("Task %d started"); - const result = %d * 2; - console.log("Task %d result:", result); - return result; - `, index, index, index) - - _, err := jsAdapter.RunCode(ctx, code, "javascript", 5000, make(map[string]string)) - results <- err - }(i) - } - - // 等待所有任务完成 - for i := 0; i < concurrency; i++ { - err := <-results - assert.NoError(t, err, "并发任务%d应该成功", i) - } - }) - - // 清理 - t.Run("清理资源", func(t *testing.T) { - err := jsAdapter.Cleanup() - assert.NoError(t, err) - - err = pythonAdapter.Cleanup() - assert.NoError(t, err) - }) -} diff --git a/backend/modules/evaluation/infra/runtime/http_faas_runtime.go b/backend/modules/evaluation/infra/runtime/http_faas_runtime.go deleted file mode 100755 index 19ff4890c..000000000 --- a/backend/modules/evaluation/infra/runtime/http_faas_runtime.go +++ /dev/null @@ -1,353 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io" - "net/http" - "strings" - "time" - - "github.com/sirupsen/logrus" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// HTTPFaaSRequest HTTP FaaS请求结构 -type HTTPFaaSRequest struct { - Language string `json:"language"` - Code string `json:"code"` - Input interface{} `json:"input,omitempty"` - Timeout int64 `json:"timeout,omitempty"` - Priority string `json:"priority,omitempty"` - Ext map[string]string `json:"ext,omitempty"` -} - -// HTTPFaaSResponse HTTP FaaS响应结构 -type HTTPFaaSResponse struct { - Output struct { - Stdout string `json:"stdout"` - Stderr string `json:"stderr"` - RetVal string `json:"ret_val"` - } `json:"output"` - Metadata *struct { - TaskID string `json:"task_id"` - InstanceID string `json:"instance_id"` - Duration int64 `json:"duration"` - PoolStats struct { - TotalInstances int `json:"totalInstances"` - IdleInstances int `json:"idleInstances"` - ActiveInstances int `json:"activeInstances"` - } `json:"pool_stats"` - } `json:"metadata,omitempty"` - Error string `json:"error,omitempty"` - Details string `json:"details,omitempty"` -} - -// HTTPFaaSRuntimeConfig HTTP FaaS运行时配置 -type HTTPFaaSRuntimeConfig struct { - BaseURL string `json:"base_url"` // FaaS服务基础URL - Timeout time.Duration `json:"timeout"` // HTTP请求超时 - MaxRetries int `json:"max_retries"` // 最大重试次数 - RetryInterval time.Duration `json:"retry_interval"` // 重试间隔 - EnableEnhanced bool `json:"enable_enhanced"` // 是否启用增强版FaaS -} - -// HTTPFaaSRuntimeAdapter 基于HTTP调用的FaaS运行时适配器 -type HTTPFaaSRuntimeAdapter struct { - config *HTTPFaaSRuntimeConfig - logger *logrus.Logger - httpClient *http.Client - languageType entity.LanguageType -} - -// NewHTTPFaaSRuntimeAdapter 创建HTTP FaaS运行时适配器 -func NewHTTPFaaSRuntimeAdapter(languageType entity.LanguageType, config *HTTPFaaSRuntimeConfig, logger *logrus.Logger) (*HTTPFaaSRuntimeAdapter, error) { - if config == nil { - // 根据语言类型选择对应的FaaS服务 - baseURL := "http://coze-loop-js-faas:8000" // 默认值 - switch languageType { - case entity.LanguageTypePython: - baseURL = "http://coze-loop-python-faas:8000" - case entity.LanguageTypeJS: - baseURL = "http://coze-loop-js-faas:8000" - } - - config = &HTTPFaaSRuntimeConfig{ - BaseURL: baseURL, - Timeout: 30 * time.Second, - MaxRetries: 3, - RetryInterval: 1 * time.Second, - EnableEnhanced: true, - } - } - - // 创建HTTP客户端 - httpClient := &http.Client{ - Timeout: config.Timeout, - } - - return &HTTPFaaSRuntimeAdapter{ - config: config, - logger: logger, - httpClient: httpClient, - languageType: languageType, - }, nil -} - -// GetLanguageType 获取支持的语言类型 -func (adapter *HTTPFaaSRuntimeAdapter) GetLanguageType() entity.LanguageType { - return adapter.languageType -} - -// GetReturnValFunction 获取return_val函数实现 -func (adapter *HTTPFaaSRuntimeAdapter) GetReturnValFunction() string { - // HTTPFaaSRuntimeAdapter 作为通用适配器,不提供语言特定的return_val函数 - // 应该由具体的语言运行时(PythonRuntime、JavaScriptRuntime)来实现 - switch adapter.languageType { - case entity.LanguageTypePython: - return ` -# return_val函数实现 -def return_val(value): - """ - 修复后的return_val函数实现 - 只输出ret_val内容 - Args: - value: 要返回的值,通常是JSON字符串 - """ - # 处理输入值 - if value is None: - ret_val = "" - else: - ret_val = str(value) - - # 使用特殊标记输出ret_val内容,供FaaS服务器提取 - print(f"__COZE_RETURN_VAL_START__") - print(ret_val) - print(f"__COZE_RETURN_VAL_END__") -` - case entity.LanguageTypeJS: - return ` -// return_val函数实现 -function return_val(value) { - /** - * 修复后的return_val函数实现 - 只输出ret_val内容 - * @param {string} value - 要返回的值,通常是JSON字符串 - */ - - // 处理输入值 - const ret_val = (value === null || value === undefined) ? "" : String(value); - - // 直接输出ret_val内容,供JavaScript FaaS服务器捕获 - console.log(ret_val); -} -` - default: - return "" - } -} - -// RunCode 通过HTTP调用FaaS服务执行代码 -func (adapter *HTTPFaaSRuntimeAdapter) RunCode(ctx context.Context, code string, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) { - if code == "" { - return nil, fmt.Errorf("代码不能为空") - } - - // 构建请求 - request := HTTPFaaSRequest{ - Language: language, - Code: code, - Timeout: timeoutMS, - Priority: "normal", - Ext: ext, - } - - // 执行HTTP请求(带重试) - var response *HTTPFaaSResponse - var err error - - for retry := 0; retry <= adapter.config.MaxRetries; retry++ { - if retry > 0 { - adapter.logger.WithFields(logrus.Fields{ - "retry": retry, - "language": language, - }).Warn("重试HTTP FaaS请求") - - // 等待重试间隔 - select { - case <-ctx.Done(): - return nil, ctx.Err() - case <-time.After(adapter.config.RetryInterval): - } - } - - response, err = adapter.executeHTTPRequest(ctx, &request) - if err == nil { - break - } - - adapter.logger.WithError(err).WithFields(logrus.Fields{ - "retry": retry, - "language": language, - }).Error("HTTP FaaS请求失败") - } - - if err != nil { - return nil, fmt.Errorf("HTTP FaaS请求失败(已重试%d次): %w", adapter.config.MaxRetries, err) - } - - // 检查响应错误 - if response.Error != "" { - return &entity.ExecutionResult{ - Output: &entity.ExecutionOutput{ - Stdout: response.Output.Stdout, - Stderr: response.Output.Stderr + "\n" + response.Error, - RetVal: "", - }, - }, fmt.Errorf("FaaS执行错误: %s", response.Error) - } - - // 转换结果 - result := &entity.ExecutionResult{ - Output: &entity.ExecutionOutput{ - Stdout: response.Output.Stdout, - Stderr: response.Output.Stderr, - RetVal: response.Output.RetVal, - }, - } - - // 记录执行统计信息 - if response.Metadata != nil { - adapter.logger.WithFields(logrus.Fields{ - "task_id": response.Metadata.TaskID, - "instance_id": response.Metadata.InstanceID, - "duration_ms": response.Metadata.Duration, - "total_instances": response.Metadata.PoolStats.TotalInstances, - "idle_instances": response.Metadata.PoolStats.IdleInstances, - "active_instances": response.Metadata.PoolStats.ActiveInstances, - }).Info("FaaS执行完成") - } - - return result, nil -} - -// Cleanup 清理资源 -func (adapter *HTTPFaaSRuntimeAdapter) Cleanup() error { - // HTTP客户端无需特殊清理 - return nil -} - -// executeHTTPRequest 执行HTTP请求 -func (adapter *HTTPFaaSRuntimeAdapter) executeHTTPRequest(ctx context.Context, request *HTTPFaaSRequest) (*HTTPFaaSResponse, error) { - // 序列化请求 - requestBody, err := json.Marshal(request) - if err != nil { - return nil, fmt.Errorf("序列化请求失败: %w", err) - } - - // 构建HTTP请求 - url := fmt.Sprintf("%s/run_code", adapter.config.BaseURL) - httpReq, err := http.NewRequestWithContext(ctx, "POST", url, bytes.NewBuffer(requestBody)) - if err != nil { - return nil, fmt.Errorf("创建HTTP请求失败: %w", err) - } - - httpReq.Header.Set("Content-Type", "application/json") - - // 执行请求 - resp, err := adapter.httpClient.Do(httpReq) - if err != nil { - return nil, fmt.Errorf("HTTP请求失败: %w", err) - } - defer func() { - _ = resp.Body.Close() - }() - - // 读取响应 - responseBody, err := io.ReadAll(resp.Body) - if err != nil { - return nil, fmt.Errorf("读取响应失败: %w", err) - } - - // 检查HTTP状态码 - if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("HTTP请求失败,状态码: %d, 响应: %s", resp.StatusCode, string(responseBody)) - } - - // 解析响应 - var response HTTPFaaSResponse - if err := json.Unmarshal(responseBody, &response); err != nil { - return nil, fmt.Errorf("解析响应失败: %w", err) - } - - // 添加详细的调试日志 - codePreview := request.Code - if len(codePreview) > 100 { - codePreview = codePreview[:100] + "..." - } - - adapter.logger.WithFields(logrus.Fields{ - "request_code": codePreview, - "response_stdout": response.Output.Stdout, - "response_stderr": response.Output.Stderr, - "response_ret_val": response.Output.RetVal, - "response_error": response.Error, - "response_details": response.Details, - }).Debug("FaaS执行详细信息") - - return &response, nil -} - -// getTaskID 获取任务ID -func (adapter *HTTPFaaSRuntimeAdapter) getTaskID(response *HTTPFaaSResponse) string { - if response.Metadata != nil && response.Metadata.TaskID != "" { - return response.Metadata.TaskID - } - return fmt.Sprintf("http_faas_%d", time.Now().UnixNano()) -} - -// basicSyntaxValidation 基本的语法检查:检查括号匹配 -func basicSyntaxValidation(code string) bool { - brackets := 0 - braces := 0 - parentheses := 0 - - for _, char := range code { - switch char { - case '[': - brackets++ - case ']': - brackets-- - case '{': - braces++ - case '}': - braces-- - case '(': - parentheses++ - case ')': - parentheses-- - } - } - - return brackets == 0 && braces == 0 && parentheses == 0 -} - -// normalizeLanguage 标准化语言名称 -func normalizeLanguage(language string) string { - switch strings.ToLower(language) { - case "javascript", "js", "typescript", "ts": - return "js" - case "python", "py": - return "python" - default: - return strings.ToLower(language) - } -} - -// 确保HTTPFaaSRuntimeAdapter实现IRuntime接口 -var _ component.IRuntime = (*HTTPFaaSRuntimeAdapter)(nil) diff --git a/backend/modules/evaluation/infra/runtime/http_faas_runtime_test.go b/backend/modules/evaluation/infra/runtime/http_faas_runtime_test.go deleted file mode 100755 index 87cb915ed..000000000 --- a/backend/modules/evaluation/infra/runtime/http_faas_runtime_test.go +++ /dev/null @@ -1,262 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "testing" - "time" - - "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -func TestHTTPFaaSRuntimeAdapter(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.InfoLevel) - - // 创建HTTP FaaS运行时适配器 - config := &HTTPFaaSRuntimeConfig{ - BaseURL: "http://localhost:8890", // 使用测试端口 - Timeout: 30 * time.Second, - MaxRetries: 1, // 减少重试次数以加快测试 - RetryInterval: 100 * time.Millisecond, - EnableEnhanced: true, - } - - adapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, config, logger) - assert.NoError(t, err) - assert.NotNil(t, adapter) - - t.Run("GetLanguageType", func(t *testing.T) { - langType := adapter.GetLanguageType() - assert.Equal(t, entity.LanguageTypeJS, langType) - }) - - t.Run("Cleanup", func(t *testing.T) { - err := adapter.Cleanup() - assert.NoError(t, err) - }) -} - -func TestHTTPFaaSRuntimeConfig_Default(t *testing.T) { - logger := logrus.New() - - // 测试默认配置 - adapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, nil, logger) - assert.NoError(t, err) - assert.NotNil(t, adapter) - assert.Equal(t, "http://coze-loop-js-faas:8000", adapter.config.BaseURL) - assert.Equal(t, 30*time.Second, adapter.config.Timeout) - assert.Equal(t, 3, adapter.config.MaxRetries) - assert.Equal(t, 1*time.Second, adapter.config.RetryInterval) - assert.True(t, adapter.config.EnableEnhanced) -} - -func TestHTTPFaaSRuntimeAdapter_GetReturnValFunction(t *testing.T) { - logger := logrus.New() - - tests := []struct { - name string - languageType entity.LanguageType - wantContains []string - }{ - { - name: "Python return_val function", - languageType: entity.LanguageTypePython, - wantContains: []string{"def return_val", "__COZE_RETURN_VAL_START__", "__COZE_RETURN_VAL_END__"}, - }, - { - name: "JavaScript return_val function", - languageType: entity.LanguageTypeJS, - wantContains: []string{"function return_val", "console.log(ret_val)"}, - }, - { - name: "Unknown language type", - languageType: entity.LanguageType("unknown"), - wantContains: []string{""}, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - config := &HTTPFaaSRuntimeConfig{ - BaseURL: "http://localhost:8890", - Timeout: 30 * time.Second, - MaxRetries: 1, - RetryInterval: 100 * time.Millisecond, - EnableEnhanced: true, - } - - adapter, err := NewHTTPFaaSRuntimeAdapter(tt.languageType, config, logger) - require.NoError(t, err) - - result := adapter.GetReturnValFunction() - - if tt.languageType == entity.LanguageType("unknown") { - assert.Empty(t, result) - } else { - for _, want := range tt.wantContains { - assert.Contains(t, result, want) - } - } - }) - } -} - -func TestHTTPFaaSRuntimeAdapter_RunCode_EmptyCode(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.InfoLevel) - - config := &HTTPFaaSRuntimeConfig{ - BaseURL: "http://localhost:8890", - Timeout: 30 * time.Second, - MaxRetries: 1, - RetryInterval: 100 * time.Millisecond, - EnableEnhanced: true, - } - - adapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, config, logger) - assert.NoError(t, err) - assert.NotNil(t, adapter) - - ctx := context.Background() - result, err := adapter.RunCode(ctx, "", "javascript", 5000, make(map[string]string)) - - assert.Error(t, err) - assert.Nil(t, result) - assert.Contains(t, err.Error(), "代码不能为空") -} - -func TestHTTPFaaSRuntimeAdapter_RunCode_Success(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.InfoLevel) - - config := &HTTPFaaSRuntimeConfig{ - BaseURL: "http://localhost:8890", - Timeout: 30 * time.Second, - MaxRetries: 1, - RetryInterval: 100 * time.Millisecond, - EnableEnhanced: true, - } - - adapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, config, logger) - assert.NoError(t, err) - assert.NotNil(t, adapter) - - ctx := context.Background() - code := `console.log("hello world");` - - // 由于我们没有真实的FaaS服务,这个测试会失败 - // 但我们仍然可以测试错误处理路径 - result, err := adapter.RunCode(ctx, code, "javascript", 5000, make(map[string]string)) - - // 期望连接失败错误 - assert.Error(t, err) - assert.Nil(t, result) -} - -func TestHTTPFaaSRuntimeAdapter_NormalizeLanguage(t *testing.T) { - tests := []struct { - name string - input string - expected string - }{ - {"JavaScript lowercase", "javascript", "js"}, - {"JavaScript uppercase", "JAVASCRIPT", "js"}, - {"JS lowercase", "js", "js"}, - {"JS uppercase", "JS", "js"}, - {"TypeScript lowercase", "typescript", "js"}, - {"TypeScript uppercase", "TYPESCRIPT", "js"}, - {"TS lowercase", "ts", "js"}, - {"TS uppercase", "TS", "js"}, - {"Python lowercase", "python", "python"}, - {"Python uppercase", "PYTHON", "python"}, - {"Py lowercase", "py", "python"}, - {"Py uppercase", "PY", "python"}, - {"Unknown language", "ruby", "ruby"}, - {"Empty string", "", ""}, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := normalizeLanguage(tt.input) - assert.Equal(t, tt.expected, result) - }) - } -} - -func TestHTTPFaaSRuntimeAdapter_GetTaskID(t *testing.T) { - logger := logrus.New() - config := &HTTPFaaSRuntimeConfig{ - BaseURL: "http://localhost:8890", - Timeout: 30 * time.Second, - MaxRetries: 1, - RetryInterval: 100 * time.Millisecond, - EnableEnhanced: true, - } - - adapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, config, logger) - require.NoError(t, err) - - // 测试没有metadata的情况 - response := &HTTPFaaSResponse{} - taskID := adapter.getTaskID(response) - assert.Contains(t, taskID, "http_faas_") - - // 测试有metadata但没有TaskID的情况 - response.Metadata = &struct { - TaskID string `json:"task_id"` - InstanceID string `json:"instance_id"` - Duration int64 `json:"duration"` - PoolStats struct { - TotalInstances int `json:"totalInstances"` - IdleInstances int `json:"idleInstances"` - ActiveInstances int `json:"activeInstances"` - } `json:"pool_stats"` - }{} - taskID = adapter.getTaskID(response) - assert.Contains(t, taskID, "http_faas_") - - // 测试有TaskID的情况 - response.Metadata.TaskID = "test-task-123" - taskID = adapter.getTaskID(response) - assert.Equal(t, "test-task-123", taskID) -} - -func TestHTTPFaaSRuntimeAdapter_BasicSyntaxValidation(t *testing.T) { - tests := []struct { - name string - code string - expected bool - }{ - {"Valid Python code", "print('hello world')", true}, - {"Valid JavaScript code", "console.log('hello world');", true}, - {"Valid code with brackets", "def test(): return [1, 2, 3]", true}, - {"Valid code with braces", "function test() { return {a: 1}; }", true}, - {"Valid code with parentheses", "print('hello')", true}, - {"Unmatched opening bracket", "print('hello'", false}, - {"Unmatched closing bracket", "print'hello')", false}, - {"Unmatched opening brace", "function test() { return ", false}, - {"Unmatched closing brace", "function test() return }", false}, - {"Unmatched opening parenthesis", "print'hello'", true}, // 这个测试用例实际上没有括号,所以应该是true - {"Unmatched closing parenthesis", "print('hello", false}, - {"Multiple unmatched brackets", "print('hello' + [1, 2, 3", false}, - {"Nested but valid", "function test() { return [1, (2, 3)]; }", true}, - {"Empty string", "", true}, - {"Only whitespace", " \n\t ", true}, - {"Mixed brackets valid", "{ [ ( ) ] }", true}, - {"Mixed brackets invalid", "{ [ ( ] ) }", true}, // 这个测试用例实际上括号是匹配的,所以应该是true - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result := basicSyntaxValidation(tt.code) - assert.Equal(t, tt.expected, result) - }) - } -} diff --git a/backend/modules/evaluation/infra/runtime/javascript_runtime.go b/backend/modules/evaluation/infra/runtime/javascript_runtime.go deleted file mode 100644 index 3cecc10d8..000000000 --- a/backend/modules/evaluation/infra/runtime/javascript_runtime.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "fmt" - "os" - "time" - - "github.com/sirupsen/logrus" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" - "github.com/coze-dev/coze-loop/backend/pkg/logs" -) - -// JavaScriptRuntime JavaScript运行时实现,专门处理JavaScript代码执行 -type JavaScriptRuntime struct { - logger *logrus.Logger - config *entity.SandboxConfig - httpFaaSAdapter *HTTPFaaSRuntimeAdapter -} - -// NewJavaScriptRuntime 创建JavaScript运行时实例 -func NewJavaScriptRuntime(config *entity.SandboxConfig, logger *logrus.Logger) (*JavaScriptRuntime, error) { - if config == nil { - config = entity.DefaultSandboxConfig() - } - - if logger == nil { - logger = logrus.New() - } - - // 检查JavaScript FaaS服务配置 - jsFaaSDomain := os.Getenv("COZE_LOOP_JS_FAAS_DOMAIN") - jsFaaSPort := os.Getenv("COZE_LOOP_JS_FAAS_PORT") - if jsFaaSDomain == "" || jsFaaSPort == "" { - return nil, fmt.Errorf("必须配置JavaScript FaaS服务URL,请设置COZE_LOOP_JS_FAAS_DOMAIN和COZE_LOOP_JS_FAAS_PORT环境变量") - } - jsFaaSURL := "http://" + jsFaaSDomain + ":" + jsFaaSPort - - // 创建HTTP FaaS适配器配置 - faasConfig := &HTTPFaaSRuntimeConfig{ - BaseURL: jsFaaSURL, - Timeout: 30 * time.Second, - MaxRetries: 3, - RetryInterval: 1 * time.Second, - EnableEnhanced: true, - } - - // 创建HTTP FaaS适配器 - httpFaaSAdapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypeJS, faasConfig, logger) - if err != nil { - return nil, fmt.Errorf("初始化JavaScript FaaS适配器失败: %w", err) - } - logs.CtxInfo(context.Background(), "JavaScript FaaS适配器配置: %+v, httpFaaSAdapter: %+v", faasConfig, httpFaaSAdapter) - - runtime := &JavaScriptRuntime{ - logger: logger, - config: config, - httpFaaSAdapter: httpFaaSAdapter, - } - - logger.WithField("js_faas_url", jsFaaSURL).Info("JavaScript运行时创建成功") - - return runtime, nil -} - -// GetLanguageType 获取语言类型 -func (jr *JavaScriptRuntime) GetLanguageType() entity.LanguageType { - return entity.LanguageTypeJS -} - -// RunCode 执行JavaScript代码 -func (jr *JavaScriptRuntime) RunCode(ctx context.Context, code string, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) { - if code == "" { - return nil, fmt.Errorf("代码不能为空") - } - - jr.logger.WithFields(logrus.Fields{ - "language": language, - "timeout_ms": timeoutMS, - }).Debug("开始执行JavaScript代码") - - // 使用HTTP FaaS适配器执行代码 - return jr.httpFaaSAdapter.RunCode(ctx, code, "js", timeoutMS, ext) -} - -// ValidateCode 验证JavaScript代码语法 -func (jr *JavaScriptRuntime) ValidateCode(ctx context.Context, code string, language string) bool { - if code == "" { - return false - } - - // 使用基本语法验证 - return basicSyntaxValidation(code) -} - -// GetSupportedLanguages 获取支持的语言类型列表 -func (jr *JavaScriptRuntime) GetSupportedLanguages() []entity.LanguageType { - return []entity.LanguageType{entity.LanguageTypeJS} -} - -// GetHealthStatus 获取健康状态 -func (jr *JavaScriptRuntime) GetHealthStatus() map[string]interface{} { - status := map[string]interface{}{ - "status": "healthy", - "language": "javascript", - "supported_languages": jr.GetSupportedLanguages(), - "js_faas_url": os.Getenv("COZE_LOOP_JS_FAAS_URL"), - } - - return status -} - -// GetMetrics 获取运行时指标 -func (jr *JavaScriptRuntime) GetMetrics() map[string]interface{} { - return map[string]interface{}{ - "runtime_type": "javascript", - "language": "javascript", - "js_faas_configured": os.Getenv("COZE_LOOP_JS_FAAS_URL") != "", - } -} - -// GetReturnValFunction 获取JavaScript return_val函数实现 -func (jr *JavaScriptRuntime) GetReturnValFunction() string { - return ` -// return_val函数实现 -function return_val(value) { - /** - * 修复后的return_val函数实现 - 只输出ret_val内容 - * @param {string} value - 要返回的值,通常是JSON字符串 - */ - - // 处理输入值 - const ret_val = (value === null || value === undefined) ? "" : String(value); - - // 直接输出ret_val内容,供JavaScript FaaS服务器捕获 - console.log(ret_val); -} -` -} - -// 确保JavaScriptRuntime实现IRuntime接口 -var _ component.IRuntime = (*JavaScriptRuntime)(nil) diff --git a/backend/modules/evaluation/infra/runtime/manager.go b/backend/modules/evaluation/infra/runtime/manager.go deleted file mode 100755 index f79addbce..000000000 --- a/backend/modules/evaluation/infra/runtime/manager.go +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "sync" - - "github.com/sirupsen/logrus" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// RuntimeManager 统一的运行时管理器,提供线程安全的Runtime实例缓存和管理 -type RuntimeManager struct { - factory component.IRuntimeFactory - cache map[entity.LanguageType]component.IRuntime - mutex sync.RWMutex - logger *logrus.Logger -} - -// NewRuntimeManager 创建统一运行时管理器实例 -func NewRuntimeManager(factory component.IRuntimeFactory, logger *logrus.Logger) *RuntimeManager { - if logger == nil { - logger = logrus.New() - } - - return &RuntimeManager{ - factory: factory, - cache: make(map[entity.LanguageType]component.IRuntime), - logger: logger, - } -} - -// GetRuntime 获取指定语言类型的Runtime实例,支持缓存和线程安全 -func (m *RuntimeManager) GetRuntime(languageType entity.LanguageType) (component.IRuntime, error) { - // 先尝试从缓存获取 - m.mutex.RLock() - if runtime, exists := m.cache[languageType]; exists { - m.mutex.RUnlock() - return runtime, nil - } - m.mutex.RUnlock() - - // 缓存中不存在,创建新的Runtime - m.mutex.Lock() - defer m.mutex.Unlock() - - // 双重检查,防止并发创建 - if runtime, exists := m.cache[languageType]; exists { - return runtime, nil - } - - // 通过工厂创建Runtime - runtime, err := m.factory.CreateRuntime(languageType) - if err != nil { - m.logger.WithError(err).WithField("language_type", languageType).Error("创建运行时失败") - return nil, err - } - - // 缓存Runtime实例 - m.cache[languageType] = runtime - - m.logger.WithField("language_type", languageType).Info("运行时实例创建并缓存成功") - return runtime, nil -} - -// GetSupportedLanguages 获取支持的语言类型列表 -func (m *RuntimeManager) GetSupportedLanguages() []entity.LanguageType { - return m.factory.GetSupportedLanguages() -} - -// ClearCache 清空缓存(主要用于测试和重置) -func (m *RuntimeManager) ClearCache() { - m.mutex.Lock() - defer m.mutex.Unlock() - - m.cache = make(map[entity.LanguageType]component.IRuntime) - m.logger.Info("运行时缓存已清空") -} - -// GetHealthStatus 获取管理器健康状态 -func (m *RuntimeManager) GetHealthStatus() map[string]interface{} { - m.mutex.RLock() - defer m.mutex.RUnlock() - - status := map[string]interface{}{ - "status": "healthy", - "supported_languages": m.GetSupportedLanguages(), - "cached_runtimes": len(m.cache), - } - - // 添加工厂健康状态 - if healthFactory, ok := m.factory.(interface{ GetHealthStatus() map[string]interface{} }); ok { - status["factory_health"] = healthFactory.GetHealthStatus() - } - - // 添加缓存的运行时状态 - runtimeStatus := make(map[string]interface{}) - for languageType, runtime := range m.cache { - if healthRuntime, ok := runtime.(interface{ GetHealthStatus() map[string]interface{} }); ok { - runtimeStatus[string(languageType)] = healthRuntime.GetHealthStatus() - } else { - runtimeStatus[string(languageType)] = map[string]interface{}{ - "status": "cached", - } - } - } - status["runtime_status"] = runtimeStatus - - return status -} - -// GetMetrics 获取管理器指标 -func (m *RuntimeManager) GetMetrics() map[string]interface{} { - m.mutex.RLock() - defer m.mutex.RUnlock() - - metrics := map[string]interface{}{ - "manager_type": "unified", - "cached_runtimes": len(m.cache), - "supported_languages": len(m.GetSupportedLanguages()), - } - - // 添加运行时指标 - runtimeMetrics := make(map[string]interface{}) - for languageType, runtime := range m.cache { - if metricsRuntime, ok := runtime.(interface{ GetMetrics() map[string]interface{} }); ok { - runtimeMetrics[string(languageType)] = metricsRuntime.GetMetrics() - } - } - if len(runtimeMetrics) > 0 { - metrics["runtime_metrics"] = runtimeMetrics - } - - return metrics -} - -// 确保RuntimeManager实现IRuntimeManager接口 -var _ component.IRuntimeManager = (*RuntimeManager)(nil) diff --git a/backend/modules/evaluation/infra/runtime/manager_test.go b/backend/modules/evaluation/infra/runtime/manager_test.go deleted file mode 100644 index fa401f7de..000000000 --- a/backend/modules/evaluation/infra/runtime/manager_test.go +++ /dev/null @@ -1,468 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "errors" - "testing" - - "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// mockRuntimeFactory 模拟运行时工厂 -type mockRuntimeFactory struct { - createRuntimeFunc func(languageType entity.LanguageType) (component.IRuntime, error) - getSupportedLanguagesFunc func() []entity.LanguageType - getHealthStatusFunc func() map[string]interface{} - getMetricsFunc func() map[string]interface{} -} - -func (m *mockRuntimeFactory) CreateRuntime(languageType entity.LanguageType) (component.IRuntime, error) { - if m.createRuntimeFunc != nil { - return m.createRuntimeFunc(languageType) - } - return nil, errors.New("not implemented") -} - -func (m *mockRuntimeFactory) GetSupportedLanguages() []entity.LanguageType { - if m.getSupportedLanguagesFunc != nil { - return m.getSupportedLanguagesFunc() - } - return []entity.LanguageType{} -} - -func (m *mockRuntimeFactory) GetHealthStatus() map[string]interface{} { - if m.getHealthStatusFunc != nil { - return m.getHealthStatusFunc() - } - return map[string]interface{}{} -} - -func (m *mockRuntimeFactory) GetMetrics() map[string]interface{} { - if m.getMetricsFunc != nil { - return m.getMetricsFunc() - } - return map[string]interface{}{} -} - -// mockRuntime 模拟运行时 -type mockRuntime struct { - getLanguageTypeFunc func() entity.LanguageType - runCodeFunc func(ctx context.Context, code string, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) - validateCodeFunc func(ctx context.Context, code string, language string) bool - getSupportedLanguagesFunc func() []entity.LanguageType - getHealthStatusFunc func() map[string]interface{} - getMetricsFunc func() map[string]interface{} - getReturnValFunctionFunc func() string -} - -func (m *mockRuntime) GetLanguageType() entity.LanguageType { - if m.getLanguageTypeFunc != nil { - return m.getLanguageTypeFunc() - } - return entity.LanguageType("") -} - -func (m *mockRuntime) RunCode(ctx context.Context, code string, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) { - if m.runCodeFunc != nil { - return m.runCodeFunc(ctx, code, language, timeoutMS, ext) - } - return nil, errors.New("not implemented") -} - -func (m *mockRuntime) ValidateCode(ctx context.Context, code string, language string) bool { - if m.validateCodeFunc != nil { - return m.validateCodeFunc(ctx, code, language) - } - return false -} - -func (m *mockRuntime) GetSupportedLanguages() []entity.LanguageType { - if m.getSupportedLanguagesFunc != nil { - return m.getSupportedLanguagesFunc() - } - return []entity.LanguageType{} -} - -func (m *mockRuntime) GetHealthStatus() map[string]interface{} { - if m.getHealthStatusFunc != nil { - return m.getHealthStatusFunc() - } - return map[string]interface{}{} -} - -func (m *mockRuntime) GetMetrics() map[string]interface{} { - if m.getMetricsFunc != nil { - return m.getMetricsFunc() - } - return map[string]interface{}{} -} - -func (m *mockRuntime) GetReturnValFunction() string { - if m.getReturnValFunctionFunc != nil { - return m.getReturnValFunctionFunc() - } - return "" -} - -func TestRuntimeManager_NewRuntimeManager(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - factory := &mockRuntimeFactory{} - manager := NewRuntimeManager(factory, logger) - - assert.NotNil(t, manager) - assert.Equal(t, factory, manager.factory) - assert.NotNil(t, manager.cache) - assert.NotNil(t, manager.logger) -} - -func TestRuntimeManager_NewRuntimeManager_NilLogger(t *testing.T) { - factory := &mockRuntimeFactory{} - manager := NewRuntimeManager(factory, nil) - - assert.NotNil(t, manager) - assert.NotNil(t, manager.logger) // 应该创建默认logger -} - -func TestRuntimeManager_GetRuntime_Success(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - mockRuntime := &mockRuntime{ - getLanguageTypeFunc: func() entity.LanguageType { - return entity.LanguageTypePython - }, - } - - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - if languageType == entity.LanguageTypePython { - return mockRuntime, nil - } - return nil, errors.New("unsupported language") - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 第一次获取 - 应该创建新实例 - runtime1, err := manager.GetRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, mockRuntime, runtime1) - - // 第二次获取 - 应该从缓存获取 - runtime2, err := manager.GetRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, runtime1, runtime2) // 应该是同一个实例 -} - -func TestRuntimeManager_GetRuntime_FactoryError(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - expectedError := errors.New("factory error") - - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - return nil, expectedError - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - runtime, err := manager.GetRuntime(entity.LanguageTypePython) - assert.Error(t, err) - assert.Equal(t, expectedError, err) - assert.Nil(t, runtime) -} - -func TestRuntimeManager_GetRuntime_ConcurrentAccess(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - mockRuntime := &mockRuntime{ - getLanguageTypeFunc: func() entity.LanguageType { - return entity.LanguageTypePython - }, - } - - callCount := 0 - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - callCount++ - if languageType == entity.LanguageTypePython { - return mockRuntime, nil - } - return nil, errors.New("unsupported language") - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 并发获取同一个运行时 - done := make(chan bool, 10) - results := make([]component.IRuntime, 10) - errors := make([]error, 10) - - for i := 0; i < 10; i++ { - go func(idx int) { - defer func() { done <- true }() - - runtime, err := manager.GetRuntime(entity.LanguageTypePython) - results[idx] = runtime - errors[idx] = err - }(i) - } - - // 等待所有goroutine完成 - for i := 0; i < 10; i++ { - <-done - } - - // 验证所有结果都相同且没有错误 - for i := 0; i < 10; i++ { - assert.NoError(t, errors[i]) - assert.Equal(t, mockRuntime, results[i]) - } - - // 由于双重检查锁,CreateRuntime应该只被调用一次 - assert.Equal(t, 1, callCount) -} - -func TestRuntimeManager_GetSupportedLanguages(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - supportedLanguages := []entity.LanguageType{entity.LanguageTypePython, entity.LanguageTypeJS} - - mockFactory := &mockRuntimeFactory{ - getSupportedLanguagesFunc: func() []entity.LanguageType { - return supportedLanguages - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - languages := manager.GetSupportedLanguages() - assert.Equal(t, supportedLanguages, languages) -} - -func TestRuntimeManager_ClearCache(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - mockRuntime := &mockRuntime{ - getLanguageTypeFunc: func() entity.LanguageType { - return entity.LanguageTypePython - }, - } - - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - if languageType == entity.LanguageTypePython { - return mockRuntime, nil - } - return nil, errors.New("unsupported language") - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 先获取运行时,填充缓存 - runtime1, err := manager.GetRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, mockRuntime, runtime1) - - // 验证缓存不为空 - assert.Equal(t, 1, len(manager.cache)) - - // 清空缓存 - manager.ClearCache() - - // 验证缓存已清空 - assert.Equal(t, 0, len(manager.cache)) -} - -func TestRuntimeManager_GetHealthStatus(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - mockRuntime := &mockRuntime{ - getLanguageTypeFunc: func() entity.LanguageType { - return entity.LanguageTypePython - }, - getHealthStatusFunc: func() map[string]interface{} { - return map[string]interface{}{ - "status": "healthy", - "language": "python", - } - }, - } - - supportedLanguages := []entity.LanguageType{entity.LanguageTypePython, entity.LanguageTypeJS} - - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - if languageType == entity.LanguageTypePython { - return mockRuntime, nil - } - return nil, errors.New("unsupported language") - }, - getSupportedLanguagesFunc: func() []entity.LanguageType { - return supportedLanguages - }, - getHealthStatusFunc: func() map[string]interface{} { - return map[string]interface{}{ - "status": "healthy", - "factory": "test", - } - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 先获取运行时,填充缓存 - runtime, err := manager.GetRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, mockRuntime, runtime) - - // 获取健康状态 - status := manager.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, 1, status["cached_runtimes"]) - assert.Equal(t, supportedLanguages, status["supported_languages"]) - - // 验证工厂健康状态 - factoryHealth, ok := status["factory_health"].(map[string]interface{}) - assert.True(t, ok) - assert.Equal(t, "healthy", factoryHealth["status"]) - - // 验证运行时状态 - runtimeStatus, ok := status["runtime_status"].(map[string]interface{}) - assert.True(t, ok) - assert.Contains(t, runtimeStatus, "Python") // 注意:键是string(entity.LanguageTypePython) = "Python" -} - -func TestRuntimeManager_GetMetrics(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - mockRuntime := &mockRuntime{ - getLanguageTypeFunc: func() entity.LanguageType { - return entity.LanguageTypePython - }, - getMetricsFunc: func() map[string]interface{} { - return map[string]interface{}{ - "runtime_type": "python", - "executions": 100, - } - }, - } - - supportedLanguages := []entity.LanguageType{entity.LanguageTypePython, entity.LanguageTypeJS} - - mockFactory := &mockRuntimeFactory{ - createRuntimeFunc: func(languageType entity.LanguageType) (component.IRuntime, error) { - if languageType == entity.LanguageTypePython { - return mockRuntime, nil - } - return nil, errors.New("unsupported language") - }, - getSupportedLanguagesFunc: func() []entity.LanguageType { - return supportedLanguages - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 先获取运行时,填充缓存 - runtime, err := manager.GetRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, mockRuntime, runtime) - - // 获取指标 - metrics := manager.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "unified", metrics["manager_type"]) - assert.Equal(t, 1, metrics["cached_runtimes"]) - assert.Equal(t, 2, metrics["supported_languages"]) - - // 验证运行时指标 - runtimeMetrics, ok := metrics["runtime_metrics"].(map[string]interface{}) - assert.True(t, ok) - assert.Contains(t, runtimeMetrics, "Python") // 注意:键是string(entity.LanguageTypePython) = "Python" - - pythonMetrics, ok := runtimeMetrics["Python"].(map[string]interface{}) - assert.True(t, ok) - assert.Equal(t, "python", pythonMetrics["runtime_type"]) - assert.Equal(t, 100, pythonMetrics["executions"]) -} - -func TestRuntimeManager_GetHealthStatus_EmptyCache(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - supportedLanguages := []entity.LanguageType{entity.LanguageTypePython, entity.LanguageTypeJS} - - mockFactory := &mockRuntimeFactory{ - getSupportedLanguagesFunc: func() []entity.LanguageType { - return supportedLanguages - }, - getHealthStatusFunc: func() map[string]interface{} { - return map[string]interface{}{ - "status": "healthy", - "factory": "test", - } - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 获取健康状态(空缓存) - status := manager.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, 0, status["cached_runtimes"]) - assert.Equal(t, supportedLanguages, status["supported_languages"]) - - // 验证运行时状态为空 - runtimeStatus, ok := status["runtime_status"].(map[string]interface{}) - assert.True(t, ok) - assert.Empty(t, runtimeStatus) -} - -func TestRuntimeManager_GetMetrics_EmptyCache(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - supportedLanguages := []entity.LanguageType{entity.LanguageTypePython, entity.LanguageTypeJS} - - mockFactory := &mockRuntimeFactory{ - getSupportedLanguagesFunc: func() []entity.LanguageType { - return supportedLanguages - }, - } - - manager := NewRuntimeManager(mockFactory, logger) - - // 获取指标(空缓存) - metrics := manager.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "unified", metrics["manager_type"]) - assert.Equal(t, 0, metrics["cached_runtimes"]) - assert.Equal(t, 2, metrics["supported_languages"]) - - // 验证运行时指标为空 - 当没有缓存的运行时时,runtime_metrics字段不存在 - _, exists := metrics["runtime_metrics"] - assert.False(t, exists) -} diff --git a/backend/modules/evaluation/infra/runtime/python_runtime.go b/backend/modules/evaluation/infra/runtime/python_runtime.go deleted file mode 100644 index 60967f208..000000000 --- a/backend/modules/evaluation/infra/runtime/python_runtime.go +++ /dev/null @@ -1,147 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "fmt" - "os" - "time" - - "github.com/sirupsen/logrus" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/component" - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// PythonRuntime Python运行时实现,专门处理Python代码执行 -type PythonRuntime struct { - logger *logrus.Logger - config *entity.SandboxConfig - httpFaaSAdapter *HTTPFaaSRuntimeAdapter -} - -// NewPythonRuntime 创建Python运行时实例 -func NewPythonRuntime(config *entity.SandboxConfig, logger *logrus.Logger) (*PythonRuntime, error) { - if config == nil { - config = entity.DefaultSandboxConfig() - } - - if logger == nil { - logger = logrus.New() - } - - // 检查Python FaaS服务配置 - pythonFaaSURL := "http://" + os.Getenv("COZE_LOOP_PYTHON_FAAS_DOMAIN") + ":" + os.Getenv("COZE_LOOP_PYTHON_FAAS_PORT") - if pythonFaaSURL == "" { - return nil, fmt.Errorf("必须配置Python FaaS服务URL,请设置COZE_LOOP_PYTHON_FAAS_DOMAIN和COZE_LOOP_PYTHON_FAAS_PORT环境变量") - } - - // 创建HTTP FaaS适配器配置 - faasConfig := &HTTPFaaSRuntimeConfig{ - BaseURL: pythonFaaSURL, - Timeout: 30 * time.Second, - MaxRetries: 3, - RetryInterval: 1 * time.Second, - EnableEnhanced: true, - } - - // 创建HTTP FaaS适配器 - httpFaaSAdapter, err := NewHTTPFaaSRuntimeAdapter(entity.LanguageTypePython, faasConfig, logger) - if err != nil { - return nil, fmt.Errorf("初始化Python FaaS适配器失败: %w", err) - } - - runtime := &PythonRuntime{ - logger: logger, - config: config, - httpFaaSAdapter: httpFaaSAdapter, - } - - logger.WithField("python_faas_url", pythonFaaSURL).Info("Python运行时创建成功") - - return runtime, nil -} - -// GetLanguageType 获取语言类型 -func (pr *PythonRuntime) GetLanguageType() entity.LanguageType { - return entity.LanguageTypePython -} - -// RunCode 执行Python代码 -func (pr *PythonRuntime) RunCode(ctx context.Context, code string, language string, timeoutMS int64, ext map[string]string) (*entity.ExecutionResult, error) { - if code == "" { - return nil, fmt.Errorf("代码不能为空") - } - - pr.logger.WithFields(logrus.Fields{ - "language": language, - "timeout_ms": timeoutMS, - }).Debug("开始执行Python代码") - - // 使用HTTP FaaS适配器执行代码 - return pr.httpFaaSAdapter.RunCode(ctx, code, "python", timeoutMS, ext) -} - -// ValidateCode 验证Python代码语法 -func (pr *PythonRuntime) ValidateCode(ctx context.Context, code string, language string) bool { - if code == "" { - return false - } - - // 使用基本语法验证 - return basicSyntaxValidation(code) -} - -// GetSupportedLanguages 获取支持的语言类型列表 -func (pr *PythonRuntime) GetSupportedLanguages() []entity.LanguageType { - return []entity.LanguageType{entity.LanguageTypePython} -} - -// GetHealthStatus 获取健康状态 -func (pr *PythonRuntime) GetHealthStatus() map[string]interface{} { - status := map[string]interface{}{ - "status": "healthy", - "language": "python", - "supported_languages": pr.GetSupportedLanguages(), - "python_faas_url": os.Getenv("COZE_LOOP_PYTHON_FAAS_URL"), - } - - return status -} - -// GetMetrics 获取运行时指标 -func (pr *PythonRuntime) GetMetrics() map[string]interface{} { - return map[string]interface{}{ - "runtime_type": "python", - "language": "python", - "python_faas_configured": os.Getenv("COZE_LOOP_PYTHON_FAAS_URL") != "", - } -} - -// GetReturnValFunction 获取Python return_val函数实现 -func (pr *PythonRuntime) GetReturnValFunction() string { - return ` -# return_val函数实现 -def return_val(value): - """ - 修复后的return_val函数实现 - 只输出ret_val内容 - Args: - value: 要返回的值,通常是JSON字符串 - """ - # 处理输入值 - if value is None: - ret_val = "" - else: - ret_val = str(value) - - # 使用特殊标记输出ret_val内容,供FaaS服务器提取 - print(f"__COZE_RETURN_VAL_START__") - print(ret_val) - print(f"__COZE_RETURN_VAL_END__") -` -} - -// 确保PythonRuntime实现IRuntime接口 -var _ component.IRuntime = (*PythonRuntime)(nil) diff --git a/backend/modules/evaluation/infra/runtime/runtime_test.go b/backend/modules/evaluation/infra/runtime/runtime_test.go deleted file mode 100755 index 9eed4586f..000000000 --- a/backend/modules/evaluation/infra/runtime/runtime_test.go +++ /dev/null @@ -1,863 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package runtime - -import ( - "context" - "os" - "testing" - - "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - - "github.com/coze-dev/coze-loop/backend/modules/evaluation/domain/entity" -) - -// setEnvSafe 安全地设置环境变量,忽略错误 -func setEnvSafe(t *testing.T, key, value string) { - t.Helper() - _ = os.Setenv(key, value) -} - -// unsetEnvSafe 安全地取消设置环境变量,忽略错误 -func unsetEnvSafe(t *testing.T, key string) { - t.Helper() - _ = os.Unsetenv(key) -} - -func TestPythonRuntime_Creation(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 测试基本属性 - assert.Equal(t, entity.LanguageTypePython, runtime.GetLanguageType()) - assert.Equal(t, []entity.LanguageType{entity.LanguageTypePython}, runtime.GetSupportedLanguages()) -} - -func TestJavaScriptRuntime_Creation(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 测试基本属性 - assert.Equal(t, entity.LanguageTypeJS, runtime.GetLanguageType()) - assert.Equal(t, []entity.LanguageType{entity.LanguageTypeJS}, runtime.GetSupportedLanguages()) -} - -func TestRuntimeFactory_CreatePythonRuntime(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - runtime, err := factory.CreateRuntime(entity.LanguageTypePython) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 测试缓存功能 - runtime2, err := factory.CreateRuntime(entity.LanguageTypePython) - require.NoError(t, err) - assert.Equal(t, runtime, runtime2) // 应该返回同一个实例 -} - -func TestRuntimeFactory_CreateJavaScriptRuntime(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - runtime, err := factory.CreateRuntime(entity.LanguageTypeJS) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 测试缓存功能 - runtime2, err := factory.CreateRuntime(entity.LanguageTypeJS) - require.NoError(t, err) - assert.Equal(t, runtime, runtime2) // 应该返回同一个实例 -} - -func TestRuntimeFactory_UnsupportedLanguage(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config) - require.NotNil(t, factory) - - runtime, err := factory.CreateRuntime("unsupported") - assert.Error(t, err) - assert.Nil(t, runtime) - assert.Contains(t, err.Error(), "不支持的语言类型") -} - -func TestPythonRuntime_ValidateCode(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试空代码 - assert.False(t, runtime.ValidateCode(ctx, "", "python")) - - // 测试简单有效代码 - assert.True(t, runtime.ValidateCode(ctx, "print('hello')", "python")) - - // 测试括号不匹配的代码 - assert.False(t, runtime.ValidateCode(ctx, "print('hello'", "python")) -} - -func TestJavaScriptRuntime_ValidateCode(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试空代码 - assert.False(t, runtime.ValidateCode(ctx, "", "javascript")) - - // 测试简单有效代码 - assert.True(t, runtime.ValidateCode(ctx, "console.log('hello');", "javascript")) - - // 测试括号不匹配的代码 - assert.False(t, runtime.ValidateCode(ctx, "console.log('hello'", "javascript")) -} - -func TestPythonRuntime_RunCode_EmptyCode(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试空代码 - result, err := runtime.RunCode(ctx, "", "python", 5000, make(map[string]string)) - assert.Error(t, err) - assert.Nil(t, result) - assert.Contains(t, err.Error(), "代码不能为空") -} - -func TestJavaScriptRuntime_RunCode_EmptyCode(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试空代码 - result, err := runtime.RunCode(ctx, "", "javascript", 5000, make(map[string]string)) - assert.Error(t, err) - assert.Nil(t, result) - assert.Contains(t, err.Error(), "代码不能为空") -} - -func TestPythonRuntime_HealthStatus(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - status := runtime.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, "python", status["language"]) -} - -func TestJavaScriptRuntime_HealthStatus(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - status := runtime.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, "javascript", status["language"]) -} - -func TestRuntimeFactory_GetSupportedLanguages(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config) - require.NotNil(t, factory) - - languages := factory.GetSupportedLanguages() - assert.Len(t, languages, 2) - assert.Contains(t, languages, entity.LanguageTypePython) - assert.Contains(t, languages, entity.LanguageTypeJS) -} - -func TestRuntimeFactory_GetHealthStatus(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - // 测试空缓存状态 - status := factory.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, 0, status["cache_size"]) - - supportedLangs, ok := status["supported_languages"].([]entity.LanguageType) - assert.True(t, ok) - assert.Len(t, supportedLangs, 2) - - // 测试有缓存的状态 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - runtime, err := factory.CreateRuntime(entity.LanguageTypePython) - require.NoError(t, err) - require.NotNil(t, runtime) - - status = factory.GetHealthStatus() - assert.Equal(t, 1, status["cache_size"]) - - runtimeHealth, ok := status["runtime_health"].(map[string]interface{}) - assert.True(t, ok) - assert.Contains(t, runtimeHealth, "Python") // 注意:键是string(entity.LanguageTypePython) = "Python" -} - -func TestRuntimeFactory_GetMetrics(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - // 测试空缓存指标 - metrics := factory.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "language_specific", metrics["factory_type"]) - assert.Equal(t, 0, metrics["cache_size"]) - assert.Equal(t, 2, metrics["supported_languages"]) - - // 测试有缓存的指标 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - runtime, err := factory.CreateRuntime(entity.LanguageTypePython) - require.NoError(t, err) - require.NotNil(t, runtime) - - metrics = factory.GetMetrics() - assert.Equal(t, 1, metrics["cache_size"]) - - runtimeMetrics, ok := metrics["runtime_metrics"].(map[string]interface{}) - assert.True(t, ok) - assert.Contains(t, runtimeMetrics, "Python") // 注意:键是string(entity.LanguageTypePython) = "Python" -} - -func TestRuntimeFactory_ConcurrentAccess(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - // 设置环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - // 并发创建运行时 - done := make(chan bool, 10) - for i := 0; i < 10; i++ { - go func(idx int) { - defer func() { done <- true }() - - langType := entity.LanguageTypePython - if idx%2 == 0 { - langType = entity.LanguageTypeJS - } - - runtime, err := factory.CreateRuntime(langType) - assert.NoError(t, err) - assert.NotNil(t, runtime) - }(i) - } - - // 等待所有goroutine完成 - for i := 0; i < 10; i++ { - <-done - } - - // 验证缓存大小 - factory.mutex.RLock() - cacheSize := len(factory.runtimeCache) - factory.mutex.RUnlock() - - assert.Equal(t, 2, cacheSize) // 应该只有Python和JS两个运行时 -} - -func TestRuntimeFactory_NilLogger(t *testing.T) { - config := entity.DefaultSandboxConfig() - - // 测试nil logger的处理 - factory := NewRuntimeFactory(nil, config) - assert.NotNil(t, factory) - - // 验证不会panic - assert.NotPanics(t, func() { - languages := factory.GetSupportedLanguages() - assert.Len(t, languages, 2) - }) -} - -func TestRuntimeFactory_NilConfig(t *testing.T) { - logger := logrus.New() - - // 测试nil config的处理 - factory := NewRuntimeFactory(logger, nil) - assert.NotNil(t, factory) - - // 验证不会panic - assert.NotPanics(t, func() { - languages := factory.GetSupportedLanguages() - assert.Len(t, languages, 2) - }) -} - -func TestPythonRuntime_GetReturnValFunction(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - returnValFunc := runtime.GetReturnValFunction() - assert.NotEmpty(t, returnValFunc) - assert.Contains(t, returnValFunc, "def return_val") - assert.Contains(t, returnValFunc, "__COZE_RETURN_VAL_START__") - assert.Contains(t, returnValFunc, "__COZE_RETURN_VAL_END__") -} - -func TestJavaScriptRuntime_GetReturnValFunction(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - returnValFunc := runtime.GetReturnValFunction() - assert.NotEmpty(t, returnValFunc) - assert.Contains(t, returnValFunc, "function return_val") - assert.Contains(t, returnValFunc, "console.log(ret_val)") -} - -func TestPythonRuntime_GetMetrics(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - metrics := runtime.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "python", metrics["runtime_type"]) - assert.Equal(t, "python", metrics["language"]) - assert.Equal(t, true, metrics["python_faas_configured"]) -} - -func TestJavaScriptRuntime_GetMetrics(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - metrics := runtime.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "javascript", metrics["runtime_type"]) - assert.Equal(t, "javascript", metrics["language"]) - // 注意:GetMetrics中检查的是COZE_LOOP_JS_FAAS_URL环境变量,但我们设置的是DOMAIN和PORT - // 所以这里js_faas_configured应该是false - assert.Equal(t, false, metrics["js_faas_configured"]) -} - -func TestPythonRuntime_GetMetrics_NotConfigured(t *testing.T) { - // 由于业务代码逻辑缺陷,我们需要设置一个无效的URL来模拟配置错误 - // 设置空值,让URL变成 "http://:",这样运行时能创建成功但后续操作会失败 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_DOMAIN", "") - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_PORT", "") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - // 这种情况下NewPythonRuntime会创建成功(因为URL检查逻辑有缺陷) - // 但GetMetrics会返回未配置的状态 - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) // 不会返回错误,因为URL检查逻辑有缺陷 - require.NotNil(t, runtime) - - // 测试GetMetrics,应该显示未配置状态 - metrics := runtime.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "python", metrics["language"]) - assert.Equal(t, false, metrics["python_faas_configured"]) // 应该显示未配置 -} - -func TestJavaScriptRuntime_GetMetrics_NotConfigured(t *testing.T) { - // 确保环境变量不存在 - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - // 注意:这种情况下NewJavaScriptRuntime会返回错误 - // 所以我们不能直接测试GetMetrics,因为运行时创建会失败 - runtime, err := NewJavaScriptRuntime(config, logger) - assert.Error(t, err) - assert.Nil(t, runtime) -} - -func TestPythonRuntime_ComplexSyntaxValidation(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试复杂的有效Python代码 - validCode := ` -def factorial(n): - if n <= 1: - return 1 - return n * factorial(n - 1) - -result = factorial(5) -print(result) -` - assert.True(t, runtime.ValidateCode(ctx, validCode, "python")) - - // 测试包含类定义的代码 - classCode := ` -class Calculator: - def add(self, a, b): - return a + b - - def multiply(self, a, b): - return a * b - -calc = Calculator() -print(calc.add(2, 3)) -` - assert.True(t, runtime.ValidateCode(ctx, classCode, "python")) - - // 测试包含列表推导式的代码 - listCompCode := ` -squares = [x**2 for x in range(10) if x % 2 == 0] -print(squares) -` - assert.True(t, runtime.ValidateCode(ctx, listCompCode, "python")) -} - -func TestJavaScriptRuntime_ComplexSyntaxValidation(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - ctx := context.Background() - - // 测试复杂的有效JavaScript代码 - validCode := ` -function fibonacci(n) { - if (n <= 1) return n; - return fibonacci(n - 1) + fibonacci(n - 2); -} - -const result = fibonacci(10); -console.log(result); -` - assert.True(t, runtime.ValidateCode(ctx, validCode, "javascript")) - - // 测试包含箭头函数的代码 - arrowCode := ` -const numbers = [1, 2, 3, 4, 5]; -const doubled = numbers.map(n => n * 2); -console.log(doubled); -` - assert.True(t, runtime.ValidateCode(ctx, arrowCode, "javascript")) - - // 测试包含async/await的代码 - asyncCode := ` -async function fetchData() { - try { - const response = await fetch('/api/data'); - const data = await response.json(); - return data; - } catch (error) { - console.error('Error:', error); - } -} -` - assert.True(t, runtime.ValidateCode(ctx, asyncCode, "javascript")) -} - -func TestPythonRuntime_GetHealthStatus(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewPythonRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - status := runtime.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, "python", status["language"]) - assert.Equal(t, []entity.LanguageType{entity.LanguageTypePython}, status["supported_languages"]) - assert.Equal(t, "http://localhost:8001", status["python_faas_url"]) -} - -func TestJavaScriptRuntime_GetHealthStatus(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - status := runtime.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, "javascript", status["language"]) - assert.Equal(t, []entity.LanguageType{entity.LanguageTypeJS}, status["supported_languages"]) - // 注意:GetHealthStatus中获取的是COZE_LOOP_JS_FAAS_URL,但实际配置的是DOMAIN和PORT - // 所以这里应该检查URL是否为空或者包含正确的域名和端口 - jsFaaSURL, ok := status["js_faas_url"].(string) - assert.True(t, ok) - // 由于GetHealthStatus获取的是COZE_LOOP_JS_FAAS_URL环境变量,而我们设置的是DOMAIN和PORT - // 所以这里js_faas_url应该是空字符串 - assert.Equal(t, "", jsFaaSURL) -} - -func TestPythonRuntime_NilConfig(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - // 测试nil config的处理 - runtime, err := NewPythonRuntime(nil, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 验证使用默认配置 - assert.Equal(t, entity.LanguageTypePython, runtime.GetLanguageType()) -} - -func TestJavaScriptRuntime_NilConfig(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - - // 测试nil config的处理 - runtime, err := NewJavaScriptRuntime(nil, logger) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 验证使用默认配置 - assert.Equal(t, entity.LanguageTypeJS, runtime.GetLanguageType()) -} - -func TestPythonRuntime_NilLogger(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL", "http://localhost:8001") - defer unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_URL") - - config := entity.DefaultSandboxConfig() - - // 测试nil logger的处理 - runtime, err := NewPythonRuntime(config, nil) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 验证使用默认logger - assert.Equal(t, entity.LanguageTypePython, runtime.GetLanguageType()) -} - -func TestJavaScriptRuntime_NilLogger(t *testing.T) { - // 设置测试环境变量 - setEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN", "localhost") - setEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT", "8002") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - }() - - config := entity.DefaultSandboxConfig() - - // 测试nil logger的处理 - runtime, err := NewJavaScriptRuntime(config, nil) - require.NoError(t, err) - require.NotNil(t, runtime) - - // 验证使用默认logger - assert.Equal(t, entity.LanguageTypeJS, runtime.GetLanguageType()) -} - -func TestRuntimeFactory_HealthStatus(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - status := factory.GetHealthStatus() - assert.NotNil(t, status) - assert.Equal(t, "healthy", status["status"]) - assert.Equal(t, 0, status["cache_size"]) -} - -func TestRuntimeFactory_Metrics(t *testing.T) { - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - factory := NewRuntimeFactory(logger, config).(*RuntimeFactory) - require.NotNil(t, factory) - - metrics := factory.GetMetrics() - assert.NotNil(t, metrics) - assert.Equal(t, "language_specific", metrics["factory_type"]) - assert.Equal(t, 0, metrics["cache_size"]) - assert.Equal(t, 2, metrics["supported_languages"]) -} - -func TestPythonRuntime_MissingEnvironmentVariable(t *testing.T) { - // 由于业务代码逻辑缺陷,直接取消设置环境变量不会触发错误 - // 因为代码会拼接成 "http://:",不会被认为是空字符串 - // 所以我们需要测试一个稍微不同的场景:设置一个无效的URL - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_DOMAIN", "") - setEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_PORT", "") - defer func() { - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_PYTHON_FAAS_PORT") - }() - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - // 这种情况下NewPythonRuntime会创建成功(因为URL检查逻辑有缺陷) - runtime, err := NewPythonRuntime(config, logger) - // 不会返回错误,因为URL检查逻辑有缺陷 - require.NoError(t, err) - require.NotNil(t, runtime) - - // 验证运行时的GetMetrics显示未配置状态 - metrics := runtime.GetMetrics() - assert.Equal(t, false, metrics["python_faas_configured"]) -} - -func TestJavaScriptRuntime_MissingEnvironmentVariable(t *testing.T) { - // 确保环境变量不存在 - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_DOMAIN") - unsetEnvSafe(t, "COZE_LOOP_JS_FAAS_PORT") - - logger := logrus.New() - logger.SetLevel(logrus.WarnLevel) - config := entity.DefaultSandboxConfig() - - runtime, err := NewJavaScriptRuntime(config, logger) - assert.Error(t, err) - assert.Nil(t, runtime) - assert.Contains(t, err.Error(), "必须配置JavaScript FaaS服务URL") -} diff --git a/backend/modules/evaluation/pkg/conf/evaluator.go b/backend/modules/evaluation/pkg/conf/evaluator.go index 5c0669fe6..52fa39986 100755 --- a/backend/modules/evaluation/pkg/conf/evaluator.go +++ b/backend/modules/evaluation/pkg/conf/evaluator.go @@ -6,7 +6,6 @@ package conf import ( "context" "fmt" - "strings" "github.com/samber/lo" @@ -117,38 +116,7 @@ func DefaultEvaluatorPromptMapping() map[string]string { func (c *evaluatorConfiger) GetCodeEvaluatorTemplateConf(ctx context.Context) (etf map[string]map[string]*evaluatordto.EvaluatorContent) { const key = "code_evaluator_template_conf" - // 使用 json 标签进行解码,兼容内层 CodeEvaluator 仅声明了 json 标签的情况 - if c.loader.UnmarshalKey(ctx, key, &etf, conf.WithTagName("json")) == nil && len(etf) > 0 { - // 规范化第二层语言键,以及内部 LanguageType 字段 - for templateKey, langMap := range etf { - // 重建语言映射,使用标准化后的键 - newLangMap := make(map[string]*evaluatordto.EvaluatorContent, len(langMap)) - for langKey, tpl := range langMap { - normalizedKey := langKey - switch strings.ToLower(langKey) { - case "python": - normalizedKey = string(evaluatordto.LanguageTypePython) - case "js", "javascript": - normalizedKey = string(evaluatordto.LanguageTypeJS) - } - - if tpl != nil && tpl.CodeEvaluator != nil && tpl.CodeEvaluator.LanguageType != nil { - switch strings.ToLower(*tpl.CodeEvaluator.LanguageType) { - case "python": - v := evaluatordto.LanguageTypePython - tpl.CodeEvaluator.LanguageType = &v - case "js", "javascript": - v := evaluatordto.LanguageTypeJS - tpl.CodeEvaluator.LanguageType = &v - } - } - // 若标准键已存在,保留已存在的(避免覆盖) - if _, exists := newLangMap[normalizedKey]; !exists { - newLangMap[normalizedKey] = tpl - } - } - etf[templateKey] = newLangMap - } + if c.loader.UnmarshalKey(ctx, key, &etf) == nil && len(etf) > 0 { return etf } return DefaultCodeEvaluatorTemplateConf() @@ -160,38 +128,7 @@ func DefaultCodeEvaluatorTemplateConf() map[string]map[string]*evaluatordto.Eval func (c *evaluatorConfiger) GetCustomCodeEvaluatorTemplateConf(ctx context.Context) (etf map[string]map[string]*evaluatordto.EvaluatorContent) { const key = "custom_code_evaluator_template_conf" - // 使用 json 标签进行解码,兼容内层 CodeEvaluator 仅声明了 json 标签的情况 - if c.loader.UnmarshalKey(ctx, key, &etf, conf.WithTagName("json")) == nil && len(etf) > 0 { - // 规范化第二层语言键,以及内部 LanguageType 字段 - for templateKey, langMap := range etf { - // 重建语言映射,使用标准化后的键 - newLangMap := make(map[string]*evaluatordto.EvaluatorContent, len(langMap)) - for langKey, tpl := range langMap { - normalizedKey := langKey - switch strings.ToLower(langKey) { - case "python": - normalizedKey = string(evaluatordto.LanguageTypePython) - case "js", "javascript": - normalizedKey = string(evaluatordto.LanguageTypeJS) - } - - if tpl != nil && tpl.CodeEvaluator != nil && tpl.CodeEvaluator.LanguageType != nil { - switch strings.ToLower(*tpl.CodeEvaluator.LanguageType) { - case "python": - v := evaluatordto.LanguageTypePython - tpl.CodeEvaluator.LanguageType = &v - case "js", "javascript": - v := evaluatordto.LanguageTypeJS - tpl.CodeEvaluator.LanguageType = &v - } - } - // 若标准键已存在,保留已存在的(避免覆盖) - if _, exists := newLangMap[normalizedKey]; !exists { - newLangMap[normalizedKey] = tpl - } - } - etf[templateKey] = newLangMap - } + if c.loader.UnmarshalKey(ctx, key, &etf) == nil && len(etf) > 0 { return etf } return DefaultCustomCodeEvaluatorTemplateConf() diff --git a/backend/modules/evaluation/pkg/conf/evaluator_test.go b/backend/modules/evaluation/pkg/conf/evaluator_test.go index f0fc74109..bf60d095b 100644 --- a/backend/modules/evaluation/pkg/conf/evaluator_test.go +++ b/backend/modules/evaluation/pkg/conf/evaluator_test.go @@ -11,8 +11,6 @@ import ( "github.com/stretchr/testify/assert" "go.uber.org/mock/gomock" - "github.com/bytedance/gg/gptr" - evaluatordto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/evaluation/domain/evaluator" "github.com/coze-dev/coze-loop/backend/pkg/conf" mock_conf "github.com/coze-dev/coze-loop/backend/pkg/conf/mocks" @@ -228,243 +226,3 @@ func TestConfiger_GetEvaluatorTemplateConf(t *testing.T) { }) } } - -func TestConfiger_GetCodeEvaluatorTemplateConf(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockLoader := mock_conf.NewMockIConfigLoader(ctrl) - c := &evaluatorConfiger{loader: mockLoader} - - ctx := context.Background() - const key = "code_evaluator_template_conf" - - tests := []struct { - name string - mockSetup func() - expectedResult map[string]map[string]*evaluatordto.EvaluatorContent - validateResult func(*testing.T, map[string]map[string]*evaluatordto.EvaluatorContent) - }{ - { - name: "成功获取配置并规范化语言键", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).DoAndReturn( - func(_ context.Context, _ string, out any, _ ...conf.DecodeOptionFn) error { - // 模拟原始配置数据,包含非标准语言键 - m := map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - "python": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageType("python")), - }, - }, - "javascript": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageType("javascript")), - }, - }, - }, - } - ptr := out.(*map[string]map[string]*evaluatordto.EvaluatorContent) - *ptr = m - return nil - }, - ) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - string(evaluatordto.LanguageTypePython): { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypePython), - }, - }, - string(evaluatordto.LanguageTypeJS): { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypeJS), - }, - }, - }, - }, - validateResult: func(t *testing.T, result map[string]map[string]*evaluatordto.EvaluatorContent) { - // 验证语言键被规范化 - assert.Contains(t, result["template1"], string(evaluatordto.LanguageTypePython)) - assert.Contains(t, result["template1"], string(evaluatordto.LanguageTypeJS)) - // 验证内部LanguageType也被规范化 - pythonContent := result["template1"][string(evaluatordto.LanguageTypePython)] - assert.Equal(t, evaluatordto.LanguageTypePython, *pythonContent.CodeEvaluator.LanguageType) - }, - }, - { - name: "配置为空返回默认配置", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).Return(errors.New("not found")) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{}, - }, - { - name: "处理重复键,保留已存在的", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).DoAndReturn( - func(_ context.Context, _ string, out any, _ ...conf.DecodeOptionFn) error { - // 模拟包含重复键的配置 - m := map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - "python": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypePython), - }, - }, - "Python": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageType("Python")), - }, - }, - }, - } - ptr := out.(*map[string]map[string]*evaluatordto.EvaluatorContent) - *ptr = m - return nil - }, - ) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - string(evaluatordto.LanguageTypePython): { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypePython), - }, - }, - }, - }, - validateResult: func(t *testing.T, result map[string]map[string]*evaluatordto.EvaluatorContent) { - // 验证只保留了一个python键(第一个出现的) - assert.Len(t, result["template1"], 1) - assert.Contains(t, result["template1"], string(evaluatordto.LanguageTypePython)) - }, - }, - { - name: "处理nil模板内容", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).DoAndReturn( - func(_ context.Context, _ string, out any, _ ...conf.DecodeOptionFn) error { - // 模拟包含nil模板内容的配置 - m := map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - "python": nil, - "js": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageType("javascript")), - }, - }, - }, - } - ptr := out.(*map[string]map[string]*evaluatordto.EvaluatorContent) - *ptr = m - return nil - }, - ) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{ - "template1": { - string(evaluatordto.LanguageTypeJS): { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypeJS), - }, - }, - string(evaluatordto.LanguageTypePython): nil, - }, - }, - validateResult: func(t *testing.T, result map[string]map[string]*evaluatordto.EvaluatorContent) { - // 验证nil内容被正确处理 - 实际上代码中并没有过滤nil值,所以这里修正预期 - assert.Len(t, result["template1"], 2) - assert.Contains(t, result["template1"], string(evaluatordto.LanguageTypeJS)) - assert.Contains(t, result["template1"], string(evaluatordto.LanguageTypePython)) - // 验证nil值确实存在 - assert.Nil(t, result["template1"][string(evaluatordto.LanguageTypePython)]) - }, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - tt.mockSetup() - result := c.GetCodeEvaluatorTemplateConf(ctx) - assert.Equal(t, tt.expectedResult, result) - if tt.validateResult != nil { - tt.validateResult(t, result) - } - }) - } -} - -func TestConfiger_GetCustomCodeEvaluatorTemplateConf(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - mockLoader := mock_conf.NewMockIConfigLoader(ctrl) - c := &evaluatorConfiger{loader: mockLoader} - - ctx := context.Background() - const key = "custom_code_evaluator_template_conf" - - tests := []struct { - name string - mockSetup func() - expectedResult map[string]map[string]*evaluatordto.EvaluatorContent - validateResult func(*testing.T, map[string]map[string]*evaluatordto.EvaluatorContent) - }{ - { - name: "成功获取自定义配置并规范化", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).DoAndReturn( - func(_ context.Context, _ string, out any, _ ...conf.DecodeOptionFn) error { - m := map[string]map[string]*evaluatordto.EvaluatorContent{ - "custom_template": { - "js": { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageType("js")), - }, - }, - }, - } - ptr := out.(*map[string]map[string]*evaluatordto.EvaluatorContent) - *ptr = m - return nil - }, - ) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{ - "custom_template": { - string(evaluatordto.LanguageTypeJS): { - CodeEvaluator: &evaluatordto.CodeEvaluator{ - LanguageType: gptr.Of(evaluatordto.LanguageTypeJS), - }, - }, - }, - }, - validateResult: func(t *testing.T, result map[string]map[string]*evaluatordto.EvaluatorContent) { - assert.Contains(t, result["custom_template"], string(evaluatordto.LanguageTypeJS)) - jsContent := result["custom_template"][string(evaluatordto.LanguageTypeJS)] - assert.Equal(t, evaluatordto.LanguageTypeJS, *jsContent.CodeEvaluator.LanguageType) - }, - }, - { - name: "自定义配置为空返回默认配置", - mockSetup: func() { - mockLoader.EXPECT().UnmarshalKey(ctx, key, gomock.Any(), gomock.Any()).Return(errors.New("not found")) - }, - expectedResult: map[string]map[string]*evaluatordto.EvaluatorContent{}, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - tt.mockSetup() - result := c.GetCustomCodeEvaluatorTemplateConf(ctx) - assert.Equal(t, tt.expectedResult, result) - if tt.validateResult != nil { - tt.validateResult(t, result) - } - }) - } -} diff --git a/backend/modules/evaluation/pkg/errno/evaluation.go b/backend/modules/evaluation/pkg/errno/evaluation.go index 875a9d6fe..adfc2cd4e 100644 --- a/backend/modules/evaluation/pkg/errno/evaluation.go +++ b/backend/modules/evaluation/pkg/errno/evaluation.go @@ -104,10 +104,6 @@ const ( exportRunningCountLimitMessage = "number of export in running has reached the maximum limit" exportRunningCountLimitNoAffectStability = true - CustomEvalTargetInvokeFailCode = 601204010 // custom eval target invoke fail - customEvalTargetInvokeFailMessage = "custom eval target invoke fail" - customEvalTargetInvokeFailNoAffectStability = true - ContentTypeNotSupportedCode = 601205000 // content type is not supported contentTypeNotSupportedMessage = "content type is not supported" contentTypeNotSupportedNoAffectStability = true @@ -463,12 +459,6 @@ func init() { code.WithAffectStability(!exportRunningCountLimitNoAffectStability), ) - code.Register( - CustomEvalTargetInvokeFailCode, - customEvalTargetInvokeFailMessage, - code.WithAffectStability(!customEvalTargetInvokeFailNoAffectStability), - ) - code.Register( ContentTypeNotSupportedCode, contentTypeNotSupportedMessage, diff --git a/backend/modules/observability/application/convertor/task/task.go b/backend/modules/observability/application/convertor/task/task.go index 99b2c62ee..2e233b9ae 100644 --- a/backend/modules/observability/application/convertor/task/task.go +++ b/backend/modules/observability/application/convertor/task/task.go @@ -15,7 +15,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/dataset" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" - "github.com/coze-dev/coze-loop/backend/modules/observability/application/convertor" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" entity_common "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/common" obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" @@ -158,30 +157,18 @@ func DataReflowConfigDO2DTO(v *entity.DataReflowConfig) *task.DataReflowConfig { } } -func RuleDO2DTO(spanFilter *entity.SpanFilterFields, effectiveTime *entity.EffectiveTime, sampler *entity.Sampler, backfillEffectiveTime *entity.EffectiveTime) *task.Rule { +func RuleDO2DTO(spanFilter *filter.SpanFilterFields, effectiveTime *entity.EffectiveTime, sampler *entity.Sampler, backfillEffectiveTime *entity.EffectiveTime) *task.Rule { if spanFilter == nil { return nil } return &task.Rule{ - SpanFilters: SpanFilterDO2DTO(spanFilter), + SpanFilters: spanFilter, Sampler: SamplerDO2DTO(sampler), EffectiveTime: EffectiveTimeDO2DTO(effectiveTime), BackfillEffectiveTime: EffectiveTimeDO2DTO(backfillEffectiveTime), } } -func SpanFilterDO2DTO(spanFilter *entity.SpanFilterFields) *filter.SpanFilterFields { - if spanFilter == nil { - return nil - } - - return &filter.SpanFilterFields{ - Filters: convertor.FilterFieldsDO2DTO(&spanFilter.Filters), - PlatformType: &spanFilter.PlatformType, - SpanListType: &spanFilter.SpanListType, - } -} - func SpanFilterPO2DO(ctx context.Context, spanFilter *string) *filter.SpanFilterFields { if spanFilter == nil { return nil @@ -305,7 +292,7 @@ func UserInfoPO2DO(userInfo *entity_common.UserInfo, userID string) *common.User } } -func TaskDTO2DO(taskDTO *task.Task, userID string, spanFilters *entity.SpanFilterFields) *entity.ObservabilityTask { +func TaskDTO2DO(taskDTO *task.Task, userID string, spanFilters *filter.SpanFilterFields) *entity.ObservabilityTask { if taskDTO == nil { return nil } @@ -327,11 +314,11 @@ func TaskDTO2DO(taskDTO *task.Task, userID string, spanFilters *entity.SpanFilte updatedBy = taskDTO.GetBaseInfo().GetUpdatedBy().GetUserID() } } - var spanFilterDO *entity.SpanFilterFields + var spanFilterDO *filter.SpanFilterFields if spanFilters != nil { spanFilterDO = spanFilters } else { - spanFilterDO = SpanFilterDTO2DO(taskDTO.GetRule().GetSpanFilters()) + spanFilterDO = taskDTO.GetRule().GetSpanFilters() } return &entity.ObservabilityTask{ @@ -354,17 +341,6 @@ func TaskDTO2DO(taskDTO *task.Task, userID string, spanFilters *entity.SpanFilte } } -func SpanFilterDTO2DO(spanFilterFields *filter.SpanFilterFields) *entity.SpanFilterFields { - if spanFilterFields == nil { - return nil - } - return &entity.SpanFilterFields{ - PlatformType: *spanFilterFields.PlatformType, - SpanListType: *spanFilterFields.SpanListType, - Filters: *convertor.FilterFieldsDTO2DO(spanFilterFields.Filters), - } -} - func RunDetailDTO2DO(runDetail *task.RunDetail) *entity.RunDetail { if runDetail == nil { return nil diff --git a/backend/modules/observability/application/convertor/task/task_test.go b/backend/modules/observability/application/convertor/task/task_test.go index 9a48ea739..2d3c409d0 100755 --- a/backend/modules/observability/application/convertor/task/task_test.go +++ b/backend/modules/observability/application/convertor/task/task_test.go @@ -18,7 +18,6 @@ import ( kitTask "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" entityCommon "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/common" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" @@ -80,14 +79,7 @@ func TestTaskDOs2DTOs(t *testing.T) { Description: ptr.Of("desc"), TaskType: kitTask.TaskTypeAutoEval, TaskStatus: kitTask.TaskStatusRunning, - SpanFilter: &entity.SpanFilterFields{ - PlatformType: kitCommon.PlatformTypeCozeloop, - SpanListType: kitCommon.SpanListTypeRootSpan, - Filters: loop_span.FilterFields{ - QueryAndOr: ptr.Of(loop_span.QueryAndOrEnumAnd), - FilterFields: []*loop_span.FilterField{}, - }, - }, + SpanFilter: &filter.SpanFilterFields{}, EffectiveTime: &entity.EffectiveTime{ StartAt: now.Add(time.Hour).UnixMilli(), EndAt: now.Add(2 * time.Hour).UnixMilli(), @@ -239,13 +231,8 @@ func TestTaskDTO2DO(t *testing.T) { }, } - overrideSpan := &entity.SpanFilterFields{ - PlatformType: kitCommon.PlatformTypeCozeloop, - SpanListType: kitCommon.SpanListTypeRootSpan, - Filters: loop_span.FilterFields{ - QueryAndOr: ptr.Of(loop_span.QueryAndOrEnumAnd), - FilterFields: []*loop_span.FilterField{}, - }, + overrideSpan := &filter.SpanFilterFields{ + PlatformType: gptr.Of(kitCommon.PlatformType("coze")), } entityTask := TaskDTO2DO(dto, "override", overrideSpan) diff --git a/backend/modules/observability/application/convertor/trace/span.go b/backend/modules/observability/application/convertor/trace/span.go index 0f7e8a3e2..9b1ac6a57 100644 --- a/backend/modules/observability/application/convertor/trace/span.go +++ b/backend/modules/observability/application/convertor/trace/span.go @@ -204,9 +204,6 @@ func FilterFieldsDTO2DO(f *filter.FilterFields) *loop_span.FilterFields { if field.SubFilter != nil { fField.SubFilter = FilterFieldsDTO2DO(field.SubFilter) } - if field.IsCustom != nil { - fField.IsCustom = *field.IsCustom - } ret.FilterFields = append(ret.FilterFields, fField) } return ret diff --git a/backend/modules/observability/application/openapi.go b/backend/modules/observability/application/openapi.go index f3fd6fe18..211efcb70 100644 --- a/backend/modules/observability/application/openapi.go +++ b/backend/modules/observability/application/openapi.go @@ -17,7 +17,6 @@ import ( "github.com/bytedance/gg/gptr" "github.com/bytedance/sonic" "github.com/coze-dev/coze-loop/backend/kitex_gen/base" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/collector" coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" "google.golang.org/protobuf/proto" @@ -65,7 +64,6 @@ func NewOpenAPIApplication( rateLimiter limiter.IRateLimiterFactory, traceConfig config.ITraceConfig, metrics metrics.ITraceMetrics, - collector collector.ICollectorProvider, ) (IObservabilityOpenAPIApplication, error) { return &OpenAPIApplication{ traceService: traceService, @@ -76,7 +74,6 @@ func NewOpenAPIApplication( rateLimiter: rateLimiter.NewRateLimiter(), traceConfig: traceConfig, metrics: metrics, - collector: collector, }, nil } @@ -89,7 +86,6 @@ type OpenAPIApplication struct { rateLimiter limiter.IRateLimiter traceConfig config.ITraceConfig metrics metrics.ITraceMetrics - collector collector.ICollectorProvider } func (o *OpenAPIApplication) IngestTraces(ctx context.Context, req *openapi.IngestTracesRequest) (*openapi.IngestTracesResponse, error) { @@ -145,7 +141,7 @@ func (o *OpenAPIApplication) IngestTraces(ctx context.Context, req *openapi.Inge WhichIsEnough: benefitRes.WhichIsEnough, CozeAccountId: connectorUid, VolcanoAccountID: benefitRes.VolcanoAccountID, - Spans: tenantSpanMap[ingestTenant], + Spans: spans, }); err != nil { return nil, err } @@ -479,11 +475,10 @@ func (o *OpenAPIApplication) SearchTraceOApi(ctx context.Context, req *openapi.S defer func() { if req != nil { o.metrics.EmitTraceOapi("SearchTraceOApi", req.WorkspaceID, req.GetPlatformType(), "", int64(spansSize), errCode, st, err != nil) - o.collector.CollectTraceOpenAPIEvent(ctx, "SearchTraceOApi", req.WorkspaceID, req.GetPlatformType(), "", int64(spansSize), errCode, st, err != nil) } }() - if err = o.validateSearchTraceOApiReq(ctx, req); err != nil { + if err = o.validateSearchOApiTraceReq(ctx, req); err != nil { errCode = obErrorx.CommercialCommonInvalidParamCodeCode return nil, err } @@ -497,7 +492,7 @@ func (o *OpenAPIApplication) SearchTraceOApi(ctx context.Context, req *openapi.S errCode = obErrorx.CommonRequestRateLimitCode return nil, err } - sReq, err := o.buildSearchTraceOApiReq(ctx, req) + sReq, err := o.buildSearchTraceReq(ctx, req) if err != nil { errCode = obErrorx.CommonInternalErrorCode return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("search trace req is invalid")) @@ -525,7 +520,7 @@ func (o *OpenAPIApplication) SearchTraceOApi(ctx context.Context, req *openapi.S }, nil } -func (o *OpenAPIApplication) validateSearchTraceOApiReq(ctx context.Context, req *openapi.SearchTraceOApiRequest) error { +func (o *OpenAPIApplication) validateSearchOApiTraceReq(ctx context.Context, req *openapi.SearchTraceOApiRequest) error { if req == nil { return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("no request provided")) } else if req.GetTraceID() == "" && req.GetLogid() == "" { @@ -547,7 +542,7 @@ func (o *OpenAPIApplication) validateSearchTraceOApiReq(ctx context.Context, req return nil } -func (o *OpenAPIApplication) buildSearchTraceOApiReq(ctx context.Context, req *openapi.SearchTraceOApiRequest) (*service.SearchTraceOApiReq, error) { +func (o *OpenAPIApplication) buildSearchTraceReq(ctx context.Context, req *openapi.SearchTraceOApiRequest) (*service.SearchTraceOApiReq, error) { platformType := loop_span.PlatformType(req.GetPlatformType()) if req.PlatformType == nil { platformType = loop_span.PlatformCozeLoop @@ -563,123 +558,11 @@ func (o *OpenAPIApplication) buildSearchTraceOApiReq(ctx context.Context, req *o EndTime: req.GetEndTime(), Limit: req.GetLimit(), PlatformType: platformType, - WithDetail: true, - SpanIDs: req.SpanIds, - } - if len(ret.Tenants) == 0 { - logs.CtxError(ctx, "fail to get platform tenants") - return nil, errorx.WrapByCode(errors.New("fail to get platform tenants"), obErrorx.CommercialCommonInternalErrorCodeCode) - } - - return ret, nil -} - -func (o *OpenAPIApplication) SearchTraceTreeOApi(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) (*openapi.SearchTraceTreeOApiResponse, error) { - var err error - st := time.Now() - spansSize := 0 - errCode := 0 - defer func() { - if req != nil { - o.metrics.EmitTraceOapi("SearchTraceTreeOApi", req.GetWorkspaceID(), req.GetPlatformType(), "", int64(spansSize), errCode, st, err != nil) - o.collector.CollectTraceOpenAPIEvent(ctx, "SearchTraceTreeOApi", req.GetWorkspaceID(), req.GetPlatformType(), "", int64(spansSize), errCode, st, err != nil) - } - }() - - if err = o.validateSearchTraceTreeOApiReq(ctx, req); err != nil { - errCode = obErrorx.CommercialCommonInvalidParamCodeCode - return nil, err - } - if err = o.auth.CheckQueryPermission(ctx, strconv.FormatInt(req.GetWorkspaceID(), 10), req.GetPlatformType()); err != nil { - errCode = obErrorx.CommonNoPermissionCode - return nil, err - } - limitKey := strconv.FormatInt(req.GetWorkspaceID(), 10) - if !o.AllowByKey(ctx, limitKey) { - err = errorx.NewByCode(obErrorx.CommonRequestRateLimitCode, errorx.WithExtraMsg("qps limit exceeded")) - errCode = obErrorx.CommonRequestRateLimitCode - return nil, err - } - sReq, err := o.buildSearchTraceTreeOApiReq(ctx, req) - if err != nil { - errCode = obErrorx.CommonInternalErrorCode - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("search trace req is invalid")) - } - sResp, err := o.traceService.SearchTraceOApi(ctx, sReq) - if err != nil { - return nil, err - } - inTokens, outTokens, err := sResp.Spans.Stat(ctx) - if err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) - } - if sResp != nil { - spansSize = loop_span.SizeofSpans(sResp.Spans) - logs.CtxInfo(ctx, "SearchTrace successfully, spans count %d", len(sResp.Spans)) - } - return &openapi.SearchTraceTreeOApiResponse{ - Data: &openapi.SearchTraceOApiData{ - Spans: tconv.SpanListDO2DTO(sResp.Spans, nil, nil, nil), - TracesAdvanceInfo: &trace.TraceAdvanceInfo{ - Tokens: &trace.TokenCost{ - Input: inTokens, - Output: outTokens, - }, - }, - }, - }, nil -} - -func (o *OpenAPIApplication) validateSearchTraceTreeOApiReq(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) error { - if req == nil { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("no request provided")) - } else if req.GetTraceID() == "" { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("at least need trace_id or log_id")) - } else if req.Limit > MaxTraceTreeLength || req.Limit < 0 { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("invalid limit")) - } - v := utils.DateValidator{ - Start: req.GetStartTime(), - End: req.GetEndTime(), - EarliestDays: 365, - } - newStartTime, newEndTime, err := v.CorrectDate() - if err != nil { - return err - } - req.SetStartTime(&newStartTime) - req.SetEndTime(&newEndTime) - return nil -} - -func (o *OpenAPIApplication) buildSearchTraceTreeOApiReq(ctx context.Context, req *openapi.SearchTraceTreeOApiRequest) (*service.SearchTraceOApiReq, error) { - platformType := loop_span.PlatformType(req.GetPlatformType()) - if req.PlatformType == nil { - platformType = loop_span.PlatformCozeLoop - } - - ret := &service.SearchTraceOApiReq{ - WorkspaceID: req.GetWorkspaceID(), - ThirdPartyWorkspaceID: o.workspace.GetThirdPartyQueryWorkSpaceID(ctx, req.GetWorkspaceID()), - Tenants: o.tenant.GetOAPIQueryTenants(ctx, platformType), - TraceID: req.GetTraceID(), - StartTime: req.GetStartTime(), - EndTime: req.GetEndTime(), - Limit: req.GetLimit(), - PlatformType: platformType, - WithDetail: false, } - if len(ret.Tenants) == 0 { logs.CtxError(ctx, "fail to get platform tenants") return nil, errorx.WrapByCode(errors.New("fail to get platform tenants"), obErrorx.CommercialCommonInternalErrorCodeCode) } - if req.Filters != nil { - ret.Filters = tconv.FilterFieldsDTO2DO(req.Filters) - if err := ret.Filters.Validate(); err != nil { - return nil, err - } - } return ret, nil } @@ -692,7 +575,6 @@ func (o *OpenAPIApplication) ListSpansOApi(ctx context.Context, req *openapi.Lis defer func() { if req != nil { o.metrics.EmitTraceOapi("ListSpansOApi", req.WorkspaceID, req.GetPlatformType(), req.GetSpanListType(), int64(spansSize), errCode, st, err != nil) - o.collector.CollectTraceOpenAPIEvent(ctx, "ListSpansOApi", req.WorkspaceID, req.GetPlatformType(), req.GetSpanListType(), int64(spansSize), errCode, st, err != nil) } }() if err = o.validateListSpansOApi(ctx, req); err != nil { @@ -803,7 +685,6 @@ func (o *OpenAPIApplication) ListTracesOApi(ctx context.Context, req *openapi.Li errCode := 0 defer func() { o.metrics.EmitTraceOapi("ListTracesOApi", req.WorkspaceID, "", "", 0, errCode, st, err != nil) - o.collector.CollectTraceOpenAPIEvent(ctx, "ListTracesOApi", req.WorkspaceID, "", "", 0, errCode, st, err != nil) }() if err = o.validateListTracesOApiReq(ctx, req); err != nil { diff --git a/backend/modules/observability/application/openapi_test.go b/backend/modules/observability/application/openapi_test.go index bebec15e5..2d71dc47d 100755 --- a/backend/modules/observability/application/openapi_test.go +++ b/backend/modules/observability/application/openapi_test.go @@ -10,18 +10,24 @@ import ( "testing" "time" + "github.com/bytedance/sonic" + "github.com/stretchr/testify/assert" + coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" + commonpb "go.opentelemetry.io/proto/otlp/common/v1" + resourcepb "go.opentelemetry.io/proto/otlp/resource/v1" + tracepb "go.opentelemetry.io/proto/otlp/trace/v1" + "go.uber.org/mock/gomock" + "google.golang.org/protobuf/proto" + "github.com/coze-dev/coze-loop/backend/infra/external/benefit" benefitmocks "github.com/coze-dev/coze-loop/backend/infra/external/benefit/mocks" "github.com/coze-dev/coze-loop/backend/infra/limiter" limitermocks "github.com/coze-dev/coze-loop/backend/infra/limiter/mocks" "github.com/coze-dev/coze-loop/backend/kitex_gen/base" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/annotation" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/common" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/span" + traced "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/trace" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/openapi" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/collector" - collectormocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/collector/mocks" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" configmocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config/mocks" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/metrics" @@ -34,15 +40,10 @@ import ( workspacemocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/workspace/mocks" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" + "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/otel" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service" servicemocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/mocks" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" - "github.com/stretchr/testify/assert" - coltracepb "go.opentelemetry.io/proto/otlp/collector/trace/v1" - tracepb "go.opentelemetry.io/proto/otlp/trace/v1" - "google.golang.org/protobuf/proto" - - "go.uber.org/mock/gomock" ) func TestOpenAPIApplication_IngestTraces(t *testing.T) { @@ -55,7 +56,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiter limiter.IRateLimiterFactory traceConfig config.ITraceConfig metrics metrics.ITraceMetrics - collector collector.ICollectorProvider } type args struct { ctx context.Context @@ -89,7 +89,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(100, nil).AnyTimes() traceConfigMock.EXPECT().GetTraceIngestTenantProducerCfg(gomock.Any()).Return(nil, nil).AnyTimes() return fields{ @@ -101,7 +100,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -129,7 +127,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) return fields{ traceService: traceServiceMock, auth: authMock, @@ -139,7 +136,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -154,7 +150,6 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() fields := tt.fieldsGetter(ctrl) @@ -167,8 +162,9 @@ func TestOpenAPIApplication_IngestTraces(t *testing.T) { rateLimiter: fields.rateLimiter.NewRateLimiter(), traceConfig: fields.traceConfig, metrics: fields.metrics, - collector: fields.collector, } + err := error(nil) + assert.NoError(t, err) got, err := o.IngestTraces(tt.args.ctx, tt.args.req) assert.Equal(t, tt.wantErr, err != nil) assert.Equal(t, tt.want, got) @@ -186,7 +182,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiter limiter.IRateLimiterFactory traceConfig config.ITraceConfig metrics metrics.ITraceMetrics - collector collector.ICollectorProvider } type args struct { ctx context.Context @@ -228,7 +223,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) return fields{ traceService: traceServiceMock, auth: authMock, @@ -238,7 +232,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -277,7 +270,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) return fields{ traceService: traceServiceMock, auth: authMock, @@ -287,7 +279,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -610,7 +601,6 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() fields := tt.fieldsGetter(ctrl) @@ -623,8 +613,9 @@ func TestOpenAPIApplication_CreateAnnotation(t *testing.T) { rateLimiter: fields.rateLimiter.NewRateLimiter(), traceConfig: fields.traceConfig, metrics: fields.metrics, - collector: fields.collector, } + err := error(nil) + assert.NoError(t, err) got, err := o.CreateAnnotation(tt.args.ctx, tt.args.req) assert.Equal(t, tt.wantErr, err != nil) assert.Equal(t, tt.want, got) @@ -642,7 +633,6 @@ func TestOpenAPIApplication_DeleteAnnotation(t *testing.T) { rateLimiter limiter.IRateLimiterFactory traceConfig config.ITraceConfig metrics metrics.ITraceMetrics - collector collector.ICollectorProvider } type args struct { ctx context.Context @@ -684,7 +674,6 @@ func TestOpenAPIApplication_DeleteAnnotation(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) return fields{ traceService: traceServiceMock, auth: authMock, @@ -694,7 +683,6 @@ func TestOpenAPIApplication_DeleteAnnotation(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -819,7 +807,6 @@ func TestOpenAPIApplication_DeleteAnnotation(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() fields := tt.fieldsGetter(ctrl) @@ -832,8 +819,9 @@ func TestOpenAPIApplication_DeleteAnnotation(t *testing.T) { rateLimiter: fields.rateLimiter.NewRateLimiter(), traceConfig: fields.traceConfig, metrics: fields.metrics, - collector: fields.collector, } + err := error(nil) + assert.NoError(t, err) got, err := o.DeleteAnnotation(tt.args.ctx, tt.args.req) assert.Equal(t, tt.wantErr, err != nil) assert.Equal(t, tt.want, got) @@ -851,7 +839,6 @@ func TestOpenAPIApplication_Send(t *testing.T) { rateLimiter limiter.IRateLimiterFactory traceConfig config.ITraceConfig metrics metrics.ITraceMetrics - collector collector.ICollectorProvider } type args struct { ctx context.Context @@ -888,7 +875,6 @@ func TestOpenAPIApplication_Send(t *testing.T) { rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) return fields{ traceService: traceServiceMock, auth: authMock, @@ -898,7 +884,6 @@ func TestOpenAPIApplication_Send(t *testing.T) { rateLimiter: rateLimiterMock, traceConfig: traceConfigMock, metrics: metricsMock, - collector: collectorMock, } }, args: args{ @@ -910,7 +895,6 @@ func TestOpenAPIApplication_Send(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - t.Parallel() ctrl := gomock.NewController(t) defer ctrl.Finish() fields := tt.fieldsGetter(ctrl) @@ -923,63 +907,16 @@ func TestOpenAPIApplication_Send(t *testing.T) { rateLimiter: fields.rateLimiter.NewRateLimiter(), traceConfig: fields.traceConfig, metrics: fields.metrics, - collector: fields.collector, } - err := o.Send(tt.args.ctx, tt.args.event) + err := error(nil) + assert.NoError(t, err) + err = o.Send(tt.args.ctx, tt.args.event) assert.Equal(t, tt.wantErr, err != nil) }) } } -func TestNewOpenAPIApplication(t *testing.T) { - t.Parallel() - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiterFactoryMock := limitermocks.NewMockIRateLimiterFactory(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - rateLimiterFactoryMock.EXPECT().NewRateLimiter().Return(rateLimiterMock) - - app, err := NewOpenAPIApplication( - traceServiceMock, - authMock, - benefitMock, - tenantMock, - workspaceMock, - rateLimiterFactoryMock, - traceConfigMock, - metricsMock, - collectorMock, - ) - - assert.NoError(t, err) - assert.NotNil(t, app) - - // 验证返回的实例类型 - openAPIApp, ok := app.(*OpenAPIApplication) - assert.True(t, ok) - assert.NotNil(t, openAPIApp.traceService) - assert.NotNil(t, openAPIApp.auth) - assert.NotNil(t, openAPIApp.benefit) - assert.NotNil(t, openAPIApp.tenant) - assert.NotNil(t, openAPIApp.workspace) - assert.NotNil(t, openAPIApp.rateLimiter) - assert.NotNil(t, openAPIApp.traceConfig) - assert.NotNil(t, openAPIApp.metrics) - assert.NotNil(t, openAPIApp.collector) -} - -// 补充IngestTraces的边界测试场景 -func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { +func TestOpenAPIApplication_OtelIngestTraces(t *testing.T) { type fields struct { traceService service.ITraceService auth rpc.IAuthProvider @@ -992,25 +929,44 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { } type args struct { ctx context.Context - req *openapi.IngestTracesRequest + req *openapi.OtelIngestTracesRequest } tests := []struct { name string fieldsGetter func(ctrl *gomock.Controller) fields args args - want *openapi.IngestTracesResponse + want *openapi.OtelIngestTracesResponse wantErr bool }{ { - name: "permission check fails", + name: "success with JSON format data", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(nil) authMock := rpcmocks.NewMockIAuthProvider(ctrl) - authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(assert.AnError) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: true, + IsEnough: true, + StorageDuration: 3, + WhichIsEnough: -1, + }, nil) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("test-tenant") workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1028,32 +984,48 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { }, args: args{ ctx: context.Background(), - req: &openapi.IngestTracesRequest{ - Spans: []*span.InputSpan{ - { - WorkspaceID: "1", - }, - }, + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", }, }, - want: nil, - wantErr: true, + want: &openapi.OtelIngestTracesResponse{ + Body: createValidProtoBufResponse(), + ContentType: ptr.Of("application/x-protobuf"), + }, + wantErr: false, }, { - name: "benefit check fails - insufficient capacity", + name: "success with ProtoBuf format data", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(nil) authMock := rpcmocks.NewMockIAuthProvider(ctrl) - authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) benefitMock := benefitmocks.NewMockIBenefitService(ctrl) benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ AccountAvailable: true, - IsEnough: false, + IsEnough: true, StorageDuration: 3, + WhichIsEnough: -1, }, nil) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("test-tenant") workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1071,32 +1043,48 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { }, args: args{ ctx: context.Background(), - req: &openapi.IngestTracesRequest{ - Spans: []*span.InputSpan{ - { - WorkspaceID: "1", - }, - }, + req: &openapi.OtelIngestTracesRequest{ + Body: createValidProtoBufTraceData(), + ContentType: "application/x-protobuf", + ContentEncoding: "", + WorkspaceID: "123", }, }, - want: nil, - wantErr: true, + want: &openapi.OtelIngestTracesResponse{ + Body: createValidProtoBufResponse(), + ContentType: ptr.Of("application/x-protobuf"), + }, + wantErr: false, }, { - name: "benefit check fails - account not available", + name: "success with gzip compressed data", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(nil) authMock := rpcmocks.NewMockIAuthProvider(ctrl) - authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) benefitMock := benefitmocks.NewMockIBenefitService(ctrl) benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ - AccountAvailable: false, + AccountAvailable: true, IsEnough: true, StorageDuration: 3, + WhichIsEnough: -1, }, nil) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("test-tenant") workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1114,27 +1102,44 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { }, args: args{ ctx: context.Background(), - req: &openapi.IngestTracesRequest{ - Spans: []*span.InputSpan{ - { - WorkspaceID: "1", - }, - }, + req: &openapi.OtelIngestTracesRequest{ + Body: createGzipData(createValidJSONTraceData()), + ContentType: "application/json", + ContentEncoding: "gzip", + WorkspaceID: "123", }, }, - want: nil, - wantErr: true, + want: &openapi.OtelIngestTracesResponse{ + Body: createValidProtoBufResponse(), + ContentType: ptr.Of("application/x-protobuf"), + }, + wantErr: false, }, + { - name: "invalid workspace id format", + name: "success with default benefit when benefit service returns nil", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(nil) authMock := rpcmocks.NewMockIAuthProvider(ctrl) - authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(nil, nil) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("test-tenant") workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("invalid").AnyTimes() + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1152,25 +1157,39 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { }, args: args{ ctx: context.Background(), - req: &openapi.IngestTracesRequest{ - Spans: []*span.InputSpan{ - { - WorkspaceID: "1", - }, - }, + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", }, }, - want: nil, - wantErr: true, + want: &openapi.OtelIngestTracesResponse{ + Body: createValidProtoBufResponse(), + ContentType: ptr.Of("application/x-protobuf"), + }, + wantErr: false, }, { - name: "nil request", + name: "fail with empty request", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) authMock := rpcmocks.NewMockIAuthProvider(ctrl) benefitMock := benefitmocks.NewMockIBenefitService(ctrl) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1193,67 +1212,26 @@ func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { want: nil, wantErr: true, }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - fields := tt.fieldsGetter(ctrl) - o := &OpenAPIApplication{ - traceService: fields.traceService, - auth: fields.auth, - benefit: fields.benefit, - tenant: fields.tenant, - workspace: fields.workspace, - rateLimiter: fields.rateLimiter.NewRateLimiter(), - traceConfig: fields.traceConfig, - metrics: fields.metrics, - } - got, err := o.IngestTraces(tt.args.ctx, tt.args.req) - assert.Equal(t, tt.wantErr, err != nil) - assert.Equal(t, tt.want, got) - }) - } -} - -// 补充CreateAnnotation的更多测试场景 -func TestOpenAPIApplication_CreateAnnotation_AdditionalScenarios(t *testing.T) { - type fields struct { - traceService service.ITraceService - auth rpc.IAuthProvider - benefit benefit.IBenefitService - tenant tenant.ITenantProvider - workspace workspace.IWorkSpaceProvider - rateLimiter limiter.IRateLimiterFactory - traceConfig config.ITraceConfig - metrics metrics.ITraceMetrics - } - type args struct { - ctx context.Context - req *openapi.CreateAnnotationRequest - } - tests := []struct { - name string - fieldsGetter func(ctrl *gomock.Controller) fields - args args - want *openapi.CreateAnnotationResponse - wantErr bool - }{ { - name: "create annotation with double value type", + name: "fail with empty body", fieldsGetter: func(ctrl *gomock.Controller) fields { traceServiceMock := servicemocks.NewMockITraceService(ctrl) - traceServiceMock.EXPECT().CreateAnnotation(gomock.Any(), gomock.Any()).Return(nil) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ - StorageDuration: 3, - }, nil) authMock := rpcmocks.NewMockIAuthProvider(ctrl) - authMock.EXPECT().CheckWorkspacePermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) tenantMock := tenantmocks.NewMockITenantProvider(ctrl) workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() - workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() traceConfigMock := configmocks.NewMockITraceConfig(ctrl) @@ -1271,9 +1249,2284 @@ func TestOpenAPIApplication_CreateAnnotation_AdditionalScenarios(t *testing.T) { }, args: args{ ctx: context.Background(), - req: &openapi.CreateAnnotationRequest{ - WorkspaceID: 1, - AnnotationValueType: ptr.Of(annotation.ValueType(loop_span.AnnotationValueTypeDouble)), + req: &openapi.OtelIngestTracesRequest{ + Body: []byte{}, + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with invalid content type", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/xml", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with corrupted gzip data", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: []byte("corrupted gzip data"), + ContentType: "application/json", + ContentEncoding: "gzip", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with invalid JSON data", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: []byte("invalid json"), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with invalid ProtoBuf data", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: []byte("invalid protobuf"), + ContentType: "application/x-protobuf", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with invalid workspace ID", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "invalid").Return(nil).AnyTimes() + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "invalid", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with permission check error", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(assert.AnError) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with insufficient capacity", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: true, + IsEnough: false, + StorageDuration: 3, + WhichIsEnough: -1, + }, nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with account not available", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: false, + IsEnough: true, + StorageDuration: 3, + WhichIsEnough: -1, + }, nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: true, + }, + { + name: "fail with trace service error", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(assert.AnError) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), "123").Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: true, + IsEnough: true, + StorageDuration: 3, + WhichIsEnough: -1, + }, nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("test-tenant") + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.OtelIngestTracesRequest{ + Body: createValidJSONTraceData(), + ContentType: "application/json", + ContentEncoding: "", + WorkspaceID: "123", + }, + }, + want: nil, + wantErr: false, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + fields := tt.fieldsGetter(ctrl) + o := &OpenAPIApplication{ + traceService: fields.traceService, + auth: fields.auth, + benefit: fields.benefit, + tenant: fields.tenant, + workspace: fields.workspace, + rateLimiter: fields.rateLimiter.NewRateLimiter(), + traceConfig: fields.traceConfig, + metrics: fields.metrics, + } + err := error(nil) + assert.NoError(t, err) + got, err := o.OtelIngestTraces(tt.args.ctx, tt.args.req) + assert.Equal(t, tt.wantErr, err != nil) + if !tt.wantErr { + assert.NotNil(t, got) + assert.NotNil(t, got.Body) + assert.NotNil(t, got.ContentType) + assert.Equal(t, "application/x-protobuf", *got.ContentType) + } else { + assert.Nil(t, got) + } + }) + } +} + +// createValidJSONTraceData creates valid JSON format trace data for testing +func createValidJSONTraceData() []byte { + req := &otel.ExportTraceServiceRequest{ + ResourceSpans: []*otel.ResourceSpans{ + { + Resource: &otel.Resource{ + Attributes: []*otel.KeyValue{ + { + Key: "service.name", + Value: &otel.AnyValue{ + Value: &otel.AnyValue_StringValue{StringValue: "test-service"}, + }, + }, + }, + }, + ScopeSpans: []*otel.ScopeSpans{ + { + Scope: &otel.InstrumentationScope{ + Name: "test-scope", + Version: "1.0.0", + }, + Spans: []*otel.Span{ + { + TraceId: "1234567890abcdef1234567890abcdef", + SpanId: "1234567890abcdef", + Name: "test-span", + StartTimeUnixNano: "1755076800000000000", + EndTimeUnixNano: "1640995201000000000", + Attributes: []*otel.KeyValue{ + { + Key: otel.OtelAttributeWorkSpaceID, + Value: &otel.AnyValue{ + Value: &otel.AnyValue_StringValue{StringValue: "123"}, + }, + }, + }, + }, + }, + }, + }, + }, + }, + } + + data, _ := sonic.Marshal(req) + return data +} + +// createValidProtoBufTraceData creates valid ProtoBuf format trace data for testing +func createValidProtoBufTraceData() []byte { + req := &coltracepb.ExportTraceServiceRequest{ + ResourceSpans: []*tracepb.ResourceSpans{ + { + Resource: &resourcepb.Resource{ + Attributes: []*commonpb.KeyValue{ + { + Key: "service.name", + Value: &commonpb.AnyValue{ + Value: &commonpb.AnyValue_StringValue{StringValue: "test-service"}, + }, + }, + }, + }, + ScopeSpans: []*tracepb.ScopeSpans{ + { + Scope: &commonpb.InstrumentationScope{ + Name: "test-scope", + Version: "1.0.0", + }, + Spans: []*tracepb.Span{ + { + TraceId: []byte("1234567890abcdef"), + SpanId: []byte("12345678"), + Name: "test-span", + StartTimeUnixNano: 1755076800000000000, + EndTimeUnixNano: 1640995201000000000, + Attributes: []*commonpb.KeyValue{ + { + Key: otel.OtelAttributeWorkSpaceID, + Value: &commonpb.AnyValue{ + Value: &commonpb.AnyValue_StringValue{StringValue: "123"}, + }, + }, + }, + }, + }, + }, + }, + }, + }, + } + + data, _ := proto.Marshal(req) + return data +} + +// createGzipData compresses data using gzip for testing +func createGzipData(data []byte) []byte { + var buf bytes.Buffer + writer := gzip.NewWriter(&buf) + _, _ = writer.Write(data) + _ = writer.Close() + return buf.Bytes() +} + +// createValidProtoBufResponse creates a valid protobuf response for testing +func createValidProtoBufResponse() []byte { + resp := &coltracepb.ExportTraceServiceResponse{ + PartialSuccess: &coltracepb.ExportTracePartialSuccess{ + RejectedSpans: 0, + ErrorMessage: "", + }, + } + data, _ := proto.Marshal(resp) + return data +} + +func TestOpenAPIApplication_ListSpansOApi(t *testing.T) { + type fields struct { + traceService service.ITraceService + auth rpc.IAuthProvider + benefit benefit.IBenefitService + tenant tenant.ITenantProvider + workspace workspace.IWorkSpaceProvider + rateLimiter limiter.IRateLimiterFactory + traceConfig config.ITraceConfig + metrics metrics.ITraceMetrics + } + type args struct { + ctx context.Context + req *openapi.ListSpansOApiRequest + } + tests := []struct { + name string + fieldsGetter func(ctrl *gomock.Controller) fields + args args + want *openapi.ListSpansOApiResponse + wantErr bool + }{ + { + name: "list spans successfully", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().ListSpansOApi(gomock.Any(), gomock.Any()).Return(&service.ListSpansOApiResp{ + Spans: []*loop_span.Span{}, + NextPageToken: "next-token", + HasMore: true, + }, nil) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListSpansOApi", + int64(123), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListSpansOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + PageSize: ptr.Of(int32(10)), + }, + }, + want: &openapi.ListSpansOApiResponse{ + Data: &openapi.ListSpansOApiData{ + Spans: []*span.OutputSpan{}, + NextPageToken: "next-token", + HasMore: true, + }, + }, + wantErr: false, + }, + { + name: "page size exceeds limit", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListSpansOApi", + int64(123), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListSpansOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + PageSize: ptr.Of(int32(1001)), // exceeds MaxListSpansLimit (1000) + }, + }, + want: nil, + wantErr: true, + }, + { + name: "permission check failure", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(assert.AnError) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListSpansOApi", + int64(123), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListSpansOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "rate limit exceeded", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: false}, nil) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + metricsMock.EXPECT().EmitTraceOapi( + "ListSpansOApi", + int64(123), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListSpansOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "service layer error", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().ListSpansOApi(gomock.Any(), gomock.Any()).Return(nil, assert.AnError) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}) + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + metricsMock.EXPECT().EmitTraceOapi( + "ListSpansOApi", + int64(123), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListSpansOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + fields := tt.fieldsGetter(ctrl) + o := &OpenAPIApplication{ + traceService: fields.traceService, + auth: fields.auth, + benefit: fields.benefit, + tenant: fields.tenant, + workspace: fields.workspace, + rateLimiter: fields.rateLimiter.NewRateLimiter(), + traceConfig: fields.traceConfig, + metrics: fields.metrics, + } + err := error(nil) + assert.NoError(t, err) + got, err := o.ListSpansOApi(tt.args.ctx, tt.args.req) + assert.Equal(t, tt.wantErr, err != nil) + if !tt.wantErr { + assert.NotNil(t, got) + assert.Equal(t, tt.want.Data.NextPageToken, got.Data.NextPageToken) + assert.Equal(t, tt.want.Data.HasMore, got.Data.HasMore) + } else { + assert.Nil(t, got) + } + }) + } +} + +func TestOpenAPIApplication_SearchTraceOApi(t *testing.T) { + type fields struct { + traceService service.ITraceService + auth rpc.IAuthProvider + benefit benefit.IBenefitService + tenant tenant.ITenantProvider + workspace workspace.IWorkSpaceProvider + rateLimiter limiter.IRateLimiterFactory + traceConfig config.ITraceConfig + metrics metrics.ITraceMetrics + } + type args struct { + ctx context.Context + req *openapi.SearchTraceOApiRequest + } + tests := []struct { + name string + fieldsGetter func(ctrl *gomock.Controller) fields + args args + want *openapi.SearchTraceOApiResponse + wantErr bool + }{ + { + name: "search trace by trace id successfully", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(&service.SearchTraceOApiResp{ + Spans: []*loop_span.Span{}, + }, nil) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + TraceID: ptr.Of("test-trace-id"), + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 100, + }, + }, + want: &openapi.SearchTraceOApiResponse{ + Data: &openapi.SearchTraceOApiData{ + Spans: []*span.OutputSpan{}, + }, + }, + wantErr: false, + }, + { + name: "search trace by log id successfully", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(&service.SearchTraceOApiResp{ + Spans: []*loop_span.Span{}, + }, nil) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + Logid: ptr.Of("test-log-id"), + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 100, + }, + }, + want: &openapi.SearchTraceOApiResponse{ + Data: &openapi.SearchTraceOApiData{ + Spans: []*span.OutputSpan{}, + }, + }, + wantErr: false, + }, + { + name: "request is nil", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: nil, + }, + want: nil, + wantErr: true, + }, + { + name: "missing trace id and log id", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 100, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "limit exceeds maximum", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + TraceID: ptr.Of("test-trace-id"), + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 1001, // exceeds MaxListSpansLimit (1000) + }, + }, + want: nil, + wantErr: true, + }, + { + name: "permission check failure", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(assert.AnError) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + TraceID: ptr.Of("test-trace-id"), + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 100, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "service layer error", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(nil, assert.AnError) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + metricsMock.EXPECT().EmitTraceOapi( + "SearchTraceOApi", + int64(123), + gomock.Any(), + "", + gomock.Any(), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.SearchTraceOApiRequest{ + WorkspaceID: 123, + TraceID: ptr.Of("test-trace-id"), + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + Limit: 100, + }, + }, + want: nil, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + fields := tt.fieldsGetter(ctrl) + o := &OpenAPIApplication{ + traceService: fields.traceService, + auth: fields.auth, + benefit: fields.benefit, + tenant: fields.tenant, + workspace: fields.workspace, + rateLimiter: fields.rateLimiter.NewRateLimiter(), + traceConfig: fields.traceConfig, + metrics: fields.metrics, + } + err := error(nil) + assert.NoError(t, err) + got, err := o.SearchTraceOApi(tt.args.ctx, tt.args.req) + assert.Equal(t, tt.wantErr, err != nil) + if !tt.wantErr { + assert.NotNil(t, got) + assert.NotNil(t, got.Data.Spans) + } else { + assert.Nil(t, got) + } + }) + } +} + +// TestOpenAPIApplication_ListTracesOApi tests the ListTracesOApi method +func TestOpenAPIApplication_ListTracesOApi(t *testing.T) { + type fields struct { + traceService service.ITraceService + auth rpc.IAuthProvider + benefit benefit.IBenefitService + tenant tenant.ITenantProvider + workspace workspace.IWorkSpaceProvider + rateLimiter limiter.IRateLimiterFactory + traceConfig config.ITraceConfig + metrics metrics.ITraceMetrics + } + type args struct { + ctx context.Context + req *openapi.ListTracesOApiRequest + } + tests := []struct { + name string + fieldsGetter func(ctrl *gomock.Controller) fields + args args + want *openapi.ListTracesOApiResponse + wantErr bool + }{ + { + name: "list traces successfully", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().GetTracesAdvanceInfo(gomock.Any(), gomock.Any()).Return(&service.GetTracesAdvanceInfoResp{ + Infos: []*loop_span.TraceAdvanceInfo{ + { + TraceId: "trace-1", + InputCost: 100, + OutputCost: 200, + }, + { + TraceId: "trace-2", + InputCost: 150, + OutputCost: 250, + }, + }, + }, nil) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{"trace-1", "trace-2"}, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: &openapi.ListTracesOApiResponse{ + Data: &openapi.ListTracesData{ + Traces: []*traced.Trace{ + { + TraceID: ptr.Of("trace-1"), + }, + { + TraceID: ptr.Of("trace-2"), + }, + }, + }, + }, + wantErr: false, + }, + { + name: "invalid workspace ID", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(0), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 0, // invalid workspace ID + TraceIds: []string{"trace-1"}, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "empty trace IDs", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{}, // empty trace IDs + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "empty trace ID in list", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{"trace-1", ""}, // empty trace ID in list + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "permission check failure", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(assert.AnError) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{"trace-1"}, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "rate limit exceeded", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: false}, nil) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{"trace-1"}, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + { + name: "service layer error", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().GetTracesAdvanceInfo(gomock.Any(), gomock.Any()).Return(nil, assert.AnError) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).DoAndReturn(func(ctx context.Context, spans []*span.InputSpan) string { + if len(spans) > 0 { + switch spans[0].SpanID { + case "span1": + case "span2": + case "span3": + return "workspace2" + } + } + return "" + }).AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiter(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiterFactoryMock).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + metricsMock.EXPECT().EmitTraceOapi( + "ListTracesOApi", + int64(123), + "", + "", + int64(0), + gomock.Any(), + gomock.Any(), + gomock.Any(), + ).AnyTimes() + traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "123").Return(100, nil) + rateLimiterFactoryMock.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.ListTracesOApiRequest{ + WorkspaceID: 123, + TraceIds: []string{"trace-1"}, + StartTime: time.Now().Add(-1 * time.Hour).UnixMilli(), + EndTime: time.Now().UnixMilli(), + }, + }, + want: nil, + wantErr: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + fields := tt.fieldsGetter(ctrl) + o := &OpenAPIApplication{ + traceService: fields.traceService, + auth: fields.auth, + benefit: fields.benefit, + tenant: fields.tenant, + workspace: fields.workspace, + rateLimiter: fields.rateLimiter.NewRateLimiter(), + traceConfig: fields.traceConfig, + metrics: fields.metrics, + } + err := error(nil) + assert.NoError(t, err) + got, err := o.ListTracesOApi(tt.args.ctx, tt.args.req) + assert.Equal(t, tt.wantErr, err != nil) + if !tt.wantErr { + assert.NotNil(t, got) + assert.NotNil(t, got.Data) + assert.Equal(t, len(tt.want.Data.Traces), len(got.Data.Traces)) + } else { + assert.Nil(t, got) + } + }) + } +} + +// TestOpenAPIApplication_unpackSpace tests the unpackSpace method + +// TestOpenAPIApplication_AllowByKey tests the AllowByKey method + +// TestNewOpenAPIApplication 测试构造函数 +func TestNewOpenAPIApplication(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + rateLimiterFactoryMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + + rateLimiterFactoryMock.EXPECT().NewRateLimiter().Return(rateLimiterMock) + + app, err := NewOpenAPIApplication( + traceServiceMock, + authMock, + benefitMock, + tenantMock, + workspaceMock, + rateLimiterFactoryMock, + traceConfigMock, + metricsMock, + ) + + assert.NoError(t, err) + assert.NotNil(t, app) + + // 验证返回的实例类型 + openAPIApp, ok := app.(*OpenAPIApplication) + assert.True(t, ok) + assert.NotNil(t, openAPIApp.traceService) + assert.NotNil(t, openAPIApp.auth) + assert.NotNil(t, openAPIApp.benefit) + assert.NotNil(t, openAPIApp.tenant) + assert.NotNil(t, openAPIApp.workspace) + assert.NotNil(t, openAPIApp.rateLimiter) + assert.NotNil(t, openAPIApp.traceConfig) + assert.NotNil(t, openAPIApp.metrics) +} + +// 补充IngestTraces的边界测试场景 +func TestOpenAPIApplication_IngestTraces_AdditionalScenarios(t *testing.T) { + type fields struct { + traceService service.ITraceService + auth rpc.IAuthProvider + benefit benefit.IBenefitService + tenant tenant.ITenantProvider + workspace workspace.IWorkSpaceProvider + rateLimiter limiter.IRateLimiterFactory + traceConfig config.ITraceConfig + metrics metrics.ITraceMetrics + } + type args struct { + ctx context.Context + req *openapi.IngestTracesRequest + } + tests := []struct { + name string + fieldsGetter func(ctrl *gomock.Controller) fields + args args + want *openapi.IngestTracesResponse + wantErr bool + }{ + { + name: "permission check fails", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(assert.AnError) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.IngestTracesRequest{ + Spans: []*span.InputSpan{ + { + WorkspaceID: "1", + }, + }, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "benefit check fails - insufficient capacity", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: true, + IsEnough: false, + StorageDuration: 3, + }, nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.IngestTracesRequest{ + Spans: []*span.InputSpan{ + { + WorkspaceID: "1", + }, + }, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "benefit check fails - account not available", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + AccountAvailable: false, + IsEnough: true, + StorageDuration: 3, + }, nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("1").AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.IngestTracesRequest{ + Spans: []*span.InputSpan{ + { + WorkspaceID: "1", + }, + }, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "invalid workspace id format", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("invalid").AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.IngestTracesRequest{ + Spans: []*span.InputSpan{ + { + WorkspaceID: "1", + }, + }, + }, + }, + want: nil, + wantErr: true, + }, + { + name: "nil request", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: nil, + }, + want: nil, + wantErr: true, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + fields := tt.fieldsGetter(ctrl) + o := &OpenAPIApplication{ + traceService: fields.traceService, + auth: fields.auth, + benefit: fields.benefit, + tenant: fields.tenant, + workspace: fields.workspace, + rateLimiter: fields.rateLimiter.NewRateLimiter(), + traceConfig: fields.traceConfig, + metrics: fields.metrics, + } + got, err := o.IngestTraces(tt.args.ctx, tt.args.req) + assert.Equal(t, tt.wantErr, err != nil) + assert.Equal(t, tt.want, got) + }) + } +} + +// 补充CreateAnnotation的更多测试场景 +func TestOpenAPIApplication_CreateAnnotation_AdditionalScenarios(t *testing.T) { + type fields struct { + traceService service.ITraceService + auth rpc.IAuthProvider + benefit benefit.IBenefitService + tenant tenant.ITenantProvider + workspace workspace.IWorkSpaceProvider + rateLimiter limiter.IRateLimiterFactory + traceConfig config.ITraceConfig + metrics metrics.ITraceMetrics + } + type args struct { + ctx context.Context + req *openapi.CreateAnnotationRequest + } + tests := []struct { + name string + fieldsGetter func(ctrl *gomock.Controller) fields + args args + want *openapi.CreateAnnotationResponse + wantErr bool + }{ + { + name: "create annotation with double value type", + fieldsGetter: func(ctrl *gomock.Controller) fields { + traceServiceMock := servicemocks.NewMockITraceService(ctrl) + traceServiceMock.EXPECT().CreateAnnotation(gomock.Any(), gomock.Any()).Return(nil) + benefitMock := benefitmocks.NewMockIBenefitService(ctrl) + benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ + StorageDuration: 3, + }, nil) + authMock := rpcmocks.NewMockIAuthProvider(ctrl) + authMock.EXPECT().CheckWorkspacePermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) + tenantMock := tenantmocks.NewMockITenantProvider(ctrl) + workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) + workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123").AnyTimes() + workspaceMock.EXPECT().GetIngestWorkSpaceID(gomock.Any(), gomock.Any()).Return("").AnyTimes() + rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) + rateLimiterMock.EXPECT().NewRateLimiter().Return(limitermocks.NewMockIRateLimiter(ctrl)).AnyTimes() + traceConfigMock := configmocks.NewMockITraceConfig(ctrl) + metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) + return fields{ + traceService: traceServiceMock, + auth: authMock, + benefit: benefitMock, + tenant: tenantMock, + workspace: workspaceMock, + rateLimiter: rateLimiterMock, + traceConfig: traceConfigMock, + metrics: metricsMock, + } + }, + args: args{ + ctx: context.Background(), + req: &openapi.CreateAnnotationRequest{ + WorkspaceID: 1, + AnnotationValueType: ptr.Of(annotation.ValueType(loop_span.AnnotationValueTypeDouble)), AnnotationValue: "3.14", Base: &base.Base{Caller: "test"}, }, @@ -1697,1062 +3950,13 @@ func TestOpenAPIApplication_unpackTenant(t *testing.T) { tenant: tenantMock, } - // Test nil spans. + // 测试nil spans result := app.unpackTenant(context.Background(), nil) assert.Nil(t, result) - // Test normal scenario. + // 测试正常情况 tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("tenant1") result = app.unpackTenant(context.Background(), []*loop_span.Span{{SpanID: "test"}}) assert.Len(t, result, 1) assert.Len(t, result["tenant1"], 1) } - -func TestOpenAPIApplication_OtelIngestTraces(t *testing.T) { - t.Run("successful otel ingest", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // Set expectations. - authMock.EXPECT().CheckIngestPermission(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - benefitMock.EXPECT().CheckTraceBenefit(gomock.Any(), gomock.Any()).Return(&benefit.CheckTraceBenefitResult{ - AccountAvailable: true, - IsEnough: true, - StorageDuration: 3, - }, nil).AnyTimes() - tenantMock.EXPECT().GetIngestTenant(gomock.Any(), gomock.Any()).Return("tenant1").AnyTimes() - traceServiceMock.EXPECT().IngestTraces(gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiterMock, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - // Create test request. - req := &openapi.OtelIngestTracesRequest{ - WorkspaceID: "123", - ContentType: "application/json", - ContentEncoding: "", - Body: []byte(`{"resourceSpans":[]}`), - } - - resp, err := app.OtelIngestTraces(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, resp) - }) - - t.Run("invalid request", func(t *testing.T) { - app := &OpenAPIApplication{} - - // Nil request should return an error. - resp, err := app.OtelIngestTraces(context.Background(), nil) - assert.Error(t, err) - assert.Nil(t, resp) - - // Empty body should trigger validation error. - resp, err = app.OtelIngestTraces(context.Background(), &openapi.OtelIngestTracesRequest{ - Body: []byte{}, - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("invalid content type", func(t *testing.T) { - app := &OpenAPIApplication{} - - resp, err := app.OtelIngestTraces(context.Background(), &openapi.OtelIngestTracesRequest{ - ContentType: "invalid/type", - Body: []byte("test"), - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -func TestOpenAPIApplication_OtelIngestTraces_InvalidCases(t *testing.T) { - t.Run("invalid request", func(t *testing.T) { - app := &OpenAPIApplication{} - - // Nil request should return an error. - resp, err := app.OtelIngestTraces(context.Background(), nil) - assert.Error(t, err) - assert.Nil(t, resp) - - // Empty body should trigger validation error. - resp, err = app.OtelIngestTraces(context.Background(), &openapi.OtelIngestTracesRequest{ - Body: []byte{}, - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("invalid content type", func(t *testing.T) { - app := &OpenAPIApplication{} - - resp, err := app.OtelIngestTraces(context.Background(), &openapi.OtelIngestTracesRequest{ - ContentType: "invalid/type", - Body: []byte("test"), - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -// 补充SearchTraceOApi测试 -func TestOpenAPIApplication_SearchTraceOApi(t *testing.T) { - t.Run("invalid request validation", func(t *testing.T) { - app := &OpenAPIApplication{} - - // nil请求 - resp, err := app.SearchTraceOApi(context.Background(), nil) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -func TestOpenAPIApplication_SearchTraceOApi_InvalidCases(t *testing.T) { - t.Run("invalid request validation", func(t *testing.T) { - app := &OpenAPIApplication{} - - // nil请求 - resp, err := app.SearchTraceOApi(context.Background(), nil) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -func TestOpenAPIApplication_SearchTraceOApi_Success(t *testing.T) { - t.Run("successful search", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // Set expectations. - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1", "tenant2"}) - traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(&service.SearchTraceOApiResp{ - Spans: []*loop_span.Span{{SpanID: "test"}}, - }, nil) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - startTime := now - 3600000 // 1 hour ago - endTime := now // current time - req := &openapi.SearchTraceOApiRequest{ - WorkspaceID: 123, - TraceID: ptr.Of("trace123"), - StartTime: startTime, - EndTime: endTime, - Limit: 10, - PlatformType: ptr.Of("platform"), - } - - resp, err := app.SearchTraceOApi(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, resp) - }) - - t.Run("rate limit exceeded", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // 设置期望 - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: false}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - startTime := now - 3600000 // 1 hour ago - endTime := now // current time - req := &openapi.SearchTraceOApiRequest{ - WorkspaceID: 123, - TraceID: ptr.Of("trace123"), - StartTime: startTime, - EndTime: endTime, - Limit: 10, - PlatformType: ptr.Of("platform"), - } - - resp, err := app.SearchTraceOApi(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -func TestOpenAPIApplication_validateSearchTraceOApiReq(t *testing.T) { - t.Parallel() - app := &OpenAPIApplication{} - ctx := context.Background() - - // nil request - assert.Error(t, app.validateSearchTraceOApiReq(ctx, nil)) - - now := time.Now().UnixMilli() - validStart := now - int64(time.Hour/time.Millisecond) - validReq := &openapi.SearchTraceOApiRequest{ - WorkspaceID: 1, - TraceID: ptr.Of("trace-id"), - StartTime: validStart, - EndTime: now, - Limit: 10, - PlatformType: ptr.Of("platform"), - } - - // missing trace and log id - missingIDs := *validReq - missingIDs.TraceID = nil - assert.Error(t, app.validateSearchTraceOApiReq(ctx, &missingIDs)) - - // limit out of range (positive overflow) - tooLargeLimit := *validReq - tooLargeLimit.Limit = MaxListSpansLimit + 1 - assert.Error(t, app.validateSearchTraceOApiReq(ctx, &tooLargeLimit)) - - // negative limit - negativeLimit := *validReq - negativeLimit.Limit = -1 - assert.Error(t, app.validateSearchTraceOApiReq(ctx, &negativeLimit)) - - // invalid time range (zero values) - invalidTime := *validReq - invalidTime.StartTime = 0 - invalidTime.EndTime = 0 - assert.Error(t, app.validateSearchTraceOApiReq(ctx, &invalidTime)) - - // valid request should pass - assert.NoError(t, app.validateSearchTraceOApiReq(ctx, validReq)) - - // start time later than end time - invalidRange := *validReq - invalidRange.StartTime = now + 1000 - assert.Error(t, app.validateSearchTraceOApiReq(ctx, &invalidRange)) -} - -func TestOpenAPIApplication_buildSearchTraceOApiReq(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - app := &OpenAPIApplication{ - tenant: tenantMock, - workspace: workspaceMock, - } - - ctx := context.Background() - now := time.Now().UnixMilli() - start := now - int64(time.Hour/time.Millisecond) - - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(1)).Return("third-1") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), loop_span.PlatformType("platform")).Return([]string{"tenant-a"}) - - withPlatformReq := &openapi.SearchTraceOApiRequest{ - WorkspaceID: 1, - TraceID: ptr.Of("trace-id"), - Logid: ptr.Of("log-id"), - StartTime: start, - EndTime: now, - Limit: 50, - PlatformType: ptr.Of("platform"), - SpanIds: []string{"span-1", "span-2"}, - } - - res, err := app.buildSearchTraceOApiReq(ctx, withPlatformReq) - assert.NoError(t, err) - assert.Equal(t, int64(1), res.WorkspaceID) - assert.Equal(t, "third-1", res.ThirdPartyWorkspaceID) - assert.Equal(t, loop_span.PlatformType("platform"), res.PlatformType) - assert.True(t, res.WithDetail) - assert.Equal(t, withPlatformReq.SpanIds, res.SpanIDs) - assert.Equal(t, withPlatformReq.GetTraceID(), res.TraceID) - assert.Equal(t, withPlatformReq.GetLogid(), res.LogID) - assert.Equal(t, withPlatformReq.GetLimit(), res.Limit) - - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(2)).Return("third-2") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), loop_span.PlatformCozeLoop).Return([]string{"tenant-b"}) - - defaultPlatformReq := &openapi.SearchTraceOApiRequest{ - WorkspaceID: 2, - TraceID: ptr.Of("trace-id-2"), - StartTime: start, - EndTime: now, - Limit: 5, - } - - res2, err := app.buildSearchTraceOApiReq(ctx, defaultPlatformReq) - assert.NoError(t, err) - assert.Equal(t, loop_span.PlatformCozeLoop, res2.PlatformType) - assert.Empty(t, res2.SpanIDs) - - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(3)).Return("third-3") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), loop_span.PlatformCozeLoop).Return([]string{}) - - _, err = app.buildSearchTraceOApiReq(ctx, &openapi.SearchTraceOApiRequest{ - WorkspaceID: 3, - TraceID: ptr.Of("trace-id-3"), - StartTime: start, - EndTime: now, - Limit: 1, - }) - assert.Error(t, err) -} - -// 补充validateSearchTraceTreeOApiReq的单元测试 -func TestOpenAPIApplication_validateSearchTraceTreeOApiReq(t *testing.T) { - app := &OpenAPIApplication{} - - // 测试nil请求 - err := app.validateSearchTraceTreeOApiReq(context.Background(), nil) - assert.Error(t, err) - - // 测试空trace_id - err = app.validateSearchTraceTreeOApiReq(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of(""), - }) - assert.Error(t, err) - - // 测试超过最大限制 - err = app.validateSearchTraceTreeOApiReq(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of("test-trace-id"), - Limit: MaxTraceTreeLength + 1, - }) - assert.Error(t, err) - - // 测试负限制 - err = app.validateSearchTraceTreeOApiReq(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of("test-trace-id"), - Limit: -1, - }) - assert.Error(t, err) - - // 测试正常情况 - startTime := time.Now().UnixMilli() - endTime := time.Now().Add(1 * time.Hour).UnixMilli() // 结束时间晚于开始时间 - err = app.validateSearchTraceTreeOApiReq(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of("test-trace-id"), - Limit: 10, - StartTime: &startTime, - EndTime: &endTime, - }) - assert.NoError(t, err) - - // 测试日期验证错误 - 开始时间大于结束时间 - startTime = time.Now().UnixMilli() - endTime = time.Now().Add(-1 * time.Hour).UnixMilli() // 结束时间早于开始时间 - err = app.validateSearchTraceTreeOApiReq(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of("test-trace-id"), - Limit: 10, - StartTime: &startTime, - EndTime: &endTime, - }) - assert.Error(t, err) // 开始时间大于结束时间会返回错误 -} - -// 补充buildSearchTraceTreeOApiReq的单元测试 -func TestOpenAPIApplication_buildSearchTraceTreeOApiReq(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - app := &OpenAPIApplication{ - tenant: tenantMock, - workspace: workspaceMock, - } - - // 测试正常情况 - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1", "tenant2"}) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("test-trace-id"), - StartTime: ptr.Of(time.Now().Add(-1 * time.Hour).UnixMilli()), - EndTime: ptr.Of(time.Now().UnixMilli()), - Limit: 10, - PlatformType: ptr.Of(common.PlatformType("platform")), - Filters: &filter.FilterFields{ - FilterFields: []*filter.FilterField{ - { - FieldName: ptr.Of("key1"), - QueryType: ptr.Of(filter.QueryTypeEq), - Values: []string{"value1"}, - }, - }, - }, - } - - result, err := app.buildSearchTraceTreeOApiReq(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, result) - assert.Equal(t, int64(123), result.WorkspaceID) - assert.Equal(t, "third-party-123", result.ThirdPartyWorkspaceID) - assert.Equal(t, "test-trace-id", result.TraceID) - assert.Equal(t, int32(10), result.Limit) - assert.False(t, result.WithDetail) - assert.Len(t, result.Tenants, 2) - - // Test case without providing a platform type. - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - - req2 := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("test-trace-id"), - Limit: 10, - } - - result2, err := app.buildSearchTraceTreeOApiReq(context.Background(), req2) - assert.NoError(t, err) - assert.NotNil(t, result2) - assert.Equal(t, loop_span.PlatformCozeLoop, result2.PlatformType) - - // Test case when no tenants are returned. - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{}) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - - result3, err := app.buildSearchTraceTreeOApiReq(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, result3) -} - -// Add comprehensive unit tests for SearchTraceTreeOApi. -func TestOpenAPIApplication_SearchTraceTreeOApi(t *testing.T) { - t.Run("successful search trace tree", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // Set expectations. - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1", "tenant2"}) - traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(&service.SearchTraceOApiResp{ - Spans: []*loop_span.Span{{SpanID: "test"}}, - }, nil) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - startTime := now - 3600000 // 1 hour ago - endTime := now // current time - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("trace123"), - StartTime: &startTime, - EndTime: &endTime, - Limit: 10, - PlatformType: ptr.Of(common.PlatformType("platform")), - } - - resp, err := app.SearchTraceTreeOApi(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.NotNil(t, resp.Data) - assert.NotNil(t, resp.Data.TracesAdvanceInfo) - assert.NotNil(t, resp.Data.TracesAdvanceInfo.Tokens) - }) - - t.Run("invalid request", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - // Set metrics and collector mocks to avoid panics when testing a nil request. - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // Set expectations for the calls triggered inside the deferred function. - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - metrics: metricsMock, - collector: collectorMock, - } - - // A nil request should return before the deferred function executes to prevent panics. - resp, err := app.SearchTraceTreeOApi(context.Background(), nil) - assert.Error(t, err) - assert.Nil(t, resp) - - // An empty trace_id should trigger validation while still executing the deferred function. - resp, err = app.SearchTraceTreeOApi(context.Background(), &openapi.SearchTraceTreeOApiRequest{ - TraceID: ptr.Of(""), - Limit: 10, // Limit is a required field. - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("permission denied", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(assert.AnError) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - auth: authMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - start := now - 3600000 - end := now - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("trace123"), - StartTime: &start, - EndTime: &end, - PlatformType: ptr.Of(common.PlatformType("platform")), - } - - resp, err := app.SearchTraceTreeOApi(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("rate limit exceeded", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: false}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - auth: authMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - start := now - 3600000 - end := now - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("trace123"), - StartTime: &start, - EndTime: &end, - PlatformType: ptr.Of(common.PlatformType("platform")), - } - - resp, err := app.SearchTraceTreeOApi(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("build request failed", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{}) // Empty tenants should trigger an error. - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - auth: authMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - start := now - 3600000 - end := now - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("trace123"), - StartTime: &start, - EndTime: &end, - PlatformType: ptr.Of(common.PlatformType("platform")), - } - - resp, err := app.SearchTraceTreeOApi(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, resp) - }) - - t.Run("trace service failed", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // Set expectations. - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("third-party-123") - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1", "tenant2"}) - traceServiceMock.EXPECT().SearchTraceOApi(gomock.Any(), gomock.Any()).Return(nil, assert.AnError) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - start := now - 3600000 - end := now - req := &openapi.SearchTraceTreeOApiRequest{ - WorkspaceID: ptr.Of(int64(123)), - TraceID: ptr.Of("trace123"), - StartTime: &start, - EndTime: &end, - PlatformType: ptr.Of(common.PlatformType("platform")), - } - - resp, err := app.SearchTraceTreeOApi(context.Background(), req) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -// Add unit tests for ListSpansOApi. -func TestOpenAPIApplication_ListSpansOApi(t *testing.T) { - t.Run("successful list spans", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // 设置期望 - authMock.EXPECT().CheckQueryPermission(gomock.Any(), "123", "platform").Return(nil) - rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiter).AnyTimes() - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil) - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}) - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), int64(123)).Return("123") - traceServiceMock.EXPECT().ListSpansOApi(gomock.Any(), gomock.Any()).Return(&service.ListSpansOApiResp{ - Spans: []*loop_span.Span{{SpanID: "test"}}, - NextPageToken: "next_token", - HasMore: true, - }, nil) - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - now := time.Now().UnixMilli() - startTime := now - 3600000 // 1 hour ago - endTime := now // current time - pageSize := int32(20) - req := &openapi.ListSpansOApiRequest{ - WorkspaceID: 123, - StartTime: startTime, - EndTime: endTime, - PageSize: &pageSize, - PageToken: ptr.Of("token"), - PlatformType: ptr.Of("platform"), - SpanListType: ptr.Of(common.SpanListTypeRootSpan), - OrderBys: []*common.OrderBy{{Field: ptr.Of("start_time")}}, - } - - resp, err := app.ListSpansOApi(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.True(t, resp.Data.HasMore) - assert.Equal(t, "next_token", resp.Data.NextPageToken) - }) -} - -// 补充ListTracesOApi测试 -func TestOpenAPIApplication_ListTracesOApi(t *testing.T) { - t.Run("successful list traces", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - traceServiceMock := servicemocks.NewMockITraceService(ctrl) - authMock := rpcmocks.NewMockIAuthProvider(ctrl) - benefitMock := benefitmocks.NewMockIBenefitService(ctrl) - tenantMock := tenantmocks.NewMockITenantProvider(ctrl) - workspaceMock := workspacemocks.NewMockIWorkSpaceProvider(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiterFactory(ctrl) - rateLimiter := limitermocks.NewMockIRateLimiter(ctrl) - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // 设置期望 - authMock.EXPECT().CheckQueryPermission(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - rateLimiterMock.EXPECT().NewRateLimiter().Return(rateLimiter).AnyTimes() - rateLimiter.EXPECT().AllowN(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(&limiter.Result{Allowed: true}, nil).AnyTimes() - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), gomock.Any()).Return(10, nil).AnyTimes() - tenantMock.EXPECT().GetOAPIQueryTenants(gomock.Any(), gomock.Any()).Return([]string{"tenant1"}).AnyTimes() - workspaceMock.EXPECT().GetThirdPartyQueryWorkSpaceID(gomock.Any(), gomock.Any()).Return("123").AnyTimes() - traceServiceMock.EXPECT().GetTracesAdvanceInfo(gomock.Any(), gomock.Any()).Return(&service.GetTracesAdvanceInfoResp{ - Infos: []*loop_span.TraceAdvanceInfo{{TraceId: "trace123"}}, - }, nil).AnyTimes() - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - traceService: traceServiceMock, - auth: authMock, - benefit: benefitMock, - tenant: tenantMock, - workspace: workspaceMock, - rateLimiter: rateLimiter, - traceConfig: traceConfigMock, - metrics: metricsMock, - collector: collectorMock, - } - - // 使用当前时间,避免日期验证错误 - now := time.Now().UnixMilli() - startTime := now - 3600000 // 1 hour ago - endTime := now // current time - _ = startTime - _ = endTime - _ = now - - req := &openapi.ListTracesOApiRequest{ - WorkspaceID: 123, - TraceIds: []string{"trace123", "trace456"}, - StartTime: startTime, - EndTime: endTime, - PlatformType: ptr.Of("platform"), - } - - resp, err := app.ListTracesOApi(context.Background(), req) - assert.NoError(t, err) - assert.NotNil(t, resp) - assert.Len(t, resp.Data.Traces, 1) - }) - - t.Run("invalid request", func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - // 创建最小化的app,避免nil指针 - metricsMock := metricsmocks.NewMockITraceMetrics(ctrl) - collectorMock := collectormocks.NewMockICollectorProvider(ctrl) - - // 设置期望 - 这些会在defer函数中被调用 - metricsMock.EXPECT().EmitTraceOapi(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - collectorMock.EXPECT().CollectTraceOpenAPIEvent(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).AnyTimes() - - app := &OpenAPIApplication{ - metrics: metricsMock, - collector: collectorMock, - } - - // nil请求 - 避免nil指针,提供一个空请求 - resp, err := app.ListTracesOApi(context.Background(), &openapi.ListTracesOApiRequest{}) - assert.Error(t, err) - assert.Nil(t, resp) - - // 无效workspace id - resp, err = app.ListTracesOApi(context.Background(), &openapi.ListTracesOApiRequest{ - WorkspaceID: 0, - TraceIds: []string{"trace123"}, - }) - assert.Error(t, err) - assert.Nil(t, resp) - - // 空trace ids - resp, err = app.ListTracesOApi(context.Background(), &openapi.ListTracesOApiRequest{ - WorkspaceID: 123, - TraceIds: []string{}, - }) - assert.Error(t, err) - assert.Nil(t, resp) - - // 空trace id - resp, err = app.ListTracesOApi(context.Background(), &openapi.ListTracesOApiRequest{ - WorkspaceID: 123, - TraceIds: []string{""}, - }) - assert.Error(t, err) - assert.Nil(t, resp) - }) -} - -// Add unit tests for AllowByKey. -func TestOpenAPIApplication_AllowByKey(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - t.Run("allow by key - success", func(t *testing.T) { - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "test_key").Return(10, nil) - rateLimiterMock.EXPECT().AllowN(gomock.Any(), "test_key", 1, gomock.Any()).Return(&limiter.Result{Allowed: true}, nil) - - app := &OpenAPIApplication{ - traceConfig: traceConfigMock, - rateLimiter: rateLimiterMock, - } - - result := app.AllowByKey(context.Background(), "test_key") - assert.True(t, result) - }) - - t.Run("allow by key - rate limited", func(t *testing.T) { - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "test_key").Return(10, nil) - rateLimiterMock.EXPECT().AllowN(gomock.Any(), "test_key", 1, gomock.Any()).Return(&limiter.Result{Allowed: false}, nil) - - app := &OpenAPIApplication{ - traceConfig: traceConfigMock, - rateLimiter: rateLimiterMock, - } - - result := app.AllowByKey(context.Background(), "test_key") - assert.False(t, result) - }) - - t.Run("allow by key - config error", func(t *testing.T) { - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "test_key").Return(0, assert.AnError) - - app := &OpenAPIApplication{ - traceConfig: traceConfigMock, - rateLimiter: rateLimiterMock, - } - - result := app.AllowByKey(context.Background(), "test_key") - assert.True(t, result) // Defaults to allowing requests when an error occurs. - }) - - t.Run("allow by key - rate limiter error", func(t *testing.T) { - traceConfigMock := configmocks.NewMockITraceConfig(ctrl) - rateLimiterMock := limitermocks.NewMockIRateLimiter(ctrl) - - traceConfigMock.EXPECT().GetQueryMaxQPS(gomock.Any(), "test_key").Return(10, nil) - rateLimiterMock.EXPECT().AllowN(gomock.Any(), "test_key", 1, gomock.Any()).Return(nil, assert.AnError) - - app := &OpenAPIApplication{ - traceConfig: traceConfigMock, - rateLimiter: rateLimiterMock, - } - - result := app.AllowByKey(context.Background(), "test_key") - assert.True(t, result) // Defaults to allowing requests when an error occurs. - }) -} - -// 补充辅助函数测试 -func TestUnmarshalOtelSpan(t *testing.T) { - t.Run("protobuf content type", func(t *testing.T) { - // 创建protobuf数据 - req := &coltracepb.ExportTraceServiceRequest{ - ResourceSpans: []*tracepb.ResourceSpans{{}}, - } - data, err := proto.Marshal(req) - assert.NoError(t, err) - - result, err := unmarshalOtelSpan(data, "application/x-protobuf") - assert.NoError(t, err) - assert.NotNil(t, result) - }) - - t.Run("json content type", func(t *testing.T) { - jsonData := []byte(`{"resourceSpans":[]}`) - result, err := unmarshalOtelSpan(jsonData, "application/json") - assert.NoError(t, err) - assert.NotNil(t, result) - }) - - t.Run("unsupported content type", func(t *testing.T) { - result, err := unmarshalOtelSpan([]byte("test"), "text/plain") - assert.Error(t, err) - assert.Nil(t, result) - }) - - t.Run("invalid json", func(t *testing.T) { - result, err := unmarshalOtelSpan([]byte("invalid json"), "application/json") - assert.Error(t, err) - assert.Nil(t, result) - }) -} - -func TestUngzip(t *testing.T) { - t.Run("no gzip encoding", func(t *testing.T) { - data := []byte("test data") - result, err := ungzip("", data) - assert.NoError(t, err) - assert.Equal(t, data, result) - }) - - t.Run("gzip encoding", func(t *testing.T) { - original := []byte("test data to compress") - var compressed bytes.Buffer - gzipWriter := gzip.NewWriter(&compressed) - _, err := gzipWriter.Write(original) - assert.NoError(t, err) - err = gzipWriter.Close() - assert.NoError(t, err) - result, err := ungzip("gzip", compressed.Bytes()) - assert.NoError(t, err) - assert.Equal(t, original, result) - }) - - t.Run("invalid gzip data", func(t *testing.T) { - result, err := ungzip("gzip", []byte("invalid gzip data")) - assert.Error(t, err) - assert.Nil(t, result) - }) -} diff --git a/backend/modules/observability/application/task.go b/backend/modules/observability/application/task.go index 96ce1d11b..bc8c2327f 100644 --- a/backend/modules/observability/application/task.go +++ b/backend/modules/observability/application/task.go @@ -142,13 +142,7 @@ func (t *TaskApplication) CreateTask(ctx context.Context, req *task.CreateTaskRe return &task.CreateTaskResponse{TaskID: sResp.TaskID}, nil } -func (t *TaskApplication) buildSpanFilters(ctx context.Context, spanFilterFields *filter.SpanFilterFields, workspaceID int64) (*entity.SpanFilterFields, error) { - spanFilters := &entity.SpanFilterFields{ - PlatformType: *spanFilterFields.PlatformType, - SpanListType: *spanFilterFields.SpanListType, - } - filters := convertor.FilterFieldsDTO2DO(spanFilterFields.GetFilters()) - spanFilters.Filters = *filters +func (t *TaskApplication) buildSpanFilters(ctx context.Context, spanFilterFields *filter.SpanFilterFields, workspaceID int64) (*filter.SpanFilterFields, error) { switch spanFilterFields.GetPlatformType() { case common.PlatformTypeCozeBot, common.PlatformTypeProject, common.PlatformTypeWorkflow, common.PlatformTypeInnerCozeBot: platformFilter, err := t.buildHelper.BuildPlatformRelatedFilter(ctx, loop_span.PlatformType(spanFilterFields.GetPlatformType())) @@ -164,26 +158,35 @@ func (t *TaskApplication) buildSpanFilters(ctx context.Context, spanFilterFields } else if len(basicFilter) == 0 && !forceQuery { // if it's null, no need to query from ck return nil, nil } - for _, filter := range basicFilter { - filters.FilterFields = append(filters.FilterFields, &loop_span.FilterField{ - FieldName: filter.FieldName, - FieldType: filter.FieldType, - Values: filter.Values, - QueryType: filter.QueryType, - QueryAndOr: filter.QueryAndOr, - SubFilter: filter.SubFilter, - Hidden: true, - }) + basicFilterFields := &loop_span.FilterFields{ + QueryAndOr: ptr.Of(loop_span.QueryAndOrEnumAnd), + FilterFields: basicFilter, } - - return &entity.SpanFilterFields{ - Filters: *filters, - PlatformType: *spanFilterFields.PlatformType, - SpanListType: *spanFilterFields.SpanListType, + filters := combineFilters(convertor.FilterFieldsDO2DTO(basicFilterFields), spanFilterFields.Filters) + return &filter.SpanFilterFields{ + Filters: filters, + PlatformType: spanFilterFields.PlatformType, + SpanListType: spanFilterFields.SpanListType, }, nil default: - return spanFilters, nil + return spanFilterFields, nil + } +} + +func combineFilters(filters ...*filter.FilterFields) *filter.FilterFields { + filterAggr := &filter.FilterFields{ + QueryAndOr: ptr.Of(filter.QueryRelationAnd), + } + for _, f := range filters { + if f == nil { + continue + } + filterAggr.FilterFields = append(filterAggr.FilterFields, &filter.FilterField{ + QueryAndOr: ptr.Of(filter.QueryRelationAnd), + SubFilter: f, + }) } + return filterAggr } func (t *TaskApplication) validateCreateTaskReq(ctx context.Context, req *task.CreateTaskRequest) error { diff --git a/backend/modules/observability/application/task_test.go b/backend/modules/observability/application/task_test.go index 253f59c63..2c6a32dcc 100755 --- a/backend/modules/observability/application/task_test.go +++ b/backend/modules/observability/application/task_test.go @@ -15,8 +15,6 @@ import ( "go.uber.org/mock/gomock" "github.com/coze-dev/coze-loop/backend/infra/middleware/session" - commondomain "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/common" - filterdto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" taskdto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" taskapi "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/task" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/rpc" @@ -25,11 +23,6 @@ import ( svc "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service" svcmock "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/mocks" tracehubmock "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe/tracehub/mocks" - loop_span "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" - traceSvc "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service" - traceSvcMock "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/mocks" - span_filter "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_filter" - filtermocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_filter/mocks" obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" ) @@ -186,13 +179,6 @@ func TestTaskApplication_CreateTask(t *testing.T) { WorkspaceID: gptr.Of(int64(123)), TaskType: taskdto.TaskTypeAutoEval, Rule: &taskdto.Rule{ - SpanFilters: &filterdto.SpanFilterFields{ - PlatformType: gptr.Of(commondomain.PlatformTypeCozeloop), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{}, - }, - }, EffectiveTime: &taskdto.EffectiveTime{ StartAt: gptr.Of(time.Now().Add(time.Hour).UnixMilli()), EndAt: gptr.Of(time.Now().Add(2 * time.Hour).UnixMilli()), @@ -310,224 +296,6 @@ func TestTaskApplication_CreateTask(t *testing.T) { } } -func TestTaskApplication_buildSpanFilters(t *testing.T) { - t.Parallel() - - type fields struct { - builder traceSvc.TraceFilterProcessorBuilder - } - - type args struct { - spanFilters *filterdto.SpanFilterFields - workspaceID int64 - } - - tests := []struct { - name string - fieldsBuilder func(ctrl *gomock.Controller, t *testing.T, a args) fields - args args - assertFunc func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) - }{ - { - name: "non supported platform returns original", - fieldsBuilder: func(ctrl *gomock.Controller, t *testing.T, a args) fields { - return fields{} - }, - args: args{ - spanFilters: &filterdto.SpanFilterFields{ - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{ - { - FieldName: gptr.Of("custom_field"), - FieldType: gptr.Of(filterdto.FieldTypeString), - Values: []string{"value"}, - }, - }, - }, - PlatformType: gptr.Of(commondomain.PlatformTypeCozeloop), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - }, - workspaceID: 100, - }, - assertFunc: func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) { - assert.NoError(t, err) - if assert.NotNil(t, got) { - assert.Equal(t, commondomain.PlatformTypeCozeloop, got.PlatformType) - assert.Equal(t, commondomain.SpanListTypeRootSpan, got.SpanListType) - dtoFilters := original.GetFilters().GetFilterFields() - if assert.Len(t, got.Filters.FilterFields, len(dtoFilters)) && len(dtoFilters) > 0 { - firstDTO := dtoFilters[0] - firstDomain := got.Filters.FilterFields[0] - if assert.NotNil(t, firstDTO.FieldName) { - assert.Equal(t, *firstDTO.FieldName, firstDomain.FieldName) - } - if assert.NotNil(t, firstDTO.FieldType) { - assert.Equal(t, loop_span.FieldType(*firstDTO.FieldType), firstDomain.FieldType) - } - assert.Equal(t, firstDTO.Values, firstDomain.Values) - assert.False(t, firstDomain.Hidden) - } - } - }, - }, - { - name: "build platform filter error", - fieldsBuilder: func(ctrl *gomock.Controller, t *testing.T, a args) fields { - builder := traceSvcMock.NewMockTraceFilterProcessorBuilder(ctrl) - builder.EXPECT().BuildPlatformRelatedFilter(gomock.Any(), loop_span.PlatformType(commondomain.PlatformTypeCozeBot)).Return(nil, errors.New("build platform error")) - return fields{builder: builder} - }, - args: args{ - spanFilters: &filterdto.SpanFilterFields{ - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{}, - }, - PlatformType: gptr.Of(commondomain.PlatformTypeCozeBot), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - }, - workspaceID: 200, - }, - assertFunc: func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) { - assert.Nil(t, got) - assert.EqualError(t, err, "build platform error") - }, - }, - { - name: "build basic span filter error", - fieldsBuilder: func(ctrl *gomock.Controller, t *testing.T, a args) fields { - builder := traceSvcMock.NewMockTraceFilterProcessorBuilder(ctrl) - platformFilter := filtermocks.NewMockFilter(ctrl) - builder.EXPECT().BuildPlatformRelatedFilter(gomock.Any(), loop_span.PlatformType(commondomain.PlatformTypeWorkflow)).Return(platformFilter, nil) - platformFilter.EXPECT(). - BuildBasicSpanFilter(gomock.Any(), gomock.AssignableToTypeOf(&span_filter.SpanEnv{})). - DoAndReturn(func(_ context.Context, env *span_filter.SpanEnv) ([]*loop_span.FilterField, bool, error) { - assert.Equal(t, a.workspaceID, env.WorkspaceID) - return nil, false, errors.New("build basic error") - }) - return fields{builder: builder} - }, - args: args{ - spanFilters: &filterdto.SpanFilterFields{ - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{}, - }, - PlatformType: gptr.Of(commondomain.PlatformTypeWorkflow), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - }, - workspaceID: 300, - }, - assertFunc: func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) { - assert.Nil(t, got) - assert.EqualError(t, err, "build basic error") - }, - }, - { - name: "empty basic filter without force returns nil", - fieldsBuilder: func(ctrl *gomock.Controller, t *testing.T, a args) fields { - builder := traceSvcMock.NewMockTraceFilterProcessorBuilder(ctrl) - platformFilter := filtermocks.NewMockFilter(ctrl) - builder.EXPECT().BuildPlatformRelatedFilter(gomock.Any(), loop_span.PlatformType(commondomain.PlatformTypeInnerCozeBot)).Return(platformFilter, nil) - platformFilter.EXPECT(). - BuildBasicSpanFilter(gomock.Any(), gomock.AssignableToTypeOf(&span_filter.SpanEnv{})). - DoAndReturn(func(_ context.Context, env *span_filter.SpanEnv) ([]*loop_span.FilterField, bool, error) { - assert.Equal(t, a.workspaceID, env.WorkspaceID) - return []*loop_span.FilterField{}, false, nil - }) - return fields{builder: builder} - }, - args: args{ - spanFilters: &filterdto.SpanFilterFields{ - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{}, - }, - PlatformType: gptr.Of(commondomain.PlatformTypeInnerCozeBot), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - }, - workspaceID: 400, - }, - assertFunc: func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) { - assert.NoError(t, err) - assert.Nil(t, got) - }, - }, - { - name: "merge platform filters success", - fieldsBuilder: func(ctrl *gomock.Controller, t *testing.T, a args) fields { - builder := traceSvcMock.NewMockTraceFilterProcessorBuilder(ctrl) - platformFilter := filtermocks.NewMockFilter(ctrl) - builder.EXPECT().BuildPlatformRelatedFilter(gomock.Any(), loop_span.PlatformType(commondomain.PlatformTypeProject)).Return(platformFilter, nil) - platformFilter.EXPECT(). - BuildBasicSpanFilter(gomock.Any(), gomock.AssignableToTypeOf(&span_filter.SpanEnv{})). - DoAndReturn(func(_ context.Context, env *span_filter.SpanEnv) ([]*loop_span.FilterField, bool, error) { - assert.Equal(t, a.workspaceID, env.WorkspaceID) - return []*loop_span.FilterField{ - { - FieldName: loop_span.SpanFieldSpaceId, - FieldType: loop_span.FieldTypeString, - Values: []string{"tenant"}, - }, - }, false, nil - }) - return fields{builder: builder} - }, - args: args{ - spanFilters: &filterdto.SpanFilterFields{ - Filters: &filterdto.FilterFields{ - FilterFields: []*filterdto.FilterField{ - { - FieldName: gptr.Of("custom_field"), - FieldType: gptr.Of(filterdto.FieldTypeString), - Values: []string{"origin"}, - }, - }, - }, - PlatformType: gptr.Of(commondomain.PlatformTypeProject), - SpanListType: gptr.Of(commondomain.SpanListTypeRootSpan), - }, - workspaceID: 500, - }, - assertFunc: func(t *testing.T, original *filterdto.SpanFilterFields, got *entity.SpanFilterFields, err error) { - assert.NoError(t, err) - if assert.NotNil(t, got) { - assert.Equal(t, commondomain.PlatformTypeProject, got.PlatformType) - assert.Equal(t, commondomain.SpanListTypeRootSpan, got.SpanListType) - originalFilters := original.GetFilters().GetFilterFields() - if assert.Len(t, got.Filters.FilterFields, len(originalFilters)+1) && len(originalFilters) > 0 { - firstDomain := got.Filters.FilterFields[0] - firstDTO := originalFilters[0] - if assert.NotNil(t, firstDTO.FieldName) { - assert.Equal(t, *firstDTO.FieldName, firstDomain.FieldName) - } - assert.False(t, firstDomain.Hidden) - appended := got.Filters.FilterFields[len(originalFilters)] - assert.Equal(t, loop_span.SpanFieldSpaceId, appended.FieldName) - assert.True(t, appended.Hidden) - assert.Equal(t, []string{"tenant"}, appended.Values) - } - } - }, - }, - } - - for _, tt := range tests { - caseItem := tt - t.Run(caseItem.name, func(t *testing.T) { - t.Parallel() - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - fields := caseItem.fieldsBuilder(ctrl, t, caseItem.args) - app := &TaskApplication{ - buildHelper: fields.builder, - } - - got, err := app.buildSpanFilters(context.Background(), caseItem.args.spanFilters, caseItem.args.workspaceID) - - caseItem.assertFunc(t, caseItem.args.spanFilters, got, err) - }) - } -} - func TestTaskApplication_UpdateTask(t *testing.T) { t.Parallel() diff --git a/backend/modules/observability/application/trace.go b/backend/modules/observability/application/trace.go index ec88002c1..b9163e1ff 100644 --- a/backend/modules/observability/application/trace.go +++ b/backend/modules/observability/application/trace.go @@ -40,7 +40,6 @@ import ( const ( MaxSpanLength = 500 MaxListSpansLimit = 1000 - MaxTraceTreeLength = 10000 MaxOApiListSpansLimit = 200 QueryLimitDefault = 100 ) @@ -190,10 +189,7 @@ func (t *TraceApplication) GetTrace(ctx context.Context, req *trace.GetTraceRequ strconv.FormatInt(req.GetWorkspaceID(), 10), false); err != nil { return nil, err } - sReq, err := t.buildGetTraceSvcReq(req) - if err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("Get trace req is invalid")) - } + sReq := t.buildGetTraceSvcReq(req) sResp, err := t.traceService.GetTrace(ctx, sReq) if err != nil { return nil, err @@ -242,104 +238,20 @@ func (t *TraceApplication) validateGetTraceReq(ctx context.Context, req *trace.G return nil } -func (t *TraceApplication) buildGetTraceSvcReq(req *trace.GetTraceRequest) (*service.GetTraceReq, error) { +func (t *TraceApplication) buildGetTraceSvcReq(req *trace.GetTraceRequest) *service.GetTraceReq { ret := &service.GetTraceReq{ WorkspaceID: req.GetWorkspaceID(), TraceID: req.GetTraceID(), StartTime: req.GetStartTime(), EndTime: req.GetEndTime(), SpanIDs: req.GetSpanIds(), - WithDetail: true, - } - platformType := loop_span.PlatformType(req.GetPlatformType()) - if req.PlatformType == nil { - platformType = loop_span.PlatformCozeLoop - } - ret.PlatformType = platformType - return ret, nil -} - -func (t *TraceApplication) SearchTraceTree(ctx context.Context, req *trace.SearchTraceTreeRequest) (*trace.SearchTraceTreeResponse, error) { - if err := t.validateSearchTraceTreeReq(ctx, req); err != nil { - return nil, err - } - if err := t.authSvc.CheckWorkspacePermission(ctx, - rpc.AuthActionTraceRead, - strconv.FormatInt(req.GetWorkspaceID(), 10), false); err != nil { - return nil, err - } - sReq, err := t.buildSearchTraceTreeSvcReq(req) - if err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("Get trace req is invalid")) - } - sResp, err := t.traceService.GetTrace(ctx, sReq) - if err != nil { - return nil, err - } - inTokens, outTokens, err := sResp.Spans.Stat(ctx) - if err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) - } - logs.CtxInfo(ctx, "SearchTraceTree successfully, spans count %d", len(sResp.Spans)) - userMap, evalMap, tagMap := t.getAnnoDisplayInfo(ctx, - req.GetWorkspaceID(), - sResp.Spans.GetUserIDs(), - sResp.Spans.GetEvaluatorVersionIDs(), - sResp.Spans.GetAnnotationTagIDs()) - return &trace.SearchTraceTreeResponse{ - Spans: tconv.SpanListDO2DTO(sResp.Spans, userMap, evalMap, tagMap), - TracesAdvanceInfo: &trace.TraceAdvanceInfo{ - TraceID: sResp.TraceId, - Tokens: &trace.TokenCost{ - Input: inTokens, - Output: outTokens, - }, - }, - }, nil -} - -func (t *TraceApplication) validateSearchTraceTreeReq(ctx context.Context, req *trace.SearchTraceTreeRequest) error { - if req == nil { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("no request provided")) - } else if req.GetWorkspaceID() <= 0 { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("invalid workspace_id")) - } else if req.GetTraceID() == "" { - return errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("invalid trace_id")) - } - v := utils.DateValidator{ - Start: req.GetStartTime(), - End: req.GetEndTime(), - EarliestDays: t.traceConfig.GetTraceDataMaxDurationDay(ctx, req.PlatformType), - } - newStartTime, newEndTime, err := v.CorrectDate() - if err != nil { - return err - } - req.SetStartTime(newStartTime) - req.SetEndTime(newEndTime) - return nil -} - -func (t *TraceApplication) buildSearchTraceTreeSvcReq(req *trace.SearchTraceTreeRequest) (*service.GetTraceReq, error) { - ret := &service.GetTraceReq{ - WorkspaceID: req.GetWorkspaceID(), - TraceID: req.GetTraceID(), - StartTime: req.GetStartTime(), - EndTime: req.GetEndTime(), - WithDetail: false, } platformType := loop_span.PlatformType(req.GetPlatformType()) if req.PlatformType == nil { platformType = loop_span.PlatformCozeLoop } ret.PlatformType = platformType - if req.Filters != nil { - ret.Filters = tconv.FilterFieldsDTO2DO(req.Filters) - if err := ret.Filters.Validate(); err != nil { - return nil, err - } - } - return ret, nil + return ret } func (t *TraceApplication) BatchGetTracesAdvanceInfo(ctx context.Context, req *trace.BatchGetTracesAdvanceInfoRequest) (*trace.BatchGetTracesAdvanceInfoResponse, error) { @@ -521,8 +433,7 @@ func (t *TraceApplication) GetTracesMetaInfo(ctx context.Context, req *trace.Get fMeta[k].FilterTypes = fTypes } return &trace.GetTracesMetaInfoResponse{ - FieldMetas: fMeta, - KeySpanType: sResp.KeySpanTypeList, + FieldMetas: fMeta, }, nil } @@ -532,7 +443,7 @@ func (t *TraceApplication) buildGetTracesMetaInfoReq(req *trace.GetTracesMetaInf } platformType := loop_span.PlatformType(req.GetPlatformType()) if req.PlatformType == nil { - platformType = loop_span.PlatformDefault + platformType = loop_span.PlatformCozeLoop } ret.PlatformType = platformType switch req.GetSpanListType() { diff --git a/backend/modules/observability/application/trace_test.go b/backend/modules/observability/application/trace_test.go index 1883035ee..0c79011b8 100644 --- a/backend/modules/observability/application/trace_test.go +++ b/backend/modules/observability/application/trace_test.go @@ -15,7 +15,6 @@ import ( annodto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/annotation" commondto "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/common" dataset0 "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/dataset" - "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/span" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/view" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/trace" @@ -834,360 +833,6 @@ func TestTraceApplication_GetTrace(t *testing.T) { } } -func TestTraceApplication_SearchTraceTree(t *testing.T) { - start := time.Now().Add(-time.Hour).UnixMilli() - end := time.Now().UnixMilli() - type fields struct { - traceSvc service.ITraceService - auth rpc.IAuthProvider - traceCfg config.ITraceConfig - } - type args struct { - ctx context.Context - req *trace.SearchTraceTreeRequest - } - tests := []struct { - name string - fieldsGetter func(ctrl *gomock.Controller) fields - args args - want *trace.SearchTraceTreeResponse - wantErr bool - }{ - { - name: "success case", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockSvc := svcmock.NewMockITraceService(ctrl) - mockAuth := rpcmock.NewMockIAuthProvider(ctrl) - mockCfg := confmock.NewMockITraceConfig(ctrl) - mockCfg.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(30)) - mockAuth.EXPECT().CheckWorkspacePermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - mockSvc.EXPECT().GetTrace(gomock.Any(), gomock.Any()).Return(&service.GetTraceResp{ - TraceId: "trace-1", - Spans: loop_span.SpanList{}, - }, nil) - return fields{ - traceSvc: mockSvc, - auth: mockAuth, - traceCfg: mockCfg, - } - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 12, - TraceID: "trace-1", - StartTime: start, - EndTime: end, - }, - }, - want: &trace.SearchTraceTreeResponse{ - Spans: []*span.OutputSpan{}, - TracesAdvanceInfo: &trace.TraceAdvanceInfo{ - TraceID: "trace-1", - Tokens: &trace.TokenCost{}, - }, - }, - wantErr: false, - }, - { - name: "trace service error", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockSvc := svcmock.NewMockITraceService(ctrl) - mockAuth := rpcmock.NewMockIAuthProvider(ctrl) - mockCfg := confmock.NewMockITraceConfig(ctrl) - mockCfg.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(30)) - mockAuth.EXPECT().CheckWorkspacePermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) - mockSvc.EXPECT().GetTrace(gomock.Any(), gomock.Any()).Return(nil, assert.AnError) - return fields{ - traceSvc: mockSvc, - auth: mockAuth, - traceCfg: mockCfg, - } - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 12, - TraceID: "trace-1", - StartTime: start, - EndTime: end, - }, - }, - want: nil, - wantErr: true, - }, - { - name: "permission error", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockAuth := rpcmock.NewMockIAuthProvider(ctrl) - mockCfg := confmock.NewMockITraceConfig(ctrl) - mockCfg.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(30)) - mockAuth.EXPECT().CheckWorkspacePermission(gomock.Any(), gomock.Any(), gomock.Any(), gomock.Any()).Return(fmt.Errorf("permission denied")) - return fields{ - auth: mockAuth, - traceCfg: mockCfg, - } - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 12, - TraceID: "trace-1", - StartTime: start, - EndTime: end, - }, - }, - want: nil, - wantErr: true, - }, - { - name: "invalid request", - fieldsGetter: func(ctrl *gomock.Controller) fields { - return fields{} - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 0, - TraceID: "trace-1", - StartTime: start, - EndTime: end, - }, - }, - want: nil, - wantErr: true, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - fields := tt.fieldsGetter(ctrl) - app := &TraceApplication{ - traceService: fields.traceSvc, - authSvc: fields.auth, - traceConfig: fields.traceCfg, - } - got, err := app.SearchTraceTree(tt.args.ctx, tt.args.req) - assert.Equal(t, tt.wantErr, err != nil) - assert.Equal(t, tt.want, got) - }) - } -} - -func TestTraceApplication_validateSearchTraceTreeReq(t *testing.T) { - validStart := time.Now().Add(-time.Hour).UnixMilli() - validEnd := time.Now().UnixMilli() - type fields struct { - traceCfg config.ITraceConfig - } - type args struct { - ctx context.Context - req *trace.SearchTraceTreeRequest - } - tests := []struct { - name string - fieldsGetter func(ctrl *gomock.Controller) fields - args args - wantErr bool - wantStart *int64 - wantEnd *int64 - }{ - { - name: "nil request", - fieldsGetter: func(ctrl *gomock.Controller) fields { - return fields{} - }, - args: args{ - ctx: context.Background(), - req: nil, - }, - wantErr: true, - }, - { - name: "invalid workspace", - fieldsGetter: func(ctrl *gomock.Controller) fields { - return fields{} - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 0, - TraceID: "trace-1", - StartTime: validStart, - EndTime: validEnd, - }, - }, - wantErr: true, - }, - { - name: "invalid trace id", - fieldsGetter: func(ctrl *gomock.Controller) fields { - return fields{} - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 1, - TraceID: "", - StartTime: validStart, - EndTime: validEnd, - }, - }, - wantErr: true, - }, - { - name: "invalid time range", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockCfg := confmock.NewMockITraceConfig(ctrl) - mockCfg.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(30)) - return fields{ - traceCfg: mockCfg, - } - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 1, - TraceID: "trace-1", - StartTime: int64(0), - EndTime: int64(0), - }, - }, - wantErr: true, - }, - { - name: "success", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockCfg := confmock.NewMockITraceConfig(ctrl) - mockCfg.EXPECT().GetTraceDataMaxDurationDay(gomock.Any(), gomock.Any()).Return(int64(30)) - return fields{ - traceCfg: mockCfg, - } - }, - args: args{ - ctx: context.Background(), - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 1, - TraceID: "trace-1", - StartTime: validStart, - EndTime: validEnd, - }, - }, - wantErr: false, - wantStart: ptr.Of(validStart), - wantEnd: ptr.Of(validEnd), - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - fields := tt.fieldsGetter(ctrl) - app := &TraceApplication{ - traceConfig: fields.traceCfg, - } - err := app.validateSearchTraceTreeReq(tt.args.ctx, tt.args.req) - assert.Equal(t, tt.wantErr, err != nil) - if !tt.wantErr && tt.args.req != nil { - if tt.wantStart != nil { - assert.Equal(t, *tt.wantStart, tt.args.req.GetStartTime()) - } - if tt.wantEnd != nil { - assert.Equal(t, *tt.wantEnd, tt.args.req.GetEndTime()) - } - } - }) - } -} - -func TestTraceApplication_buildSearchTraceTreeSvcReq(t *testing.T) { - start := time.Now().Add(-time.Hour).UnixMilli() - end := time.Now().UnixMilli() - app := &TraceApplication{} - tests := []struct { - name string - req *trace.SearchTraceTreeRequest - wantErr bool - check func(t *testing.T, got *service.GetTraceReq) - }{ - { - name: "default platform", - req: &trace.SearchTraceTreeRequest{ - WorkspaceID: 1, - TraceID: "trace-1", - StartTime: start, - EndTime: end, - }, - check: func(t *testing.T, got *service.GetTraceReq) { - assert.Equal(t, int64(1), got.WorkspaceID) - assert.Equal(t, "trace-1", got.TraceID) - assert.Equal(t, start, got.StartTime) - assert.Equal(t, end, got.EndTime) - assert.False(t, got.WithDetail) - assert.Equal(t, loop_span.PlatformCozeLoop, got.PlatformType) - assert.Nil(t, got.Filters) - }, - }, - { - name: "custom platform with filters", - req: func() *trace.SearchTraceTreeRequest { - platformType := commondto.PlatformTypePrompt - return &trace.SearchTraceTreeRequest{ - WorkspaceID: 2, - TraceID: "trace-2", - StartTime: start, - EndTime: end, - PlatformType: &platformType, - Filters: &filter.FilterFields{ - FilterFields: []*filter.FilterField{{}}, - }, - } - }(), - check: func(t *testing.T, got *service.GetTraceReq) { - assert.Equal(t, int64(2), got.WorkspaceID) - assert.Equal(t, "trace-2", got.TraceID) - assert.Equal(t, start, got.StartTime) - assert.Equal(t, end, got.EndTime) - assert.Equal(t, loop_span.PlatformType(commondto.PlatformTypePrompt), got.PlatformType) - if assert.NotNil(t, got.Filters) { - assert.Len(t, got.Filters.FilterFields, 1) - } - }, - }, - { - name: "invalid filters", - req: func() *trace.SearchTraceTreeRequest { - invalid := filter.QueryRelation("invalid") - return &trace.SearchTraceTreeRequest{ - WorkspaceID: 3, - TraceID: "trace-3", - StartTime: start, - EndTime: end, - Filters: &filter.FilterFields{ - QueryAndOr: &invalid, - }, - } - }(), - wantErr: true, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - got, err := app.buildSearchTraceTreeSvcReq(tt.req) - assert.Equal(t, tt.wantErr, err != nil) - if tt.wantErr { - assert.Nil(t, got) - return - } - if tt.check != nil { - checkFn := tt.check - checkFn(t, got) - } - }) - } -} - func TestTraceApplication_BatchGetTracesAdvanceInfo(t *testing.T) { type fields struct { traceSvc service.ITraceService diff --git a/backend/modules/observability/application/wire.go b/backend/modules/observability/application/wire.go index a4d0518fd..adc2b19c5 100644 --- a/backend/modules/observability/application/wire.go +++ b/backend/modules/observability/application/wire.go @@ -42,7 +42,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/collector/receiver/rmqreceiver" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_filter" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_processor" - obcollector "github.com/coze-dev/coze-loop/backend/modules/observability/infra/collector" obconfig "github.com/coze-dev/coze-loop/backend/modules/observability/infra/config" obmetrics "github.com/coze-dev/coze-loop/backend/modules/observability/infra/metrics" mq2 "github.com/coze-dev/coze-loop/backend/modules/observability/infra/mq/producer" @@ -83,7 +82,6 @@ var ( ckdao.NewSpansCkDaoImpl, ckdao.NewAnnotationCkDaoImpl, obmetrics.NewTraceMetricsImpl, - obcollector.NewEventCollectorProvider, mq2.NewTraceProducerImpl, mq2.NewAnnotationProducerImpl, file.NewFileRPCProvider, diff --git a/backend/modules/observability/application/wire_gen.go b/backend/modules/observability/application/wire_gen.go index 69fd555ed..c15ba3da7 100644 --- a/backend/modules/observability/application/wire_gen.go +++ b/backend/modules/observability/application/wire_gen.go @@ -42,7 +42,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/collector/receiver/rmqreceiver" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_filter" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_processor" - "github.com/coze-dev/coze-loop/backend/modules/observability/infra/collector" "github.com/coze-dev/coze-loop/backend/modules/observability/infra/config" metrics2 "github.com/coze-dev/coze-loop/backend/modules/observability/infra/metrics" "github.com/coze-dev/coze-loop/backend/modules/observability/infra/mq/producer" @@ -165,8 +164,7 @@ func InitOpenAPIApplication(mqFactory mq.IFactory, configFactory conf.IConfigLoa } iAuthProvider := auth.NewAuthProvider(authClient) iWorkSpaceProvider := workspace.NewWorkspaceProvider() - iCollectorProvider := collector.NewEventCollectorProvider() - iObservabilityOpenAPIApplication, err := NewOpenAPIApplication(iTraceService, iAuthProvider, benefit2, iTenantProvider, iWorkSpaceProvider, limiterFactory, iTraceConfig, iTraceMetrics, iCollectorProvider) + iObservabilityOpenAPIApplication, err := NewOpenAPIApplication(iTraceService, iAuthProvider, benefit2, iTenantProvider, iWorkSpaceProvider, limiterFactory, iTraceConfig, iTraceMetrics) if err != nil { return nil, err } @@ -258,7 +256,7 @@ var ( taskDomainSet = wire.NewSet( NewInitTaskProcessor, service2.NewTaskServiceImpl, repo.NewTaskRepoImpl, mysql.NewTaskDaoImpl, dao.NewTaskDAO, dao.NewTaskRunDAO, mysql.NewTaskRunDaoImpl, producer.NewBackfillProducerImpl, ) - traceDomainSet = wire.NewSet(service.NewTraceServiceImpl, service.NewTraceExportServiceImpl, repo.NewTraceCKRepoImpl, ck2.NewSpansCkDaoImpl, ck2.NewAnnotationCkDaoImpl, metrics2.NewTraceMetricsImpl, collector.NewEventCollectorProvider, producer.NewTraceProducerImpl, producer.NewAnnotationProducerImpl, file.NewFileRPCProvider, NewTraceConfigLoader, + traceDomainSet = wire.NewSet(service.NewTraceServiceImpl, service.NewTraceExportServiceImpl, repo.NewTraceCKRepoImpl, ck2.NewSpansCkDaoImpl, ck2.NewAnnotationCkDaoImpl, metrics2.NewTraceMetricsImpl, producer.NewTraceProducerImpl, producer.NewAnnotationProducerImpl, file.NewFileRPCProvider, NewTraceConfigLoader, NewTraceProcessorBuilder, config.NewTraceConfigCenter, tenant.NewTenantProvider, workspace.NewWorkspaceProvider, evaluator.NewEvaluatorRPCProvider, NewDatasetServiceAdapter, taskDomainSet, ) diff --git a/backend/modules/observability/domain/component/collector/event_collector.go b/backend/modules/observability/domain/component/collector/event_collector.go deleted file mode 100644 index 4a1bd7a50..000000000 --- a/backend/modules/observability/domain/component/collector/event_collector.go +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 -package collector - -import ( - "context" - "time" -) - -//go:generate mockgen -destination=mocks/event_collector.go -package=mocks . ICollectorProvider -type ICollectorProvider interface { - CollectTraceOpenAPIEvent(ctx context.Context, method string, workspaceId int64, platformType, spanListType string, spanSize int64, errorCode int, start time.Time, isError bool) -} diff --git a/backend/modules/observability/domain/component/collector/mocks/event_collector.go b/backend/modules/observability/domain/component/collector/mocks/event_collector.go deleted file mode 100644 index 32863623a..000000000 --- a/backend/modules/observability/domain/component/collector/mocks/event_collector.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by MockGen. DO NOT EDIT. -// Source: github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/collector (interfaces: ICollectorProvider) -// -// Generated by this command: -// -// mockgen -destination=mocks/event_collector.go -package=mocks . ICollectorProvider -// - -// Package mocks is a generated GoMock package. -package mocks - -import ( - context "context" - reflect "reflect" - time "time" - - gomock "go.uber.org/mock/gomock" -) - -// MockICollectorProvider is a mock of ICollectorProvider interface. -type MockICollectorProvider struct { - ctrl *gomock.Controller - recorder *MockICollectorProviderMockRecorder - isgomock struct{} -} - -// MockICollectorProviderMockRecorder is the mock recorder for MockICollectorProvider. -type MockICollectorProviderMockRecorder struct { - mock *MockICollectorProvider -} - -// NewMockICollectorProvider creates a new mock instance. -func NewMockICollectorProvider(ctrl *gomock.Controller) *MockICollectorProvider { - mock := &MockICollectorProvider{ctrl: ctrl} - mock.recorder = &MockICollectorProviderMockRecorder{mock} - return mock -} - -// EXPECT returns an object that allows the caller to indicate expected use. -func (m *MockICollectorProvider) EXPECT() *MockICollectorProviderMockRecorder { - return m.recorder -} - -// CollectTraceOpenAPIEvent mocks base method. -func (m *MockICollectorProvider) CollectTraceOpenAPIEvent(ctx context.Context, method string, workspaceId int64, platformType, spanListType string, spanSize int64, errorCode int, start time.Time, isError bool) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "CollectTraceOpenAPIEvent", ctx, method, workspaceId, platformType, spanListType, spanSize, errorCode, start, isError) -} - -// CollectTraceOpenAPIEvent indicates an expected call of CollectTraceOpenAPIEvent. -func (mr *MockICollectorProviderMockRecorder) CollectTraceOpenAPIEvent(ctx, method, workspaceId, platformType, spanListType, spanSize, errorCode, start, isError any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CollectTraceOpenAPIEvent", reflect.TypeOf((*MockICollectorProvider)(nil).CollectTraceOpenAPIEvent), ctx, method, workspaceId, platformType, spanListType, spanSize, errorCode, start, isError) -} diff --git a/backend/modules/observability/domain/component/config/config.go b/backend/modules/observability/domain/component/config/config.go index f587b3188..e6fa9c027 100644 --- a/backend/modules/observability/domain/component/config/config.go +++ b/backend/modules/observability/domain/component/config/config.go @@ -106,10 +106,8 @@ type QueryTraceRateLimitConfig struct { } type ConsumerListening struct { - IsEnabled bool `json:"is_enabled"` - Clusters []string `json:"clusters"` - IsAllSpace bool `json:"is_all_space"` - SpaceList []int64 `json:"space_list"` + IsEnabled bool `json:"is_enabled"` + Clusters []string `json:"clusters"` } //go:generate mockgen -destination=mocks/config.go -package=mocks . ITraceConfig @@ -126,7 +124,6 @@ type ITraceConfig interface { GetDefaultTraceTenant(ctx context.Context) string GetAnnotationSourceCfg(ctx context.Context) (*AnnotationSourceConfig, error) GetQueryMaxQPS(ctx context.Context, key string) (int, error) - GetKeySpanTypes(ctx context.Context) map[string][]string GetBackfillMqProducerCfg(ctx context.Context) (*MqProducerCfg, error) conf.IConfigLoader diff --git a/backend/modules/observability/domain/component/config/mocks/config.go b/backend/modules/observability/domain/component/config/mocks/config.go index e53f087e3..1aea3c576 100644 --- a/backend/modules/observability/domain/component/config/mocks/config.go +++ b/backend/modules/observability/domain/component/config/mocks/config.go @@ -22,7 +22,6 @@ import ( type MockITraceConfig struct { ctrl *gomock.Controller recorder *MockITraceConfigMockRecorder - isgomock struct{} } // MockITraceConfigMockRecorder is the mock recorder for MockITraceConfig. @@ -43,231 +42,217 @@ func (m *MockITraceConfig) EXPECT() *MockITraceConfigMockRecorder { } // Get mocks base method. -func (m *MockITraceConfig) Get(ctx context.Context, key string) any { +func (m *MockITraceConfig) Get(arg0 context.Context, arg1 string) any { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "Get", ctx, key) + ret := m.ctrl.Call(m, "Get", arg0, arg1) ret0, _ := ret[0].(any) return ret0 } // Get indicates an expected call of Get. -func (mr *MockITraceConfigMockRecorder) Get(ctx, key any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) Get(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockITraceConfig)(nil).Get), ctx, key) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockITraceConfig)(nil).Get), arg0, arg1) } // GetAnnotationMqProducerCfg mocks base method. -func (m *MockITraceConfig) GetAnnotationMqProducerCfg(ctx context.Context) (*config.MqProducerCfg, error) { +func (m *MockITraceConfig) GetAnnotationMqProducerCfg(arg0 context.Context) (*config.MqProducerCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAnnotationMqProducerCfg", ctx) + ret := m.ctrl.Call(m, "GetAnnotationMqProducerCfg", arg0) ret0, _ := ret[0].(*config.MqProducerCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAnnotationMqProducerCfg indicates an expected call of GetAnnotationMqProducerCfg. -func (mr *MockITraceConfigMockRecorder) GetAnnotationMqProducerCfg(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetAnnotationMqProducerCfg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnnotationMqProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetAnnotationMqProducerCfg), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnnotationMqProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetAnnotationMqProducerCfg), arg0) } // GetAnnotationSourceCfg mocks base method. -func (m *MockITraceConfig) GetAnnotationSourceCfg(ctx context.Context) (*config.AnnotationSourceConfig, error) { +func (m *MockITraceConfig) GetAnnotationSourceCfg(arg0 context.Context) (*config.AnnotationSourceConfig, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetAnnotationSourceCfg", ctx) + ret := m.ctrl.Call(m, "GetAnnotationSourceCfg", arg0) ret0, _ := ret[0].(*config.AnnotationSourceConfig) ret1, _ := ret[1].(error) return ret0, ret1 } // GetAnnotationSourceCfg indicates an expected call of GetAnnotationSourceCfg. -func (mr *MockITraceConfigMockRecorder) GetAnnotationSourceCfg(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetAnnotationSourceCfg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnnotationSourceCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetAnnotationSourceCfg), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAnnotationSourceCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetAnnotationSourceCfg), arg0) } // GetBackfillMqProducerCfg mocks base method. -func (m *MockITraceConfig) GetBackfillMqProducerCfg(ctx context.Context) (*config.MqProducerCfg, error) { +func (m *MockITraceConfig) GetBackfillMqProducerCfg(arg0 context.Context) (*config.MqProducerCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetBackfillMqProducerCfg", ctx) + ret := m.ctrl.Call(m, "GetBackfillMqProducerCfg", arg0) ret0, _ := ret[0].(*config.MqProducerCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetBackfillMqProducerCfg indicates an expected call of GetBackfillMqProducerCfg. -func (mr *MockITraceConfigMockRecorder) GetBackfillMqProducerCfg(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetBackfillMqProducerCfg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBackfillMqProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetBackfillMqProducerCfg), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBackfillMqProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetBackfillMqProducerCfg), arg0) } // GetDefaultTraceTenant mocks base method. -func (m *MockITraceConfig) GetDefaultTraceTenant(ctx context.Context) string { +func (m *MockITraceConfig) GetDefaultTraceTenant(arg0 context.Context) string { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetDefaultTraceTenant", ctx) + ret := m.ctrl.Call(m, "GetDefaultTraceTenant", arg0) ret0, _ := ret[0].(string) return ret0 } // GetDefaultTraceTenant indicates an expected call of GetDefaultTraceTenant. -func (mr *MockITraceConfigMockRecorder) GetDefaultTraceTenant(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetDefaultTraceTenant(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDefaultTraceTenant", reflect.TypeOf((*MockITraceConfig)(nil).GetDefaultTraceTenant), ctx) -} - -// GetKeySpanTypes mocks base method. -func (m *MockITraceConfig) GetKeySpanTypes(ctx context.Context) map[string][]string { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetKeySpanTypes", ctx) - ret0, _ := ret[0].(map[string][]string) - return ret0 -} - -// GetKeySpanTypes indicates an expected call of GetKeySpanTypes. -func (mr *MockITraceConfigMockRecorder) GetKeySpanTypes(ctx any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKeySpanTypes", reflect.TypeOf((*MockITraceConfig)(nil).GetKeySpanTypes), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDefaultTraceTenant", reflect.TypeOf((*MockITraceConfig)(nil).GetDefaultTraceTenant), arg0) } // GetPlatformSpansTrans mocks base method. -func (m *MockITraceConfig) GetPlatformSpansTrans(ctx context.Context) (*config.SpanTransHandlerConfig, error) { +func (m *MockITraceConfig) GetPlatformSpansTrans(arg0 context.Context) (*config.SpanTransHandlerConfig, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPlatformSpansTrans", ctx) + ret := m.ctrl.Call(m, "GetPlatformSpansTrans", arg0) ret0, _ := ret[0].(*config.SpanTransHandlerConfig) ret1, _ := ret[1].(error) return ret0, ret1 } // GetPlatformSpansTrans indicates an expected call of GetPlatformSpansTrans. -func (mr *MockITraceConfigMockRecorder) GetPlatformSpansTrans(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetPlatformSpansTrans(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlatformSpansTrans", reflect.TypeOf((*MockITraceConfig)(nil).GetPlatformSpansTrans), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlatformSpansTrans", reflect.TypeOf((*MockITraceConfig)(nil).GetPlatformSpansTrans), arg0) } // GetPlatformTenants mocks base method. -func (m *MockITraceConfig) GetPlatformTenants(ctx context.Context) (*config.PlatformTenantsCfg, error) { +func (m *MockITraceConfig) GetPlatformTenants(arg0 context.Context) (*config.PlatformTenantsCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetPlatformTenants", ctx) + ret := m.ctrl.Call(m, "GetPlatformTenants", arg0) ret0, _ := ret[0].(*config.PlatformTenantsCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetPlatformTenants indicates an expected call of GetPlatformTenants. -func (mr *MockITraceConfigMockRecorder) GetPlatformTenants(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetPlatformTenants(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlatformTenants", reflect.TypeOf((*MockITraceConfig)(nil).GetPlatformTenants), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetPlatformTenants", reflect.TypeOf((*MockITraceConfig)(nil).GetPlatformTenants), arg0) } // GetQueryMaxQPS mocks base method. -func (m *MockITraceConfig) GetQueryMaxQPS(ctx context.Context, key string) (int, error) { +func (m *MockITraceConfig) GetQueryMaxQPS(arg0 context.Context, arg1 string) (int, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetQueryMaxQPS", ctx, key) + ret := m.ctrl.Call(m, "GetQueryMaxQPS", arg0, arg1) ret0, _ := ret[0].(int) ret1, _ := ret[1].(error) return ret0, ret1 } // GetQueryMaxQPS indicates an expected call of GetQueryMaxQPS. -func (mr *MockITraceConfigMockRecorder) GetQueryMaxQPS(ctx, key any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetQueryMaxQPS(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetQueryMaxQPS", reflect.TypeOf((*MockITraceConfig)(nil).GetQueryMaxQPS), ctx, key) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetQueryMaxQPS", reflect.TypeOf((*MockITraceConfig)(nil).GetQueryMaxQPS), arg0, arg1) } // GetSystemViews mocks base method. -func (m *MockITraceConfig) GetSystemViews(ctx context.Context) ([]*config.SystemView, error) { +func (m *MockITraceConfig) GetSystemViews(arg0 context.Context) ([]*config.SystemView, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetSystemViews", ctx) + ret := m.ctrl.Call(m, "GetSystemViews", arg0) ret0, _ := ret[0].([]*config.SystemView) ret1, _ := ret[1].(error) return ret0, ret1 } // GetSystemViews indicates an expected call of GetSystemViews. -func (mr *MockITraceConfigMockRecorder) GetSystemViews(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetSystemViews(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSystemViews", reflect.TypeOf((*MockITraceConfig)(nil).GetSystemViews), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSystemViews", reflect.TypeOf((*MockITraceConfig)(nil).GetSystemViews), arg0) } // GetTenantConfig mocks base method. -func (m *MockITraceConfig) GetTenantConfig(ctx context.Context) (*config.TenantCfg, error) { +func (m *MockITraceConfig) GetTenantConfig(arg0 context.Context) (*config.TenantCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTenantConfig", ctx) + ret := m.ctrl.Call(m, "GetTenantConfig", arg0) ret0, _ := ret[0].(*config.TenantCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTenantConfig indicates an expected call of GetTenantConfig. -func (mr *MockITraceConfigMockRecorder) GetTenantConfig(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetTenantConfig(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTenantConfig", reflect.TypeOf((*MockITraceConfig)(nil).GetTenantConfig), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTenantConfig", reflect.TypeOf((*MockITraceConfig)(nil).GetTenantConfig), arg0) } // GetTraceCkCfg mocks base method. -func (m *MockITraceConfig) GetTraceCkCfg(ctx context.Context) (*config.TraceCKCfg, error) { +func (m *MockITraceConfig) GetTraceCkCfg(arg0 context.Context) (*config.TraceCKCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTraceCkCfg", ctx) + ret := m.ctrl.Call(m, "GetTraceCkCfg", arg0) ret0, _ := ret[0].(*config.TraceCKCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTraceCkCfg indicates an expected call of GetTraceCkCfg. -func (mr *MockITraceConfigMockRecorder) GetTraceCkCfg(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetTraceCkCfg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceCkCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceCkCfg), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceCkCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceCkCfg), arg0) } // GetTraceDataMaxDurationDay mocks base method. -func (m *MockITraceConfig) GetTraceDataMaxDurationDay(ctx context.Context, platformType *string) int64 { +func (m *MockITraceConfig) GetTraceDataMaxDurationDay(arg0 context.Context, arg1 *string) int64 { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTraceDataMaxDurationDay", ctx, platformType) + ret := m.ctrl.Call(m, "GetTraceDataMaxDurationDay", arg0, arg1) ret0, _ := ret[0].(int64) return ret0 } // GetTraceDataMaxDurationDay indicates an expected call of GetTraceDataMaxDurationDay. -func (mr *MockITraceConfigMockRecorder) GetTraceDataMaxDurationDay(ctx, platformType any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetTraceDataMaxDurationDay(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceDataMaxDurationDay", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceDataMaxDurationDay), ctx, platformType) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceDataMaxDurationDay", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceDataMaxDurationDay), arg0, arg1) } // GetTraceFieldMetaInfo mocks base method. -func (m *MockITraceConfig) GetTraceFieldMetaInfo(ctx context.Context) (*config.TraceFieldMetaInfoCfg, error) { +func (m *MockITraceConfig) GetTraceFieldMetaInfo(arg0 context.Context) (*config.TraceFieldMetaInfoCfg, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTraceFieldMetaInfo", ctx) + ret := m.ctrl.Call(m, "GetTraceFieldMetaInfo", arg0) ret0, _ := ret[0].(*config.TraceFieldMetaInfoCfg) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTraceFieldMetaInfo indicates an expected call of GetTraceFieldMetaInfo. -func (mr *MockITraceConfigMockRecorder) GetTraceFieldMetaInfo(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetTraceFieldMetaInfo(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceFieldMetaInfo", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceFieldMetaInfo), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceFieldMetaInfo", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceFieldMetaInfo), arg0) } // GetTraceIngestTenantProducerCfg mocks base method. -func (m *MockITraceConfig) GetTraceIngestTenantProducerCfg(ctx context.Context) (map[string]*config.IngestConfig, error) { +func (m *MockITraceConfig) GetTraceIngestTenantProducerCfg(arg0 context.Context) (map[string]*config.IngestConfig, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTraceIngestTenantProducerCfg", ctx) + ret := m.ctrl.Call(m, "GetTraceIngestTenantProducerCfg", arg0) ret0, _ := ret[0].(map[string]*config.IngestConfig) ret1, _ := ret[1].(error) return ret0, ret1 } // GetTraceIngestTenantProducerCfg indicates an expected call of GetTraceIngestTenantProducerCfg. -func (mr *MockITraceConfigMockRecorder) GetTraceIngestTenantProducerCfg(ctx any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) GetTraceIngestTenantProducerCfg(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceIngestTenantProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceIngestTenantProducerCfg), ctx) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTraceIngestTenantProducerCfg", reflect.TypeOf((*MockITraceConfig)(nil).GetTraceIngestTenantProducerCfg), arg0) } // Unmarshal mocks base method. -func (m *MockITraceConfig) Unmarshal(ctx context.Context, value any, opts ...conf.DecodeOptionFn) error { +func (m *MockITraceConfig) Unmarshal(arg0 context.Context, arg1 any, arg2 ...conf.DecodeOptionFn) error { m.ctrl.T.Helper() - varargs := []any{ctx, value} - for _, a := range opts { + varargs := []any{arg0, arg1} + for _, a := range arg2 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "Unmarshal", varargs...) @@ -276,17 +261,17 @@ func (m *MockITraceConfig) Unmarshal(ctx context.Context, value any, opts ...con } // Unmarshal indicates an expected call of Unmarshal. -func (mr *MockITraceConfigMockRecorder) Unmarshal(ctx, value any, opts ...any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) Unmarshal(arg0, arg1 any, arg2 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, value}, opts...) + varargs := append([]any{arg0, arg1}, arg2...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unmarshal", reflect.TypeOf((*MockITraceConfig)(nil).Unmarshal), varargs...) } // UnmarshalKey mocks base method. -func (m *MockITraceConfig) UnmarshalKey(ctx context.Context, key string, value any, opts ...conf.DecodeOptionFn) error { +func (m *MockITraceConfig) UnmarshalKey(arg0 context.Context, arg1 string, arg2 any, arg3 ...conf.DecodeOptionFn) error { m.ctrl.T.Helper() - varargs := []any{ctx, key, value} - for _, a := range opts { + varargs := []any{arg0, arg1, arg2} + for _, a := range arg3 { varargs = append(varargs, a) } ret := m.ctrl.Call(m, "UnmarshalKey", varargs...) @@ -295,8 +280,8 @@ func (m *MockITraceConfig) UnmarshalKey(ctx context.Context, key string, value a } // UnmarshalKey indicates an expected call of UnmarshalKey. -func (mr *MockITraceConfigMockRecorder) UnmarshalKey(ctx, key, value any, opts ...any) *gomock.Call { +func (mr *MockITraceConfigMockRecorder) UnmarshalKey(arg0, arg1, arg2 any, arg3 ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]any{ctx, key, value}, opts...) + varargs := append([]any{arg0, arg1, arg2}, arg3...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnmarshalKey", reflect.TypeOf((*MockITraceConfig)(nil).UnmarshalKey), varargs...) } diff --git a/backend/modules/observability/domain/task/entity/event.go b/backend/modules/observability/domain/task/entity/event.go index c6bcd86e8..d45567756 100644 --- a/backend/modules/observability/domain/task/entity/event.go +++ b/backend/modules/observability/domain/task/entity/event.go @@ -137,9 +137,25 @@ func (s *RawSpan) RawSpanConvertToLoopSpan() *loop_span.Span { if s.Tags == nil { s.Tags = make(map[string]any) } - spaceID := tagsString["fornax_space_id"] - callType := tagsString["call_type"] - spanType := tagsString["span_type"] + var callType string + if s.Tags["call_type"] == nil { + callType = "" + } else { + callType = s.Tags["call_type"].(string) + } + var spaceID string + if s.Tags["fornax_space_id"] == nil { + spaceID = "" + } else { + spaceID = s.Tags["fornax_space_id"].(string) + } + var spanType string + + if s.Tags["span_type"] == nil { + spanType = "" + } else { + spanType = s.Tags["span_type"].(string) + } result := &loop_span.Span{ StartTime: s.StartTimeInUs / 1000, diff --git a/backend/modules/observability/domain/task/entity/task.go b/backend/modules/observability/domain/task/entity/task.go index e48ea3fe8..f5b470eb4 100644 --- a/backend/modules/observability/domain/task/entity/task.go +++ b/backend/modules/observability/domain/task/entity/task.go @@ -8,28 +8,28 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/common" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/dataset" + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" ) // do type ObservabilityTask struct { - ID int64 // Task ID - WorkspaceID int64 // 空间ID - Name string // 任务名称 - Description *string // 任务描述 - TaskType string // 任务类型 - TaskStatus string // 任务状态 - TaskDetail *RunDetail // 任务运行详情 - SpanFilter *SpanFilterFields // span 过滤条件 - EffectiveTime *EffectiveTime // 生效时间 - BackfillEffectiveTime *EffectiveTime // 历史回溯生效时间 - Sampler *Sampler // 采样器 - TaskConfig *TaskConfig // 相关任务的配置信息 - CreatedAt time.Time // 创建时间 - UpdatedAt time.Time // 更新时间 - CreatedBy string // 创建人 - UpdatedBy string // 更新人 + ID int64 // Task ID + WorkspaceID int64 // 空间ID + Name string // 任务名称 + Description *string // 任务描述 + TaskType string // 任务类型 + TaskStatus string // 任务状态 + TaskDetail *RunDetail // 任务运行详情 + SpanFilter *filter.SpanFilterFields // span 过滤条件 + EffectiveTime *EffectiveTime // 生效时间 + BackfillEffectiveTime *EffectiveTime // 历史回溯生效时间 + Sampler *Sampler // 采样器 + TaskConfig *TaskConfig // 相关任务的配置信息 + CreatedAt time.Time // 创建时间 + UpdatedAt time.Time // 更新时间 + CreatedBy string // 创建人 + UpdatedBy string // 更新人 TaskRuns []*TaskRun } @@ -40,9 +40,9 @@ type RunDetail struct { TotalCount int64 `json:"total_count"` } type SpanFilterFields struct { - Filters loop_span.FilterFields `json:"filters"` - PlatformType common.PlatformType `json:"platform_type"` - SpanListType common.SpanListType `json:"span_list_type"` + Filters filter.SpanFilterFields `json:"filters"` + PlatformType common.PlatformType `json:"platform_type"` + SpanListType common.SpanListType `json:"span_list_type"` } type EffectiveTime struct { // ms timestamp diff --git a/backend/modules/observability/domain/task/repo/mocks/Task.go b/backend/modules/observability/domain/task/repo/mocks/Task.go index 6af237884..9cb523073 100644 --- a/backend/modules/observability/domain/task/repo/mocks/Task.go +++ b/backend/modules/observability/domain/task/repo/mocks/Task.go @@ -304,21 +304,6 @@ func (mr *MockITaskRepoMockRecorder) IncrTaskRunSuccessCount(arg0, arg1, arg2, a return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IncrTaskRunSuccessCount", reflect.TypeOf((*MockITaskRepo)(nil).IncrTaskRunSuccessCount), arg0, arg1, arg2, arg3) } -// ListNonFinalTask mocks base method. -func (m *MockITaskRepo) ListNonFinalTask(arg0 context.Context, arg1 string) ([]int64, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ListNonFinalTask", arg0, arg1) - ret0, _ := ret[0].([]int64) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// ListNonFinalTask indicates an expected call of ListNonFinalTask. -func (mr *MockITaskRepoMockRecorder) ListNonFinalTask(arg0, arg1 any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNonFinalTask", reflect.TypeOf((*MockITaskRepo)(nil).ListNonFinalTask), arg0, arg1) -} - // ListTasks mocks base method. func (m *MockITaskRepo) ListTasks(arg0 context.Context, arg1 mysql.ListTaskParam) ([]*entity.ObservabilityTask, int64, error) { m.ctrl.T.Helper() @@ -335,49 +320,6 @@ func (mr *MockITaskRepoMockRecorder) ListTasks(arg0, arg1 any) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTasks", reflect.TypeOf((*MockITaskRepo)(nil).ListTasks), arg0, arg1) } -// AddNonFinalTask mocks base method. -func (m *MockITaskRepo) AddNonFinalTask(arg0 context.Context, arg1 string, arg2 int64) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "AddNonFinalTask", arg0, arg1, arg2) - ret0, _ := ret[0].(error) - return ret0 -} - -// AddNonFinalTask indicates an expected call of AddNonFinalTask. -func (mr *MockITaskRepoMockRecorder) AddNonFinalTask(arg0, arg1, arg2 any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNonFinalTask", reflect.TypeOf((*MockITaskRepo)(nil).AddNonFinalTask), arg0, arg1, arg2) -} - -// RemoveNonFinalTask mocks base method. -func (m *MockITaskRepo) RemoveNonFinalTask(arg0 context.Context, arg1 string, arg2 int64) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "RemoveNonFinalTask", arg0, arg1, arg2) - ret0, _ := ret[0].(error) - return ret0 -} - -// RemoveNonFinalTask indicates an expected call of RemoveNonFinalTask. -func (mr *MockITaskRepoMockRecorder) RemoveNonFinalTask(arg0, arg1, arg2 any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveNonFinalTask", reflect.TypeOf((*MockITaskRepo)(nil).RemoveNonFinalTask), arg0, arg1, arg2) -} - -// GetTaskByRedis mocks base method. -func (m *MockITaskRepo) GetTaskByRedis(arg0 context.Context, arg1 int64) (*entity.ObservabilityTask, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetTaskByRedis", arg0, arg1) - ret0, _ := ret[0].(*entity.ObservabilityTask) - ret1, _ := ret[1].(error) - return ret0, ret1 -} - -// GetTaskByRedis indicates an expected call of GetTaskByRedis. -func (mr *MockITaskRepoMockRecorder) GetTaskByRedis(arg0, arg1 any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTaskByRedis", reflect.TypeOf((*MockITaskRepo)(nil).GetTaskByRedis), arg0, arg1) -} - // UpdateTask mocks base method. func (m *MockITaskRepo) UpdateTask(arg0 context.Context, arg1 *entity.ObservabilityTask) error { m.ctrl.T.Helper() @@ -433,17 +375,3 @@ func (mr *MockITaskRepoMockRecorder) UpdateTaskWithOCC(arg0, arg1, arg2, arg3 an mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTaskWithOCC", reflect.TypeOf((*MockITaskRepo)(nil).UpdateTaskWithOCC), arg0, arg1, arg2, arg3) } - -// SetTask mocks base method. -func (m *MockITaskRepo) SetTask(arg0 context.Context, arg1 *entity.ObservabilityTask) error { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "SetTask", arg0, arg1) - ret0, _ := ret[0].(error) - return ret0 -} - -// SetTask indicates an expected call of SetTask. -func (mr *MockITaskRepoMockRecorder) SetTask(arg0, arg1 any) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTask", reflect.TypeOf((*MockITaskRepo)(nil).SetTask), arg0, arg1) -} diff --git a/backend/modules/observability/domain/task/repo/task.go b/backend/modules/observability/domain/task/repo/task.go index 775443549..600cd26a9 100644 --- a/backend/modules/observability/domain/task/repo/task.go +++ b/backend/modules/observability/domain/task/repo/task.go @@ -45,12 +45,4 @@ type ITaskRepo interface { GetTaskRunFailCount(ctx context.Context, taskID, taskRunID int64) (int64, error) GetObjListWithTask(ctx context.Context) ([]string, []string, []*entity.ObservabilityTask) - - // 非终态task列表by spaceID - ListNonFinalTask(ctx context.Context, spaceID string) ([]int64, error) - AddNonFinalTask(ctx context.Context, spaceID string, taskID int64) error - RemoveNonFinalTask(ctx context.Context, spaceID string, taskID int64) error - - GetTaskByRedis(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) - SetTask(ctx context.Context, task *entity.ObservabilityTask) error } diff --git a/backend/modules/observability/domain/task/service/task_service.go b/backend/modules/observability/domain/task/service/task_service.go index 623c43c6f..e528310ed 100644 --- a/backend/modules/observability/domain/task/service/task_service.go +++ b/backend/modules/observability/domain/task/service/task_service.go @@ -6,7 +6,6 @@ package service import ( "context" "fmt" - "strconv" "time" "github.com/bytedance/gg/gptr" @@ -22,7 +21,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/repo" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe/processor" - loop_span "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql" obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" @@ -208,10 +206,6 @@ func (t *TaskServiceImpl) UpdateTask(ctx context.Context, req *UpdateTaskReq) (e logs.CtxError(ctx, "proc Finish err:%v", err) return err } - err = t.TaskRepo.RemoveNonFinalTask(ctx, strconv.FormatInt(taskDO.WorkspaceID, 10), taskDO.ID) - if err != nil { - logs.CtxError(ctx, "remove non final task failed, task_id=%d, err=%v", taskDO.ID, err) - } } taskDO.TaskStatus = *req.TaskStatus } @@ -254,79 +248,26 @@ func (t *TaskServiceImpl) ListTasks(ctx context.Context, req *ListTasksReq) (res logs.CtxError(ctx, "MGetUserInfo err:%v", err) } return &ListTasksResp{ - Tasks: tconv.TaskDOs2DTOs(ctx, filterHiddenFilters(taskDOs), userInfoMap), + Tasks: tconv.TaskDOs2DTOs(ctx, taskDOs, userInfoMap), Total: ptr.Of(total), }, nil } func (t *TaskServiceImpl) GetTask(ctx context.Context, req *GetTaskReq) (resp *GetTaskResp, err error) { - taskDO, err := t.TaskRepo.GetTask(ctx, req.TaskID, &req.WorkspaceID, nil) + taskPO, err := t.TaskRepo.GetTask(ctx, req.TaskID, &req.WorkspaceID, nil) if err != nil { logs.CtxError(ctx, "GetTasks err:%v", err) return resp, err } - if taskDO == nil { + if taskPO == nil { logs.CtxError(ctx, "GetTasks tasks is nil") return resp, nil } - _, userInfoMap, err := t.userProvider.GetUserInfo(ctx, []string{taskDO.CreatedBy, taskDO.UpdatedBy}) + _, userInfoMap, err := t.userProvider.GetUserInfo(ctx, []string{taskPO.CreatedBy, taskPO.UpdatedBy}) if err != nil { logs.CtxError(ctx, "MGetUserInfo err:%v", err) } - return &GetTaskResp{Task: tconv.TaskDO2DTO(ctx, filterHiddenFilters([]*entity.ObservabilityTask{taskDO})[0], userInfoMap)}, nil -} - -func filterHiddenFilters(tasks []*entity.ObservabilityTask) []*entity.ObservabilityTask { - for _, t := range tasks { - if t == nil || t.SpanFilter == nil { - continue - } - - filtered := filterVisibleFilterFields(&t.SpanFilter.Filters) - if filtered != nil { - t.SpanFilter.Filters = *filtered - } - } - return tasks -} - -func filterVisibleFilterFields(fields *loop_span.FilterFields) *loop_span.FilterFields { - if fields == nil { - return nil - } - - filters := fields.FilterFields - if len(filters) == 0 { - return fields - } - - writeIdx := 0 - for _, f := range filters { - if f == nil || f.Hidden { - continue - } - if f.SubFilter != nil { - filteredSub := filterVisibleFilterFields(f.SubFilter) - if filteredSub == nil || len(filteredSub.FilterFields) == 0 { - f.SubFilter = nil - } else { - f.SubFilter = filteredSub - } - } - filters[writeIdx] = f - writeIdx++ - } - - if writeIdx == len(filters) { - return fields - } - - for i := writeIdx; i < len(filters); i++ { - filters[i] = nil - } - - fields.FilterFields = filters[:writeIdx] - return fields + return &GetTaskResp{Task: tconv.TaskDO2DTO(ctx, taskPO, userInfoMap)}, nil } func (t *TaskServiceImpl) CheckTaskName(ctx context.Context, req *CheckTaskNameReq) (resp *CheckTaskNameResp, err error) { diff --git a/backend/modules/observability/domain/task/service/task_service_test.go b/backend/modules/observability/domain/task/service/task_service_test.go index a65312dfe..c3f21f65f 100755 --- a/backend/modules/observability/domain/task/service/task_service_test.go +++ b/backend/modules/observability/domain/task/service/task_service_test.go @@ -25,7 +25,6 @@ import ( "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe/processor" entitycommon "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/common" - loop_span "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" ) @@ -268,7 +267,6 @@ func TestTaskServiceImpl_UpdateTask(t *testing.T) { } repoMock.EXPECT().GetTask(gomock.Any(), int64(1), gomock.Any(), gomock.Nil()).Return(taskDO, nil) - repoMock.EXPECT().RemoveNonFinalTask(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil) repoMock.EXPECT().UpdateTask(gomock.Any(), taskDO).Return(nil) proc := &fakeProcessor{} @@ -299,39 +297,6 @@ func TestTaskServiceImpl_UpdateTask(t *testing.T) { assert.Equal(t, sampleRate, taskDO.Sampler.SampleRate) }) - t.Run("disable remove non final task error", func(t *testing.T) { - t.Parallel() - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - repoMock := repomocks.NewMockITaskRepo(ctrl) - taskDO := &entity.ObservabilityTask{ - TaskType: task.TaskTypeAutoEval, - TaskStatus: task.TaskStatusUnstarted, - EffectiveTime: &entity.EffectiveTime{StartAt: time.Now().UnixMilli(), EndAt: time.Now().Add(time.Hour).UnixMilli()}, - Sampler: &entity.Sampler{}, - TaskRuns: []*entity.TaskRun{{RunStatus: task.RunStatusRunning}}, - } - - repoMock.EXPECT().GetTask(gomock.Any(), int64(1), gomock.Any(), gomock.Nil()).Return(taskDO, nil) - repoMock.EXPECT().RemoveNonFinalTask(gomock.Any(), gomock.Any(), gomock.Any()).Return(errors.New("remove fail")) - repoMock.EXPECT().UpdateTask(gomock.Any(), taskDO).Return(nil) - - proc := &fakeProcessor{} - svc := &TaskServiceImpl{TaskRepo: repoMock} - svc.taskProcessor.Register(task.TaskTypeAutoEval, proc) - - sampleRate := 0.6 - err := svc.UpdateTask(session.WithCtxUser(context.Background(), &session.User{ID: "user"}), &UpdateTaskReq{ - TaskID: 1, - WorkspaceID: 2, - SampleRate: &sampleRate, - TaskStatus: gptr.Of(task.TaskStatusDisabled), - }) - assert.NoError(t, err) - assert.True(t, proc.onFinishRunCalled) - }) - t.Run("finish hook error", func(t *testing.T) { t.Parallel() ctrl := gomock.NewController(t) @@ -393,11 +358,6 @@ func TestTaskServiceImpl_ListTasks(t *testing.T) { repoMock := repomocks.NewMockITaskRepo(ctrl) userMock := rpcmock.NewMockIUserProvider(ctrl) - hiddenField := &loop_span.FilterField{FieldName: "hidden", Values: []string{"1"}, Hidden: true} - visibleField := &loop_span.FilterField{FieldName: "visible", Values: []string{"val"}} - childVisible := &loop_span.FilterField{FieldName: "child", Values: []string{"child"}} - childHidden := &loop_span.FilterField{FieldName: "child_hidden", Values: []string{"child_hidden"}, Hidden: true} - parentField := &loop_span.FilterField{SubFilter: &loop_span.FilterFields{QueryAndOr: gptr.Of(loop_span.QueryAndOrEnumAnd), FilterFields: []*loop_span.FilterField{childVisible, childHidden}}} taskDO := &entity.ObservabilityTask{ ID: 1, Name: "task", @@ -408,13 +368,9 @@ func TestTaskServiceImpl_ListTasks(t *testing.T) { UpdatedBy: "user2", EffectiveTime: &entity.EffectiveTime{}, Sampler: &entity.Sampler{}, - SpanFilter: &entity.SpanFilterFields{Filters: loop_span.FilterFields{ - QueryAndOr: gptr.Of(loop_span.QueryAndOrEnumAnd), - FilterFields: []*loop_span.FilterField{hiddenField, visibleField, parentField}, - }}, } repoMock.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return([]*entity.ObservabilityTask{taskDO}, int64(1), nil) - userMock.EXPECT().GetUserInfo(gomock.Any(), gomock.Any()).Return(nil, map[string]*entitycommon.UserInfo{}, nil) + userMock.EXPECT().GetUserInfo(gomock.Any(), []string{"user1", "user2"}).Return(nil, map[string]*entitycommon.UserInfo{}, nil) svc := &TaskServiceImpl{TaskRepo: repoMock, userProvider: userMock} resp, err := svc.ListTasks(context.Background(), &ListTasksReq{WorkspaceID: 2, TaskFilters: &filter.TaskFilterFields{}}) @@ -422,19 +378,6 @@ func TestTaskServiceImpl_ListTasks(t *testing.T) { if assert.NotNil(t, resp) { assert.EqualValues(t, 1, *resp.Total) assert.Len(t, resp.Tasks, 1) - filterFields := resp.Tasks[0].GetRule().GetSpanFilters().GetFilters() - if assert.NotNil(t, filterFields) { - fields := filterFields.GetFilterFields() - assert.Len(t, fields, 2) - assert.Equal(t, "visible", fields[0].GetFieldName()) - assert.Equal(t, []string{"val"}, fields[0].GetValues()) - sub := fields[1].GetSubFilter() - if assert.NotNil(t, sub) { - subFields := sub.GetFilterFields() - assert.Len(t, subFields, 1) - assert.Equal(t, "child", subFields[0].GetFieldName()) - } - } } }) } @@ -478,12 +421,6 @@ func TestTaskServiceImpl_GetTask(t *testing.T) { repoMock := repomocks.NewMockITaskRepo(ctrl) userMock := rpcmock.NewMockIUserProvider(ctrl) - subHidden := &loop_span.FilterField{FieldName: "inner_hidden", Values: []string{"v"}, Hidden: true} - subVisible := &loop_span.FilterField{FieldName: "inner_visible", Values: []string{"v"}} - parent := &loop_span.FilterField{SubFilter: &loop_span.FilterFields{QueryAndOr: gptr.Of(loop_span.QueryAndOrEnumAnd), FilterFields: []*loop_span.FilterField{subHidden, subVisible}}} - visible := &loop_span.FilterField{FieldName: "outer_visible", Values: []string{"v"}} - hidden := &loop_span.FilterField{FieldName: "outer_hidden", Values: []string{"v"}, Hidden: true} - taskDO := &entity.ObservabilityTask{ TaskType: task.TaskTypeAutoEval, TaskStatus: task.TaskStatusUnstarted, @@ -491,32 +428,15 @@ func TestTaskServiceImpl_GetTask(t *testing.T) { UpdatedBy: "user2", EffectiveTime: &entity.EffectiveTime{}, Sampler: &entity.Sampler{}, - SpanFilter: &entity.SpanFilterFields{Filters: loop_span.FilterFields{ - QueryAndOr: gptr.Of(loop_span.QueryAndOrEnumAnd), - FilterFields: []*loop_span.FilterField{hidden, visible, parent}, - }}, } repoMock.EXPECT().GetTask(gomock.Any(), int64(1), gomock.Any(), gomock.Nil()).Return(taskDO, nil) - userMock.EXPECT().GetUserInfo(gomock.Any(), gomock.Any()).Return(nil, map[string]*entitycommon.UserInfo{}, nil) + userMock.EXPECT().GetUserInfo(gomock.Any(), []string{"user1", "user2"}).Return(nil, map[string]*entitycommon.UserInfo{}, nil) svc := &TaskServiceImpl{TaskRepo: repoMock, userProvider: userMock} resp, err := svc.GetTask(context.Background(), &GetTaskReq{TaskID: 1, WorkspaceID: 2}) assert.NoError(t, err) - if assert.NotNil(t, resp) { - filters := resp.Task.GetRule().GetSpanFilters().GetFilters() - if assert.NotNil(t, filters) { - fields := filters.GetFilterFields() - assert.Len(t, fields, 2) - assert.Equal(t, "outer_visible", fields[0].GetFieldName()) - sub := fields[1].GetSubFilter() - if assert.NotNil(t, sub) { - subFields := sub.GetFilterFields() - assert.Len(t, subFields, 1) - assert.Equal(t, "inner_visible", subFields[0].GetFieldName()) - } - } - } + assert.NotNil(t, resp) }) } diff --git a/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate.go b/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate.go index 0502fa9c3..65e64a39d 100644 --- a/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate.go +++ b/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate.go @@ -98,9 +98,6 @@ func (p *AutoEvaluteProcessor) ValidateConfig(ctx context.Context, config any) e func (p *AutoEvaluteProcessor) Invoke(ctx context.Context, trigger *taskexe.Trigger) error { taskRun := tconv.TaskRunDO2DTO(ctx, trigger.TaskRun, nil) - if taskRun.GetTaskRunConfig().GetAutoEvaluateRunConfig() == nil { - return nil - } workspaceID := trigger.Task.WorkspaceID sessionInfo := p.getSession(ctx, trigger.Task) var mapping []*task_entity.EvaluateFieldMapping @@ -258,10 +255,6 @@ func (p *AutoEvaluteProcessor) OnFinishTaskChange(ctx context.Context, param tas logs.CtxError(ctx, "OnUpdateChangeProcessor failed, taskID:%d, err:%v", param.Task.ID, err) return err } - if err := p.taskRepo.RemoveNonFinalTask(ctx, strconv.FormatInt(param.Task.WorkspaceID, 10), param.Task.ID); err != nil { - logs.CtxError(ctx, "RemoveNonFinalTask failed, taskID:%d, err:%v", param.Task.ID, err) - return err - } } return nil } @@ -411,7 +404,7 @@ func (p *AutoEvaluteProcessor) OnCreateTaskRunChange(ctx context.Context, param } func (p *AutoEvaluteProcessor) OnFinishTaskRunChange(ctx context.Context, param taskexe.OnFinishTaskRunChangeReq) error { - if param.TaskRun == nil || param.TaskRun.TaskRunConfig == nil || param.TaskRun.TaskRunConfig.AutoEvaluateRunConfig == nil { + if param.TaskRun == nil { return nil } session := p.getSession(ctx, param.Task) diff --git a/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate_test.go b/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate_test.go index bf2298646..c0f8beab8 100755 --- a/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/processor/auto_evaluate_test.go @@ -96,26 +96,6 @@ func (m *taskRepoMockAdapter) IncrTaskRunSuccessCount(ctx context.Context, taskI return m.MockITaskRepo.IncrTaskRunSuccessCount(ctx, taskID, taskRunID, ttl) } -func (m *taskRepoMockAdapter) ListNonFinalTask(context.Context, string) ([]int64, error) { - return nil, nil -} - -func (m *taskRepoMockAdapter) AddNonFinalTask(context.Context, string, int64) error { - return nil -} - -func (m *taskRepoMockAdapter) RemoveNonFinalTask(context.Context, string, int64) error { - return nil -} - -func (m *taskRepoMockAdapter) GetTaskByRedis(context.Context, int64) (*taskentity.ObservabilityTask, error) { - return nil, nil -} - -func (m *taskRepoMockAdapter) SetTask(context.Context, *taskentity.ObservabilityTask) error { - return nil -} - func buildTestTask(t *testing.T) *taskentity.ObservabilityTask { t.Helper() start := time.Now().Add(-30 * time.Minute).UnixMilli() diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill.go index bfa090c06..938b0af32 100644 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill.go @@ -207,7 +207,6 @@ func (h *TraceHubServiceImpl) buildBuiltinFilters(ctx context.Context, f span_fi env := &span_filter.SpanEnv{ WorkspaceID: req.WorkspaceID, ThirdPartyWorkspaceID: req.ThirdPartyWorkspaceID, - Source: span_filter.SourceTypeAutoTask, } basicFilter, forceQuery, err := f.BuildBasicSpanFilter(ctx, env) if err != nil { diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill_test.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill_test.go index eb6fa5634..4569a9398 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/backfill_test.go @@ -55,11 +55,7 @@ func TestTraceHubServiceImpl_SetBackfillTask(t *testing.T) { ID: 1, WorkspaceID: 1, TaskType: task.TaskTypeAutoEval, - SpanFilter: &entity.SpanFilterFields{ - Filters: loop_span.FilterFields{ - QueryAndOr: ptr.Of(loop_span.QueryAndOrEnumAnd), - }, - }, + SpanFilter: &filter.SpanFilterFields{}, Sampler: &entity.Sampler{ SampleRate: 1, SampleSize: 10, diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task.go index 317c9369d..ac1902676 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task.go @@ -12,7 +12,6 @@ import ( "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe" "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql" @@ -46,7 +45,6 @@ const ( // startScheduledTask launches the scheduled task goroutine func (h *TraceHubServiceImpl) startScheduledTask() { - h.syncTaskCache() go func() { for { select { @@ -77,15 +75,6 @@ func (h *TraceHubServiceImpl) startScheduledTask() { } func (h *TraceHubServiceImpl) transformTaskStatus() { - const key = "consumer_listening" - cfg := &config.ConsumerListening{} - if err := h.loader.UnmarshalKey(context.Background(), key, cfg); err != nil { - return - } - if !cfg.IsEnabled || !cfg.IsAllSpace { - return - } - if slices.Contains([]string{TracehubClusterName, InjectClusterName}, os.Getenv(TceCluster)) { return } @@ -102,6 +91,11 @@ func (h *TraceHubServiceImpl) transformTaskStatus() { logs.CtxInfo(ctx, "transformTaskStatus lock held by others, skip execution") return } + defer func() { + if _, err := h.locker.Unlock(transformTaskStatusLockKey); err != nil { + logs.CtxWarn(ctx, "transformTaskStatus release lock failed", "err", err) + } + }() } logs.CtxInfo(ctx, "Scheduled task started...") @@ -270,6 +264,11 @@ func (h *TraceHubServiceImpl) syncTaskRunCounts() { logs.CtxInfo(ctx, "syncTaskRunCounts lock held by others, skip execution") return } + defer func() { + if _, err := h.locker.Unlock(syncTaskRunCountsLockKey); err != nil { + logs.CtxWarn(ctx, "syncTaskRunCounts release lock failed", "err", err) + } + }() } logs.CtxInfo(ctx, "Start syncing TaskRunCounts to database...") // 1. Retrieve non-final task list @@ -340,8 +339,11 @@ func (h *TraceHubServiceImpl) syncTaskCache() { h.taskCacheLock.Lock() defer h.taskCacheLock.Unlock() + // Clear old cache + h.taskCache.Delete("ObjListWithTask") + // 4. Write new cache into local cache - h.taskCache.Store("ObjListWithTask", newCache) + h.taskCache.Store("ObjListWithTask", &newCache) logs.CtxInfo(ctx, "Task cache sync completed, taskCount:%d, updateTime:%s", len(tasks), newCache.UpdateTime.Format(time.RFC3339)) } @@ -420,35 +422,10 @@ func (h *TraceHubServiceImpl) updateTaskRunDetail(ctx context.Context, info *Tas return nil } -func (h *TraceHubServiceImpl) listNonFinalTaskByRedis(ctx context.Context, spaceID string) ([]*entity.ObservabilityTask, error) { - var taskPOs []*entity.ObservabilityTask - nonFinalTaskIDs, err := h.taskRepo.ListNonFinalTask(ctx, spaceID) - if err != nil { - logs.CtxError(ctx, "Failed to get non-final task list", "err", err) - return nil, err - } - logs.CtxInfo(ctx, "Start listing non-final tasks, taskCount:%d, nonFinalTaskIDs:%v", len(nonFinalTaskIDs), nonFinalTaskIDs) - if len(nonFinalTaskIDs) == 0 { - return taskPOs, nil - } - for _, taskID := range nonFinalTaskIDs { - taskPO, err := h.taskRepo.GetTaskByRedis(ctx, taskID) - if err != nil { - logs.CtxError(ctx, "Failed to get task", "err", err) - return nil, err - } - if taskPO == nil { - continue - } - taskPOs = append(taskPOs, taskPO) - } - return taskPOs, nil -} - func (h *TraceHubServiceImpl) listNonFinalTask(ctx context.Context) ([]*entity.ObservabilityTask, error) { var taskPOs []*entity.ObservabilityTask var offset int32 = 0 - const limit int32 = 500 + const limit int32 = 1000 // Paginate through all tasks for { tasklist, _, err := h.taskRepo.ListTasks(ctx, mysql.ListTaskParam{ diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task_test.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task_test.go index 1ac5e587c..b8c8e1851 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/scheduled_task_test.go @@ -100,7 +100,6 @@ func TestTraceHubServiceImpl_transformTaskStatus(t *testing.T) { impl := &TraceHubServiceImpl{ taskRepo: mockRepo, taskProcessor: tp, - loader: newEnabledConsumerLoader(), } return impl, proc }, @@ -134,7 +133,6 @@ func TestTraceHubServiceImpl_transformTaskStatus(t *testing.T) { impl := &TraceHubServiceImpl{ taskRepo: mockRepo, taskProcessor: tp, - loader: newEnabledConsumerLoader(), } return impl, proc }, @@ -174,7 +172,6 @@ func TestTraceHubServiceImpl_transformTaskStatus(t *testing.T) { impl := &TraceHubServiceImpl{ taskRepo: mockRepo, taskProcessor: tp, - loader: newEnabledConsumerLoader(), } return impl, proc }, @@ -220,6 +217,7 @@ func TestTraceHubServiceImpl_transformTaskStatus(t *testing.T) { mockRepo.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return([]*entity.ObservabilityTask{taskPO}, int64(1), nil) locker.EXPECT().LockWithRenew(gomock.Any(), gomock.Any(), transformTaskStatusLockTTL, backfillLockMaxHold). Return(false, context.Background(), func() {}, errors.New("lock failed")) + locker.EXPECT().Unlock(transformTaskStatusLockKey).Return(true, nil) proc := newTrackingProcessor() tp := processor.NewTaskProcessor() @@ -231,7 +229,6 @@ func TestTraceHubServiceImpl_transformTaskStatus(t *testing.T) { taskProcessor: tp, locker: locker, backfillProducer: producer, - loader: newEnabledConsumerLoader(), } return impl, proc }, @@ -334,7 +331,7 @@ func TestTraceHubServiceImpl_syncTaskCache(t *testing.T) { mockRepo := repo_mocks.NewMockITaskRepo(ctrl) impl := &TraceHubServiceImpl{taskRepo: mockRepo} - impl.taskCache.Store("ObjListWithTask", TaskCacheInfo{}) + impl.taskCache.Store("ObjListWithTask", &TaskCacheInfo{}) workspaceIDs := []string{"space-1"} botIDs := []string{"bot-1"} @@ -346,7 +343,7 @@ func TestTraceHubServiceImpl_syncTaskCache(t *testing.T) { val, ok := impl.taskCache.Load("ObjListWithTask") require.True(t, ok) - cache, ok := val.(TaskCacheInfo) + cache, ok := val.(*TaskCacheInfo) require.True(t, ok) require.Equal(t, workspaceIDs, cache.WorkspaceIDs) require.Equal(t, botIDs, cache.BotIDs) diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger.go index 092fbbb7b..f05eec178 100644 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger.go @@ -12,7 +12,6 @@ import ( "github.com/bytedance/gg/gslice" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" tconv "github.com/coze-dev/coze-loop/backend/modules/observability/application/convertor/task" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" @@ -62,31 +61,21 @@ func (h *TraceHubServiceImpl) SpanTrigger(ctx context.Context, rawSpan *entity.R logs.CtxInfo(ctx, "%d preDispatch success, %v", len(subs), subs) // 4、Dispatch if err = h.dispatch(ctx, span, subs); err != nil { - logs.CtxError(ctx, "dispatch flow span failed, %s, err: %v", logSuffix, err) - // Dispatch failed, continue to the next span - return nil + logs.CtxWarn(ctx, "dispatch flow span failed, %s, err: %v", logSuffix, err) + return err } return nil } func (h *TraceHubServiceImpl) getSubscriberOfSpan(ctx context.Context, span *loop_span.Span) ([]*spanSubscriber, error) { - const key = "consumer_listening" - cfg := &config.ConsumerListening{} - if err := h.loader.UnmarshalKey(ctx, key, cfg); err != nil { - return nil, err - } - var subscribers []*spanSubscriber - taskDOs, err := h.listNonFinalTaskByRedis(ctx, span.WorkspaceID) + taskDOs, err := h.listNonFinalTask(ctx) if err != nil { logs.CtxError(ctx, "Failed to get non-final task list, err: %v", err) return nil, err } taskList := tconv.TaskDOs2DTOs(ctx, taskDOs, nil) for _, taskDO := range taskList { - if !cfg.IsAllSpace && !gslice.Contains(cfg.SpaceList, taskDO.GetWorkspaceID()) { - continue - } proc := h.taskProcessor.GetTaskProcessor(taskDO.TaskType) subscribers = append(subscribers, &spanSubscriber{ taskID: taskDO.GetID(), @@ -125,9 +114,6 @@ func (h *TraceHubServiceImpl) getSubscriberOfSpan(ctx context.Context, span *loo func (h *TraceHubServiceImpl) preDispatch(ctx context.Context, span *loop_span.Span, subs []*spanSubscriber) error { merr := &multierror.Error{} for _, sub := range subs { - if sub.t.GetRule().GetEffectiveTime() == nil || sub.t.GetRule().GetEffectiveTime().GetStartAt() == 0 { - continue - } if span.StartTime < sub.t.GetRule().GetEffectiveTime().GetStartAt() { logs.CtxWarn(ctx, "span start time is before task cycle start time, trace_id=%s, span_id=%s", span.TraceID, span.SpanID) continue @@ -276,14 +262,14 @@ func (h *TraceHubServiceImpl) getObjListWithTaskFromCache(ctx context.Context) ( objListWithTask, ok := h.taskCache.Load("ObjListWithTask") if !ok { // Cache is empty, fallback to the database - logs.CtxError(ctx, "Cache is empty, retrieving task list from database") - return nil, nil, nil + logs.CtxInfo(ctx, "Cache is empty, retrieving task list from database") + return h.taskRepo.GetObjListWithTask(ctx) } - cacheInfo, ok := objListWithTask.(TaskCacheInfo) + cacheInfo, ok := objListWithTask.(*TaskCacheInfo) if !ok { logs.CtxError(ctx, "Cache data type mismatch") - return nil, nil, nil + return h.taskRepo.GetObjListWithTask(ctx) } logs.CtxInfo(ctx, "Retrieve task list from cache, taskCount=%d, spaceCount=%d, botCount=%d", len(cacheInfo.Tasks), len(cacheInfo.WorkspaceIDs), len(cacheInfo.BotIDs)) diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger_test.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger_test.go index e9d29792f..1f68e33a9 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/span_trigger_test.go @@ -12,16 +12,14 @@ import ( "go.uber.org/mock/gomock" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/common" + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/task" - componentconfig "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" repo_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/repo/mocks" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe/processor" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" trace_service_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/mocks" span_filter_mocks "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/service/trace/span_filter/mocks" - pkgconf "github.com/coze-dev/coze-loop/backend/pkg/conf" - confmocks "github.com/coze-dev/coze-loop/backend/pkg/conf/mocks" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" "github.com/stretchr/testify/require" ) @@ -30,7 +28,7 @@ func TestTraceHubServiceImpl_SpanTriggerSkipNoWorkspace(t *testing.T) { t.Parallel() impl := &TraceHubServiceImpl{} - impl.taskCache.Store("ObjListWithTask", TaskCacheInfo{}) + impl.taskCache.Store("ObjListWithTask", &TaskCacheInfo{}) raw := &entity.RawSpan{ TraceID: "trace", @@ -57,7 +55,6 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { mockRepo := repo_mocks.NewMockITaskRepo(ctrl) mockBuilder := trace_service_mocks.NewMockTraceFilterProcessorBuilder(ctrl) mockFilter := span_filter_mocks.NewMockFilter(ctrl) - configLoader := confmocks.NewMockIConfigLoader(ctrl) now := time.Now() workspaceID := int64(1) @@ -66,13 +63,10 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { WorkspaceID: workspaceID, TaskType: task.TaskTypeAutoEval, TaskStatus: task.TaskStatusRunning, - SpanFilter: &entity.SpanFilterFields{ - PlatformType: common.PlatformTypeLoopAll, - SpanListType: common.SpanListTypeAllSpan, - Filters: loop_span.FilterFields{ - QueryAndOr: ptr.Of(loop_span.QueryAndOrEnumAnd), - FilterFields: []*loop_span.FilterField{}, - }, + SpanFilter: &filter.SpanFilterFields{ + Filters: &filter.FilterFields{FilterFields: []*filter.FilterField{}}, + PlatformType: ptr.Of(common.PlatformTypeLoopAll), + SpanListType: ptr.Of(common.SpanListTypeAllSpan), }, Sampler: &entity.Sampler{ SampleRate: 1, @@ -96,15 +90,7 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { }, } - configLoader.EXPECT().UnmarshalKey(gomock.Any(), "consumer_listening", gomock.Any()).DoAndReturn( - func(_ context.Context, _ string, value any, _ ...pkgconf.DecodeOptionFn) error { - cfg := value.(*componentconfig.ConsumerListening) - *cfg = componentconfig.ConsumerListening{IsAllSpace: true} - return nil - }, - ).AnyTimes() - mockRepo.EXPECT().ListNonFinalTask(gomock.Any(), "space-1").Return([]int64{taskDO.ID}, nil).AnyTimes() - mockRepo.EXPECT().GetTaskByRedis(gomock.Any(), taskDO.ID).Return(taskDO, nil).AnyTimes() + mockRepo.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return([]*entity.ObservabilityTask{taskDO}, int64(0), nil) mockFilter.EXPECT().BuildBasicSpanFilter(gomock.Any(), gomock.Any()).Return(nil, false, nil).AnyTimes() mockFilter.EXPECT().BuildALLSpanFilter(gomock.Any(), gomock.Any()).Return(nil, nil).AnyTimes() mockBuilder.EXPECT().BuildPlatformRelatedFilter(gomock.Any(), gomock.Any()).Return(mockFilter, nil).AnyTimes() @@ -118,9 +104,8 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { RunStartAt: now.Add(-15 * time.Minute), RunEndAt: now.Add(15 * time.Minute), } - mockRepo.EXPECT().GetLatestNewDataTaskRun(gomock.Any(), gomock.Any(), int64(1)).Return(spanRun, nil).AnyTimes() - mockRepo.EXPECT().GetTaskCount(gomock.Any(), int64(1)).Return(int64(0), nil).AnyTimes() - mockRepo.EXPECT().GetTaskRunCount(gomock.Any(), int64(1), spanRun.ID).Return(int64(0), nil).AnyTimes() + mockRepo.EXPECT().GetLatestNewDataTaskRun(gomock.Any(), gomock.AssignableToTypeOf(ptr.Of(int64(0))), int64(1)).Return(nil, nil) + mockRepo.EXPECT().GetLatestNewDataTaskRun(gomock.Any(), gomock.Nil(), int64(1)).Return(spanRun, nil) proc := &stubProcessor{invokeErr: errors.New("invoke error"), createTaskRunErr: errors.New("create run error")} taskProcessor := processor.NewTaskProcessor() @@ -130,9 +115,8 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { taskRepo: mockRepo, buildHelper: mockBuilder, taskProcessor: taskProcessor, - loader: configLoader, } - impl.taskCache.Store("ObjListWithTask", TaskCacheInfo{WorkspaceIDs: []string{"space-1"}, Tasks: []*entity.ObservabilityTask{taskDO}}) + impl.taskCache.Store("ObjListWithTask", &TaskCacheInfo{WorkspaceIDs: []string{"space-1"}}) raw := &entity.RawSpan{ TraceID: "trace", @@ -152,8 +136,8 @@ func TestTraceHubServiceImpl_SpanTriggerDispatchError(t *testing.T) { } err := impl.SpanTrigger(context.Background(), raw) - require.NoError(t, err) - require.True(t, proc.invokeCalled) + require.Error(t, err) + require.ErrorContains(t, err, "invoke error") } func TestTraceHubServiceImpl_preDispatchHandlesUnstartedAndLimits(t *testing.T) { diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/subscriber.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/subscriber.go index 8e05b1831..30411defd 100644 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/subscriber.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/subscriber.go @@ -115,7 +115,6 @@ func buildBuiltinFilters(ctx context.Context, f span_filter.Filter, req *ListSpa env := &span_filter.SpanEnv{ WorkspaceID: req.WorkspaceID, ThirdPartyWorkspaceID: req.ThirdPartyWorkspaceID, - Source: span_filter.SourceTypeAutoTask, } basicFilter, forceQuery, err := f.BuildBasicSpanFilter(ctx, env) if err != nil { diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/test_helpers_test.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/test_helpers_test.go index 15134e6c9..682dd8775 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/test_helpers_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/test_helpers_test.go @@ -5,12 +5,9 @@ package tracehub import ( "context" - "encoding/json" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/service/taskexe" - "github.com/coze-dev/coze-loop/backend/pkg/conf" ) func floatPtr(v float64) *float64 { return &v } @@ -78,47 +75,3 @@ func (s *stubProcessor) OnCreateTaskRunChange(_ context.Context, req taskexe.OnC func (s *stubProcessor) OnFinishTaskRunChange(context.Context, taskexe.OnFinishTaskRunChangeReq) error { return s.finishTaskRunErr } - -type stubConfigLoader struct { - values map[string]any -} - -func newStubConfigLoader() *stubConfigLoader { - return &stubConfigLoader{values: make(map[string]any)} -} - -func (s *stubConfigLoader) Set(key string, value any) { - s.values[key] = value -} - -func (s *stubConfigLoader) Get(_ context.Context, key string) any { - if s.values == nil { - return nil - } - return s.values[key] -} - -func (s *stubConfigLoader) UnmarshalKey(_ context.Context, key string, value any, _ ...conf.DecodeOptionFn) error { - v, ok := s.values[key] - if !ok { - return nil - } - data, err := json.Marshal(v) - if err != nil { - return err - } - return json.Unmarshal(data, value) -} - -func (s *stubConfigLoader) Unmarshal(context.Context, any, ...conf.DecodeOptionFn) error { - return nil -} - -func newEnabledConsumerLoader() *stubConfigLoader { - loader := newStubConfigLoader() - loader.Set("consumer_listening", &config.ConsumerListening{ - IsEnabled: true, - IsAllSpace: true, - }) - return loader -} diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub.go index 13da88d47..1e751af88 100644 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub.go @@ -10,6 +10,7 @@ import ( "github.com/coze-dev/coze-loop/backend/infra/external/benefit" "github.com/coze-dev/coze-loop/backend/infra/lock" + "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/config" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/mq" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/tenant" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" @@ -58,11 +59,17 @@ func NewTraceHubImpl( aid: aid, backfillProducer: backfillProducer, locker: locker, - loader: loader, } // Start the scheduled tasks immediately - impl.startScheduledTask() + const key = "consumer_listening" + cfg := &config.ConsumerListening{} + if err := loader.UnmarshalKey(context.Background(), key, cfg); err != nil { + return nil, err + } + if cfg.IsEnabled { + impl.startScheduledTask() + } // default+lane?+新集群?——定时任务和任务处理分开——内场 return impl, nil @@ -80,7 +87,6 @@ type TraceHubServiceImpl struct { benefitSvc benefit.IBenefitService backfillProducer mq.IBackfillProducer locker lock.ILocker - loader conf.IConfigLoader flushErrLock sync.Mutex flushErr []error diff --git a/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub_test.go b/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub_test.go index 5740db074..a86f97259 100755 --- a/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub_test.go +++ b/backend/modules/observability/domain/task/service/taskexe/tracehub/trace_hub_test.go @@ -22,13 +22,23 @@ import ( func TestTraceHubServiceImpl_getObjListWithTaskFromCache_Fallback(t *testing.T) { t.Parallel() + ctrl := gomock.NewController(t) + t.Cleanup(ctrl.Finish) + + mockRepo := repo_mocks.NewMockITaskRepo(ctrl) + impl := &TraceHubServiceImpl{taskRepo: mockRepo} + ctx := context.Background() - impl := &TraceHubServiceImpl{} + spaceIDs := []string{"space-1"} + botIDs := []string{"bot-1"} + tasks := []*entity.ObservabilityTask{{}} + + mockRepo.EXPECT().GetObjListWithTask(gomock.Any()).Return(spaceIDs, botIDs, tasks) gotSpaces, gotBots, gotTasks := impl.getObjListWithTaskFromCache(ctx) - require.Nil(t, gotSpaces) - require.Nil(t, gotBots) - require.Nil(t, gotTasks) + require.Equal(t, spaceIDs, gotSpaces) + require.Equal(t, botIDs, gotBots) + require.Equal(t, tasks, gotTasks) } func TestTraceHubServiceImpl_getObjListWithTaskFromCache_FromCache(t *testing.T) { @@ -40,7 +50,7 @@ func TestTraceHubServiceImpl_getObjListWithTaskFromCache_FromCache(t *testing.T) mockRepo := repo_mocks.NewMockITaskRepo(ctrl) impl := &TraceHubServiceImpl{taskRepo: mockRepo} - expected := TaskCacheInfo{ + expected := &TaskCacheInfo{ WorkspaceIDs: []string{"space-2"}, BotIDs: []string{"bot-2"}, Tasks: []*entity.ObservabilityTask{{}}, @@ -56,14 +66,24 @@ func TestTraceHubServiceImpl_getObjListWithTaskFromCache_FromCache(t *testing.T) func TestTraceHubServiceImpl_getObjListWithTaskFromCache_TypeMismatch(t *testing.T) { t.Parallel() - impl := &TraceHubServiceImpl{} + ctrl := gomock.NewController(t) + t.Cleanup(ctrl.Finish) + + mockRepo := repo_mocks.NewMockITaskRepo(ctrl) + impl := &TraceHubServiceImpl{taskRepo: mockRepo} impl.taskCache.Store("ObjListWithTask", "invalid") + spaceIDs := []string{"fallback-space"} + botIDs := []string{"fallback-bot"} + tasks := []*entity.ObservabilityTask{{}} + + mockRepo.EXPECT().GetObjListWithTask(gomock.Any()).Return(spaceIDs, botIDs, tasks) + gotSpaces, gotBots, gotTasks := impl.getObjListWithTaskFromCache(context.Background()) - require.Nil(t, gotSpaces) - require.Nil(t, gotBots) - require.Nil(t, gotTasks) + require.Equal(t, spaceIDs, gotSpaces) + require.Equal(t, botIDs, gotBots) + require.Equal(t, tasks, gotTasks) } func TestTraceHubServiceImpl_applySampling(t *testing.T) { diff --git a/backend/modules/observability/domain/trace/entity/loop_span/filter.go b/backend/modules/observability/domain/trace/entity/loop_span/filter.go index bef15eb80..02e1ef48a 100644 --- a/backend/modules/observability/domain/trace/entity/loop_span/filter.go +++ b/backend/modules/observability/domain/trace/entity/loop_span/filter.go @@ -47,7 +47,6 @@ const ( FieldTypeDouble FieldType = "double" FieldTypeBool FieldType = "bool" - PlatformDefault PlatformType = "default" PlatformCozeLoop PlatformType = "cozeloop" PlatformPrompt PlatformType = "prompt" PlatformEvaluator PlatformType = "evaluator" @@ -110,7 +109,7 @@ type FieldOptions struct { } type FilterObject interface { - GetFieldValue(fieldName string, isSystem, isCustom bool) any + GetFieldValue(fieldName string, isSystem bool) any } type FilterFields struct { @@ -194,8 +193,6 @@ type FilterField struct { QueryAndOr *QueryAndOrEnum `mapstructure:"query_and_or" json:"query_and_or"` SubFilter *FilterFields `mapstructure:"sub_filter" json:"sub_filter"` IsSystem bool `mapstructure:"is_system" json:"is_system"` - IsCustom bool `mapstructure:"is_custom" json:"is_custom"` - Hidden bool `mapstructure:"hidden" json:"hidden"` } func (f *FilterField) Validate() error { @@ -261,7 +258,7 @@ func (f *FilterField) Satisfied(obj FilterObject) bool { // 检测是否满足筛选条件 if f.FieldName != "" { // 不满足field过滤条件 - if !f.CheckValue(obj.GetFieldValue(f.FieldName, f.IsSystem, f.IsCustom)) { + if !f.CheckValue(obj.GetFieldValue(f.FieldName, f.IsSystem)) { if op == QueryAndOrEnumAnd { return false } diff --git a/backend/modules/observability/domain/trace/entity/loop_span/span.go b/backend/modules/observability/domain/trace/entity/loop_span/span.go index a00f69d0e..4b7fbc865 100644 --- a/backend/modules/observability/domain/trace/entity/loop_span/span.go +++ b/backend/modules/observability/domain/trace/entity/loop_span/span.go @@ -225,7 +225,7 @@ func (s *Span) getStatus() string { } // filter使用, 当前只支持特定参数,后续有需要可拓展到其他参数 -func (s *Span) GetFieldValue(fieldName string, isSystem, isCustom bool) any { +func (s *Span) GetFieldValue(fieldName string, isSystem bool) any { switch fieldName { case SpanFieldStartTime: return s.StartTime @@ -262,20 +262,6 @@ func (s *Span) GetFieldValue(fieldName string, isSystem, isCustom bool) any { case SpanFieldStatus: return s.getStatus() } - if isCustom { - if val, ok := s.TagsString[fieldName]; ok { - return val - } else if val, ok := s.TagsLong[fieldName]; ok { - return val - } else if val, ok := s.TagsDouble[fieldName]; ok { - return val - } else if val, ok := s.TagsBool[fieldName]; ok { - return val - } else if val, ok := s.TagsByte[fieldName]; ok { - return val - } - return nil - } if isSystem { if val, ok := s.SystemTagsString[fieldName]; ok { return val @@ -435,7 +421,7 @@ func (s *Span) ExtractByJsonpath(ctx context.Context, key string, jsonpath strin data = s.Output } else if strings.HasPrefix(key, "Tags.") { key = strings.TrimPrefix(key, "Tags.") - tag := s.GetFieldValue(key, false, false) + tag := s.GetFieldValue(key, false) data = conv.ToString(tag) } else { return "", errors.Errorf("unsupported mapping key: %s", key) diff --git a/backend/modules/observability/domain/trace/entity/loop_span/span_test.go b/backend/modules/observability/domain/trace/entity/loop_span/span_test.go index 3658eb082..dc69365e9 100644 --- a/backend/modules/observability/domain/trace/entity/loop_span/span_test.go +++ b/backend/modules/observability/domain/trace/entity/loop_span/span_test.go @@ -13,7 +13,6 @@ import ( ) func TestSpan(t *testing.T) { - t.Parallel() span := &Span{ StartTime: 1234, TraceID: "123", @@ -72,31 +71,30 @@ func TestSpan(t *testing.T) { "x": "11", }, } - assert.Equal(t, span.GetFieldValue(SpanFieldTraceId, false, false), "123") - assert.Equal(t, span.GetFieldValue(SpanFieldSpanId, false, false), "456") - assert.Equal(t, span.GetFieldValue(SpanFieldPSM, false, false), "1") - assert.Equal(t, span.GetFieldValue(SpanFieldLogID, false, false), "2") - assert.Equal(t, span.GetFieldValue(SpanFieldCallType, false, false), "custom") - assert.Equal(t, span.GetFieldValue(SpanFieldDuration, false, false), int64(123)) - assert.Equal(t, span.GetFieldValue(SpanFieldStartTime, false, false), int64(1234)) - assert.Equal(t, span.GetFieldValue(SpanFieldParentID, false, false), "123456") - assert.Equal(t, span.GetFieldValue(SpanFieldSpaceId, false, false), "987") - assert.Equal(t, span.GetFieldValue(SpanFieldSpanType, false, false), "span_type") - assert.Equal(t, span.GetFieldValue(SpanFieldSpanName, false, false), "span_name") - assert.Equal(t, span.GetFieldValue(SpanFieldInput, false, false), "input") - assert.Equal(t, span.GetFieldValue(SpanFieldOutput, false, false), "output") - assert.Equal(t, span.GetFieldValue(SpanFieldMethod, false, false), "method") - assert.Equal(t, span.GetFieldValue(SpanFieldObjectStorage, false, false), "os") - assert.Equal(t, span.GetFieldValue("tag1", false, false), "1") - assert.Equal(t, span.GetFieldValue("tag2", false, false), int64(2)) - assert.Equal(t, span.GetFieldValue("tag3", false, false), 3.0) - assert.Equal(t, span.GetFieldValue("tag4", false, false), true) - assert.Equal(t, span.GetFieldValue("tag5", false, false), "12") - assert.Equal(t, span.GetFieldValue("tag6", true, false), nil) - assert.Equal(t, span.GetFieldValue("stag1", true, false), 0.0) - assert.Equal(t, span.GetFieldValue("stag2", true, false), "1") - assert.Equal(t, span.GetFieldValue("stag3", true, false), int64(2)) - assert.Equal(t, span.GetFieldValue("tag1", false, true), "1") + assert.Equal(t, span.GetFieldValue(SpanFieldTraceId, false), "123") + assert.Equal(t, span.GetFieldValue(SpanFieldSpanId, false), "456") + assert.Equal(t, span.GetFieldValue(SpanFieldPSM, false), "1") + assert.Equal(t, span.GetFieldValue(SpanFieldLogID, false), "2") + assert.Equal(t, span.GetFieldValue(SpanFieldCallType, false), "custom") + assert.Equal(t, span.GetFieldValue(SpanFieldDuration, false), int64(123)) + assert.Equal(t, span.GetFieldValue(SpanFieldStartTime, false), int64(1234)) + assert.Equal(t, span.GetFieldValue(SpanFieldParentID, false), "123456") + assert.Equal(t, span.GetFieldValue(SpanFieldSpaceId, false), "987") + assert.Equal(t, span.GetFieldValue(SpanFieldSpanType, false), "span_type") + assert.Equal(t, span.GetFieldValue(SpanFieldSpanName, false), "span_name") + assert.Equal(t, span.GetFieldValue(SpanFieldInput, false), "input") + assert.Equal(t, span.GetFieldValue(SpanFieldOutput, false), "output") + assert.Equal(t, span.GetFieldValue(SpanFieldMethod, false), "method") + assert.Equal(t, span.GetFieldValue(SpanFieldObjectStorage, false), "os") + assert.Equal(t, span.GetFieldValue("tag1", false), "1") + assert.Equal(t, span.GetFieldValue("tag2", false), int64(2)) + assert.Equal(t, span.GetFieldValue("tag3", false), 3.0) + assert.Equal(t, span.GetFieldValue("tag4", false), true) + assert.Equal(t, span.GetFieldValue("tag5", false), "12") + assert.Equal(t, span.GetFieldValue("tag6", true), nil) + assert.Equal(t, span.GetFieldValue("stag1", true), 0.0) + assert.Equal(t, span.GetFieldValue("stag2", true), "1") + assert.Equal(t, span.GetFieldValue("stag3", true), int64(2)) assert.Equal(t, span.IsValidSpan() != nil, true) assert.Equal(t, validSpan.IsValidSpan() == nil, true) assert.Equal(t, span.GetSystemTags(), map[string]string{"stag1": "0", "stag2": "1", "stag3": "2"}) @@ -129,7 +127,6 @@ func TestSpan(t *testing.T) { } func TestSpan_AddAnnotation(t *testing.T) { - t.Parallel() // 测试向空列表添加注解 span := &Span{ SpanID: "test-span-id", @@ -170,7 +167,6 @@ func TestSpan_AddAnnotation(t *testing.T) { } func TestSpan_AddManualDatasetAnnotation(t *testing.T) { - t.Parallel() span := &Span{ SpanID: "test-span-id", TraceID: "test-trace-id", @@ -214,7 +210,6 @@ func TestSpan_AddManualDatasetAnnotation(t *testing.T) { } func TestSpan_ExtractByJsonpath(t *testing.T) { - t.Parallel() ctx := context.Background() span := &Span{ @@ -313,7 +308,6 @@ func TestSpan_ExtractByJsonpath(t *testing.T) { // TestGetFieldValue_SystemTags tests the GetFieldValue method with system tags func TestGetFieldValue_SystemTags(t *testing.T) { - t.Parallel() span := &Span{ SystemTagsString: map[string]string{ "system_tag1": "system_value1", @@ -345,7 +339,6 @@ func TestGetFieldValue_SystemTags(t *testing.T) { name string fieldName string isSystem bool - isCustom bool want interface{} }{ // System tags tests @@ -378,42 +371,36 @@ func TestGetFieldValue_SystemTags(t *testing.T) { name: "get user string tag", fieldName: "user_tag1", isSystem: false, - isCustom: true, want: "user_value1", }, { name: "get user long tag", fieldName: "user_tag2", isSystem: false, - isCustom: true, want: int64(456), }, { name: "get user double tag", fieldName: "user_tag3", isSystem: false, - isCustom: true, want: 2.71, }, { name: "get user bool tag", fieldName: "user_tag4", isSystem: false, - isCustom: true, want: true, }, { name: "get user byte tag", fieldName: "user_tag5", isSystem: false, - isCustom: true, want: "byte_value", }, { name: "get non-existent user tag", fieldName: "non_existent", isSystem: false, - isCustom: true, want: nil, }, // System field should not return user tags @@ -421,7 +408,6 @@ func TestGetFieldValue_SystemTags(t *testing.T) { name: "system field should not return user tag", fieldName: "user_tag1", isSystem: true, - isCustom: false, want: nil, }, // User field should not return system tags @@ -429,14 +415,13 @@ func TestGetFieldValue_SystemTags(t *testing.T) { name: "user field should not return system tag", fieldName: "system_tag1", isSystem: false, - isCustom: false, want: nil, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := span.GetFieldValue(tt.fieldName, tt.isSystem, tt.isCustom) + got := span.GetFieldValue(tt.fieldName, tt.isSystem) assert.Equal(t, tt.want, got) }) } @@ -444,7 +429,6 @@ func TestGetFieldValue_SystemTags(t *testing.T) { // TestSizeofSpans tests the SizeofSpans function func TestSizeofSpans(t *testing.T) { - t.Parallel() tests := []struct { name string spans SpanList @@ -586,7 +570,6 @@ func TestSizeofSpans(t *testing.T) { // TestSizeOfString tests the SizeOfString function func TestSizeOfString(t *testing.T) { - t.Parallel() tests := []struct { name string s string @@ -634,7 +617,6 @@ func TestSizeOfString(t *testing.T) { // TestSpan_GetFieldValue_AllFields tests GetFieldValue for all supported fields func TestSpan_GetFieldValue_AllFields(t *testing.T) { - t.Parallel() span := &Span{ StartTime: 1234567890, SpanID: "test-span-id", @@ -652,16 +634,12 @@ func TestSpan_GetFieldValue_AllFields(t *testing.T) { Input: "test-input", Output: "test-output", ObjectStorage: "test-object-storage", - TagsString: map[string]string{ - "custom_tag": "custom-value", - }, } tests := []struct { name string fieldName string isSystem bool - isCustom bool want interface{} }{ {name: "StartTime", fieldName: SpanFieldStartTime, isSystem: false, want: int64(1234567890)}, @@ -677,17 +655,15 @@ func TestSpan_GetFieldValue_AllFields(t *testing.T) { {name: "SpanType", fieldName: SpanFieldSpanType, isSystem: false, want: "test-span-type"}, {name: "Method", fieldName: SpanFieldMethod, isSystem: false, want: "test-method"}, {name: "StatusCode", fieldName: SpanFieldStatusCode, isSystem: false, want: int32(200)}, - {name: "Status", fieldName: SpanFieldStatus, isSystem: false, want: SpanStatusError}, {name: "Input", fieldName: SpanFieldInput, isSystem: false, want: "test-input"}, {name: "Output", fieldName: SpanFieldOutput, isSystem: false, want: "test-output"}, {name: "ObjectStorage", fieldName: SpanFieldObjectStorage, isSystem: false, want: "test-object-storage"}, - {name: "Custom tag with isCustom", fieldName: "custom_tag", isSystem: false, isCustom: true, want: "custom-value"}, {name: "Unknown field", fieldName: "unknown_field", isSystem: false, want: nil}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := span.GetFieldValue(tt.fieldName, tt.isSystem, tt.isCustom) + got := span.GetFieldValue(tt.fieldName, tt.isSystem) assert.Equal(t, tt.want, got) }) } @@ -695,7 +671,6 @@ func TestSpan_GetFieldValue_AllFields(t *testing.T) { // TestSpanList_FilterModelSpans tests the FilterModelSpans method func TestSpanList_FilterModelSpans(t *testing.T) { - t.Parallel() tests := []struct { name string spans SpanList diff --git a/backend/modules/observability/domain/trace/entity/otel/otel_pb2json.go b/backend/modules/observability/domain/trace/entity/otel/otel_pb2json.go index 94827cc23..9182461d9 100644 --- a/backend/modules/observability/domain/trace/entity/otel/otel_pb2json.go +++ b/backend/modules/observability/domain/trace/entity/otel/otel_pb2json.go @@ -151,7 +151,7 @@ func OtelTraceRequestPbToJson(src *v3.ExportTraceServiceRequest) *ExportTraceSer ResourceSpans: make([]*ResourceSpans, 0, len(src.ResourceSpans)), } for _, rs := range src.ResourceSpans { - if rs == nil || rs.Resource == nil { + if rs == nil { continue } diff --git a/backend/modules/observability/domain/trace/repo/trace.go b/backend/modules/observability/domain/trace/repo/trace.go index 0e4c8a980..c879d17fd 100644 --- a/backend/modules/observability/domain/trace/repo/trace.go +++ b/backend/modules/observability/domain/trace/repo/trace.go @@ -19,8 +19,6 @@ type GetTraceParam struct { NotQueryAnnotation bool SpanIDs []string OmitColumns []string // omit specific columns - SelectColumns []string // select specific columns, default select all columns - Filters *loop_span.FilterFields } type ListSpansParam struct { diff --git a/backend/modules/observability/domain/trace/service/trace/span_filter/filter.go b/backend/modules/observability/domain/trace/service/trace/span_filter/filter.go index a39741f54..5e259a998 100644 --- a/backend/modules/observability/domain/trace/service/trace/span_filter/filter.go +++ b/backend/modules/observability/domain/trace/service/trace/span_filter/filter.go @@ -11,16 +11,9 @@ import ( "github.com/coze-dev/coze-loop/backend/pkg/errorx" ) -type SourceType string - -const ( - SourceTypeAutoTask SourceType = "auto_task" -) - type SpanEnv struct { WorkspaceID int64 ThirdPartyWorkspaceID string - Source SourceType } type Factory interface { diff --git a/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor.go b/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor.go deleted file mode 100644 index 07b476b63..000000000 --- a/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor.go +++ /dev/null @@ -1,134 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package span_processor - -import ( - "context" - "unicode/utf8" - - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" - "github.com/coze-dev/coze-loop/backend/pkg/json" -) - -type ClipProcessor struct{} - -const ( - clipProcessorPlainTextMaxLength = 10 * 1024 - clipProcessorJSONValueMaxLength = 1 * 1024 - clipProcessorSuffix = "..." -) - -func (c *ClipProcessor) Transform(ctx context.Context, spans loop_span.SpanList) (loop_span.SpanList, error) { - for _, span := range spans { - if span == nil { - continue - } - span.Input = clipSpanField(span.Input) - span.Output = clipSpanField(span.Output) - } - return spans, nil -} - -type ClipProcessorFactory struct{} - -func (c *ClipProcessorFactory) CreateProcessor(ctx context.Context, set Settings) (Processor, error) { - return &ClipProcessor{}, nil -} - -func NewClipProcessorFactory() Factory { - return new(ClipProcessorFactory) -} - -func clipSpanField(content string) string { - if content == "" || len(content) <= clipProcessorPlainTextMaxLength { - return content - } - if clipped, ok := clipJSONContent(content); ok { - return clipped - } - return clipPlainText(content) -} - -func clipPlainText(content string) string { - if len(content) <= clipProcessorPlainTextMaxLength { - return content - } - return clipByByteLimit(content, clipProcessorPlainTextMaxLength) + clipProcessorSuffix -} - -func clipJSONValueString(content string) string { - if len(content) <= clipProcessorJSONValueMaxLength { - return content - } - return clipByByteLimit(content, clipProcessorJSONValueMaxLength) + clipProcessorSuffix -} - -func clipByByteLimit(content string, limit int) string { - if limit <= 0 { - return "" - } - if limit >= len(content) { - return content - } - cutoff := limit - for shift := 0; cutoff > 0 && shift < utf8.UTFMax && !utf8.RuneStart(content[cutoff]); shift++ { - cutoff-- - } - if cutoff == 0 { - return "" - } - return content[:cutoff] -} - -func clipJSONContent(content string) (string, bool) { - if !json.Valid([]byte(content)) { - return "", false - } - var data interface{} - if err := json.Unmarshal([]byte(content), &data); err != nil { - return "", false - } - clippedData, changed := clipJSONValue(data) - if !changed { - return "", false - } - clippedStr, err := json.MarshalString(clippedData) - if err != nil { - return "", false - } - return clippedStr, true -} - -func clipJSONValue(value interface{}) (interface{}, bool) { - switch val := value.(type) { - case map[string]interface{}: - changed := false - for key, v := range val { - newVal, subChanged := clipJSONValue(v) - if subChanged { - val[key] = newVal - changed = true - } - } - return val, changed - case []interface{}: - changed := false - for idx, v := range val { - newVal, subChanged := clipJSONValue(v) - if subChanged { - val[idx] = newVal - changed = true - } - } - return val, changed - case string: - clipped := clipJSONValueString(val) - if clipped != val { - return clipped, true - } - return val, false - default: - return val, false - } -} diff --git a/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor_test.go b/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor_test.go deleted file mode 100755 index 6b18a96f7..000000000 --- a/backend/modules/observability/domain/trace/service/trace/span_processor/clip_processor_test.go +++ /dev/null @@ -1,255 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package span_processor - -import ( - "context" - "strings" - "testing" - "unicode/utf8" - - "github.com/stretchr/testify/require" - - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/trace/entity/loop_span" - "github.com/coze-dev/coze-loop/backend/pkg/json" -) - -func TestClipProcessor_TransformPlainText(t *testing.T) { - processor := &ClipProcessor{} - content := strings.Repeat("a", clipProcessorPlainTextMaxLength+5) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - require.Equal(t, clipProcessorPlainTextMaxLength+len(clipProcessorSuffix), len(res[0].Input)) - require.True(t, strings.HasSuffix(res[0].Input, clipProcessorSuffix)) -} - -func TestClipProcessor_TransformJSONObject(t *testing.T) { - processor := &ClipProcessor{} - largeValue := strings.Repeat("b", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+10) - data := map[string]interface{}{ - "large": largeValue, - "normal": "ok", - } - content, err := json.MarshalString(data) - require.NoError(t, err) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - - var result map[string]interface{} - require.NoError(t, json.Unmarshal([]byte(res[0].Input), &result)) - clippedLarge, ok := result["large"].(string) - require.True(t, ok) - require.Equal(t, clipProcessorJSONValueMaxLength+len(clipProcessorSuffix), len(clippedLarge)) - require.True(t, strings.HasSuffix(clippedLarge, clipProcessorSuffix)) - require.True(t, strings.HasPrefix(clippedLarge, "b")) - require.Equal(t, "ok", result["normal"]) -} - -func TestClipProcessor_TransformJSONNestedObject(t *testing.T) { - processor := &ClipProcessor{} - largeValue := strings.Repeat("c", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+20) - data := map[string]interface{}{ - "nested": map[string]interface{}{ - "inner": largeValue, - }, - } - content, err := json.MarshalString(data) - require.NoError(t, err) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - - var result map[string]interface{} - require.NoError(t, json.Unmarshal([]byte(res[0].Input), &result)) - nested, ok := result["nested"].(map[string]interface{}) - require.True(t, ok) - inner, ok := nested["inner"].(string) - require.True(t, ok) - require.Equal(t, clipProcessorJSONValueMaxLength+len(clipProcessorSuffix), len(inner)) - require.True(t, strings.HasSuffix(inner, clipProcessorSuffix)) - require.True(t, strings.HasPrefix(inner, "c")) -} - -func TestClipProcessor_TransformJSONArray(t *testing.T) { - processor := &ClipProcessor{} - largeValue := strings.Repeat("d", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+30) - data := []interface{}{largeValue, "ok"} - content, err := json.MarshalString(data) - require.NoError(t, err) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - - var result []interface{} - require.NoError(t, json.Unmarshal([]byte(res[0].Input), &result)) - first, ok := result[0].(string) - require.True(t, ok) - require.Equal(t, clipProcessorJSONValueMaxLength+len(clipProcessorSuffix), len(first)) - require.True(t, strings.HasSuffix(first, clipProcessorSuffix)) - require.True(t, strings.HasPrefix(first, "d")) - require.Equal(t, "ok", result[1]) -} - -func TestClipProcessor_TransformJSONString(t *testing.T) { - processor := &ClipProcessor{} - largeValue := strings.Repeat("e", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+40) - content, err := json.MarshalString(largeValue) - require.NoError(t, err) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - - var result string - require.NoError(t, json.Unmarshal([]byte(res[0].Input), &result)) - require.Equal(t, clipProcessorJSONValueMaxLength+len(clipProcessorSuffix), len(result)) - require.True(t, strings.HasSuffix(result, clipProcessorSuffix)) - require.True(t, strings.HasPrefix(result, "e")) -} - -func TestClipProcessor_TransformJSONDeepNested(t *testing.T) { - processor := &ClipProcessor{} - largeValue := strings.Repeat("g", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+60) - data := map[string]interface{}{ - "levels": []interface{}{ - map[string]interface{}{ - "inner": []interface{}{largeValue, "ok"}, - }, - }, - } - content, err := json.MarshalString(data) - require.NoError(t, err) - spans := loop_span.SpanList{{Input: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - - var result map[string]interface{} - require.NoError(t, json.Unmarshal([]byte(res[0].Input), &result)) - levels, ok := result["levels"].([]interface{}) - require.True(t, ok) - require.Len(t, levels, 1) - innerMap, ok := levels[0].(map[string]interface{}) - require.True(t, ok) - innerArr, ok := innerMap["inner"].([]interface{}) - require.True(t, ok) - require.Len(t, innerArr, 2) - clippedInner, ok := innerArr[0].(string) - require.True(t, ok) - require.Equal(t, clipProcessorJSONValueMaxLength+len(clipProcessorSuffix), len(clippedInner)) - require.True(t, strings.HasSuffix(clippedInner, clipProcessorSuffix)) - require.Equal(t, "ok", innerArr[1]) -} - -func TestClipProcessor_TransformOutputPlainText(t *testing.T) { - processor := &ClipProcessor{} - content := strings.Repeat("f", clipProcessorPlainTextMaxLength+50) - spans := loop_span.SpanList{{Output: content}} - - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 1) - require.Equal(t, clipProcessorPlainTextMaxLength+len(clipProcessorSuffix), len(res[0].Output)) - require.True(t, strings.HasSuffix(res[0].Output, clipProcessorSuffix)) -} - -func TestClipByByteLimit_EdgeCases(t *testing.T) { - content := "abc你好" - require.Equal(t, "", clipByByteLimit(content, 0)) - require.Equal(t, "", clipByByteLimit(content, -1)) - require.Equal(t, content, clipByByteLimit(content, len(content))) - require.Equal(t, "abc你", clipByByteLimit(content, len("abc你"))) - require.Equal(t, "abc你", clipByByteLimit(content, len("abc你")+1)) - require.Equal(t, "", clipByByteLimit("你好", 1)) -} - -func TestClipPlainText_UTF8Validity(t *testing.T) { - content := strings.Repeat("只能制定计划让执行代理分析代码仓库结构并根据实际情况进行分析。", 400) - clipped := clipPlainText(content) - require.True(t, strings.HasSuffix(clipped, clipProcessorSuffix)) - require.False(t, strings.Contains(clipped, "\ufffd")) - require.True(t, strings.HasPrefix(clipped, "只能制定计划")) - require.True(t, utf8.ValidString(clipped)) -} - -func TestClipSpanField_JSONFallback(t *testing.T) { - data := map[string]interface{}{ - "message": strings.Repeat("好", clipProcessorPlainTextMaxLength+clipProcessorJSONValueMaxLength+20), - } - raw, err := json.MarshalString(data) - require.NoError(t, err) - result := clipSpanField(raw) - require.True(t, json.Valid([]byte(result))) - require.NotContains(t, result, "\ufffd") - - var parsed map[string]string - require.NoError(t, json.Unmarshal([]byte(result), &parsed)) - require.True(t, strings.HasSuffix(parsed["message"], clipProcessorSuffix)) - require.True(t, strings.HasPrefix(parsed["message"], "好")) -} - -func TestClipSpanField_NonJSON(t *testing.T) { - content := strings.Repeat("目标风", 4000) - result := clipSpanField(content) - require.True(t, strings.HasSuffix(result, clipProcessorSuffix)) - require.NotContains(t, result, "\ufffd") -} - -func TestClipSpanField_ShortContent(t *testing.T) { - content := "short" - require.Equal(t, content, clipSpanField(content)) -} - -func TestClipJSONContent_Invalid(t *testing.T) { - clipped, ok := clipJSONContent("not-json") - require.False(t, ok) - require.Equal(t, "", clipped) -} - -func TestClipJSONContent_NoChange(t *testing.T) { - data := []string{"foo", "bar"} - raw, err := json.MarshalString(data) - require.NoError(t, err) - clipped, ok := clipJSONContent(raw) - require.False(t, ok) - require.Equal(t, "", clipped) -} - -func TestClipProcessor_TransformSkipNil(t *testing.T) { - processor := &ClipProcessor{} - spans := loop_span.SpanList{ - nil, - {Input: "short"}, - } - res, err := processor.Transform(context.Background(), spans) - require.NoError(t, err) - require.Len(t, res, 2) - require.Nil(t, res[0]) - require.Equal(t, "short", res[1].Input) -} - -func TestClipProcessorFactory(t *testing.T) { - factory := NewClipProcessorFactory() - processor, err := factory.CreateProcessor(context.Background(), Settings{}) - require.NoError(t, err) - require.IsType(t, &ClipProcessor{}, processor) -} - -func TestClipJSONValue_DefaultBranch(t *testing.T) { - res, changed := clipJSONValue(float64(123.456)) - require.Equal(t, float64(123.456), res) - require.False(t, changed) -} diff --git a/backend/modules/observability/domain/trace/service/trace/span_processor/processor.go b/backend/modules/observability/domain/trace/service/trace/span_processor/processor.go index f7f2bb5cd..465542a9c 100644 --- a/backend/modules/observability/domain/trace/service/trace/span_processor/processor.go +++ b/backend/modules/observability/domain/trace/service/trace/span_processor/processor.go @@ -16,10 +16,7 @@ type Settings struct { PlatformType loop_span.PlatformType QueryStartTime int64 // ms QueryEndTime int64 // ms - QueryTenants []string - SpanDoubleCheck bool - QueryTraceID string - QueryLogID string + Tenant string } type Factory interface { diff --git a/backend/modules/observability/domain/trace/service/trace_service.go b/backend/modules/observability/domain/trace/service/trace_service.go index 7f2bfb137..f2667906c 100644 --- a/backend/modules/observability/domain/trace/service/trace_service.go +++ b/backend/modules/observability/domain/trace/service/trace_service.go @@ -68,8 +68,6 @@ type GetTraceReq struct { EndTime int64 // ms PlatformType loop_span.PlatformType SpanIDs []string - WithDetail bool - Filters *loop_span.FilterFields } type GetTraceResp struct { @@ -86,10 +84,7 @@ type SearchTraceOApiReq struct { StartTime int64 // ms EndTime int64 // ms Limit int32 - SpanIDs []string PlatformType loop_span.PlatformType - WithDetail bool - Filters *loop_span.FilterFields } type SearchTraceOApiResp struct { @@ -151,8 +146,7 @@ type GetTracesMetaInfoReq struct { } type GetTracesMetaInfoResp struct { - FilesMetas map[string]*config.FieldMeta - KeySpanTypeList []string + FilesMetas map[string]*config.FieldMeta } type CreateAnnotationReq struct { @@ -305,49 +299,29 @@ type TraceServiceImpl struct { } func (r *TraceServiceImpl) GetTrace(ctx context.Context, req *GetTraceReq) (*GetTraceResp, error) { - if req != nil && req.Filters != nil { - if err := req.Filters.Traverse(processSpecificFilter); err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("invalid filter")) - } - } - tenants, err := r.getTenants(ctx, req.PlatformType) if err != nil { return nil, err } - omitColumns := make([]string, 0) - if !req.WithDetail { - omitColumns = []string{"input", "output"} - } st := time.Now() - limit := int32(1000) - if !req.WithDetail { - limit = 10000 - } spans, err := r.traceRepo.GetTrace(ctx, &repo.GetTraceParam{ - Tenants: tenants, - LogID: req.LogID, - TraceID: req.TraceID, - StartAt: req.StartTime, - EndAt: req.EndTime, - Limit: limit, - SpanIDs: req.SpanIDs, - Filters: req.Filters, - OmitColumns: omitColumns, + Tenants: tenants, + LogID: req.LogID, + TraceID: req.TraceID, + StartAt: req.StartTime, + EndAt: req.EndTime, + Limit: 1000, + SpanIDs: req.SpanIDs, }) r.metrics.EmitGetTrace(req.WorkspaceID, st, err != nil) if err != nil { return nil, err } processors, err := r.buildHelper.BuildGetTraceProcessors(ctx, span_processor.Settings{ - WorkspaceId: req.WorkspaceID, - PlatformType: req.PlatformType, - QueryStartTime: req.StartTime, - QueryEndTime: req.EndTime, - SpanDoubleCheck: len(req.SpanIDs) > 0 || (req.Filters != nil && len(req.Filters.FilterFields) > 0), - QueryTenants: tenants, - QueryLogID: req.LogID, - QueryTraceID: req.TraceID, + WorkspaceId: req.WorkspaceID, + PlatformType: req.PlatformType, + QueryStartTime: req.StartTime, + QueryEndTime: req.EndTime, }) if err != nil { return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) @@ -404,7 +378,6 @@ func (r *TraceServiceImpl) ListSpans(ctx context.Context, req *ListSpansReq) (*L PlatformType: req.PlatformType, QueryStartTime: req.StartTime, QueryEndTime: req.EndTime, - QueryTenants: tenants, }) if err != nil { return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) @@ -423,28 +396,14 @@ func (r *TraceServiceImpl) ListSpans(ctx context.Context, req *ListSpansReq) (*L } func (r *TraceServiceImpl) SearchTraceOApi(ctx context.Context, req *SearchTraceOApiReq) (*SearchTraceOApiResp, error) { - if req != nil && req.Filters != nil { - if err := req.Filters.Traverse(processSpecificFilter); err != nil { - return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("invalid filter")) - } - } - - omitColumns := make([]string, 0) - if !req.WithDetail { - omitColumns = []string{"input", "output"} - } - spans, err := r.traceRepo.GetTrace(ctx, &repo.GetTraceParam{ Tenants: req.Tenants, TraceID: req.TraceID, LogID: req.LogID, - SpanIDs: req.SpanIDs, StartAt: req.StartTime, EndAt: req.EndTime, Limit: req.Limit, NotQueryAnnotation: false, - Filters: req.Filters, - OmitColumns: omitColumns, }) if err != nil { return nil, err @@ -455,10 +414,6 @@ func (r *TraceServiceImpl) SearchTraceOApi(ctx context.Context, req *SearchTrace QueryStartTime: req.StartTime, QueryEndTime: req.EndTime, PlatformType: req.PlatformType, - SpanDoubleCheck: req.Filters != nil && len(req.Filters.FilterFields) > 0, - QueryTenants: req.Tenants, - QueryTraceID: req.TraceID, - QueryLogID: req.LogID, }) if err != nil { return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) @@ -512,7 +467,6 @@ func (r *TraceServiceImpl) ListSpansOApi(ctx context.Context, req *ListSpansOApi WorkspaceId: req.WorkspaceID, QueryStartTime: req.StartTime, QueryEndTime: req.EndTime, - QueryTenants: req.Tenants, }) if err != nil { return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) @@ -531,7 +485,9 @@ func (r *TraceServiceImpl) ListSpansOApi(ctx context.Context, req *ListSpansOApi } func (r *TraceServiceImpl) IngestTraces(ctx context.Context, req *IngestTracesReq) error { - processors, err := r.buildHelper.BuildIngestTraceProcessors(ctx, span_processor.Settings{}) + processors, err := r.buildHelper.BuildIngestTraceProcessors(ctx, span_processor.Settings{ + Tenant: req.Tenant, + }) if err != nil { return errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) } @@ -638,41 +594,20 @@ func (r *TraceServiceImpl) GetTracesMetaInfo(ctx context.Context, req *GetTraces if err != nil { return nil, errorx.WrapByCode(err, obErrorx.CommercialCommonInternalErrorCodeCode) } - baseFields, ok := cfg.FieldMetas[loop_span.PlatformDefault][req.SpanListType] - if !ok { - return nil, errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("base meta info not found")) - } - fields, ok := cfg.FieldMetas[req.PlatformType][req.SpanListType] if !ok { - logs.CtxWarn(ctx, "FieldMetas not found: %v-%v", req.PlatformType, req.SpanListType) + return nil, errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("meta info not found")) } fieldMetas := make(map[string]*config.FieldMeta) - for _, field := range baseFields { - fieldMta, ok := cfg.AvailableFields[field] - if !ok || fieldMta == nil { - logs.CtxError(ctx, "GetTracesMetaInfo invalid field: %v", field) - return nil, errorx.NewByCode(obErrorx.CommercialCommonInternalErrorCodeCode) - } - fieldMetas[field] = fieldMta - } for _, field := range fields { fieldMta, ok := cfg.AvailableFields[field] if !ok || fieldMta == nil { - logs.CtxError(ctx, "GetTracesMetaInfo invalid field: %v", field) return nil, errorx.NewByCode(obErrorx.CommercialCommonInternalErrorCodeCode) } fieldMetas[field] = fieldMta } - - spanTypeCfg := r.traceConfig.GetKeySpanTypes(ctx) - keySpanTypes, ok := spanTypeCfg[string(req.PlatformType)] - if !ok { - keySpanTypes = spanTypeCfg[string(loop_span.PlatformDefault)] - } return &GetTracesMetaInfoResp{ - FilesMetas: fieldMetas, - KeySpanTypeList: keySpanTypes, + FilesMetas: fieldMetas, }, nil } diff --git a/backend/modules/observability/domain/trace/service/trace_service_test.go b/backend/modules/observability/domain/trace/service/trace_service_test.go index e66bca359..bc291af77 100644 --- a/backend/modules/observability/domain/trace/service/trace_service_test.go +++ b/backend/modules/observability/domain/trace/service/trace_service_test.go @@ -43,36 +43,6 @@ import ( const defaultUserID = "user-1" -type taskRepoMock struct { - *taskRepomocks.MockITaskRepo -} - -func newTaskRepoMock(ctrl *gomock.Controller) *taskRepoMock { - return &taskRepoMock{MockITaskRepo: taskRepomocks.NewMockITaskRepo(ctrl)} -} - -func (m *taskRepoMock) ListNonFinalTask(context.Context, string) ([]int64, error) { - panic("unexpected call to ListNonFinalTask in taskRepoMock") -} - -func (m *taskRepoMock) AddNonFinalTask(context.Context, string, int64) error { - panic("unexpected call to AddNonFinalTask in taskRepoMock") -} - -func (m *taskRepoMock) RemoveNonFinalTask(context.Context, string, int64) error { - panic("unexpected call to RemoveNonFinalTask in taskRepoMock") -} - -func (m *taskRepoMock) GetTaskByRedis(context.Context, int64) (*taskentity.ObservabilityTask, error) { - panic("unexpected call to GetTaskByRedis in taskRepoMock") -} - -func (m *taskRepoMock) SetTask(context.Context, *taskentity.ObservabilityTask) error { - panic("unexpected call to SetTask in taskRepoMock") -} - -var _ taskRepo.ITaskRepo = (*taskRepoMock)(nil) - func TestTraceServiceImpl_GetTracesAdvanceInfo(t *testing.T) { type fields struct { traceRepo repo.ITraceRepo @@ -381,11 +351,8 @@ func TestTraceServiceImpl_GetTracesMetaInfo(t *testing.T) { confMock := confmocks.NewMockITraceConfig(ctrl) confMock.EXPECT().GetTraceFieldMetaInfo(gomock.Any()).Return(&config.TraceFieldMetaInfoCfg{ FieldMetas: map[loop_span.PlatformType]map[loop_span.SpanListType][]string{ - loop_span.PlatformDefault: { - loop_span.SpanListTypeAllSpan: {"field1", "field2"}, - }, loop_span.PlatformCozeLoop: { - loop_span.SpanListTypeAllSpan: {}, + loop_span.SpanListTypeAllSpan: {"field1", "field2"}, }, }, AvailableFields: map[string]*config.FieldMeta{ @@ -393,10 +360,6 @@ func TestTraceServiceImpl_GetTracesMetaInfo(t *testing.T) { "field2": {FieldType: "int"}, }, }, nil) - confMock.EXPECT().GetKeySpanTypes(gomock.Any()).Return(map[string][]string{ - string(loop_span.PlatformDefault): {}, - string(loop_span.PlatformCozeLoop): {}, - }) tenantProviderMock := tenantmocks.NewMockITenantProvider(ctrl) tenantProviderMock.EXPECT().GetTenantsByPlatformType(gomock.Any(), gomock.Any()).Return([]string{"spans"}, nil).AnyTimes() filterFactoryMock := filtermocks.NewMockPlatformFilterFactory(ctrl) @@ -420,7 +383,6 @@ func TestTraceServiceImpl_GetTracesMetaInfo(t *testing.T) { "field1": {FieldType: "string"}, "field2": {FieldType: "int"}, }, - KeySpanTypeList: []string{}, }, }, { @@ -466,12 +428,8 @@ func TestTraceServiceImpl_GetTracesMetaInfo(t *testing.T) { fields.taskRepo, ) got, err := r.GetTracesMetaInfo(tt.args.ctx, tt.args.req) - if tt.wantErr { - assert.Error(t, err) - } else { - assert.NoError(t, err) - assert.Equal(t, tt.want, got) - } + assert.Equal(t, tt.wantErr, err != nil) + assert.Equal(t, got, tt.want) }) } } @@ -2737,13 +2695,10 @@ func TestTraceServiceImpl_SearchTraceOApi(t *testing.T) { Tenants: []string{"tenant1"}, TraceID: "trace-123", LogID: "", - SpanIDs: nil, StartAt: 1640995200000, EndAt: 1640995800000, Limit: 100, NotQueryAnnotation: false, - Filters: nil, - OmitColumns: []string{"input", "output"}, }).Return(loop_span.SpanList{ { TraceID: "trace-123", @@ -2899,59 +2854,6 @@ func TestTraceServiceImpl_ListSpansOApi(t *testing.T) { } } -func TestTraceFilterProcessorBuilderImpl_BuildListSpansOApiProcessors(t *testing.T) { - tests := []struct { - name string - listSpansOApiProcessorFactories []span_processor.Factory - want int - wantErr bool - }{ - { - name: "build processors successfully with empty factories", - listSpansOApiProcessorFactories: []span_processor.Factory{}, - want: 0, - wantErr: false, - }, - { - name: "build processors successfully with multiple factories", - listSpansOApiProcessorFactories: []span_processor.Factory{ - span_processor.NewCheckProcessorFactory(), - span_processor.NewCheckProcessorFactory(), - }, - want: 2, - wantErr: false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - filterFactoryMock := filtermocks.NewMockPlatformFilterFactory(ctrl) - builder := NewTraceFilterProcessorBuilder( - filterFactoryMock, - nil, - nil, - nil, - nil, - nil, - tt.listSpansOApiProcessorFactories, - ) - - got, err := builder.BuildListSpansOApiProcessors(context.Background(), span_processor.Settings{ - WorkspaceId: 123, - QueryStartTime: 1640995200000, - QueryEndTime: 1640995800000, - }) - - assert.Equal(t, tt.wantErr, err != nil) - if !tt.wantErr { - assert.Equal(t, tt.want, len(got)) - } - }) - } -} - func TestTraceServiceImpl_ChangeEvaluatorScore(t *testing.T) { type fields struct { traceRepo repo.ITraceRepo @@ -3391,55 +3293,6 @@ func TestTraceServiceImpl_ChangeEvaluatorScore(t *testing.T) { } } -func TestTraceFilterProcessorBuilderImpl_BuildIngestTraceProcessors_ErrorHandling(t *testing.T) { - tests := []struct { - name string - ingestTraceProcessorFactories []span_processor.Factory - want int - wantErr bool - }{ - { - name: "build ingest processors successfully with empty factories", - ingestTraceProcessorFactories: []span_processor.Factory{}, - want: 0, - wantErr: false, - }, - { - name: "build ingest processors successfully with multiple factories", - ingestTraceProcessorFactories: []span_processor.Factory{ - span_processor.NewCheckProcessorFactory(), - }, - want: 1, - wantErr: false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - filterFactoryMock := filtermocks.NewMockPlatformFilterFactory(ctrl) - - builder := NewTraceFilterProcessorBuilder( - filterFactoryMock, - nil, - nil, - nil, - tt.ingestTraceProcessorFactories, - nil, - nil, - ) - - got, err := builder.BuildIngestTraceProcessors(context.Background(), span_processor.Settings{}) - - assert.Equal(t, tt.wantErr, err != nil) - if !tt.wantErr { - assert.Equal(t, tt.want, len(got)) - } - }) - } -} - func TestTraceServiceImpl_correctEvaluatorRecords(t *testing.T) { type testCase struct { name string @@ -3539,58 +3392,6 @@ func TestTraceServiceImpl_correctEvaluatorRecords(t *testing.T) { } } -func TestTraceFilterProcessorBuilderImpl_BuildSearchTraceOApiProcessors_ErrorHandling(t *testing.T) { - tests := []struct { - name string - searchTraceOApiProcessorFactories []span_processor.Factory - want int - wantErr bool - }{ - { - name: "build search trace oapi processors successfully with empty factories", - searchTraceOApiProcessorFactories: []span_processor.Factory{}, - want: 0, - wantErr: false, - }, - { - name: "build search trace oapi processors successfully with multiple factories", - searchTraceOApiProcessorFactories: []span_processor.Factory{ - span_processor.NewCheckProcessorFactory(), - }, - want: 1, - wantErr: false, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - - filterFactoryMock := filtermocks.NewMockPlatformFilterFactory(ctrl) - builder := NewTraceFilterProcessorBuilder( - filterFactoryMock, - nil, - nil, - nil, - nil, - tt.searchTraceOApiProcessorFactories, - nil, - ) - - got, err := builder.BuildSearchTraceOApiProcessors(context.Background(), span_processor.Settings{ - WorkspaceId: 123, - QueryStartTime: 1640995200000, - QueryEndTime: 1640995800000, - }) - - assert.Equal(t, tt.wantErr, err != nil) - if !tt.wantErr { - assert.Equal(t, tt.want, len(got)) - } - }) - } -} - func TestTraceServiceImpl_ListAnnotationEvaluators(t *testing.T) { type fields struct { taskRepo taskRepo.ITaskRepo @@ -3654,7 +3455,7 @@ func TestTraceServiceImpl_ListAnnotationEvaluators(t *testing.T) { { name: "name nil success", fieldsGetter: func(ctrl *gomock.Controller, req *ListAnnotationEvaluatorsRequest) fields { - taskRepoMock := newTaskRepoMock(ctrl) + taskRepoMock := taskRepomocks.NewMockITaskRepo(ctrl) returnTasks := []*taskentity.ObservabilityTask{ {TaskConfig: &taskentity.TaskConfig{AutoEvaluateConfigs: []*taskentity.AutoEvaluateConfig{{EvaluatorVersionID: 101}}}}, } @@ -3688,7 +3489,7 @@ func TestTraceServiceImpl_ListAnnotationEvaluators(t *testing.T) { { name: "name nil list tasks error", fieldsGetter: func(ctrl *gomock.Controller, _ *ListAnnotationEvaluatorsRequest) fields { - taskRepoMock := newTaskRepoMock(ctrl) + taskRepoMock := taskRepomocks.NewMockITaskRepo(ctrl) taskRepoMock.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return(nil, int64(0), fmt.Errorf("list error")) return fields{taskRepo: taskRepoMock} }, @@ -3701,7 +3502,7 @@ func TestTraceServiceImpl_ListAnnotationEvaluators(t *testing.T) { { name: "name nil tasks empty", fieldsGetter: func(ctrl *gomock.Controller, _ *ListAnnotationEvaluatorsRequest) fields { - taskRepoMock := newTaskRepoMock(ctrl) + taskRepoMock := taskRepomocks.NewMockITaskRepo(ctrl) taskRepoMock.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return([]*taskentity.ObservabilityTask{}, int64(0), nil) return fields{ taskRepo: taskRepoMock, @@ -3720,7 +3521,7 @@ func TestTraceServiceImpl_ListAnnotationEvaluators(t *testing.T) { { name: "name nil batch get error", fieldsGetter: func(ctrl *gomock.Controller, _ *ListAnnotationEvaluatorsRequest) fields { - taskRepoMock := newTaskRepoMock(ctrl) + taskRepoMock := taskRepomocks.NewMockITaskRepo(ctrl) taskRepoMock.EXPECT().ListTasks(gomock.Any(), gomock.Any()).Return([]*taskentity.ObservabilityTask{ {TaskConfig: &taskentity.TaskConfig{AutoEvaluateConfigs: []*taskentity.AutoEvaluateConfig{{EvaluatorVersionID: 202}}}}, }, int64(1), nil) diff --git a/backend/modules/observability/infra/collector/event_collector.go b/backend/modules/observability/infra/collector/event_collector.go deleted file mode 100644 index a6e925e9e..000000000 --- a/backend/modules/observability/infra/collector/event_collector.go +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 -package collector - -import ( - "context" - "time" - - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/component/collector" -) - -type EventCollectorProviderImpl struct{} - -func NewEventCollectorProvider() collector.ICollectorProvider { - return &EventCollectorProviderImpl{} -} - -func (p *EventCollectorProviderImpl) CollectTraceOpenAPIEvent(ctx context.Context, method string, workspaceId int64, platformType, spanListType string, spanSize int64, errorCode int, start time.Time, isError bool) { -} diff --git a/backend/modules/observability/infra/config/trace.go b/backend/modules/observability/infra/config/trace.go index d5f3923e3..cb2b0b509 100644 --- a/backend/modules/observability/infra/config/trace.go +++ b/backend/modules/observability/infra/config/trace.go @@ -24,7 +24,6 @@ const ( traceMaxDurationDay = "trace_max_duration_day" annotationSourceCfgKey = "annotation_source_cfg" queryTraceRateLimitCfgKey = "query_trace_rate_limit_config" - keySpanTypeCfgKey = "key_span_type" backfillMqProducerCfgKey = "backfill_mq_producer_config" ) @@ -161,14 +160,6 @@ func (t *TraceConfigCenter) GetQueryMaxQPS(ctx context.Context, key string) (int return qpsConfig.DefaultMaxQPS, nil } -func (t *TraceConfigCenter) GetKeySpanTypes(ctx context.Context) map[string][]string { - keyColumns := make(map[string][]string) - if err := t.UnmarshalKey(ctx, keySpanTypeCfgKey, &keyColumns); err != nil { - return keyColumns - } - return keyColumns -} - func NewTraceConfigCenter(confP conf.IConfigLoader) config.ITraceConfig { ret := &TraceConfigCenter{ IConfigLoader: confP, diff --git a/backend/modules/observability/infra/config/trace_test.go b/backend/modules/observability/infra/config/trace_test.go index 86628368c..999e53ba6 100755 --- a/backend/modules/observability/infra/config/trace_test.go +++ b/backend/modules/observability/infra/config/trace_test.go @@ -903,64 +903,6 @@ func TestTraceConfigCenter_GetQueryMaxQPS(t *testing.T) { } } -func TestTraceConfigCenter_GetKeySpanTypes(t *testing.T) { - type fields struct { - configLoader *confmocks.MockIConfigLoader - } - type args struct { - ctx context.Context - } - tests := []struct { - name string - fieldsGetter func(ctrl *gomock.Controller) fields - args args - want map[string][]string - }{ - { - name: "get key span types successfully", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockLoader := confmocks.NewMockIConfigLoader(ctrl) - mockLoader.EXPECT().UnmarshalKey(gomock.Any(), keySpanTypeCfgKey, gomock.Any()). - DoAndReturn(func(ctx context.Context, key string, v interface{}, opts ...interface{}) error { - cfg := v.(*map[string][]string) - (*cfg)["coze"] = []string{ - "select", "insert", - } - return nil - }) - return fields{configLoader: mockLoader} - }, - args: args{ctx: context.Background()}, - want: map[string][]string{ - "coze": {"select", "insert"}, - }, - }, - { - name: "unmarshal key failed, return empty map", - fieldsGetter: func(ctrl *gomock.Controller) fields { - mockLoader := confmocks.NewMockIConfigLoader(ctrl) - mockLoader.EXPECT().UnmarshalKey(gomock.Any(), keySpanTypeCfgKey, gomock.Any()). - Return(fmt.Errorf("unmarshal error")) - return fields{configLoader: mockLoader} - }, - args: args{ctx: context.Background()}, - want: map[string][]string{}, - }, - } - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - ctrl := gomock.NewController(t) - defer ctrl.Finish() - f := tt.fieldsGetter(ctrl) - tr := &TraceConfigCenter{ - IConfigLoader: f.configLoader, - } - got := tr.GetKeySpanTypes(tt.args.ctx) - assert.Equal(t, tt.want, got) - }) - } -} - func TestNewTraceConfigCenter(t *testing.T) { type args struct { confP *confmocks.MockIConfigLoader diff --git a/backend/modules/observability/infra/repo/ck/common.go b/backend/modules/observability/infra/repo/ck/common.go deleted file mode 100644 index 1f5969601..000000000 --- a/backend/modules/observability/infra/repo/ck/common.go +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 -package ck - -import "github.com/samber/lo" - -func getColumnStr(columns []string, omits []string) string { - omitMap := lo.Associate(omits, func(omit string) (string, bool) { - return omit, true - }) - result := "" - for _, c := range columns { - if omitMap[c] { - continue - } - if result != "" { - result += ", " - } - result += c - } - return result -} diff --git a/backend/modules/observability/infra/repo/ck/spans.go b/backend/modules/observability/infra/repo/ck/spans.go index d5c906c2a..7385bb872 100644 --- a/backend/modules/observability/infra/repo/ck/spans.go +++ b/backend/modules/observability/infra/repo/ck/spans.go @@ -20,7 +20,6 @@ import ( obErrorx "github.com/coze-dev/coze-loop/backend/modules/observability/pkg/errno" "github.com/coze-dev/coze-loop/backend/pkg/errorx" "github.com/coze-dev/coze-loop/backend/pkg/logs" - "github.com/samber/lo" ) const ( @@ -37,7 +36,6 @@ type QueryParam struct { Filters *loop_span.FilterFields Limit int32 OrderByStartTime bool - SelectColumns []string OmitColumns []string // omit specific columns } @@ -135,13 +133,8 @@ func (s *SpansCkDaoImpl) buildSingleSql(ctx context.Context, db *gorm.DB, tableN if err != nil { return nil, err } - queryColumns := lo.Ternary( - len(param.SelectColumns) == 0, - getColumnStr(spanColumns, param.OmitColumns), - getColumnStr(param.SelectColumns, param.OmitColumns), - ) sqlQuery = db. - Table(tableName).Select(queryColumns). + Table(tableName). Where(sqlQuery). Where("start_time >= ?", param.StartTime). Where("start_time <= ?", param.EndTime) @@ -286,37 +279,10 @@ func (s *SpansCkDaoImpl) getSuperFieldsMap(ctx context.Context) map[string]bool return defSuperFieldsMap } -// convertFieldName IsCustom > IsSystem > superField, default custom func (s *SpansCkDaoImpl) convertFieldName(ctx context.Context, filter *loop_span.FilterField) (string, error) { if !isSafeColumnName(filter.FieldName) { return "", fmt.Errorf("filter field name %s is not safe", filter.FieldName) } - if filter.IsCustom { - switch filter.FieldType { - case loop_span.FieldTypeString: - return fmt.Sprintf("tags_string['%s']", filter.FieldName), nil - case loop_span.FieldTypeLong: - return fmt.Sprintf("tags_long['%s']", filter.FieldName), nil - case loop_span.FieldTypeDouble: - return fmt.Sprintf("tags_float['%s']", filter.FieldName), nil - case loop_span.FieldTypeBool: - return fmt.Sprintf("tags_bool['%s']", filter.FieldName), nil - default: // not expected to be here - return fmt.Sprintf("tags_string['%s']", filter.FieldName), nil - } - } - if filter.IsSystem { - switch filter.FieldType { - case loop_span.FieldTypeString: - return fmt.Sprintf("system_tags_string['%s']", filter.FieldName), nil - case loop_span.FieldTypeLong: - return fmt.Sprintf("system_tags_long['%s']", filter.FieldName), nil - case loop_span.FieldTypeDouble: - return fmt.Sprintf("system_tags_float['%s']", filter.FieldName), nil - default: // not expected to be here - return fmt.Sprintf("system_tags_string['%s']", filter.FieldName), nil - } - } superFieldsMap := s.getSuperFieldsMap(ctx) if superFieldsMap[filter.FieldName] { return quoteSQLName(filter.FieldName), nil @@ -414,35 +380,6 @@ func quoteSQLName(data string) string { return buf.String() } -var spanColumns = []string{ - "start_time", - "logid", - "span_id", - "trace_id", - "parent_id", - "duration", - "psm", - "call_type", - "space_id", - "span_type", - "span_name", - "method", - "status_code", - "input", - "output", - "object_storage", - "system_tags_string", - "system_tags_long", - "system_tags_float", - "tags_string", - "tags_long", - "tags_bool", - "tags_float", - "tags_byte", - "reserve_create_time", - "logic_delete_date", -} - var defSuperFieldsMap = map[string]bool{ loop_span.SpanFieldStartTime: true, loop_span.SpanFieldSpanId: true, @@ -462,7 +399,6 @@ var defSuperFieldsMap = map[string]bool{ loop_span.SpanFieldObjectStorage: true, loop_span.SpanFieldLogicDeleteDate: true, } - var validColumnRegex = regexp.MustCompile(`^[a-zA-Z_][a-zA-Z0-9_]*$`) func isSafeColumnName(name string) bool { diff --git a/backend/modules/observability/infra/repo/ck/spans_test.go b/backend/modules/observability/infra/repo/ck/spans_test.go index bc2a4dc72..efa17e7fe 100644 --- a/backend/modules/observability/infra/repo/ck/spans_test.go +++ b/backend/modules/observability/infra/repo/ck/spans_test.go @@ -17,177 +17,6 @@ import ( "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" ) -func TestSpansCkDaoImpl_convertFieldName(t *testing.T) { - t.Parallel() - - dao := &SpansCkDaoImpl{} - ctx := context.Background() - - type testCase struct { - name string - filter *loop_span.FilterField - want string - wantErr bool - } - - testCases := []testCase{ - { - name: "invalid field name", - filter: &loop_span.FilterField{ - FieldName: "invalid-name", - FieldType: loop_span.FieldTypeString, - IsCustom: true, - }, - wantErr: true, - }, - { - name: "custom string field", - filter: &loop_span.FilterField{ - FieldName: "custom_str", - FieldType: loop_span.FieldTypeString, - IsCustom: true, - }, - want: "tags_string['custom_str']", - }, - { - name: "custom long field", - filter: &loop_span.FilterField{ - FieldName: "custom_long", - FieldType: loop_span.FieldTypeLong, - IsCustom: true, - }, - want: "tags_long['custom_long']", - }, - { - name: "custom double field", - filter: &loop_span.FilterField{ - FieldName: "custom_double", - FieldType: loop_span.FieldTypeDouble, - IsCustom: true, - }, - want: "tags_float['custom_double']", - }, - { - name: "custom bool field", - filter: &loop_span.FilterField{ - FieldName: "custom_bool", - FieldType: loop_span.FieldTypeBool, - IsCustom: true, - }, - want: "tags_bool['custom_bool']", - }, - { - name: "custom fallback field type", - filter: &loop_span.FilterField{ - FieldName: "custom_unknown", - FieldType: loop_span.FieldType("unknown"), - IsCustom: true, - }, - want: "tags_string['custom_unknown']", - }, - { - name: "system string field", - filter: &loop_span.FilterField{ - FieldName: "system_str", - FieldType: loop_span.FieldTypeString, - IsSystem: true, - }, - want: "system_tags_string['system_str']", - }, - { - name: "system long field", - filter: &loop_span.FilterField{ - FieldName: "system_long", - FieldType: loop_span.FieldTypeLong, - IsSystem: true, - }, - want: "system_tags_long['system_long']", - }, - { - name: "system double field", - filter: &loop_span.FilterField{ - FieldName: "system_double", - FieldType: loop_span.FieldTypeDouble, - IsSystem: true, - }, - want: "system_tags_float['system_double']", - }, - { - name: "system fallback field type", - filter: &loop_span.FilterField{ - FieldName: "system_unknown", - FieldType: loop_span.FieldTypeBool, - IsSystem: true, - }, - want: "system_tags_string['system_unknown']", - }, - { - name: "super field", - filter: &loop_span.FilterField{ - FieldName: loop_span.SpanFieldDuration, - FieldType: loop_span.FieldTypeLong, - }, - want: "`duration`", - }, - { - name: "default string field", - filter: &loop_span.FilterField{ - FieldName: "default_str", - FieldType: loop_span.FieldTypeString, - }, - want: "tags_string['default_str']", - }, - { - name: "default long field", - filter: &loop_span.FilterField{ - FieldName: "default_long", - FieldType: loop_span.FieldTypeLong, - }, - want: "tags_long['default_long']", - }, - { - name: "default double field", - filter: &loop_span.FilterField{ - FieldName: "default_double", - FieldType: loop_span.FieldTypeDouble, - }, - want: "tags_float['default_double']", - }, - { - name: "default bool field", - filter: &loop_span.FilterField{ - FieldName: "default_bool", - FieldType: loop_span.FieldTypeBool, - }, - want: "tags_bool['default_bool']", - }, - { - name: "default fallback field type", - filter: &loop_span.FilterField{ - FieldName: "default_unknown", - FieldType: loop_span.FieldType("unknown"), - }, - want: "tags_string['default_unknown']", - }, - } - - for _, tc := range testCases { - tc := tc - t.Run(tc.name, func(t *testing.T) { - t.Parallel() - - got, err := dao.convertFieldName(ctx, tc.filter) - if tc.wantErr { - assert.Error(t, err) - return - } - - assert.NoError(t, err) - assert.Equal(t, tc.want, got) - }) - } -} - func TestBuildSql(t *testing.T) { sqlDB, _, err := sqlmock.New() if err != nil { @@ -270,7 +99,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE ((tags_string['a'] IN ('1') AND (tags_string['aa'] IN ('aaa') OR tags_string['a'] = 'b')) AND (tags_string['b'] NOT IN ('b') OR (tags_string['c'] NOT IN ('c') AND tags_string['c'] NOT IN ('d') AND tags_string['c'] NOT IN ('e')))) AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE ((tags_string['a'] IN ('1') AND (tags_string['aa'] IN ('aaa') OR tags_string['a'] = 'b')) AND (tags_string['b'] NOT IN ('b') OR (tags_string['c'] NOT IN ('c') AND tags_string['c'] NOT IN ('d') AND tags_string['c'] NOT IN ('e')))) AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -301,7 +130,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE ((tags_string['custom_tag_string'] IS NULL OR tags_string['custom_tag_string'] = '') AND (tags_bool['custom_tag_bool'] IS NULL OR tags_bool['custom_tag_bool'] = 0) AND (tags_float['custom_tag_double'] IS NULL OR tags_float['custom_tag_double'] = 0) AND (tags_long['custom_tag_long'] IS NULL OR tags_long['custom_tag_long'] = 0)) AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE ((tags_string['custom_tag_string'] IS NULL OR tags_string['custom_tag_string'] = '') AND (tags_bool['custom_tag_bool'] IS NULL OR tags_bool['custom_tag_bool'] = 0) AND (tags_float['custom_tag_double'] IS NULL OR tags_float['custom_tag_double'] = 0) AND (tags_long['custom_tag_long'] IS NULL OR tags_long['custom_tag_long'] = 0)) AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -314,7 +143,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE tags_long['custom_tag_long'] IN (123,-123) AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE tags_long['custom_tag_long'] IN (123,-123) AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -327,7 +156,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE tags_float['custom_tag_float64'] = 123.999 AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE tags_float['custom_tag_float64'] = 123.999 AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -340,7 +169,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `duration` >= 121 AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `duration` >= 121 AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -353,7 +182,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE tags_bool['custom_tag_bool'] = 1 AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE tags_bool['custom_tag_bool'] = 1 AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -366,7 +195,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` like '%123%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` like '%123%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { filter: &loop_span.FilterFields{ @@ -379,7 +208,7 @@ func TestBuildSql(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%123%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%123%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, } for _, tc := range testCases { @@ -467,7 +296,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%test_value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%test_value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, { @@ -482,7 +311,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, // 特殊字符处理测试 @@ -498,7 +327,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%test''value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%test''value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, { @@ -513,7 +342,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%''; DROP TABLE spans; --%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%''; DROP TABLE spans; --%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, // 不同字段类型测试 @@ -529,7 +358,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE tags_string['custom_tag'] NOT like '%tag_value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE tags_string['custom_tag'] NOT like '%tag_value%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, { @@ -544,7 +373,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `span_type` NOT like '%test_type%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `span_type` NOT like '%test_type%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, // Unicode字符测试 @@ -560,7 +389,7 @@ func TestQueryTypeEnumNotMatchSqlExceptionCases(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE `input` NOT like '%测试数据%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE `input` NOT like '%测试数据%' AND start_time >= 1 AND start_time <= 2 LIMIT 100", shouldError: false, }, } @@ -633,7 +462,7 @@ func TestQueryTypeEnumNotMatchComplexScenarios(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE (`input` NOT like '%error%' AND `span_type` = 'http_request') AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE (`input` NOT like '%error%' AND `span_type` = 'http_request') AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { name: "NotMatch combined with other query types using OR", @@ -654,7 +483,7 @@ func TestQueryTypeEnumNotMatchComplexScenarios(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE (`input` NOT like '%success%' OR `status_code` = 200) AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE (`input` NOT like '%success%' OR `status_code` = 200) AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { name: "Multiple NotMatch conditions with AND", @@ -675,7 +504,7 @@ func TestQueryTypeEnumNotMatchComplexScenarios(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE (`input` NOT like '%error%' AND `output` NOT like '%failed%') AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE (`input` NOT like '%error%' AND `output` NOT like '%failed%') AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, { name: "NotMatch with nested SubFilter", @@ -708,7 +537,7 @@ func TestQueryTypeEnumNotMatchComplexScenarios(t *testing.T) { }, }, }, - expectedSql: "SELECT start_time, logid, span_id, trace_id, parent_id, duration, psm, call_type, space_id, span_type, span_name, method, status_code, input, output, object_storage, system_tags_string, system_tags_long, system_tags_float, tags_string, tags_long, tags_bool, tags_float, tags_byte, reserve_create_time, logic_delete_date FROM `observability_spans` WHERE (`input` NOT like '%test%' AND (tags_string['custom_tag'] NOT like '%debug%' OR `status_code` = 500)) AND start_time >= 1 AND start_time <= 2 LIMIT 100", + expectedSql: "SELECT * FROM `observability_spans` WHERE (`input` NOT like '%test%' AND (tags_string['custom_tag'] NOT like '%debug%' OR `status_code` = 500)) AND start_time >= 1 AND start_time <= 2 LIMIT 100", }, } diff --git a/backend/modules/observability/infra/repo/mysql/convertor/task.go b/backend/modules/observability/infra/repo/mysql/convertor/task.go index f632d8d70..8a1b668ad 100644 --- a/backend/modules/observability/infra/repo/mysql/convertor/task.go +++ b/backend/modules/observability/infra/repo/mysql/convertor/task.go @@ -5,6 +5,7 @@ package convertor import ( "github.com/bytedance/sonic" + "github.com/coze-dev/coze-loop/backend/kitex_gen/coze/loop/observability/domain/filter" "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql/gorm_gen/model" "github.com/coze-dev/coze-loop/backend/pkg/lang/ptr" @@ -65,11 +66,11 @@ func TaskDetailJSON2DO(taskDetail *string) *entity.RunDetail { return taskDetailDO } -func SpanFilterJSON2DO(spanFilter *string) *entity.SpanFilterFields { +func SpanFilterJSON2DO(spanFilter *string) *filter.SpanFilterFields { if spanFilter == nil || *spanFilter == "" { return nil } - var spanFilterDO *entity.SpanFilterFields + var spanFilterDO *filter.SpanFilterFields if err := sonic.UnmarshalString(*spanFilter, &spanFilterDO); err != nil { logs.Error("SpanFilterJSON2DO UnmarshalString err: %v", err) return nil diff --git a/backend/modules/observability/infra/repo/redis/dao/task.go b/backend/modules/observability/infra/repo/redis/dao/task.go index 99fc27f1e..305c89f70 100755 --- a/backend/modules/observability/infra/repo/redis/dao/task.go +++ b/backend/modules/observability/infra/repo/redis/dao/task.go @@ -9,25 +9,12 @@ import ( "time" "github.com/coze-dev/coze-loop/backend/infra/redis" - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" - redisconvert "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/redis/convert" "github.com/coze-dev/coze-loop/backend/pkg/errorx" - "github.com/coze-dev/coze-loop/backend/pkg/json" "github.com/coze-dev/coze-loop/backend/pkg/logs" - "github.com/samber/lo" ) //go:generate mockgen -destination=mocks/Task_dao.go -package=mocks . ITaskDAO type ITaskDAO interface { - // Task相关 - GetTask(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) - SetTask(ctx context.Context, task *entity.ObservabilityTask) error - // 非终态task列表by spaceID - // ListNonFinalTask lists all non-final tasks in the given space. - ListNonFinalTask(ctx context.Context, spaceID string) ([]int64, error) - AddNonFinalTask(ctx context.Context, spaceID string, taskID int64) error - RemoveNonFinalTask(ctx context.Context, spaceID string, taskID int64) error - // TaskCount相关 GetTaskCount(ctx context.Context, taskID int64) (int64, error) IncrTaskCount(ctx context.Context, taskID int64, ttl time.Duration) (int64, error) @@ -43,13 +30,6 @@ type TaskDAOImpl struct { cmdable redis.Cmdable } -var taskConverter = redisconvert.NewTaskConverter() - -const ( - taskDetailCacheKeyPattern = "observability:task:%d" - taskDetailCacheTTL = 1 * time.Minute -) - // NewTaskDAO creates a new TaskDAO instance func NewTaskDAO(cmdable redis.Cmdable) ITaskDAO { return &TaskDAOImpl{ @@ -57,10 +37,6 @@ func NewTaskDAO(cmdable redis.Cmdable) ITaskDAO { } } -func (q *TaskDAOImpl) makeTaskCacheKey(taskID int64) string { - return fmt.Sprintf(taskDetailCacheKeyPattern, taskID) -} - func (q *TaskDAOImpl) makeTaskCountCacheKey(taskID int64) string { return fmt.Sprintf("count_%d", taskID) } @@ -69,158 +45,6 @@ func (q *TaskDAOImpl) makeTaskRunCountCacheKey(taskID, taskRunID int64) string { return fmt.Sprintf("count_%d_%d", taskID, taskRunID) } -func (q *TaskDAOImpl) makeNonFinalTaskCacheKey(spaceID string) string { - return fmt.Sprintf("tasks_of_%s", spaceID) -} - -// GetTask 从缓存中获取任务详情 -func (p *TaskDAOImpl) GetTask(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { - key := p.makeTaskCacheKey(taskID) - bytes, err := p.cmdable.Get(ctx, key).Bytes() - if err != nil { - if redis.IsNilError(err) { - return nil, nil - } - logs.CtxError(ctx, "redis get task failed", "key", key, "err", err) - return nil, errorx.Wrapf(err, "redis get task fail, key: %v", key) - } - if len(bytes) == 0 { - return nil, nil - } - task, err := taskConverter.ToDO(bytes) - if err != nil { - logs.CtxError(ctx, "convert task bytes to entity failed", "key", key, "err", err) - return nil, err - } - return task, nil -} - -// SetTask 将任务详情写入缓存 -func (p *TaskDAOImpl) SetTask(ctx context.Context, task *entity.ObservabilityTask) error { - if task == nil { - return nil - } - if task.ID == 0 { - logs.CtxWarn(ctx, "skip caching task with empty id") - return nil - } - key := p.makeTaskCacheKey(task.ID) - bytes, err := taskConverter.FromDO(task) - if err != nil { - logs.CtxError(ctx, "convert task entity to bytes failed", "key", key, "err", err) - return err - } - if err := p.cmdable.Set(ctx, key, bytes, taskDetailCacheTTL).Err(); err != nil { - logs.CtxError(ctx, "redis set task failed", "key", key, "err", err) - return errorx.Wrapf(err, "redis set task fail, key: %v", key) - } - return nil -} - -// ListNonFinalTask 获取非终态任务ID列表 -func (p *TaskDAOImpl) ListNonFinalTask(ctx context.Context, spaceID string) ([]int64, error) { - key := p.makeNonFinalTaskCacheKey(spaceID) - bytes, err := p.cmdable.Get(ctx, key).Bytes() - if err != nil { - if redis.IsNilError(err) { - return nil, nil - } - logs.CtxError(ctx, "redis get task failed", "key", key, "err", err) - return nil, errorx.Wrapf(err, "redis get task fail, key: %v", key) - } - if len(bytes) == 0 { - return nil, nil - } - var tasks []int64 - if err := lo.TernaryF( - len(bytes) > 0, - func() error { return json.Unmarshal(bytes, &tasks) }, - func() error { return nil }, - ); err != nil { - return nil, errorx.Wrapf(err, "TaskExpt json unmarshal failed") - } - - return tasks, nil -} - -// AddNonFinalTask 将任务加入非终态列表 -func (p *TaskDAOImpl) AddNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - if taskID == 0 { - logs.CtxWarn(ctx, "skip adding non final task with empty id") - return nil - } - - key := p.makeNonFinalTaskCacheKey(spaceID) - bytes, err := p.cmdable.Get(ctx, key).Bytes() - var tasks []int64 - - if err != nil && !redis.IsNilError(err) { - logs.CtxError(ctx, "redis get task failed", "key", key, "err", err) - return errorx.Wrapf(err, "redis get task fail, key: %v", key) - } - - if len(bytes) > 0 { - if err := json.Unmarshal(bytes, &tasks); err != nil { - return errorx.Wrapf(err, "TaskExpt json unmarshal failed") - } - } - - if !lo.Contains(tasks, taskID) { - tasks = append(tasks, taskID) - } - - bytes, err = json.Marshal(tasks) - if err != nil { - return errorx.Wrapf(err, "TaskExpt json marshal failed") - } - - if err := p.cmdable.Set(ctx, key, bytes, 0).Err(); err != nil { - logs.CtxError(ctx, "redis set task failed", "key", key, "err", err) - return errorx.Wrapf(err, "redis set task fail, key: %v", key) - } - - return nil -} - -// RemoveNonFinalTask 将任务从非终态列表移除 -func (p *TaskDAOImpl) RemoveNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - if taskID == 0 { - logs.CtxWarn(ctx, "skip removing non final task with empty id") - return nil - } - - key := p.makeNonFinalTaskCacheKey(spaceID) - bytes, err := p.cmdable.Get(ctx, key).Bytes() - if err != nil { - if redis.IsNilError(err) { - return nil - } - logs.CtxError(ctx, "redis get task failed", "key", key, "err", err) - return errorx.Wrapf(err, "redis get task fail, key: %v", key) - } - if len(bytes) == 0 { - return nil - } - var tasks []int64 - if err := lo.TernaryF( - len(bytes) > 0, - func() error { return json.Unmarshal(bytes, &tasks) }, - func() error { return nil }, - ); err != nil { - return errorx.Wrapf(err, "TaskExpt json unmarshal failed") - } - tasks = lo.Filter(tasks, func(item int64, _ int) bool { return item != taskID }) - bytes, err = json.Marshal(tasks) - if err != nil { - return errorx.Wrapf(err, "TaskExpt json marshal failed") - } - if err := p.cmdable.Set(ctx, key, bytes, 0).Err(); err != nil { - logs.CtxError(ctx, "redis set task failed", "key", key, "err", err) - return errorx.Wrapf(err, "redis set task fail, key: %v", key) - } - return nil -} - // GetTaskCount 获取任务计数缓存 func (p *TaskDAOImpl) GetTaskCount(ctx context.Context, taskID int64) (int64, error) { key := p.makeTaskCountCacheKey(taskID) diff --git a/backend/modules/observability/infra/repo/task.go b/backend/modules/observability/infra/repo/task.go index 3791716c7..36ac8103f 100644 --- a/backend/modules/observability/infra/repo/task.go +++ b/backend/modules/observability/infra/repo/task.go @@ -5,7 +5,6 @@ package repo import ( "context" - "strconv" "time" "github.com/coze-dev/coze-loop/backend/infra/idgen" @@ -110,14 +109,7 @@ func (v *TaskRepoImpl) CreateTask(ctx context.Context, do *entity.ObservabilityT if err != nil { return 0, err } - err = v.TaskRedisDao.AddNonFinalTask(ctx, strconv.FormatInt(do.WorkspaceID, 10), id) - if err != nil { - return createdID, err - } - err = v.TaskRedisDao.SetTask(ctx, do) - if err != nil { - return createdID, err - } + return createdID, nil } @@ -136,10 +128,6 @@ func (v *TaskRepoImpl) UpdateTask(ctx context.Context, do *entity.ObservabilityT return err } } - err = v.TaskRedisDao.SetTask(ctx, do) - if err != nil { - return err - } return nil } @@ -151,6 +139,7 @@ func (v *TaskRepoImpl) UpdateTaskWithOCC(ctx context.Context, id int64, workspac if err != nil { return err } + return nil } @@ -176,10 +165,6 @@ func (v *TaskRepoImpl) DeleteTask(ctx context.Context, do *entity.ObservabilityT return err } - err = v.TaskRedisDao.RemoveNonFinalTask(ctx, strconv.FormatInt(do.WorkspaceID, 10), do.ID) - if err != nil { - logs.CtxError(ctx, "remove non final task failed, task_id=%d, err=%v", do.ID, err) - } return nil } @@ -323,44 +308,3 @@ func (v *TaskRepoImpl) GetTaskRunFailCount(ctx context.Context, taskID, taskRunI func (v *TaskRepoImpl) IncrTaskRunFailCount(ctx context.Context, taskID, taskRunID int64, ttl int64) error { return v.TaskRunRedisDao.IncrTaskRunFailCount(ctx, taskID, taskRunID, time.Duration(ttl)*time.Second) } - -func (v *TaskRepoImpl) ListNonFinalTask(ctx context.Context, spaceID string) ([]int64, error) { - return v.TaskRedisDao.ListNonFinalTask(ctx, spaceID) -} - -func (v *TaskRepoImpl) AddNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - return v.TaskRedisDao.AddNonFinalTask(ctx, spaceID, taskID) -} - -func (v *TaskRepoImpl) RemoveNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - return v.TaskRedisDao.RemoveNonFinalTask(ctx, spaceID, taskID) -} - -func (v *TaskRepoImpl) GetTaskByRedis(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { - taskDO, err := v.TaskRedisDao.GetTask(ctx, taskID) - if err != nil { - logs.CtxError(ctx, "Failed to get task", "err", err) - return nil, err - } - if taskDO == nil { - taskPO, err := v.TaskDao.GetTask(ctx, taskID, nil, nil) - if err != nil { - logs.CtxError(ctx, "Failed to get task", "err", err) - return nil, err - } - if taskPO == nil { - return nil, nil - } - taskDO = convertor.TaskPO2DO(taskPO) - err = v.TaskRedisDao.SetTask(ctx, taskDO) - if err != nil { - logs.CtxError(ctx, "Failed to set task", "err", err) - return nil, err - } - } - return taskDO, nil -} - -func (v *TaskRepoImpl) SetTask(ctx context.Context, task *entity.ObservabilityTask) error { - return v.TaskRedisDao.SetTask(ctx, task) -} diff --git a/backend/modules/observability/infra/repo/task_test.go b/backend/modules/observability/infra/repo/task_test.go deleted file mode 100755 index e27aa5ea5..000000000 --- a/backend/modules/observability/infra/repo/task_test.go +++ /dev/null @@ -1,592 +0,0 @@ -// Copyright (c) 2025 coze-dev Authors -// SPDX-License-Identifier: Apache-2.0 - -package repo - -import ( - "context" - "errors" - "testing" - "time" - - "github.com/stretchr/testify/assert" - - "github.com/coze-dev/coze-loop/backend/modules/observability/domain/task/entity" - mysql "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql" - mysqlconv "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql/convertor" - mysqlmodel "github.com/coze-dev/coze-loop/backend/modules/observability/infra/repo/mysql/gorm_gen/model" -) - -type stubIDGenerator struct { - nextID int64 - err error -} - -func (s stubIDGenerator) GenID(context.Context) (int64, error) { - return s.nextID, s.err -} - -func (s stubIDGenerator) GenMultiIDs(context.Context, int) ([]int64, error) { - return nil, nil -} - -type stubTaskDao struct { - createTaskFunc func(ctx context.Context, po *mysqlmodel.ObservabilityTask) (int64, error) - updateTaskFunc func(ctx context.Context, po *mysqlmodel.ObservabilityTask) error - updateTaskWithOCCFunc func(ctx context.Context, id int64, workspaceID int64, updateMap map[string]interface{}) error - deleteTaskFunc func(ctx context.Context, id int64, workspaceID int64, userID string) error - getTaskFunc func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) - listTasksFunc func(ctx context.Context, param mysql.ListTaskParam) ([]*mysqlmodel.ObservabilityTask, int64, error) - getObjListWithTaskFunc func(ctx context.Context) ([]string, []string, []*mysqlmodel.ObservabilityTask, error) -} - -func (s *stubTaskDao) CreateTask(ctx context.Context, po *mysqlmodel.ObservabilityTask) (int64, error) { - if s.createTaskFunc != nil { - return s.createTaskFunc(ctx, po) - } - return 0, nil -} - -func (s *stubTaskDao) UpdateTask(ctx context.Context, po *mysqlmodel.ObservabilityTask) error { - if s.updateTaskFunc != nil { - return s.updateTaskFunc(ctx, po) - } - return nil -} - -func (s *stubTaskDao) UpdateTaskWithOCC(ctx context.Context, id int64, workspaceID int64, updateMap map[string]interface{}) error { - if s.updateTaskWithOCCFunc != nil { - return s.updateTaskWithOCCFunc(ctx, id, workspaceID, updateMap) - } - return nil -} - -func (s *stubTaskDao) DeleteTask(ctx context.Context, id int64, workspaceID int64, userID string) error { - if s.deleteTaskFunc != nil { - return s.deleteTaskFunc(ctx, id, workspaceID, userID) - } - return nil -} - -func (s *stubTaskDao) GetTask(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - if s.getTaskFunc != nil { - return s.getTaskFunc(ctx, id, workspaceID, userID) - } - return nil, nil -} - -func (s *stubTaskDao) ListTasks(ctx context.Context, param mysql.ListTaskParam) ([]*mysqlmodel.ObservabilityTask, int64, error) { - if s.listTasksFunc != nil { - return s.listTasksFunc(ctx, param) - } - return nil, 0, nil -} - -func (s *stubTaskDao) GetObjListWithTask(ctx context.Context) ([]string, []string, []*mysqlmodel.ObservabilityTask, error) { - if s.getObjListWithTaskFunc != nil { - return s.getObjListWithTaskFunc(ctx) - } - return nil, nil, nil, nil -} - -type stubTaskRedisDao struct { - getTaskFunc func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) - setTaskFunc func(ctx context.Context, task *entity.ObservabilityTask) error - listNonFinalTaskFunc func(ctx context.Context, spaceID string) ([]int64, error) - addNonFinalTaskFunc func(ctx context.Context, spaceID string, taskID int64) error - removeNonFinalTaskFunc func(ctx context.Context, spaceID string, taskID int64) error -} - -func (s *stubTaskRedisDao) GetTask(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { - if s.getTaskFunc != nil { - return s.getTaskFunc(ctx, taskID) - } - return nil, nil -} - -func (s *stubTaskRedisDao) SetTask(ctx context.Context, task *entity.ObservabilityTask) error { - if s.setTaskFunc != nil { - return s.setTaskFunc(ctx, task) - } - return nil -} - -func (s *stubTaskRedisDao) ListNonFinalTask(ctx context.Context, spaceID string) ([]int64, error) { - if s.listNonFinalTaskFunc != nil { - return s.listNonFinalTaskFunc(ctx, spaceID) - } - return nil, nil -} - -func (s *stubTaskRedisDao) AddNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - if s.addNonFinalTaskFunc != nil { - return s.addNonFinalTaskFunc(ctx, spaceID, taskID) - } - return nil -} - -func (s *stubTaskRedisDao) RemoveNonFinalTask(ctx context.Context, spaceID string, taskID int64) error { - if s.removeNonFinalTaskFunc != nil { - return s.removeNonFinalTaskFunc(ctx, spaceID, taskID) - } - return nil -} - -func (s *stubTaskRedisDao) GetTaskCount(context.Context, int64) (int64, error) { return 0, nil } - -func (s *stubTaskRedisDao) IncrTaskCount(context.Context, int64, time.Duration) (int64, error) { - return 0, nil -} - -func (s *stubTaskRedisDao) DecrTaskCount(context.Context, int64, time.Duration) (int64, error) { - return 0, nil -} - -func (s *stubTaskRedisDao) GetTaskRunCount(context.Context, int64, int64) (int64, error) { - return 0, nil -} - -func (s *stubTaskRedisDao) IncrTaskRunCount(context.Context, int64, int64, time.Duration) (int64, error) { - return 0, nil -} - -func (s *stubTaskRedisDao) DecrTaskRunCount(context.Context, int64, int64, time.Duration) (int64, error) { - return 0, nil -} - -type stubTaskRunDao struct{} - -func (stubTaskRunDao) GetBackfillTaskRun(context.Context, *int64, int64) (*mysqlmodel.ObservabilityTaskRun, error) { - return nil, nil -} - -func (stubTaskRunDao) GetLatestNewDataTaskRun(context.Context, *int64, int64) (*mysqlmodel.ObservabilityTaskRun, error) { - return nil, nil -} - -func (stubTaskRunDao) CreateTaskRun(context.Context, *mysqlmodel.ObservabilityTaskRun) (int64, error) { - return 0, nil -} - -func (stubTaskRunDao) UpdateTaskRun(context.Context, *mysqlmodel.ObservabilityTaskRun) error { - return nil -} - -func (stubTaskRunDao) ListTaskRuns(context.Context, mysql.ListTaskRunParam) ([]*mysqlmodel.ObservabilityTaskRun, int64, error) { - return nil, 0, nil -} - -func (stubTaskRunDao) UpdateTaskRunWithOCC(context.Context, int64, int64, map[string]interface{}) error { - return nil -} - -type stubTaskRunRedisDao struct{} - -func (stubTaskRunRedisDao) IncrTaskRunSuccessCount(context.Context, int64, int64, time.Duration) error { - return nil -} - -func (stubTaskRunRedisDao) DecrTaskRunSuccessCount(context.Context, int64, int64) error { return nil } - -func (stubTaskRunRedisDao) IncrTaskRunFailCount(context.Context, int64, int64, time.Duration) error { - return nil -} - -func (stubTaskRunRedisDao) GetTaskRunSuccessCount(context.Context, int64, int64) (int64, error) { - return 0, nil -} - -func (stubTaskRunRedisDao) GetTaskRunFailCount(context.Context, int64, int64) (int64, error) { - return 0, nil -} - -func TestTaskRepoImpl_CreateTask(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - generator stubIDGenerator - task *entity.ObservabilityTask - addErr error - setErr error - wantID int64 - wantErr error - wantAdd bool - wantSet bool - }{ - { - name: "success", - generator: stubIDGenerator{nextID: 101}, - task: &entity.ObservabilityTask{ID: 101, WorkspaceID: 202}, - wantID: 101, - wantAdd: true, - wantSet: true, - }, - { - name: "add non final task fail", - generator: stubIDGenerator{nextID: 202}, - task: &entity.ObservabilityTask{ID: 202, WorkspaceID: 303}, - addErr: errors.New("add fail"), - wantID: 202, - wantErr: errors.New("add fail"), - wantAdd: true, - }, - { - name: "set task fail", - generator: stubIDGenerator{nextID: 303}, - task: &entity.ObservabilityTask{ID: 303, WorkspaceID: 404}, - setErr: errors.New("set fail"), - wantID: 303, - wantErr: errors.New("set fail"), - wantAdd: true, - wantSet: true, - }, - } - - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - taskDao := &stubTaskDao{ - createTaskFunc: func(ctx context.Context, po *mysqlmodel.ObservabilityTask) (int64, error) { - assert.Equal(t, tt.generator.nextID, po.ID) - assert.Equal(t, tt.task.WorkspaceID, po.WorkspaceID) - return po.ID, nil - }, - } - - redisDao := &stubTaskRedisDao{} - redisDao.addNonFinalTaskFunc = func(ctx context.Context, spaceID string, taskID int64) error { - assert.Equal(t, tt.task.WorkspaceID, int64FromString(spaceID)) - return tt.addErr - } - redisDao.setTaskFunc = func(ctx context.Context, task *entity.ObservabilityTask) error { - assert.Equal(t, tt.task.ID, task.ID) - return tt.setErr - } - - repo := &TaskRepoImpl{ - TaskDao: taskDao, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - idGenerator: tt.generator, - } - - var addCalled, setCalled bool - originalAdd := redisDao.addNonFinalTaskFunc - redisDao.addNonFinalTaskFunc = func(ctx context.Context, spaceID string, taskID int64) error { - addCalled = true - return originalAdd(ctx, spaceID, taskID) - } - originalSet := redisDao.setTaskFunc - redisDao.setTaskFunc = func(ctx context.Context, task *entity.ObservabilityTask) error { - setCalled = true - return originalSet(ctx, task) - } - - gotID, err := repo.CreateTask(context.Background(), tt.task) - if tt.wantErr != nil { - assert.EqualError(t, err, tt.wantErr.Error()) - } else { - assert.NoError(t, err) - } - assert.Equal(t, tt.wantID, gotID) - assert.Equal(t, tt.wantAdd, addCalled) - assert.Equal(t, tt.wantSet, setCalled) - }) - } -} - -func int64FromString(s string) int64 { - var result int64 - for i := 0; i < len(s); i++ { - result = result*10 + int64(s[i]-'0') - } - return result -} - -func TestTaskRepoImpl_UpdateTask(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - updateErr error - setErr error - expectedErr error - expectSet bool - }{ - {name: "success", expectSet: true}, - {name: "update error", updateErr: errors.New("update fail"), expectedErr: errors.New("update fail")}, - {name: "set task error", setErr: errors.New("set fail"), expectedErr: errors.New("set fail"), expectSet: true}, - } - - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - taskDao := &stubTaskDao{updateTaskFunc: func(ctx context.Context, po *mysqlmodel.ObservabilityTask) error { - return tt.updateErr - }} - redisDao := &stubTaskRedisDao{setTaskFunc: func(ctx context.Context, task *entity.ObservabilityTask) error { - return tt.setErr - }} - - repo := &TaskRepoImpl{ - TaskDao: taskDao, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - } - - var setCalled bool - if redisDao.setTaskFunc != nil { - original := redisDao.setTaskFunc - redisDao.setTaskFunc = func(ctx context.Context, task *entity.ObservabilityTask) error { - setCalled = true - return original(ctx, task) - } - } - - err := repo.UpdateTask(context.Background(), &entity.ObservabilityTask{ID: 1}) - if tt.expectedErr != nil { - assert.EqualError(t, err, tt.expectedErr.Error()) - } else { - assert.NoError(t, err) - } - assert.Equal(t, tt.expectSet, setCalled) - }) - } -} - -func TestTaskRepoImpl_DeleteTask(t *testing.T) { - t.Parallel() - - tests := []struct { - name string - deleteErr error - removeErr error - expectedErr error - expectRemove bool - }{ - {name: "success", expectRemove: true}, - {name: "remove error ignored", removeErr: errors.New("remove fail"), expectRemove: true}, - {name: "delete error", deleteErr: errors.New("delete fail"), expectedErr: errors.New("delete fail")}, - } - - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - taskDao := &stubTaskDao{deleteTaskFunc: func(ctx context.Context, id int64, workspaceID int64, userID string) error { - return tt.deleteErr - }} - redisDao := &stubTaskRedisDao{removeNonFinalTaskFunc: func(ctx context.Context, spaceID string, taskID int64) error { - return tt.removeErr - }} - - repo := &TaskRepoImpl{ - TaskDao: taskDao, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - } - - var removeCalled bool - if redisDao.removeNonFinalTaskFunc != nil { - original := redisDao.removeNonFinalTaskFunc - redisDao.removeNonFinalTaskFunc = func(ctx context.Context, spaceID string, taskID int64) error { - removeCalled = true - return original(ctx, spaceID, taskID) - } - } - - err := repo.DeleteTask(context.Background(), &entity.ObservabilityTask{ID: 1, WorkspaceID: 2, CreatedBy: "user"}) - if tt.expectedErr != nil { - assert.EqualError(t, err, tt.expectedErr.Error()) - } else { - assert.NoError(t, err) - } - assert.Equal(t, tt.expectRemove, removeCalled) - }) - } -} - -func TestTaskRepoImpl_NonFinalTaskWrappers(t *testing.T) { - t.Parallel() - - expected := []int64{1, 2, 3} - - redisDao := &stubTaskRedisDao{} - redisDao.listNonFinalTaskFunc = func(ctx context.Context, spaceID string) ([]int64, error) { - assert.Equal(t, "space", spaceID) - return expected, nil - } - redisDao.addNonFinalTaskFunc = func(ctx context.Context, spaceID string, taskID int64) error { - assert.Equal(t, "space", spaceID) - assert.Equal(t, int64(10), taskID) - return nil - } - redisDao.removeNonFinalTaskFunc = func(ctx context.Context, spaceID string, taskID int64) error { - assert.Equal(t, "space", spaceID) - assert.Equal(t, int64(10), taskID) - return nil - } - - repo := &TaskRepoImpl{ - TaskDao: &stubTaskDao{}, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - } - - list, err := repo.ListNonFinalTask(context.Background(), "space") - assert.NoError(t, err) - assert.Equal(t, expected, list) - - assert.NoError(t, repo.AddNonFinalTask(context.Background(), "space", 10)) - assert.NoError(t, repo.RemoveNonFinalTask(context.Background(), "space", 10)) -} - -func TestTaskRepoImpl_GetTaskByRedis(t *testing.T) { - t.Parallel() - - samplePO := &mysqlmodel.ObservabilityTask{ID: 100, WorkspaceID: 200, Name: "task"} - convertedDO := mysqlconv.TaskPO2DO(samplePO) - cachedTask := &entity.ObservabilityTask{ID: 1} - - tests := []struct { - name string - redisFunc func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) - mysqlFunc func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) - setFunc func(ctx context.Context, task *entity.ObservabilityTask) error - expectErr error - expectMysql bool - expectSet bool - expectResult *entity.ObservabilityTask - }{ - { - name: "cache hit", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { return cachedTask, nil }, - expectResult: cachedTask, - }, - { - name: "redis error", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { - return nil, errors.New("redis fail") - }, - expectErr: errors.New("redis fail"), - }, - { - name: "mysql error", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { - return nil, nil - }, - mysqlFunc: func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - return nil, errors.New("mysql fail") - }, - expectErr: errors.New("mysql fail"), - expectMysql: true, - }, - { - name: "mysql miss", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { return nil, nil }, - mysqlFunc: func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - return nil, nil - }, - expectMysql: true, - }, - { - name: "mysql hit and cache success", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { return nil, nil }, - mysqlFunc: func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - return samplePO, nil - }, - setFunc: func(ctx context.Context, task *entity.ObservabilityTask) error { - assert.Equal(t, convertedDO.ID, task.ID) - return nil - }, - expectMysql: true, - expectSet: true, - expectResult: convertedDO, - }, - { - name: "cache set fail", - redisFunc: func(ctx context.Context, taskID int64) (*entity.ObservabilityTask, error) { return nil, nil }, - mysqlFunc: func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - return samplePO, nil - }, - setFunc: func(ctx context.Context, task *entity.ObservabilityTask) error { - return errors.New("set fail") - }, - expectErr: errors.New("set fail"), - expectMysql: true, - expectSet: true, - }, - } - - for _, tt := range tests { - tt := tt - t.Run(tt.name, func(t *testing.T) { - t.Parallel() - - redisDao := &stubTaskRedisDao{getTaskFunc: tt.redisFunc, setTaskFunc: tt.setFunc} - taskDao := &stubTaskDao{getTaskFunc: tt.mysqlFunc} - repo := &TaskRepoImpl{ - TaskDao: taskDao, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - } - - var mysqlCalled, setCalled bool - if taskDao.getTaskFunc != nil { - original := taskDao.getTaskFunc - taskDao.getTaskFunc = func(ctx context.Context, id int64, workspaceID *int64, userID *string) (*mysqlmodel.ObservabilityTask, error) { - mysqlCalled = true - return original(ctx, id, workspaceID, userID) - } - } - if redisDao.setTaskFunc != nil { - original := redisDao.setTaskFunc - redisDao.setTaskFunc = func(ctx context.Context, task *entity.ObservabilityTask) error { - setCalled = true - return original(ctx, task) - } - } - - got, err := repo.GetTaskByRedis(context.Background(), 100) - if tt.expectErr != nil { - assert.EqualError(t, err, tt.expectErr.Error()) - } else { - assert.NoError(t, err) - } - assert.Equal(t, tt.expectMysql, mysqlCalled) - assert.Equal(t, tt.expectSet, setCalled) - assert.Equal(t, tt.expectResult, got) - }) - } -} - -func TestTaskRepoImpl_SetTask(t *testing.T) { - t.Parallel() - - called := false - redisDao := &stubTaskRedisDao{setTaskFunc: func(ctx context.Context, task *entity.ObservabilityTask) error { - called = true - assert.Equal(t, int64(1), task.ID) - return nil - }} - repo := &TaskRepoImpl{ - TaskDao: &stubTaskDao{}, - TaskRunDao: stubTaskRunDao{}, - TaskRedisDao: redisDao, - TaskRunRedisDao: stubTaskRunRedisDao{}, - } - - assert.NoError(t, repo.SetTask(context.Background(), &entity.ObservabilityTask{ID: 1})) - assert.True(t, called) -} diff --git a/backend/modules/observability/infra/repo/trace.go b/backend/modules/observability/infra/repo/trace.go index eaa9d7f4d..c1a58b981 100644 --- a/backend/modules/observability/infra/repo/trace.go +++ b/backend/modules/observability/infra/repo/trace.go @@ -163,20 +163,16 @@ func (t *TraceCkRepoImpl) GetTrace(ctx context.Context, req *repo.GetTraceParam) QueryType: ptr.Of(loop_span.QueryTypeEnumIn), }) } - filter.FilterFields = append(filter.FilterFields, &loop_span.FilterField{ - SubFilter: req.Filters, - }) st := time.Now() spans, err := t.spansDao.Get(ctx, &ck.QueryParam{ - QueryType: ck.QueryTypeGetTrace, - Tables: tableCfg.SpanTables, - AnnoTableMap: tableCfg.AnnoTableMap, - StartTime: time_util.MillSec2MicroSec(req.StartAt), - EndTime: time_util.MillSec2MicroSec(req.EndAt), - Filters: filter, - Limit: req.Limit, - OmitColumns: req.OmitColumns, - SelectColumns: req.SelectColumns, + QueryType: ck.QueryTypeGetTrace, + Tables: tableCfg.SpanTables, + AnnoTableMap: tableCfg.AnnoTableMap, + StartTime: time_util.MillSec2MicroSec(req.StartAt), + EndTime: time_util.MillSec2MicroSec(req.EndAt), + Filters: filter, + Limit: req.Limit, + OmitColumns: req.OmitColumns, }) if err != nil { return nil, err diff --git a/backend/modules/observability/infra/tenant/tenant.go b/backend/modules/observability/infra/tenant/tenant.go index bf939f499..e306e09ec 100644 --- a/backend/modules/observability/infra/tenant/tenant.go +++ b/backend/modules/observability/infra/tenant/tenant.go @@ -42,11 +42,7 @@ func (t *TenantProviderImpl) GetTenantsByPlatformType(ctx context.Context, platf if tenants, ok := cfg.Config[string(platform)]; ok { return tenants, nil } else { - if tenants, ok = cfg.Config[string(loop_span.PlatformDefault)]; ok { - return tenants, nil - } - defaultTenant := t.traceConfig.GetDefaultTraceTenant(ctx) - logs.CtxInfo(ctx, "tenant not found for platform [%s], use default tenant [%s]", platform, defaultTenant) - return []string{defaultTenant}, nil + logs.CtxError(ctx, "tenant not found for platform %s", platform) + return nil, errorx.NewByCode(obErrorx.CommercialCommonInvalidParamCodeCode, errorx.WithExtraMsg("tenant not found for the platform")) } } diff --git a/backend/modules/prompt/domain/component/trace/trace_span_convertor.go b/backend/modules/prompt/domain/component/trace/trace_span_convertor.go index f9feb92b4..b9cc8917c 100644 --- a/backend/modules/prompt/domain/component/trace/trace_span_convertor.go +++ b/backend/modules/prompt/domain/component/trace/trace_span_convertor.go @@ -14,7 +14,6 @@ func VariableValsToSpanPromptVariables(variables []*entity.VariableVal) []*trace if variables == nil { return nil } - spanVariables := make([]*tracespec.PromptArgument, 0, len(variables)) for _, variable := range variables { if variable == nil { diff --git a/backend/script/errorx/evaluation.yaml b/backend/script/errorx/evaluation.yaml index 6b5d0c92d..cfa432fb4 100644 --- a/backend/script/errorx/evaluation.yaml +++ b/backend/script/errorx/evaluation.yaml @@ -82,12 +82,6 @@ error_code: description: number of export in running has reached the maximum limit no_affect_stability: true - - name: CustomEvalTargetInvokeFail - code: 4010 - message: custom eval target invoke fail - description: custom eval target invoke fail - no_affect_stability: true - - name: ContentTypeNotSupported code: 5000 message: content type is not supported diff --git a/common/config/subspaces/default/pnpm-lock.yaml b/common/config/subspaces/default/pnpm-lock.yaml index 2b87f4342..3f4044926 100644 --- a/common/config/subspaces/default/pnpm-lock.yaml +++ b/common/config/subspaces/default/pnpm-lock.yaml @@ -1595,9 +1595,6 @@ importers: '@cozeloop/api-schema': specifier: workspace:* version: link:../api-schema - '@cozeloop/route-base': - specifier: workspace:* - version: link:../route ahooks: specifier: 3.7.8 version: 3.7.8(patch_hash=sa4ddrxdk2yhjzudeck6u5ww3i)(react@18.2.0) @@ -3253,43 +3250,6 @@ importers: specifier: ~3.0.5 version: 3.0.9(@types/node@18.18.9)(happy-dom@15.11.7) - ../../../frontend/packages/cozeloop/route: - dependencies: - react: - specifier: 18.2.0 - version: 18.2.0 - devDependencies: - '@coze-arch/eslint-config': - specifier: workspace:* - version: link:../../../config/eslint-config - '@coze-arch/ts-config': - specifier: workspace:* - version: link:../../../config/ts-config - '@coze-arch/vitest-config': - specifier: workspace:* - version: link:../../../config/vitest-config - '@testing-library/react': - specifier: ^14.1.2 - version: 14.3.1(react-dom@18.2.0)(react@18.2.0) - '@types/react': - specifier: 18.2.37 - version: 18.2.37 - '@vitest/coverage-v8': - specifier: ~3.0.5 - version: 3.0.9(vitest@3.0.9) - react-router-dom: - specifier: ^6.22.0 - version: 6.30.1(react-dom@18.2.0)(react@18.2.0) - sucrase: - specifier: ^3.32.0 - version: 3.35.0 - typescript: - specifier: 5.8.2 - version: 5.8.2 - vitest: - specifier: ~3.0.5 - version: 3.0.9(happy-dom@15.11.7) - ../../../frontend/packages/cozeloop/rsbuild-config: dependencies: '@coze-studio/bot-env-adapter': diff --git a/frontend/apps/cozeloop/src/index.css b/frontend/apps/cozeloop/src/index.css index 45441d526..3f9d804ff 100644 --- a/frontend/apps/cozeloop/src/index.css +++ b/frontend/apps/cozeloop/src/index.css @@ -105,6 +105,11 @@ body, height: 32px; } + .semi-select-small { + min-height: 28px; + height: 28px; + border-radius: 5px; + } .semi-select-with-prefix .semi-select-prefix-text { margin-right: 0; flex-shrink: 0; diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.eval_target.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.eval_target.ts index ef84a665e..c4981a91a 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.eval_target.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.eval_target.ts @@ -110,19 +110,6 @@ export interface ListSourceEvalTargetVersionsResponse { next_page_token?: string, has_more?: boolean, } -export interface MockEvalTargetOutputRequest { - workspace_id: string, - /** EvalTargetID参数实际上为SourceTargetID */ - source_target_id: string, - eval_target_version: string, - target_type: eval_target.EvalTargetType, -} -export interface MockEvalTargetOutputResponse { - eval_target?: eval_target.EvalTarget, - mock_output?: { - [key: string | number]: string - }, -} /** 创建评测对象 */ export const CreateEvalTarget = /*#__PURE__*/createAPI({ "url": "/api/evaluation/v1/eval_targets", @@ -252,17 +239,4 @@ export const BatchGetEvalTargetRecords = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/eval_targets/mock_output", - "method": "POST", - "name": "MockEvalTargetOutput", - "reqType": "MockEvalTargetOutputRequest", - "reqMapping": { - "body": ["workspace_id", "source_target_id", "eval_target_version", "target_type"] - }, - "resType": "MockEvalTargetOutputResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.eval_target", - "service": "evaluationEvalTarget" }); \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.evaluator.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.evaluator.ts index 932f993fd..ec3e4e7c8 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.evaluator.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.evaluator.ts @@ -123,8 +123,6 @@ export interface ListTemplatesResponse { export interface GetTemplateInfoRequest { builtin_template_type: evaluator.TemplateType, builtin_template_key: string, - /** code评估器默认python */ - language_type?: evaluator.LanguageType, } export interface GetTemplateInfoResponse { builtin_template?: evaluator.EvaluatorContent @@ -162,19 +160,6 @@ export interface DebugEvaluatorResponse { /** 输出数据 */ evaluator_output_data?: evaluator.EvaluatorOutputData } -export interface BatchDebugEvaluatorRequest { - /** 空间 id */ - workspace_id: string, - /** 待调试评估器内容 */ - evaluator_content: evaluator.EvaluatorContent, - /** 评测数据输入: 数据集行内容 + 评测目标输出内容与历史记录 + 评测目标的 trace */ - input_data: evaluator.EvaluatorInputData[], - evaluator_type: evaluator.EvaluatorType, -} -export interface BatchDebugEvaluatorResponse { - /** 输出数据 */ - evaluator_output_data?: evaluator.EvaluatorOutputData[] -} export interface DeleteEvaluatorRequest { evaluator_id?: string, workspace_id: string, @@ -230,17 +215,6 @@ export interface GetDefaultPromptEvaluatorToolsRequest {} export interface GetDefaultPromptEvaluatorToolsResponse { tools: evaluator.Tool[] } -export interface ValidateEvaluatorRequest { - workspace_id: string, - evaluator_content: evaluator.EvaluatorContent, - evaluator_type: evaluator.EvaluatorType, - input_data?: evaluator.EvaluatorInputData, -} -export interface ValidateEvaluatorResponse { - valid?: boolean, - error_message?: string, - evaluator_output_data?: evaluator.EvaluatorOutputData, -} /** * 评估器 * 按查询条件查询evaluator @@ -433,7 +407,7 @@ export const GetTemplateInfo = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/evaluators/batch_debug", - "method": "POST", - "name": "BatchDebugEvaluator", - "reqType": "BatchDebugEvaluatorRequest", - "reqMapping": { - "body": ["workspace_id", "evaluator_content", "input_data", "evaluator_type"] - }, - "resType": "BatchDebugEvaluatorResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.evaluator", - "service": "evaluationEvaluator" -}); /** * 评估器执行结果 * 修正evaluator运行分数 @@ -509,17 +470,4 @@ export const UpdateEvaluatorRecord = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/evaluators/validate", - "method": "POST", - "name": "ValidateEvaluator", - "reqType": "ValidateEvaluatorRequest", - "reqMapping": { - "body": ["workspace_id", "evaluator_content", "evaluator_type", "input_data"] - }, - "resType": "ValidateEvaluatorResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.evaluator", - "service": "evaluationEvaluator" }); \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.expt.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.expt.ts index 82ca46397..646af0e61 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.expt.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/coze.loop.evaluation.expt.ts @@ -299,64 +299,6 @@ export interface GetExptResultExportRecordRequest { export interface GetExptResultExportRecordResponse { expt_result_export_records?: expt.ExptResultExportRecord } -export interface GetExptInsightAnalysisRecordRequest { - workspace_id: string, - expt_id: string, - insight_analysis_record_id: string, - session?: common.Session, -} -export interface GetExptInsightAnalysisRecordResponse { - expt_insight_analysis_record?: expt.ExptInsightAnalysisRecord -} -export interface InsightAnalysisExperimentRequest { - workspace_id: string, - expt_id: string, - session?: common.Session, -} -export interface InsightAnalysisExperimentResponse { - insight_analysis_record_id: string -} -export interface ListExptInsightAnalysisRecordRequest { - workspace_id: string, - expt_id: string, - page_number?: number, - page_size?: number, - session?: common.Session, -} -export interface ListExptInsightAnalysisRecordResponse { - expt_insight_analysis_records: expt.ExptInsightAnalysisRecord[], - total?: number, -} -export interface DeleteExptInsightAnalysisRecordRequest { - workspace_id: string, - expt_id: string, - insight_analysis_record_id: string, - session?: common.Session, -} -export interface DeleteExptInsightAnalysisRecordResponse {} -export interface FeedbackExptInsightAnalysisReportRequest { - workspace_id: string, - expt_id: string, - insight_analysis_record_id: string, - feedback_action_type: expt.FeedbackActionType, - comment?: string, - /** 用于更新comment */ - comment_id?: string, - session?: common.Session, -} -export interface FeedbackExptInsightAnalysisReportResponse {} -export interface ListExptInsightAnalysisCommentRequest { - workspace_id: string, - expt_id: string, - insight_analysis_record_id: string, - page_number?: number, - page_size?: number, - session?: common.Session, -} -export interface ListExptInsightAnalysisCommentResponse { - expt_insight_analysis_feedback_comments: expt.ExptInsightAnalysisFeedbackComment[], - total?: number, -} export const CheckExperimentName = /*#__PURE__*/createAPI({ "url": "/api/evaluation/v1/experiments/check_name", "method": "POST", @@ -602,83 +544,4 @@ export const GetExptResultExportRecord = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis", - "method": "POST", - "name": "InsightAnalysisExperiment", - "reqType": "InsightAnalysisExperimentRequest", - "reqMapping": { - "body": ["workspace_id", "session"], - "path": ["expt_id"] - }, - "resType": "InsightAnalysisExperimentResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" -}); -export const ListExptInsightAnalysisRecord = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/list", - "method": "POST", - "name": "ListExptInsightAnalysisRecord", - "reqType": "ListExptInsightAnalysisRecordRequest", - "reqMapping": { - "body": ["workspace_id", "page_number", "page_size", "session"], - "path": ["expt_id"] - }, - "resType": "ListExptInsightAnalysisRecordResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" -}); -export const DeleteExptInsightAnalysisRecord = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id", - "method": "DELETE", - "name": "DeleteExptInsightAnalysisRecord", - "reqType": "DeleteExptInsightAnalysisRecordRequest", - "reqMapping": { - "body": ["workspace_id", "session"], - "path": ["expt_id", "insight_analysis_record_id"] - }, - "resType": "DeleteExptInsightAnalysisRecordResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" -}); -export const GetExptInsightAnalysisRecord = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id", - "method": "POST", - "name": "GetExptInsightAnalysisRecord", - "reqType": "GetExptInsightAnalysisRecordRequest", - "reqMapping": { - "body": ["workspace_id", "session"], - "path": ["expt_id", "insight_analysis_record_id"] - }, - "resType": "GetExptInsightAnalysisRecordResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" -}); -export const FeedbackExptInsightAnalysisReport = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id/feedback", - "method": "POST", - "name": "FeedbackExptInsightAnalysisReport", - "reqType": "FeedbackExptInsightAnalysisReportRequest", - "reqMapping": { - "body": ["workspace_id", "feedback_action_type", "comment", "comment_id", "session"], - "path": ["expt_id", "insight_analysis_record_id"] - }, - "resType": "FeedbackExptInsightAnalysisReportResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" -}); -export const ListExptInsightAnalysisComment = /*#__PURE__*/createAPI({ - "url": "/api/evaluation/v1/experiments/:expt_id/insight_analysis_records/:insight_analysis_record_id/comments/list", - "method": "POST", - "name": "ListExptInsightAnalysisComment", - "reqType": "ListExptInsightAnalysisCommentRequest", - "reqMapping": { - "body": ["workspace_id", "page_number", "page_size", "session"], - "path": ["expt_id", "insight_analysis_record_id"] - }, - "resType": "ListExptInsightAnalysisCommentResponse", - "schemaRoot": "api://schemas/evaluation_coze.loop.evaluation.expt", - "service": "evaluationExpt" }); \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/evaluator.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/evaluator.ts index 17a064fc0..820eb1b88 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/evaluator.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/evaluator.ts @@ -7,9 +7,8 @@ export enum EvaluatorType { Code = 2, } export enum LanguageType { - Python = "Python", - /** 空间 */ - JS = "JS", + Python = 1, + JS = 2, } export enum PromptSourceType { BuiltinTemplate = 1, @@ -50,10 +49,7 @@ export interface PromptEvaluator { } export interface CodeEvaluator { language_type?: LanguageType, - code_content?: string, - /** code类型评估器模板中code_template_key + language_type是唯一键 */ - code_template_key?: string, - code_template_name?: string, + code?: string, } export interface EvaluatorVersion { /** 版本id */ @@ -108,7 +104,6 @@ export interface EvaluatorOutputData { evaluator_usage?: EvaluatorUsage, evaluator_run_error?: EvaluatorRunError, time_consuming_ms?: string, - stdout?: string, } export interface EvaluatorResult { score?: number, @@ -128,13 +123,4 @@ export interface EvaluatorInputData { input_fields?: { [key: string | number]: common.Content }, - evaluate_dataset_fields?: { - [key: string | number]: common.Content - }, - evaluate_target_output_fields?: { - [key: string | number]: common.Content - }, - ext?: { - [key: string | number]: string - }, } \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/expt.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/expt.ts index f7b4d2ed5..776d71515 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/expt.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/evaluation/domain/expt.ts @@ -442,57 +442,4 @@ export interface ExptResultExportRecord { URL?: string, expired?: boolean, error?: RunError, -} -/** 分析任务状态 */ -export enum InsightAnalysisStatus { - Unknown = "Unknown", - Running = "Running", - Success = "Success", - Failed = "Failed", -} -/** 投票类型 */ -export enum InsightAnalysisReportVoteType { - /** 未投票 */ - None = "None", - /** 点赞 */ - Upvote = "Upvote", - /** 点踩 */ - Downvote = "Downvote", -} -/** 洞察分析记录 */ -export interface ExptInsightAnalysisRecord { - record_id: string, - workspace_id: string, - expt_id: string, - analysis_status: InsightAnalysisStatus, - analysis_report_id?: string, - analysis_report_content?: string, - expt_insight_analysis_feedback?: ExptInsightAnalysisFeedback, - base_info?: common.BaseInfo, -} -/** 洞察分析反馈统计 */ -export interface ExptInsightAnalysisFeedback { - upvote_cnt?: number, - downvote_cnt?: number, - /** 当前用户点赞状态,用于展示用户是否已点赞点踩 */ - current_user_vote_type?: InsightAnalysisReportVoteType, -} -/** 洞察分析反馈评论 */ -export interface ExptInsightAnalysisFeedbackComment { - comment_id: string, - workspace_id: string, - expt_id: string, - record_id: string, - content: string, - base_info?: common.BaseInfo, -} -/** 反馈动作 */ -export enum FeedbackActionType { - Upvote = "Upvote", - Cancel_Upvote = "Cancel_Upvote", - Downvote = "Downvote", - Cancel_Downvote = "Cancel_Downvote", - Create_Comment = "Create_Comment", - Update_Comment = "Update_Comment", - Delete_Comment = "Delete_Comment", } \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/llm/domain/common.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/llm/domain/common.ts index a8e400ace..6f840f2ef 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/llm/domain/common.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/llm/domain/common.ts @@ -1,7 +1,6 @@ export enum Scenario { scenario_default = "default", scenario_prompt_debug = "prompt_debug", - scenario_prompt_as_a_service = "prompt_as_a_service", scenario_eval_target = "eval_target", scenario_evaluator = "evaluator", } \ No newline at end of file diff --git a/frontend/packages/cozeloop/api-schema/src/api/idl/observability/domain/filter.ts b/frontend/packages/cozeloop/api-schema/src/api/idl/observability/domain/filter.ts index e0935b20f..c06c5bfd1 100644 --- a/frontend/packages/cozeloop/api-schema/src/api/idl/observability/domain/filter.ts +++ b/frontend/packages/cozeloop/api-schema/src/api/idl/observability/domain/filter.ts @@ -10,7 +10,6 @@ export enum QueryType { NotExist = "not_exist", In = "in", not_In = "not_in", - NotMatch = "not_match", } export enum QueryRelation { And = "and", diff --git a/frontend/packages/cozeloop/biz-hooks/package.json b/frontend/packages/cozeloop/biz-hooks/package.json index 584f0b994..f1cfc4903 100644 --- a/frontend/packages/cozeloop/biz-hooks/package.json +++ b/frontend/packages/cozeloop/biz-hooks/package.json @@ -13,7 +13,6 @@ "dependencies": { "@cozeloop/account": "workspace:*", "@cozeloop/api-schema": "workspace:*", - "@cozeloop/route-base": "workspace:*", "ahooks": "^3.7.8", "zustand": "^4.4.7" }, @@ -21,8 +20,8 @@ "@coze-arch/eslint-config": "workspace:*", "@coze-arch/ts-config": "workspace:*", "@coze-arch/vitest-config": "workspace:*", - "@types/node": "^18", "@types/react": "18.2.37", + "@types/node": "^18", "@vitest/coverage-v8": "~3.0.5", "react-router-dom": "^6.22.0", "sucrase": "^3.32.0", diff --git a/frontend/packages/cozeloop/biz-hooks/src/index.ts b/frontend/packages/cozeloop/biz-hooks/src/index.ts index 545d4fdea..b033c41f8 100644 --- a/frontend/packages/cozeloop/biz-hooks/src/index.ts +++ b/frontend/packages/cozeloop/biz-hooks/src/index.ts @@ -31,5 +31,3 @@ export { type ListDatasetImportTemplateReq, type ListDatasetImportTemplateResp, } from './dataset-template-download'; - -export { useOpenWindow } from './route'; diff --git a/frontend/packages/cozeloop/biz-hooks/src/route/index.ts b/frontend/packages/cozeloop/biz-hooks/src/route/index.ts deleted file mode 100644 index 33ac9643d..000000000 --- a/frontend/packages/cozeloop/biz-hooks/src/route/index.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { useOpenWindow } from './use-open-window'; -export { useNavigateModule } from './use-navigate-module'; -export { useRouteInfo } from './use-route-info'; -export { useNavigate } from 'react-router-dom'; -export { useCozeLocation } from './use-coze-location'; diff --git a/frontend/packages/cozeloop/biz-hooks/src/route/use-coze-location.ts b/frontend/packages/cozeloop/biz-hooks/src/route/use-coze-location.ts deleted file mode 100644 index 64f216b6a..000000000 --- a/frontend/packages/cozeloop/biz-hooks/src/route/use-coze-location.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * 获取coze 相关地址信息 - * @returns - */ -export function useCozeLocation() { - const cozeOrigin = window.location.origin.replace('loop.', ''); - - return { - origin: cozeOrigin, - }; -} diff --git a/frontend/packages/cozeloop/biz-hooks/src/route/use-navigate-module.ts b/frontend/packages/cozeloop/biz-hooks/src/route/use-navigate-module.ts deleted file mode 100644 index 24919ce93..000000000 --- a/frontend/packages/cozeloop/biz-hooks/src/route/use-navigate-module.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createUseNavigateModule } from '@cozeloop/route-base'; - -import { useRouteInfo } from './use-route-info'; - -export const useNavigateModule = createUseNavigateModule(useRouteInfo); diff --git a/frontend/packages/cozeloop/biz-hooks/src/route/use-open-window.ts b/frontend/packages/cozeloop/biz-hooks/src/route/use-open-window.ts deleted file mode 100644 index ef5391002..000000000 --- a/frontend/packages/cozeloop/biz-hooks/src/route/use-open-window.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { createUseOpenWindow, type UseOpenWindow } from '@cozeloop/route-base'; - -import { useRouteInfo } from './use-route-info'; - -export const useOpenWindow: UseOpenWindow = createUseOpenWindow(useRouteInfo); diff --git a/frontend/packages/cozeloop/biz-hooks/src/route/use-route-info.ts b/frontend/packages/cozeloop/biz-hooks/src/route/use-route-info.ts deleted file mode 100644 index 0d9687498..000000000 --- a/frontend/packages/cozeloop/biz-hooks/src/route/use-route-info.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useParams } from 'react-router-dom'; -import { useCallback, useMemo } from 'react'; - -import { - type RouteInfo, - type UseRouteInfo, - type RouteInfoURLParams, -} from '@cozeloop/route-base'; - -const PREFIX = '/console'; - -const getBaseURLBase = (params: RouteInfoURLParams) => { - let baseURL = PREFIX; - - if (params.enterpriseID) { - baseURL += `/enterprise/${params.enterpriseID}`; - } - if (params.organizeID) { - baseURL += `/organize/${params.organizeID}`; - } - if (params.spaceID) { - baseURL += `/space/${params.spaceID}`; - } - - return baseURL; -}; - -export const useRouteInfo: UseRouteInfo = () => { - const { enterpriseID, organizeID, spaceID } = useParams<{ - enterpriseID: string; - spaceID: string; - organizeID: string; - }>(); - - const { pathname } = window.location ?? {}; - - const routeInfo = useMemo(() => { - const baseURL = getBaseURLBase({ - enterpriseID, - organizeID, - spaceID, - }); - - const subPath = pathname.replace(baseURL, ''); - - const [, app, subModule, detail] = subPath.split('/'); - - return { - baseURL, - app, - subModule, - detail, - }; - }, [pathname, enterpriseID, organizeID, spaceID]); - - const getBaseURL: RouteInfo['getBaseURL'] = useCallback( - params => - getBaseURLBase({ - enterpriseID, - organizeID, - spaceID, - ...params, - }), - [enterpriseID, organizeID, spaceID], - ); - - return { - enterpriseID, - organizeID, - spaceID, - getBaseURL, - ...routeInfo, - }; -}; diff --git a/frontend/packages/cozeloop/evaluate-components/src/components/dataset-detail/table/use-batch-select.tsx b/frontend/packages/cozeloop/evaluate-components/src/components/dataset-detail/table/use-batch-select.tsx index 14f88a044..673a17c64 100644 --- a/frontend/packages/cozeloop/evaluate-components/src/components/dataset-detail/table/use-batch-select.tsx +++ b/frontend/packages/cozeloop/evaluate-components/src/components/dataset-detail/table/use-batch-select.tsx @@ -1,7 +1,6 @@ -/* eslint-disable @coze-arch/max-line-per-function */ // Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 -import { useMemo, useState } from 'react'; +import { useState } from 'react'; import { sendEvent, EVENT_NAMES } from '@cozeloop/tea-adapter'; import { I18n } from '@cozeloop/i18n-adapter'; @@ -24,13 +23,10 @@ export const useBatchSelect = ({ itemList, onDelete, datasetDetail, - // 最大选择数量, 当选择数量达到最大选择数量时, 禁用添加新数据, 默认不限制 - maxNumber, }: { itemList?: EvaluationSetItem[]; - onDelete?: () => void; + onDelete: () => void; datasetDetail?: EvaluationSet | undefined; - maxNumber?: number; }) => { const { spaceID } = useSpace(); const [batchSelectItems, setBatchSelectedItems] = useState>( @@ -40,31 +36,13 @@ export const useBatchSelect = ({ const handleBatchSelect = e => { if (e.target.checked) { - if (maxNumber) { - // 当存在maxNumber限制时,从itemList中按顺序取出maxNumber减去batchSelectItems大小差值的数量 - const availableSlots = maxNumber - batchSelectItems.size; - - if (availableSlots > 0) { - const itemListIds = - itemList?.map(item => item.item_id as string) || []; - // 剔除已经存在于batchSelectItems中的项目 - const availableItems = itemListIds.filter( - itemId => !batchSelectItems.has(itemId), - ); - const newItems = availableItems.slice(0, availableSlots); - setBatchSelectedItems(new Set([...batchSelectItems, ...newItems])); - } - } else { - // 没有限制时,选择所有itemList中的项目 - setBatchSelectedItems( - new Set([ - ...(itemList?.map(item => item.item_id as string) || []), - ...batchSelectItems, - ]), - ); - } + setBatchSelectedItems( + new Set([ + ...(itemList?.map(item => item.item_id as string) || []), + ...batchSelectItems, + ]), + ); } else { - // 如果超出限制 const newSet = Array.from(batchSelectItems).filter( item => !itemList?.some(set => set.item_id === item), ); @@ -82,18 +60,9 @@ export const useBatchSelect = ({ } }; - const disableAddNew = useMemo(() => { - if (!maxNumber) { - return false; - } - - return batchSelectItems.size >= maxNumber; - }, [batchSelectItems, maxNumber]); - const selectColumn: ColumnProps = { title: ( batchSelectItems.has(item.item_id as string), )} @@ -103,21 +72,16 @@ export const useBatchSelect = ({ key: 'check', width: 50, fixed: 'left', - render: (_, record) => { - const isChecked = batchSelectItems.has(record.item_id as string); - const isDisabled = !isChecked && disableAddNew; - return ( -
e.stopPropagation()}> - { - handleSingleSelect(e, record.item_id as string); - }} - /> -
- ); - }, + render: (_, record) => ( +
e.stopPropagation()}> + { + handleSingleSelect(e, record.item_id as string); + }} + /> +
+ ), }; const EnterBatchSelectButton = ( - - - - {/* 测试数据构造弹窗 */} - - - ); -}; - -export default EvalSetTestData; -// end_aigc diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/func-executor.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/func-executor.tsx deleted file mode 100755 index de67b30e7..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/func-executor.tsx +++ /dev/null @@ -1,185 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useCallback } from 'react'; - -import { CodeEditor, type Monaco } from '@cozeloop/components'; -import { - type CommonFieldProps, - Select, - withField, -} from '@coze-arch/coze-design'; - -import { CodeEvaluatorLanguageFE } from '@/constants'; - -import type { BaseFuncExecutorProps } from '../types'; -import { I18n } from '@cozeloop/i18n-adapter'; - -const languageOptions = [ - { label: 'JavaScript', value: CodeEvaluatorLanguageFE.Javascript }, - { label: 'Python', value: CodeEvaluatorLanguageFE.Python }, -]; - -const handleEditorDidMount = ( - monaco: Monaco, - language?: CodeEvaluatorLanguageFE, -) => { - // 配置 Python 语言服务 - if (language === CodeEvaluatorLanguageFE.Python) { - // 设置 Python 特定的配置 - monaco.languages.setLanguageConfiguration('python', { - comments: { - lineComment: '#', - blockComment: ['"""', '"""'], - }, - brackets: [ - ['{', '}'], - ['[', ']'], - ['(', ')'], - ], - autoClosingPairs: [ - { open: '{', close: '}' }, - { open: '[', close: ']' }, - { open: '(', close: ')' }, - { open: '"', close: '"', notIn: ['string'] }, - { open: "'", close: "'", notIn: ['string', 'comment'] }, - ], - surroundingPairs: [ - { open: '{', close: '}' }, - { open: '[', close: ']' }, - { open: '(', close: ')' }, - { open: '"', close: '"' }, - { open: "'", close: "'" }, - ], - }); - } -}; - -const getDefaultCode = (language: CodeEvaluatorLanguageFE): string => { - if (language === CodeEvaluatorLanguageFE.Javascript) { - return `function exec_evaluation(eval_input) { - // 在这里编写你的评估逻辑 - // input: 输入数据 - // output: 模型输出 - // expected: 期望输出 - - // 返回评估结果对象 - return { - score: 1.0, // 分数 (0-1) - description: "评估通过" - }; -}`; - } - - return `def exec_evaluation(eval_input): - """ - 在这里编写你的评估逻辑 - input: 输入数据 - output: 模型输出 - expected: 期望输出 - - 返回评估结果字典 - """ - return { - "score": 1.0, # 分数 (0-1) - "description": "评估通过" - }`; -}; - -// 基础组件实现 -export const BaseFuncExecutor: React.FC = ({ - value, - onChange, - disabled, - editorHeight, -}) => { - const { language, code } = value || {}; - const handleLanguageChange = useCallback( - (newLanguage: CodeEvaluatorLanguageFE) => { - // 切换语言, 重置默认代码 - const defaultCode = getDefaultCode(newLanguage); - onChange?.({ language: newLanguage, code: defaultCode }); - }, - [onChange], - ); - - const handleCodeChange = useCallback( - (newValue: string | undefined) => { - onChange?.({ ...value, code: newValue || '' }); - }, - [onChange, value], - ); - - return ( -
- {/* Header */} - {/* start_aigc */} -
-

- {I18n.t('evaluate_func_body')} -

- -
- {/* end_aigc */} - - {/* Code Editor */} -
- handleEditorDidMount(monaco, language)} - options={{ - minimap: { enabled: false }, - scrollBeyondLastLine: false, - wordWrap: 'on', - fontSize: 12, - lineNumbers: 'on', - folding: true, - automaticLayout: true, - readOnly: disabled, - }} - theme="vs-light" - height={editorHeight || '500px'} - /> -
-
- ); -}; - -// 使用withField包装组件 -const FuncExecutor: React.ComponentType< - BaseFuncExecutorProps & CommonFieldProps -> = withField(BaseFuncExecutor); - -export default FuncExecutor; diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.module.less b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.module.less deleted file mode 100644 index 7484b5ce7..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.module.less +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (c) 2025 coze-dev Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -/* stylelint-disable order/properties-order */ -/* stylelint-disable comment-empty-line-before */ -/* start_aigc */ -.custom-collapse-panel-wrapper { - background-color: #F7F7FC; - border-radius: 8px; - border: 1px solid #52649A13; - - :global(.semi-collapse-header) { - height: 36px; - margin: 0; - padding: 8px 8px 8px 10px; - } - - :global(.semi-collapse-content) { - padding: 0; - } - - :global(.semi-collapse-header-right) { - margin-left: auto; - } -} -/* end_aigc */ diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.tsx deleted file mode 100755 index fcc7d6a79..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/editor-group/index.tsx +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// start_aigc -import React, { useRef, useState, useCallback } from 'react'; - -import cls from 'classnames'; - -import type { EditorGroupProps } from '../types'; -import FuncExecutor from './func-executor'; -import DataSetConfig from './data-set-config'; - -export const EditorGroup: React.FC = props => { - const { fieldPath = '', disabled, editorHeight } = props; - const [leftWidth, setLeftWidth] = useState(50); // 左侧宽度百分比 - const [isDragging, setIsDragging] = useState(false); - const containerRef = useRef(null); - - const handleMouseDown = useCallback((e: React.MouseEvent) => { - e.preventDefault(); - setIsDragging(true); - }, []); - - const handleMouseMove = useCallback( - (e: MouseEvent) => { - if (!isDragging || !containerRef.current) { - return; - } - - const container = containerRef.current; - const containerRect = container.getBoundingClientRect(); - const newLeftWidth = - ((e.clientX - containerRect.left) / containerRect.width) * 100; - - // 限制宽度范围在 30% - 70% 之间 - const clampedWidth = Math.max(30, Math.min(70, newLeftWidth)); - setLeftWidth(clampedWidth); - }, - [isDragging], - ); - - const handleMouseUp = useCallback(() => { - setIsDragging(false); - }, []); - - // 添加全局鼠标事件监听 - React.useEffect(() => { - if (isDragging) { - document.addEventListener('mousemove', handleMouseMove); - document.addEventListener('mouseup', handleMouseUp); - document.body.style.cursor = 'col-resize'; - document.body.style.userSelect = 'none'; - - return () => { - document.removeEventListener('mousemove', handleMouseMove); - document.removeEventListener('mouseup', handleMouseUp); - document.body.style.cursor = ''; - document.body.style.userSelect = ''; - }; - } - }, [isDragging, handleMouseMove, handleMouseUp]); - - return ( -
- {/* Content - Left and Right Panels */} -
- {/* Left Panel - Function Executor */} -
- -
- - {/* Resizer */} -
- - {/* Right Panel - Data Set Config */} -
- -
-
-
- ); -}; - -export default EditorGroup; -// end_aigc diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/index.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/index.tsx deleted file mode 100755 index fbbc4e630..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/index.tsx +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { type CommonFieldProps, withField } from '@coze-arch/coze-design'; - -import type { CodeEvaluatorConfigProps } from './types'; -import TrialOperationResults from './trial-operation-results'; -import EditorGroup from './editor-group'; -import { useEffect, useMemo, useRef, useState } from 'react'; - -export const BaseCodeEvaluatorConfig: React.FC< - CodeEvaluatorConfigProps -> = props => { - const { - value, - disabled, - fieldPath, - debugLoading, - resultsClassName, - editorHeight, - } = props; - const { runResults = [] } = value || {}; - // 处理值变更的统一方法 - - const editorGroupContainerRef = useRef(null); - const [editorGroupHeight, setEditorGroupHeight] = useState< - number | undefined - >(); // 初始高度 - - useEffect(() => { - const parent = editorGroupContainerRef.current; - if (!parent) { - return; - } - - // 初始化高度(减去内边距) - const updateHeight = () => { - const targetHeight = parent.offsetHeight; // 父容器总高度(含 padding、border) - const newHeight = targetHeight - 44; - const diff = Math.abs(newHeight - (editorGroupHeight || 0)); - - // 没有高度时,使用当前计算高度 - if (editorGroupHeight === undefined || diff > 18) { - setEditorGroupHeight(newHeight); - return; - } - }; - - // 初始计算 - updateHeight(); - - // 监听父容器尺寸变化 - const observer = new ResizeObserver(updateHeight); - observer.observe(parent); - - // 清理监听 - return () => observer.unobserve(parent); - }, []); - - const memoizedEditorHeight = useMemo(() => { - if (editorHeight) { - return editorHeight; - } - - return `${editorGroupHeight}px` || '100%'; - }, [editorGroupHeight, editorHeight]); - - return ( -
- {/* Editor Group */} -
- -
- {/* Trial Operation Results */} - {(runResults && runResults.length > 0) || debugLoading ? ( -
- -
- ) : null} -
- ); -}; - -// 使用withField包装组件 -const CodeEvaluatorConfig: React.ComponentType< - CodeEvaluatorConfigProps & CommonFieldProps -> = withField(BaseCodeEvaluatorConfig); - -export default CodeEvaluatorConfig; diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/common-table.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/common-table.tsx deleted file mode 100755 index 77916c78d..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/common-table.tsx +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -{ - /* start_aigc */ -} -import { useMemo, useEffect } from 'react'; - -import { usePagination } from 'ahooks'; -import { useBatchSelect } from '@cozeloop/evaluate-components/src/components/dataset-detail/table/use-batch-select'; -import { getFieldColumnConfig } from '@cozeloop/evaluate-components'; -import { TableWithPagination } from '@cozeloop/components'; -import { Typography } from '@coze-arch/coze-design'; - -import { MAX_SELECT_COUNT } from '@/constants/code-evaluator'; - -import type { CommonTableProps } from '../types'; - -const CommonTable: React.FC = ({ - data, - onSelectionChange, - loading = false, - fieldSchemas = [], - supportMultiSelect = false, - pageSize = 10, - defaultPageSize = 10, - showSizeChanger = true, - pageSizeOptions = [10, 20, 50], - prevCount, -}) => { - // 使用分页hook - const paginationService = usePagination( - (paginationData: { current: number; pageSize?: number }) => { - const { current, pageSize: currentPageSize } = paginationData; - const pageSizeToUse = currentPageSize || pageSize; - - // 计算分页数据 - const startIndex = (current - 1) * pageSizeToUse; - const endIndex = startIndex + pageSizeToUse; - const paginatedData = data.slice(startIndex, endIndex); - - return Promise.resolve({ - total: data.length, - list: paginatedData, - }); - }, - { - defaultPageSize, - refreshDeps: [data], - }, - ); - - const maxCount = useMemo( - () => (prevCount ? MAX_SELECT_COUNT - prevCount : MAX_SELECT_COUNT), - [prevCount], - ); - - // 使用批量选择hook - const { selectColumn, batchSelectItems } = useBatchSelect({ - itemList: paginationService.data?.list || [], - datasetDetail: undefined, - maxNumber: maxCount, - }); - - const columns = useMemo(() => { - const result = - fieldSchemas?.map(field => - getFieldColumnConfig({ - field, - prefix: 'trunFieldData.fieldDataMap.', - expand: false, - editNode: null, - }), - ) || []; - return result; - }, [fieldSchemas]); - - // 同步多选状态到批量选择hook - useEffect(() => { - if (supportMultiSelect) { - onSelectionChange?.(new Set(batchSelectItems)); - } - }, [batchSelectItems, onSelectionChange, supportMultiSelect]); - - // 创建一个自定义的多选头部,与原多选头部样式保持一致 - const CustomMultiSelectHeader = useMemo( - () => ( -
-
- {`选择数据(${batchSelectItems.size}/${maxCount})`} -
-
- ), - [batchSelectItems.size], - ); - - // 使用分页service对象 - const service = useMemo( - () => ({ - data: paginationService.data, - loading: paginationService.loading || loading, - mutate: paginationService.mutate, - pagination: paginationService.pagination, - }), - [paginationService, loading], - ); - - return ( - - ); -}; - -export default CommonTable; -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.module.less b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.module.less deleted file mode 100644 index 745d1fb3f..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.module.less +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (c) 2025 coze-dev Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -/* stylelint-disable declaration-no-important */ -.eval-set-test-data-modal { - :global(.semi-modal-footer) { - display: none; - } - - :global(.semi-modal-body) { - overflow: auto !important; - } - - :global(.evaluate-target-mapping-field-wrapper) { - display: none; - } - - :global { - .coz-table-wrapper .coz-empty-content .semi-table-thead > .semi-table-row > .semi-table-row-head:last-child, .coz-table-wrapper .coz-table-list .semi-table-thead > .semi-table-row > .semi-table-row-head:last-child, .coz-table-wrapper .coz-empty-content .semi-table-tbody > .semi-table-row > .semi-table-row-cell:last-child, .coz-table-wrapper .coz-table-list .semi-table-tbody > .semi-table-row > .semi-table-row-cell:last-child { - text-align: center; - } - - /* start_aigc */ - thead > tr:first-child > th:last-child > :first-child > :first-child { - /* 这里可以添加你需要的样式 */ - justify-content: center; - } - - /* end_aigc */ - } -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.tsx deleted file mode 100755 index a982e73cf..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/index.tsx +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useCallback, useRef, useState } from 'react'; - -import { type EvaluationSetItemTableData } from '@cozeloop/evaluate-components'; -import { - type FieldData, - type FieldSchema, -} from '@cozeloop/api-schema/evaluation'; -import { Modal, Form } from '@coze-arch/coze-design'; - -import { StepVisibleWrapper } from '@/pages/experiment/create/components/step-visible-wrapper'; - -import type { ModalState, TestDataItem, TestDataModalProps } from '../types'; -import { StepIndicator } from '../../../pages/experiment/create/components/step-navigator/step-indicator'; -import StepTwoEvaluateTarget from './step-two-evaluate-target'; -import StepThreeGenerateOutput from './step-three-generate-output'; -import StepOneEvaluateSet from './step-one-evaluate-set'; - -import styles from './index.module.less'; - -// start_aigc -/** - * 转换测试数据格式,将复杂的嵌套结构简化为只包含 content_type 和 text 的格式 - */ -const transformTestDataItem = (item: TestDataItem) => { - // 转换 evaluate_dataset_fields - const fromEvalSetFields = item?.evaluate_dataset_fields || {}; - const transformedFromEvalSetFields: Record = Object.keys( - fromEvalSetFields, - ).reduce( - (acc, key) => { - const field = fromEvalSetFields[key]; - const content = field?.content; - if (content) { - acc[key] = { - content_type: content.content_type, - text: content.text, - }; - if (content?.multi_part) { - acc[key].multi_part = content.multi_part; - } - } - return acc; - }, - {} satisfies Record, - ); - - // 转换 evaluate_target_output_fields - const fromEvalTargetFields = item?.evaluate_target_output_fields || {}; - const transformedFromEvalTargetFields: Record = - Object.keys(fromEvalTargetFields).reduce( - (acc, key) => { - const field = fromEvalTargetFields[key]; - const content = field?.content; - if (content) { - acc[key] = { - content_type: content.content_type, - text: content.text, - }; - if (content?.multi_part) { - acc[key].multi_part = content.multi_part; - } - } - return acc; - }, - {} satisfies Record, - ); - - return { - evaluate_dataset_fields: transformedFromEvalSetFields, - evaluate_target_output_fields: transformedFromEvalTargetFields, - ext: item.ext || {}, - }; -}; -// end_aigc - -const steps = [ - { title: '评测集', guardPoint: '' }, - { title: '评测对象', guardPoint: '' }, - { title: '生成模拟输出', guardPoint: '' }, -]; - -const TestDataModal: React.FC = ({ - visible, - onClose, - onImport, - prevCount, -}) => { - const formRef = useRef>(null); - const [localStep, setLocalStep] = useState(0); - const [fieldSchemas, setFieldSchemas] = useState([]); - - const [evaluationSetData, setEvaluationSetData] = useState< - EvaluationSetItemTableData[] - >([]); - - const resetModal = useCallback(() => { - formRef.current?.formApi?.reset(); - formRef.current?.formApi?.setValues({ - currentStep: 0, - selectedItems: undefined, - }); - setEvaluationSetData([]); - setLocalStep(0); - }, []); - - const handleClose = useCallback(() => { - resetModal(); - onClose(); - }, [resetModal, onClose]); - - const handlePrevStep = useCallback(() => { - const formApi = formRef.current?.formApi; - const currentStep = formApi?.getValue('currentStep') || 0; - if (currentStep > 0) { - const newStep = currentStep - 1; - formApi?.setValue('currentStep', newStep); - setLocalStep(newStep); - } - }, []); - - const handleNextStep = useCallback(() => { - const formApi = formRef.current?.formApi; - const currentStep = formApi?.getValue('currentStep') || 0; - if (currentStep < 2) { - const newStep = currentStep + 1; - formApi?.setValue('currentStep', newStep); - setLocalStep(newStep); - } - }, []); - - const handleImport = useCallback( - ( - data: TestDataItem[], - originSelectedData?: EvaluationSetItemTableData[], - ) => { - const importPayload = data.map(transformTestDataItem); - onImport(importPayload, originSelectedData); - resetModal(); - }, - [onImport, resetModal], - ); - - return ( - - -
- {/* 使用复用的步骤指示器 */} - - {/* 步骤内容 */} - - - - - - - - - -
-
- ); -}; - -export default TestDataModal; diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-one-evaluate-set.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-one-evaluate-set.tsx deleted file mode 100755 index accccb5d0..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-one-evaluate-set.tsx +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* eslint-disable @coze-arch/max-line-per-function */ -{ - /* start_aigc */ -} -import { useCallback, useState } from 'react'; - -import { useRequest } from 'ahooks'; -import { - convertEvaluationSetItemListToTableData, - EvaluateSetSelect, - EvaluateSetVersionSelect, -} from '@cozeloop/evaluate-components'; -import { useSpace } from '@cozeloop/biz-hooks-adapter'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { IconCozLoading } from '@coze-arch/coze-design/icons'; -import { - Button, - Tooltip, - withField, - useFormState, -} from '@coze-arch/coze-design'; - -import type { StepOneEvaluateSetProps } from '../types'; -import CommonTable from './common-table'; - -const FormEvaluateSetSelect = withField(EvaluateSetSelect); - -const StepOneEvaluateSet: React.FC = ({ - formRef, - onImport, - onNextStep, - evaluationSetData, - setEvaluationSetData, - fieldSchemas, - setFieldSchemas, - prevCount, -}) => { - const { spaceID } = useSpace(); - - const [isEmpty, setIsEmpty] = useState(true); - - const formState = useFormState(); - - const { values: formValues } = formState; - - // 获取真实的评测集数据 - const { loading: dataLoading, run: loadEvaluationSetData } = useRequest( - async (evaluationSetId: string, versionId: string) => { - try { - const fieldVersionData = - await StoneEvaluationApi.GetEvaluationSetVersion({ - evaluation_set_id: evaluationSetId, - workspace_id: spaceID, - version_id: versionId, - }); - - const response = await StoneEvaluationApi.ListEvaluationSetItems({ - evaluation_set_id: evaluationSetId, - workspace_id: spaceID, - version_id: versionId, - page_number: 1, - page_size: 100, // 获取前100条数据 - }); - - const schemaData = - fieldVersionData?.version?.evaluation_set_schema?.field_schemas ?? []; - - const tableData = convertEvaluationSetItemListToTableData( - response.items ?? [], - schemaData, - ); - - setEvaluationSetData(tableData); - setFieldSchemas(schemaData); - return tableData; - } catch (error) { - console.error('获取评测集数据失败:', error); - // 如果API调用失败,返回空数组 - setEvaluationSetData([]); - return []; - } - }, - { - manual: true, - }, - ); - - const handleEvaluationSetChange = () => { - // 清空版本选择 - formRef.current?.formApi?.setValue('evaluationSetVersion', undefined); - formRef.current?.formApi?.setValue('selectedItems', undefined); - setEvaluationSetData([]); - setFieldSchemas([]); - }; - - const handleEvaluationSetVersionChange = async (value: unknown) => { - formRef.current?.formApi?.setValue('selectedItems', undefined); - await loadEvaluationSetData(formValues?.evaluationSetId, value as string); - }; - - const handleSelectionChange = useCallback( - (selectedItems: Set) => { - if (selectedItems.size > 0) { - setIsEmpty(false); - } else { - setIsEmpty(true); - } - formRef.current?.formApi?.setValue('selectedItems', selectedItems); - }, - [formRef], - ); - - const onDirectImport = () => { - const selectedItems = formValues?.selectedItems || new Set(); - const selectedData = evaluationSetData.filter(item => - selectedItems.has(item.item_id as string), - ); - - const transformData = selectedData.map(item => ({ - evaluate_dataset_fields: item?.trunFieldData?.fieldDataMap || {}, - })); - - onImport(transformData, selectedData); - }; - - const renderDataContent = () => { - if (dataLoading) { - return ( -
- -
- 正在加载数据... -
-
- ); - } - - return ( - - ); - }; - - return ( - <> -
- {/* 评测集和版本选择 */} -
- - - -
- - {/* 描述信息 */} - {formValues?.evaluationSetDetail ? ( -
- -
- {formValues?.evaluationSetDetail?.description || '-'} -
-
- ) : null} - - {/* 数据表格 */} - {renderDataContent()} -
- - {/* 操作按钮 */} -
- - - - - -
- - ); -}; - -export default StepOneEvaluateSet; -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-three-generate-output.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-three-generate-output.tsx deleted file mode 100755 index cdfa2548c..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-three-generate-output.tsx +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// start_aigc -import { useCallback, useMemo } from 'react'; - -import { ContentType } from '@cozeloop/api-schema/evaluation'; -import { Button, useFormState } from '@coze-arch/coze-design'; - -import type { StepThreeGenerateOutputProps } from '../types'; -import CommonTable from './common-table'; - -const StepThreeGenerateOutput: React.FC< - StepThreeGenerateOutputProps -> = props => { - const { onPrevStep, onImport, evaluationSetData, fieldSchemas } = props; - const formState = useFormState(); - const { values: formValues } = formState; - const { selectedItems } = formValues; - const mockSetData = formValues?.mockSetData; - - const mergeData = useMemo( - () => - evaluationSetData - .filter(item => selectedItems?.has(item.item_id as string)) - .map(item => ({ - ...item, - trunFieldData: { - ...item.trunFieldData, - fieldDataMap: { - ...item.trunFieldData.fieldDataMap, - actual_output: - mockSetData?.[0]?.evaluate_target_output_fields?.actual_output, - }, - }, - })), - [evaluationSetData, mockSetData], - ); - - const mergeFieldSchemas = useMemo( - () => [ - ...fieldSchemas, - { - key: 'actual_output', - name: 'actual_output', - default_display_format: 1, - status: 1, - isRequired: false, - hidden: false, - text_schema: '{"type": "string"}', - description: '', - content_type: ContentType.Text, - }, - ], - [fieldSchemas], - ); - - const handleImport = useCallback(() => { - const payload = mockSetData || []; - onImport(payload, mergeData); - }, [mockSetData, onImport, mergeData]); - - return ( -
- {/* 数据预览表格 */} -
-
模拟数据
- -
- - {/* 操作按钮 */} -
- - - -
-
- ); -}; - -export default StepThreeGenerateOutput; -// end_aigc diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-two-evaluate-target.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-two-evaluate-target.tsx deleted file mode 100755 index a87917c28..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/test-data-modal/step-two-evaluate-target.tsx +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -{ - /* start_aigc */ -} -import { useCallback, useState } from 'react'; - -import { - type EvalTargetDefinition, - useEvalTargetDefinition, -} from '@cozeloop/evaluate-components'; -import { useSpace } from '@cozeloop/biz-hooks-adapter'; -import { - ContentType, - type EvalTargetType, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { - Button, - FormSelect, - Toast, - useFormState, -} from '@coze-arch/coze-design'; - -import type { ModalState, StepTwoEvaluateTargetProps } from '../types'; - -const getOptionList = (option: EvalTargetDefinition) => { - const { name, type, description } = option; - if (!description) { - return { - label: name, - value: type, - }; - } - - return { - label: ( -
-
{name}
-
- {description} -
-
- ), - value: type, - }; -}; - -const StepTwoEvaluateTarget: React.FC = ({ - formRef, - onPrevStep, - onNextStep, - evaluationSetData, -}) => { - const { spaceID } = useSpace(); - const [loading, setLoading] = useState(false); - const { getEvalTargetDefinitionList, getEvalTargetDefinition } = - useEvalTargetDefinition(); - - const formState = useFormState(); - - const { values: formValues } = formState; - - const evalTargetTypeOptions = getEvalTargetDefinitionList() - .filter(e => e.selector && !e?.disabledInCodeEvaluator) - .map(eva => getOptionList(eva)); - - const evalTargetDefinition = getEvalTargetDefinition?.( - formValues.evalTargetType as string, - ); - - const handleEvalTargetTypeChange = (value: EvalTargetType) => { - // 评测类型修改, 清空相关字段 - formRef.current?.formApi?.setValues({ - ...formValues, - evalTargetType: value as EvalTargetType, - evalTarget: undefined, - evalTargetVersion: undefined, - }); - }; - - const handleOnFieldChange = useCallback( - (key: string, value: unknown) => { - if (key) { - formRef.current?.formApi?.setValue(key as keyof ModalState, value); - } - }, - [formRef], - ); - - const geMockData = async () => { - try { - if (!formValues?.evalTarget || !formValues?.evalTargetVersion) { - Toast.info({ content: '请选择评测对象和版本', top: 80 }); - return; - } - - setLoading(true); - const selectedItems = formValues?.selectedItems || new Set(); - const selectedData = evaluationSetData.filter(item => - selectedItems.has(item.item_id as string), - ); - - const mockResult = await StoneEvaluationApi.MockEvalTargetOutput({ - workspace_id: spaceID, - source_target_id: formValues.evalTarget, - target_type: formValues.evalTargetType, - eval_target_version: formValues.evalTargetVersion, - }); - - const mockOutput = mockResult.mock_output; - - const transformData = selectedData.map(item => ({ - ext: {}, - evaluate_dataset_fields: item?.trunFieldData?.fieldDataMap || {}, - evaluate_target_output_fields: { - actual_output: { - key: 'actual_output', - name: 'actual_output', - content: { - content_type: ContentType.Text, - text: mockOutput?.actual_output, - format: 1, - }, - }, - }, - })); - - formRef.current?.formApi?.setValue('mockSetData', transformData); - - setLoading(false); - onNextStep(); - } finally { - setLoading(false); - } - }; - - const targetType = formValues.evalTargetType; - - const TargetFormContent = evalTargetDefinition?.evalTargetFormSlotContent; - - return ( -
- {/* 可滚动的内容区域 */} -
-
- {/* 使用标准的类型选择 */} -
- - handleEvalTargetTypeChange(value as EvalTargetType) - } - /> -
- - {/* 根据类型渲染对应的表单内容 */} - {targetType && TargetFormContent ? ( - - ) : null} -
-
- - {/* 固定在底部的操作按钮 */} -
- - - -
-
- ); -}; - -export default StepTwoEvaluateTarget; -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/components/header-items-count.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/components/header-items-count.tsx deleted file mode 100644 index fbb355b1a..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/components/header-items-count.tsx +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { Divider, Tag } from '@coze-arch/coze-design'; - -const HeaderItemsCount = ({ - totalCount, - successCount, - failedCount, -}: { - totalCount: number; - successCount: number; - failedCount: number; -}) => ( - - 总条数 {totalCount || 0} - - 成功 {successCount} - - 失败 {failedCount} - -); - -export default HeaderItemsCount; diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.module.less b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.module.less deleted file mode 100644 index 4f13beab1..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.module.less +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (c) 2025 coze-dev Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -/* stylelint-disable order/properties-order */ -/* stylelint-disable comment-empty-line-before */ -.debug-results-group { - :global(.coz-collapse) { - display: flex; - flex-direction: column; - gap: 4px; - } - - :global(.semi-collapse-item) { - border: 1px solid #e5e6eb; - border-radius: 8px; - background: #fff; - } - - :global(.semi-collapse-header) { - min-height: 48px; - padding: 8px 24px 8px 8px; - background-color: white; - margin: 0; - } - - :global(.semi-collapse-content) { - padding: 0; - } - - :global(.semi-collapse-header-right) { - margin-left: auto; - } - - :global(.semi-collapsible-wrapper) { - border-radius: 0 0 8px 8px; - } - - :global(.semi-collapse-header-icon) { - place-self: start; - margin-top: 2px; - } -} - -.running-loading { - height: 62px; - padding: 16px 24px; - gap: 8px; - border: 1px solid rgba(82,100,154,13%); - border-radius: 8px; - display: flex; - align-items: center; - font-size: 16px; - font-weight: 500; - color: var(--coz-fg-secondary); - - :global(.semi-spin-wrapper) { - width: 16px; - height: 16px; - color: var(--coz-fg-secondary); - } - -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.tsx b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.tsx deleted file mode 100755 index 391c1c588..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/trial-operation-results/index.tsx +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// start_aigc -import { useMemo, useState, useEffect } from 'react'; - -import { nanoid } from 'nanoid'; -import cls from 'classnames'; -import { I18n } from '@cozeloop/i18n-adapter'; -import { CodeEditor, IDRender } from '@cozeloop/components'; -import { type EvaluatorOutputData } from '@cozeloop/api-schema/evaluation'; -import { - IconCozArrowDown, - IconCozArrowRight, - IconCozCheckMarkCircleFill, - IconCozCrossCircleFill, -} from '@coze-arch/coze-design/icons'; -import { Tag, Collapse, Spin, useFormState } from '@coze-arch/coze-design'; - -import HeaderItemsCount from './components/header-items-count'; -import { TestDataSource, type TrialOperationResultsProps } from '../types'; - -import styles from './index.module.less'; - -const OpResultItem: React.FC<{ - result: EvaluatorOutputData & { - key: string; - item_id: string; - dataMode: string; - }; -}> = ({ result }) => { - const { evaluator_run_error, stdout, evaluator_result } = result; - - const isDatasetMode = result?.dataMode === TestDataSource.Dataset; - - const statusIcon = result.evaluator_run_error ? ( - - ) : ( - - ); - const score = evaluator_result?.score; - const statusColor = evaluator_run_error ? 'red' : 'green'; - - const showText = useMemo(() => { - let text = ''; - if (stdout) { - text = stdout; - } - if (evaluator_run_error) { - text = `${text}\n\n${evaluator_run_error?.message}`; - } - return text; - }, [evaluator_run_error, stdout]); - - return ( - -
- - {statusIcon} - - {result?.item_id && isDatasetMode ? ( - - ) : null} - {score !== undefined && ( - {score} 分 - )} -
-
- {'原因: '} - {evaluator_result?.reasoning || I18n.t('system_error')} -
-
- } - > - {stdout || evaluator_run_error?.message ? ( -
- -
- ) : ( -
- 暂无运行输出 -
- )} - - ); -}; - -export const OpResultsGroup: React.FC<{ results: EvaluatorOutputData[] }> = ({ - results, -}) => { - const [activeKeys, setActiveKeys] = useState([]); - const [previousResultsLength, setPreviousResultsLength] = useState(0); - const { values } = useFormState(); - - const dataMode = values?.config?.testData?.source; - - const originSelectedData = values?.config?.testData?.originSelectedData || []; - - const memoizedResults = useMemo( - () => - results.map((r, idx) => ({ - ...r, - item_id: originSelectedData[idx]?.item_id, - dataMode, - key: nanoid(), - })), - [results, originSelectedData?.length, dataMode], - ); - - // 当 results 从空变为有值时,自动打开第一个 Panel - useEffect(() => { - if ( - results.length > 0 && - previousResultsLength === 0 && - memoizedResults.length > 0 - ) { - setActiveKeys([memoizedResults[0].key]); - } - setPreviousResultsLength(results.length); - }, [results.length, previousResultsLength, memoizedResults]); - - if (results.length === 0) { - return ( -
-

暂无运行结果

-

点击试运行按钮开始测试

-
- ); - } - - return ( -
- } - collapseIcon={} - activeKey={activeKeys} - onChange={keys => { - if (Array.isArray(keys)) { - setActiveKeys(keys); - } else if (keys) { - setActiveKeys([keys]); - } else { - setActiveKeys([]); - } - }} - > - {memoizedResults.map(result => ( - - ))} - -
- ); -}; - -const RunningLoading = () => ( -
- - 试运行中... -
-); - -export const TrialOperationResults: React.FC< - TrialOperationResultsProps -> = props => { - const { results = [], loading, className } = props; - - const successCount = useMemo( - () => results?.filter(r => !r.evaluator_run_error).length, - [results], - ); - - return ( -
- {/* Header */} -
-

试运行结果

- -
- {/* Content */} - {loading ? ( - - ) : ( -
- -
- )} -
- ); -}; - -export default TrialOperationResults; -// end_aigc diff --git a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/types.ts b/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/types.ts deleted file mode 100755 index abedf3cee..000000000 --- a/frontend/packages/cozeloop/evaluate/src/components/evaluator-code/types.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// start_aigc -import { type EvaluationSetItemTableData } from '@cozeloop/evaluate-components'; -import { - type FieldSchema, - type EvaluatorOutputData, - type FieldData, -} from '@cozeloop/api-schema/evaluation'; -import { type Form } from '@coze-arch/coze-design'; - -import { type CodeEvaluatorLanguageFE } from '@/constants'; - -/** - * 测试数据项类型 - */ -export interface TestData { - [key: string]: unknown; -} - -export enum TestDataSource { - Dataset = 'dataset', - Custom = 'custom', -} - -export interface TestDataConfig { - source?: TestDataSource; - setData?: TestData[]; - customData?: Record; - originSelectedData?: EvaluationSetItemTableData[]; -} - -export interface CodeEvaluatorValue { - funcExecutor?: BaseFuncExecutorValue; - testData?: TestDataConfig; - runResults?: EvaluatorOutputData[]; -} - -export interface CodeEvaluatorConfigProps { - value?: CodeEvaluatorValue; - fieldPath?: string; - onChange?: (value: CodeEvaluatorValue) => void; - disabled?: boolean; - debugLoading?: boolean; - resultsClassName?: string; - editorHeight?: string; -} - -export interface BaseFuncExecutorValue { - language?: CodeEvaluatorLanguageFE; - code?: string; -} - -export interface BaseFuncExecutorProps { - value?: BaseFuncExecutorValue; - onChange?: (value: BaseFuncExecutorValue) => void; - disabled?: boolean; - editorHeight?: string; -} - -/** - * 自定义数据编辑器组件接口 - */ -export interface BaseDataSetConfigProps { - /** - * 是否禁用 - */ - disabled?: boolean; - /** - * 字段值 - */ - value?: TestDataConfig; - onChange?: (value: TestDataConfig) => void; -} - -export interface TrialOperationResultsProps { - results?: EvaluatorOutputData[]; - loading?: boolean; - className?: string; -} - -export interface EditorGroupProps { - // value?: CodeEvaluatorValue; - fieldPath?: string; - disabled?: boolean; - editorHeight?: string; -} - -type OnImportType = ( - data: TestDataItem[], - originSelectedData?: EvaluationSetItemTableData[], -) => void; - -// 新增:测试数据项接口 -export interface TestDataItem { - evaluate_dataset_fields?: Record; - evaluate_target_output_fields?: Record; - [key: string]: unknown; -} - -// 新增:测试数据模态框相关接口 -export interface TestDataModalProps { - visible: boolean; - setSelectedItems?: (items: EvaluationSetItemTableData[]) => void; - onClose: () => void; - onImport: OnImportType; - prevCount?: number; -} - -export interface ModalState { - /* 表单数据 */ - evaluationSetId?: string; - evaluationSetVersion?: string; - evaluateTarget?: string; - - /* 渲染数据 */ - currentStep: 0 | 1 | 2; - selectedItems?: Set; - mockSetData?: TestDataItem[]; -} - -// 新增:通用表格组件接口 -export interface CommonTableProps { - data: EvaluationSetItemTableData[]; - // data: TestDataItem[] | EvaluationSetItemTableData[]; - selectedItems?: Set; - onSelectionChange?: (selectedItems: Set) => void; - showActualOutput?: boolean; - loading?: boolean; - fieldSchemas?: FieldSchema[]; - supportMultiSelect?: boolean; - // 分页相关参数 - pageSize?: number; - defaultPageSize?: number; - showSizeChanger?: boolean; - pageSizeOptions?: number[]; - prevCount?: number; -} - -// 新增:可折叠编辑器数组接口 -export interface CollapsibleEditorArrayProps { - data: TestDataItem[]; - onChange: (data: TestDataItem[]) => void; -} -// end_aigc - -// 步骤组件属性接口 -export interface StepOneEvaluateSetProps { - fieldSchemas: FieldSchema[]; - setFieldSchemas: (data: FieldSchema[]) => void; - formRef: React.RefObject>; - onNextStep: () => void; - evaluationSetData: EvaluationSetItemTableData[]; - setEvaluationSetData: (data: EvaluationSetItemTableData[]) => void; - onImport: OnImportType; - prevCount?: number; -} - -export interface StepTwoEvaluateTargetProps { - fieldSchemas: FieldSchema[]; - setFieldSchemas: (data: FieldSchema[]) => void; - formRef: React.RefObject>; - onPrevStep: () => void; - onNextStep: () => void; - evaluationSetData: EvaluationSetItemTableData[]; -} - -export interface StepThreeGenerateOutputProps { - fieldSchemas: FieldSchema[]; - formRef: React.RefObject>; - onPrevStep: () => void; - onImport: OnImportType; - evaluationSetData: EvaluationSetItemTableData[]; - setEvaluationSetData: (data: EvaluationSetItemTableData[]) => void; -} - -export interface IFormValues { - name?: string; - description?: string; - config: CodeEvaluatorValue; -} diff --git a/frontend/packages/cozeloop/evaluate/src/components/experiment/previews/evaluator-column-preview.tsx b/frontend/packages/cozeloop/evaluate/src/components/experiment/previews/evaluator-column-preview.tsx index 1f2ac2ba9..50b6ea8b8 100644 --- a/frontend/packages/cozeloop/evaluate/src/components/experiment/previews/evaluator-column-preview.tsx +++ b/frontend/packages/cozeloop/evaluate/src/components/experiment/previews/evaluator-column-preview.tsx @@ -1,16 +1,10 @@ // Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 -import { useMemo } from 'react'; - import classNames from 'classnames'; import { I18n } from '@cozeloop/i18n-adapter'; -import { - EvaluatorIcon, - getEvaluatorJumpUrl, - TypographyText, -} from '@cozeloop/evaluate-components'; +import { TypographyText } from '@cozeloop/evaluate-components'; import { JumpIconButton } from '@cozeloop/components'; -import { useOpenWindow } from '@cozeloop/biz-hooks-adapter'; +import { useBaseURL } from '@cozeloop/biz-hooks-adapter'; import { type ColumnEvaluator } from '@cozeloop/api-schema/evaluation'; import { IconCozInfoCircle } from '@coze-arch/coze-design/icons'; import { Tag, Tooltip, type TagProps } from '@coze-arch/coze-design'; @@ -33,20 +27,8 @@ export default function EvaluatorColumnPreview({ className?: string; style?: React.CSSProperties; }) { - const { name, version, evaluator_id, evaluator_version_id, evaluator_type } = - evaluator ?? {}; - - const jumpUrl = useMemo( - () => - getEvaluatorJumpUrl({ - evaluatorType: evaluator_type, - evaluatorId: evaluator_id, - evaluatorVersionId: evaluator_version_id, - }), - [evaluator_type, evaluator_id, evaluator_version_id], - ); - - const { openBlank } = useOpenWindow(); + const { name, version, evaluator_id, evaluator_version_id } = evaluator ?? {}; + const { baseURL } = useBaseURL(); if (!evaluator) { return <>-; } @@ -57,11 +39,12 @@ export default function EvaluatorColumnPreview({ onClick={e => { if (enableLinkJump && evaluator_id) { e.stopPropagation(); - openBlank(jumpUrl); + window.open( + `${baseURL}/evaluation/evaluators/${evaluator_id}?version=${evaluator_version_id}`, + ); } }} > - {name ?? '-'} 前端字段映射非标准, 手动转换一下 */ -export const codeEvaluatorLanguageMap: Record< - LanguageType & SmallLanguageType, - string -> = { - // Python -> python - [LanguageType.Python]: 'python', - // JS -> javascript - [LanguageType.JS]: 'javascript', - // 兼容一下服务端 - [SmallLanguageType.JS]: 'javascript', - [SmallLanguageType.Python]: 'python', -}; - -/** LanguageType 前端 -> 服务端字段映射非标准, 手动转换一下 */ -export const codeEvaluatorLanguageMapReverse: Record = { - // python -> Python - python: LanguageType.Python, - // javascript -> JS - javascript: LanguageType.JS, -}; - -export const defaultJSCode = - "function exec_evaluation(turn) {\n /** 检查turn中某字段是否等于目标值(仅处理Equals规则) */\n const TARGET_VALUE = \"Text\";\n\n try {\n // 直接访问目标字段\n const current = turn.turn.actual_output.text;\n\n const isEqual = current === TARGET_VALUE;\n const score = isEqual ? 1.0 : 0.0;\n const reason = `字段'turn.actual_output.text'的值为'${current}',与目标值'${TARGET_VALUE}'${isEqual ? '相等' : '不相等'}`;\n\n return { score, reason };\n } catch (e) {\n if (e instanceof TypeError || e instanceof ReferenceError) {\n return { score: 0.0, reason: `字段路径不存在:${e.message}` };\n }\n return { score: 0.0, reason: `检查出错:${e.message}` };\n }\n}\n"; - -export const defaultTestData = [ - { - evaluate_dataset_fields: { - input: { content_type: 'Text', text: '台湾省面积是多少?' }, - reference_output: { - content_type: 'Text', - text: '台湾省由中国第一大岛台湾岛与兰屿、绿岛、钓鱼岛等附属岛屿和澎湖列岛等80多个岛屿组成,总面积约3.6万平方千米。其中台湾岛面积约3.58万平方千米。 ', - }, - }, - evaluate_target_output_fields: { - actual_output: { - content_type: 'Text', - text: '台湾省由中国第一大岛台湾岛与兰屿、绿岛、钓鱼岛等附属岛屿和澎湖列岛等80多个岛屿组成,总面积约3.6万平方千米。其中台湾岛面积约3.58万平方千米。 ', - }, - }, - ext: {}, - }, -]; - -export const MAX_SELECT_COUNT = 10; diff --git a/frontend/packages/cozeloop/evaluate/src/constants/index.ts b/frontend/packages/cozeloop/evaluate/src/constants/index.ts index 617d4be6a..a2b2c7ee0 100644 --- a/frontend/packages/cozeloop/evaluate/src/constants/index.ts +++ b/frontend/packages/cozeloop/evaluate/src/constants/index.ts @@ -4,11 +4,3 @@ * 默认页面大小 */ export const DEFAULT_PAGE_SIZE = 20; - -export { - codeEvaluatorLanguageMap, - codeEvaluatorLanguageMapReverse, - CodeEvaluatorLanguageFE, - defaultJSCode, - defaultTestData, -} from './code-evaluator'; diff --git a/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/index.ts b/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/index.ts deleted file mode 100644 index 8f00e4f94..000000000 --- a/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/index.ts +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -export { default as useCodeEvaluatorTemplate } from './use-code-evaluator-template'; diff --git a/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/use-code-evaluator-template.ts b/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/use-code-evaluator-template.ts deleted file mode 100644 index 5ea4bcafc..000000000 --- a/frontend/packages/cozeloop/evaluate/src/hooks/code-evaluator/use-code-evaluator-template.ts +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useMemo } from 'react'; - -import { useRequest } from 'ahooks'; -import { - LanguageType, - TemplateType, - type EvaluatorContent, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; - -interface CodeTemplateData { - jsTemplates: EvaluatorContent[]; - pythonTemplates: EvaluatorContent[]; -} - -/** - * 代码评估器模板Hook - * - 初始化时获取代码评估器模板,并缓存JS和Python两种语言的模板数据 - * - 后续调用时使用缓存数据,不会重新请求 - * - 提供refetch方法供用户手动刷新数据 - */ -const useCodeEvaluatorTemplate = () => { - const { data, loading, error, refresh } = useRequest( - async () => { - const res = await StoneEvaluationApi.ListTemplates({ - builtin_template_type: TemplateType.Code, - }); - - return res.builtin_template_keys || []; - }, - { - cacheKey: 'code-evaluator-templates', // 使用cacheKey实现跨组件数据共享 - staleTime: 60 * 60 * 1000, // 缓存1小时 - retryCount: 2, // 请求失败时重试2次 - }, - ); - - // 处理并分类模板数据 - const processedData = useMemo(() => { - const result: CodeTemplateData = { - jsTemplates: [], - pythonTemplates: [], - }; - - if (data && Array.isArray(data)) { - // 分类JS和Python模板 - data.forEach(template => { - if (template.code_evaluator) { - // 假设template中有language_type字段,1表示JS,2表示Python - if (template.code_evaluator.language_type === LanguageType.JS) { - result.jsTemplates.push(template); - } else if ( - template.code_evaluator.language_type === LanguageType.Python - ) { - result.pythonTemplates.push(template); - } - } - }); - } - - return result; - }, [data]); - - return { - loading, - error, - refresh, // 重命名refresh为refetch以符合需求 - jsTemplates: processedData.jsTemplates, - pythonTemplates: processedData.pythonTemplates, - allTemplates: data || [], - }; -}; - -export default useCodeEvaluatorTemplate; diff --git a/frontend/packages/cozeloop/evaluate/src/index.tsx b/frontend/packages/cozeloop/evaluate/src/index.tsx index 7c6ba8556..f84330f42 100644 --- a/frontend/packages/cozeloop/evaluate/src/index.tsx +++ b/frontend/packages/cozeloop/evaluate/src/index.tsx @@ -3,12 +3,7 @@ // 评估器 export { default as EvaluatorListPage } from './pages/evaluator/evaluator-list'; export { default as EvaluatorDetailPage } from './pages/evaluator/evaluator-detail'; -export { - EvaluatorCreatePage, - CodeEvaluatorCreatePage, -} from './pages/evaluator/evaluator-create'; - -export { default as CodeEvaluatorDetailPage } from './pages/evaluator/evaluator-detail/code-detail'; +export { default as EvaluatorCreatePage } from './pages/evaluator/evaluator-create'; // 评测集 export { DatasetListPage } from '@cozeloop/evaluate-components'; diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/code-template-modal.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/code-template-modal.tsx deleted file mode 100755 index daedba32f..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/code-template-modal.tsx +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* eslint-disable @coze-arch/max-line-per-function */ -import { useEffect, useState } from 'react'; - -import classNames from 'classnames'; -import { useRequest } from 'ahooks'; -import { I18n } from '@cozeloop/i18n-adapter'; -import { CodeEditor } from '@cozeloop/components'; -import { - TemplateType, - type EvaluatorContent, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { IconCozCrossFill } from '@coze-arch/coze-design/icons'; -import { - Button, - IconButton, - Modal, - Select, - Spin, -} from '@coze-arch/coze-design'; - -import { - codeEvaluatorLanguageMapReverse, - CodeEvaluatorLanguageFE, -} from '@/constants'; - -import styles from '../template-modal.module.less'; - -interface CodeTemplateModalProps { - visible: boolean; - isShowCustom?: boolean; - disabled?: boolean; - onCancel: () => void; - onSelect: (template?: EvaluatorContent) => void; -} - -export function CodeTemplateModal({ - visible, - isShowCustom = true, - disabled, - onCancel, - onSelect, -}: CodeTemplateModalProps) { - const [selected, setSelected] = useState(); - const [selectedLanguage, setSelectedLanguage] = - useState(CodeEvaluatorLanguageFE.Python); - const [currentData, setCurrentData] = useState(); - const [codeValue, setCodeValue] = useState(); - - const listService = useRequest( - async () => - StoneEvaluationApi.ListTemplates({ - builtin_template_type: TemplateType.Code, - }), - { - manual: true, - onSuccess: data => { - const firstItem = data?.builtin_template_keys?.[0]; - if (firstItem) { - setSelected(firstItem); - } - }, - }, - ); - - const detailService = useRequest( - async (lang?: CodeEvaluatorLanguageFE) => { - const language = lang || selectedLanguage; - - const key = selected?.code_evaluator?.code_template_key; - if (key) { - const res = await StoneEvaluationApi.GetTemplateInfo({ - builtin_template_key: key, - builtin_template_type: TemplateType.Code, - language_type: codeEvaluatorLanguageMapReverse[language], - }); - - if (res.builtin_template) { - setCurrentData(res.builtin_template); - setCodeValue(res.builtin_template.code_evaluator?.code_content || ''); - } - } - }, - { - ready: Boolean(selected), - refreshDeps: [selected], - }, - ); - - const handleLanguageChange = (value: CodeEvaluatorLanguageFE) => { - setSelectedLanguage(value); - detailService.run(value); - }; - - const handleCustomCreate = () => { - const payload = { - code_evaluator: { - code_template_key: 'custom', - language_type: codeEvaluatorLanguageMapReverse[selectedLanguage], - }, - }; - onSelect(payload); - }; - - useEffect(() => { - if (visible && !listService.data) { - listService.run(); - } - }, [visible]); - - return ( - -
-
-
- {I18n.t('evaluate_select_template')} -
-
- {listService.loading ? ( - - ) : ( - <> -
- {I18n.t('preset_evaluator')} -
- {listService.data?.builtin_template_keys?.map((t, idx) => ( -
{ - setSelected(t); - }} - > - {t.code_evaluator?.code_template_name} -
- ))} - - )} -
-
-
-
- {I18n.t('preview')} - } - className="!max-w-[24px] !w-6 !h-6 !p-1" - color="secondary" - onClick={onCancel} - /> -
-
- {listService.loading || detailService.loading ? ( - - ) : ( -
-
-
- {currentData?.code_evaluator?.code_template_name || ''} -
- -
-
- setCodeValue((value as string) || '')} - options={{ - readOnly: true, - minimap: { enabled: false }, - scrollBeyondLastLine: false, - }} - /> -
-
- )} -
-
- {isShowCustom ? ( - - ) : null} - -
-
-
-
- ); -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/full-screen-editor-config-modal.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/full-screen-editor-config-modal.tsx deleted file mode 100644 index 12e646bd8..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/full-screen-editor-config-modal.tsx +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { useEffect, useRef } from 'react'; - -import { Guard, GuardPoint } from '@cozeloop/guard'; -import { IconCozPlayFill, IconCozMinimize } from '@coze-arch/coze-design/icons'; -import { Form, Modal, Button } from '@coze-arch/coze-design'; - -import type { IFormValues } from '@/components/evaluator-code/types'; -import CodeEvaluatorConfig from '@/components/evaluator-code'; - -import styles from './index.module.less'; -import { I18n } from '@cozeloop/i18n-adapter'; - -const INIT_DELAY = 200; - -interface FullScreenEditorConfigWrapperProps { - formRef?: React.RefObject
; - visible: boolean; - debugLoading?: boolean; - setVisible: (visible: boolean) => void; - onInit?: (ref: React.RefObject>) => void; - onRun?: (ref: React.RefObject>) => Promise; - onCancel: () => void; - onChange: (value: IFormValues) => void; -} - -const FullScreenEditorConfigModal = ( - props: FullScreenEditorConfigWrapperProps, -) => { - const { - visible, - formRef, - onRun, - onChange, - setVisible, - onInit, - debugLoading, - } = props; - const localFormRef = useRef>(null); - const timerRef = useRef(null); - - useEffect(() => { - // 弹窗初始化时,将外部表单的值设置到全屏表单 - if (visible) { - timerRef.current = setTimeout(() => { - if (onInit) { - onInit(localFormRef); - } else { - const outerVs = formRef?.current?.formApi?.getValues(); - localFormRef.current?.formApi.setValues(outerVs); - } - }, INIT_DELAY); - } - return () => { - if (timerRef.current) { - clearTimeout(timerRef.current); - } - }; - }, [visible, formRef, onInit]); - - return ( - -
- {I18n.t('evaluate_evaluator_config')} -
-
- - - - -
- - } - visible={visible} - onCancel={() => { - if (debugLoading) { - return; - } - setVisible(false); - }} - width="100vw" - fullScreen={true} - bodyStyle={{ - height: 'calc(100vh - 120px)', - padding: '20px', - overflow: 'hidden', - }} - footer={null} - closable={true} - maskClosable={false} - keepDOM={false} - > - - - -
- ); -}; - -export { FullScreenEditorConfigModal }; diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/header.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/header.tsx deleted file mode 100644 index 0b627f401..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/header.tsx +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { I18n } from '@cozeloop/i18n-adapter'; -import { RouteBackAction } from '@cozeloop/components'; - -export const CodeCreateHeader = () => ( -
- - - {I18n.t('create_evaluator')} - -
-); diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.module.less b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.module.less deleted file mode 100644 index 8d29653e4..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.module.less +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (c) 2025 coze-dev Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -/* stylelint-disable declaration-no-important */ -.code-create-page-container { - display: flex; - flex-direction: column; - height: 100%; - - :global(.semi-form-field-main) { - height: 100%; - } - - :global(.semi-empty-content) { - margin-top: 0 !important; - } - - :global(.semi-empty-description) { - margin-top: 4px !important; - font-size: 14px !important; - font-weight: 500 !important; - color: var(--coz-fg-primary, rgba(15, 21, 40, 82%)) !important; - } - - :global(.semi-empty-footer) { - margin-top: 0 !important; - } -} - -.full-screen-modal { - :global(.semi-modal-content){ - gap: 0 !important; - padding: 0 !important; - border-radius: 0 !important; - } - - :global(.editor-group-container) { - padding: 0 20px; - } - - :global(.trial-operation-results-container) { - padding: 0 20px; - } -} - -.full-screen-form-wrapper { - /* start_aigc */ - > div:first-child { - height: 100%; - - > *:first-child { - height: 100%; - } - } - - /* end_aigc */ - - - :global(.func-executor-container) { - > div:first-child { - height: 100%; - - > *:first-child { - height: 100%; - } - } - } - - :global(.data-set-config-container) { - > div:first-child { - height: 100%; - - > *:first-child { - height: 100%; - } - } - } -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.tsx deleted file mode 100644 index d4ae95733..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/index.tsx +++ /dev/null @@ -1,625 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* eslint-disable max-lines */ -/* eslint-disable complexity */ -/* eslint-disable max-lines-per-function */ -/* eslint-disable @coze-arch/max-line-per-function */ -import { useLocation, useParams } from 'react-router-dom'; -import { useState, useRef, useCallback, useEffect } from 'react'; - -import { nanoid } from 'nanoid'; -import { I18n } from '@cozeloop/i18n-adapter'; -import { Guard, GuardPoint } from '@cozeloop/guard'; -import { sourceNameRuleValidator } from '@cozeloop/evaluate-components'; -import { useNavigateModule, useSpace } from '@cozeloop/biz-hooks-adapter'; -import { - EvaluatorType, - TemplateType, - LanguageType, - type evaluator, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { - IconCozTemplate, - IconCozPlayFill, - IconCozExpand, -} from '@coze-arch/coze-design/icons'; -import { - Form, - FormInput, - Button, - Toast, - Divider, - Banner, - FormTextArea, -} from '@coze-arch/coze-design'; - -import { - EVALUATOR_CODE_DOCUMENT_LINK, - SCROLL_DELAY, - SCROLL_OFFSET, -} from '@/utils/evaluator'; -import { - CodeEvaluatorLanguageFE, - codeEvaluatorLanguageMap, - defaultTestData, -} from '@/constants'; -import { - type BaseFuncExecutorValue, - type IFormValues, - TestDataSource, -} from '@/components/evaluator-code/types'; -import CodeEvaluatorConfig from '@/components/evaluator-code'; - -import SubmitCheckModal from './submit-check-modal'; -import { CodeCreateHeader } from './header'; -import { FullScreenEditorConfigModal } from './full-screen-editor-config-modal'; -import { CodeTemplateModal } from './code-template-modal'; - -import styles from './index.module.less'; - -const CodeEvaluatorCreatePage = () => { - const { spaceID } = useSpace(); - const { id } = useParams<{ id: string }>(); - const navigateModule = useNavigateModule(); - const location = useLocation(); - // 使用特定类型作为formRef类型 - const formRef = useRef>(null); - const scrollContainerRef = useRef(null); - - const [isSubmitting, setIsSubmitting] = useState(false); - const [isRunning, setIsRunning] = useState(false); - const [templateModalVisible, setTemplateModalVisible] = useState(false); - const [submitCheckModalVisible, setSubmitCheckModalVisible] = useState(false); - const [isFullscreen, setIsFullscreen] = useState(false); - const [templateInfo, setTemplateInfo] = useState<{ - key: string; - name: string; - lang: string; - } | null>(null); - - const handleSubmit = useCallback(async () => { - try { - // 验证表单 - const validation = await formRef.current?.formApi.validate(); - if (!validation) { - return; - } - - // 获取表单数据 - const formValues = formRef.current?.formApi.getValues(); - if (!formValues) { - return; - } - - // 验证配置 - if (!formValues.config?.funcExecutor?.code?.trim()) { - Toast.error({ - content: I18n.t('evaluate_please_write_function_body'), - top: 80, - }); - return; - } - - setIsSubmitting(true); - - // 这里应该调用实际的API保存数据 - const submitResult = await StoneEvaluationApi.CreateEvaluator({ - cid: nanoid(), - evaluator: { - evaluator_type: EvaluatorType.Code, - name: formValues.name, - description: formValues.description, - workspace_id: spaceID, - current_version: { - version: '0.0.1', - evaluator_content: { - code_evaluator: { - code_content: formValues.config.funcExecutor.code, - language_type: - formValues.config.funcExecutor.language === - CodeEvaluatorLanguageFE.Javascript - ? LanguageType.JS - : LanguageType.Python, - }, - }, - }, - }, - }); - - // 模拟保存 - const SAVE_DELAY = 1000; - await new Promise(resolve => setTimeout(resolve, SAVE_DELAY)); - - Toast.success({ - content: I18n.t('evaluate_code_evaluator_created_successfully'), - top: 80, - }); - - // 跳转到详情页面 - navigateModule( - `evaluation/evaluators/code/${submitResult.evaluator_id}`, - { replace: true }, - ); - } catch (error) { - console.error(I18n.t('evaluate_save_failed'), error); - Toast.error({ - content: I18n.t('evaluate_save_failed_please_retry'), - top: 80, - }); - } finally { - setIsSubmitting(false); - } - }, [spaceID, navigateModule]); - - // 处理提交检查弹窗 - const handleSubmitCheck = useCallback(() => { - setSubmitCheckModalVisible(true); - }, []); - - // 处理提交检查弹窗取消 - const handleSubmitCheckCancel = useCallback(() => { - setSubmitCheckModalVisible(false); - }, []); - - // 处理提交检查弹窗确认创建 - const handleSubmitCheckConfirm = useCallback(async () => { - setSubmitCheckModalVisible(false); - await handleSubmit(); - }, [handleSubmit]); - - // 处理表单值变更(用于同步到提交检查弹窗) - const handleSubmitCheckChange = useCallback( - (newValue: BaseFuncExecutorValue) => { - formRef.current?.formApi.setValue('config.funcExecutor', newValue); - }, - [], - ); - - // 处理全屏切换 - const handleFullscreenToggle = useCallback(() => { - setIsFullscreen(prev => !prev); - }, []); - - // 处理试运行 - const handleRun = async (ref: React.RefObject>) => { - // 试运行不需要校验表单 - try { - // 获取表单数据 - const formValues = ref.current?.formApi.getValues(); - if (!formValues) { - return; - } - const { config } = formValues; - const { source, customData, setData } = config?.testData || {}; - - // 验证配置 - if (!config?.funcExecutor?.code?.trim()) { - Toast.info({ - content: I18n.t('evaluate_please_write_function_body'), - top: 80, - }); - return; - } - if ( - (source === TestDataSource.Custom && !customData) || - (source === TestDataSource.Dataset && !setData) - ) { - Toast.info({ - content: I18n.t('evaluate_please_configure_test_data'), - top: 80, - }); - return; - } - - // 发起 debug 请求 - setIsRunning(true); - try { - // 平滑滚动到容器底部 - if (scrollContainerRef.current && !isFullscreen) { - setTimeout(() => { - scrollContainerRef.current?.scrollTo({ - top: scrollContainerRef.current?.scrollHeight + SCROLL_OFFSET, - behavior: 'smooth', - }); - }, SCROLL_DELAY); - } - // 构建调试请求参数 - const res = await StoneEvaluationApi.BatchDebugEvaluator({ - workspace_id: spaceID, - evaluator_type: EvaluatorType.Code, - evaluator_content: { - code_evaluator: { - code_content: config.funcExecutor.code, - language_type: - config.funcExecutor.language === - CodeEvaluatorLanguageFE.Javascript - ? LanguageType.JS - : LanguageType.Python, // 1表示JS,2表示Python - }, - }, - input_data: - config.testData?.source === TestDataSource.Custom - ? [config?.testData?.customData as evaluator.EvaluatorInputData] - : (config?.testData - ?.setData as unknown as evaluator.EvaluatorInputData[]), - }); - - // 处理调试结果 - if ( - !res.evaluator_output_data || - res.evaluator_output_data.length === 0 - ) { - Toast.error({ - content: I18n.t('evaluate_debug_failed_no_result'), - top: 80, - }); - return; - } - - // 收集所有结果 - const allResults = res.evaluator_output_data || []; - - if (allResults.length > 0) { - // 直接通过表单API更新runResults - ref.current?.formApi.setValue('config.runResults', allResults); - - return allResults; - } else { - Toast.warning({ - content: I18n.t('evaluate_debug_no_evaluation_result'), - top: 80, - }); - return; - } - } catch (error) { - console.error(I18n.t('evaluate_debug_failed'), error); - Toast.error({ - content: `调试失败: ${(error as Error)?.message || I18n.t('evaluate_unknown_error')}`, - top: 80, - }); - } finally { - setIsRunning(false); - } - } catch (error) { - console.error(I18n.t('evaluate_form_validation_failed'), error); - Toast.error({ - content: `表单验证失败: ${(error as Error)?.message || ''}`, - top: 80, - }); - } - }; - - // 处理模板选择 - const handleTemplateSelect = useCallback( - template => { - const { code_evaluator } = template || {}; - if (code_evaluator) { - const { code_template_key, code_template_name, language_type } = - code_evaluator; - - // 更新URL参数 - const searchParams = new URLSearchParams(location.search); - searchParams.set('templateKey', code_template_key || ''); - searchParams.set('templateLang', language_type || ''); - window.history.replaceState( - null, - '', - `${location.pathname}?${searchParams.toString()}`, - ); - - // 设置模板信息 - setTemplateInfo({ - key: code_template_key || '', - name: code_template_name || '', - lang: language_type || '', - }); - - // 这里可以根据模板内容更新表单值 - if (code_evaluator.code_content && formRef.current) { - formRef.current.formApi.setValue('config.funcExecutor', { - code: code_evaluator.code_content, - language: - codeEvaluatorLanguageMap[language_type] || - CodeEvaluatorLanguageFE.Javascript, - }); - } - - // 关闭模板选择弹窗 - setTemplateModalVisible(false); - } - }, - [location.pathname, location.search], - ); - - // 从URL查询参数中获取模板信息 - useEffect(() => { - const searchParams = new URLSearchParams(location.search); - const templateKey = searchParams.get('templateKey'); - const templateLang = searchParams.get('templateLang'); - // 复制评估器 - if (id) { - StoneEvaluationApi.GetEvaluator({ - workspace_id: spaceID, - evaluator_id: id, - }).then(res => { - const { evaluator } = res; - if (evaluator) { - const sourceName = res.evaluator?.name || ''; - const copySubfix = '_Copy'; - const newName = sourceName - .slice(0, 50 - copySubfix.length) - .concat(copySubfix); - const { code_evaluator } = - evaluator.current_version?.evaluator_content || {}; - formRef.current?.formApi.setValues({ - name: newName, - description: evaluator.description, - config: { - funcExecutor: { - code: code_evaluator?.code_content || '', - language: - codeEvaluatorLanguageMap[ - code_evaluator?.language_type as LanguageType - ] || CodeEvaluatorLanguageFE.Javascript, - }, - testData: { - source: TestDataSource.Custom, - customData: defaultTestData[0], - }, - }, - }); - } - }); - } else if (templateKey) { - // 获取模板信息 - StoneEvaluationApi.GetTemplateInfo({ - builtin_template_key: templateKey, - builtin_template_type: TemplateType.Code, - language_type: (templateLang || - CodeEvaluatorLanguageFE.Python) as LanguageType, - }).then(res => { - const { code_evaluator } = res.builtin_template || {}; - if (res.builtin_template?.code_evaluator && code_evaluator) { - setTemplateInfo({ - key: templateKey, - name: - code_evaluator.code_template_name || - I18n.t('evaluate_unnamed_template'), - lang: templateLang || '', - }); - const formApi = formRef.current?.formApi; - if (!formApi) { - return; - } - const funcExecutorValue = formApi.getValue('config.funcExecutor'); - const name = formApi.getValue('name'); - - const extraPayload: Record = { - ...funcExecutorValue, - }; - - // 使用表单API更新表单值 - if (code_evaluator.code_content && formApi) { - extraPayload.code = code_evaluator.code_content; - } - - // 更新语言选择 - if (code_evaluator.language_type && formApi) { - extraPayload.language = - codeEvaluatorLanguageMap[ - code_evaluator.language_type as LanguageType - ]; - } - if (!name) { - formApi.setValue( - 'name', - code_evaluator.code_template_name || - I18n.t('evaluate_unnamed_template'), - ); - } - - formApi.setValue('config.funcExecutor', extraPayload); - } - }); - } - }, [location.search]); - - return ( -
- - -
- - ref={formRef} - initValues={{ - config: { - funcExecutor: {}, - testData: { - source: TestDataSource.Custom, - customData: defaultTestData[0], - }, - runResults: [], - }, - }} - className="flex-1 w-[1000px] mx-auto form-default" - > -
- {I18n.t('evaluate_basic_info')} -
- { - if (value) { - const { pass } = - await StoneEvaluationApi.CheckEvaluatorName({ - workspace_id: spaceID, - name: value, - }); - if (pass === false) { - throw new Error(I18n.t('name_already_exists')); - } - } - }, - }, - ]} - /> - - - - -
- {I18n.t('evaluate_config')} -
- - -
-
- - {/* Header Banner */} - - {I18n.t('evaluate_test_data_tutorial_tip')} - - {I18n.t('evaluate_test_data_tutorial_link')} - -
- } - /> - {/* 代码编辑器 */} -
- -
- -
- -
-
- - - - - - -
-
- - setTemplateModalVisible(false)} - onSelect={handleTemplateSelect} - /> - - - - { - const currVs = formRef.current?.formApi.getValues(); - formRef.current?.formApi.setValues({ - ...currVs, - ...vs, - }); - }} - /> - - ); -}; - -export default CodeEvaluatorCreatePage; diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/submit-check-modal.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/submit-check-modal.tsx deleted file mode 100644 index ec3ed8765..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/code-create/submit-check-modal.tsx +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -{ - /* start_aigc */ -} -import { useState, useCallback, useEffect, useMemo } from 'react'; - -import { useRequest } from 'ahooks'; -import { useSpace } from '@cozeloop/biz-hooks-adapter'; -import { - EvaluatorType, - type EvaluatorContent, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { Modal, Button, Space, type Form } from '@coze-arch/coze-design'; - -import { - CodeEvaluatorLanguageFE, - codeEvaluatorLanguageMapReverse, -} from '@/constants'; -import { - type IFormValues, - type BaseFuncExecutorValue, -} from '@/components/evaluator-code/types'; -import { BaseFuncExecutor } from '@/components/evaluator-code/editor-group/func-executor'; -import { CodeValidationStatus } from '@/components/code-validation-status'; -import { I18n } from '@cozeloop/i18n-adapter'; - -interface SubmitCheckModalProps { - visible: boolean; - onCancel: () => void; - onSubmit: () => void; - formRef: React.RefObject>; - onChange: (value: BaseFuncExecutorValue) => void; -} - -const SubmitCheckModal = ({ - visible, - onCancel, - onSubmit, - formRef, - onChange, -}: SubmitCheckModalProps) => { - const { spaceID } = useSpace(); - const [localFuncExecutor, setLocalFuncExecutor] = - useState({}); - const [validationResult, setValidationResult] = useState<{ - valid?: boolean; - error_message?: string; - } | null>(null); - const [isChanged, setIsChanged] = useState(false); - - // 代码验证服务 - const validationService = useRequest( - async () => { - const { code, language = CodeEvaluatorLanguageFE.Javascript } = - localFuncExecutor || {}; - - const evaluatorContent: EvaluatorContent = { - code_evaluator: { - code_content: code, - language_type: codeEvaluatorLanguageMapReverse[language], - }, - }; - - const res = await StoneEvaluationApi.ValidateEvaluator({ - workspace_id: spaceID, - evaluator_content: evaluatorContent, - evaluator_type: EvaluatorType.Code, - }); - - return res; - }, - { - manual: true, - onSuccess: res => { - setValidationResult(res); - setIsChanged(false); - }, - onError: error => { - setValidationResult({ - valid: false, - error_message: `验证失败: ${error.message}`, - }); - }, - }, - ); - - // 处理代码变更 - const handleCodeChange = (newValue: BaseFuncExecutorValue) => { - setLocalFuncExecutor(newValue); - onChange(newValue); - setIsChanged(true); - }; - - // 处理检查按钮点击 - const handleCheck = useCallback(() => { - validationService.run(); - }, [validationService]); - - // 处理创建按钮点击 - const handleCreate = useCallback(() => { - onSubmit(); - }, [onSubmit]); - - const submitDisabled = useMemo( - () => !validationResult?.valid || validationService.loading || isChanged, - [validationResult, validationService.loading, isChanged], - ); - - // 重置验证结果当弹窗打开时 - useEffect(() => { - // 重新打开弹窗时, 初始化 - if (visible) { - const formVs = formRef.current?.formApi.getValues(); - const { funcExecutor } = formVs?.config || {}; - - setValidationResult(null); - setLocalFuncExecutor(funcExecutor as BaseFuncExecutorValue); - } - }, [visible]); - - return ( - - - - - } - > -
- {/* 代码编辑器部分 */} -
- -
- - -
-
- ); -}; - -export default SubmitCheckModal; -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/evaluator-detail.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/evaluator-detail.tsx index 95770d072..25eb8af35 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/evaluator-detail.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/evaluator-detail.tsx @@ -97,59 +97,61 @@ function EvaluatorCreatePage() { }) .catch(e => console.warn(e)); - const formContent = ( -
( + <> + { - setBlockLeave(true); - }} - > -
- {I18n.t('basic_info')} -
- { - if (value) { - const { pass } = await StoneEvaluationApi.CheckEvaluatorName({ - workspace_id: spaceID, - name: value, - }); - if (pass === false) { - throw new Error(I18n.t('name_already_exists')); + className="flex-1 w-[800px] mx-auto form-default" + ref={formRef} + onValueChange={(values, changeValues) => { + setBlockLeave(true); + }} + > +
+ {I18n.t('basic_info')} +
+ { + if (value) { + const { pass } = await StoneEvaluationApi.CheckEvaluatorName({ + workspace_id: spaceID, + name: value, + }); + if (pass === false) { + throw new Error(I18n.t('name_already_exists')); + } } - } + }, }, - }, - ]} - /> - -
- - + ]} + /> + +
+ + + ); return ( @@ -167,7 +169,7 @@ function EvaluatorCreatePage() { ) : ( <>
- {formContent} + {renderContent()}
diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/index.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/index.tsx index 3f875b2e9..fa41222ff 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/index.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/index.tsx @@ -1,6 +1,5 @@ // Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 import EvaluatorCreatePage from './evaluator-detail'; -import CodeEvaluatorCreatePage from './code-create'; -export { EvaluatorCreatePage, CodeEvaluatorCreatePage }; +export default EvaluatorCreatePage; diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/prompt-field.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/prompt-field.tsx index 3793ae530..8524c52b2 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/prompt-field.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/prompt-field.tsx @@ -1,9 +1,7 @@ -/* eslint-disable max-lines-per-function */ // Copyright (c) 2025 coze-dev Authors // SPDX-License-Identifier: Apache-2.0 /* eslint-disable @coze-arch/max-line-per-function */ /* eslint-disable complexity */ -import { useLocation } from 'react-router-dom'; import { useEffect, useMemo, useState } from 'react'; import cls from 'classnames'; @@ -24,9 +22,7 @@ import { type Message, ContentType, type common, - TemplateType, } from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; import { IconCozPlus, IconCozTemplate, @@ -39,8 +35,6 @@ import { Popconfirm, useFieldApi, useFieldState, - useFormApi, - useFormState, withField, } from '@coze-arch/coze-design'; @@ -68,15 +62,9 @@ export function PromptField({ disabled?: boolean; multiModalVariableEnable?: boolean; }) { - const location = useLocation(); const [templateVisible, setTemplateVisible] = useState(false); const [refreshEditorKey2, setRefreshEditorKey2] = useState(0); - const [confirmLoading, setConfirmLoading] = useState(false); - - const formApi = useFormApi(); - const { values: formValues } = useFormState(); - const promptEvaluatorFieldApi = useFieldApi( 'current_version.evaluator_content.prompt_evaluator', ); @@ -112,71 +100,10 @@ export function PromptField({ [promptEvaluator?.message_list?.[1]?.content], ); - const afterTemplateSelect = (payload: PromptEvaluator) => { - promptEvaluatorFieldApi.setValue({ - ...promptEvaluator, - model_config: - formValues?.current_version?.evaluator_content?.prompt_evaluator - ?.model_config, - message_list: payload.message_list, - prompt_source_type: PromptSourceType.BuiltinTemplate, - prompt_template_key: payload.prompt_template_key, - prompt_template_name: payload.prompt_template_name, - }); - if (!formValues?.name) { - formApi.setValue('name', payload.prompt_template_name); - } - }; - useEffect(() => { calcVariables.run(); }, [promptEvaluator?.message_list]); - // 从URL查询参数中获取模板信息 - useEffect(() => { - const searchParams = new URLSearchParams(location.search); - const templateKey = searchParams.get('templateKey'); - - // 如果URL中存在模板键,则加载模板 - if (templateKey) { - // 获取模板信息 - StoneEvaluationApi.GetTemplateInfo({ - builtin_template_key: templateKey, - builtin_template_type: TemplateType.Prompt, - }).then(res => { - if (res.builtin_template?.prompt_evaluator) { - afterTemplateSelect(res.builtin_template.prompt_evaluator); - setRefreshEditorKey2(pre => pre + 1); - } - }); - } - }, [location.search]); - - const handleTemplateSelect = (template?: EvaluatorContent) => { - // 将模板信息添加到URL查询参数 - if (template?.prompt_evaluator?.prompt_template_key) { - setConfirmLoading(true); - const templateKey = template?.prompt_evaluator.prompt_template_key; - const searchParams = new URLSearchParams(location.search); - searchParams.set('templateKey', templateKey); - - if (template?.prompt_evaluator) { - afterTemplateSelect(template?.prompt_evaluator); - } - - // 更新URL而不导航 - window.history.replaceState( - null, - '', - `${location.pathname}?${searchParams.toString()}`, - ); - } - - setRefreshEditorKey2(pre => pre + 1); - setConfirmLoading(false); - setTemplateVisible(false); - }; - const systemMessage = ( setTemplateVisible(false)} - onSelect={handleTemplateSelect} + onSelect={(template: EvaluatorContent) => { + promptEvaluatorFieldApi.setValue({ + ...promptEvaluator, + message_list: template.prompt_evaluator?.message_list, + prompt_source_type: PromptSourceType.BuiltinTemplate, + prompt_template_key: template.prompt_evaluator?.prompt_template_key, + prompt_template_name: + template.prompt_evaluator?.prompt_template_name, + }); + setRefreshEditorKey2(pre => pre + 1); + setTemplateVisible(false); + }} /> ); diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.module.less b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.module.less index fcce6bf04..06d7e601a 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.module.less +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.module.less @@ -7,6 +7,13 @@ .semi-modal-content { gap: 0; padding: 0; + + .semi-modal-body { + & > div, + & > div > div { + overflow: visible; + } + } } } } diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.tsx index f24f6667a..82d6fc84d 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-create/template-modal.tsx @@ -20,15 +20,13 @@ import styles from './template-modal.module.less'; export function TemplateModal({ visible, disabled, - confirmLoading, onCancel, onSelect, }: { visible: boolean; disabled?: boolean; - confirmLoading?: boolean; onCancel: () => void; - onSelect: (template?: EvaluatorContent) => void; + onSelect: (template: EvaluatorContent) => void; }) { const [selected, setSelected] = useState(); const [keyMap, setKeyMap] = useState>({}); @@ -87,12 +85,15 @@ export function TemplateModal({ width={1040} height="fill" visible={visible} - confirmLoading={confirmLoading} - hasScroll={false} header={null} footer={null} > -
+
{I18n.t('select_template')} @@ -153,9 +154,9 @@ export function TemplateModal({ )}
-
- - ); -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-config-field.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-config-field.tsx deleted file mode 100755 index 1ff640a50..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-config-field.tsx +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { type Evaluator, LanguageType } from '@cozeloop/api-schema/evaluation'; -import { IconCozTemplate, IconCozExpand } from '@coze-arch/coze-design/icons'; -import { useFormState, Button } from '@coze-arch/coze-design'; - -import { - codeEvaluatorLanguageMap, - codeEvaluatorLanguageMapReverse, - CodeEvaluatorLanguageFE, - defaultTestData, - defaultJSCode, -} from '@/constants'; -import { - TestDataSource, - type CodeEvaluatorValue, -} from '@/components/evaluator-code/types'; -import { BaseCodeEvaluatorConfig } from '@/components/evaluator-code'; -import { I18n } from '@cozeloop/i18n-adapter'; - -interface CodeEvaluatorConfigFieldProps { - disabled?: boolean; - refreshEditorModelKey?: number; - debugLoading?: boolean; - onOpenTemplateModal?: () => void; - templateInfo?: { - key: string; - name: string; - lang: string; - } | null; - onFullscreenToggle?: () => void; - editorHeight?: string; -} - -{ - /* start_aigc */ -} -/** - * 将 API 数据转换为组件期望的数据结构 - */ -export function transformApiToComponent(evaluator?: Evaluator): { - config: CodeEvaluatorValue; -} { - if (!evaluator) { - return { - config: { - funcExecutor: { - language: CodeEvaluatorLanguageFE.Javascript, - code: defaultJSCode, - }, - testData: { - source: TestDataSource.Custom, - customData: defaultTestData[0], - }, - }, - }; - } - const codeEvaluator = - evaluator.current_version?.evaluator_content?.code_evaluator; - - const { language_type, code_content } = codeEvaluator as { - language_type?: string | LanguageType; - code_content?: string; - }; - - return { - config: { - funcExecutor: { - language: language_type - ? (codeEvaluatorLanguageMap[language_type] as CodeEvaluatorLanguageFE) - : CodeEvaluatorLanguageFE.Javascript, - code: code_content || '', - }, - testData: { - source: TestDataSource.Custom, - customData: defaultTestData[0], - }, - }, - }; -} - -/** - * 将组件数据转换为 API 期望的数据结构 - */ -export function transformComponentToApi( - componentData: CodeEvaluatorValue, -): Record { - const { funcExecutor } = componentData; - - return { - language_type: funcExecutor?.language - ? codeEvaluatorLanguageMapReverse[funcExecutor.language] - : LanguageType.JS, - code_content: funcExecutor?.code || '', - }; -} - -export function CodeEvaluatorConfigField({ - disabled, - refreshEditorModelKey, - debugLoading, - onOpenTemplateModal, - templateInfo, - onFullscreenToggle, - editorHeight, -}: CodeEvaluatorConfigFieldProps) { - const { values: formValue } = useFormState(); - const { config = {} } = formValue; - - return ( -
-
- {I18n.t('evaluate_config')} -
- {onFullscreenToggle ? ( - - ) : null} - {onOpenTemplateModal ? ( - - ) : null} -
-
- -
- ); -} - -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-version-view.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-version-view.tsx deleted file mode 100755 index d8fc2bc1c..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/code-evaluator-version-view.tsx +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import { CodeEditor } from '@cozeloop/components'; -import { - type EvaluatorVersion, - type LanguageType, -} from '@cozeloop/api-schema/evaluation'; - -import { codeEvaluatorLanguageMap } from '@/constants'; -import { I18n } from '@cozeloop/i18n-adapter'; - -interface Props { - version: EvaluatorVersion; -} - -{ - /* start_aigc */ -} -export function CodeEvaluatorVersionView({ version }: Props) { - const codeEvaluator = version.evaluator_content?.code_evaluator; - // 从API结构中获取数据 - const language = codeEvaluator?.language_type as LanguageType; - const code = codeEvaluator?.code_content; - const templateName = codeEvaluator?.code_template_name; - - const langText = codeEvaluatorLanguageMap[language]; - - return ( -
-
- {I18n.t('config_info')} -
- - {/* Code 评估器配置 */} -
- {/* 编程语言 */} - {language ? ( -
-
- {I18n.t('evaluate_programming_language')} -
-
- {langText - ? langText.charAt(0).toUpperCase() + langText.slice(1) - : ''} -
-
- ) : null} - - {/* 模板名称 */} - {templateName ? ( -
-
- {I18n.t('evaluate_used_template')} -
-
{templateName}
-
- ) : null} - - {/* 代码内容 */} - {code ? ( -
-
- {I18n.t('evaluate_code_content')} -
-
- -
-
- ) : null} -
- - {/* 如果没有配置信息,显示提示 */} - {!language && !code && ( -
- {I18n.t('evaluate_no_config_info')} -
- )} -
- ); -} -{ - /* end_aigc */ -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.module.less b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.module.less deleted file mode 100644 index ba07c9afc..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.module.less +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (c) 2025 coze-dev Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -/* stylelint-disable declaration-no-important */ -.code-detail-page-container { - display: flex; - flex-direction: column; - height: 100%; - - :global(.semi-form-field-main) { - height: 100%; - } - - :global(.semi-empty-content) { - margin-top: 0 !important; - } - - :global(.semi-empty-description) { - margin-top: 4px !important; - font-size: 14px !important; - font-weight: 500 !important; - color: var(--coz-fg-primary, rgba(15, 21, 40, 82%)) !important; - } - - :global(.semi-empty-footer) { - margin-top: 0 !important; - } -} diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.tsx deleted file mode 100755 index cd02a8d86..000000000 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/code-detail/index.tsx +++ /dev/null @@ -1,512 +0,0 @@ -/* - * Copyright 2025 - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* eslint-disable complexity */ -/* eslint-disable max-lines-per-function */ -/* eslint-disable @coze-arch/max-line-per-function */ -import { useParams } from 'react-router-dom'; -import { useRef, useState, useCallback } from 'react'; - -import { useRequest } from 'ahooks'; -import { I18n } from '@cozeloop/i18n-adapter'; -import { Guard, GuardPoint, useGuard } from '@cozeloop/guard'; -import { useDemoSpace, useSpace } from '@cozeloop/biz-hooks-adapter'; -import { useBreadcrumb } from '@cozeloop/base-hooks'; -import { - EvaluatorType, - type EvaluatorVersion, - type Evaluator, - type EvaluatorInputData, - type LanguageType, - type EvaluatorContent, - type EvaluatorOutputData, -} from '@cozeloop/api-schema/evaluation'; -import { StoneEvaluationApi } from '@cozeloop/api-schema'; -import { Form, Spin, Toast } from '@coze-arch/coze-design'; - -import { SCROLL_DELAY, SCROLL_OFFSET } from '@/utils/evaluator'; -import { - CodeEvaluatorLanguageFE, - codeEvaluatorLanguageMapReverse, - codeEvaluatorLanguageMap, -} from '@/constants'; -import { - TestDataSource, - type CodeEvaluatorValue, -} from '@/components/evaluator-code/types'; - -import { VersionListPane } from '../version-list-pane'; -import { Header } from '../header'; -import { SubmitVersionModal } from '../../evaluator-create/submit-version-modal'; -import { FullScreenEditorConfigModal } from '../../evaluator-create/code-create/full-screen-editor-config-modal'; -import { CodeTemplateModal } from '../../evaluator-create/code-create/code-template-modal'; -import { CodeEvaluatorVersionView } from './code-evaluator-version-view'; -import { - CodeEvaluatorConfigField, - transformApiToComponent, -} from './code-evaluator-config-field'; -import { CodeDebugButton } from './code-debug-button'; - -import styles from './index.module.less'; - -interface IFormValue { - name?: string; - description?: string; - config: CodeEvaluatorValue; -} - -function CodeEvaluatorDetailPage() { - const { spaceID } = useSpace(); - const { id } = useParams<{ id: string }>(); - const formRef = useRef>(null); - const scrollContainerRef = useRef(null); - - const [versionListVisible, setVersionListVisible] = useState(false); - const [versionListRefreshFlag, setVersionListRefreshFlag] = useState([]); - const [submitModalVisible, setSubmitModalVisible] = useState(false); - const { isDemoSpace } = useDemoSpace(); - const initialFlag = useRef(true); - - const [selectedVersion, setSelectedVersion] = useState< - EvaluatorVersion | undefined - >(); - - const [_initialEvaluator, setInitialEvaluator] = useState< - Evaluator | undefined - >(undefined); - - const [refreshEditorModelKey, _setRefreshEditorModelKey] = useState(0); - const [templateModalVisible, setTemplateModalVisible] = useState(false); - const [templateInfo, setTemplateInfo] = useState<{ - key: string; - name: string; - lang: string; - } | null>(null); - const [isFullscreen, setIsFullscreen] = useState(false); - - const service = useRequest( - async () => { - if (!id) { - throw new Error('Evaluator ID is required'); - } - - const queryString = window.location.search; - const urlParams = new URLSearchParams(queryString); - const versionID = urlParams.get('version'); - if (versionID) { - setSelectedVersion({ - id: versionID, - }); - } - - const res = await StoneEvaluationApi.GetEvaluator({ - workspace_id: spaceID, - evaluator_id: id, - }); - - if (!res.evaluator) { - throw new Error('Evaluator not found'); - } - - setInitialEvaluator(res.evaluator); - - // 将评估器数据设置到表单 - if (res.evaluator) { - const formValue: IFormValue = transformApiToComponent(res.evaluator); - - // 使用 setTimeout 确保表单已经渲染完成 - setTimeout(() => { - formRef.current?.formApi?.setValues(formValue); - }, 0); - } - - return res.evaluator; - }, - { - refreshDeps: [id, spaceID], - }, - ); - const evaluator = service.data; - - const guard = useGuard({ point: GuardPoint['eval.evaluator.global'] }); - useBreadcrumb({ - text: evaluator?.name || '', - }); - - const autoSaveService = useRequest( - async (values: IFormValue) => { - // 初始化时不自动保存 - if (initialFlag.current) { - initialFlag.current = false; - return; - } - const { config } = values; - const { funcExecutor } = config || {}; - const { code, language = CodeEvaluatorLanguageFE.Javascript } = - funcExecutor || {}; - - const res = await StoneEvaluationApi.UpdateEvaluatorDraft({ - workspace_id: spaceID, - evaluator_id: evaluator?.evaluator_id || '', - evaluator_content: { - code_evaluator: { - code_content: code, - language_type: codeEvaluatorLanguageMapReverse[language], - }, - }, - evaluator_type: EvaluatorType.Code, - }); - if (res.evaluator) { - service.mutate(res.evaluator); - return { lastSaveTime: res.evaluator?.base_info?.updated_at }; - } - }, - { - manual: true, - debounceWait: 800, - }, - ); - - const versionService = useRequest( - async () => { - if (selectedVersion?.id) { - const res = await StoneEvaluationApi.GetEvaluatorVersion({ - workspace_id: spaceID, - evaluator_version_id: selectedVersion.id, - }); - const versionDetail = res.evaluator?.current_version; - if (versionDetail) { - setSelectedVersion(pre => { - if (pre?.id === versionDetail.id) { - return versionDetail; - } - return pre; - }); - } - } - }, - { - refreshDeps: [selectedVersion?.id], - }, - ); - - // 通用的调试执行函数 - const executeDebug = async ( - targetFormRef: React.RefObject>, - ) => { - try { - const formValues = targetFormRef.current?.formApi.getValues(); - if (!formValues) { - return; - } - const { config } = formValues; - const { funcExecutor, testData } = config || {}; - const { code, language = CodeEvaluatorLanguageFE.Javascript } = - funcExecutor || {}; - - // 验证配置 - if (!code?.trim()) { - Toast.info({ - content: I18n.t('evaluate_please_write_function_body'), - top: 80, - }); - return; - } - - const { source, customData, setData } = testData || {}; - if ( - (source === TestDataSource.Custom && !customData) || - (source === TestDataSource.Dataset && !setData) - ) { - Toast.info({ - content: I18n.t('evaluate_please_configure_test_data'), - top: 80, - }); - return; - } - - // 平滑滚动到第410行容器下方200px位置 - if (scrollContainerRef?.current && !isFullscreen) { - setTimeout(() => { - scrollContainerRef.current?.scrollTo({ - top: scrollContainerRef.current?.scrollHeight + SCROLL_OFFSET, - behavior: 'smooth', - }); - }, SCROLL_DELAY); - } - - // 发起 debug 请求 - const res = await StoneEvaluationApi.BatchDebugEvaluator({ - workspace_id: spaceID, - evaluator_type: EvaluatorType.Code, - evaluator_content: { - code_evaluator: { - code_content: code, - language_type: codeEvaluatorLanguageMapReverse[language], - }, - }, - input_data: - source === TestDataSource.Custom - ? [customData as EvaluatorInputData] - : (setData as unknown as EvaluatorInputData[]), - }); - - // 处理调试结果 - if ( - !res.evaluator_output_data || - res.evaluator_output_data.length === 0 - ) { - Toast.error({ - content: I18n.t('evaluate_debug_failed_no_evaluation_result'), - top: 80, - }); - return; - } - - // 收集所有结果 - const allResults = res.evaluator_output_data || []; - - if (allResults.length > 0) { - // 直接通过表单API更新runResults - targetFormRef.current?.formApi.setValue( - 'config.runResults', - allResults, - ); - - return allResults; - } else { - Toast.warning({ - content: I18n.t('evaluate_debug_no_evaluation_result'), - top: 80, - }); - return; - } - } catch (error) { - console.error(I18n.t('evaluate_debug_failed'), error); - Toast.error({ - content: `调试失败: ${(error as Error)?.message || I18n.t('evaluate_unknown_error')}`, - top: 80, - }); - } - }; - - const debugService = useRequest( - async (ref: React.RefObject>) => - (await executeDebug(ref)) as EvaluatorOutputData[] | undefined, - { - manual: true, - }, - ); - - // 处理模板选择 - const handleTemplateSelect = useCallback((template?: EvaluatorContent) => { - const { code_evaluator } = template || {}; - if (code_evaluator) { - const { code_template_key, code_template_name, language_type } = - code_evaluator; - - // 设置模板信息 - setTemplateInfo({ - key: code_template_key || '', - name: code_template_name || '', - lang: language_type || '', - }); - - // 更新表单值 - if (code_evaluator.code_content && formRef.current) { - formRef.current.formApi.setValue('config.funcExecutor', { - code: code_evaluator.code_content, - language: - codeEvaluatorLanguageMap[language_type as LanguageType] || - CodeEvaluatorLanguageFE.Javascript, - }); - } - - // 关闭模板选择弹窗 - setTemplateModalVisible(false); - } - }, []); - - // 处理全屏切换 - const handleFullscreenToggle = useCallback(() => { - setIsFullscreen(prev => !prev); - }, []); - - if (service.loading) { - return ( -
- -
- ); - } - - if (service.error) { - return ( -
-
-
加载失败
-
{service.error.message}
-
-
- ); - } - - if (!evaluator) { - return ( -
-
-
评估器不存在
-
-
- ); - } - - const renderContent = () => { - if (selectedVersion) { - if (versionService.loading) { - return ( -
- -
- ); - } - return ( -
- -
- ); - } - }; - - return ( -
-
- service.mutate(old => ({ - ...old, - ...baseInfo, - })) - } - onOpenVersionList={() => setVersionListVisible(true)} - onSubmitVersion={() => - formRef?.current?.formApi - ?.validate() - .then(() => { - setSubmitModalVisible(true); - }) - .catch(e => console.warn(e)) - } - customDebugButton={ - - { - debugService.run(formRef); - }} - loading={debugService.loading} - /> - - } - /> - -
-
-
{ - // Demo 空间且没有管理权限,不保存 - if (!isDemoSpace) { - autoSaveService.run(values); - } - }} - > - {renderContent()} -
- setTemplateModalVisible(true)} - templateInfo={templateInfo} - onFullscreenToggle={handleFullscreenToggle} - editorHeight="600px" - /> -
-
-
-
- - {versionListVisible && evaluator ? ( - setVersionListVisible(false)} - selectedVersion={selectedVersion} - onSelectVersion={setSelectedVersion} - refreshFlag={versionListRefreshFlag} - /> - ) : null} -
- - setSubmitModalVisible(false)} - onSuccess={(_, newEvaluator) => { - setSubmitModalVisible(false); - Toast.success(I18n.t('version_submit_success')); - service.mutate(() => newEvaluator); - if (versionListVisible) { - setVersionListRefreshFlag([]); - } - }} - /> - - setTemplateModalVisible(false)} - onSelect={handleTemplateSelect} - /> - - >, - ) => Promise - } - onChange={vs => { - formRef.current?.formApi.setValues(vs); - }} - /> -
- ); -} - -export default CodeEvaluatorDetailPage; diff --git a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/header.tsx b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/header.tsx index ba271237d..bb87d75c7 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/header.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/evaluator/evaluator-detail/header.tsx @@ -21,7 +21,15 @@ import { } from '../evaluator-create/debug-button'; import { type BaseInfo, BaseInfoModal } from './base-info-modal'; -interface HeaderProps { +export function Header({ + evaluator, + selectedVersion, + autoSaveService, + onChangeBaseInfo, + onOpenVersionList, + onSubmitVersion, + debugButtonProps, +}: { evaluator?: Evaluator; selectedVersion?: EvaluatorVersion; autoSaveService: Result< @@ -35,20 +43,9 @@ interface HeaderProps { onChangeBaseInfo: (values: BaseInfo) => void; onOpenVersionList: () => void; onSubmitVersion: () => void; - customDebugButton?: React.ReactNode; - debugButtonProps?: DebugButtonProps; -} -export function Header({ - evaluator, - selectedVersion, - autoSaveService, - onChangeBaseInfo, - onOpenVersionList, - onSubmitVersion, - debugButtonProps, - customDebugButton, -}: HeaderProps) { + debugButtonProps: DebugButtonProps; +}) { const [editVisible, setEditVisible] = useState(false); const renderAutoSave = () => { @@ -124,10 +121,6 @@ export function Header({ ); }; - const DebugButtonComponent = - customDebugButton || - (debugButtonProps ? : null); - return ( <>
@@ -154,14 +147,14 @@ export function Header({ - {!selectedVersion ? DebugButtonComponent : null} - {!selectedVersion ? ( + {selectedVersion ? null : } + {selectedVersion ? null : ( - ) : null} + )}
- -
-
- ); - if (service.loading) { return (
@@ -127,18 +117,16 @@ function EvaluatorDetailPage() { ); } - let evaluatorInfo: null | ReactNode = null; - - if (selectedVersion) { - if (versionService.loading) { - evaluatorInfo = ( -
- -
- ); - } - if (!versionService.loading) { - evaluatorInfo = ( + const renderContent = () => { + if (selectedVersion) { + if (versionService.loading) { + return ( +
+ +
+ ); + } + return (
{I18n.t('config_info')} @@ -157,8 +145,27 @@ function EvaluatorDetailPage() {
); } - } + return ( +
{ + // Demo 空间且没有管理权限,不保存 + if (!isDemoSpace) { + autoSaveService.run(values); + } + }} + > + +
+ + ); + }; return (
-
{ - // Demo 空间且没有管理权限,不保存 - if (!isDemoSpace) { - autoSaveService.run(values); - } - }} - > - {formFieldContent} - {evaluatorInfo} -
+ {renderContent()}
{versionListVisible && evaluator ? ( (); const [defaultColumns, setDefaultColumns] = useState([]); - const [templateModalVisible, setTemplateModalVisible] = useState(false); - const [codeTemplateModalVisible, setCodeTemplateModalVisible] = - useState(false); const isSearch = filterParams?.search_name || !isEmpty(filterParams?.creator_ids); @@ -105,13 +88,7 @@ function EvaluatorListPage() { content: I18n.t('copy_and_create_evaluator', { name: record.name, }), - onOk: () => { - if (record.evaluator_type === EvaluatorType.Code) { - navigate(`create/code/${record.evaluator_id}`); - } else { - navigate(`create/llm/${record.evaluator_id}`); - } - }, + onOk: () => navigate(`create/${record.evaluator_id}`), showCancelButton: true, cancelText: I18n.t('cancel'), okText: I18n.t('confirm'), @@ -162,27 +139,6 @@ function EvaluatorListPage() { checked: true, disabled: true, }, - { - title: I18n.t('type'), - value: I18n.t('type'), - dataIndex: 'evaluator_type', - key: 'evaluator_type', - width: 100, - render: (text: Evaluator['evaluator_type']) => ( -
- {/* start_aigc */} - - - {text === EvaluatorType.Code ? 'Code' : 'LLM'} - - {/* end_aigc */} -
- ), - checked: true, - }, { title: I18n.t('latest_version'), value: I18n.t('latest_version'), @@ -296,13 +252,7 @@ function EvaluatorListPage() { actions={[ { label: I18n.t('detail'), - onClick: () => { - if (record.evaluator_type === EvaluatorType.Code) { - navigate(`code/${record.evaluator_id}`); - } else { - navigate(`${record.evaluator_id}`); - } - }, + onClick: () => navigate(`${record.evaluator_id}`), }, { label: I18n.t('copy'), @@ -348,48 +298,6 @@ function EvaluatorListPage() { const [currentColumns, setCurrentColumns] = useState[]>(columns); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const tableOnChange = ({ sorter, extra }: Record) => { - if (extra?.changeType === 'sorter' && sorter) { - let field: string | undefined = undefined; - switch (sorter.dataIndex) { - case 'base_info.created_at': - field = 'created_at'; - break; - case 'base_info.updated_at': - field = 'updated_at'; - break; - default: - break; - } - if (sorter.dataIndex) { - setFilterParams({ - ...filterParams, - order_bys: sorter.sortOrder - ? [ - { - field, - is_asc: sorter.sortOrder === 'ascend', - }, - ] - : undefined, - }); - } - } - }; - - const handleCodeClick = (template?: EvaluatorContent) => { - if (!template) { - navigate('create/code'); - } else { - const { code_template_key, language_type } = - template.code_evaluator || {}; - navigate( - `create/code?templateKey=${code_template_key}&templateLang=${language_type}`, - ); - } - }; - return ( - - setTemplateModalVisible(true)}> -
- - {I18n.t('evaluate_llm_evaluator')} -
-
- setCodeTemplateModalVisible(true)}> -
- - {I18n.t('evaluate_code_evaluator')} -
-
- - } + -
+ {I18n.t('new_evaluator')} +
} @@ -454,15 +345,36 @@ function EvaluatorListPage() { columns: currentColumns, sticky: { top: 0 }, onRow: record => ({ - onClick: () => { - if (record.evaluator_type === EvaluatorType.Code) { - navigate(`code/${record.evaluator_id}`); - } else { - navigate(`${record.evaluator_id}`); - } - }, + onClick: () => navigate(`${record.evaluator_id}`), }), - onChange: tableOnChange, + onChange: ({ sorter, extra }) => { + if (extra?.changeType === 'sorter' && sorter) { + let field: string | undefined = undefined; + switch (sorter.dataIndex) { + case 'base_info.created_at': + field = 'created_at'; + break; + case 'base_info.updated_at': + field = 'updated_at'; + break; + default: + break; + } + if (sorter.dataIndex) { + setFilterParams({ + ...filterParams, + order_bys: sorter.sortOrder + ? [ + { + field, + is_asc: sorter.sortOrder === 'ascend', + }, + ] + : undefined, + }); + } + } + }, }} empty={ isSearch ? ( @@ -485,24 +397,6 @@ function EvaluatorListPage() { } />
- setTemplateModalVisible(false)} - onSelect={evaluatorContent => { - if (evaluatorContent) { - navigate( - `create/llm?templateKey=${evaluatorContent.prompt_evaluator?.prompt_template_key}`, - ); - } else { - navigate('create/llm'); - } - }} - /> - setCodeTemplateModalVisible(false)} - onSelect={handleCodeClick} - /> ); } diff --git a/frontend/packages/cozeloop/evaluate/src/pages/experiment/contrast/components/contrast-header.tsx b/frontend/packages/cozeloop/evaluate/src/pages/experiment/contrast/components/contrast-header.tsx index 2aac313c7..19f0f3cba 100644 --- a/frontend/packages/cozeloop/evaluate/src/pages/experiment/contrast/components/contrast-header.tsx +++ b/frontend/packages/cozeloop/evaluate/src/pages/experiment/contrast/components/contrast-header.tsx @@ -24,11 +24,7 @@ export default function ExperimentContrastHeader({ return (
-
- {I18n.t('compare_x_experiments', { - num: currentExperiments?.length, - })} -
+
{I18n.t('compare_x_experiments')}
{{input}} - + {{output}} - + 使用下面的参考输出来帮助你评估响应的正确性: {{reference_output}} @@ -2143,98 +2143,56 @@ evaluator_template_conf_en-US: receive_chat_history: false code_evaluator_template_conf: - equal: + equals_checker: Python: receive_chat_history: false code_evaluator: language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n reason = f\"actual_output与reference_output{'匹配' if is_equal else '不匹配'}。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "equal" - code_template_name: "文本等值判断" - JS: + code_content: "def exec_evaluation(turn_data):\n try:\n # 获取实际输出和参考输出\n actual_text = turn_data[\"turn\"][\"eval_target\"][\"actual_output\"][\"text\"]\n reference_text = turn_data[\"turn\"][\"eval_set\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n \n if is_equal:\n status = \"实际输出与参考输出完全相等\"\n else:\n status = \"实际输出与参考输出不相等\"\n \n return {\n \"score\": score,\n \"reason\": status,\n \"status\": \"success\"\n }\n except Exception as e:\n return {\n \"score\": 0.0,\n \"reason\": f\"评估过程出现错误: {str(e)}\",\n \"status\": \"error\"\n }" + code_template_key: "equals_checker" + code_template_name: "相等性检查器" + Python3: receive_chat_history: false code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否等于reference_output */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const isEqual = actual_text.trim() === reference_text.trim();\n const score = isEqual ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${isEqual ? '等于' : '不等于'} 参考输出: '${reference_text}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "equal" - code_template_name: "文本等值判断" - contains_any: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 将reference_output按逗号分割为多个值\n reference_values = [val.strip() for val in reference_text.split(',')]\n \n # 检查actual_output是否包含任意一个参考值\n contains_any = any(val in actual_text for val in reference_values)\n score = 1.0 if contains_any else 0.0\n reason = f\"actual_output{'包含' if contains_any else '不包含'}任意参考值。actual_output: '{actual_text}', 参考值: {reference_values}\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "contains_any" - code_template_name: "文本包含判断" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否包含任意一个参考值 */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n // 将reference_output按逗号分割为多个值\n const reference_values = reference_text.split(',').map(val => val.trim());\n \n // 检查actual_output是否包含任意一个参考值\n const contains_any = reference_values.some(ref_val => actual_text.includes(ref_val));\n const score = contains_any ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${contains_any ? '包含' : '不包含'} 任意参考值: [${reference_values.join(', ')}]`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "contains_any" - code_template_name: "文本包含判断" - regex: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "import re\n\ndef exec_evaluation(turn):\n try:\n # 获取actual_output和reference_output(作为正则表达式)\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n regex_pattern = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 检查actual_output是否匹配正则表达式\n regex_match = bool(re.search(regex_pattern, actual_text))\n score = 1.0 if regex_match else 0.0\n reason = f\"actual_output{'匹配' if regex_match else '不匹配'}正则表达式。actual_output: '{actual_text}', 正则表达式: '{regex_pattern}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except re.error as e:\n raise Exception(f\"正则表达式错误: {e}\")\n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "regex" - code_template_name: "文本正则匹配" - JS: + language_type: "Python3" + code_content: "def exec_evaluation(turn_data):\n try:\n # 获取实际输出和参考输出\n actual_text = turn_data[\"turn\"][\"eval_target\"][\"actual_output\"][\"text\"]\n reference_text = turn_data[\"turn\"][\"eval_set\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n \n if is_equal:\n status = \"实际输出与参考输出完全相等\"\n else:\n status = \"实际输出与参考输出不相等\"\n \n return {\n \"score\": score,\n \"reason\": status,\n \"status\": \"success\"\n }\n except Exception as e:\n return {\n \"score\": 0.0,\n \"reason\": f\"评估过程出现错误: {str(e)}\",\n \"status\": \"error\"\n }" + code_template_key: "equals_checker" + code_template_name: "相等性检查器" + contains_checker: + JavaScript: receive_chat_history: false + input_schemas: + - name: "input" + type: "string" + description: "评估输入内容" + - name: "reference_output" + type: "string" + description: "参考输出内容" + - name: "actual_output" + type: "string" + description: "实际输出内容" code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否匹配正则表达式 */\n try {\n // 获取actual_output和reference_output(作为正则表达式)\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const regex_pattern = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const regex = new RegExp(regex_pattern);\n const regex_match = regex.test(actual_text);\n const score = regex_match ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${regex_match ? '匹配' : '不匹配'} 正则表达式: '${regex_pattern}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `正则表达式错误或评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "regex" - code_template_name: "文本正则匹配" - starts_with: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 检查actual_output是否以reference_output开头\n starts_with = actual_text.startswith(reference_text)\n score = 1.0 if starts_with else 0.0\n reason = f\"actual_output{'以' if starts_with else '不以'}reference_output开头。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "starts_with" - code_template_name: "文本起始子串判断" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否以reference_output开头 */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const starts_with = actual_text.startsWith(reference_text);\n const score = starts_with ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${starts_with ? '以' : '不以'} 参考输出开头: '${reference_text}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "starts_with" - code_template_name: "文本起始子串判断" - is_valid_json_object: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "import json\n\ndef exec_evaluation(turn):\n try:\n # 获取actual_output\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n \n # 检查actual_output是否为有效的JSON对象\n try:\n parsed_json = json.loads(actual_text)\n # 检查是否为对象(字典类型),而不是数组或其他类型\n if isinstance(parsed_json, dict):\n score = 1.0\n reason = f\"实际输出是有效的JSON对象: {actual_text}\"\n else:\n score = 0.0\n reason = f\"实际输出是有效的JSON,但不是对象类型: {actual_text}\"\n except json.JSONDecodeError:\n score = 0.0\n reason = f\"实际输出不是有效的JSON: {actual_text}\"\n \n return EvalOutput(score=score, reason=reason)\n except Exception as e:\n return EvalOutput(score=0.0, reason=f\"评估过程中出现错误: {str(e)}\")" - code_template_key: "is_valid_json_object" - code_template_name: "JSON格式校验" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否为有效的JSON对象 */\n try {\n // 获取actual_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n\n // 检查actual_output是否为有效的JSON对象\n let is_valid_json_object = false;\n let reason = '';\n \n try {\n const parsed_json = JSON.parse(actual_text);\n // 检查是否为对象(非数组),而不是数组或其他类型\n if (typeof parsed_json === 'object' && parsed_json !== null && !Array.isArray(parsed_json)) {\n is_valid_json_object = true;\n reason = `实际输出是有效的JSON对象: ${actual_text}`;\n } else {\n reason = `实际输出是有效的JSON,但不是对象类型: ${actual_text}`;\n }\n } catch (e) {\n reason = `实际输出不是有效的JSON: ${actual_text}`;\n }\n \n const score = is_valid_json_object ? 1.0 : 0.0;\n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "is_valid_json_object" - code_template_name: "JSON格式校验" - -custom_code_evaluator_template_conf: - custom: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n \"\"\"\n 执行自定义评估逻辑的主函数\n \n 步骤说明:\n 1. 从输入数据中提取actual_output和reference_output文本\n 2. 对两个文本进行预处理(去除首尾空白字符)\n 3. 执行文本相等性比较\n 4. 根据比较结果生成score和reason\n 5. 返回结构化的评估结果\n \"\"\"\n try:\n # 步骤1: 从嵌套的数据结构中提取actual_output文本\n # 路径: turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n \n # 步骤2: 从嵌套的数据结构中提取reference_output文本\n # 路径: turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 步骤3: 对两个文本进行预处理,去除首尾空白字符后进行相等性比较\n # 使用 strip() 方法消除可能的空格、换行符等影响比较结果的字符\n is_equal = actual_text.strip() == reference_text.strip()\n \n # 步骤4: 根据比较结果计算score\n # 完全匹配得1.0分,不匹配得0.0分(二元评分机制)\n score = 1.0 if is_equal else 0.0\n \n # 步骤5: 生成详细的reason\n # 包含匹配状态、actual_output内容和reference_output内容\n reason = f\"actual_output与reference_output{'匹配' if is_equal else '不匹配'}。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n # 步骤6: 返回成功的评估结果对象\n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n # 异常处理1: 处理字段路径不存在的情况\n # 当访问的嵌套字段不存在时,返回0分并记录错误信息\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n # 异常处理2: 处理其他未预期的异常情况\n # 确保函数在任何情况下都能返回有效的评估结果\n raise Exception(f\"评估失败: {e}\")\n\n" - code_template_key: "custom" - code_template_name: "自定义code评估器" + language_type: "JavaScript" + code_content: "function execEvaluation(turnData) {\n try {\n // 获取实际输出和参考输出\n const actualText = turnData.turn.eval_target.actual_output.text;\n const referenceText = turnData.turn.eval_set.reference_output.text;\n \n // 检查实际输出是否包含参考输出\n const contains = actualText.includes(referenceText);\n const score = contains ? 1.0 : 0.0;\n \n const status = contains ? \"包含\" : \"不包含\";\n \n return {\n score: score,\n reason: `实际输出${status}参考输出`,\n status: \"success\"\n };\n } catch (error) {\n return {\n score: 0.0,\n reason: `评估过程出现错误: ${error.message}`,\n status: \"error\"\n };\n }\n}" + code_template_key: "contains_checker" + code_template_name: "包含性检查器" JS: receive_chat_history: false + input_schemas: + - name: "input" + type: "string" + description: "评估输入内容" + - name: "reference_output" + type: "string" + description: "参考输出内容" + - name: "actual_output" + type: "string" + description: "实际输出内容" code_evaluator: language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /**\n * 执行自定义评估逻辑的主函数\n * \n * 步骤说明:\n * 1. 从输入数据中提取actual_output和reference_output文本\n * 2. 执行文本相等性比较\n * 3. 根据比较结果生成score和reason\n * 4. 返回结构化的评估结果\n */\n \n try {\n // 步骤1: 从嵌套的数据结构中提取actual_output文本\n // 路径: turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n \n // 步骤2: 从嵌套的数据结构中提取reference_output文本\n // 路径: turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n // 步骤3: 执行严格相等性比较\n // 使用 === 操作符进行精确匹配,去除首尾空白字符\n const isEqual = actual_text.trim() === reference_text.trim();\n \n // 步骤4: 根据比较结果计算score\n // 完全匹配得1.0分,不匹配得0.0分(二元评分机制)\n const score = isEqual ? 1.0 : 0.0;\n \n // 步骤5: 生成详细的reason\n // 包含匹配状态、actual_output内容和reference_output内容\n const reason = `actual_output与reference_output${isEqual ? '匹配' : '不匹配'}。actual_output: '${actual_text}', reference_output: '${reference_text}'`;\n\n // 步骤6: 返回成功的评估结果对象\n return { score, reason };\n } catch (e) {\n // 异常处理1: 处理类型错误和引用错误\n // 主要用于捕获访问不存在属性时的错误\n if (e instanceof TypeError || e instanceof ReferenceError) {\n throw new Error(`字段路径不存在:${e.message}`);\n }\n // 异常处理2: 处理其他未预期的异常情况\n // 确保函数在任何情况下都能返回有效的评估结果\n throw new Error(`检查出错:${e.message}`);\n }\n}" - code_template_key: "custom" - code_template_name: "自定义code评估器" + code_content: "function execEvaluation(turnData) {\n try {\n // 获取实际输出和参考输出\n const actualText = turnData.turn.eval_target.actual_output.text;\n const referenceText = turnData.turn.eval_set.reference_output.text;\n \n // 检查实际输出是否包含参考输出\n const contains = actualText.includes(referenceText);\n const score = contains ? 1.0 : 0.0;\n \n const status = contains ? \"包含\" : \"不包含\";\n \n return {\n score: score,\n reason: `实际输出${status}参考输出`,\n status: \"success\"\n };\n } catch (error) {\n return {\n score: 0.0,\n reason: `评估过程出现错误: ${error.message}`,\n status: \"error\"\n };\n }\n}" + code_template_key: "contains_checker" + code_template_name: "包含性检查器" expt_export_white_list: - allow_all: true + allow_all: true \ No newline at end of file diff --git a/release/deployment/docker-compose/conf/model_config.yaml b/release/deployment/docker-compose/conf/model_config.yaml index 2aab6ca79..594bd78ea 100644 --- a/release/deployment/docker-compose/conf/model_config.yaml +++ b/release/deployment/docker-compose/conf/model_config.yaml @@ -1,11 +1,16 @@ models: - id: 1 - name: "doubao" + name: "gemini-2.5-flash" frame: "eino" - protocol: "ark" + protocol: "openai" protocol_config: - api_key: "***" - model: "***" + api_key: "sk-pbtTgIE_myyjo9mU2KMA-g" + model: "gemini-2.5-flash" + base_url: "https://litellm.intra.didiglobal.com" + scenario_configs: + eval_target: + scenario: "eval_target" + unavailable: false param_config: param_schemas: - name: "temperature" @@ -20,7 +25,73 @@ models: desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." type: "int" min: "1" - max: "4096" + max: "4096000" + default_val: "2048" + - name: "top_p" + label: "top_p" + desc: "Selects the minimum token set with cumulative probability reaching top_p during generation, excluding tokens outside the set, balancing diversity and reasonableness." + type: "float" + min: "0.001" + max: "1.0" + default_val: "0.7" + - id: 2 + name: "gemini-2.5-pro" + frame: "eino" + protocol: "openai" + protocol_config: + api_key: "sk-pbtTgIE_myyjo9mU2KMA-g" + model: "gemini-2.5-pro" + base_url: "https://litellm.intra.didiglobal.com" + scenario_configs: + eval_target: + scenario: "eval_target" + unavailable: false + param_config: + param_schemas: + - name: "temperature" + label: "temperature" + desc: "Increasing temperature makes model output more diverse and creative, while decreasing it makes output more focused on instructions but less diverse. It's recommended not to adjust this simultaneously with 'Top p'." + type: "float" + min: "0" + max: "1.0" + default_val: "0.7" + - name: "max_tokens" + label: "max_tokens" + desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." + type: "int" + min: "1" + max: "4096000" + default_val: "2048" + - name: "top_p" + label: "top_p" + desc: "Selects the minimum token set with cumulative probability reaching top_p during generation, excluding tokens outside the set, balancing diversity and reasonableness." + type: "float" + min: "0.001" + max: "1.0" + default_val: "0.7" + - id: 3 + name: "gemini-2.5-pro-google" + frame: "eino" + protocol: "google" + protocol_config: + api_key: "AIzaSyCi5SVSuzTiFZNaAyt2zYB3TcJZMsWQr14" + model: "gemini-2.5-pro" + base_url: "https://generativelanguage.googleapis.com" + param_config: + param_schemas: + - name: "temperature" + label: "temperature" + desc: "Increasing temperature makes model output more diverse and creative, while decreasing it makes output more focused on instructions but less diverse. It's recommended not to adjust this simultaneously with 'Top p'." + type: "float" + min: "0" + max: "1.0" + default_val: "0.7" + - name: "max_tokens" + label: "max_tokens" + desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." + type: "int" + min: "1" + max: "4096000" default_val: "2048" - name: "top_p" label: "top_p" diff --git a/release/deployment/docker-compose/conf/observability.yaml b/release/deployment/docker-compose/conf/observability.yaml index 9bbdf1487..85e68736d 100644 --- a/release/deployment/docker-compose/conf/observability.yaml +++ b/release/deployment/docker-compose/conf/observability.yaml @@ -177,46 +177,6 @@ trace_field_meta_info: - "not_exist" support_custom: true field_metas: - default: - root_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "span_type" - - "message_id" - - "user_id" - all_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "span_type" - - "message_id" - - "user_id" - - "input_tokens" - - "output_tokens" - - "prompt_key" - - "tokens" - llm_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "message_id" - - "user_id" - - "input_tokens" - - "output_tokens" - - "tokens" cozeloop: root_span: - "input" @@ -329,26 +289,6 @@ query_trace_rate_limit_config: space_max_qps: 123456: 100 -key_columns: - - "start_time" - - "span_id" - - "parent_id" - - "duration" - - "span_type" - - "span_name" - - "status_code" - - "tags_long" - - "logic_delete_date" - -key_span_type: - default: - - "model", - - "tool", - - "root" - - "UserInput" - - "UserInputV2" - - "LLMCall" - correction_mq_consumer_config: addr: - "cozeloop-namesrv:9876" diff --git a/release/deployment/docker-compose/docker-compose.yml b/release/deployment/docker-compose/docker-compose.yml index cd30870a4..2e0390bb0 100644 --- a/release/deployment/docker-compose/docker-compose.yml +++ b/release/deployment/docker-compose/docker-compose.yml @@ -34,10 +34,6 @@ services: condition: service_healthy rocketmq-init: condition: service_completed_successfully - coze-loop-python-faas: - condition: service_healthy - coze-loop-js-faas: - condition: service_healthy environment: # redis COZE_LOOP_REDIS_DOMAIN: "${COZE_LOOP_REDIS_DOMAIN}" @@ -66,11 +62,6 @@ services: # rmq COZE_LOOP_RMQ_NAMESRV_DOMAIN: "${COZE_LOOP_RMQ_NAMESRV_DOMAIN}" COZE_LOOP_RMQ_NAMESRV_PORT: "${COZE_LOOP_RMQ_NAMESRV_PORT}" - # faas - COZE_LOOP_PYTHON_FAAS_DOMAIN: "${COZE_LOOP_PYTHON_FAAS_DOMAIN}" - COZE_LOOP_PYTHON_FAAS_PORT: "${COZE_LOOP_PYTHON_FAAS_PORT}" - COZE_LOOP_JS_FAAS_DOMAIN: "${COZE_LOOP_JS_FAAS_DOMAIN}" - COZE_LOOP_JS_FAAS_PORT: "${COZE_LOOP_JS_FAAS_PORT}" entrypoint: [ "sh", "/coze-loop/bootstrap/entrypoint.sh" ] healthcheck: test: [ "CMD", "sh", "/coze-loop/bootstrap/healthcheck.sh" ] @@ -230,6 +221,8 @@ services: - rmq_namesrv_data:/store # 挂载宿主机以持久化 - ./bootstrap/rmq-namesrv:/coze-loop-rmq-namesrv/bootstrap user: "0:0" + environment: + JAVA_OPT_EXT: "-Xms256m -Xmx256m" entrypoint: [ "sh", "/coze-loop-rmq-namesrv/bootstrap/entrypoint.sh" ] healthcheck: test: [ "CMD", "sh", "/coze-loop-rmq-namesrv/bootstrap/healthcheck.sh" ] @@ -252,6 +245,8 @@ services: rocketmq-namesrv: condition: service_healthy user: "0:0" + environment: + JAVA_OPT_EXT: "-Xms512m -Xmx512m -Xmn256m" entrypoint: [ "sh", "/coze-loop-rmq-broker/bootstrap/entrypoint.sh" ] healthcheck: test: [ "CMD", "sh", "/coze-loop-rmq-broker/bootstrap/healthcheck.sh" ] @@ -304,78 +299,6 @@ services: retries: 5 start_period: 10s - # Python FaaS服务 - 增强版系统Python执行 - coze-loop-python-faas: - profiles: [ "faas", "app" ] - container_name: "coze-loop-python-faas" - image: "${COZE_LOOP_PYTHON_FAAS_IMAGE_REGISTRY}/${COZE_LOOP_PYTHON_FAAS_IMAGE_REPOSITORY}/${COZE_LOOP_PYTHON_FAAS_IMAGE_NAME}:${COZE_LOOP_PYTHON_FAAS_IMAGE_TAG}" - restart: always - networks: - - coze-loop-network - volumes: - - python_faas_workspace:/tmp/faas-workspace - - ./bootstrap/python-faas:/coze-loop-python-faas/bootstrap:ro # 只读挂载 - environment: - # Deno 配置 - DENO_DIR: "${DENO_DIR}" - DENO_NO_UPDATE_CHECK: "${DENO_NO_UPDATE_CHECK}" - DENO_V8_FLAGS: "${DENO_V8_FLAGS}" - # FaaS 基础配置 - FAAS_WORKSPACE: "${FAAS_WORKSPACE}" - FAAS_PORT: "${FAAS_PORT}" - FAAS_TIMEOUT: "${FAAS_TIMEOUT}" - FAAS_LANGUAGE: "${FAAS_LANGUAGE}" - # 预装Python包版本配置(使用兼容版本) - NUMPY_VERSION: "${NUMPY_VERSION}" - PANDAS_VERSION: "${PANDAS_VERSION}" - JSONSCHEMA_VERSION: "${JSONSCHEMA_VERSION}" - SCIPY_VERSION: "${SCIPY_VERSION}" - SKLEARN_VERSION: "${SKLEARN_VERSION}" - working_dir: /app - entrypoint: [ "sh", "/coze-loop-python-faas/bootstrap/entrypoint.sh" ] - tmpfs: - - /tmp:noexec,nosuid,size=1g,mode=1777 - security_opt: - - no-new-privileges:true - cap_drop: - - ALL - cap_add: - - SETUID - - SETGID - healthcheck: - test: [ "CMD", "sh", "/coze-loop-python-faas/bootstrap/healthcheck.sh" ] - interval: 60s - timeout: 20s - retries: 20 - start_period: 120s - - # JavaScript FaaS服务 - coze-loop-js-faas: - profiles: [ "faas", "app" ] - container_name: "coze-loop-js-faas" - image: "denoland/deno:1.45.5" - restart: always - networks: - - coze-loop-network - volumes: - - js_faas_workspace:/tmp/faas-workspace - - ./bootstrap/js-faas:/coze-loop-js-faas/bootstrap - environment: - DENO_DIR: "/tmp/.deno" - DENO_NO_UPDATE_CHECK: "1" - FAAS_WORKSPACE: "/tmp/faas-workspace" - FAAS_PORT: "8000" - FAAS_TIMEOUT: "30000" - FAAS_LANGUAGE: "javascript" - working_dir: /app - entrypoint: [ "sh", "/coze-loop-js-faas/bootstrap/entrypoint.sh" ] - healthcheck: - test: [ "CMD", "sh", "/coze-loop-js-faas/bootstrap/healthcheck.sh" ] - interval: 60s - timeout: 20s - retries: 20 - start_period: 120s - volumes: redis_data: name: coze-loop_redis_data @@ -393,10 +316,6 @@ volumes: name: coze-loop_rocketmq_broker_data nginx_data: name: ${COZE_LOOP_NGINX_DATA_VOLUME_NAME} - python_faas_workspace: - name: coze-loop_python_faas_workspace - js_faas_workspace: - name: coze-loop_js_faas_workspace networks: coze-loop-network: diff --git a/release/deployment/helm-chart/charts/app/bootstrap/entrypoint.sh b/release/deployment/helm-chart/charts/app/bootstrap/entrypoint.sh index 92c0acdd4..67061bdbd 100644 --- a/release/deployment/helm-chart/charts/app/bootstrap/entrypoint.sh +++ b/release/deployment/helm-chart/charts/app/bootstrap/entrypoint.sh @@ -31,4 +31,4 @@ export ROCKETMQ_GO_LOG_LEVEL=error done )& -/coze-loop/bin/main +/coze-loop/bin/main \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/auto_task_run.sql b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/auto_task_run.sql deleted file mode 100644 index b3c0a0c3e..000000000 --- a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/auto_task_run.sql +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE IF NOT EXISTS `auto_task_run` ( - `id` bigint unsigned NOT NULL COMMENT 'TaskRun ID', - `workspace_id` bigint unsigned NOT NULL COMMENT '空间ID', - `task_id` bigint unsigned NOT NULL COMMENT 'Task ID', - `task_type` varchar(64) NOT NULL DEFAULT '' COMMENT 'Task类型', - `run_status` varchar(64) NOT NULL DEFAULT '' COMMENT 'Task Run状态', - `run_detail` json DEFAULT NULL COMMENT 'Task Run运行状态详情', - `backfill_detail` json DEFAULT NULL COMMENT '历史回溯Task Run运行状态详情', - `run_start_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务开始时间', - `run_end_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '任务结束时间', - `run_config` json DEFAULT NULL COMMENT '相关Run的配置信息', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - KEY `idx_task_id_status` (`task_id`,`run_status`), - KEY `idx_workspace_task` (`workspace_id`, `task_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Task Run信息'; \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/task.sql b/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/task.sql deleted file mode 100644 index 491a24414..000000000 --- a/release/deployment/helm-chart/charts/app/bootstrap/init/mysql/init-sql/task.sql +++ /dev/null @@ -1,21 +0,0 @@ -CREATE TABLE IF NOT EXISTS `task` ( - `id` bigint unsigned NOT NULL COMMENT 'Task ID', - `workspace_id` bigint unsigned NOT NULL COMMENT '空间ID', - `name` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务名称', - `description` varchar(2048) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '任务描述', - `task_type` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务类型', - `task_status` varchar(64) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '任务状态', - `task_detail` json DEFAULT NULL COMMENT '任务运行状态详情', - `span_filter` json DEFAULT NULL COMMENT 'span 过滤条件', - `effective_time` json DEFAULT NULL COMMENT '生效时间', - `backfill_effective_time` json DEFAULT NULL COMMENT '历史回溯生效时间', - `sampler` json DEFAULT NULL COMMENT '采样器', - `task_config` json DEFAULT NULL COMMENT '相关任务的配置信息', - `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', - `created_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '创建人', - `updated_by` varchar(128) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '更新人', - PRIMARY KEY (`id`), - KEY `idx_space_id_status` (`workspace_id`,`task_status`), - KEY `idx_space_id_type` (`workspace_id`,`task_type`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='任务信息' \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/bootstrap/init/rmq/init-subscription/subscriptions.cfg b/release/deployment/helm-chart/charts/app/bootstrap/init/rmq/init-subscription/subscriptions.cfg index 42e47a0f0..ec53c465d 100644 --- a/release/deployment/helm-chart/charts/app/bootstrap/init/rmq/init-subscription/subscriptions.cfg +++ b/release/deployment/helm-chart/charts/app/bootstrap/init/rmq/init-subscription/subscriptions.cfg @@ -7,8 +7,4 @@ evaluator_record_correction_event=evaluator_record_correction_local_test_cg trace_ingestion_event=collector_rmq_receiver trace_annotation_event=trace_annotation_event_cg cozeloop_evaluation_expt_turn_result_filter=cozeloop_evaluation_expt_turn_result_filter_cg -expt_export_csv_event=expt_export_csv_event_cg -cozeloop_evaluation_correction_evaluator_result=cozeloop_evaluation_correction_evaluator_result_evaluation_cg -cozeloop_async_tasks=cozeloop_async_tasks_backfill_cg -cozeloop_evaluation_online_expt_eval_result=cozeloop_evaluation_online_expt_eval_result_cg -trace_to_task=trace_to_task_cg \ No newline at end of file +expt_export_csv_event=expt_export_csv_event_cg \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/templates/deployment.yaml b/release/deployment/helm-chart/charts/app/templates/deployment.yaml index 8ad2317d9..a98e844de 100644 --- a/release/deployment/helm-chart/charts/app/templates/deployment.yaml +++ b/release/deployment/helm-chart/charts/app/templates/deployment.yaml @@ -261,15 +261,6 @@ spec: secretKeyRef: name: {{ include "secret.name" . }} key: rmq-namesrv-password - # faas - - name: COZE_LOOP_PYTHON_FAAS_DOMAIN - value: {{ printf "%s-%s" .Release.Name "python-faas" | quote }} - - name: COZE_LOOP_PYTHON_FAAS_PORT - value: {{ (.Values.env.pythonFaas.port | default 8000) | quote }} - - name: COZE_LOOP_JS_FAAS_DOMAIN - value: {{ printf "%s-%s" .Release.Name "js-faas" | quote }} - - name: COZE_LOOP_JS_FAAS_PORT - value: {{ (.Values.env.jsFaas.port | default 8000) | quote }} command: [ "/bin/sh", "/coze-loop/bootstrap/entrypoint.sh" ] livenessProbe: exec: @@ -277,4 +268,4 @@ spec: initialDelaySeconds: {{ .Values.liveness.startSeconds }} periodSeconds: {{ .Values.liveness.intervalSeconds }} timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} - failureThreshold: {{ .Values.liveness.shutdownFailureTimes }} + failureThreshold: {{ .Values.liveness.shutdownFailureTimes }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/app/values.yaml b/release/deployment/helm-chart/charts/app/values.yaml index 2d8785c1e..73d1a0316 100644 --- a/release/deployment/helm-chart/charts/app/values.yaml +++ b/release/deployment/helm-chart/charts/app/values.yaml @@ -7,7 +7,7 @@ image: registry: "docker.io" repository: "cozedev" image: "coze-loop" - tag: "1.4.1" + tag: "1.2.0" pullPolicy: Always pullSecrets: "coze-loop-image-secret" @@ -18,7 +18,7 @@ init_image: image: "redis" tag: "8.2.0" mysql: - registry: "docker.io" + registry: "docker.iom" repository: "library" image: "mysql" tag: "8.4.6" @@ -80,12 +80,6 @@ env: user: "" password: "" - # faas - pythonFaas: - port: 8000 - jsFaas: - port: 8000 - # customization custom: image: @@ -125,4 +119,4 @@ custom: domain: port: user: - password: + password: \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/Chart.yaml b/release/deployment/helm-chart/charts/js-faas/Chart.yaml deleted file mode 100644 index 99c7c55fc..000000000 --- a/release/deployment/helm-chart/charts/js-faas/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: coze-loop-js-faas -description: JavaScript FaaS service for Coze Loop -type: application -version: 1.2.0 -appVersion: "1.2.0" \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/bootstrap/deno.json b/release/deployment/helm-chart/charts/js-faas/bootstrap/deno.json deleted file mode 100644 index 1341a903c..000000000 --- a/release/deployment/helm-chart/charts/js-faas/bootstrap/deno.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "lib": ["deno.ns", "dom", "dom.iterable"], - "strict": true - }, - "tasks": { - "dev": "deno run --allow-net --allow-env --allow-read --allow-write --allow-run js_faas_server.ts", - "start": "deno run --allow-net=0.0.0.0:8000 --allow-env --allow-read=/coze-loop-js-faas/bootstrap,/tmp --allow-write=/tmp --allow-run=deno js_faas_server.ts" - } -} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/bootstrap/entrypoint.sh b/release/deployment/helm-chart/charts/js-faas/bootstrap/entrypoint.sh deleted file mode 100644 index 5cadb6845..000000000 --- a/release/deployment/helm-chart/charts/js-faas/bootstrap/entrypoint.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -exec 2>&1 -set -e - -print_banner() { - msg="$1" - side=30 - content=" $msg " - content_len=${#content} - line_len=$((side * 2 + content_len)) - - line=$(printf '*%.0s' $(seq 1 "$line_len")) - side_eq=$(printf '*%.0s' $(seq 1 "$side")) - - printf "%s\n%s%s%s\n%s\n" "$line" "$side_eq" "$content" "$side_eq" "$line" -} - -print_banner "Starting JavaScript FaaS..." - -# 确保工作空间目录存在 -mkdir -p "${FAAS_WORKSPACE:-/tmp/faas-workspace}" - -# 后台健康检查循环 -( - while true; do - if sh /coze-loop-js-faas/bootstrap/healthcheck.sh; then - print_banner "JavaScript FaaS Completed!" - break - else - sleep 1 - fi - done -)& - -# 启动JavaScript FaaS服务器 -exec deno run --allow-net=0.0.0.0:8000 --allow-env --allow-read=/coze-loop-js-faas/bootstrap,/tmp --allow-write=/tmp --allow-run /coze-loop-js-faas/bootstrap/js_faas_server.ts diff --git a/release/deployment/helm-chart/charts/js-faas/bootstrap/healthcheck.sh b/release/deployment/helm-chart/charts/js-faas/bootstrap/healthcheck.sh deleted file mode 100644 index e16eeb1c8..000000000 --- a/release/deployment/helm-chart/charts/js-faas/bootstrap/healthcheck.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -set -e - -# 使用Deno检查JavaScript FaaS的健康状态 -if deno eval "try { const resp = await fetch('http://localhost:8000/health'); if (resp.ok) { const data = await resp.json(); console.log('Health:', data.status); Deno.exit(0); } else { Deno.exit(1); } } catch (e) { console.error(e); Deno.exit(1); }" 2>/dev/null; then - exit 0 -else - exit 1 -fi \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/bootstrap/js_faas_server.ts b/release/deployment/helm-chart/charts/js-faas/bootstrap/js_faas_server.ts deleted file mode 100644 index a82de31fd..000000000 --- a/release/deployment/helm-chart/charts/js-faas/bootstrap/js_faas_server.ts +++ /dev/null @@ -1,314 +0,0 @@ -#!/usr/bin/env deno run --allow-all - -/** - * 专用JavaScript FaaS服务器 - * 专注于JavaScript/TypeScript代码执行,提供统一的/run_code接口 - */ - -interface ExecutionRequest { - language?: string; - code: string; - timeout?: number; -} - -interface ExecutionResult { - stdout: string; - stderr: string; - returnValue: string; -} - -interface ApiResponse { - output: { - stdout: string; - stderr: string; - ret_val: string; - }; - metadata?: { - language: string; - duration: number; - status: string; - }; -} - -class JavaScriptExecutor { - private executionCount = 0; - - async executeJavaScript(code: string, timeout = 30000): Promise { - this.executionCount++; - - // 保留用户代码原样,避免移除由后端注入的 return_val 实现 - const processedCode = code; - // 将用户代码写入独立临时文件,避免任何模板拼接/转义问题 - const userCodeFile = await this.createUserCodeFile(processedCode); - - // 直接构造包装代码,不使用模板字符串的嵌套 - // 不再添加return_val函数定义,使用runtime中提供的实现 - const wrappedLines: string[] = []; - wrappedLines.push("let userStdout = '';"); - wrappedLines.push("let userStderr = '';"); - wrappedLines.push("let returnValue = '';"); - wrappedLines.push(""); - wrappedLines.push("const originalLog = console.log;"); - wrappedLines.push("const originalError = console.error;"); - wrappedLines.push(""); - wrappedLines.push("console.log = (...args) => {"); - wrappedLines.push(" userStdout += args.join(' ') + \"\\n\";"); - wrappedLines.push("};"); - wrappedLines.push(""); - wrappedLines.push("console.error = (...args) => {"); - wrappedLines.push(" userStderr += args.join(' ') + \"\\n\";"); - wrappedLines.push("};"); - wrappedLines.push(""); - wrappedLines.push("try {"); - wrappedLines.push(" const __userCode = await Deno.readTextFile(" + JSON.stringify(userCodeFile) + ");"); - wrappedLines.push(" (new Function('__code', 'return (function(){ \"use strict\"; return eval(__code); })();'))(__userCode);"); - wrappedLines.push(""); - wrappedLines.push(" if (!returnValue && userStdout.trim()) {"); - wrappedLines.push(" const lines = userStdout.trim().split('\\n');"); - wrappedLines.push(" for (let i = lines.length - 1; i >= 0; i--) {"); - wrappedLines.push(" const line = lines[i].trim();"); - wrappedLines.push(" if (line.startsWith('{') && line.endsWith('}')) {"); - wrappedLines.push(" try {"); - wrappedLines.push(" JSON.parse(line);"); - wrappedLines.push(" returnValue = line;"); - wrappedLines.push(" lines.splice(i, 1);"); - wrappedLines.push(" userStdout = lines.join('\\n');"); - wrappedLines.push(" break;"); - wrappedLines.push(" } catch (_) {"); - wrappedLines.push(" }"); - wrappedLines.push(" }"); - wrappedLines.push(" }"); - wrappedLines.push(" }"); - wrappedLines.push(""); - wrappedLines.push(" originalLog(JSON.stringify({ stdout: userStdout, stderr: userStderr, ret_val: returnValue }));"); - wrappedLines.push("} catch (error) {"); - wrappedLines.push(" const msg = (error && error.stack) ? String(error.stack) : String((error && error.message) || error);"); - wrappedLines.push(" originalLog(JSON.stringify({ stdout: userStdout, stderr: userStderr + msg + \"\\n\", ret_val: '' }));"); - wrappedLines.push("}"); - const wrappedCode = wrappedLines.join('\n'); - - const tempFile = await this.createTempFile(wrappedCode); - - try { - return await this.executeCode(tempFile, timeout); - } finally { - await this.cleanup(tempFile); - } - } - - private async createTempFile(code: string): Promise { - const timestamp = Date.now(); - const randomId = Math.random().toString(36).substr(2, 9); - const tempFile = `/tmp/faas-workspace/temp_${timestamp}_${randomId}.js`; - - await Deno.writeTextFile(tempFile, code); - return tempFile; - } - - private async createUserCodeFile(code: string): Promise { - const timestamp = Date.now(); - const randomId = Math.random().toString(36).substr(2, 9); - const userFile = `/tmp/faas-workspace/user_${timestamp}_${randomId}.js`; - await Deno.writeTextFile(userFile, code); - return userFile; - } - - private async executeCode(tempFile: string, timeout: number): Promise { - const controller = new AbortController(); - const timeoutId = setTimeout(() => controller.abort(), timeout); - - try { - const command = new Deno.Command("deno", { - args: ["run", "--allow-all", "--quiet", tempFile], - stdout: "piped", - stderr: "piped", - signal: controller.signal, - }); - - const { code: exitCode, stdout, stderr } = await command.output(); - - const stdoutText = new TextDecoder().decode(stdout); - const stderrText = new TextDecoder().decode(stderr); - - if (exitCode === 0 && stdoutText.trim()) { - // 按行分割,找到最后一个有效的JSON行 - const lines = stdoutText.trim().split('\n'); - for (let i = lines.length - 1; i >= 0; i--) { - const line = lines[i].trim(); - if (line.startsWith('{') && line.endsWith('}')) { - try { - const result = JSON.parse(line); - return { - stdout: result.stdout || "", - stderr: result.stderr || stderrText, - returnValue: result.ret_val || "" - }; - } catch { - continue; // 尝试上一行 - } - } - } - } - - return { - stdout: stdoutText, - stderr: stderrText, - returnValue: "" - }; - } finally { - clearTimeout(timeoutId); - } - } - - private async cleanup(tempFile: string): Promise { - try { - await Deno.remove(tempFile); - } catch { - // 忽略清理错误 - } - } - - getExecutionCount(): number { - return this.executionCount; - } -} - -// ==================== JavaScript FaaS 服务器 ==================== - -class JavaScriptFaaSServer { - private readonly executor: JavaScriptExecutor; - private readonly startTime = Date.now(); - - constructor() { - this.executor = new JavaScriptExecutor(); - } - - async start(): Promise { - const port = parseInt(Deno.env.get("FAAS_PORT") || "8000"); - console.log(`🚀 JavaScript FaaS server starting on port ${port}...`); - - const handler = this.createHandler(); - const server = Deno.serve({ port, handler }); - - console.log(`✅ JavaScript FaaS server started on port ${port}`); - await server.finished; - } - - private createHandler(): (request: Request) => Promise { - return async (request: Request) => { - const url = new URL(request.url); - const path = url.pathname; - const method = request.method; - - try { - if (method === "GET" && path === "/health") { - return this.handleHealthCheck(); - } - - if (method === "POST" && path === "/run_code") { - return this.handleRunCode(request); - } - - return new Response("Not Found", { status: 404 }); - } catch (error) { - console.error("❌ 请求处理错误:", error); - return new Response( - JSON.stringify({ error: "Internal server error", details: String(error) }), - { - status: 500, - headers: { "Content-Type": "application/json" } - } - ); - } - }; - } - - private async handleHealthCheck(): Promise { - const uptime = Date.now() - this.startTime; - const healthStatus = { - status: "healthy", - timestamp: new Date().toISOString(), - uptime: uptime, - runtime: "deno", - version: Deno.version.deno, - execution_count: this.executor.getExecutionCount(), - language: "javascript" - }; - - return new Response(JSON.stringify(healthStatus), { - headers: { "Content-Type": "application/json" } - }); - } - - private async handleRunCode(request: Request): Promise { - const startTime = Date.now(); - - try { - const body = await request.json() as ExecutionRequest; - const { code, language = "javascript", timeout = 30000 } = body; - - if (!code) { - return new Response( - JSON.stringify({ error: "Code is required" }), - { status: 400, headers: { "Content-Type": "application/json" } } - ); - } - - console.log(`🚀 执行 ${language} 代码,超时: ${timeout}ms`); - - const result = await this.executor.executeJavaScript(code, timeout); - const duration = Date.now() - startTime; - - const response: ApiResponse = { - output: { - stdout: result.stdout, - stderr: result.stderr, - ret_val: result.returnValue - }, - metadata: { - language: language, - duration: duration, - status: "completed" - } - }; - - console.log(`✅ 执行完成,耗时: ${duration}ms`); - - return new Response(JSON.stringify(response), { - headers: { "Content-Type": "application/json" } - }); - - } catch (error) { - const duration = Date.now() - startTime; - console.error(`❌ 执行失败,耗时: ${duration}ms,错误:`, error); - - return new Response( - JSON.stringify({ - error: "Execution failed", - details: String(error), - output: { - stdout: "", - stderr: String(error), - ret_val: "" - }, - metadata: { - language: "javascript", - duration: duration, - status: "failed" - } - }), - { - status: 500, - headers: { "Content-Type": "application/json" } - } - ); - } - } -} - -// ==================== 主程序 ==================== - -if (import.meta.main) { - const server = new JavaScriptFaaSServer(); - await server.start(); -} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/templates/_helpers.tpl b/release/deployment/helm-chart/charts/js-faas/templates/_helpers.tpl deleted file mode 100644 index e46d44f71..000000000 --- a/release/deployment/helm-chart/charts/js-faas/templates/_helpers.tpl +++ /dev/null @@ -1,52 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "js-faas.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "js-faas.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "js-faas.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "js-faas.labels" -}} -helm.sh/chart: {{ include "js-faas.chart" . }} -{{ include "js-faas.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "js-faas.selectorLabels" -}} -app.kubernetes.io/name: {{ include "js-faas.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "js-faas.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "js-faas.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/templates/configmap.yaml b/release/deployment/helm-chart/charts/js-faas/templates/configmap.yaml deleted file mode 100644 index c11bb19a4..000000000 --- a/release/deployment/helm-chart/charts/js-faas/templates/configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "js-faas.fullname" . }}-bootstrap-configmap - labels: - {{- include "js-faas.labels" . | nindent 4 }} -data: - entrypoint.sh: | -{{ .Files.Get "bootstrap/entrypoint.sh" | indent 4 }} - healthcheck.sh: | -{{ .Files.Get "bootstrap/healthcheck.sh" | indent 4 }} - js_faas_server.ts: | -{{ .Files.Get "bootstrap/js_faas_server.ts" | indent 4 }} - deno.json: | -{{ .Files.Get "bootstrap/deno.json" | indent 4 }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/templates/deployment.yaml b/release/deployment/helm-chart/charts/js-faas/templates/deployment.yaml deleted file mode 100644 index ed4a3a520..000000000 --- a/release/deployment/helm-chart/charts/js-faas/templates/deployment.yaml +++ /dev/null @@ -1,84 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "js-faas.fullname" . }} - labels: - {{- include "js-faas.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.deployment.replicaCount }} - selector: - matchLabels: - {{- include "js-faas.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "js-faas.selectorLabels" . | nindent 8 }} - spec: - imagePullSecrets: - - name: {{ (.Values.custom.image.pullSecrets | default .Values.image.pullSecrets) | quote }} - terminationGracePeriodSeconds: {{ .Values.deployment.terminationGracePeriodSeconds }} - volumes: - - name: bootstrap - configMap: - name: {{ include "js-faas.fullname" . }}-bootstrap-configmap - - name: js-faas-workspace - emptyDir: - sizeLimit: 1Gi - medium: Memory - securityContext: - runAsNonRoot: true - runAsUser: 1000 - runAsGroup: 1000 - fsGroup: 1000 - containers: - - name: {{ include "js-faas.name" . }} - image: {{ printf "%s/%s/%s:%s" (.Values.custom.image.registry | default .Values.image.registry) .Values.image.repository .Values.image.image .Values.image.tag }} - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - volumeMounts: - - name: bootstrap - mountPath: "/coze-loop-js-faas/bootstrap" - readOnly: true - - name: js-faas-workspace - mountPath: "/tmp/faas-workspace" - env: - # Deno 配置 - - name: DENO_DIR - value: {{ .Values.env.DENO_DIR | quote }} - - name: DENO_NO_UPDATE_CHECK - value: {{ .Values.env.DENO_NO_UPDATE_CHECK | quote }} - - # FaaS 基础配置 - - name: FAAS_WORKSPACE - value: {{ .Values.env.FAAS_WORKSPACE | quote }} - - name: FAAS_PORT - value: {{ .Values.env.FAAS_PORT | quote }} - - name: FAAS_TIMEOUT - value: {{ .Values.env.FAAS_TIMEOUT | quote }} - - name: FAAS_LANGUAGE - value: {{ .Values.env.FAAS_LANGUAGE | quote }} - - workingDir: /app - command: [ "sh", "/coze-loop-js-faas/bootstrap/entrypoint.sh" ] - - resources: - {{- toYaml (.Values.custom.resources | default .Values.resources) | nindent 12 }} - - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 - runAsGroup: 1000 - capabilities: - drop: - - ALL - - livenessProbe: - exec: - command: [ "sh", "/coze-loop-js-faas/bootstrap/healthcheck.sh" ] - initialDelaySeconds: {{ .Values.liveness.startSeconds }} - periodSeconds: {{ .Values.liveness.intervalSeconds }} - timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} - failureThreshold: {{ .Values.liveness.shutdownFailureTimes }} diff --git a/release/deployment/helm-chart/charts/js-faas/templates/service.yaml b/release/deployment/helm-chart/charts/js-faas/templates/service.yaml deleted file mode 100644 index 53a4565d4..000000000 --- a/release/deployment/helm-chart/charts/js-faas/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "js-faas.fullname" . }} - labels: - {{- include "js-faas.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - name: http - selector: - {{- include "js-faas.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/js-faas/values.yaml b/release/deployment/helm-chart/charts/js-faas/values.yaml deleted file mode 100644 index 29fe256d6..000000000 --- a/release/deployment/helm-chart/charts/js-faas/values.yaml +++ /dev/null @@ -1,54 +0,0 @@ -service: - type: ClusterIP - port: 8000 - targetPort: 8000 - -image: - registry: "docker.io" - repository: "denoland" - image: "deno" - tag: "1.45.5" - pullPolicy: Always - pullSecrets: "coze-loop-image-secret" - -deployment: - replicaCount: 1 - terminationGracePeriodSeconds: 5 - -liveness: - startSeconds: 120 - intervalSeconds: 60 - timeoutSeconds: 20 - shutdownFailureTimes: 20 - -resources: - limits: - memory: "1Gi" - cpu: "500m" - requests: - memory: "256Mi" - cpu: "250m" - -env: - # Deno 配置 - DENO_DIR: "/tmp/.deno" - DENO_NO_UPDATE_CHECK: "1" - - # FaaS 基础配置 - FAAS_WORKSPACE: "/tmp/faas-workspace" - FAAS_PORT: "8000" - FAAS_TIMEOUT: "30000" - FAAS_LANGUAGE: "javascript" - -# customization -custom: - image: - registry: - pullSecrets: - resources: - limits: - memory: - cpu: - requests: - memory: - cpu: diff --git a/release/deployment/helm-chart/charts/nginx/values.yaml b/release/deployment/helm-chart/charts/nginx/values.yaml index c79cbca81..ba41048d4 100644 --- a/release/deployment/helm-chart/charts/nginx/values.yaml +++ b/release/deployment/helm-chart/charts/nginx/values.yaml @@ -16,7 +16,7 @@ init_image: registry: "docker.io" repository: "cozedev" image: "coze-loop" - tag: "1.4.1" + tag: "1.2.0" pullSecrets: "coze-loop-image-secret" deployment: diff --git a/release/deployment/helm-chart/charts/python-faas/Chart.yaml b/release/deployment/helm-chart/charts/python-faas/Chart.yaml deleted file mode 100644 index 84e0e7a3c..000000000 --- a/release/deployment/helm-chart/charts/python-faas/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: coze-loop-python-faas -description: Python FaaS service for Coze Loop -type: application -version: 1.2.0 -appVersion: "1.2.0" \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/python-faas/bootstrap/deno.json b/release/deployment/helm-chart/charts/python-faas/bootstrap/deno.json deleted file mode 100644 index 54c0bc097..000000000 --- a/release/deployment/helm-chart/charts/python-faas/bootstrap/deno.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "lib": ["deno.ns", "dom", "dom.iterable"], - "strict": true - }, - "vendor": true, - "tasks": { - "dev": "deno run --allow-net --allow-env --allow-read --allow-write --allow-run pyodide_faas_server.ts", - "start": "deno run --allow-net=0.0.0.0:8000 --allow-env --allow-read=/app,/tmp --allow-write=/tmp --allow-run=deno pyodide_faas_server.ts" - } -} diff --git a/release/deployment/helm-chart/charts/python-faas/bootstrap/entrypoint.sh b/release/deployment/helm-chart/charts/python-faas/bootstrap/entrypoint.sh deleted file mode 100644 index a71d13cb0..000000000 --- a/release/deployment/helm-chart/charts/python-faas/bootstrap/entrypoint.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/sh - -exec 2>&1 -set -e - -print_banner() { - msg="$1" - side=30 - content=" $msg " - content_len=${#content} - line_len=$((side * 2 + content_len)) - - line=$(printf '*%.0s' $(seq 1 "$line_len")) - side_eq=$(printf '*%.0s' $(seq 1 "$side")) - - printf "%s\n%s%s%s\n%s\n" "$line" "$side_eq" "$content" "$side_eq" "$line" -} - -print_banner "Starting Pooled Pyodide Python FaaS..." - -echo "🔧 验证Deno和Pyodide环境..." -# 验证Deno安装 -if command -v deno >/dev/null 2>&1; then - echo "✅ Deno 已安装: $(deno --version)" -else - echo "❌ Deno 未安装" - exit 1 -fi - -# 验证Pyodide可用性 -# 移除启动期的Pyodide网络依赖验证,避免无外网环境失败 - -# 确保工作空间目录存在 -mkdir -p "${FAAS_WORKSPACE:-/tmp/faas-workspace}" - -# 检查并恢复 vendor 文件(处理 emptyDir 挂载覆盖问题) -if [ ! -f "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/import_map.json" ]; then - echo "📦 检查并恢复 vendor 文件..." - mkdir -p "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor" - - # 检查是否有备份的 vendor 文件(在镜像构建时创建的) - # 由于 emptyDir 挂载会覆盖 /tmp/faas-workspace,我们需要从其他地方恢复 - if [ -d "/app/vendor" ]; then - echo "从 /app/vendor 恢复..." - cp -r /app/vendor/* "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/" - echo "✅ 从 /app/vendor 恢复完成" - else - echo "❌ 未找到备份的 vendor 文件,尝试重新创建..." - # 如果镜像中没有备份,尝试重新创建 - cd "${FAAS_WORKSPACE:-/tmp/faas-workspace}" && \ - deno vendor jsr:@eyurtsev/pyodide-sandbox@0.0.3 --output=vendor && \ - echo '{"imports":{"https://jsr.io/":"./jsr.io/"},"scopes":{"./jsr.io/":{"jsr:@eyurtsev/pyodide-sandbox@0.0.3":"./jsr.io/@eyurtsev/pyodide-sandbox/0.0.3/main.ts","jsr:@std/path@^1.0.8":"./jsr.io/@std/path/1.1.2/mod.ts","jsr:/@std/cli@^1.0.16/parse-args":"./jsr.io/@std/cli/1.0.23/parse_args.ts","jsr:@std/internal@^1.0.10/os":"./jsr.io/@std/internal/1.0.12/os.ts"}}}' > vendor/import_map.json && \ - echo "✅ 重新创建 vendor 文件完成" || \ - echo "❌ 重新创建 vendor 文件失败" - fi -else - echo "✅ Vendor 文件已存在" -fi - -# 验证 vendor 文件是否正确 -if [ -f "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/import_map.json" ]; then - echo "🔍 验证 vendor 文件..." - if grep -q "pyodide-sandbox" "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/import_map.json"; then - echo "✅ Vendor 文件包含 pyodide-sandbox 映射" - # 测试离线执行 - echo "🧪 测试离线执行..." - deno run -A \ - --import-map="${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/import_map.json" \ - "${FAAS_WORKSPACE:-/tmp/faas-workspace}/vendor/jsr.io/@eyurtsev/pyodide-sandbox/0.0.3/main.ts" -c "print('Vendor test successful!')" && \ - echo "✅ 离线执行测试成功" || \ - echo "❌ 离线执行测试失败" - else - echo "❌ Vendor 文件不包含 pyodide-sandbox 映射" - fi -else - echo "❌ 未找到 vendor 文件" -fi - -# 后台健康检查循环 -( - while true; do - if sh /coze-loop-python-faas/bootstrap/healthcheck.sh; then - print_banner "Pyodide Python FaaS Ready!" - break - else - sleep 1 - fi - done -)& - -# 使用池化 Pyodide Python FaaS 服务器 -echo "🚀 启动池化 Pyodide Python FaaS 服务器..." -echo "🏊 进程池配置:" -echo " - 最小进程数: ${FAAS_POOL_MIN_SIZE:-2}" -echo " - 最大进程数: ${FAAS_POOL_MAX_SIZE:-8}" -echo " - 空闲超时: ${FAAS_POOL_IDLE_TIMEOUT:-300000}ms" -echo " - 执行超时: ${FAAS_MAX_EXECUTION_TIME:-30000}ms" - -exec deno run \ - --no-lock \ - --allow-net=0.0.0.0:8000 \ - --allow-env \ - --allow-read=/app,/tmp \ - --allow-write=/tmp \ - --allow-run=deno \ - /coze-loop-python-faas/bootstrap/pyodide_faas_server.ts diff --git a/release/deployment/helm-chart/charts/python-faas/bootstrap/healthcheck.sh b/release/deployment/helm-chart/charts/python-faas/bootstrap/healthcheck.sh deleted file mode 100644 index cc5a691b2..000000000 --- a/release/deployment/helm-chart/charts/python-faas/bootstrap/healthcheck.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -set -e - -echo "🔍 检查Pyodide Python FaaS健康状态..." - -# 验证Deno环境 -if ! command -v deno >/dev/null 2>&1; then - echo "❌ Deno 不可用" - exit 1 -fi - -# 移除对 jsr 的远程依赖探测,避免离线/只读环境失败 - -# 使用Deno检查Python FaaS的健康状态 -if deno eval "try { const resp = await fetch('http://localhost:8000/health'); if (resp.ok) { const data = await resp.json(); if (data.status === 'healthy') { console.log('✅ Health: OK'); Deno.exit(0); } else { console.log('⚠️ Health: Degraded'); Deno.exit(1); } } else { console.log('❌ Health: HTTP Error'); Deno.exit(1); } } catch (e) { console.error('❌ Health check failed:', e); Deno.exit(1); }" 2>/dev/null; then - echo "✅ 健康检查通过" - exit 0 -else - echo "❌ 健康检查失败" - exit 1 -fi diff --git a/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_faas_server.ts b/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_faas_server.ts deleted file mode 100644 index b2751f642..000000000 --- a/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_faas_server.ts +++ /dev/null @@ -1,330 +0,0 @@ -#!/usr/bin/env deno run --allow-net --allow-env --allow-read --allow-write --allow-run - -/** - * Pyodide Python FaaS 服务器 (池化优化版) - * - * 使用 Pyodide WebAssembly Python 执行环境 - * 基于进程池和预加载技术优化执行速度 - * 基于 deno run -A jsr:@eyurtsev/pyodide-sandbox - */ - -import { PyodidePoolManager, type PoolConfig, type ExecutionResult } from "./pyodide_pool_manager.ts"; - -// ==================== 类型定义 ==================== - -interface HealthStatus { - status: string; - timestamp: string; - runtime: string; - version: string; - execution_count: number; - python_version?: string; - security: { - sandbox: string; - isolation: string; - permissions: string; - }; -} - -// ==================== 池化执行器 ==================== - -class PooledPyodideExecutor { - private poolManager: PyodidePoolManager; - private executionCount = 0; - - constructor(poolConfig?: Partial) { - this.poolManager = new PyodidePoolManager(poolConfig); - } - - /** - * 启动执行器 - */ - async start(): Promise { - await this.poolManager.start(); - } - - /** - * 执行 Python 代码(使用池化Pyodide) - */ - async executePython(code: string, timeout = 30000): Promise { - this.executionCount++; - console.log(`🚀 执行 Python 代码 (池化Pyodide),超时: ${timeout}ms`); - - try { - const result = await this.poolManager.executePython(code, timeout); - console.log(`✅ 执行完成,耗时: ${result.metadata.duration}ms,进程: ${result.metadata.processId}`); - return result; - } catch (error) { - console.error("❌ 池化执行失败:", error); - throw error; - } - } - - /** - * 获取执行统计 - */ - getExecutionCount(): number { - return this.executionCount; - } - - /** - * 获取池状态 - */ - getPoolStatus() { - return this.poolManager.getPoolStatus(); - } - - /** - * 关闭执行器 - */ - async shutdown(): Promise { - await this.poolManager.shutdown(); - } -} - -// ==================== Pyodide FaaS 服务器 ==================== - -class PyodideFaaSServer { - private readonly executor: PooledPyodideExecutor; - private readonly startTime = Date.now(); - - constructor() { - // 配置进程池参数 - const poolConfig: Partial = { - minSize: parseInt(Deno.env.get("FAAS_POOL_MIN_SIZE") || "2"), - maxSize: parseInt(Deno.env.get("FAAS_POOL_MAX_SIZE") || "8"), - idleTimeout: parseInt(Deno.env.get("FAAS_POOL_IDLE_TIMEOUT") || "300000"), // 5分钟 - maxExecutionTime: parseInt(Deno.env.get("FAAS_MAX_EXECUTION_TIME") || "30000"), // 30秒 - preloadTimeout: parseInt(Deno.env.get("FAAS_PRELOAD_TIMEOUT") || "60000"), // 1分钟 - }; - - this.executor = new PooledPyodideExecutor(poolConfig); - } - - async start(): Promise { - const port = parseInt(Deno.env.get("FAAS_PORT") || "8000"); - - console.log(`🚀 启动 Pyodide Python FaaS 服务器 (池化优化版),端口: ${port}...`); - console.log("🔒 安全特性: Deno 权限控制 + Pyodide WebAssembly 沙箱"); - console.log("⚡ 运行模式: 池化 Pyodide WebAssembly Python 执行器"); - console.log("🏊 性能优化: 进程池 + Pyodide 预加载"); - - // 启动服务器(包括进程池初始化) - await this.executor.start(); - - const handler = this.createHandler(); - const server = Deno.serve({ - port, - hostname: "0.0.0.0" - }, handler); - - console.log(`✅ Pyodide Python FaaS 服务器启动成功: http://0.0.0.0:${port}`); - console.log("📡 可用端点:"); - console.log(" GET /health - 健康检查 (包含池状态)"); - console.log(" GET /metrics - 指标信息 (包含池指标)"); - console.log(" POST /run_code - 执行 Python 代码 (池化Pyodide)"); - console.log(""); - console.log("🔐 安全保障:"); - console.log(" ✅ Deno 权限控制"); - console.log(" ✅ Pyodide WebAssembly 沙箱"); - console.log(" ✅ 代码执行隔离"); - console.log(""); - console.log("⚡ 性能优化特性:"); - console.log(" ✅ 进程池管理 (2-8个进程)"); - console.log(" ✅ Pyodide 预加载"); - console.log(" ✅ 智能负载均衡"); - console.log(" ✅ 空闲进程自动清理"); - console.log(" ✅ 连接复用"); - console.log(""); - console.log("🐍 Python 执行特性:"); - console.log(" ✅ WebAssembly Python 执行"); - console.log(" ✅ 完整的 Python 标准库"); - console.log(" ✅ stdout/stderr 捕获"); - console.log(" ✅ return_val 函数支持"); - console.log(" ✅ 执行超时控制"); - console.log(" ✅ API 兼容性"); - - await server.finished; - } - - private createHandler(): (request: Request) => Promise { - return async (request: Request) => { - const url = new URL(request.url); - const method = request.method; - - console.log(`${method} ${url.pathname}`); - - // 路由处理 - switch (url.pathname) { - case "/health": - return this.handleHealthCheck(); - - case "/metrics": - return this.handleMetrics(); - - case "/run_code": - if (method === "POST") { - return await this.handleRunCode(request); - } - break; - } - - return new Response("Not Found", { status: 404 }); - }; - } - - private async handleHealthCheck(): Promise { - const poolStatus = this.executor.getPoolStatus(); - const healthData: HealthStatus = { - status: "healthy", - timestamp: new Date().toISOString(), - runtime: "pyodide-webassembly-pooled", - version: "pyodide-faas-v2.0.0-pooled", - execution_count: this.executor.getExecutionCount(), - python_version: "Pyodide WebAssembly Python (Pooled)", - security: { - sandbox: "pyodide-webassembly", - isolation: "deno-permissions", - permissions: "restricted" - } - }; - - // 添加池状态信息 - const responseData = { - ...healthData, - pool_status: poolStatus - }; - - return new Response(JSON.stringify(responseData), { - status: 200, - headers: { "Content-Type": "application/json" } - }); - } - - /** - * 处理指标请求 - */ - private handleMetrics(): Response { - const uptime = Date.now() - this.startTime; - const poolStatus = this.executor.getPoolStatus(); - const metrics = { - execution_count: this.executor.getExecutionCount(), - uptime_seconds: Math.floor(uptime / 1000), - runtime: "pyodide-webassembly-pooled", - python_version: "Pyodide WebAssembly Python (Pooled)", - status: "healthy", - pool_metrics: poolStatus - }; - - return new Response(JSON.stringify(metrics), { - status: 200, - headers: { "Content-Type": "application/json" } - }); - } - - private async handleRunCode(request: Request): Promise { - const startTime = Date.now(); - - try { - let body; - try { - body = await request.json(); - } catch (jsonError) { - console.error("JSON解析错误:", jsonError); - return new Response( - JSON.stringify({ - error: "Invalid JSON format", - details: jsonError instanceof Error ? jsonError.message : String(jsonError) - }), - { status: 400, headers: { "Content-Type": "application/json" } } - ); - } - - const { language, code, timeout = 30000 } = body; - - if (!code) { - return new Response( - JSON.stringify({ error: "Missing required parameter: code" }), - { status: 400, headers: { "Content-Type": "application/json" } } - ); - } - - if (typeof code !== 'string') { - return new Response( - JSON.stringify({ error: "Parameter 'code' must be a string" }), - { status: 400, headers: { "Content-Type": "application/json" } } - ); - } - - // 语言检查 - if (language && !["python", "py"].includes(language.toLowerCase())) { - return new Response( - JSON.stringify({ error: "This service only supports Python code execution" }), - { status: 400, headers: { "Content-Type": "application/json" } } - ); - } - - console.log(`📝 执行Python代码,长度: ${code.length}字符,超时: ${timeout}ms`); - - const result = await this.executor.executePython(code, timeout); - const duration = Date.now() - startTime; - - const response = { - output: { - stdout: result.stdout, - stderr: result.stderr, - ret_val: result.returnValue - }, - workload_info: { - id: "e6008730-9475-4b7d-9fc6-19511e1b2785", - status: "Used" - }, - metadata: { - language: "python", - runtime: "pyodide-webassembly", - duration, - status: result.metadata.exitCode === 0 ? "success" : "error", - exit_code: result.metadata.exitCode, - timed_out: result.metadata.timedOut - } - }; - - console.log(`✅ 执行完成,耗时: ${duration}ms,退出码: ${result.metadata.exitCode}`); - - return new Response(JSON.stringify(response), { - status: 200, - headers: { "Content-Type": "application/json" } - }); - - } catch (error) { - console.error("❌ 处理run_code请求时发生错误:", error); - const errorMessage = error instanceof Error ? error.message : String(error); - - let statusCode = 500; - let errorType = "Execution failed"; - - if (error instanceof SyntaxError) { - statusCode = 400; - errorType = "JSON parsing error"; - } else if (errorMessage.includes('timeout')) { - statusCode = 408; - errorType = "Execution timeout"; - } - - return new Response( - JSON.stringify({ - error: errorType, - details: errorMessage - }), - { status: statusCode, headers: { "Content-Type": "application/json" } } - ); - } - } -} - -// ==================== 主程序 ==================== - -if (import.meta.main) { - const server = new PyodideFaaSServer(); - await server.start(); -} diff --git a/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_pool_manager.ts b/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_pool_manager.ts deleted file mode 100644 index 4abf2288a..000000000 --- a/release/deployment/helm-chart/charts/python-faas/bootstrap/pyodide_pool_manager.ts +++ /dev/null @@ -1,718 +0,0 @@ -#!/usr/bin/env deno run --allow-net --allow-env --allow-read --allow-write --allow-run -// 兼容工作区 TypeScript linter(不拉取远程类型定义) -declare const Deno: any; - -/** - * Pyodide 进程池管理器 - * - * 实现基于进程池的Python代码执行优化 - * 通过预启动的deno进程和Pyodide预加载来提升执行速度 - */ - -// ==================== 类型定义 ==================== - -interface PoolConfig { - minSize: number; - maxSize: number; - idleTimeout: number; - maxExecutionTime: number; - preloadTimeout: number; -} - -interface PooledProcess { - id: string; - isReady: boolean; - isBusy: boolean; - lastUsed: number; - executionCount: number; -} - -interface ExecutionRequest { - id: string; - code: string; - timeout: number; - resolve: (result: any) => void; - reject: (error: any) => void; - startTime: number; -} - -interface ExecutionResult { - stdout: string; - stderr: string; - returnValue: string; - metadata: { - duration: number; - exitCode: number; - timedOut: boolean; - processId: string; - }; -} - -// ==================== 进程池管理器 ==================== - -export class PyodidePoolManager { - private config: PoolConfig; - private processes: Map = new Map(); - private availableProcesses: Set = new Set(); - private busyProcesses: Set = new Set(); - private pendingRequests: ExecutionRequest[] = []; - private nextProcessId = 1; - private isShuttingDown = false; - private cleanupInterval: number | null = null; - - constructor(config: Partial = {}) { - this.config = { - minSize: config.minSize || 2, - maxSize: config.maxSize || 8, - idleTimeout: config.idleTimeout || 300000, // 5分钟 - maxExecutionTime: config.maxExecutionTime || 30000, // 30秒 - preloadTimeout: config.preloadTimeout || 60000, // 1分钟 - }; - - console.log(`🏊 初始化Pyodide进程池: min=${this.config.minSize}, max=${this.config.maxSize}`); - } - - /** - * 启动进程池 - */ - async start(): Promise { - console.log("🚀 启动Pyodide进程池..."); - - // 启动最小数量的进程 - const initPromises: Promise[] = []; - for (let i = 0; i < this.config.minSize; i++) { - initPromises.push(this.createProcess()); - } - - await Promise.all(initPromises); - - // 启动清理任务 - this.startCleanupTask(); - - console.log(`✅ 进程池启动完成,当前进程数: ${this.processes.size}`); - } - - /** - * 创建新的进程槽位 - */ - private async createProcess(): Promise { - const processId = `pyodide-${this.nextProcessId++}`; - - const process: PooledProcess = { - id: processId, - isReady: false, - isBusy: false, - lastUsed: Date.now(), - executionCount: 0, - }; - - this.processes.set(processId, process); - this.availableProcesses.add(processId); - - console.log(`🔄 创建进程: ${processId}`); - - // 预加载Pyodide - try { - await this.preloadPyodide(processId); - process.isReady = true; - console.log(`✅ 进程就绪: ${processId}`); - } catch (error) { - console.error(`❌ 进程预加载失败: ${processId}`, error); - this.removeProcess(processId); - throw error; - } - - return process; - } - - /** - * 预加载Pyodide - */ - private async preloadPyodide(processId: string): Promise { - console.log(`⏳ [${processId}] 预加载Pyodide...`); - - try { - // 构建预加载命令,使用与执行时相同的配置 - const importMap = (Deno as any)?.env?.get("PYODIDE_IMPORT_MAP") || "/tmp/faas-workspace/vendor/import_map.json"; - const workspaceDir = (Deno as any)?.env?.get("FAAS_WORKSPACE") || "/tmp/faas-workspace"; - const vendorRoot = importMap.replace(/\/import_map\.json$/, ""); - const sandboxMainTs = `${vendorRoot}/jsr.io/@eyurtsev/pyodide-sandbox/0.0.3/main.ts`; - - // 创建一个简单的预加载测试文件 - const preloadTestFile = `${workspaceDir}/preload_test_${processId}.py`; - await Deno.writeTextFile(preloadTestFile, "print('preload test')"); - - const preloadCommand = new Deno.Command("deno", { - args: [ - "run", - "-A", - `--import-map=${importMap}`, - sandboxMainTs, - "-f", - preloadTestFile - ], - stdout: "piped", - stderr: "piped", - timeout: 30000, // 30秒预加载超时 - env: { - "PYTHONIOENCODING": "utf-8", - "LANG": "en_US.UTF-8", - "LC_ALL": "en_US.UTF-8", - // 显式传递以避免子进程丢失上游环境变量 - "PYODIDE_IMPORT_MAP": importMap, - "FAAS_WORKSPACE": workspaceDir - } - }); - - const { stdout, stderr, code: exitCode } = await preloadCommand.output(); - - // 清理预加载测试文件 - try { - await Deno.remove(preloadTestFile); - } catch (e) { - console.warn(`⚠️ [${processId}] 清理预加载测试文件失败: ${e}`); - } - - if (exitCode === 0) { - console.log(`✅ [${processId}] Pyodide预加载成功`); - } else { - const stderrText = new TextDecoder('utf-8', { fatal: false }).decode(stderr); - console.warn(`⚠️ [${processId}] Pyodide预加载完成但有警告: ${stderrText}`); - } - - } catch (error) { - console.error(`❌ [${processId}] Pyodide预加载失败:`, error); - throw new Error(`Pyodide预加载失败: ${(error as any).message}`); - } - } - - /** - * 预处理代码,处理换行符和特殊字符问题 - */ - private preprocessCode(code: string, processId?: string): string { - try { - const originalCode = code; - console.log(`🔍 [${processId || 'unknown'}] 开始预处理代码,长度: ${code.length}`); - - // 仅在字符串字面量内部,将实际控制字符转义为可见序列,避免 Python 源码语法错误 - const escapeControlsInLiterals = (src: string): string => { - // 处理双引号字符串 - let out = src.replace(/"([^"\\]|\\.)*"/gs, (m) => { - const inner = m.slice(1, -1) - .replace(/\n/g, "\\n") - .replace(/\r/g, "\\r") - .replace(/\t/g, "\\t"); - return `"${inner}"`; - }); - // 处理单引号字符串 - out = out.replace(/'([^'\\]|\\.)*'/gs, (m) => { - const inner = m.slice(1, -1) - .replace(/\n/g, "\\n") - .replace(/\r/g, "\\r") - .replace(/\t/g, "\\t"); - return `'${inner}'`; - }); - return out; - }; - - const processedCode = escapeControlsInLiterals(originalCode); - - if (originalCode !== processedCode) { - console.log(`🔧 [${processId || 'unknown'}] 已对字符串字面量进行控制字符转义处理`); - console.log(`📊 [${processId || 'unknown'}] 预处理统计: 原始长度=${originalCode.length}, 处理后长度=${processedCode.length}`); - } else { - console.log(`ℹ️ [${processId || 'unknown'}] 代码无需预处理`); - } - - return processedCode; - } catch (error) { - console.error(`❌ [${processId || 'unknown'}] 代码预处理失败:`, error); - return code; - } - } - - /** - * 提取返回值 - */ - private extractReturnValue(output: string): string { - try { - console.log(`🔍 开始提取返回值,输出长度: ${output.length}`); - - // 首先尝试解析pyodide-sandbox的输出JSON - const parsedOutput = JSON.parse(output); - console.log(`📋 成功解析pyodide-sandbox输出JSON`); - - // 优先使用result字段(这是pyodide-sandbox捕获的return_val输出) - if (parsedOutput.result) { - console.log(`✅ 找到result字段: ${typeof parsedOutput.result}`); - // 如果result是字符串,尝试解析为JSON - if (typeof parsedOutput.result === 'string') { - try { - // 解析JSON字符串,然后重新序列化以去除多余的转义 - const parsedResult = JSON.parse(parsedOutput.result); - const result = JSON.stringify(parsedResult, null, 0); - console.log(`🎯 从result字段提取到JSON返回值: ${result.substring(0, 100)}${result.length > 100 ? '...' : ''}`); - return result; - } catch { - // 如果解析失败,直接返回原始字符串 - console.log(`📝 从result字段提取到字符串返回值: ${parsedOutput.result.substring(0, 100)}${parsedOutput.result.length > 100 ? '...' : ''}`); - return parsedOutput.result; - } - } - console.log(`📊 从result字段提取到非字符串返回值: ${parsedOutput.result}`); - return parsedOutput.result; - } - - // 如果没有result字段,从stdout中提取 - const pyodideStdout = parsedOutput.stdout || ""; - console.log(`📤 从stdout中提取,长度: ${pyodideStdout.length}`); - - // 首先尝试提取特殊标记格式的return_val - const specialMarkerMatch = pyodideStdout.match(/__COZE_RETURN_VAL_START__\s*\n?(.*?)\s*\n?__COZE_RETURN_VAL_END__/s); - if (specialMarkerMatch) { - const returnVal = specialMarkerMatch[1].trim(); - console.log(`🎯 找到特殊标记格式返回值: ${returnVal.substring(0, 100)}${returnVal.length > 100 ? '...' : ''}`); - try { - // 尝试解析为JSON,如果是JSON则重新序列化 - const parsed = JSON.parse(returnVal); - const result = JSON.stringify(parsed, null, 0); - console.log(`✅ 特殊标记格式JSON解析成功: ${result.substring(0, 100)}${result.length > 100 ? '...' : ''}`); - return result; - } catch { - // 如果不是JSON,直接返回 - console.log(`📝 特殊标记格式非JSON返回值: ${returnVal}`); - return returnVal; - } - } - - // 查找return_val输出的JSON内容(改进正则表达式以处理复杂内容) - const jsonMatch = pyodideStdout.match(/\{[^{}]*(?:"score"[^{}]*)*\}/); - if (jsonMatch) { - console.log(`🎯 找到JSON格式返回值: ${jsonMatch[0].substring(0, 100)}${jsonMatch[0].length > 100 ? '...' : ''}`); - return jsonMatch[0]; - } - - // 如果没有找到特定的JSON,尝试查找任何JSON对象 - const anyJsonMatch = pyodideStdout.match(/\{[^{}]*\}/); - if (anyJsonMatch) { - console.log(`🎯 找到通用JSON格式返回值: ${anyJsonMatch[0].substring(0, 100)}${anyJsonMatch[0].length > 100 ? '...' : ''}`); - return anyJsonMatch[0]; - } - - console.log(`❌ 未找到任何返回值格式`); - return ""; - } catch (error) { - console.log(`⚠️ JSON解析失败,尝试直接提取: ${error.message}`); - // 如果JSON解析失败,尝试直接从原始输出中提取 - try { - // 首先尝试特殊标记格式 - const specialMarkerMatch = output.match(/__COZE_RETURN_VAL_START__\s*\n?(.*?)\s*\n?__COZE_RETURN_VAL_END__/s); - if (specialMarkerMatch) { - const returnVal = specialMarkerMatch[1].trim(); - console.log(`🎯 直接提取特殊标记格式返回值: ${returnVal.substring(0, 100)}${returnVal.length > 100 ? '...' : ''}`); - try { - const parsed = JSON.parse(returnVal); - const result = JSON.stringify(parsed, null, 0); - console.log(`✅ 直接提取JSON解析成功: ${result.substring(0, 100)}${result.length > 100 ? '...' : ''}`); - return result; - } catch { - console.log(`📝 直接提取非JSON返回值: ${returnVal}`); - return returnVal; - } - } - - // 改进的JSON匹配,处理复杂内容 - const jsonMatch = output.match(/\{[^{}]*(?:"score"[^{}]*)*\}/); - if (jsonMatch) { - console.log(`🎯 直接提取JSON格式返回值: ${jsonMatch[0].substring(0, 100)}${jsonMatch[0].length > 100 ? '...' : ''}`); - return jsonMatch[0]; - } - - const anyJsonMatch = output.match(/\{[^{}]*\}/); - if (anyJsonMatch) { - console.log(`🎯 直接提取通用JSON格式返回值: ${anyJsonMatch[0].substring(0, 100)}${anyJsonMatch[0].length > 100 ? '...' : ''}`); - return anyJsonMatch[0]; - } - } catch (fallbackError) { - console.error("❌ 解析输出失败:", error); - console.error("❌ 回退解析也失败:", fallbackError); - } - - console.log(`❌ 所有提取方法都失败,返回空字符串`); - return ""; - } - } - - /** - * 清理 stdout 输出 - */ - private cleanStdout(output: string): string { - try { - // 首先尝试解析pyodide-sandbox的输出JSON - const parsedOutput = JSON.parse(output); - - // 从pyodide-sandbox的stdout中移除return_val输出的JSON - const pyodideStdout = parsedOutput.stdout || ""; - - // 首先移除特殊标记格式的return_val输出 - let cleaned = pyodideStdout.replace(/__COZE_RETURN_VAL_START__\s*\n?.*?\s*\n?__COZE_RETURN_VAL_END__/gs, ''); - - // 移除JSON对象,保留其他内容(改进正则表达式以处理复杂内容) - cleaned = cleaned.replace(/\{[^{}]*(?:"score"[^{}]*)*\}/g, ''); - if (cleaned === pyodideStdout) { - // 如果没有找到特定的JSON,尝试移除任何JSON对象 - cleaned = pyodideStdout.replace(/\{[^{}]*\}/g, ''); - } - - // 清理多余的空行 - cleaned = cleaned.replace(/\n+/g, '\n').trim(); - - // 返回清理后的纯stdout文本 - return cleaned; - } catch (error) { - // 如果JSON解析失败,尝试直接从原始输出中清理 - try { - // 首先移除特殊标记格式 - let cleaned = output.replace(/__COZE_RETURN_VAL_START__\s*\n?.*?\s*\n?__COZE_RETURN_VAL_END__/gs, ''); - - cleaned = cleaned.replace(/\{[^{}]*(?:"score"[^{}]*)*\}/g, ''); - if (cleaned === output) { - cleaned = output.replace(/\{[^{}]*\}/g, ''); - } - cleaned = cleaned.replace(/\n+/g, '\n').trim(); - return cleaned; - } catch (fallbackError) { - console.error("清理输出失败:", error); - console.error("回退清理也失败:", fallbackError); - // 回退为原始内容(可能是pyodide-sandbox的JSON字符串) - return output; - } - } - } - - /** - * 在指定进程中执行代码 - */ - private async executeInProcess(processId: string, code: string, timeout: number): Promise { - const startTime = Date.now(); - let tmpFile: string | undefined; - try { - console.log(`🚀 [${processId}] 开始执行Python代码,超时: ${timeout}ms`); - - // 预处理代码(仅做 JSON 层转义归一化) - const processedCode = this.preprocessCode(code, processId); - - // 注入return_val函数 - const enhancedCode = ` -def return_val(value): - """return_val函数实现 - 只输出JSON内容到stdout最后一行""" - if value is None: - ret_val = "" - else: - ret_val = str(value) - print(ret_val) - -${processedCode} -`; - - console.log(`📝 [${processId}] 预处理完成,写入临时文件并调用pyodide-sandbox`); - - // 将代码写入workspace目录的临时文件,避免只读文件系统问题 - const workspaceDir = (Deno as any)?.env?.get("FAAS_WORKSPACE") || "/tmp/faas-workspace"; - tmpFile = `${workspaceDir}/pyodide-${processId}-${Date.now()}.py`; - await Deno.writeTextFile(tmpFile, enhancedCode); - console.log(`🗂️ [${processId}] 临时代码文件: ${tmpFile}`); - console.log(`🧾 [${processId}] 代码预览(前400字):\n${enhancedCode.slice(0, 400)}`); - - // 构建执行命令 - // 通过 import map 使用镜像内预置的 vendor 缓存离线解析 jsr 规格 - // 避免硬编码具体版本目录,兼容镜像构建时 vendor 的实际版本 - const importMap = (Deno as any)?.env?.get("PYODIDE_IMPORT_MAP") || "/tmp/faas-workspace/vendor/import_map.json"; - const vendorRoot = importMap.replace(/\/import_map\.json$/, ""); - const sandboxMainTs = `${vendorRoot}/jsr.io/@eyurtsev/pyodide-sandbox/0.0.3/main.ts`; - const process = new Deno.Command("deno", { - args: [ - "run", - "-A", - `--import-map=${importMap}`, - sandboxMainTs, - "-f", - tmpFile - ], - stdout: "piped", - stderr: "piped", - timeout: timeout, - env: { - "PYTHONIOENCODING": "utf-8", - "LANG": "en_US.UTF-8", - "LC_ALL": "en_US.UTF-8", - // 显式传递以避免子进程丢失上游环境变量 - "PYODIDE_IMPORT_MAP": importMap, - "FAAS_WORKSPACE": (Deno as any)?.env?.get("FAAS_WORKSPACE") || "/tmp/faas-workspace" - } - }); - - const { stdout, stderr, code: exitCode } = await process.output(); - const duration = Date.now() - startTime; - - console.log(`⏱️ [${processId}] pyodide-sandbox执行完成,耗时: ${duration}ms,退出码: ${exitCode}`); - - // 使用UTF-8解码,并处理可能的编码错误 - const stdoutText = new TextDecoder('utf-8', { fatal: false }).decode(stdout); - const stderrText = new TextDecoder('utf-8', { fatal: false }).decode(stderr); - - console.log(`📤 [${processId}] 原始stdout长度: ${stdoutText.length}`); - console.log(`📤 [${processId}] 原始stderr长度: ${stderrText.length}`); - - if (stderrText) { - console.log(`⚠️ [${processId}] stderr内容: ${stderrText.substring(0, 200)}${stderrText.length > 200 ? '...' : ''}`); - } - - // 提取 return_val 的结果 - const returnValue = this.extractReturnValue(stdoutText); - const cleanStdout = this.cleanStdout(stdoutText); - - console.log(`🔍 [${processId}] 提取的返回值长度: ${returnValue.length}`); - console.log(`🔍 [${processId}] 清理后的stdout长度: ${cleanStdout.length}`); - - if (returnValue) { - console.log(`✅ [${processId}] 成功提取返回值: ${returnValue.substring(0, 100)}${returnValue.length > 100 ? '...' : ''}`); - } else { - console.log(`❌ [${processId}] 未能提取到返回值`); - console.log(`🔍 [${processId}] 原始stdout内容: ${stdoutText.substring(0, 500)}${stdoutText.length > 500 ? '...' : ''}`); - } - - const keepTmp = (Deno as any)?.env?.get("FAAS_KEEP_TMP") === "1"; - const shouldDeleteTmp = !keepTmp && exitCode === 0 && (!stderrText || stderrText.length === 0); - if (shouldDeleteTmp) { - try { - await Deno.remove(tmpFile); - console.log(`🧽 [${processId}] 已清理临时文件`); - } catch (e) { - console.warn(`⚠️ [${processId}] 清理临时文件失败: ${e}`); - } - } else { - console.log(`🗂️ [${processId}] 保留临时代码文件用于排查: ${tmpFile} (FAAS_KEEP_TMP=${keepTmp ? '1' : '0'}, exit=${exitCode}, stderr_len=${stderrText?.length || 0})`); - } - - return { - stdout: cleanStdout, - stderr: stderrText, - returnValue, - metadata: { - duration, - exitCode, - timedOut: false, - processId - } - }; - - } catch (error) { - const duration = Date.now() - startTime; - console.error(`❌ [${processId}] pyodide-sandbox执行异常:`, error); - - if ((error as any).name === 'AbortError' || (error as any).message?.includes('timeout')) { - console.log(`⏰ [${processId}] 执行超时 (${timeout}ms)`); - return { - stdout: "", - stderr: `Execution timed out after ${timeout}ms`, - returnValue: "", - metadata: { - duration, - exitCode: -1, - timedOut: true, - processId - } - }; - } - - // 失败分支:不要尝试删除临时文件,便于排查 - if (tmpFile) { - console.warn(`🧾 [${processId}] 发生异常,保留临时代码文件: ${tmpFile}`); - } else { - console.warn(`🧾 [${processId}] 发生异常,尚未创建临时代码文件`); - } - - return { - stdout: "", - stderr: (error as any).message || "Unknown error", - returnValue: "", - metadata: { - duration, - exitCode: -1, - timedOut: false, - processId - } - }; - } - } - - /** - * 执行Python代码 - */ - async executePython(code: string, timeout = 30000): Promise { - const requestId = `req-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; - - // 如果当前没有可用进程,且未达到最大上限,则即时创建 - if (this.availableProcesses.size === 0 && this.processes.size < this.config.maxSize) { - try { - await this.createProcess(); - } catch (error) { - console.error("❌ 惰性创建进程失败:", error); - } - } - - return new Promise((resolve, reject) => { - const request: ExecutionRequest = { - id: requestId, - code, - timeout, - resolve, - reject, - startTime: Date.now() - }; - - this.pendingRequests.push(request); - this.processRequests(); - }); - } - - /** - * 处理待执行的请求 - */ - private async processRequests(): Promise { - while (this.pendingRequests.length > 0 && this.availableProcesses.size > 0) { - const request = this.pendingRequests.shift()!; - const processId = this.availableProcesses.values().next().value; - - if (!processId) { - // 没有可用进程,将请求放回队列 - this.pendingRequests.unshift(request); - - // 如果未达到最大进程数,创建新进程 - if (this.processes.size < this.config.maxSize) { - try { - await this.createProcess(); - } catch (error) { - console.error("❌ 创建新进程失败:", error); - } - } - break; - } - - const process = this.processes.get(processId)!; - this.availableProcesses.delete(processId); - this.busyProcesses.add(processId); - process.isBusy = true; - process.lastUsed = Date.now(); - - // 异步执行代码 - this.executeRequest(process, request); - } - } - - /** - * 执行单个请求 - */ - private async executeRequest(process: PooledProcess, request: ExecutionRequest): Promise { - try { - const result = await this.executeInProcess(process.id, request.code, request.timeout); - process.executionCount++; - request.resolve(result); - } catch (error) { - request.reject(error); - } finally { - // 释放进程 - this.busyProcesses.delete(process.id); - this.availableProcesses.add(process.id); - process.isBusy = false; - - // 继续处理队列中的请求 - this.processRequests(); - } - } - - /** - * 获取池状态 - */ - getPoolStatus() { - const totalInstances = this.processes.size; - const idleInstances = this.availableProcesses.size; - const activeInstances = this.busyProcesses.size; - - return { - totalInstances, - idleInstances, - activeInstances, - pendingRequests: this.pendingRequests.length - }; - } - - /** - * 启动清理任务 - */ - private startCleanupTask(): void { - this.cleanupInterval = setInterval(() => { - this.cleanupIdleProcesses(); - }, 30000); // 每30秒清理一次 - } - - /** - * 清理空闲进程 - */ - private cleanupIdleProcesses(): void { - const now = Date.now(); - const processesToRemove: string[] = []; - - for (const [processId, process] of this.processes) { - if (process.isBusy) continue; - - const idleTime = now - process.lastUsed; - if (idleTime > this.config.idleTimeout && this.processes.size > this.config.minSize) { - processesToRemove.push(processId); - } - } - - for (const processId of processesToRemove) { - this.removeProcess(processId); - } - - if (processesToRemove.length > 0) { - console.log(`🧹 清理了 ${processesToRemove.length} 个空闲进程`); - } - } - - /** - * 移除进程 - */ - private removeProcess(processId: string): void { - this.processes.delete(processId); - this.availableProcesses.delete(processId); - this.busyProcesses.delete(processId); - console.log(`🗑️ 移除进程: ${processId}`); - } - - /** - * 关闭进程池 - */ - async shutdown(): Promise { - console.log("🛑 正在关闭Pyodide进程池..."); - this.isShuttingDown = true; - - if (this.cleanupInterval) { - clearInterval(this.cleanupInterval); - } - - // 等待所有请求完成 - while (this.busyProcesses.size > 0) { - await new Promise(resolve => setTimeout(resolve, 100)); - } - - // 清理所有进程 - this.processes.clear(); - this.availableProcesses.clear(); - this.busyProcesses.clear(); - - console.log("✅ Pyodide进程池已关闭"); - } -} diff --git a/release/deployment/helm-chart/charts/python-faas/templates/_helpers.tpl b/release/deployment/helm-chart/charts/python-faas/templates/_helpers.tpl deleted file mode 100644 index d18b05675..000000000 --- a/release/deployment/helm-chart/charts/python-faas/templates/_helpers.tpl +++ /dev/null @@ -1,52 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "python-faas.name" -}} -{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -*/}} -{{- define "python-faas.fullname" -}} -{{- $name := default .Chart.Name .Values.nameOverride -}} -{{- printf "%s" $name | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "python-faas.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "python-faas.labels" -}} -helm.sh/chart: {{ include "python-faas.chart" . }} -{{ include "python-faas.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "python-faas.selectorLabels" -}} -app.kubernetes.io/name: {{ include "python-faas.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "python-faas.serviceAccountName" -}} -{{- if .Values.serviceAccount.create }} -{{- default (include "python-faas.fullname" .) .Values.serviceAccount.name }} -{{- else }} -{{- default "default" .Values.serviceAccount.name }} -{{- end }} -{{- end }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/python-faas/templates/configmap.yaml b/release/deployment/helm-chart/charts/python-faas/templates/configmap.yaml deleted file mode 100644 index 25696d3b7..000000000 --- a/release/deployment/helm-chart/charts/python-faas/templates/configmap.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ include "python-faas.fullname" . }}-bootstrap-configmap - labels: - {{- include "python-faas.labels" . | nindent 4 }} -data: - entrypoint.sh: | -{{ .Files.Get "bootstrap/entrypoint.sh" | indent 4 }} - healthcheck.sh: | -{{ .Files.Get "bootstrap/healthcheck.sh" | indent 4 }} - pyodide_faas_server.ts: | -{{ .Files.Get "bootstrap/pyodide_faas_server.ts" | indent 4 }} - pyodide_pool_manager.ts: | -{{ .Files.Get "bootstrap/pyodide_pool_manager.ts" | indent 4 }} - deno.json: | -{{ .Files.Get "bootstrap/deno.json" | indent 4 }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/python-faas/templates/deployment.yaml b/release/deployment/helm-chart/charts/python-faas/templates/deployment.yaml deleted file mode 100644 index 4d69e4925..000000000 --- a/release/deployment/helm-chart/charts/python-faas/templates/deployment.yaml +++ /dev/null @@ -1,104 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "python-faas.fullname" . }} - labels: - {{- include "python-faas.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.deployment.replicaCount }} - selector: - matchLabels: - {{- include "python-faas.selectorLabels" . | nindent 6 }} - template: - metadata: - labels: - {{- include "python-faas.selectorLabels" . | nindent 8 }} - spec: - imagePullSecrets: - - name: {{ (.Values.custom.image.pullSecrets | default .Values.image.pullSecrets) | quote }} - terminationGracePeriodSeconds: {{ .Values.deployment.terminationGracePeriodSeconds }} - volumes: - - name: bootstrap - configMap: - name: {{ include "python-faas.fullname" . }}-bootstrap-configmap - - name: python-faas-workspace - emptyDir: - sizeLimit: 1Gi - medium: Memory - securityContext: - runAsNonRoot: true - runAsUser: 1000 - runAsGroup: 1000 - fsGroup: 1000 - containers: - - name: {{ include "python-faas.name" . }} - image: {{ if and .Values.custom.image.registry .Values.image.repository }}{{ printf "%s/%s/%s:%s" .Values.custom.image.registry .Values.image.repository .Values.image.image .Values.image.tag }}{{ else if .Values.custom.image.registry }}{{ printf "%s/%s:%s" .Values.custom.image.registry .Values.image.image .Values.image.tag }}{{ else if and .Values.image.registry .Values.image.repository }}{{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository .Values.image.image .Values.image.tag }}{{ else if .Values.image.registry }}{{ printf "%s/%s:%s" .Values.image.registry .Values.image.image .Values.image.tag }}{{ else if .Values.image.repository }}{{ printf "%s/%s:%s" .Values.image.repository .Values.image.image .Values.image.tag }}{{ else }}{{ printf "%s:%s" .Values.image.image .Values.image.tag }}{{ end }} - imagePullPolicy: {{ .Values.image.pullPolicy }} - ports: - - containerPort: {{ .Values.service.targetPort }} - volumeMounts: - - name: bootstrap - mountPath: "/coze-loop-python-faas/bootstrap" - readOnly: true - - name: python-faas-workspace - mountPath: "/tmp/faas-workspace" - readOnly: false - env: - # Deno 配置 - - name: DENO_DIR - value: {{ .Values.env.DENO_DIR | quote }} - - name: DENO_NO_UPDATE_CHECK - value: {{ .Values.env.DENO_NO_UPDATE_CHECK | quote }} - - name: DENO_V8_FLAGS - value: {{ .Values.env.DENO_V8_FLAGS | quote }} - - name: PYODIDE_IMPORT_MAP - value: {{ .Values.env.PYODIDE_IMPORT_MAP | quote }} - - # FaaS 基础配置 - - name: FAAS_WORKSPACE - value: {{ .Values.env.FAAS_WORKSPACE | quote }} - - name: FAAS_PORT - value: {{ .Values.env.FAAS_PORT | quote }} - - name: FAAS_TIMEOUT - value: {{ .Values.env.FAAS_TIMEOUT | quote }} - - name: FAAS_LANGUAGE - value: {{ .Values.env.FAAS_LANGUAGE | quote }} - - # 预装Python包版本配置 - - name: NUMPY_VERSION - value: {{ .Values.env.NUMPY_VERSION | quote }} - - name: PANDAS_VERSION - value: {{ .Values.env.PANDAS_VERSION | quote }} - - name: JSONSCHEMA_VERSION - value: {{ .Values.env.JSONSCHEMA_VERSION | quote }} - - name: SCIPY_VERSION - value: {{ .Values.env.SCIPY_VERSION | quote }} - - name: SKLEARN_VERSION - value: {{ .Values.env.SKLEARN_VERSION | quote }} - - workingDir: /app - command: [ "sh", "/coze-loop-python-faas/bootstrap/entrypoint.sh" ] - - resources: - {{- toYaml (.Values.custom.resources | default .Values.resources) | nindent 12 }} - - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 - runAsGroup: 1000 - capabilities: - drop: - - ALL - add: - - SETUID - - SETGID - - livenessProbe: - exec: - command: [ "sh", "/coze-loop-python-faas/bootstrap/healthcheck.sh" ] - initialDelaySeconds: {{ .Values.liveness.startSeconds }} - periodSeconds: {{ .Values.liveness.intervalSeconds }} - timeoutSeconds: {{ .Values.liveness.timeoutSeconds }} - failureThreshold: {{ .Values.liveness.shutdownFailureTimes }} diff --git a/release/deployment/helm-chart/charts/python-faas/templates/service.yaml b/release/deployment/helm-chart/charts/python-faas/templates/service.yaml deleted file mode 100644 index 5ac4a6961..000000000 --- a/release/deployment/helm-chart/charts/python-faas/templates/service.yaml +++ /dev/null @@ -1,15 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "python-faas.fullname" . }} - labels: - {{- include "python-faas.labels" . | nindent 4 }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.service.port }} - targetPort: {{ .Values.service.targetPort }} - protocol: TCP - name: http - selector: - {{- include "python-faas.selectorLabels" . | nindent 4 }} \ No newline at end of file diff --git a/release/deployment/helm-chart/charts/python-faas/values.yaml b/release/deployment/helm-chart/charts/python-faas/values.yaml deleted file mode 100644 index 54f8309fb..000000000 --- a/release/deployment/helm-chart/charts/python-faas/values.yaml +++ /dev/null @@ -1,63 +0,0 @@ -service: - type: ClusterIP - port: 8000 - targetPort: 8000 - -image: - registry: "docker.io" - repository: "cozedev" - image: "coze-loop-python-faas" - tag: "latest" - pullPolicy: IfNotPresent - pullSecrets: "coze-loop-image-secret" - -deployment: - replicaCount: 1 - terminationGracePeriodSeconds: 5 - -liveness: - startSeconds: 120 - intervalSeconds: 60 - timeoutSeconds: 20 - shutdownFailureTimes: 20 - -resources: - limits: - memory: "4Gi" - cpu: "2" - requests: - memory: "2Gi" - cpu: "1" - -env: - # Deno 配置 - DENO_DIR: "/tmp/faas-workspace/.deno" - DENO_NO_UPDATE_CHECK: "1" - DENO_V8_FLAGS: "--max-old-space-size=2048" - PYODIDE_IMPORT_MAP: "/app/vendor/import_map.json" - - # FaaS 基础配置 - FAAS_WORKSPACE: "/tmp/faas-workspace" - FAAS_PORT: "8000" - FAAS_TIMEOUT: "30000" - FAAS_LANGUAGE: "python" - - # 预装Python包版本配置(使用兼容版本) - NUMPY_VERSION: ">=1.24.0" - PANDAS_VERSION: ">=1.5.0" - JSONSCHEMA_VERSION: ">=4.0.0" - SCIPY_VERSION: ">=1.10.0" - SKLEARN_VERSION: ">=1.3.0" - -# customization -custom: - image: - registry: - pullSecrets: - resources: - limits: - memory: - cpu: - requests: - memory: - cpu: diff --git a/release/deployment/helm-chart/umbrella/Chart.yaml b/release/deployment/helm-chart/umbrella/Chart.yaml index c89168aba..ca1e78e74 100644 --- a/release/deployment/helm-chart/umbrella/Chart.yaml +++ b/release/deployment/helm-chart/umbrella/Chart.yaml @@ -37,12 +37,4 @@ dependencies: - name: coze-loop-rmq-broker version: 1.0.0 repository: "file://../charts/rmq-broker" - condition: custom.rmq.disabled - - - name: coze-loop-python-faas - version: 1.2.0 - repository: "file://../charts/python-faas" - - - name: coze-loop-js-faas - version: 1.2.0 - repository: "file://../charts/js-faas" \ No newline at end of file + condition: custom.rmq.disabled \ No newline at end of file diff --git a/release/deployment/helm-chart/umbrella/conf/evaluation.yaml b/release/deployment/helm-chart/umbrella/conf/evaluation.yaml index d6e0485cf..4627b008f 100644 --- a/release/deployment/helm-chart/umbrella/conf/evaluation.yaml +++ b/release/deployment/helm-chart/umbrella/conf/evaluation.yaml @@ -2143,97 +2143,56 @@ evaluator_template_conf_en-US: receive_chat_history: false code_evaluator_template_conf: - equal: + equals_checker: Python: receive_chat_history: false code_evaluator: language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n reason = f\"actual_output与reference_output{'匹配' if is_equal else '不匹配'}。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "equal" - code_template_name: "文本等值判断" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否等于reference_output */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const isEqual = actual_text.trim() === reference_text.trim();\n const score = isEqual ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${isEqual ? '等于' : '不等于'} 参考输出: '${reference_text}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "equal" - code_template_name: "文本等值判断" - contains_any: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 将reference_output按逗号分割为多个值\n reference_values = [val.strip() for val in reference_text.split(',')]\n \n # 检查actual_output是否包含任意一个参考值\n contains_any = any(val in actual_text for val in reference_values)\n score = 1.0 if contains_any else 0.0\n reason = f\"actual_output{'包含' if contains_any else '不包含'}任意参考值。actual_output: '{actual_text}', 参考值: {reference_values}\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "contains_any" - code_template_name: "文本包含判断" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否包含任意一个参考值 */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n // 将reference_output按逗号分割为多个值\n const reference_values = reference_text.split(',').map(val => val.trim());\n \n // 检查actual_output是否包含任意一个参考值\n const contains_any = reference_values.some(ref_val => actual_text.includes(ref_val));\n const score = contains_any ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${contains_any ? '包含' : '不包含'} 任意参考值: [${reference_values.join(', ')}]`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "contains_any" - code_template_name: "文本包含判断" - regex: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "import re\n\ndef exec_evaluation(turn):\n try:\n # 获取actual_output和reference_output(作为正则表达式)\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n regex_pattern = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 检查actual_output是否匹配正则表达式\n regex_match = bool(re.search(regex_pattern, actual_text))\n score = 1.0 if regex_match else 0.0\n reason = f\"actual_output{'匹配' if regex_match else '不匹配'}正则表达式。actual_output: '{actual_text}', 正则表达式: '{regex_pattern}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except re.error as e:\n raise Exception(f\"正则表达式错误: {e}\")\n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "regex" - code_template_name: "文本正则匹配" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否匹配正则表达式 */\n try {\n // 获取actual_output和reference_output(作为正则表达式)\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const regex_pattern = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const regex = new RegExp(regex_pattern);\n const regex_match = regex.test(actual_text);\n const score = regex_match ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${regex_match ? '匹配' : '不匹配'} 正则表达式: '${regex_pattern}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `正则表达式错误或评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "regex" - code_template_name: "文本正则匹配" - starts_with: - Python: + code_content: "def exec_evaluation(turn_data):\n try:\n # 获取实际输出和参考输出\n actual_text = turn_data[\"turn\"][\"eval_target\"][\"actual_output\"][\"text\"]\n reference_text = turn_data[\"turn\"][\"eval_set\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n \n if is_equal:\n status = \"实际输出与参考输出完全相等\"\n else:\n status = \"实际输出与参考输出不相等\"\n \n return {\n \"score\": score,\n \"reason\": status,\n \"status\": \"success\"\n }\n except Exception as e:\n return {\n \"score\": 0.0,\n \"reason\": f\"评估过程出现错误: {str(e)}\",\n \"status\": \"error\"\n }" + code_template_key: "equals_checker" + code_template_name: "相等性检查器" + Python3: receive_chat_history: false code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n try:\n # 获取actual_text和reference_text\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 检查actual_output是否以reference_output开头\n starts_with = actual_text.startswith(reference_text)\n score = 1.0 if starts_with else 0.0\n reason = f\"actual_output{'以' if starts_with else '不以'}reference_output开头。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n raise Exception(f\"评估失败: {e}\")" - code_template_key: "starts_with" - code_template_name: "文本起始子串判断" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否以reference_output开头 */\n try {\n // 获取actual_output和reference_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n const starts_with = actual_text.startsWith(reference_text);\n const score = starts_with ? 1.0 : 0.0;\n const reason = `实际输出: '${actual_text}' ${starts_with ? '以' : '不以'} 参考输出开头: '${reference_text}'`;\n \n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "starts_with" - code_template_name: "文本起始子串判断" - is_valid_json_object: - Python: + language_type: "Python3" + code_content: "def exec_evaluation(turn_data):\n try:\n # 获取实际输出和参考输出\n actual_text = turn_data[\"turn\"][\"eval_target\"][\"actual_output\"][\"text\"]\n reference_text = turn_data[\"turn\"][\"eval_set\"][\"reference_output\"][\"text\"]\n \n # 比较文本相似性或相等性\n is_equal = actual_text.strip() == reference_text.strip()\n score = 1.0 if is_equal else 0.0\n \n if is_equal:\n status = \"实际输出与参考输出完全相等\"\n else:\n status = \"实际输出与参考输出不相等\"\n \n return {\n \"score\": score,\n \"reason\": status,\n \"status\": \"success\"\n }\n except Exception as e:\n return {\n \"score\": 0.0,\n \"reason\": f\"评估过程出现错误: {str(e)}\",\n \"status\": \"error\"\n }" + code_template_key: "equals_checker" + code_template_name: "相等性检查器" + contains_checker: + JavaScript: receive_chat_history: false + input_schemas: + - name: "input" + type: "string" + description: "评估输入内容" + - name: "reference_output" + type: "string" + description: "参考输出内容" + - name: "actual_output" + type: "string" + description: "实际输出内容" code_evaluator: - language_type: "Python" - code_content: "import json\n\ndef exec_evaluation(turn):\n try:\n # 获取actual_output\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n \n # 检查actual_output是否为有效的JSON对象\n try:\n parsed_json = json.loads(actual_text)\n # 检查是否为对象(字典类型),而不是数组或其他类型\n if isinstance(parsed_json, dict):\n score = 1.0\n reason = f\"实际输出是有效的JSON对象: {actual_text}\"\n else:\n score = 0.0\n reason = f\"实际输出是有效的JSON,但不是对象类型: {actual_text}\"\n except json.JSONDecodeError:\n score = 0.0\n reason = f\"实际输出不是有效的JSON: {actual_text}\"\n \n return EvalOutput(score=score, reason=reason)\n except Exception as e:\n return EvalOutput(score=0.0, reason=f\"评估过程中出现错误: {str(e)}\")" - code_template_key: "is_valid_json_object" - code_template_name: "JSON格式校验" + language_type: "JavaScript" + code_content: "function execEvaluation(turnData) {\n try {\n // 获取实际输出和参考输出\n const actualText = turnData.turn.eval_target.actual_output.text;\n const referenceText = turnData.turn.eval_set.reference_output.text;\n \n // 检查实际输出是否包含参考输出\n const contains = actualText.includes(referenceText);\n const score = contains ? 1.0 : 0.0;\n \n const status = contains ? \"包含\" : \"不包含\";\n \n return {\n score: score,\n reason: `实际输出${status}参考输出`,\n status: \"success\"\n };\n } catch (error) {\n return {\n score: 0.0,\n reason: `评估过程出现错误: ${error.message}`,\n status: \"error\"\n };\n }\n}" + code_template_key: "contains_checker" + code_template_name: "包含性检查器" JS: receive_chat_history: false + input_schemas: + - name: "input" + type: "string" + description: "评估输入内容" + - name: "reference_output" + type: "string" + description: "参考输出内容" + - name: "actual_output" + type: "string" + description: "实际输出内容" code_evaluator: language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /** 检查actual_output是否为有效的JSON对象 */\n try {\n // 获取actual_output\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n\n // 检查actual_output是否为有效的JSON对象\n let is_valid_json_object = false;\n let reason = '';\n \n try {\n const parsed_json = JSON.parse(actual_text);\n // 检查是否为对象(非数组),而不是数组或其他类型\n if (typeof parsed_json === 'object' && parsed_json !== null && !Array.isArray(parsed_json)) {\n is_valid_json_object = true;\n reason = `实际输出是有效的JSON对象: ${actual_text}`;\n } else {\n reason = `实际输出是有效的JSON,但不是对象类型: ${actual_text}`;\n }\n } catch (e) {\n reason = `实际输出不是有效的JSON: ${actual_text}`;\n }\n \n const score = is_valid_json_object ? 1.0 : 0.0;\n return { score: score, reason: reason };\n } catch (e) {\n return { score: 0.0, reason: `评估过程中出现错误: ${e.message}` };\n }\n}" - code_template_key: "is_valid_json_object" - code_template_name: "JSON格式校验" + code_content: "function execEvaluation(turnData) {\n try {\n // 获取实际输出和参考输出\n const actualText = turnData.turn.eval_target.actual_output.text;\n const referenceText = turnData.turn.eval_set.reference_output.text;\n \n // 检查实际输出是否包含参考输出\n const contains = actualText.includes(referenceText);\n const score = contains ? 1.0 : 0.0;\n \n const status = contains ? \"包含\" : \"不包含\";\n \n return {\n score: score,\n reason: `实际输出${status}参考输出`,\n status: \"success\"\n };\n } catch (error) {\n return {\n score: 0.0,\n reason: `评估过程出现错误: ${error.message}`,\n status: \"error\"\n };\n }\n}" + code_template_key: "contains_checker" + code_template_name: "包含性检查器" -custom_code_evaluator_template_conf: - custom: - Python: - receive_chat_history: false - code_evaluator: - language_type: "Python" - code_content: "def exec_evaluation(turn):\n \"\"\"\n 执行自定义评估逻辑的主函数\n \n 步骤说明:\n 1. 从输入数据中提取actual_output和reference_output文本\n 2. 对两个文本进行预处理(去除首尾空白字符)\n 3. 执行文本相等性比较\n 4. 根据比较结果生成score和reason\n 5. 返回结构化的评估结果\n \"\"\"\n try:\n # 步骤1: 从嵌套的数据结构中提取actual_output文本\n # 路径: turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n \n # 步骤2: 从嵌套的数据结构中提取reference_output文本\n # 路径: turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"]\n \n # 步骤3: 对两个文本进行预处理,去除首尾空白字符后进行相等性比较\n # 使用 strip() 方法消除可能的空格、换行符等影响比较结果的字符\n is_equal = actual_text.strip() == reference_text.strip()\n \n # 步骤4: 根据比较结果计算score\n # 完全匹配得1.0分,不匹配得0.0分(二元评分机制)\n score = 1.0 if is_equal else 0.0\n \n # 步骤5: 生成详细的reason\n # 包含匹配状态、actual_output内容和reference_output内容\n reason = f\"actual_output与reference_output{'匹配' if is_equal else '不匹配'}。actual_output: '{actual_text}', reference_output: '{reference_text}'\"\n \n # 步骤6: 返回成功的评估结果对象\n return EvalOutput(score=score, reason=reason)\n \n except KeyError as e:\n # 异常处理1: 处理字段路径不存在的情况\n # 当访问的嵌套字段不存在时,返回0分并记录错误信息\n raise Exception(f\"字段路径未找到: {e}\")\n except Exception as e:\n # 异常处理2: 处理其他未预期的异常情况\n # 确保函数在任何情况下都能返回有效的评估结果\n raise Exception(f\"评估失败: {e}\")\n\n" - code_template_key: "custom" - code_template_name: "自定义code评估器" - JS: - receive_chat_history: false - code_evaluator: - language_type: "JS" - code_content: "function exec_evaluation(turn) {\n /**\n * 执行自定义评估逻辑的主函数\n * \n * 步骤说明:\n * 1. 从输入数据中提取actual_output和reference_output文本\n * 2. 执行文本相等性比较\n * 3. 根据比较结果生成score和reason\n * 4. 返回结构化的评估结果\n */\n \n try {\n // 步骤1: 从嵌套的数据结构中提取actual_output文本\n // 路径: turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"]\n const actual_text = turn[\"evaluate_target_output_fields\"][\"actual_output\"][\"text\"];\n \n // 步骤2: 从嵌套的数据结构中提取reference_output文本\n // 路径: turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n const reference_text = turn[\"evaluate_dataset_fields\"][\"reference_output\"][\"text\"];\n\n // 步骤3: 执行严格相等性比较\n // 使用 === 操作符进行精确匹配,去除首尾空白字符\n const isEqual = actual_text.trim() === reference_text.trim();\n \n // 步骤4: 根据比较结果计算score\n // 完全匹配得1.0分,不匹配得0.0分(二元评分机制)\n const score = isEqual ? 1.0 : 0.0;\n \n // 步骤5: 生成详细的reason\n // 包含匹配状态、actual_output内容和reference_output内容\n const reason = `actual_output与reference_output${isEqual ? '匹配' : '不匹配'}。actual_output: '${actual_text}', reference_output: '${reference_text}'`;\n\n // 步骤6: 返回成功的评估结果对象\n return { score, reason };\n } catch (e) {\n // 异常处理1: 处理类型错误和引用错误\n // 主要用于捕获访问不存在属性时的错误\n if (e instanceof TypeError || e instanceof ReferenceError) {\n throw new Error(`字段路径不存在:${e.message}`);\n }\n // 异常处理2: 处理其他未预期的异常情况\n // 确保函数在任何情况下都能返回有效的评估结果\n throw new Error(`检查出错:${e.message}`);\n }\n}" - code_template_key: "custom" - code_template_name: "自定义code评估器" expt_export_white_list: allow_all: true \ No newline at end of file diff --git a/release/deployment/helm-chart/umbrella/conf/model_config.yaml b/release/deployment/helm-chart/umbrella/conf/model_config.yaml index 2aab6ca79..9035816a0 100644 --- a/release/deployment/helm-chart/umbrella/conf/model_config.yaml +++ b/release/deployment/helm-chart/umbrella/conf/model_config.yaml @@ -1,11 +1,12 @@ models: - id: 1 - name: "doubao" + name: "gemini-2.5-flash" frame: "eino" - protocol: "ark" + protocol: "openai" protocol_config: - api_key: "***" - model: "***" + api_key: "sk-pbtTgIE_myyjo9mU2KMA-g" + model: "models/gemini-2.5-flash" + base_url: "https://litellm.intra.didiglobal.com" param_config: param_schemas: - name: "temperature" @@ -20,7 +21,69 @@ models: desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." type: "int" min: "1" - max: "4096" + max: "4096000" + default_val: "2048" + - name: "top_p" + label: "top_p" + desc: "Selects the minimum token set with cumulative probability reaching top_p during generation, excluding tokens outside the set, balancing diversity and reasonableness." + type: "float" + min: "0.001" + max: "1.0" + default_val: "0.7" + - id: 2 + name: "gemini-2.5-pro" + frame: "eino" + protocol: "openai" + protocol_config: + api_key: "sk-pbtTgIE_myyjo9mU2KMA-g" + model: "models/gemini-2.5-pro" + base_url: "https://litellm.intra.didiglobal.com" + param_config: + param_schemas: + - name: "temperature" + label: "temperature" + desc: "Increasing temperature makes model output more diverse and creative, while decreasing it makes output more focused on instructions but less diverse. It's recommended not to adjust this simultaneously with 'Top p'." + type: "float" + min: "0" + max: "1.0" + default_val: "0.7" + - name: "max_tokens" + label: "max_tokens" + desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." + type: "int" + min: "1" + max: "4096000" + default_val: "2048" + - name: "top_p" + label: "top_p" + desc: "Selects the minimum token set with cumulative probability reaching top_p during generation, excluding tokens outside the set, balancing diversity and reasonableness." + type: "float" + min: "0.001" + max: "1.0" + default_val: "0.7" + - id: 3 + name: "gemini-2.5-pro-google" + frame: "eino" + protocol: "openai" + protocol_config: + api_key: "AIzaSyCi5SVSuzTiFZNaAyt2zYB3TcJZMsWQr14" + model: "gemini-2.5-pro" + base_url: "https://generativelanguage.googleapis.com" + param_config: + param_schemas: + - name: "temperature" + label: "temperature" + desc: "Increasing temperature makes model output more diverse and creative, while decreasing it makes output more focused on instructions but less diverse. It's recommended not to adjust this simultaneously with 'Top p'." + type: "float" + min: "0" + max: "1.0" + default_val: "0.7" + - name: "max_tokens" + label: "max_tokens" + desc: "Controls the maximum number of tokens in model output. Typically, 100 tokens equals about 150 Chinese characters." + type: "int" + min: "1" + max: "4096000" default_val: "2048" - name: "top_p" label: "top_p" diff --git a/release/deployment/helm-chart/umbrella/conf/observability.yaml b/release/deployment/helm-chart/umbrella/conf/observability.yaml index 9bbdf1487..d47dfa336 100644 --- a/release/deployment/helm-chart/umbrella/conf/observability.yaml +++ b/release/deployment/helm-chart/umbrella/conf/observability.yaml @@ -177,46 +177,6 @@ trace_field_meta_info: - "not_exist" support_custom: true field_metas: - default: - root_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "span_type" - - "message_id" - - "user_id" - all_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "span_type" - - "message_id" - - "user_id" - - "input_tokens" - - "output_tokens" - - "prompt_key" - - "tokens" - llm_span: - - "input" - - "output" - - "status" - - "duration" - - "latency_first_resp" - - "span_name" - - "trace_id" - - "message_id" - - "user_id" - - "input_tokens" - - "output_tokens" - - "tokens" cozeloop: root_span: - "input" @@ -329,26 +289,6 @@ query_trace_rate_limit_config: space_max_qps: 123456: 100 -key_columns: - - "start_time" - - "span_id" - - "parent_id" - - "duration" - - "span_type" - - "span_name" - - "status_code" - - "tags_long" - - "logic_delete_date" - -key_span_type: - default: - - "model", - - "tool", - - "root" - - "UserInput" - - "UserInputV2" - - "LLMCall" - correction_mq_consumer_config: addr: - "cozeloop-namesrv:9876" @@ -387,4 +327,4 @@ task_mq_consumer_config: timeout: 180000 topic: "trace_to_task" consumer_group: "trace_to_task_cg" - worker_num: 4 + worker_num: 4 \ No newline at end of file diff --git a/release/deployment/helm-chart/umbrella/values.yaml b/release/deployment/helm-chart/umbrella/values.yaml index ce9987142..a10666cc2 100644 --- a/release/deployment/helm-chart/umbrella/values.yaml +++ b/release/deployment/helm-chart/umbrella/values.yaml @@ -29,8 +29,4 @@ coze-loop-minio: coze-loop-rmq-namesrv: custom: *custom coze-loop-rmq-broker: - custom: *custom -coze-loop-python-faas: - custom: *custom -coze-loop-js-faas: - custom: *custom + custom: *custom \ No newline at end of file diff --git a/release/image/python-faas.Dockerfile b/release/image/python-faas.Dockerfile deleted file mode 100644 index f88c5427a..000000000 --- a/release/image/python-faas.Dockerfile +++ /dev/null @@ -1,48 +0,0 @@ -# syntax=docker/dockerfile:1.7 - -# Python FaaS Pyodide image built via BuildKit multi-context -# Files are copied from named build context: --build-context bootstrap=release/deployment/docker-compose/bootstrap/python-faas - -FROM denoland/deno:1.45.5 - -# Environment variables -ENV DENO_DIR=/tmp/faas-workspace/.deno \ - DENO_NO_UPDATE_CHECK=1 \ - FAAS_WORKSPACE=/tmp/faas-workspace \ - FAAS_PORT=8000 \ - FAAS_TIMEOUT=30000 \ - FAAS_LANGUAGE=python \ - PYODIDE_VERSION=0.26.2 \ - FAAS_POOL_MIN_SIZE=2 \ - FAAS_POOL_MAX_SIZE=8 \ - FAAS_POOL_IDLE_TIMEOUT=300000 \ - FAAS_MAX_EXECUTION_TIME=30000 \ - FAAS_PRELOAD_TIMEOUT=60000 - -# Install system deps -USER root -RUN apt-get update && apt-get install -y \ - curl \ - unzip \ - ca-certificates \ - && rm -rf /var/lib/apt/lists/* - -WORKDIR /app - -# Pre-vendor remote deps into image (scripts will be mounted at runtime) -RUN mkdir -p /tmp/faas-workspace/vendor && \ - deno vendor jsr:@eyurtsev/pyodide-sandbox@0.0.3 --output=/tmp/faas-workspace/vendor && \ - echo '{"imports":{"https://jsr.io/":"./jsr.io/"},"scopes":{"./jsr.io/":{"jsr:@eyurtsev/pyodide-sandbox@0.0.3":"./jsr.io/@eyurtsev/pyodide-sandbox/0.0.3/main.ts","jsr:@std/path@^1.0.8":"./jsr.io/@std/path/1.1.2/mod.ts","jsr:/@std/cli@^1.0.16/parse-args":"./jsr.io/@std/cli/1.0.23/parse_args.ts","jsr:@std/internal@^1.0.10/os":"./jsr.io/@std/internal/1.0.12/os.ts"}}}' > /tmp/faas-workspace/vendor/import_map.json && \ - mkdir -p /app/vendor && \ - cp -r /tmp/faas-workspace/vendor/* /app/vendor/ - -# Non-root user -RUN groupadd -r faas && useradd -r -g faas faas && \ - mkdir -p /tmp/faas-workspace && \ - chown -R faas:faas /app /tmp/faas-workspace - -USER faas - -## Healthcheck is defined in docker-compose to use mounted script - - diff --git a/rush.json b/rush.json index 1076c62f8..fec2a6d77 100644 --- a/rush.json +++ b/rush.json @@ -242,11 +242,6 @@ "projectFolder": "frontend/packages/cozeloop/evaluate-pages", "tags": ["team-devops", "level-3"] }, - { - "packageName": "@cozeloop/route-base", - "projectFolder": "frontend/packages/cozeloop/route", - "tags": ["level-3"] - }, { "packageName": "@coze-arch/subspace-resolve-plugin", "projectFolder": "frontend/packages/arch/subspace-resolve-plugin",