Repository navigation
[#274] ✨ - Add CLI setup commands for initial configuration - #275
Merged
efraespada merged 59 commits intoNov 16, 2025
Merged
efraespada merged 59 commits into
efraespada merged 59 commits into
Conversation
…issue types Added a new CLI command for initial setup, allowing users to create labels, issue types, and verify access to GitHub and Supabase. This enhancement improves the onboarding process and ensures necessary configurations are in place for optimal functionality. Updated related classes and constants to support the new action, streamlining the setup workflow.
…se issue template Changed the default OpenRouter model from "deepseek/deepseek-chat" to "anthropic/claude-3.5-haiku" in action.yml. Updated the release issue template to reflect the correct team name from "git-board-flow" to "giik". These changes ensure accurate configuration and communication within the project.
…ation' of https://github.com/landamessenger/git-board-flow into feature/274-add-cli-setup-commands-for-initial-configuration
Introduced new inputs for Anthropic API key and model in action.yml. Updated the AI class to handle the new parameters and modified GitHub and local action scripts to utilize these inputs. Enhanced the ThinkUseCase to delegate processing to the Claude model when detected, improving AI operation capabilities. Added necessary constants for the new inputs to streamline integration.
Added new properties for Anthropic API key and model in the Ai class, along with corresponding methods to retrieve them. Updated the constructor to accept these new parameters. Enhanced the ThinkUseCase to validate and utilize the Anthropic model, improving AI processing capabilities. Introduced new constants for the Anthropic API key and model in the constants file, and updated CLI options to support these configurations. This update streamlines the integration of the Anthropic API into the workflow.
…issues Updated the build scripts to exclude the Anthropic Agent SDK from the bundle using the --external flag in ncc. Modified the ThinkAsClaudeUseCase and related files to dynamically import the SDK at runtime, ensuring compatibility with ES module requirements. This change enhances the integration of the SDK while preventing bundling errors, improving the overall functionality of the AI processing capabilities.
…uration Removed fallback logic to standard ThinkUseCase and updated error handling to ensure that the ThinkAsClaudeUseCase explicitly requires a valid Anthropic API key and model configuration. Enhanced logging for better error reporting when the Agent SDK fails to execute. This change streamlines the integration process and clarifies the requirements for using the Anthropic API.
…mmands Added "type": "module" to package.json to enable ES module support. Updated tsconfig.json to use "module": "ESNext" and added "moduleResolution": "node". Refactored CLI scripts to utilize ES module imports, improving compatibility and performance. Enhanced CLI commands for building AI containers and deep code analysis, streamlining user interaction and functionality.
…N_SCHEMA validation Changed the default OpenRouter model in action.yml from "anthropic/claude-3.5-haiku" to "openai/gpt-5-codex". Additionally, updated the THINK_RESPONSE_JSON_SCHEMA to enforce stricter validation by adding required fields and disallowing additional properties in various response structures. These changes improve the configuration accuracy and data integrity within the project.
…sitory and think use case Changed the default OpenRouter model in action.yml from "openai/gpt-5-codex" to "openai/gpt-4.1". Commented out sensitive logging information in the AiRepository to improve security. In the ThinkUseCase, added mechanisms to track read files and prevent reading the same files multiple times, enhancing the reasoning process and providing clearer warnings for users. These changes aim to improve the overall functionality and security of the AI-driven workflows.
…ation' of https://github.com/landamessenger/git-board-flow into feature/274-add-cli-setup-commands-for-initial-configuration
Removed the "type": "module" entry from package.json and changed the module type in tsconfig.json to "commonjs" for compatibility. Updated build scripts to exclude the Anthropic Agent SDK and removed unnecessary files related to the CLI and GitHub action, including action.yml, auth.proto, and various proto files. Enhanced the THINK_RESPONSE_JSON_SCHEMA by adding additionalProperties constraints to improve validation. These changes streamline the project structure and enhance compatibility with existing workflows.
Updated the default OpenRouter model in action.yml from "openai/gpt-4.1" to "openai/gpt-4.1-nano" for improved performance. Refactored the askThinkJson method in AiRepository to support conversation history by accepting an array of messages or a single prompt, enhancing the AI's contextual understanding. Additionally, modified the ThinkUseCase to maintain a conversation history, allowing for more coherent interactions and better error handling during reasoning steps. These changes aim to improve the overall functionality and user experience of the AI-driven workflows.
…logic Modified the THINK_RESPONSE_JSON_SCHEMA to clarify the rules regarding TODO item creation and updates, emphasizing that new TODOs can only be created in the first iteration. Updated the ThinkUseCase to implement stricter handling of TODO updates, ensuring that attempts to create new TODOs after the first iteration are logged but not processed. Enhanced the visual feedback mechanism for the reasoning process, allowing for better tracking of iterations and actions taken. These changes aim to improve the clarity and functionality of the AI-driven workflows.
…status updates Added functionality to the ThinkUseCase to link files to active TODOs based on relevant keywords in file paths and content. Improved the reporting of active TODOs by including a status summary and context for related files, highlighting read and unread files, and suggesting potentially relevant files. These enhancements aim to improve task management and user awareness of TODO progress within the workflow.
Implemented critical checks in the ThinkTodoManager to prevent completion actions if there are active TODOs. Enhanced user feedback by providing detailed status updates on active TODOs, including reminders to complete or cancel all tasks before proceeding. Updated documentation to reflect these changes, emphasizing the importance of systematic completion and the handling of related files. These improvements aim to streamline task management and ensure clarity in the workflow process.
…hods Removed unnecessary properties and methods from the ThinkUseCase class, including AI-related repositories and various service managers that were not utilized. This streamlining aims to enhance code clarity and maintainability, focusing on the essential functionality of the use case. Additionally, updated the version number in the GitHub action and CLI files to reflect the changes made.
Commented out unnecessary logging statements in the ThinkUseCase, CLI, and ReasoningVisualizer to reduce clutter in the output. This change aims to streamline the logging process and improve code readability while maintaining essential functionality. The updates enhance the overall clarity of the codebase.
Removed debug logging statements in the Execution class across CLI and GitHub action files to reduce output clutter. This change aims to enhance code readability while preserving essential functionality.
Implemented a new method in the SupabaseRepository to retrieve AI file cache entries by SHA, allowing for the reuse of descriptions across branches. This enhancement improves the efficiency of the AI caching process by enabling the system to leverage existing data, thereby reducing redundant processing. Additionally, refactored the VectorActionUseCase to streamline cache preparation across multiple branches, enhancing overall functionality and maintainability.
Implemented a new method in the VectorActionUseCase to identify and remove orphaned branches from the Supabase AI file cache that no longer exist in GitHub. This enhancement improves data integrity and optimizes the cache management process. Additionally, added a method in SupabaseRepository to retrieve distinct branches for a given owner and repository, facilitating the orphan branch cleanup process.
…sitories Eliminated several unused methods from the FileRepository class, including code block extraction and SHA calculation, to streamline the codebase. Introduced a new method in the SupabaseRepository to retrieve distinct branches for a given owner and repository, facilitating better management of orphaned branches. Additionally, updated the VectorActionUseCase to incorporate the new orphan branch removal functionality, improving cache management and data integrity.
Enhanced the FileRepository class to clone GitHub repositories using a temporary directory and read files directly from the filesystem. This update replaces the previous method of fetching repository content via the GitHub API, improving performance and allowing for more efficient file handling. Added error handling for file reading and ensured cleanup of temporary directories after operations.
…pository Added a new method to normalize file paths in the FileRepository class, ensuring consistent comparison with cached entries. Commented out several logging statements related to repository cloning and cleanup to reduce output clutter. This update enhances code clarity and maintains essential functionality while improving path handling during file operations.
Updated the prepareCacheOnBranch method to include detailed tracking of file processing metrics such as files processed, reused, skipped, generated, and removed. Improved logging to provide clearer progress updates for each branch during cache preparation. This refactor enhances the overall clarity and maintainability of the code while ensuring better monitoring of the caching process across multiple branches.
Introduced new CLI commands for testing the Agent SDK, including simple tests, file reading, and full tests with all tools. Enhanced the AiRepository class to support a maximum token limit for API requests, improving response handling. Updated the build process to ensure compatibility with the new testing features. This update aims to facilitate easier testing and validation of the Agent SDK functionalities.
Added detailed logging for tool execution in the ReasoningLoop and ManageTodosTool classes, providing insights into tool inputs, success status, and error messages. Updated the ManageTodosTool to accept multiple input fields for task descriptions, improving user flexibility. Adjusted conversation history handling in the PromptBuilder to include the last five messages and refined formatting for better readability. Enhanced error handling in the FileRepository to streamline repository content retrieval and cleanup processes.
Updated the Supabase repository and related components to include new error tracking fields in the AI file cache, such as error counters and types. Enhanced the VectorActionUseCase to detect and store error information for files, improving the overall error analysis process. Additionally, modified the SQL migration script to accommodate these new fields, ensuring the database structure supports comprehensive error reporting. This update aims to provide better insights into file errors and improve the robustness of the error detection system.
Enhanced the system prompt and error detection logic in the SystemPromptBuilder and VectorActionUseCase to provide clearer instructions for analyzing a single file. Added critical guidelines to ensure that errors are reported only once and that a final summary is provided after the analysis. This update aims to improve the accuracy and efficiency of error detection processes by preventing redundant error reporting and clarifying the expected workflow.
…ion prompts Introduced a new command-line option for specifying the branch name during AI cache indexing. Updated the error detection prompts to use a structured format, enhancing clarity and preventing redundant error reporting. This change aims to improve the user experience and accuracy of error analysis in single file operations.
Updated the AgentInitializer to require a repository branch for loading files, throwing an error if not provided. Removed the default branch fetching logic to streamline the process and enhance clarity in error handling. This change aims to improve user experience by ensuring that necessary parameters are explicitly defined before file operations are attempted.
…tection Refactored the AgentInitializer and related components to retrieve the GitHub Personal Access Token from options instead of the environment. Enforced the requirement for a repository branch, throwing an error if not provided. Enhanced logging to clarify token status and repository loading processes. This update aims to improve user experience by ensuring necessary parameters are explicitly defined and providing clearer feedback during error detection operations.
…nents Eliminated the anthropic API key and model from the AI class and related components, streamlining the codebase. Updated the action.yml and constants to reflect these changes, ensuring that only the OpenRouter API key and model are utilized. This refactor aims to simplify the AI integration and improve maintainability.
Enhanced error handling in the AI components by refining the logging mechanisms and clarifying error messages. This update aims to provide better insights during error detection processes and improve overall user experience by ensuring that errors are reported more effectively.
Introduced a new command for checking the progress of an issue based on code changes. Implemented the CheckProgressUseCase to analyze the progress by loading repository files and determining changes against the development branch. Enhanced logging for better insights during the progress detection process and updated the SingleAction model to include the new action. This update aims to improve user experience by providing a clear mechanism for tracking issue progress.
…vior Updated the CheckProgressUseCase across multiple files to set useSubAgents to false, ensuring consistent behavior during progress analysis. This change aims to improve the accuracy of the progress detection logic by eliminating the use of sub-agents.
Renamed the single-action parameter in the gbf_check_progress.yml workflow from 'check_progress' to 'check_progress_action' to enhance clarity and better reflect its purpose. This change aims to improve the readability and maintainability of the workflow configuration.
|
To view this pull requests documentation preview, visit the following URL: docs.page/landamessenger/git-board-flow~275 Documentation is deployed and generated using docs.page. |
elisalopez
self-requested a review
November 16, 2025 12:29
1 task done
Contributor
✨ Feature Actions
🚀 Happy coding! |
Contributor
✨ Feature Actions
🚀 Happy coding! |
1 task done
efraespada
deleted the
feature/274-add-cli-setup-commands-for-initial-configuration
branch
September 8, 2026 10:44
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.

#274
What does this PR do?
This pull request addresses the identified issue by introducing a new CLI setup command that streamlines the configuration process for our project. The command automates the creation of necessary GitHub configurations, including the required labels and issue types that our Action needs to function effectively. It also validates repository permissions and ensures proper API connectivity.
Furthermore, the CLI setup command automates Supabase initialization by executing a predefined script that sets up the critical methods, tables, and types, as well as preparing a project cache table for enhanced AI contextual analysis.
In terms of credential management, this update requires validation of key credentials such as the GitHub Personal Access Token, organization-level fine-grained tokens, as well as the Supabase URL and API key.
The implementation of this feature significantly reduces the manual setup process, minimizing the risk of inconsistencies and errors across different repositories and environments. By simplifying the onboarding and initial configuration, it ensures a consistent setup for all projects.
No current limitations or challenges exist regarding this implementation, and it is expected to have a highly positive impact on user experience. This pull request is submitted to bring this important enhancement to the master branch.
Summary of Changes
Detailed Changes
.mcp.jsonAdded configuration for MCP servers.
Changes:
.mcp.json.exampleAdded example configuration for MCP servers including stdio and HTTP transports.
Changes:
action.ymlUpdated default model for OpenRouter AI operations.
Changes:
jest.config.jsAdded Jest configuration file for TypeScript testing.
Changes:
package.jsonAdded testing scripts and updated devDependencies to support Jest.
Changes:
.agent-sessions
.agent-sessions/session_1763235331644_8853527.jsonAdded a new session file to record user interactions and metrics.
Changes:
.agent-sessions/session_1763235335017_cveqlr8.jsonAdded a new session JSON file containing metadata and messages.
Changes:
.agent-sessions/session_1763236315499_je0w7pl.jsonAdded a new session JSON file containing metadata and message history.
Changes:
.agent-sessions/session_1763236327442_argwhxe.jsonAdded session metadata and message history for user interactions.
Changes:
.github/ISSUE_TEMPLATE
.github/ISSUE_TEMPLATE/release.ymlUpdated team name in release issue template.
Changes:
.github/workflows
.github/workflows/gbf_check_progress.ymlAdded a GitHub Actions workflow for checking progress in Git Board.
Changes:
git-board-check-progressthat runs on an Ubuntu environment..github/workflows/gbf_update_ai_knowledge.ymlUpdated the single-action parameter for the AI knowledge update job.
Changes:
single-actionfromvector_actiontoai_cache_action.docker
docker/DockerfileThe Dockerfile has been removed from the project.
Changes:
docker/main.pyRemoved entire FastAPI application responsible for embedding model initialization and endpoints.
Changes:
docker/requirements.txtRemoved requirements file for Python dependencies.
Changes:
docs
docs/THINK_AS_CLAUDE_USECASE.mdAdded detailed documentation for the ThinkAsClaudeUseCase, outlining its architecture, execution flow, components, and error handling.
Changes:
docs/agent-sdk-comparison.mdAdded a comprehensive comparison between our Agent SDK and Claude Agent SDK detailing implemented features and differences.
Changes:
docs/agent-sdk-missing-features.mdAdded documentation detailing the missing features required to make the agent SDK equivalent to Claude's Agent SDK.
Changes:
docs/mcp-and-subagents-examples.mdAdded comprehensive examples and guidelines for implementing MCP and Subagents in the system.
Changes:
docs/mcp-and-subagents-explanation.mdAdded comprehensive documentation on the Model Context Protocol (MCP) and Subagents, outlining their functionalities, architectural changes, and usage examples.
Changes:
docs/mcp-testing-guide.mdAdded a comprehensive guide for testing MCP with CLI commands and configuration examples.
Changes:
.mcp.jsonconfiguration file.docs/tec-error-detector.mdAdded comprehensive documentation for the TEC Error Detector, detailing its features and usage.
Changes:
src/agent/tests
src/agent/__tests__/base_tool.test.tsAdded comprehensive tests for the BaseTool class, covering input validation and execution.
Changes:
src/agent/__tests__/budget_manager.test.tsAdded unit tests for the BudgetManager class to validate token and cost limits.
Changes:
src/agent/__tests__/context_manager.test.tsAdded comprehensive unit tests for the ContextManager class to ensure functionality.
Changes:
src/agent/__tests__/context_sharing.test.tsAdded tests for ContextSharing functionality including message extraction, sharing, merging, and summarizing.
Changes:
src/agent/__tests__/mcp_client.test.tsAdded comprehensive unit tests for MCPClient, covering connection, tool invocation, and disconnection functionalities.
Changes:
src/agent/__tests__/mcp_manager.test.tsAdded unit tests for the MCPManager to ensure proper functionality of configuration loading and server connection.
Changes:
src/agent/__tests__/message_manager.test.tsAdded comprehensive unit tests for the MessageManager class functionalities.
Changes:
src/agent/__tests__/metrics_tracker.test.tsAdded unit tests for the MetricsTracker class to ensure correct functionality.
Changes:
src/agent/__tests__/response_parser.test.tsAdded comprehensive unit tests for ResponseParser functionality.
Changes:
src/agent/__tests__/retry_manager.test.tsAdded unit tests for the RetryManager class to validate its functionality.
Changes:
src/agent/__tests__/session_manager.test.tsAdded unit tests for SessionManager functionality.
Changes:
src/agent/__tests__/subagent_manager.test.tsAdded unit tests for the SubAgentManager to ensure proper functionality.
Changes:
src/agent/__tests__/tool_executor.test.tsAdded comprehensive tests for ToolExecutor functionality including single and multiple tool executions.
Changes:
src/agent/__tests__/tool_permissions.test.tsAdded unit tests for ToolPermissionsManager to verify access control strategies.
Changes:
src/agent/__tests__/tool_registry.test.tsAdded comprehensive unit tests for the ToolRegistry class.
Changes:
src/agent/core
src/agent/core/agent.tsAdded the Agent class for the Agent SDK, integrating various functionalities including session management, tool registration, and MCP connections.
Changes:
src/agent/core/budget_manager.tsImplemented BudgetManager class for tracking and enforcing budget limits.
Changes:
src/agent/core/context_manager.tsAdded ContextManager class for managing conversation context and compression.
Changes:
src/agent/core/context_sharing.tsAdded new ContextSharing class for managing context sharing between agents.
Changes:
src/agent/core/index.tsAdded an index file to export core components.
Changes:
src/agent/core/message_manager.tsAdded MessageManager class for handling conversation messages in the Anthropic Messages API format.
Changes:
MessageManagerto manage conversation messages.src/agent/core/metrics_tracker.tsAdded a MetricsTracker class to monitor various performance metrics.
Changes:
src/agent/core/reasoning_loop.tsIntroduced a new Reasoning Loop class to manage the conversation loop in the Agent SDK, integrating advanced features such as streaming, permissions, context management, metrics tracking, budget handling, and error recovery.
Changes:
src/agent/core/retry_manager.tsAdded RetryManager class for handling retries with exponential backoff and circuit breaker logic.
Changes:
src/agent/core/session_manager.tsAdded a comprehensive session management system to handle agent sessions with persistence.
Changes:
SessionManagerclass to manage agent sessions.src/agent/core/subagent_manager.tsImplemented SubAgentManager for managing subagents and their coordination.
Changes:
SubAgentManagerfor handling the creation and management of subagents.SubAgentOptionsandTaskto define options and tasks for subagents.src/agent/core/tool_permissions.tsAdded ToolPermissionsManager class to manage tool usage permissions for the agent.
Changes:
tool_permissions.tswith the ToolPermissionsManager class.src/agent
src/agent/index.tsAdded main exports for the Agent SDK, organizing core components, tools, types, utils, and MCP.
Changes:
src/agent/mcp
src/agent/mcp/index.tsAdded MCP module exports for improved organization and access to core components.
Changes:
MCPClientfrom./mcp_client.MCPManagerfrom./mcp_manager.MCPToolWrapperfrom./mcp_tool.StdioTransport,HTTPTransport,SSETransport, andMCPTransportfrom./mcp_transport../types.src/agent/mcp/mcp_client.tsImplemented the MCPClient class for managing connections to Model Context Protocol servers, enabling transport configuration and communication.
Changes:
src/agent/mcp/mcp_manager.tsAdded MCPManager class to manage MCP connections and tool registration.
Changes:
src/agent/mcp/mcp_tool.tsAdded MCPToolWrapper class to integrate MCP tools with BaseTool interface.
Changes:
src/agent/mcp/mcp_transport.tsAdded MCPTransport module handling communication with MCP servers via multiple transport methods.
Changes:
src/agent/mcp/types.tsAdded type definitions for Model Context Protocol (MCP).
Changes:
src/agent/reasoning/error_detector/tests
src/agent/reasoning/error_detector/__tests__/error_detector.test.tsAdded unit tests for the ErrorDetector class to ensure correct functionality and error detection.
Changes:
src/agent/reasoning/error_detector/__tests__/error_parser.test.tsAdded unit tests for the ErrorParser class to validate error parsing functionality.
Changes:
src/agent/reasoning/error_detector/__tests__/file_partitioner.test.tsAdded unit tests for the FilePartitioner class to ensure correct behavior in partitioning files by directory.
Changes:
src/agent/reasoning/error_detector/__tests__/summary_generator.test.tsAdded unit tests for the SummaryGenerator class to validate summary generation functionality.
Changes:
src/agent/reasoning/error_detector/__tests__/system_prompt_builder.test.tsAdded unit tests for the System Prompt Builder functionality.
Changes:
src/agent/reasoning/error_detector
src/agent/reasoning/error_detector/agent_initializer.tsImplemented AgentInitializer to initialize agents with tools and repository files for error detection.
Changes:
src/agent/reasoning/error_detector/error_detector.tsAdded a new ErrorDetector class to facilitate error detection in codebases using the Agent SDK.
Changes:
src/agent/reasoning/error_detector/error_parser.tsAdded ErrorParser class to handle parsing errors from agent results and tool calls.
Changes:
ErrorParserfor parsing errors.parseErrorsto extract errors from agent results.report_errorstool for error extraction.src/agent/reasoning/error_detector/file_partitioner.tsAdded the FilePartitioner class to handle file distribution across subagents.
Changes:
FilePartitionerfor partitioning files by directory.partitionFilesByDirectoryto group files and balance their distribution.src/agent/reasoning/error_detector/file_relationship_analyzer.tsAdded File Relationship Analyzer to analyze file dependencies and consumers.
Changes:
FileRelationshipAnalyzerto analyze relationships for target files.analyzeFileRelationshipsto find consumers and dependencies of a given target file.FileImportAnalyzerto build relationship maps for files.src/agent/reasoning/error_detector/index.tsAdded Error Detector Module with various exports for error handling functionality.
Changes:
ErrorDetectorclass from './error_detector'.ErrorDetectionOptions,DetectedError,ErrorDetectionResultfrom './types'.src/agent/reasoning/error_detector/subagent_handler.tsImplemented a Subagent Handler for error detection utilizing parallel processing.
Changes:
src/agent/reasoning/error_detector/summary_generator.tsAdded a new SummaryGenerator class to generate summaries of detected errors.
Changes:
summary_generator.tscontaining the SummaryGenerator class.generateSummarythat accepts an array of DetectedError and returns a summary object.src/agent/reasoning/error_detector/system_prompt_builder.tsAdded a new System Prompt Builder class for generating prompts related to error detection.
Changes:
buildthat generates system prompts based on provided options.src/agent/reasoning/error_detector/types.tsAdded types and interfaces for the Error Detector component to manage error analysis effectively.
Changes:
IssueTypeenum to categorize various types of issues including bugs, security vulnerabilities, performance issues, and more.ErrorDetectionOptionsinterface to specify options for error detection, including model selection, repository details, and error types.DetectedErrorinterface to structure error reporting with details such as file, line number, type, severity, description, and suggestions.ErrorDetectionResultinterface to format results from error analysis, encapsulating a summary of detected errors and their counts.src/agent/reasoning/progress_detector/tests
src/agent/reasoning/progress_detector/__tests__/file_partitioner.test.tsAdded unit tests for the File Partitioner functionality.
Changes:
src/agent/reasoning/progress_detector/__tests__/progress_detector.test.tsAdded a comprehensive test suite for the ProgressDetector class, covering initialization, progress detection, and various edge cases.
Changes:
src/agent/reasoning/progress_detector/__tests__/progress_parser.test.tsAdded comprehensive unit tests for the ProgressParser class.
Changes:
src/agent/reasoning/progress_detector/__tests__/subagent_handler.test.tsAdded comprehensive unit tests for the SubagentHandler to ensure correct functionality.
Changes:
src/agent/reasoning/progress_detector/__tests__/system_prompt_builder.test.tsAdded comprehensive unit tests for the SystemPromptBuilder class.
Changes:
src/agent/reasoning/progress_detector
src/agent/reasoning/progress_detector/agent_initializer.tsAdded AgentInitializer class for managing the initialization of agents with tools and repository files for progress detection.
Changes:
initializemethod to configure agent with tools, retrieve repository files, and handle reported progress.src/agent/reasoning/progress_detector/file_partitioner.tsAdded File Partitioner class to manage file distribution across subagents.
Changes:
FilePartitionerfor partitioning files by directory.partitionFilesByDirectorymethod to group files based on their top-level directory.src/agent/reasoning/progress_detector/index.tsAdded Progress Detector module to streamline exports of related components and types.
Changes:
ProgressDetectorclass from './progress_detector'.ProgressDetectionOptionsandProgressDetectionResultfrom './types'.ProgressParser,SystemPromptBuilder,AgentInitializer,SubagentHandler, andFilePartitionerfor testing.src/agent/reasoning/progress_detector/progress_detector.tsAdded Progress Detector class to analyze the progress of tasks based on code changes.
Changes:
ProgressDetectorfor detecting task progress.src/agent/reasoning/progress_detector/progress_parser.tsAdded ProgressParser class to parse progress data from agent results.
Changes:
src/agent/reasoning/progress_detector/subagent_handler.tsAdded a Subagent Handler for parallel processing and progress detection.
Changes:
SubagentHandlerto facilitate progress detection using subagents.src/agent/reasoning/progress_detector/system_prompt_builder.tsAdded a new SystemPromptBuilder class to facilitate the generation of system prompts for progress detection.
Changes:
src/agent/reasoning/progress_detector/types.tsAdded types and interfaces for Progress Detector to facilitate progress detection functionality.
Changes:
ProgressDetectionOptionsfor configuring progress detection settings.ProgressDetectionOptionsfor model, API keys, repository details, issue information, and changed files.ProgressDetectionResultto standardize the output of progress detection, including progress percentage, summary, and agent result.src/agent/tools
src/agent/tools/base_tool.tsAdded a base class for all tools which includes validation and execution methods.
Changes:
BaseToolthat all tools will extend.getName,getDescription,getInputSchema, andexecute.getDefinitionthat returns the tool's name, description, and input schema.validateInputmethod to validate input against the defined schema.executeWithValidationto run the tool's execution after validating input.src/agent/tools/index.tsAdded a new module to export tool-related classes.
Changes:
src/agent/tools/tool_executor.tsAdded ToolExecutor class to enhance tool execution capabilities in the Agent SDK.
Changes:
src/agent/tools/tool_registry.tsAdded Tool Registry class for managing available tools.
Changes:
ToolRegistryto manage a collection of tools.src/agent/tools/builtin_tools/tests
src/agent/tools/builtin_tools/__tests__/report_progress_tool.test.tsAdded unit tests for Report Progress Tool functionalities.
Changes:
getName,getDescription, andgetInputSchemamethods.executemethod, covering various input scenarios.src/agent/tools/builtin_tools
src/agent/tools/builtin_tools/index.tsAdded an export file for built-in tools to streamline access.
Changes:
index.tsfor exporting built-in tools.read_file_tool,search_files_tool,propose_change_tool, andmanage_todos_tool.src/agent/tools/builtin_tools/manage_todos_tool.tsAdded a new tool for managing a TODO list with various functionalities.
Changes:
manage_todos_tool.tsto implement TODO management functionalities.ManageTodosToolOptionsfor required functionalities such as creating, updating, and listing TODOs.ManageTodosToolclass which extendsBaseTooland includes methods for managing TODOs.src/agent/tools/builtin_tools/propose_change_tool.tsAdded Propose Change Tool for making modifications to files in a virtual codebase.
Changes:
propose_change_tool.ts.ChangeTypeas a type with options: 'create', 'modify', 'delete', and 'refactor'.ProposeChangeToolOptionsfor handling change proposals.ProposeChangeToolclass extendingBaseTool.executemethod to validate input and apply proposed changes to files.src/agent/tools/builtin_tools/read_file_tool.tsAdded Read File Tool to read file contents from a repository or virtual codebase.
Changes:
ReadFileToolclass extendingBaseTool.ReadFileToolOptionsinterface for configuration.getNameto return the tool name.getDescriptionfor tool description.getInputSchemamethod to define input validation schema.executemethod to read file contents and handle errors.src/agent/tools/builtin_tools/report_errors_tool.tsAdded a new tool for reporting detected errors in a structured format.
Changes:
ReportErrorsToolclass which extendsBaseTool.src/agent/tools/builtin_tools/report_progress_tool.tsAdded Report Progress Tool for structured task progress reporting.
Changes:
ReportProgressToolclass that extendsBaseTool.ReportProgressToolOptionsinterface for tool options.getName,getDescription,getInputSchema, andexecute.src/agent/tools/builtin_tools/search_files_tool.tsAdded Search Files Tool for enhanced file searching capabilities.
Changes:
SearchFilesToolclass that extendsBaseTool.executemethod that handles file search operations.max_resultsparameter.src/agent/types
src/agent/types/agent_types.tsAdded agent types for the Agent SDK to support multi-faceted functionality.
Changes:
src/agent/types/index.tsAdded an index file to aggregate and export types from multiple files.
Changes:
src/agent/types/message_types.tsAdded message types for the Agent SDK compatible with Anthropic Messages API format.
Changes:
MessageRolerepresenting roles in messages: 'system', 'user', 'assistant'.TextContentfor text message structure.ToolUseContentfor tool usage messages.ToolResultContentfor tool result messages.ContentBlockto encapsulate different content types.Messagefor general message structure.Messageinterface to createSystemMessage,UserMessage, andAssistantMessagewith role-specific attributes.src/agent/types/response_schema.tsAdded a JSON schema for agent responses to standardize output format.
Changes:
AGENT_RESPONSE_SCHEMAfor defining the structure of agent responses.additionalPropertiesto false.src/agent/types/tool_types.tsAdded type definitions for tools in the Agent SDK.
Changes:
ToolDefinitioninterface to define tools with a name, description, and input schema.ToolCallinterface representing a call to a tool with an id and input parameters.ToolResultinterface to encapsulate the result of a tool call, including error handling.ToolExecutionResultinterface to represent the outcome of the tool execution, indicating success or failure.src/agent/utils
src/agent/utils/error_handler.tsAdded error handling classes and functionality for the Agent SDK.
Changes:
AgentErrorclass for custom error representation.ToolExecutionError,APIError, andValidationError.ErrorHandlerclass for managing and formatting errors.handleto convert unknown errors toAgentError.isRetryableto determine if an error is retryable based on status codes.src/agent/utils/index.tsIntroduced an index file to export all utility functions.
Changes:
src/agent/utils/prompt_builder.tsAdded a new prompt builder class for Agent SDK to construct prompts with tool definitions and conversation history.
Changes:
PromptBuilderclass to create formatted prompts.buildPromptmethod to generate a prompt from incoming messages and tools.src/agent/utils/response_parser.tsAdded a new response parser for handling OpenRouter JSON responses.
Changes:
ResponseParserclass for parsing JSON responses.parseto process the response structure.generateToolCallIdfor generating unique IDs for tool calls.validatemethod to check the integrity of parsed responses.src
src/agent_tester.tsAdded a new agent tester script with various testing commands for the Agent SDK.
Changes:
src/agent_tester_commands.tsAdded comprehensive command testing suite for the Agent SDK.
Changes:
src/cli.tsEnhanced CLI with additional commands and improved functionality.
Changes:
registerAgentTestCommands,registerMCPTestCommands,registerSubAgentTestCommands, andregisterTECTestCommands.build-aicommand to include an optional branch name parameter and updated welcome messages.check-progressto check the progress of a specified issue, including validation for the issue number and optional branch name.setupcommand for initial setup tasks including creating labels and verifying access, with appropriate messages before execution.thinkcommand to comment out the logging action.src/mcp_tester_commands.tsAdded MCP Tester Commands for testing multiple transport methods and tool execution.
Changes:
src/mcp_tester_commands.tsto handle MCP testing commands.src/sub_agent_tester_commands.tsAdded a comprehensive CLI command module for testing SubAgent functionalities.
Changes:
src/tec_tester_commands.tsAdded CLI commands for testing error detection system using the Agent SDK.
Changes:
tec:detect-errorsfor detecting errors in the codebase with various options.tec:quick-checkfor a faster error check with fewer turns.src/data/model
src/data/model/execution.tsCommented out logging of current configuration for cleaner output.
Changes:
src/data/model/single_action.tsEnhanced SingleAction class by adding new actions and corresponding checks.
Changes:
src/data/model/think_response_schema.tsEnhanced JSON schema with stricter validation rules and additional properties for TODO updates.
Changes:
src/data/repository
src/data/repository/ai_repository.tsEnhanced AI repository methods with support for streaming responses and improved configurations.
Changes:
askJsonmethod.handleStreamingResponsefor managing API streaming responses.askJsonto include amax_tokenslimit in the request body.strictoption in response format to be customizable rather than hardcoded.askThinkJsonto accept an array of messages for conversation history and maintain backward compatibility.src/data/repository/file_repository.tsRefactored file retrieval process to clone repositories and read files directly from the filesystem, improving performance and adding error handling.
Changes:
fs/promisesfor reading files.src/data/repository/issue_repository.tsEnhanced issue and label management functionalities by adding new methods for listing, creating, and ensuring labels and issue types.
Changes:
listLabelsForRepoto list all labels for a repository.createLabelto create a label in a repository.ensureLabelto check if a label exists, creating it if it doesn't.ensureLabelsto ensure all required labels exist based on a configuration.listIssueTypesto list all issue types for an organization.createIssueTypeto create an issue type for an organization.ensureIssueTypeto check if an issue type exists, creating it if it doesn't.ensureIssueTypesto ensure all required issue types exist based on a configuration.src/data/repository/supabase_repository.tsEnhanced the SupabaseRepository class with additional error management features and new methods for better cache handling.
Changes:
src/usecase/actions
src/usecase/actions/check_progress_use_case.tsIntroduced a new use case for checking the progress of an issue based on branch changes, incorporating AI analysis for progress detection.
Changes:
CheckProgressUseCaseclass implementingParamUseCase<Execution, Result[]>.invokemethod to check the progress of an issue.shouldIgnoreFilemethod to manage files based on ignore patterns.ProgressDetectorfor analyzing progress based on changes.src/usecase/actions/initial_setup_use_case.tsAdded InitialSetupUseCase to perform setup operations including GitHub access verification, label creation, and Supabase configuration.
Changes:
src/usecase/actions/vector_action_use_case.tsEnhanced the VectorActionUseCase by implementing multi-branch processing and error detection.
Changes:
invoke. The method now retrieves a list of branches if none is provided.invoketo handle branch processing efficiently, accumulating results for each processed branch.prepareCacheOnBranchto encapsulate the logic for preparing AI cache on a specified branch.removeOrphanedBranchesto clean up AI cache entries for branches that no longer exist in GitHub.ErrorDetectorclass, analyzing code quality and potential issues for each file.src/usecase
src/usecase/single_action_use_case.tsEnhanced SingleActionUseCase by adding InitialSetup and CheckProgress actions.
Changes:
src/usecase/steps/common/services
src/usecase/steps/common/services/file_cache_manager.tsRemoved the debug logging of cached paths after loading from Supabase.
Changes:
src/usecase/steps/common/services/file_search_service.tsEnhanced search functionality to include content searches and improved code readability.
Changes:
src/usecase/steps/common
src/usecase/steps/common/think_todo_manager.tsCommented out logging statements for updated TODOs to reduce console output.
Changes:
src/usecase/steps/common/think_use_case.tsRefactored the ThinkUseCase to remove direct dependencies on several services and introduced a ReasoningVisualizer for output.
Changes:
src/usecase/steps/common/think_use_case_2.tsAdded a new use case for handling AI-driven code analysis and reasoning, enhancing the overall functionality.
Changes:
ThinkUseCaseclass responsible for managing code analysis tasks.FileImportAnalyzer,FileCacheManager,CodebaseAnalyzer, and others to modularize the functionality.src/utils
src/utils/constants.tsAdded new actions for the workflow management system.
Changes:
src/utils/logger.tsEnhanced logging system to support structured logging and additional metadata.
Changes:
LogEntryto represent structured log entries.setStructuredLoggingto enable or disable structured logging.formatStructuredLogto format log entries in JSON.logInfofunction to accept optional metadata and structured logging.logWarnfunction to streamline warning logs and support structured logging.logWarningfunction to calllogWarninstead.logErrorfunction to handle error messages and metadata with structured logging.logDebugInfoto support metadata and handle structured logging.src/utils/reasoning_visualizer.tsAdded a new ReasoningVisualizer class for visualizing the reasoning process in an AI system.
Changes:
chalkfor colored output in the console.supabase/migrations
supabase/migrations/20240321000000_create_chunks_table.sqlRemoved the entire SQL migration file containing the definition and management of the chunks table.
Changes:
vectorextension.chunkstable definition including all its fields and constraints.chunkstable.updated_attimestamp on thechunkstable.supabase/migrations/20240322000000_create_ai_file_cache_table.sqlUpdated the ai_file_cache table schema to include error tracking fields and changed default array initialization.
Changes:
supabase/migrations/20240322000001_add_error_columns_to_ai_file_cache.sqlAdded new error-related columns to the ai_file_cache table and updated associated functions.
Changes:
test-mcp-server
test-mcp-server/index.jsAdded a new MCP server implementation that supports various tools for testing.
Changes: