ba919305c2
Features: - Unified Go binary running Task Service, Agent Manager, and Orchestrator - SQLite persistence for boards, columns, and tasks - Docker-based agent execution with ACP message streaming - Augment Agent integration with session resumption support - RESTful API for all operations (port 8080) - In-memory event bus for service communication Architecture: - cmd/kandev: Single entry point for all services - internal/task: Task, board, and column management - internal/agent: Docker container lifecycle and ACP streaming - internal/orchestrator: Agent coordination and monitoring - internal/events: In-memory pub/sub event bus Documentation: - README.md: Project overview and quick start - docs/ARCHITECTURE.md: System architecture (current + planned) - docs/GETTING_STARTED.md: Development setup guide - docs/IMPLEMENTATION_PLAN.md: Original microservices plan - backend/NEXT_STEPS.md: Development roadmap
26 lines
533 B
Go
26 lines
533 B
Go
package bus
|
|
|
|
import "github.com/nats-io/nats.go"
|
|
|
|
// natsSubscription wraps a NATS subscription to implement the Subscription interface
|
|
type natsSubscription struct {
|
|
sub *nats.Subscription
|
|
}
|
|
|
|
// Unsubscribe removes the subscription from the server
|
|
func (s *natsSubscription) Unsubscribe() error {
|
|
if s.sub == nil {
|
|
return nil
|
|
}
|
|
return s.sub.Unsubscribe()
|
|
}
|
|
|
|
// IsValid returns whether the subscription is still active
|
|
func (s *natsSubscription) IsValid() bool {
|
|
if s.sub == nil {
|
|
return false
|
|
}
|
|
return s.sub.IsValid()
|
|
}
|
|
|