Implements the foundational layer that all SynapBus features depend on: - internal/storage: SQLite connection manager (WAL mode, busy_timeout, foreign_keys) and embedded migration runner using modernc.org/sqlite - internal/messaging: MessagingService with send, read inbox, claim, mark done/failed, and FTS5 search. SQLite-backed MessageStore with conversation auto-creation and read/unread tracking via inbox_state. - internal/agents: AgentService with register, authenticate (bcrypt), update, deregister, discover by capability. HTTP auth middleware. - internal/mcp: MCP server using mark3labs/mcp-go with 9 registered tools (send_message, read_inbox, claim_messages, mark_done, search_messages, register_agent, discover_agents, update_agent, deregister_agent). SSE transport, health endpoint, connection manager. - internal/trace: Async trace recorder with buffered channel for recording agent actions to SQLite traces table. - cmd/synapbus: Updated main.go wiring storage, migrations, services, MCP server, chi router, and graceful shutdown. All code compiles with CGO_ENABLED=0. Full test suite passes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
614 B
Makefile
32 lines
614 B
Makefile
.PHONY: build test dev web clean lint
|
|
|
|
BINARY := synapbus
|
|
MODULE := github.com/smart-mcp-proxy/synapbus
|
|
BUILD_DIR := bin
|
|
LDFLAGS := -s -w
|
|
|
|
CGO_ENABLED := 0
|
|
|
|
build:
|
|
CGO_ENABLED=$(CGO_ENABLED) go build -ldflags "$(LDFLAGS)" -o $(BUILD_DIR)/$(BINARY) ./cmd/synapbus
|
|
|
|
test:
|
|
CGO_ENABLED=$(CGO_ENABLED) go test ./... -v -count=1
|
|
|
|
dev:
|
|
CGO_ENABLED=$(CGO_ENABLED) go run ./cmd/synapbus serve
|
|
|
|
web:
|
|
cd web && npm install && npm run build
|
|
@echo "Svelte SPA built to internal/web/dist/"
|
|
|
|
clean:
|
|
rm -rf $(BUILD_DIR)
|
|
rm -rf web/node_modules web/build
|
|
rm -rf data
|
|
|
|
lint:
|
|
golangci-lint run ./...
|
|
|
|
.DEFAULT_GOAL := build
|