Documentation
¶
Index ¶
- func ConvertCredentialAnthropicToDB(mc mcredential.CredentialAnthropic, encryptedKey []byte) gen.CredentialAnthropic
- func ConvertCredentialGeminiToDB(mc mcredential.CredentialGemini, encryptedKey []byte) gen.CredentialGemini
- func ConvertCredentialOpenAIToDB(mc mcredential.CredentialOpenAI, encryptedToken []byte) gen.CredentialOpenai
- func ConvertCredentialToDB(mc mcredential.Credential) gen.Credential
- func ConvertDBToCredential(c gen.Credential) *mcredential.Credential
- func ConvertDBToCredentialAnthropicRaw(c gen.CredentialAnthropic) (*mcredential.CredentialAnthropic, []byte)
- func ConvertDBToCredentialGeminiRaw(c gen.CredentialGemini) (*mcredential.CredentialGemini, []byte)
- func ConvertDBToCredentialOpenAIRaw(c gen.CredentialOpenai) (*mcredential.CredentialOpenAI, []byte)
- type CredentialReader
- func (r *CredentialReader) GetCredential(ctx context.Context, id idwrap.IDWrap) (*mcredential.Credential, error)
- func (r *CredentialReader) GetCredentialAnthropic(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialAnthropic, error)
- func (r *CredentialReader) GetCredentialGemini(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialGemini, error)
- func (r *CredentialReader) GetCredentialOpenAI(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialOpenAI, error)
- func (r *CredentialReader) ListCredentials(ctx context.Context, workspaceID idwrap.IDWrap) ([]mcredential.Credential, error)
- type CredentialService
- func (s CredentialService) CreateCredential(ctx context.Context, cred *mcredential.Credential) error
- func (s CredentialService) CreateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
- func (s CredentialService) CreateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
- func (s CredentialService) CreateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
- func (s CredentialService) DeleteCredential(ctx context.Context, id idwrap.IDWrap) error
- func (s CredentialService) GetCredential(ctx context.Context, id idwrap.IDWrap) (*mcredential.Credential, error)
- func (s CredentialService) GetCredentialAnthropic(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialAnthropic, error)
- func (s CredentialService) GetCredentialGemini(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialGemini, error)
- func (s CredentialService) GetCredentialOpenAI(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialOpenAI, error)
- func (s CredentialService) ListCredentials(ctx context.Context, workspaceID idwrap.IDWrap) ([]mcredential.Credential, error)
- func (s CredentialService) Reader() *CredentialReader
- func (s CredentialService) TX(tx *sql.Tx) CredentialService
- func (s CredentialService) UpdateCredential(ctx context.Context, cred *mcredential.Credential) error
- func (s CredentialService) UpdateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
- func (s CredentialService) UpdateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
- func (s CredentialService) UpdateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
- type CredentialWriter
- func (w *CredentialWriter) CreateCredential(ctx context.Context, cred *mcredential.Credential) error
- func (w *CredentialWriter) CreateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
- func (w *CredentialWriter) CreateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
- func (w *CredentialWriter) CreateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
- func (w *CredentialWriter) DeleteCredential(ctx context.Context, id idwrap.IDWrap) error
- func (w *CredentialWriter) UpdateCredential(ctx context.Context, cred *mcredential.Credential) error
- func (w *CredentialWriter) UpdateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
- func (w *CredentialWriter) UpdateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
- func (w *CredentialWriter) UpdateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
- type Decrypter
- type Encrypter
- type ICredentialService
- type LLMProviderFactory
- type ReaderOption
- type ServiceOption
- type WriterOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertCredentialAnthropicToDB ¶
func ConvertCredentialAnthropicToDB(mc mcredential.CredentialAnthropic, encryptedKey []byte) gen.CredentialAnthropic
ConvertCredentialAnthropicToDB converts model to DB row with encrypted secret.
func ConvertCredentialGeminiToDB ¶
func ConvertCredentialGeminiToDB(mc mcredential.CredentialGemini, encryptedKey []byte) gen.CredentialGemini
ConvertCredentialGeminiToDB converts model to DB row with encrypted secret.
func ConvertCredentialOpenAIToDB ¶
func ConvertCredentialOpenAIToDB(mc mcredential.CredentialOpenAI, encryptedToken []byte) gen.CredentialOpenai
ConvertCredentialOpenAIToDB converts model to DB row with encrypted secret. Caller is responsible for encrypting the secret before calling.
func ConvertCredentialToDB ¶
func ConvertCredentialToDB(mc mcredential.Credential) gen.Credential
func ConvertDBToCredential ¶
func ConvertDBToCredential(c gen.Credential) *mcredential.Credential
func ConvertDBToCredentialAnthropicRaw ¶
func ConvertDBToCredentialAnthropicRaw(c gen.CredentialAnthropic) (*mcredential.CredentialAnthropic, []byte)
ConvertDBToCredentialAnthropicRaw converts DB row to model with raw secret (bytes).
func ConvertDBToCredentialGeminiRaw ¶
func ConvertDBToCredentialGeminiRaw(c gen.CredentialGemini) (*mcredential.CredentialGemini, []byte)
ConvertDBToCredentialGeminiRaw converts DB row to model with raw secret (bytes).
func ConvertDBToCredentialOpenAIRaw ¶
func ConvertDBToCredentialOpenAIRaw(c gen.CredentialOpenai) (*mcredential.CredentialOpenAI, []byte)
ConvertDBToCredentialOpenAIRaw converts DB row to model with raw secret (bytes). Caller is responsible for decryption using the EncryptionType.
Types ¶
type CredentialReader ¶
type CredentialReader struct {
// contains filtered or unexported fields
}
CredentialReader reads credentials from the database.
func NewCredentialReader ¶
func NewCredentialReader(db *sql.DB, opts ...ReaderOption) *CredentialReader
NewCredentialReader creates a new reader with the given options.
func NewCredentialReaderFromQueries ¶
func NewCredentialReaderFromQueries(queries *gen.Queries, opts ...ReaderOption) *CredentialReader
NewCredentialReaderFromQueries creates a reader from existing queries.
func (*CredentialReader) GetCredential ¶
func (r *CredentialReader) GetCredential(ctx context.Context, id idwrap.IDWrap) (*mcredential.Credential, error)
func (*CredentialReader) GetCredentialAnthropic ¶
func (r *CredentialReader) GetCredentialAnthropic(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialAnthropic, error)
func (*CredentialReader) GetCredentialGemini ¶
func (r *CredentialReader) GetCredentialGemini(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialGemini, error)
func (*CredentialReader) GetCredentialOpenAI ¶
func (r *CredentialReader) GetCredentialOpenAI(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialOpenAI, error)
func (*CredentialReader) ListCredentials ¶
func (r *CredentialReader) ListCredentials(ctx context.Context, workspaceID idwrap.IDWrap) ([]mcredential.Credential, error)
type CredentialService ¶
type CredentialService struct {
// contains filtered or unexported fields
}
CredentialService provides credential CRUD with encryption. By default uses XChaCha20-Poly1305 with a static key (obfuscation).
func NewCredentialService ¶
func NewCredentialService(queries *gen.Queries, opts ...ServiceOption) CredentialService
NewCredentialService creates a new service with default encryption. Override with WithVault(nil) for plaintext or WithVault(customVault) for secure encryption.
func (CredentialService) CreateCredential ¶
func (s CredentialService) CreateCredential(ctx context.Context, cred *mcredential.Credential) error
func (CredentialService) CreateCredentialAnthropic ¶
func (s CredentialService) CreateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
func (CredentialService) CreateCredentialGemini ¶
func (s CredentialService) CreateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
func (CredentialService) CreateCredentialOpenAI ¶
func (s CredentialService) CreateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
func (CredentialService) DeleteCredential ¶
func (CredentialService) GetCredential ¶
func (s CredentialService) GetCredential(ctx context.Context, id idwrap.IDWrap) (*mcredential.Credential, error)
func (CredentialService) GetCredentialAnthropic ¶
func (s CredentialService) GetCredentialAnthropic(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialAnthropic, error)
func (CredentialService) GetCredentialGemini ¶
func (s CredentialService) GetCredentialGemini(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialGemini, error)
func (CredentialService) GetCredentialOpenAI ¶
func (s CredentialService) GetCredentialOpenAI(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialOpenAI, error)
func (CredentialService) ListCredentials ¶
func (s CredentialService) ListCredentials(ctx context.Context, workspaceID idwrap.IDWrap) ([]mcredential.Credential, error)
func (CredentialService) Reader ¶
func (s CredentialService) Reader() *CredentialReader
Reader returns a configured credential reader.
func (CredentialService) TX ¶
func (s CredentialService) TX(tx *sql.Tx) CredentialService
TX returns a new service scoped to the transaction.
func (CredentialService) UpdateCredential ¶
func (s CredentialService) UpdateCredential(ctx context.Context, cred *mcredential.Credential) error
func (CredentialService) UpdateCredentialAnthropic ¶
func (s CredentialService) UpdateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
func (CredentialService) UpdateCredentialGemini ¶
func (s CredentialService) UpdateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
func (CredentialService) UpdateCredentialOpenAI ¶
func (s CredentialService) UpdateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
type CredentialWriter ¶
type CredentialWriter struct {
// contains filtered or unexported fields
}
CredentialWriter writes credentials to the database.
func NewCredentialWriterFromQueries ¶
func NewCredentialWriterFromQueries(queries *gen.Queries, opts ...WriterOption) *CredentialWriter
NewCredentialWriterFromQueries creates a writer with the given options.
func (*CredentialWriter) CreateCredential ¶
func (w *CredentialWriter) CreateCredential(ctx context.Context, cred *mcredential.Credential) error
func (*CredentialWriter) CreateCredentialAnthropic ¶
func (w *CredentialWriter) CreateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
func (*CredentialWriter) CreateCredentialGemini ¶
func (w *CredentialWriter) CreateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
func (*CredentialWriter) CreateCredentialOpenAI ¶
func (w *CredentialWriter) CreateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
func (*CredentialWriter) DeleteCredential ¶
func (*CredentialWriter) UpdateCredential ¶
func (w *CredentialWriter) UpdateCredential(ctx context.Context, cred *mcredential.Credential) error
func (*CredentialWriter) UpdateCredentialAnthropic ¶
func (w *CredentialWriter) UpdateCredentialAnthropic(ctx context.Context, cred *mcredential.CredentialAnthropic) error
func (*CredentialWriter) UpdateCredentialGemini ¶
func (w *CredentialWriter) UpdateCredentialGemini(ctx context.Context, cred *mcredential.CredentialGemini) error
func (*CredentialWriter) UpdateCredentialOpenAI ¶
func (w *CredentialWriter) UpdateCredentialOpenAI(ctx context.Context, cred *mcredential.CredentialOpenAI) error
type Decrypter ¶
type Decrypter interface {
DecryptString(ciphertext []byte, encType credvault.EncryptionType) (string, error)
}
Decrypter handles secret decryption. Implemented by credvault.Vault.
type Encrypter ¶
type Encrypter interface {
Encrypt(plaintext []byte, encType credvault.EncryptionType) ([]byte, error)
}
Encrypter handles secret encryption. Implemented by credvault.Vault.
type ICredentialService ¶
type ICredentialService interface {
GetCredential(ctx context.Context, id idwrap.IDWrap) (*mcredential.Credential, error)
GetCredentialOpenAI(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialOpenAI, error)
GetCredentialGemini(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialGemini, error)
GetCredentialAnthropic(ctx context.Context, id idwrap.IDWrap) (*mcredential.CredentialAnthropic, error)
}
ICredentialService defines the read operations required by the factory
type LLMProviderFactory ¶
type LLMProviderFactory struct {
// contains filtered or unexported fields
}
func NewLLMProviderFactory ¶
func NewLLMProviderFactory(service ICredentialService) *LLMProviderFactory
func (*LLMProviderFactory) CreateModel ¶
func (*LLMProviderFactory) CreateModelWithCredential ¶
func (f *LLMProviderFactory) CreateModelWithCredential(ctx context.Context, aiModel mflow.AiModel, customModel string, credentialID idwrap.IDWrap) (llms.Model, error)
CreateModelWithCredential creates an LLM client using the specified model and credential
type ReaderOption ¶
type ReaderOption func(*CredentialReader)
ReaderOption configures a CredentialReader.
func WithDecrypter ¶
func WithDecrypter(d Decrypter) ReaderOption
WithDecrypter sets the decrypter for automatic secret decryption.
type ServiceOption ¶
type ServiceOption func(*CredentialService)
ServiceOption configures a CredentialService.
func WithVault ¶
func WithVault(v *credvault.Vault) ServiceOption
WithVault configures the service to use vault for encryption/decryption.
type WriterOption ¶
type WriterOption func(*CredentialWriter)
WriterOption configures a CredentialWriter.
func WithEncrypter ¶
func WithEncrypter(e Encrypter) WriterOption
WithEncrypter sets the encrypter for automatic secret encryption. When set, secrets are encrypted using XChaCha20-Poly1305 by default.