opencode

package
v0.0.0-...-3d5bee7 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2026 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

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 struct{}

type OpenCode

type OpenCode struct {
	Enabled *bool `yaml:"enabled"`
}

type OpenCodeClient

type OpenCodeClient struct {
	UserLogin *bridgev2.UserLogin
	// contains filtered or unexported fields
}

func (*OpenCodeClient) BackgroundContext

func (oc *OpenCodeClient) BackgroundContext(ctx context.Context) context.Context

func (*OpenCodeClient) CleanupPortal

func (oc *OpenCodeClient) CleanupPortal(ctx context.Context, portal *bridgev2.Portal, reason string)

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 (oc *OpenCodeClient) EmitOpenCodeStreamEvent(ctx context.Context, portal *bridgev2.Portal, turnID, agentID, targetEventID string, part map[string]any)

func (*OpenCodeClient) FetchMessages

func (*OpenCodeClient) FinishOpenCodeStream

func (oc *OpenCodeClient) FinishOpenCodeStream(turnID string)

func (*OpenCodeClient) GetCapabilities

func (oc *OpenCodeClient) GetCapabilities(_ context.Context, _ *bridgev2.Portal) *event.RoomFeatures

func (*OpenCodeClient) GetChatInfo

func (oc *OpenCodeClient) GetChatInfo(_ context.Context, portal *bridgev2.Portal) (*bridgev2.ChatInfo, error)

func (*OpenCodeClient) GetContactList

func (oc *OpenCodeClient) GetContactList(ctx context.Context) ([]*bridgev2.ResolveIdentifierResponse, error)

func (*OpenCodeClient) GetUserInfo

func (oc *OpenCodeClient) GetUserInfo(_ context.Context, ghost *bridgev2.Ghost) (*bridgev2.UserInfo, error)

func (*OpenCodeClient) HandleMatrixDeleteChat

func (oc *OpenCodeClient) HandleMatrixDeleteChat(ctx context.Context, msg *bridgev2.MatrixDeleteChat) error

func (*OpenCodeClient) HandleMatrixMessage

func (*OpenCodeClient) HumanUserID

func (oc *OpenCodeClient) HumanUserID(loginID networkid.UserLoginID) networkid.UserID

func (*OpenCodeClient) IsLoggedIn

func (oc *OpenCodeClient) IsLoggedIn() bool

func (*OpenCodeClient) IsThisUser

func (oc *OpenCodeClient) IsThisUser(_ context.Context, userID networkid.UserID) bool

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 (oc *OpenCodeClient) SavePortal(ctx context.Context, portal *bridgev2.Portal) error

func (*OpenCodeClient) SendSystemNotice

func (oc *OpenCodeClient) SendSystemNotice(ctx context.Context, portal *bridgev2.Portal, msg string)

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

func (oc *OpenCodeClient) SetRoomName(_ context.Context, _ *bridgev2.Portal, _ string) error

type OpenCodeConnector

type OpenCodeConnector struct {
	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) FillPortalBridgeInfo

func (oc *OpenCodeConnector) FillPortalBridgeInfo(portal *bridgev2.Portal, content *event.BridgeEventContent)

func (*OpenCodeConnector) GetBridgeInfoVersion

func (oc *OpenCodeConnector) GetBridgeInfoVersion() (info, capabilities int)

func (*OpenCodeConnector) GetCapabilities

func (oc *OpenCodeConnector) GetCapabilities() *bridgev2.NetworkGeneralCapabilities

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 (oc *OpenCodeConnector) LoadUserLogin(_ context.Context, login *bridgev2.UserLogin) error

func (*OpenCodeConnector) Start

func (oc *OpenCodeConnector) Start(_ context.Context) error

func (*OpenCodeConnector) Stop

func (oc *OpenCodeConnector) Stop(_ context.Context)

type OpenCodeLogin

type OpenCodeLogin struct {
	User      *bridgev2.User
	Connector *OpenCodeConnector
	// contains filtered or unexported fields
}

func (*OpenCodeLogin) Cancel

func (ol *OpenCodeLogin) Cancel()

func (*OpenCodeLogin) Start

func (*OpenCodeLogin) SubmitUserInput

func (ol *OpenCodeLogin) SubmitUserInput(ctx context.Context, input map[string]string) (*bridgev2.LoginStep, error)

type OpenCodeRemoteEdit

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

OpenCodeRemoteEdit is a RemoteEdit for OpenCode streaming response edits.

func (*OpenCodeRemoteEdit) AddLogContext

func (e *OpenCodeRemoteEdit) AddLogContext(c zerolog.Context) zerolog.Context

func (*OpenCodeRemoteEdit) ConvertEdit

func (*OpenCodeRemoteEdit) GetPortalKey

func (e *OpenCodeRemoteEdit) GetPortalKey() networkid.PortalKey

func (*OpenCodeRemoteEdit) GetSender

func (e *OpenCodeRemoteEdit) GetSender() bridgev2.EventSender

func (*OpenCodeRemoteEdit) GetStreamOrder

func (e *OpenCodeRemoteEdit) GetStreamOrder() int64

func (*OpenCodeRemoteEdit) GetTargetMessage

func (e *OpenCodeRemoteEdit) GetTargetMessage() networkid.MessageID

func (*OpenCodeRemoteEdit) GetTimestamp

func (e *OpenCodeRemoteEdit) GetTimestamp() time.Time

func (*OpenCodeRemoteEdit) GetType

type OpenCodeRemoteMessage

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

OpenCodeRemoteMessage is a RemoteMessage for OpenCode-generated content routed through bridgev2.

func (*OpenCodeRemoteMessage) AddLogContext

func (m *OpenCodeRemoteMessage) AddLogContext(c zerolog.Context) zerolog.Context

func (*OpenCodeRemoteMessage) ConvertMessage

func (*OpenCodeRemoteMessage) GetID

func (*OpenCodeRemoteMessage) GetPortalKey

func (m *OpenCodeRemoteMessage) GetPortalKey() networkid.PortalKey

func (*OpenCodeRemoteMessage) GetSender

func (*OpenCodeRemoteMessage) GetStreamOrder

func (m *OpenCodeRemoteMessage) GetStreamOrder() int64

func (*OpenCodeRemoteMessage) GetTimestamp

func (m *OpenCodeRemoteMessage) GetTimestamp() time.Time

func (*OpenCodeRemoteMessage) GetType

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"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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