Documentation
¶
Index ¶
- Variables
- func NewAuthService(d *gorm.DB, jwtSecret string, aliyunCfg *config.AliyunConfig) contract.AuthService
- func NewDigitalAssistantService(db *gorm.DB, workerScheduler worker.WorkerScheduler) contract.DigitalAssistantService
- func NewDigitalAssistantServiceWithProvisioning(db *gorm.DB, workerScheduler worker.WorkerScheduler, ...) contract.DigitalAssistantService
- func NewFileService(db *gorm.DB) contract.FileService
- func NewLLMModelService(db *gorm.DB) contract.LLMModelService
- func NewOrgService(d *gorm.DB) contract.OrgService
- func NewOrgServiceWithProvisioning(d *gorm.DB, provisioning *WorkerProvisioningService) contract.OrgService
- func NewProjectService(db *gorm.DB, giteaClient *gitea.Client, giteaCfg *config.GiteaConfig, ...) contract.ProjectService
- func NewProjectServiceWithInferrer(db *gorm.DB, inferrer AssistantInferrer, giteaClient *gitea.Client, ...) contract.ProjectService
- func NewSessionService(db *gorm.DB, eventbus eventbus.EventBus, inferrer AssistantInferrer, ...) contract.SessionService
- func NewSkillMarketplaceService(db *gorm.DB, publisher eventbus.Publisher, st storage.Storage, bucket string) contract.SkillMarketplaceService
- func NewSkillMarketplaceServiceWithInferrer(db *gorm.DB, publisher eventbus.Publisher, inferrer AssistantInferrer, ...) contract.SkillMarketplaceService
- func NewSkillMarketplaceServiceWithTranslator(db *gorm.DB, publisher eventbus.Publisher, inferrer AssistantInferrer, ...) contract.SkillMarketplaceService
- func NewSkillService(db *gorm.DB, publisher mq.Publisher, inferrer AssistantInferrer) contract.SkillService
- func NewTaskService(db *gorm.DB) contract.TaskService
- func NewUserService(d *gorm.DB) contract.UserService
- func NewWorkService(database *gorm.DB, eventbus eventbus.EventBus, inferrer AssistantInferrer, ...) contract.WorkService
- func ProjectRunEvent(runEvent messaging.RunEvent) (*dto.SessionEvent, bool)
- func ProjectRunEventRecord(sessionID string, chunk types.MessageChunk) (*contract.SessionEvent, bool)
- func StartWorkerDeploymentReconciler(ctx context.Context, database *gorm.DB, workerScheduler worker.WorkerScheduler, ...)
- type AssistantInferrer
- type DefaultAssistantInferrer
- type MessagePoster
- func (p *MessagePoster) PostMessage(ctx context.Context, session *types.Session, executionMode agent.ExecutionMode, ...) (*types.SessionMessage, error)
- func (p *MessagePoster) RunNewMessage(ctx context.Context, req *contract.NewMessageRequest, caller *types.Caller) (*contract.NewMessageResponse, error)
- type SkillDescriptionTranslator
- type TitleUpdater
- type TranslateDocumentItem
- type TranslateItem
- type TranslatedSkillText
- type WorkerProvisioningService
- func (s *WorkerProvisioningService) EnsureDefaultWorkerForOrg(ctx context.Context, orgID, ownerID uint) (*types.WorkerDeployment, error)
- func (s *WorkerProvisioningService) EnsureForAssistant(ctx context.Context, da *types.DigitalAssistant) (*types.WorkerDeployment, error)
- func (s *WorkerProvisioningService) MarkAssistantActive(ctx context.Context, da *types.DigitalAssistant) error
- func (s *WorkerProvisioningService) MarkAssistantStopped(ctx context.Context, da *types.DigitalAssistant) error
Constants ¶
This section is empty.
Variables ¶
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 DefaultAssistantInferrer ¶
type DefaultAssistantInferrer struct {
// contains filtered or unexported fields
}
func NewDefaultAssistantInferrer ¶
func NewDefaultAssistantInferrer(defaultAssistantID uint) *DefaultAssistantInferrer
func (*DefaultAssistantInferrer) InferAssignedAssistantID ¶
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 ¶
func (p *MessagePoster) RunNewMessage( ctx context.Context, req *contract.NewMessageRequest, caller *types.Caller, ) (*contract.NewMessageResponse, error)
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
TranslateItem 待翻译的 Skill 市场文案条目。
type TranslatedSkillText ¶ added in v0.1.15
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 (s *WorkerProvisioningService) EnsureForAssistant(ctx context.Context, da *types.DigitalAssistant) (*types.WorkerDeployment, error)
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
Source Files
¶
- assistant_inferrer.go
- auth_service.go
- default_skill_description_translator.go
- digital_assistant_service.go
- file_service.go
- llm_model_service.go
- message_poster.go
- org_service.go
- project_service.go
- session_event_projector.go
- session_service.go
- skill_description_translator.go
- skill_marketplace_service.go
- skill_service.go
- sms_sender.go
- task_service.go
- user_service.go
- utils.go
- work_service.go
- worker_deployment_reconciler.go
- worker_provisioning.go
- worker_resolution.go