- Introduced new enums for execution phases, clock modes, delivery types, and statuses to enhance clarity and structure.
- Updated the `Clock` struct to use the new `ClockMode` type, improving type safety and readability.
- Revised the `Resources` struct to utilize a map for phases, allowing for more flexible resource management.
- Enhanced the `Delivery` struct to incorporate the new `DeliveryType` enum, clarifying output options.
- Updated the design document to reflect these changes, improving overall organization and understanding of the agent's operational context.
- Revised the description of the daemon mode to reflect its use cases as "research analyst" and "market monitor."
- Updated configuration examples to align with the new terminology, enhancing clarity on the agent's operational context.
- Corrected terminology for keywords in the P0 and P1 phases to improve consistency and understanding of the target audience.
- Added a new execution phase (P3) detailing the article's execution and publication process, providing a clearer overview of the agent's tasks.
- Changed terminology from "Schedule" to "Clock" throughout the document to reflect the new trigger type.
- Revised flowcharts and diagrams to incorporate the clock context, clarifying the agent's operational phases based on time.
- Updated configuration examples and descriptions to align with the new clock trigger settings, enhancing clarity on how agents operate under different timing modes.
- Improved documentation for the Inspiration phase to specify its reliance on clock context, ensuring better understanding of the agent's decision-making process.
- Added a decision point for triggers in the execution flow diagram, clarifying the paths for schedule and human/event triggers.
- Revised the connections in the flowchart to reflect the new structure, ensuring a clear distinction between the Inspiration phase and goal generation based on trigger types.
- Enhanced the overall clarity of the document by improving the representation of the agent's operational phases.
- Revised the execution flow diagrams to clearly differentiate between schedule and human/event triggers, enhancing understanding of the agent's operational phases.
- Updated the P0: Inspiration phase to specify it operates under a schedule-only context, while human/event triggers directly generate goals.
- Improved the documentation for each phase, adding clarity on input and output expectations, particularly for the Inspiration phase.
- Enhanced the overall structure of the document to better reflect the distinct paths of execution based on trigger types.
- Revised the document to enhance clarity by updating section titles and terminology, such as changing "Overview" to "What is it?" and "Key Characteristics" to "Key points."
- Streamlined the architecture section, renaming components for consistency and clarity, including changes to trigger sources and agent management terminology.
- Updated execution flow diagrams and descriptions to reflect the new structure, improving understanding of the agent's operational phases.
- Enhanced the configuration section to provide a clearer overview of triggers, scheduling, and resource management, ensuring better organization throughout the document.
- Revised the document to enhance clarity by reorganizing sections and improving terminology, such as changing "Core Features" to "Key Characteristics."
- Introduced a new architecture section detailing the system's trigger sources and their integration with the agent manager.
- Updated the execution flow and lifecycle diagrams to reflect the new structure and added detailed descriptions for each phase of the agent's operation.
- Enhanced the configuration section to include a comprehensive overview of triggers, scheduling, and resource management, improving the overall organization of the document.
- Added a new section detailing the configuration of trigger sources for AI members, including default settings and an example YAML configuration.
- Updated the execution flow diagram to reflect the configurable nature of trigger sources, incorporating a check for trigger enablement.
- Refactored the AI member configuration structure to include a dedicated triggers section, improving clarity and organization of the configuration options.
- Introduced detailed execution flow and sequence diagrams using Mermaid to illustrate the autonomous agent's operational phases.
- Added a comprehensive AI member lifecycle diagram, outlining the states and transitions of AI members within the system.
- Enhanced the design document to improve clarity and understanding of the agent's execution process and lifecycle management.
- Revised the design document to improve clarity in the deduplication timing table format.
- Updated the `Resources` struct to include a new `Inspiration` phase and adjusted the descriptions for existing phases.
- Enhanced the `ExecutionPhase` constants to reflect the new phase structure, adding a `PhaseLearning`.
- Improved the documentation for the private knowledge base categories and the Activity Monitor API features for better readability.
- Introduced new types for alert rules and actions in the monitoring configuration, expanding the alerting capabilities.
- Improved the asynchronous initialization of the knowledge base (KB) collection post user login, ensuring a smoother user experience.
- Refined the GetDocumentsContent method to enhance document retrieval capabilities, supporting various file types and improving overall efficiency.
- Updated related API interfaces to reflect these enhancements, ensuring consistency across document management functionalities.
- Removed dependency on KB configuration in tests, as KB collections are now created during user login.
- Updated test cases to reflect new initialization scenarios, ensuring they handle various conditions gracefully.
- Renamed test functions for clarity, emphasizing the focus on initialization rather than collection creation.
- Removed the synchronous preparation of the knowledge base (KB) collection from the InitializeConversation method, now initializing it asynchronously after user login.
- Introduced a new method, GetDocumentsContent, to retrieve content for multiple documents by their IDs, supporting text-based files and improving document handling.
- Updated the API interface to include the new GetDocumentsContent method, enhancing the document management capabilities.
- Enhanced locale handling in the login context to support user preferences during KB collection creation.
- Updated the ResolveScript function to support an additional script format, allowing for sub-agent paths in the input.
- Improved error messaging for invalid script paths to clarify expected formats.
- Refactored path building logic to accommodate both standard and sub-agent script structures, enhancing flexibility in script resolution.
- Modified the test runner to validate results using an asserter that includes the response for tool_called assertions, improving test accuracy.
- Updated iframe documentation to remove token handling from the setup message, clarifying the focus on theme and locale.
- Added a new section in MCP documentation detailing HTTP transport configuration for API access, enhancing clarity on authorization.
- Revised frontend API documentation to standardize method naming by removing the 'Api' prefix in examples, improving consistency across backend calls.
- Enhanced event handling documentation by updating method names in examples, ensuring alignment with the new naming conventions.
- Added a new section in the README for Iframe Integration, providing an overview of iframe communication with CUI.
- Expanded the pages documentation to include frontend scripting styles and examples for handling form submissions and backend API calls.
- Introduced detailed examples for parent communication and receiving context in iframes, improving clarity on how to implement these features.
- Added a new section in the MCP documentation detailing the directory structure for assistants, enhancing clarity on how to define namespaced MCP servers.
- Included examples of using assistant models within MCP tools, providing guidance on referencing models in tool configurations.
- Updated the README to include a link to the new Models documentation, improving navigation and resource accessibility for users.
- Added examples for using action messages to navigate pages in the sidebar during conversations, improving user guidance.
- Reformatted HTML and markdown tables for better readability and consistency across documentation.
- Updated input fields and variable descriptions to enhance clarity and usability in the agent documentation.
- Revised the API access endpoint in the agent documentation to reflect the new structure.
- Expanded examples for agent hooks, database queries, and MCP tools, providing clearer guidance for users.
- Updated MCP tool configuration to use 'label' instead of 'name' and refined transport types for better clarity.
- Introduced input schema definitions for process transport tools, enhancing the documentation on tool mapping and error handling.
- Updated the Agent API documentation to reflect a new structure, emphasizing quick start instructions and reorganizing content for better readability.
- Renamed the main documentation title to "Yao Agent" and streamlined sections, including API endpoints and file management.
- Adjusted the SUI documentation to align with the Yao App Engine license, ensuring consistency across project documentation.
- Added logic to skip internal message types ("tool_call", "loading", "action", "event") during LLM context conversion to prevent confusion, while retaining "error" messages for troubleshooting purposes.
- Improved clarity in the handling of message types to ensure only relevant content is processed for LLM interactions.
- Added support for parsing various file types (PDF, DOCX, PPTX) in the content processing pipeline, allowing for more flexible content extraction.
- Implemented a new method to convert file attachments to raw text when content parsing is skipped, improving performance for internal calls.
- Introduced loading message suppression for image processing to enhance user experience during PDF analysis.
- Updated the PDF handler to cache processed text and manage loading messages effectively, ensuring smoother interactions during content retrieval.
- Enhanced error handling and logging for PDF processing, improving traceability and debugging capabilities.
- Updated the BuildContent method to utilize content parsing with improved error handling and context injection, enhancing the processing of user input.
- Refactored the loadMap function to support multiple search configuration types, improving flexibility in handling search settings.
- Enhanced the shouldAutoSearch method to include a check for search disabling via context metadata, allowing for more granular control over search behavior.
- Updated the getMergedSearchUses method to prioritize options.Uses, ensuring that search configurations can be dynamically adjusted based on provided options.
- Removed deprecated audio and excel handling code, streamlining the content processing package and improving maintainability.
- Removed unnecessary semicolon in the buildStandardResponse method, aligning with Go's idiomatic style.
- Improved code readability by ensuring consistent formatting in the handling of the NextResponse variable.
- Updated the buildStandardResponse method to assign the NextResponse to a variable only if it is not nil, improving code clarity and preventing potential nil pointer dereferences.
- This change enhances the robustness of the response building process in the Assistant's delegation handling.
- Added skip statements to multiple test functions in search_web_test.go that require external API keys (Tavily, Serper, SerpAPI), preventing them from running until the necessary credentials are available.
- Updated comments to clarify the reason for skipping these tests, enhancing documentation for future development and testing efforts.
- Added skip statements to multiple test functions in jsapi_search_test.go that require an external API key (Tavily/Serper), preventing them from running until the necessary credentials are available.
- Updated comments to indicate the reason for skipping these tests, enhancing clarity for future development and testing efforts.
- Updated the Stream method to include options for handling message history and context more effectively, ensuring original messages are preserved for autoSearch and delegation.
- Introduced a new buildContextMessage function to consolidate conversation context, filtering out system messages and limiting to the last five user messages for efficiency.
- Enhanced content processing by adding a convertToContentParts function to handle different content formats, improving compatibility with historical data.
- Improved logging and error handling in the executeLLMStream method to ensure clarity in LLM request tracing and response handling.
- Added new utility functions for extracting text content and building context messages, enhancing overall code clarity and maintainability.
- Updated the BufferUserInput method to ensure only the root stack buffers user input, preventing duplication in delegated agents.
- Added comments in the Stream and processNextResponse methods to clarify that user input is already buffered by the root agent, allowing delegated agents to skip this step.
- Improved code clarity and maintainability by documenting delegation behavior in the context of user input handling.
- Introduced delegation functionality in the Create hook, allowing agents to route requests to sub-agents without invoking LLM processing.
- Updated the HookCreateResponse structure to include a Delegate field, enabling immediate delegation to another agent.
- Enhanced the Stream method to handle delegation responses, ensuring proper stream closure and error handling for delegated agents.
- Improved logging for delegation actions to facilitate debugging and traceability in agent interactions.
- Added support for `tool_called` and `tool_result` assertions in the Asserter, allowing for validation of tool execution and arguments.
- Introduced methods to check if specific tools were called and to validate their results against expected patterns.
- Updated the `README.md` to include detailed documentation on new assertion types, including usage examples and value formats.
- Enhanced the dynamic runner to set the response for tool-related assertions, improving the overall testing framework's capabilities.
- Introduced `ValidateWithDetails` method in the Asserter to provide comprehensive results for agent assertions, including failure messages and validation criteria.
- Updated `checkCheckpoints` to utilize the new validation method, enhancing the checkpoint validation process with detailed agent validation results.
- Enhanced `CheckpointResult` structure to include `AgentValidationResult`, capturing the agent's response and validation details.
- Expanded documentation in README.md to explain the new validation process and output structure for agent assertions, ensuring clarity on the validation workflow and expected results.
- Added support for tool call responses in the agent's response structure, allowing for better handling of tool execution results.
- Updated the `TurnResult` and `TurnResponse` types to include full agent responses, including tool call details and next hook data.
- Improved dynamic test execution by ensuring consistent chat session state across turns, enhancing the overall testing framework's capabilities.
- Enhanced documentation in README.md to reflect changes in response structure and dynamic testing output format.
- Changed the default timeout value from 5 minutes to 2 minutes in the codebase and updated relevant sections in DESIGN_V2.md and README.md to reflect this change.
- Enhanced error handling in dynamic integration tests to account for both max turns exceeded and goal achieved scenarios without checkpoints.
- Improved formatting in the documentation for better clarity and consistency.
- Added detailed sections on Before/After hooks, including types, execution order, and function signatures.
- Provided examples for common use cases such as database setup/teardown and conditional setup based on metadata.
- Clarified parameters for hook functions, improving guidance for users on implementing hooks in their tests.
- Enhanced overall documentation to support better understanding of the testing framework's capabilities.
- Expanded the input format section to include comprehensive examples organized by scenario, covering various testing cases such as simple text input, assertions, conversation history, and dynamic mode.
- Added scenarios demonstrating the use of file attachments, agent-driven assertions, and options for test configuration.
- Improved clarity on the structure and requirements for JSONL input, ensuring users have clear guidance on how to format their test cases effectively.
- Removed outdated TODO_V2.md file to streamline documentation and focus on the updated README content.
- Updated the introduction to clarify the framework's capabilities, emphasizing support for standard testing, dynamic testing, agent-driven assertions, and CI integration.
- Revised section headers for better organization, changing "Agent Tests" to "Standard Tests" and adding new sections for "Agent-Driven Input" and "Dynamic Mode."
- Included detailed examples for generating test cases using agents and running dynamic tests with simulators.
- Improved clarity on input modes and script test modes, ensuring users understand the requirements and options available for testing.
- Added notes on the importance of the `-n` flag for agent-driven input mode and clarified the distinction between script and agent-driven test case generation.
- Introduced dynamic testing capabilities, allowing for multi-turn conversations with checkpoints through the new `DynamicRunner`.
- Enhanced the `runSingleTest` method to support dynamic mode, including the execution of before/after scripts and detailed output for dynamic test results.
- Added new output methods in `output.go` for dynamic test start, turns, checkpoints, and results, improving console feedback during testing.
- Updated `DESIGN_V2.md` and `TODO_V2.md` to reflect the new dynamic mode features, including simulator configurations and checkpoint definitions.
- Revised the `Case` struct in `types.go` to include fields for dynamic testing, such as `Simulator`, `Checkpoints`, and `MaxTurns`.
- Added support for generating test cases using agents and scripts through the new `LoadFromAgent` and `LoadFromScript` methods in the loader.
- Enhanced the `RunTests` method to handle different input sources, including agent-driven and script-based test case generation.
- Introduced a `--dry-run` flag to allow users to preview generated test cases without executing them.
- Updated relevant documentation in DESIGN_V2.md and TODO_V2.md to reflect the new features and implementation status.
- Added support for agent-driven assertions in the Asserter, allowing validation of responses using specified agents.
- Introduced the `Use` and `Options` fields in the Assertion struct to facilitate agent configuration.
- Enhanced the `evaluateAssertion` method to handle assertions of type "agent".
- Implemented the `assertAgent` method to manage agent interactions and validation logic.
- Updated `script_assert.go` to include the `assertAgentMethod` for JavaScript API integration.
- Revised documentation in DESIGN_V2.md and TODO_V2.md to reflect the new agent-driven assertion capabilities and implementation status.
- Updated DESIGN_V2.md to reflect changes in the handling of before/after scripts, removing the `scripts:` prefix and clarifying their usage in JSONL test cases.
- Enhanced runner.go to integrate global before/after hooks, ensuring they execute correctly before and after test cases.
- Revised types.go to include new fields for before/after scripts in test case and options structures.
- Improved TODO_V2.md to track the implementation progress of before/after script functionality and related tasks.
- Added utility function LoadAgentTestScripts to facilitate loading of test scripts from the agent's src directory.
- Added `UPGRADE_PLAN.md` to .gitignore to exclude the new upgrade plan documentation from version control.
- Revised TODO_V2.md to include a detailed implementation plan for the Agent Test Framework, outlining phases for before/after scripts, agent-driven assertions, and dynamic mode features.
- Improved overall documentation clarity to facilitate understanding of upcoming enhancements and tasks within the framework.
- Updated DESIGN_V2.md to introduce support for `before` and `after` scripts in JSONL test cases, detailing their usage and execution order.
- Added examples for defining and utilizing before/after functions, including global initialization and cleanup processes.
- Revised TODO_V2.md to outline tasks for implementing before/after script functionality, ensuring clarity on remaining development efforts.
- Improved overall documentation to facilitate understanding of the new scripting capabilities in the Agent Test Framework.
- Revised DESIGN_V2.md to clarify output formats for console and JSON, including detailed descriptions for standard, dynamic, and parallel modes.
- Updated the console output sections to provide clearer examples and summaries of test results, enhancing readability and usability.
- Modified TODO_V2.md to reflect the change from JSONL to JSON output format for message counts, ensuring consistency in documentation.
- Improved overall documentation to support better understanding of output handling in the Agent Test Framework.
- Revised DESIGN_V2.md to clarify the `input` field's capabilities, allowing for string, single message, or message array formats for conversation context.
- Updated the test case format to reflect the new `input` structure, ensuring compatibility with existing single-turn tests.
- Enhanced TODO_V2.md to indicate the completion of message history support and outline remaining tasks, including options field support and JSONL output format updates.
- Improved documentation to ensure clarity on the new input handling and its implications for agent-driven testing.
- Updated DESIGN_V2.md to introduce message history support in the Agent Test Framework, allowing tests to simulate multi-turn conversations without complex state management.
- Revised the test case format to include a `messages` field, enabling the passing of full conversation history directly to the agent.
- Enhanced TODO_V2.md to outline tasks for implementing message history support, including updates to the test case parser and output formats.
- Improved documentation on agent-driven assertions and error handling to reflect the new capabilities and ensure clarity for developers.
- Added detailed sections on Static and Dynamic modes in DESIGN_V2.md, outlining their characteristics and execution flows for multi-turn testing.
- Introduced a Quick Reference table for format rules, clarifying the usage of flags and assertions in test cases.
- Updated TODO_V2.md to reflect tasks for implementing mode support, including the addition of checkpoints and handling of order constraints in dynamic testing.
- Improved documentation for error handling in both static and dynamic modes, ensuring clarity on expected behaviors during test execution.
- Corrected references in DESIGN_V2.md to ensure consistent usage of agent identifiers, including updates to input sources and simulator configurations.
- Enhanced the documentation in TODO_V2.md with a summary of format rules for agent testing, clarifying the usage of prefixes for various contexts and options.
- Added tasks related to the dynamic simulator implementation and metadata handling to guide future development efforts.
- Updated the DESIGN_V2.md file to clarify the usage of agent-driven assertions in JSONL test cases, including detailed examples and API specifications.
- Introduced a new section on script testing with agent assertions, outlining the implementation and usage of the `t.assert.Agent()` method.
- Modified the TODO_V2.md file to reflect the addition of JSONL support for agent assertions and outlined tasks for further development in this area.
- Introduced a comprehensive standard agent interface for agent-driven features, including generator, simulator, and validator modes.
- Added support for `context.Options` to pass parameters in test cases, allowing for flexible configuration of agent behavior.
- Updated test case format to include options at both the test and per-turn levels, enhancing customization and control over agent interactions.
- Expanded documentation to detail the usage of options in various agent modes, improving clarity for developers and users.