mirror of
https://gh-proxy.org/https://github.com/klinsmaya/multica.git
synced 2026-11-08 09:26:50 +08:00
* fix(qoder): run chat turns on Qoder Cloud Agents * fix(qoder): address review nits for Qoder chat (MUL-8410) - Tell the agent the chat audience (group/direct/unknown) like the local daemon's chat prompt, so an IM group reply is not treated as private. - Update the qoder-runtime README: chat turns and chat session continuation are supported. - Show conversation starters and the new-chat preview for Qoder agents, and keep starters when creating a Qoder agent. - PriorSessionID comment covers chats as well as issues. Co-authored-by: multica-agent <[email protected]> --------- Co-authored-by: 安辰 <[email protected]> Co-authored-by: Multica Eve <[email protected]> Co-authored-by: multica-agent <[email protected]>
64 lines
3.1 KiB
Go
64 lines
3.1 KiB
Go
package qoderruntime
|
|
|
|
import "encoding/json"
|
|
|
|
// Claim payload fields consumed by the remote bridge. Keep this HTTP boundary
|
|
// independent of the local daemon implementation and its CLI dependencies.
|
|
type claimedTask struct {
|
|
ID string `json:"id"`
|
|
RuntimeID string `json:"runtime_id"`
|
|
WorkspaceID string `json:"workspace_id"`
|
|
IssueID string `json:"issue_id"`
|
|
ChatSessionID string `json:"chat_session_id,omitempty"`
|
|
ChatMessage string `json:"chat_message,omitempty"`
|
|
ChatAttachments []json.RawMessage `json:"chat_message_attachments,omitempty"`
|
|
ChatChannelType string `json:"chat_channel_type,omitempty"`
|
|
ChatType string `json:"chat_type,omitempty"`
|
|
IsLeaderTask bool `json:"is_leader_task,omitempty"`
|
|
AuthToken string `json:"auth_token,omitempty"`
|
|
RemoteMCPConnections []json.RawMessage `json:"remote_mcp_connections,omitempty"`
|
|
ConnectedApps []json.RawMessage `json:"connected_apps,omitempty"`
|
|
PluginHookTools []json.RawMessage `json:"plugin_hook_tools,omitempty"`
|
|
Agent *claimedAgent `json:"agent,omitempty"`
|
|
PriorSessionID string `json:"prior_session_id,omitempty"`
|
|
IssueIdentifier string `json:"issue_identifier,omitempty"`
|
|
WorkspaceContext string `json:"workspace_context,omitempty"`
|
|
ProjectTitle string `json:"project_title,omitempty"`
|
|
ProjectDescription string `json:"project_description,omitempty"`
|
|
HandoffNote string `json:"handoff_note,omitempty"`
|
|
CoalescedComments []claimedComment `json:"coalesced_comments,omitempty"`
|
|
TriggerCommentContent string `json:"trigger_comment_content,omitempty"`
|
|
TriggerAuthorName string `json:"trigger_author_name,omitempty"`
|
|
ProjectResources []claimedResource `json:"project_resources,omitempty"`
|
|
Repos []claimedRepo `json:"repos,omitempty"`
|
|
}
|
|
|
|
type claimedAgent struct {
|
|
Instructions string `json:"instructions"`
|
|
Skills []claimedSkill `json:"skills,omitempty"`
|
|
SkillRefs []json.RawMessage `json:"skill_refs,omitempty"`
|
|
CustomEnv map[string]string `json:"custom_env,omitempty"`
|
|
CustomArgs []string `json:"custom_args,omitempty"`
|
|
McpConfig json.RawMessage `json:"mcp_config,omitempty"`
|
|
Model string `json:"model,omitempty"`
|
|
ThinkingLevel string `json:"thinking_level,omitempty"`
|
|
ServiceTier string `json:"service_tier,omitempty"`
|
|
RuntimeConfig json.RawMessage `json:"runtime_config,omitempty"`
|
|
}
|
|
|
|
type claimedSkill struct {
|
|
ID string `json:"id"`
|
|
}
|
|
type claimedComment struct {
|
|
AuthorName string `json:"author_name"`
|
|
Content string `json:"content"`
|
|
}
|
|
type claimedResource struct {
|
|
ResourceType string `json:"resource_type"`
|
|
ResourceRef json.RawMessage `json:"resource_ref"`
|
|
}
|
|
type claimedRepo struct {
|
|
URL string `json:"url"`
|
|
Description string `json:"description"`
|
|
}
|