You've already forked agentic-coding-workflow
feat(mcp,acp): Repository.WithTx + acp.Repository.InTx
Cross-module transactional support for spec §6.1: ACP CreateSession must atomically insert acp_sessions row + mcp_tokens row (FK NOT NULL). - mcp.Repository.WithTx(tx) -> Repository (tx-bound, no pool) - acp.Repository.InTx(ctx, fn) -> error (pgx.BeginFunc wrapper) - acp.Repository.WithTx(tx) -> Repository (tx-bound) - Update fakeRepos in test files to satisfy new interface methods Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
|
||||
@@ -112,6 +113,14 @@ func (f *fakeEventRepo) PurgeEventsBefore(context.Context, time.Time) (int64, er
|
||||
panic("n/a")
|
||||
}
|
||||
|
||||
func (f *fakeEventRepo) InTx(context.Context, func(context.Context, pgx.Tx) error) error {
|
||||
panic("n/a")
|
||||
}
|
||||
|
||||
func (f *fakeEventRepo) WithTx(pgx.Tx) acp.Repository {
|
||||
return f
|
||||
}
|
||||
|
||||
// relayTestRig wires up a Relay with two io.Pipe pairs that simulate the agent
|
||||
// subprocess. Returns:
|
||||
// - r: the relay under test
|
||||
|
||||
Reference in New Issue
Block a user