AWS provider packages for PlexusOne libraries.
- OmniLLM: AWS Bedrock chat completion provider.
- OmniStorage: S3-compatible object storage backend.
- OmniVault: AWS Secrets Manager and Parameter Store providers.
- OmniMemory: DynamoDB-backed memory provider.
- OmniDevX: AWS Kiro CLI local telemetry collector for developer experience analytics.
This repository contains multiple Go modules for AWS integrations:
| Module | Description | Install |
|---|---|---|
omnillm |
AWS Bedrock provider for omnillm-core | go get github.com/plexusone/omni-aws/omnillm |
omnistorage |
S3 backend for omnistorage-core | go get github.com/plexusone/omni-aws/omnistorage |
omnivault |
AWS Secrets Manager & Parameter Store for omnivault | go get github.com/plexusone/omni-aws/omnivault |
omnimemory |
DynamoDB provider for omnimemory | go get github.com/plexusone/omni-aws/omnimemory |
omnidevx |
Kiro CLI telemetry collector for omnidevx-core | go get github.com/plexusone/omni-aws/omnidevx |
import (
"github.com/plexusone/omni-aws/omnillm"
"github.com/plexusone/omnillm-core"
)
// Create Bedrock provider
provider := omnillm.NewProvider("us-east-1")
// Use with OmniLLM
client := omnillm.NewClient(provider)
resp, err := client.CreateChatCompletion(ctx, omnillm.ChatCompletionRequest{
Model: "anthropic.claude-3-5-sonnet-20241022-v2:0",
Messages: []omnillm.Message{
{Role: "user", Content: "Hello!"},
},
})See omnillm/README.md for full documentation.
import (
"github.com/plexusone/omni-aws/omnistorage/backend/s3"
)
// Create S3 backend
backend, err := s3.New(s3.Config{
Bucket: "my-bucket",
Region: "us-east-1",
})
// Write
w, _ := backend.NewWriter(ctx, "path/to/file.txt")
w.Write([]byte("hello"))
w.Close()
// Read
r, _ := backend.NewReader(ctx, "path/to/file.txt")
data, _ := io.ReadAll(r)
r.Close()See omnistorage/README.md for full documentation including S3-compatible services (R2, MinIO, Wasabi).
import (
aws "github.com/plexusone/omni-aws/omnivault"
)
// Create Secrets Manager provider
provider, err := aws.NewSecretsManager(aws.Config{
Region: "us-east-1",
})
// Get a secret
secret, err := provider.Get(ctx, "prod/database/credentials")
fmt.Println("Password:", secret.Value)
fmt.Println("Username:", secret.Fields["username"])
// Or use Parameter Store
ssmProvider, err := aws.NewParameterStore(aws.Config{
Region: "us-east-1",
})
param, err := ssmProvider.Get(ctx, "/myapp/prod/api-key")See omnivault/README.md for full documentation including IRSA, versioning, and rotation.
import (
"github.com/plexusone/omnimemory"
"github.com/plexusone/omnimemory/core"
_ "github.com/plexusone/omni-aws/omnimemory/dynamodb"
)
// Create DynamoDB-backed memory client
client, err := omnimemory.NewClient(core.ClientConfig{
Providers: []core.ProviderConfig{
{
Name: core.ProviderNameAWSDynamoDB,
Options: map[string]any{
"table_name": "omnimemory",
"region": "us-east-1",
},
},
},
})
// Add a memory
memory, err := client.Add(ctx, &core.AddRequest{
Context: core.Context{
TenantID: "tenant-123",
SubjectID: "user-456",
},
Type: core.MemoryTypeObservation,
Content: "User prefers dark mode interfaces",
})
// Search memories
results, err := client.Search(ctx, &core.SearchRequest{
Context: core.Context{
TenantID: "tenant-123",
SubjectID: "user-456",
},
Query: "interface preferences",
Limit: 10,
})See omnimemory/README.md for full documentation including local development, TTL, and multi-tenancy.
import (
kiro "github.com/plexusone/omni-aws/omnidevx"
core "github.com/plexusone/omnidevx-core"
)
collector, err := kiro.New(kiro.Config{})
result, err := collector.Collect(ctx, core.CollectRequest{
Subject: core.SubjectRef{PersonID: "person:jane"},
})The Kiro collector reads local Kiro CLI history from the OS-specific
data.sqlite3 path and optional ~/.kiro_sessions snapshots, then emits
canonical OmniDevX events for storage and reporting.
See docs/omnidevx for details on local paths, estimated token accounting, and event mapping.
MIT