-
Notifications
You must be signed in to change notification settings - Fork 44
Enhance agent toolkit with new Monday.com app management tools #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
oricho123
commented
Apr 15, 2025
- Introduced tools for creating, retrieving, and promoting apps and app features.
- Added functionality for managing environment variables and storage data.
- Updated the structure to support new app version and feature management capabilities.
- Improved error handling and response formatting across new tools.
- Added new tools for managing Monday.com resources, including creating, deleting, and updating items and columns. - Introduced tools for fetching board schemas and user details. - Updated the toolkit to support dynamic API tools configuration. - Refactored the initialization process for better organization and error handling. - Enhanced the overall structure of the toolkit for improved maintainability.
- Introduced tools for creating, retrieving, and promoting apps and app features. - Added functionality for managing environment variables and storage data. - Updated the structure to support new app version and feature management capabilities. - Improved error handling and response formatting across new tools.
- Improved response formatting for app feature creation and retrieval, providing detailed information about features and their states. - Updated schemas to include detailed app feature and version structures. - Enhanced error handling and response messages for app version retrieval and deployment status checks, offering clearer insights into the process. - Added detailed summaries for app versions and deployment statuses to improve user experience.
…n response - Introduced a new base class for Monday.com app tools to streamline API interactions and enhance code organization. - Updated the app creation response to include app ID and version for better clarity and tracking.
…feat/ori/support-more-tool-types
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
- Updated version numbers in package.json for both agent-toolkit and monday-api-mcp to reflect the latest release.
- Updated ToolType enumeration to simplify types: replaced QUERY, MUTATION, and ALL_API with API. - Introduced ToolSubType enumeration to categorize tools as READ, WRITE, or ALL_API. - Modified existing tools to utilize the new ToolSubType for better clarity and organization. - Enhanced filtering functions to accommodate the new structure, ensuring backward compatibility with existing configurations.
…feat/ori/support-more-tool-types
…to 1.0.3 in package.json files
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
- Updated various Monday Apps tools to include the ToolSubType property, categorizing them as READ or WRITE. - Modified the filter function to accept MondayAppsToolType for better type safety. - Removed the deprecated base class for Monday Apps tools, streamlining the codebase.
…feat/ori/support-more-tool-types
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
|
Still need to add the tools to the README file |
- Introduced a new command line option `--enable-monday-apps-tools` for enabling Monday Apps tools in the documentation. - Updated the README to reflect this addition, enhancing clarity for users on available features.
- Removed the "type" field from various tool classes, standardizing them to use the ToolType.API enumeration. - Cleaned up import statements across multiple files for better organization and clarity. - Ensured consistency in tool definitions by aligning with the new ToolSubType structure.
- Introduced a new utility file for filtering API and Monday Apps tools, consolidating the filtering logic. - Removed the deprecated utils file for Monday Apps tools. - Updated import statements across various files to utilize the new filtering utilities. - Added BaseMondayApiTool to the exports for better accessibility.
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
- Consolidated tool initialization by introducing a new utility function to create tool instances based on their type. - Updated the filtering logic to utilize the new `getFilteredTools` function, streamlining the process of obtaining applicable tools. - Removed deprecated filtering functions and cleaned up import statements for better organization. - Added a new types file to define `ToolsConfiguration` and `MondayAgentToolkitConfig` for improved type management.
- Removed the ToolSubType enumeration from various tool classes, replacing it with the ToolType enumeration for consistency. - Updated import statements to reflect the changes in tool type definitions. - Ensured all tools now utilize the ToolType for categorization, enhancing clarity and organization across the toolkit.
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
- Removed the handling for BaseMondayAppsTool in the createToolInstance function, simplifying the tool initialization process. - Updated the function to only create instances of BaseMondayApiTool and the default tool type, enhancing clarity in tool instantiation.
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
- Updated the createToolInstance function to handle instances of BaseMondayAppsTool, allowing for initialization with an apiToken. - Enhanced the tool instantiation logic to support additional tool types, improving flexibility in the toolkit.
- Replaced ToolSubType with ToolType in various Monday Apps tools for consistency. - Updated import statements and tool definitions across multiple files to reflect this change. - Enhanced clarity and organization in the toolkit by standardizing tool categorization.
- Updated the createToolInstance function to accept a generic Tool type, enhancing type safety and clarity. - Modified the filtering logic in getFilteredTools to use the ToolType enumeration consistently, improving the accuracy of tool filtering based on type. - Cleaned up conditional checks for filtering tools, streamlining the overall logic.
…/mondaycom/monday-ai into feat/ori/add-monday-apps-basic-tools
…feat/ori/add-monday-apps-basic-tools
…m the tools configuration and args config files.
…ods from the MondayAgentToolkit class.
…contextprotocol/sdk, @mondaydotcomorg/api, axios, and lodash packages. Add new types for jsonwebtoken and ms, and include buffer-equal-constant-time and ecdsa-sig-formatter packages.
… changing type fields to string in app-feature-schemas. This simplifies the schema definitions and enhances flexibility in feature type representation.
… a mode selection. The new mode allows users to specify "api" for API tools only or "apps" for Monday Apps tools, enhancing clarity and usability.
… ensuring consistency in documentation.
…ecuteInternal method for improved structure and tracking. This change enhances the base tool's execution flow and allows for consistent error handling and performance tracking across all tools.
…enum and changing type fields to string in app-feature-schemas. This simplifies the schema definitions and enhances flexibility in feature type representation." This reverts commit 749541e.
| ) => { | ||
| if (tool.prototype instanceof BaseMondayApiTool) { | ||
| return new tool(instanceOptions.apiClient, instanceOptions.apiToken); | ||
| } else if (tool.prototype instanceof BaseMondayAppsTool) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
you dont need the api client as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope
| @@ -0,0 +1,52 @@ | |||
| export enum AppFeatureType { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We won't support new PBB AppFaetures until we will find some dynamic solution, e.g initialize the types by fetching the PBBs from the backend
@gregra81 FYI
* remove apps dangeroues tools
|
@oricho123 @RomKadria looks like there'a another conflict there 🤦 , let's try to merge this ASAP to master to stop wasting time on these conflicts |
…feat/ori/add-monday-apps-basic-tools
gregra81
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
amazing work! 🎖️