Skip to content

feat: connect google drive#64

Merged
PhungVanDuy merged 2 commits intomainfrom
feat/connect-google-drive
Jun 3, 2025
Merged

feat: connect google drive#64
PhungVanDuy merged 2 commits intomainfrom
feat/connect-google-drive

Conversation

@baquy96
Copy link
Copy Markdown
Collaborator

@baquy96 baquy96 commented May 28, 2025

Connect and Select files from Google Drive

@baquy96 baquy96 force-pushed the feat/connect-google-drive branch 12 times, most recently from a9ab2a3 to ba6c947 Compare June 3, 2025 04:37
@baquy96 baquy96 force-pushed the feat/connect-google-drive branch from ba6c947 to 69c5522 Compare June 3, 2025 05:58
@PhungVanDuy PhungVanDuy merged commit 56949f2 into main Jun 3, 2025
PhungVanDuy pushed a commit that referenced this pull request Jun 11, 2025
* feat: connect google drive

* feat(frontend): show image_search result
PhungVanDuy added a commit that referenced this pull request Jun 16, 2025
* Initial commit

* Release v0.1 - II-Agent Public (#26)

* first commit

* add: token counter

* add workspace manager

* Implement core agent and tools for task management, including AnthropicFC agent, various tools for file manipulation, web interaction, and sequential thinking. Add utility classes for workspace management and indentation handling. Introduce tests for key functionalities.

* fix: frontend

* add agents

* Implement CLI and WebSocket server for Agent interaction, enhancing user experience with real-time communication. Update dependencies in pyproject.toml and add comprehensive .gitignore entries for various development artifacts and logs.

* copy paste browser dir from index repo

* remove lmnr observe

* update import: from index. --> from ii_agent.

* update browser code from async to sync

* add browser tools - inprogress

* init browser use feature

* add pdf audio support cli.py

* log current state to message queue

* async browser use

* Feat/filebased context manager (#9)

* Enhance context management by introducing FileBasedContextManager and StandardContextManager for efficient token handling and message truncation. Update message handling in tools to utilize MessageHistory instead of DialogMessages. Add new dependencies in pyproject.toml and update .gitignore for workspace and IDE files.

* Implement connection-specific workspace management by generating unique subdirectories for each WebSocket connection. Update StaticDeployTool to construct public URLs using the connection UUID and a configurable base URL.

* Refactor str_replace_tool to import ToolCallParameters from the correct module and add a new utility module for content truncation. The utility includes a function to truncate content to a specified maximum length, enhancing content management capabilities.

* Enhance browser functionality by introducing a streamlined Playwright browser implementation and a computer vision detector module. Add tools for audio transcription and PDF text extraction, along with updates to existing tools for improved interaction and output handling. Update dependencies in pyproject.toml and refine event handling in core event management.

* Enhance input truncation logic in FileBasedContextManager to check and truncate all fields if any exceed the token limit, improving message handling for ToolCall instances.

* [WIP] Feat/add tool pdf (#12)

* feat: add upload file event

* feat: add extract pdf tool

* feat: update prompt

* feat(frontend): add more tools

* feat(frontend): update browser use tool

* feat(ws_server): integrate RealtimeEvent for WebSocket responses and refactor file upload handling

* feat(frontend): support generate audio tool

---------

Co-authored-by: khongtrunght <khongtrunght@gmail.com>

* feat(frontend): add audio icon file

* fix: update font and color

* fix: file upload issues (#15)

* fix(frontend): wrong file path

* add veo / imagegen tools

* feat: enhance toolset with new text inspector and visualizer tools, add markdown conversion capabilities, and update dependencies in pyproject.toml

* feat: add GAIA evaluation tools for document and image analysis, update dependencies in pyproject.toml

* chore: update .gitignore to include data and output directories; modify file path handling in run_gaia.py for dataset loading; enhance file copying logic to include PNG files; refactor initialization of inspection tools to handle optional workspace manager

* feat: add start and end index arguments for dataset slicing in run_gaia.py

* log trace

* add trace logs dir to gitignore

* feat(frontend): add image and video tool

* Feat: Deep Research Tool and refactor agent  (#19)

* feat: integrate ii-agent, add jina, serp, and firecrawl search and visit

* feat: refactor

* feat: update websocket

* feat: fix bug

* fix: ws init agent event

* fix: ws init agent event

* feat(frontend): update init agent

* feat(frontend): update init-agent

* feat(frontend): add deep research icon

---------

Co-authored-by: Quy Pham <quy@ii.inc>

* feat(frontend): rename search and visit tool

* fix(frontend): rerender action

* Feat/event replay (#20)

* feat: enhance str_replace_tool with message queue support for file edits

- Added message queue integration to StrReplaceEditorTool for real-time file edit notifications.
- Introduced FILE_EDIT event type in EventType enum to track file modifications.
- Updated methods in str_replace_tool to send updates through the message queue after file edits.

* feat: integrate database management for session and event tracking

- Added DatabaseManager class for handling SQLite database operations, including session and event management.
- Updated cli.py and ws_server.py to create and manage sessions, linking them to user interactions.
- Enhanced event handling by saving user messages and agent responses to the database.
- Introduced new API endpoints for retrieving sessions and events based on device ID and session ID.
- Updated dependencies in pyproject.toml to include sqlalchemy for database interactions.
- Modified .gitignore to exclude database files.

* refactor: update tool implementations for improved functionality

- Changed the method for retrieving the final answer in the AnthropicFC agent to use tool_manager.
- Updated the StaticDeployTool to set a default base URL for static files, addressing a temporary hack.
- Revised the description in WebSearchTool to clarify the use of a search engine API.

* feat: enhance session retrieval with first user message

- Updated the get_sessions_by_device_id endpoint to include the first user message for each session.
- Implemented a subquery to fetch the first user message event, joining it with session data.
- Modified the session response structure to include the first message if available, improving the API's usability.

* feat(frontend): get message history

* feat(frontend): handle replay

* fix(logging): prevent duplicate logs by disabling logger propagation in cli.py and ws_server.py

* feat(context-manager): enhance file saving for tools with specific filename formats

- Integrated DeepResearchTool and VisitWebpageTool for customized filename generation based on tool input.
- Updated logging to confirm saved filenames, improving traceability of saved outputs.

* fix(frontend): rerender action

---------

Co-authored-by: Quy Pham <quy@ii.inc>

* fix(frontend): build failed

* fix: workspace info issue

* fix: timeout replay

* fix(frontend): rerender action issue

* refine tool & prompt to benchmark

* fix: upload file issue

* Update README.md

* Update README.md

* fix(frontend): ui issues

* refactor(frontend): improve performance

* refactor(frontend): improve performance

* simple fix lack of files ref for website building

* add list html files tools

* fix(ws_server): update websocket handling to prevent sending errors and maintain message processing (#21)

* Fix/website visit (#22)

* fix: return markdownn for web visit

* fix(frontend): visit_webpage tool result

---------

Co-authored-by: Quy Pham <quy@ii.inc>

* feat(frontend): handle tool list html links

* restructure browser tools into modular components; vision-based clicking; handle pdf case

* update default viewport size that compatible with Claude; remove scaling screenshot

* log state to message queue

* gemini advanced tools

* enhance browser tools

* refactor(run_gaia): integrate GAIA_SYSTEM_PROMPT and update file handling

* refactor(run_gaia): update file handling and introduce StrReplaceEditorTool for enhanced string replacement functionality

* add gemini audio transcribe tool to run gaia

* Fix/deploy image (#23)

* fix: update deploy and image prompt

* feat(frontend): show gen image

* chore(frontend): add readme

* fix browser scroll

* feat: add youtube transcript tool

* feat(run_gaia): add task-uuid argument for selective task execution and enhance dataset filtering

* fix browser scroll

* remove redundant code

* update browser rules in system prompt

* fix browser_get_select_options constructor missing message_queue

* fix BrowserGetSelectOptionsTool init missing message_queue

* refactor: update context manager initialization and system prompts across CLI and server files

* refactor(frontend): browser use

* fix: presentation layout

* fix: presentation layout

* fix: absolute path issue

* refactor(frontned): upload files

* Feat/gaia bench (#28)

* fix(message_history): None issue

* fix: ensure absolute path for workspace root and update image encoding

* fix: presentation

* fix(frontend): multiple files cannot init

* remove redundant message_queue from browser tools

* fix: presentation

* remove message queue from default tools

* fix: update resource path for interactive elements script

* remove unused tools

* remove deprecated test function from bash_tool.py

* fix: image tool description

* fix: presentation change on init

* fix: presentation change on init

* fix: multiple turns issue

* readme: update anthropic client

* clean up: clean up for release

* clean up: clean up model name

* fix: presentation image

* fix: presentation image

* upload: gaia benchmark image

---------

Co-authored-by: Quy Pham <quy@ii.inc>
Co-authored-by: khongtrunght <khongtrunght@gmail.com>
Co-authored-by: PhungVanDuy <pvduy23@gmail.com>
Co-authored-by: Nguyen Duc Phu <72448688+ducphuE10@users.noreply.github.com>

---------

Co-authored-by: khongtrunght <khongtrunght@gmail.com>
Co-authored-by: ducphuE10 <nguyenducphu201101@gmail.com>
Co-authored-by: Nguyen Duc Phu <72448688+ducphuE10@users.noreply.github.com>
Co-authored-by: khongtrunght <53500679+khongtrunght@users.noreply.github.com>
Co-authored-by: Quy Pham <pbquy96@gmail.com>
Co-authored-by: Quy Pham <quy@ii.inc>
Co-authored-by: Ngo The Anh Khoa <khoa@ii.inc>

* fix: package version conflict and environment variable conflict (#30)

* refactor: clean up code formatting and improve readability across multiple files (#31)

* Create LICENSE

* Update README.md

* Chore/update readme (#32)

* chore: update readme

* chore: update readme

* chore: reformat header in README

* fix(frontend): remove timeout replay

* feat: enhance prompt (#40)

* feat: enhance user prompt

* refactor: LLMClient

* replace sequential thinking tool by message tool

* feat(frontend): handle message tool

* update complete tool

* add sequential thinking tool option to tool management

* Feat: cancel and edit user prompt (#48)

* Enhance websocket cancel functionality to clear session history and handle errors. Added methods to delete events from the database and improved message handling for active agents. Updated MessageHistory to track the last user prompt index and clear messages accordingly.

* Enhance websocket functionality to support query cancellation and editing. Added acknowledgment messages for cancellation and editing events. Updated error handling for active agents to ensure proper communication with clients. Improved exception handling in the AnthropicFC agent to manage interruptions more effectively.

* feat(frontend): add stop button

* feat: Enhance agent cancellation and interruption handling.

* feat: edit_query

* chore : add rsp_interupted type

* feat(frontend): add edit question btn

---------

Co-authored-by: khongtrunght <khongtrunght@gmail.com>

* undo system prompt

* add return_control_to_user tool and enhance message_user tool description

* add interactive model

* separate prompt for w and w/o sequential thinking

* move LLM client initialization to specific handling cases

* refactor Tailwind

* fix(frontend): handle return control to user tool

* feat: add setting tools (#60)

* simplify the presentation (slide deck) tool (#67)

* update default model to claude-sonnet-4

* Dockerize the whole project (#69)

* feat: dockerize

* chore: add more description for README

* chore: add example .env.example

* Introduce a new slide deck completion tool and enhance image usage guidelines in the system prompt (#71)

* simplify the presentation (slide deck) tool

* add slide_deck_complete tool; enhance <image_use_rules> section in system prompt

* Refactor: replace context managers and enhance message handling (#63)

* Refactor: replace context managers and enhance message handling

* Replaced `FileBasedContextManager` and `StandardContextManager` with `LLMSummarizingContextManager` and `AmortizedForgettingContextManager` across multiple files.
* Updated argument parsing to support new context manager types and added a memory tool option.
* Introduced `PipelineContextManager` to allow chaining of context managers for more complex message handling.
* Added tests for new context managers and their functionalities, ensuring robust behavior in various scenarios.

* chore: set thinking_tokens to 0 for summary

* add reviewer workflow

* add reviewer

* Error handling in BrowserPressKeyTool and remove unused history initialization in SlideDeckInitTool (#76)

* Temporary fix for multiple tool call & Reduce token use in output of message_user tool (#77)

* temporary fix for multiple tool calls - only select the first tool

* Enhance message_tool.py to return success status with user message

* update prompt

* Support Gemini 2.5 Pro (#70)

* support Gemini 2.5 Pro

* change duration_seconds type from integer to string as Gemini requirement

* add error handling in image generation tool

* refine slide_deck_rules in system prompt

* include the generated tool ID in the Gemini internal message to prevent it from being removed during context truncation

* add Gemini to readme (#78)

* feat: Enable local LLM support via LMStudio (OpenAI-compatible API) (#72)

* feat: Add LMStudio support for local models and documentation

* docs: Update README with LMStudio support details and date

* docs: Update README with LMStudio support details and date

* Delete frontend/package-lock.json

* Delete frontend/yarn.lock

---------

Co-authored-by: Duy Phung <pvduy23@gmail.com>

* feat: connect google drive (#64)

* feat: connect google drive

* feat(frontend): show image_search result

* fix: Set default thinking_tokens to 0 in run_gaia and ws_server (#79)

* Support OpenAI Azure Endpoint (#80)

support Azure and refine slide desk part in system prompt for openAI model

* fix the enhancing prompt feature (empty tools) when using Gemini (#81)

* a2a first works

* Feat/anthropic interleaved think (#82)

* Feat: Support Anthropic interleaved thinking mode

* Removed the AmortizedForgettingContextManager from the codebase.
* Updated context manager initialization in cli.py, run_gaia.py, and ws_server.py to use TOKEN_BUDGET constant.
* Simplified argument parsing by removing context manager options from utils.py.
* Enhanced LLMSummarizingContextManager to handle thinking blocks and improved summarization logic.
* Updated tests to reflect changes in context manager behavior and removed tests related to amortized forgetting.

* feat(frontend): support reasoning effort

---------

Co-authored-by: Quy Pham <quy@ii.inc>

* Refactor frontend (#83)

* refactor(frontend): home component

* refactor(frontend): upload file

* add long video generation tools (#85)

* update readme (#84)

* Update README.md

* fix(frontend): messages state

* feat: enhance frontend and fix dockerfile (#86)

* Update README.md

* feat: enhance reviewer agent with detailed functionality testing

* update prompt for reviewer

* add try except for browser tools

* merge reviewer

* merge reviewer

* remove bad files

* default review false

* feat(reviewer): add enable review btn

* fix some bug

* refactor reviewer

* feat(review-result): change review btn

* feat(reviewer): add setting enable reviewer

* fix twice run reeview

---------

Co-authored-by: khongtrunght <khongtrunght@gmail.com>
Co-authored-by: ducphuE10 <nguyenducphu201101@gmail.com>
Co-authored-by: Nguyen Duc Phu <72448688+ducphuE10@users.noreply.github.com>
Co-authored-by: khongtrunght <53500679+khongtrunght@users.noreply.github.com>
Co-authored-by: Quy Pham <pbquy96@gmail.com>
Co-authored-by: Quy Pham <quy@ii.inc>
Co-authored-by: Ngo The Anh Khoa <khoa@ii.inc>
Co-authored-by: GokuDoku <51174240+GokuDoku@users.noreply.github.com>
@PhungVanDuy PhungVanDuy deleted the feat/connect-google-drive branch July 12, 2025 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants