feat: use LLM to name agents automatically on ingestion (issue #33) - #38
Closed
JabbaKadabra wants to merge 1 commit into
Closed
Conversation
) - Add Name property to IAgent, Agent, AgentEntity, AgentConfig - Add EF migration for Agent.Name column (max 200 chars) - Add IAgentNamingService / AgentNamingService: calls the provider's LLM endpoint with a lightweight prompt to generate a 2-5 word name; falls back to heuristic (truncated system message) on failure - Update IAgentRepository.GetOrCreateAsync to accept a nameFactory Func called only when a new agent is created, keeping the existing agent path unchanged - Wire naming service into AgentCallIngestionService - Expose Name in AgentDto and AgentsController - Add Name to demo data seed files and AgentSeedData record - Add tests: NameIsSetFromFactory, ExistingAgent_NameFactoryNotCalled Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
JabbaKadabra
deleted the
feature/issue-33-ingestion-use-llm-to-name-an-agent-automatically
branch
April 29, 2026 18:04
JabbaKadabra
added a commit
that referenced
this pull request
Jul 27, 2026
CodeQL flagged two `cs/log-forging` sites (alerts #38, #39). The request line cannot carry a raw newline, but a percent-encoded one survives URL decoding: `/x%0D%0AINFO:%20admin%20logged%20in` reaches `Request.Path` as two lines, and a flat-file or console sink renders the second as a log entry of its own. Add `ToSingleLogLine()` in Proxytrace.Common.Text and apply it at both sites — the "response already started" warning in ExceptionHandlingMiddleware and the missing-Passthrough-scope warning in OpenAiProxyController. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DusPcXLc8APo1tUWKDHjmW
JabbaKadabra
added a commit
that referenced
this pull request
Jul 27, 2026
Sweeps the seven pre-existing `cs/log-forging` alerts (#15–#21) with the `ToSingleLogLine()` helper added for #38/#39: the upstream-failure warnings in OpenAiProxyController and TraceyChatController, the Not-implemented sibling in ExceptionHandlingMiddleware, the two TestSupportController message logs, and both password-reset fallback warnings in PasswordResetService. These sites are on master rather than new to this branch, so they were not blocking the merge — but they are the same defect and are now shipped code, hence the CHANGELOG entry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DusPcXLc8APo1tUWKDHjmW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Nameproperty toIAgent(domain, storage, DTO, API)AgentNamingServicecalls the provider's OpenAI-compatible endpoint with a lightweight prompt to generate a 2–5 word name for the agent; gracefully falls back to truncated system message text if the LLM call failsIAgentRepository.GetOrCreateAsyncaccepts anameFactorydelegate that is called only when a new agent is created — existing agents are unaffectedAgentSeedDataand JSON files updated accordinglyNamecolumn (max 200 chars) toAgentEntityTest plan
GetOrCreateAsync_NameIsSetFromFactoryandGetOrCreateAsync_ExistingAgent_NameFactoryNotCalledCloses #33
🤖 Generated with Claude Code