Repository navigation
Releases: AppsDevTeam/ai-chat
Releases · AppsDevTeam/ai-chat
Release list
v0.11.0: 0.11: zastavení odpovědi, timeout podle aktivity, subagenti
- user.interrupt přes ConversationTurnMonitor / ChatEndpoint::cancel, přerušená odpověď se uloží (interrupted) a konverzace pokračuje ve stejné session
- místo maxPolls idleTimeoutSeconds (dotaz na stav session) a maxTurnSeconds, maxToolCalls po vláknech
- čtení událostí od nejnovější s stránkováním (dlouhé session nad 1000 událostí)
- multiagent coordinator {type: self} (AgentProvisioner subagents), karty subagentů ve widgetu
- widget: tlačítko Stop, živé subagenty, timeout podle aktivity workeru
v0.10.1
v0.10.0
v0.9.2
v0.9.1
v0.9.0
v0.8.0: Model selection, thinking effort and conversation rating (0.8)
ModelSelection lists the models and effort levels a user may pick for a conversation. The choice is stored on the conversation and sent as a per-session override of the agent (agent_with_overrides); it is locked after the first message, because a session cannot switch models. The context gauge uses the window of the chosen model. The owner can rate a conversation (thumbs up / down + an optional comment) via ChatService::rateConversation() and ChatEndpoint::rate(); a read-only view shows the rating. The widget gets the model and effort selects, the rating box and `params` (+ setParams()) for extra request parameters. BC break: ManagedAgentsClient::createSession() has a 4th parameter $model, ConversationInterface new accessors and the conversation table five new columns - see "Upgrading to 0.8".
v0.7.0: Provision the agent lazily before a new session
AgentProvisioner::resolver() creates the agent when the schema has none and updates it when the system prompt or the tools changed, detected by a fingerprint stored on the mapping (AgentTrait::$fingerprint, new nullable column). An unchanged agent costs no API call, so a deploy needs neither an API key nor a call to Anthropic, and a broken key of one tenant fails only that tenant's chat. ensureProvisioned() keeps updating unconditionally unless force: false.
v0.6.1
v0.6.0: Client: API key from a provider asked on every request
GuzzleManagedAgentsClient takes either a fixed key or a Client\ApiKeyProvider, for applications where every tenant enters its own key. The x-api-key header is now set per request instead of in the HTTP client defaults, so a long-running queue consumer picks up a changed key without a restart.