scredential

package
v0.0.0-...-36d6306 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

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 (s CredentialService) DeleteCredential(ctx context.Context, id idwrap.IDWrap) error

func (CredentialService) GetCredential

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

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 (w *CredentialWriter) DeleteCredential(ctx context.Context, id idwrap.IDWrap) error

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 (f *LLMProviderFactory) CreateModel(ctx context.Context, credentialID idwrap.IDWrap) (llms.Model, error)

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.

Jump to

Keyboard shortcuts

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