service

package
v0.1.21 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2026 License: Apache-2.0 Imports: 68 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoReplyMessageIDs = errors.New("no reply message ids in stream event")

ErrNoReplyMessageIDs is returned when a run-started stream event lacks identifiable user messages to target.

Functions

func NewAuthService

func NewAuthService(d *gorm.DB, jwtSecret string, aliyunCfg *config.AliyunConfig) contract.AuthService

func NewDigitalAssistantService

func NewDigitalAssistantService(db *gorm.DB, workerScheduler worker.WorkerScheduler) contract.DigitalAssistantService

func NewDigitalAssistantServiceWithProvisioning added in v0.1.12

func NewDigitalAssistantServiceWithProvisioning(db *gorm.DB, workerScheduler worker.WorkerScheduler, provisioning *WorkerProvisioningService) contract.DigitalAssistantService

func NewFileService added in v0.1.2

func NewFileService(db *gorm.DB) contract.FileService

func NewLLMModelService

func NewLLMModelService(db *gorm.DB) contract.LLMModelService

func NewOrgService

func NewOrgService(d *gorm.DB) contract.OrgService

func NewOrgServiceWithProvisioning added in v0.1.12

func NewOrgServiceWithProvisioning(d *gorm.DB, provisioning *WorkerProvisioningService) contract.OrgService

func NewProjectService

func NewProjectService(db *gorm.DB, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, env string) contract.ProjectService

NewProjectService 创建项目服务实例

func NewProjectServiceWithInferrer added in v0.1.12

func NewProjectServiceWithInferrer(db *gorm.DB, inferrer AssistantInferrer, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, env string) contract.ProjectService

func NewSessionService

func NewSessionService(db *gorm.DB, eventbus eventbus.EventBus, inferrer AssistantInferrer, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, env string) contract.SessionService

func NewSkillMarketplaceService added in v0.1.1

func NewSkillMarketplaceService(db *gorm.DB, publisher eventbus.Publisher, st storage.Storage, bucket string) contract.SkillMarketplaceService

NewSkillMarketplaceService 创建 Skill 市场服务。

func NewSkillMarketplaceServiceWithInferrer added in v0.1.12

func NewSkillMarketplaceServiceWithInferrer(db *gorm.DB, publisher eventbus.Publisher, inferrer AssistantInferrer, st storage.Storage, bucket string) contract.SkillMarketplaceService

func NewSkillMarketplaceServiceWithTranslator added in v0.1.13

func NewSkillMarketplaceServiceWithTranslator(db *gorm.DB, publisher eventbus.Publisher, inferrer AssistantInferrer, translator SkillDescriptionTranslator, st storage.Storage, bucket string) contract.SkillMarketplaceService

func NewSkillService added in v0.1.15

func NewSkillService(db *gorm.DB, publisher mq.Publisher, inferrer AssistantInferrer) contract.SkillService

NewSkillService creates a new SkillService.

func NewTaskService

func NewTaskService(db *gorm.DB) contract.TaskService

func NewUserService

func NewUserService(d *gorm.DB) contract.UserService

func NewWorkService

func NewWorkService(database *gorm.DB, eventbus eventbus.EventBus, inferrer AssistantInferrer, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, env string, titleUpdater TitleUpdater) contract.WorkService

func ProjectRunEvent added in v0.1.17

func ProjectRunEvent(runEvent messaging.RunEvent) (*dto.SessionEvent, bool)

ProjectRunEvent converts a messaging.RunEvent into the public session event shape. This is the preferred entry point for the new messaging architecture.

func ProjectRunEventRecord

func ProjectRunEventRecord(sessionID string, chunk types.MessageChunk) (*contract.SessionEvent, bool)

ProjectRunEventRecord converts a persisted runtime event chunk into the public session event shape.

func StartWorkerDeploymentReconciler added in v0.1.12

func StartWorkerDeploymentReconciler(
	ctx context.Context,
	database *gorm.DB,
	workerScheduler worker.WorkerScheduler,
	schedulerConfig *config.SchedulerConfig,
)

StartWorkerDeploymentReconciler keeps WorkerDeployment records aligned with runtime workers.

Types

type AssistantInferrer

type AssistantInferrer interface {
	InferAssignedAssistantID(ctx context.Context, sessionOrgID uint, sessionType string) uint
}

type DefaultAssistantInferrer

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

func NewDefaultAssistantInferrer

func NewDefaultAssistantInferrer(defaultAssistantID uint) *DefaultAssistantInferrer

func (*DefaultAssistantInferrer) InferAssignedAssistantID

func (d *DefaultAssistantInferrer) InferAssignedAssistantID(ctx context.Context, sessionOrgID uint, sessionType string) uint

type MessagePoster

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

MessagePoster 无状态的消息投递器,负责消息创建、统计更新、事件发布、Worker 任务投递。 多个 goroutine 可安全并发使用。

func NewMessagePoster

func NewMessagePoster(db *gorm.DB, eb eventbus.EventBus, inferrer AssistantInferrer, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, env string, titleUpdater TitleUpdater) *MessagePoster

NewMessagePoster 创建 MessagePoster 实例。

func (*MessagePoster) PostMessage

func (p *MessagePoster) PostMessage(
	ctx context.Context,
	session *types.Session,
	executionMode agent.ExecutionMode,
	buildMessage func(sequence int64) *types.SessionMessage,
) (*types.SessionMessage, error)

PostMessage 在已有 session 上创建一条消息并完成后续投递(统计、EventBus、WorkerTask)。

func (*MessagePoster) RunNewMessage

RunNewMessage 执行 NewMessage 完整编排:Project → Task → Session → Message 原子创建链。

type SkillDescriptionTranslator added in v0.1.13

type SkillDescriptionTranslator interface {
	// Translate 批量生成中文展示名并翻译描述。
	// 返回 map[skill_id]TranslatedSkillText,出错或无法翻译时返回空 map。
	Translate(ctx context.Context, items []TranslateItem) (map[string]TranslatedSkillText, error)

	// TranslateDocument 批量翻译整篇 SKILL.md。
	// 保留 YAML frontmatter、标题层级、列表、代码块、链接、表格等 Markdown 结构,
	// 只翻译自然语言为简体中文。
	// 返回 map[skill_id]translatedFullContent。
	// 某篇翻译结果无法被 catalog.ParseDocument 解析时,该条目不出现在结果 map 中
	// 并记录 warning(调用方据此回退原始 SKILL.md)。
	TranslateDocument(ctx context.Context, items []TranslateDocumentItem) (map[string]string, error)
}

SkillDescriptionTranslator 将英文 Skill 市场文案翻译为中文。

func NewDefaultSkillDescriptionTranslator added in v0.1.13

func NewDefaultSkillDescriptionTranslator(db *gorm.DB) SkillDescriptionTranslator

NewDefaultSkillDescriptionTranslator 创建默认翻译器。

type TitleUpdater added in v0.1.17

type TitleUpdater interface {
	HandleSessionTitleRequest(ctx context.Context, sessionPID string) error
}

TitleUpdater handles session title generation.

type TranslateDocumentItem added in v0.1.13

type TranslateDocumentItem struct {
	SkillID string // 用于映射返回结果
	Content string // 原始 SKILL.md 完整内容(含 YAML frontmatter)
}

TranslateDocumentItem 待翻译的整篇 SKILL.md 条目。

type TranslateItem added in v0.1.13

type TranslateItem struct {
	SkillID     string
	Name        string
	Description string // 原始描述(通常是英文)
}

TranslateItem 待翻译的 Skill 市场文案条目。

type TranslatedSkillText added in v0.1.15

type TranslatedSkillText struct {
	DisplayName string
	Description string
}

TranslatedSkillText 是 Skill 面向中文用户展示的文案。

type WorkerProvisioningService added in v0.1.12

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

func NewWorkerProvisioningService added in v0.1.12

func NewWorkerProvisioningService(database *gorm.DB, scheduler *config.SchedulerConfig) *WorkerProvisioningService

func (*WorkerProvisioningService) EnsureDefaultWorkerForOrg added in v0.1.12

func (s *WorkerProvisioningService) EnsureDefaultWorkerForOrg(ctx context.Context, orgID, ownerID uint) (*types.WorkerDeployment, error)

func (*WorkerProvisioningService) EnsureForAssistant added in v0.1.12

func (*WorkerProvisioningService) MarkAssistantActive added in v0.1.12

func (s *WorkerProvisioningService) MarkAssistantActive(ctx context.Context, da *types.DigitalAssistant) error

func (*WorkerProvisioningService) MarkAssistantStopped added in v0.1.12

func (s *WorkerProvisioningService) MarkAssistantStopped(ctx context.Context, da *types.DigitalAssistant) error

Jump to

Keyboard shortcuts

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