Repository navigation
0.9.0
·
2 commits
to master
since this release
Included commits: 0.8.6...0.9.0
Improvements
- Introduced
AiFoundationClientInterface::streamPrompt()to let storefront features stream AI replies token by token directly from the Client layer, with a bounded tool-call loop, chat history persistence, and AI interaction logging per turn. - Introduced
AiFoundationClientInterface::deleteConversationHistoryCollection()to let storefront features remove the stored conversation of a customer. - Introduced
AiFoundationFacadeInterface::initChatSession()to resolve an allowlisted AI configuration together with the stored chat history in a single call. - Introduced
AiFoundationFacadeInterface::saveConversationHistoryCollection()to persist the chat history of one or more conversation references in one transaction. - Introduced
AiFoundationFacadeInterface::deleteConversationHistoryCollection()to remove the persisted chat history of the given conversation references. - Introduced
AiFoundationConfig::getClientResolvableAiConfigurationNames()to let projects allowlist the AI configurations a storefront caller may resolve, keeping other configurations inaccessible from the Client layer. - Introduced
initChatSessionAction(),saveConversationHistoryCollectionAction(),deleteConversationHistoryCollectionAction(), andcreateAiInteractionLogCollectionAction()inGatewayControllerto expose the chat session, chat history, and audit log operations to the Client layer. - Introduced the Client tool plugin stack via
AiFoundationDependencyProvider::PLUGINS_AI_TOOLwithClient\AiFoundation\Dependency\Tools\ToolPluginInterfaceandToolParameterInterface, so storefront features can expose AI tools without a Zed round trip. - Introduced
AiFoundationDependencyProvider::PLUGINS_PRE_TOOL_CALLandAiFoundationDependencyProvider::PLUGINS_POST_TOOL_CALLwithPreToolCallPluginInterfaceandPostToolCallPluginInterfaceon the Client layer to let projects approve, block, or observe every tool call made during a streamed prompt. - Introduced
AiFoundationDependencyProvider::PLUGINS_POST_PROMPTwithPostPromptPluginInterfaceto let projects react after a streamed prompt turn completed. - Introduced
AiFoundationDependencyProvider::PLUGINS_STREAM_EVENTwithStreamEventPluginInterfaceto let projects deliver stream chunks to the customer, for example over server-sent events. - Introduced
AiFoundationDependencyProvider::PLUGIN_VENDOR_PROVIDERwithVendorProviderPluginInterfaceandNeuronAiVendorProviderPluginto let projects replace the Client-side AI vendor adapter. - Introduced
AiInteractionAuditLogPostPromptPluginandAiInteractionAuditLogPostToolCallPluginto write an AI interaction log entry for every storefront prompt and tool call. - Introduced
AiInteractionAuditLoggerConfigPluginto configure the AI interaction audit log channel on the Client layer. - Introduced
AiFoundationConstants::PROVIDER_OPENAI_RESPONSESto support the OpenAI Responses API, which is required to combine tools with reasoning and to stream reasoning summaries. - Introduced the
additionalModelRequestFieldsoption of thebedrockprovider configuration, which is forwarded to every Bedrock Converse request. - Introduced the
ToolParameterTypeandPromptStreamChunkTypeenums to describe tool parameter types and stream chunk types consistently across the Client and Zed layers. - Introduced
AiConfiguration,ChatSessionRequest,ChatSessionResponse,ConversationHistoryCollectionRequest,ConversationHistoryCollectionDeleteCriteria,ConversationHistoryCollectionResponse, andPromptStreamChunktransfers to carry the chat session, chat history, and streaming data. - Added
PromptRequestTransfer.systemPromptto let a caller override the system prompt of the resolved AI configuration per request. - Added
PromptRequestTransfer.toolNamesto let a caller select individual tools from the Client-side tool plugin stack. - Added
PromptResponseTransfer.streamedContentto return the accumulated reply, including the partial reply when a stream ended early. - Added
ToolInvocationTransfer.isSuccessfulto show whether a tool execution completed successfully. - Added
AiToolCallTransfer.toolCallIdto pass the provider-generated tool call identifier to the pre- and post-tool-call plugins. - Added
spryker/logto the module requirements to support AI interaction audit logging.
Adjustments
- Adjusted
ToolParameterInterface::getType()on the Zed layer to resolve its value againstToolParameterType, falling back toToolParameterType::Stringfor an unknown value. - Adjusted the
spy_ai_conversation_history.original_messagescolumn type fromLONGVARCHARtoCLOBso that long conversations within the configured context window are no longer truncated.
Fixes
- Fixed tool execution so that a tool blocked by a pre-tool-call plugin returns an explicit skip result instead of an empty one, preventing the model from reacting to a missing tool result.