Documentation
¶
Index ¶
- Constants
- type Config
- type GhostMetadata
- type MessageMetadata
- type OpenCode
- type OpenCodeClient
- func (oc *OpenCodeClient) BackgroundContext(ctx context.Context) context.Context
- func (oc *OpenCodeClient) CleanupPortal(ctx context.Context, portal *bridgev2.Portal, reason string)
- func (oc *OpenCodeClient) Connect(ctx context.Context)
- func (oc *OpenCodeClient) DefaultAgentID() string
- func (oc *OpenCodeClient) Disconnect()
- func (oc *OpenCodeClient) DownloadAndEncodeMedia(ctx context.Context, mediaURL string, file *event.EncryptedFileInfo, maxMB int) (string, string, error)
- func (oc *OpenCodeClient) EmitOpenCodeStreamEvent(ctx context.Context, portal *bridgev2.Portal, ...)
- func (oc *OpenCodeClient) FetchMessages(ctx context.Context, params bridgev2.FetchMessagesParams) (*bridgev2.FetchMessagesResponse, error)
- func (oc *OpenCodeClient) FinishOpenCodeStream(turnID string)
- func (oc *OpenCodeClient) GetApprovalHandler() bridgeadapter.ApprovalReactionHandler
- func (oc *OpenCodeClient) GetCapabilities(_ context.Context, _ *bridgev2.Portal) *event.RoomFeatures
- func (oc *OpenCodeClient) GetChatInfo(_ context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)
- func (oc *OpenCodeClient) GetContactList(ctx context.Context) ([]*bridgev2.ResolveIdentifierResponse, error)
- func (oc *OpenCodeClient) GetUserInfo(_ context.Context, ghost *bridgev2.Ghost) (*bridgev2.UserInfo, error)
- func (oc *OpenCodeClient) GetUserLogin() *bridgev2.UserLogin
- func (oc *OpenCodeClient) HandleMatrixDeleteChat(ctx context.Context, msg *bridgev2.MatrixDeleteChat) error
- func (oc *OpenCodeClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (*bridgev2.MatrixMessageResponse, error)
- func (oc *OpenCodeClient) HumanUserID(loginID networkid.UserLoginID) networkid.UserID
- func (oc *OpenCodeClient) IsLoggedIn() bool
- func (oc *OpenCodeClient) IsThisUser(_ context.Context, userID networkid.UserID) bool
- func (oc *OpenCodeClient) Log() *zerolog.Logger
- func (oc *OpenCodeClient) Login() *bridgev2.UserLogin
- func (oc *OpenCodeClient) LogoutRemote(_ context.Context)
- func (oc *OpenCodeClient) OpenCodeInstances() map[string]*opencodebridge.OpenCodeInstance
- func (oc *OpenCodeClient) PortalMeta(portal *bridgev2.Portal) *opencodebridge.PortalMeta
- func (oc *OpenCodeClient) ResolveIdentifier(ctx context.Context, identifier string, createChat bool) (*bridgev2.ResolveIdentifierResponse, error)
- func (oc *OpenCodeClient) RoomCapabilitiesEventType() event.Type
- func (oc *OpenCodeClient) RoomSettingsEventType() event.Type
- func (oc *OpenCodeClient) SaveOpenCodeInstances(ctx context.Context, instances map[string]*opencodebridge.OpenCodeInstance) error
- func (oc *OpenCodeClient) SavePortal(ctx context.Context, portal *bridgev2.Portal) error
- func (oc *OpenCodeClient) SendSystemNotice(ctx context.Context, portal *bridgev2.Portal, msg string)
- func (oc *OpenCodeClient) SenderForOpenCode(instanceID string, fromMe bool) bridgev2.EventSender
- func (oc *OpenCodeClient) SetPortalMeta(portal *bridgev2.Portal, meta *opencodebridge.PortalMeta)
- func (oc *OpenCodeClient) SetRoomName(_ context.Context, _ *bridgev2.Portal, _ string) error
- type OpenCodeConnector
- func (oc *OpenCodeConnector) CreateLogin(_ context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error)
- func (oc *OpenCodeConnector) GetConfig() (example string, data any, upgrader configupgrade.Upgrader)
- func (oc *OpenCodeConnector) GetDBMetaTypes() database.MetaTypes
- func (oc *OpenCodeConnector) GetLoginFlows() []bridgev2.LoginFlow
- func (oc *OpenCodeConnector) GetName() bridgev2.BridgeName
- func (oc *OpenCodeConnector) Init(bridge *bridgev2.Bridge)
- func (oc *OpenCodeConnector) LoadUserLogin(_ context.Context, login *bridgev2.UserLogin) error
- func (oc *OpenCodeConnector) Start(_ context.Context) error
- func (oc *OpenCodeConnector) Stop(_ context.Context)
- type OpenCodeLogin
- type OpenCodeRemoteEdit
- type OpenCodeRemoteMessage
- type PortalMetadata
- type UserLoginMetadata
Constants ¶
View Source
const ( FlowOpenCodeRemote = "opencode_remote" FlowOpenCodeManaged = "opencode_managed" )
View Source
const ProviderOpenCode = "opencode"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Bridge bridgeconfig.BridgeConfig `yaml:"bridge"`
OpenCode OpenCode `yaml:"opencode"`
}
type GhostMetadata ¶
type GhostMetadata struct{}
type MessageMetadata ¶
type MessageMetadata = opencodebridge.MessageMetadata
type OpenCodeClient ¶
type OpenCodeClient struct {
bridgeadapter.BaseReactionHandler
bridgeadapter.BaseStreamState
UserLogin *bridgev2.UserLogin
// contains filtered or unexported fields
}
func (*OpenCodeClient) BackgroundContext ¶
func (oc *OpenCodeClient) BackgroundContext(ctx context.Context) context.Context
func (*OpenCodeClient) CleanupPortal ¶
func (*OpenCodeClient) Connect ¶
func (oc *OpenCodeClient) Connect(ctx context.Context)
func (*OpenCodeClient) DefaultAgentID ¶
func (oc *OpenCodeClient) DefaultAgentID() string
func (*OpenCodeClient) Disconnect ¶
func (oc *OpenCodeClient) Disconnect()
func (*OpenCodeClient) DownloadAndEncodeMedia ¶
func (oc *OpenCodeClient) DownloadAndEncodeMedia(ctx context.Context, mediaURL string, file *event.EncryptedFileInfo, maxMB int) (string, string, error)
func (*OpenCodeClient) EmitOpenCodeStreamEvent ¶
func (*OpenCodeClient) FetchMessages ¶
func (oc *OpenCodeClient) FetchMessages(ctx context.Context, params bridgev2.FetchMessagesParams) (*bridgev2.FetchMessagesResponse, error)
func (*OpenCodeClient) FinishOpenCodeStream ¶
func (oc *OpenCodeClient) FinishOpenCodeStream(turnID string)
func (*OpenCodeClient) GetApprovalHandler ¶
func (oc *OpenCodeClient) GetApprovalHandler() bridgeadapter.ApprovalReactionHandler
func (*OpenCodeClient) GetCapabilities ¶
func (oc *OpenCodeClient) GetCapabilities(_ context.Context, _ *bridgev2.Portal) *event.RoomFeatures
func (*OpenCodeClient) GetChatInfo ¶
func (*OpenCodeClient) GetContactList ¶
func (oc *OpenCodeClient) GetContactList(ctx context.Context) ([]*bridgev2.ResolveIdentifierResponse, error)
func (*OpenCodeClient) GetUserInfo ¶
func (*OpenCodeClient) GetUserLogin ¶
func (oc *OpenCodeClient) GetUserLogin() *bridgev2.UserLogin
func (*OpenCodeClient) HandleMatrixDeleteChat ¶
func (oc *OpenCodeClient) HandleMatrixDeleteChat(ctx context.Context, msg *bridgev2.MatrixDeleteChat) error
func (*OpenCodeClient) HandleMatrixMessage ¶
func (oc *OpenCodeClient) HandleMatrixMessage(ctx context.Context, msg *bridgev2.MatrixMessage) (*bridgev2.MatrixMessageResponse, error)
func (*OpenCodeClient) HumanUserID ¶
func (oc *OpenCodeClient) HumanUserID(loginID networkid.UserLoginID) networkid.UserID
func (*OpenCodeClient) IsLoggedIn ¶
func (oc *OpenCodeClient) IsLoggedIn() bool
func (*OpenCodeClient) IsThisUser ¶
func (*OpenCodeClient) Log ¶
func (oc *OpenCodeClient) Log() *zerolog.Logger
func (*OpenCodeClient) Login ¶
func (oc *OpenCodeClient) Login() *bridgev2.UserLogin
func (*OpenCodeClient) LogoutRemote ¶
func (oc *OpenCodeClient) LogoutRemote(_ context.Context)
func (*OpenCodeClient) OpenCodeInstances ¶
func (oc *OpenCodeClient) OpenCodeInstances() map[string]*opencodebridge.OpenCodeInstance
func (*OpenCodeClient) PortalMeta ¶
func (oc *OpenCodeClient) PortalMeta(portal *bridgev2.Portal) *opencodebridge.PortalMeta
func (*OpenCodeClient) ResolveIdentifier ¶
func (oc *OpenCodeClient) ResolveIdentifier(ctx context.Context, identifier string, createChat bool) (*bridgev2.ResolveIdentifierResponse, error)
func (*OpenCodeClient) RoomCapabilitiesEventType ¶
func (oc *OpenCodeClient) RoomCapabilitiesEventType() event.Type
func (*OpenCodeClient) RoomSettingsEventType ¶
func (oc *OpenCodeClient) RoomSettingsEventType() event.Type
func (*OpenCodeClient) SaveOpenCodeInstances ¶
func (oc *OpenCodeClient) SaveOpenCodeInstances(ctx context.Context, instances map[string]*opencodebridge.OpenCodeInstance) error
func (*OpenCodeClient) SavePortal ¶
func (*OpenCodeClient) SendSystemNotice ¶
func (*OpenCodeClient) SenderForOpenCode ¶
func (oc *OpenCodeClient) SenderForOpenCode(instanceID string, fromMe bool) bridgev2.EventSender
func (*OpenCodeClient) SetPortalMeta ¶
func (oc *OpenCodeClient) SetPortalMeta(portal *bridgev2.Portal, meta *opencodebridge.PortalMeta)
func (*OpenCodeClient) SetRoomName ¶
type OpenCodeConnector ¶
type OpenCodeConnector struct {
bridgeadapter.BaseConnectorMethods
Config Config
// contains filtered or unexported fields
}
func NewConnector ¶
func NewConnector() *OpenCodeConnector
func (*OpenCodeConnector) CreateLogin ¶
func (oc *OpenCodeConnector) CreateLogin(_ context.Context, user *bridgev2.User, flowID string) (bridgev2.LoginProcess, error)
func (*OpenCodeConnector) GetConfig ¶
func (oc *OpenCodeConnector) GetConfig() (example string, data any, upgrader configupgrade.Upgrader)
func (*OpenCodeConnector) GetDBMetaTypes ¶
func (oc *OpenCodeConnector) GetDBMetaTypes() database.MetaTypes
func (*OpenCodeConnector) GetLoginFlows ¶
func (oc *OpenCodeConnector) GetLoginFlows() []bridgev2.LoginFlow
func (*OpenCodeConnector) GetName ¶
func (oc *OpenCodeConnector) GetName() bridgev2.BridgeName
func (*OpenCodeConnector) Init ¶
func (oc *OpenCodeConnector) Init(bridge *bridgev2.Bridge)
func (*OpenCodeConnector) LoadUserLogin ¶
func (*OpenCodeConnector) Stop ¶
func (oc *OpenCodeConnector) Stop(_ context.Context)
type OpenCodeLogin ¶
type OpenCodeLogin struct {
bridgeadapter.BaseLoginProcess
User *bridgev2.User
Connector *OpenCodeConnector
FlowID string
}
func (*OpenCodeLogin) SubmitUserInput ¶
type OpenCodeRemoteEdit ¶
type OpenCodeRemoteEdit = bridgeadapter.RemoteEdit
OpenCodeRemoteEdit is a type alias for the shared RemoteEdit.
type OpenCodeRemoteMessage ¶
type OpenCodeRemoteMessage = bridgeadapter.RemoteMessage
OpenCodeRemoteMessage is a type alias for the shared RemoteMessage.
type PortalMetadata ¶
type PortalMetadata struct {
Title string `json:"title,omitempty"`
TitleGenerated bool `json:"title_generated,omitempty"`
IsOpenCodeRoom bool `json:"is_opencode_room,omitempty"`
OpenCodeInstanceID string `json:"opencode_instance_id,omitempty"`
OpenCodeSessionID string `json:"opencode_session_id,omitempty"`
OpenCodeReadOnly bool `json:"opencode_read_only,omitempty"`
OpenCodeTitlePending bool `json:"opencode_title_pending,omitempty"`
OpenCodeAwaitingPath bool `json:"opencode_awaiting_path,omitempty"`
AgentID string `json:"agent_id,omitempty"`
VerboseLevel string `json:"verbose_level,omitempty"`
}
type UserLoginMetadata ¶
type UserLoginMetadata struct {
Provider string `json:"provider,omitempty"`
OpenCodeInstances map[string]*opencodebridge.OpenCodeInstance `json:"opencode_instances,omitempty"`
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.