diff --git a/pkg/agentic/prep.go b/pkg/agentic/prep.go index 34bf719..5ee1aed 100644 --- a/pkg/agentic/prep.go +++ b/pkg/agentic/prep.go @@ -215,6 +215,7 @@ func (s *PrepSubsystem) OnStartup(ctx context.Context) core.Result { c.Action("session.list", s.handleSessionList).Description = "List sessions with optional plan or status filters" c.Action("session.continue", s.handleSessionContinue).Description = "Continue a session from its latest saved context" c.Action("session.end", s.handleSessionEnd).Description = "End a session with status and summary" + c.Action("session.complete", s.handleSessionEnd).Description = "Mark a session completed with status, summary, and handoff notes" c.Action("session.log", s.handleSessionLog).Description = "Append a typed work-log entry to a stored session" c.Action("session.artifact", s.handleSessionArtifact).Description = "Record a created, modified, deleted, or reviewed artifact for a session" c.Action("session.handoff", s.handleSessionHandoff).Description = "Pause a session with handoff notes for the next agent" diff --git a/pkg/agentic/prep_test.go b/pkg/agentic/prep_test.go index 69eb545..c0b5213 100644 --- a/pkg/agentic/prep_test.go +++ b/pkg/agentic/prep_test.go @@ -501,6 +501,7 @@ func TestPrep_OnStartup_Good_RegistersSessionActions(t *testing.T) { assert.True(t, c.Action("session.list").Exists()) assert.True(t, c.Action("session.continue").Exists()) assert.True(t, c.Action("session.end").Exists()) + assert.True(t, c.Action("session.complete").Exists()) assert.True(t, c.Action("session.log").Exists()) assert.True(t, c.Action("session.artifact").Exists()) assert.True(t, c.Action("session.handoff").Exists()) @@ -653,6 +654,7 @@ func TestPrep_RegisterTools_Good_RegistersCompletionTool(t *testing.T) { } assert.Contains(t, toolNames, "agentic_complete") + assert.Contains(t, toolNames, "session_complete") assert.Contains(t, toolNames, "agentic_message_send") assert.Contains(t, toolNames, "agentic_message_inbox") assert.Contains(t, toolNames, "agentic_message_conversation") diff --git a/pkg/agentic/session.go b/pkg/agentic/session.go index 0c5787e..b5afafc 100644 --- a/pkg/agentic/session.go +++ b/pkg/agentic/session.go @@ -326,6 +326,11 @@ func (s *PrepSubsystem) registerSessionTools(server *mcp.Server) { Description: "End a session with status, summary, and optional handoff notes.", }, s.sessionEnd) + mcp.AddTool(server, &mcp.Tool{ + Name: "session_complete", + Description: "Mark a session completed with status, summary, and optional handoff notes.", + }, s.sessionEnd) + mcp.AddTool(server, &mcp.Tool{ Name: "session_log", Description: "Add a typed work log entry to a stored session.",