This commit captures the current state before implementing the composable monorepo template system. Key changes included: Infrastructure: - Add CockroachDB provisioner adapter for database provisioning - Add Redis provisioner adapter for cache provisioning - Add build events system with PostgreSQL storage - Add WebSocket endpoint for real-time build progress Code agent improvements: - Fix Claude Code adapter to use default allowed tools instead of dangerously-skip-permissions - Add context-aware stream closing for cancellation support - Improve parser tests for edge cases Build system: - Add build event constants and metrics - Remove deprecated git_operations.go (replaced by pod_git_operations.go) - Add rollback logic for multi-step provisioning operations Documentation: - Add composable-monorepo feature documentation - Add DNS/Cloudflare service documentation - Update deployment and troubleshooting guides Cookbooks: - Add fullstack-app cookbook - Refactor landing-test with shared library Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
25 lines
855 B
Go
25 lines
855 B
Go
package port
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/orchard9/rdev/internal/domain"
|
|
)
|
|
|
|
// BuildEventStore defines persistence operations for build events.
|
|
// Used for SSE reconnection replay when in-memory buffer is exhausted.
|
|
type BuildEventStore interface {
|
|
// Record stores a build event for later replay.
|
|
Record(ctx context.Context, event *domain.BuildEvent) error
|
|
|
|
// ListByTask retrieves events for a task, optionally after a sequence number.
|
|
// If afterSequence > 0, only events with sequence > afterSequence are returned.
|
|
// Results are ordered by sequence ascending.
|
|
ListByTask(ctx context.Context, taskID string, afterSequence int64) ([]*domain.BuildEvent, error)
|
|
|
|
// Cleanup removes events older than the specified age.
|
|
// Returns the number of events deleted.
|
|
Cleanup(ctx context.Context, olderThan time.Duration) (int64, error)
|
|
}
|