glean-agent-toolkit 0.3.0__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.cz.toml +1 -2
- glean_agent_toolkit-0.5.0/.env.template +6 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.github/workflows/ci.yml +9 -11
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.github/workflows/publish.yml +27 -8
- glean_agent_toolkit-0.5.0/AGENTS.md +55 -0
- glean_agent_toolkit-0.5.0/CHANGELOG.md +28 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/COMMIT_LINTING.md +5 -5
- glean_agent_toolkit-0.5.0/CONTRIBUTING.md +93 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/PKG-INFO +178 -72
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/README.md +169 -69
- glean_agent_toolkit-0.5.0/docs/prerequisites.md +70 -0
- glean_agent_toolkit-0.5.0/mise.toml +201 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/pyproject.toml +16 -6
- glean_agent_toolkit-0.5.0/skills/glean-agent-toolkit-builder/SKILL.md +406 -0
- glean_agent_toolkit-0.5.0/skills/glean-agent-toolkit-guide/SKILL.md +294 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-01.py +6 -6
- glean_agent_toolkit-0.5.0/snippets/readme/snippet-03.bash +1 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-03.py +3 -3
- glean_agent_toolkit-0.5.0/snippets/readme/snippet-04.bash +2 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-04.py +6 -4
- glean_agent_toolkit-0.5.0/snippets/readme/snippet-05.bash +2 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-05.py +3 -3
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-07.bash +1 -1
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-09.py +1 -2
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/__init__.py +105 -0
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/adapters/__init__.py +34 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/adapters/adk.py +31 -8
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/adapters/base.py +76 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/adapters/crewai.py +27 -39
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/adapters/langchain.py +51 -50
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/adapters/openai.py +33 -11
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/context.py +104 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/decorators.py +74 -3
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/registry.py +4 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/spec.py +3 -1
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/__init__.py +11 -6
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/_common.py +201 -0
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/_compat.py +70 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/calendar_search.py +21 -10
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/chat.py +107 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/code_search.py +21 -12
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/employee_search.py +21 -18
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/gmail_search.py +21 -9
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/tools/outlook_search.py +21 -9
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/read_document.py +97 -0
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/search.py +117 -0
- glean_agent_toolkit-0.5.0/src/glean/agent_toolkit/tools/web_search.py +58 -0
- glean_agent_toolkit-0.5.0/tests/cassettes/test_search_api_error.yaml +81 -0
- glean_agent_toolkit-0.5.0/tests/cassettes/test_search_success.yaml +83 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/conftest.py +1 -1
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_adapters.py +13 -2
- glean_agent_toolkit-0.5.0/tests/test_async.py +103 -0
- glean_agent_toolkit-0.5.0/tests/test_common.py +183 -0
- glean_agent_toolkit-0.5.0/tests/test_get_tools.py +86 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_api_compat.py +70 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_calendar_search.py +61 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_chat.py +118 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_code_search.py +69 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_common.py +131 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_employee_search.py +61 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_gmail_search.py +79 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_outlook_search.py +61 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_read_document.py +107 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_search.py +103 -0
- glean_agent_toolkit-0.5.0/tests/tools/test_web_search.py +61 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/uv.lock +27 -70
- glean_agent_toolkit-0.3.0/.env.template +0 -3
- glean_agent_toolkit-0.3.0/AGENTS.md +0 -55
- glean_agent_toolkit-0.3.0/CHANGELOG.md +0 -16
- glean_agent_toolkit-0.3.0/CONTRIBUTING.md +0 -93
- glean_agent_toolkit-0.3.0/Taskfile.yml +0 -309
- glean_agent_toolkit-0.3.0/mise.toml +0 -4
- glean_agent_toolkit-0.3.0/snippets/readme/snippet-03.bash +0 -1
- glean_agent_toolkit-0.3.0/snippets/readme/snippet-04.bash +0 -2
- glean_agent_toolkit-0.3.0/snippets/readme/snippet-05.bash +0 -2
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/__init__.py +0 -30
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/adapters/__init__.py +0 -24
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/adapters/base.py +0 -29
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/tools/_common.py +0 -78
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/tools/ai_web_search.py +0 -63
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/tools/glean_search.py +0 -50
- glean_agent_toolkit-0.3.0/src/glean/agent_toolkit/tools/web_search.py +0 -58
- glean_agent_toolkit-0.3.0/tests/test_common.py +0 -150
- glean_agent_toolkit-0.3.0/tests/tools/test_ai_web_search.py +0 -60
- glean_agent_toolkit-0.3.0/tests/tools/test_calendar_search.py +0 -69
- glean_agent_toolkit-0.3.0/tests/tools/test_code_search.py +0 -64
- glean_agent_toolkit-0.3.0/tests/tools/test_employee_search.py +0 -71
- glean_agent_toolkit-0.3.0/tests/tools/test_glean_search.py +0 -29
- glean_agent_toolkit-0.3.0/tests/tools/test_gmail_search.py +0 -66
- glean_agent_toolkit-0.3.0/tests/tools/test_outlook_search.py +0 -62
- glean_agent_toolkit-0.3.0/tests/tools/test_web_search.py +0 -69
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.gitignore +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.markdown-coderc.json +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.pre-commit-config.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/.vscode/settings.json +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/CODEOWNERS +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/LICENSE +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/RELEASE.md +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/pyrightconfig.json +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-01.bash +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-02.bash +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-02.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-06.bash +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-06.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-07.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-08.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/snippets/readme/snippet-10.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/src/glean/agent_toolkit/py.typed +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/__init__.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_complex_query.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_no_results.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_various_queries[blockchain applications].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_various_queries[cloud computing trends].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_various_queries[cybersecurity best practices].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_various_queries[machine learning frameworks 2025].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_ai_web_search_various_queries[sustainable technology solutions].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_by_attendee.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_by_date_range.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_no_results.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_various_queries[client demo presentation].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_various_queries[conference room bookings].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_various_queries[one-on-one meetings].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_various_queries[quarterly business review].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_calendar_search_various_queries[sprint planning meeting].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_complex_query.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_empty_query.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_various_queries[API endpoint security].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_various_queries[class UserManager].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_various_queries[database connection pool].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_various_queries[error handling middleware].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_code_search_various_queries[function login validation].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_by_department.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_by_role.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_no_results.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_various_queries[Sarah Johnson product manager].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_various_queries[UX designer mobile apps].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_various_queries[data scientist machine learning].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_various_queries[frontend developer React].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_employee_search_various_queries[security engineer DevOps].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_glean_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_glean_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_no_emails_found.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_various_queries[invoice from vendor].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_various_queries[meeting invitations].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_various_queries[password reset emails].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_various_queries[security alerts].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_various_queries[urgent emails from manager].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_with_filters[before:2025/01/01].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_with_filters[from:boss@company.com].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_with_filters[has:attachment].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_with_filters[label:important].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_gmail_search_with_filters[subject:urgent].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_calendar_events.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_no_results.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_various_queries[all-hands meeting].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_various_queries[budget review meeting].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_various_queries[client presentation tomorrow].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_various_queries[project deadline reminder].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_outlook_search_various_queries[team standup calendar].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_api_error.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_news_query.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_no_results.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_specific_domain.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_success.yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_various_queries[API design patterns].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_various_queries[Docker container deployment].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_various_queries[JavaScript frameworks comparison].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_various_queries[database optimization techniques].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/cassettes/test_web_search_various_queries[mobile app development].yaml +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_decorators.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_enhanced_schemas.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_registry.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_schema_generation.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/test_toolspec.py +0 -0
- {glean_agent_toolkit-0.3.0 → glean_agent_toolkit-0.5.0}/tests/tools/__init__.py +0 -0
|
@@ -22,13 +22,13 @@ jobs:
|
|
|
22
22
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
23
23
|
|
|
24
24
|
- name: Setup development environment
|
|
25
|
-
run:
|
|
25
|
+
run: mise run setup
|
|
26
26
|
|
|
27
27
|
- name: Run linters
|
|
28
|
-
run:
|
|
28
|
+
run: mise run lint
|
|
29
29
|
|
|
30
30
|
- name: Build package
|
|
31
|
-
run:
|
|
31
|
+
run: mise run build
|
|
32
32
|
|
|
33
33
|
test:
|
|
34
34
|
name: Test Python ${{ matrix.python-version }}
|
|
@@ -44,23 +44,21 @@ jobs:
|
|
|
44
44
|
uses: jdx/mise-action@v2
|
|
45
45
|
with:
|
|
46
46
|
cache: true
|
|
47
|
-
mise_toml: |
|
|
48
|
-
[tools]
|
|
49
|
-
python = "${{ matrix.python-version }}"
|
|
50
|
-
task = "latest"
|
|
51
|
-
uv = "latest"
|
|
52
47
|
|
|
53
48
|
env:
|
|
54
49
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
50
|
|
|
56
51
|
- name: Setup development environment
|
|
57
|
-
run:
|
|
52
|
+
run: mise use -g python@${{ matrix.python-version }} uv@latest && mise install
|
|
53
|
+
|
|
54
|
+
- name: Initialize dev environment
|
|
55
|
+
run: mise run setup
|
|
58
56
|
|
|
59
57
|
- name: Run tests
|
|
60
|
-
run:
|
|
58
|
+
run: mise run test
|
|
61
59
|
|
|
62
60
|
- name: Test package installation
|
|
63
61
|
run: |
|
|
64
|
-
|
|
62
|
+
mise run build
|
|
65
63
|
uv run pip install dist/*.whl
|
|
66
64
|
uv run python -c "import glean.agent_toolkit; print('Package installed successfully')"
|
|
@@ -3,11 +3,30 @@ name: Publish to PyPI
|
|
|
3
3
|
on:
|
|
4
4
|
push:
|
|
5
5
|
tags:
|
|
6
|
-
- '
|
|
6
|
+
- '[0-9]*.[0-9]*.[0-9]*'
|
|
7
7
|
workflow_dispatch:
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
|
-
|
|
10
|
+
test:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- name: Set up mise
|
|
16
|
+
uses: jdx/mise-action@v2
|
|
17
|
+
with:
|
|
18
|
+
cache: true
|
|
19
|
+
env:
|
|
20
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
21
|
+
|
|
22
|
+
- name: Initialize dev environment
|
|
23
|
+
run: mise run setup
|
|
24
|
+
|
|
25
|
+
- name: Run tests
|
|
26
|
+
run: mise run test
|
|
27
|
+
|
|
28
|
+
build-and-publish:
|
|
29
|
+
needs: test
|
|
11
30
|
runs-on: ubuntu-latest
|
|
12
31
|
environment: pypi
|
|
13
32
|
permissions:
|
|
@@ -18,14 +37,14 @@ jobs:
|
|
|
18
37
|
- uses: actions/checkout@v4
|
|
19
38
|
with:
|
|
20
39
|
fetch-depth: 0 # Needed for changelog generation
|
|
21
|
-
|
|
40
|
+
|
|
22
41
|
- name: Set up mise
|
|
23
42
|
uses: jdx/mise-action@v2
|
|
24
43
|
with:
|
|
25
44
|
cache: true
|
|
26
45
|
env:
|
|
27
46
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
28
|
-
|
|
47
|
+
|
|
29
48
|
- name: Build package
|
|
30
49
|
run: uv build
|
|
31
50
|
|
|
@@ -34,10 +53,10 @@ jobs:
|
|
|
34
53
|
run: |
|
|
35
54
|
# Get latest tag for both push and manual triggers
|
|
36
55
|
LATEST_TAG=$(git describe --tags --abbrev=0)
|
|
37
|
-
|
|
56
|
+
|
|
38
57
|
echo "LATEST_TAG=${LATEST_TAG}" >> $GITHUB_OUTPUT
|
|
39
58
|
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
|
|
40
|
-
|
|
59
|
+
|
|
41
60
|
# Try to get previous tag
|
|
42
61
|
if PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null); then
|
|
43
62
|
# If we have a previous tag, show changes between tags
|
|
@@ -47,12 +66,12 @@ jobs:
|
|
|
47
66
|
uvx --from commitizen cz changelog --dry-run >> $GITHUB_OUTPUT
|
|
48
67
|
fi
|
|
49
68
|
echo "EOF" >> $GITHUB_OUTPUT
|
|
50
|
-
|
|
69
|
+
|
|
51
70
|
- name: Create GitHub Release
|
|
52
71
|
uses: softprops/action-gh-release@v1
|
|
53
72
|
with:
|
|
54
73
|
tag_name: ${{ steps.CHANGELOG.outputs.LATEST_TAG }}
|
|
55
74
|
body: ${{ steps.CHANGELOG.outputs.CHANGELOG }}
|
|
56
|
-
|
|
75
|
+
|
|
57
76
|
- name: Publish package to PyPI
|
|
58
77
|
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Agent Guidelines
|
|
2
|
+
|
|
3
|
+
This project contains the **Glean Agent Toolkit**, a Python package used to integrate Glean's search and discovery tools with various agent frameworks.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
1. Install the prerequisites:
|
|
8
|
+
- [uv](https://github.com/astral-sh/uv)
|
|
9
|
+
- [mise](https://mise.jdx.dev/)
|
|
10
|
+
2. Run `mise run setup` to create the `.venv` and install all development, test, lint and typing dependencies via `uv`.
|
|
11
|
+
|
|
12
|
+
Environment variables `GLEAN_API_TOKEN` and `GLEAN_SERVER_URL` (or deprecated `GLEAN_INSTANCE`) must be set to interact with Glean or regenerate VCR cassettes.
|
|
13
|
+
|
|
14
|
+
## Development Tasks
|
|
15
|
+
|
|
16
|
+
The repository uses **mise**. Key commands include:
|
|
17
|
+
|
|
18
|
+
| Task | Description |
|
|
19
|
+
|------|-------------|
|
|
20
|
+
| `mise run test` | Run unit tests |
|
|
21
|
+
| `mise run test:watch` | Run tests in watch mode |
|
|
22
|
+
| `mise run test:cov` | Run tests with coverage |
|
|
23
|
+
| `mise run test:all` | Run tests, apply lint fixes, and run pyright |
|
|
24
|
+
| `mise run lint` | Run Ruff, formatting checks and pyright |
|
|
25
|
+
| `mise run lint:diff` | Lint only changed files |
|
|
26
|
+
| `mise run lint:fix` | Apply Ruff fixes and formatting |
|
|
27
|
+
| `mise run format` | Format code using Ruff formatter |
|
|
28
|
+
| `mise run spell:check` | Check spelling |
|
|
29
|
+
| `mise run clean` | Remove build artifacts |
|
|
30
|
+
| `mise run build` | Build the package |
|
|
31
|
+
| `mise run release` | Bump version and generate the changelog |
|
|
32
|
+
|
|
33
|
+
Special tasks exist to manage VCR cassettes used in tests:
|
|
34
|
+
|
|
35
|
+
- `mise run test:vcr:regenerate` – Re-record all HTTP interactions (requires `GLEAN_API_TOKEN` and `GLEAN_SERVER_URL`; deprecated `GLEAN_INSTANCE` is still accepted as fallback).
|
|
36
|
+
- `mise run test:vcr:clean` – Delete cassettes so the next test run regenerates them.
|
|
37
|
+
|
|
38
|
+
## Coding Guidelines
|
|
39
|
+
|
|
40
|
+
- Python **>=3.10** is required. The project enforces formatting with Ruff. Line length is limited to **100** characters and double quotes are used by default.
|
|
41
|
+
- Docstrings follow the **Google** style as configured in `pyproject.toml`.
|
|
42
|
+
- Type checking is performed with **pyright**.
|
|
43
|
+
- Tools should be implemented using the `@tool_spec` decorator found in `glean.agent_toolkit.decorators`. See existing tools under `src/glean/agent_toolkit/tools` for examples.
|
|
44
|
+
|
|
45
|
+
## Contribution Process
|
|
46
|
+
|
|
47
|
+
1. Fork the repository and create a branch from `main`.
|
|
48
|
+
2. Make your changes and ensure all tasks run cleanly (`mise run test` and `mise run lint`).
|
|
49
|
+
3. Update or add documentation when necessary.
|
|
50
|
+
4. Submit a pull request.
|
|
51
|
+
5. Be respectful and follow the project's code of conduct.
|
|
52
|
+
|
|
53
|
+
## Additional Notes
|
|
54
|
+
|
|
55
|
+
Check the [README](README.md) for feature descriptions and basic usage. The package is released under the [MIT License](LICENSE).
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
## 0.4.0 (2026-03-05)
|
|
2
|
+
|
|
3
|
+
### Feat
|
|
4
|
+
|
|
5
|
+
- Add `read_document` tool for fetching full document content by URL or document ID
|
|
6
|
+
- Add `GLEAN_SERVER_URL` environment variable support; `GLEAN_INSTANCE` is retained as a deprecated fallback
|
|
7
|
+
- Add retry backoff configuration via environment variables (`GLEAN_RETRY_INITIAL`, `GLEAN_RETRY_MAX`, `GLEAN_RETRY_MULTIPLIER`, `GLEAN_RETRY_MAX_ELAPSED`)
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Add `glean_` prefix to all tool spec names for clarity in multi-tool agent environments (`search` → `glean_search`, `employee_search` → `glean_employee_search`, etc.)
|
|
12
|
+
|
|
13
|
+
## 0.3.0 (2025-07-21)
|
|
14
|
+
|
|
15
|
+
### Feat
|
|
16
|
+
|
|
17
|
+
- Add enhanced parameter schemas with Field metadata support
|
|
18
|
+
|
|
19
|
+
### Fix
|
|
20
|
+
|
|
21
|
+
- Adds newline to .cz.toml
|
|
22
|
+
- Fixes type errors during task:lint
|
|
23
|
+
|
|
24
|
+
## 0.2.0 (2025-06-05)
|
|
25
|
+
|
|
26
|
+
### Feat
|
|
27
|
+
|
|
28
|
+
- Implements Agent Builder tools as defaults
|
|
@@ -25,7 +25,7 @@ Examples:
|
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
27
|
# Install all dependencies including pre-commit
|
|
28
|
-
|
|
28
|
+
mise run setup
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
This will:
|
|
@@ -37,7 +37,7 @@ This will:
|
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
39
|
# Install pre-commit hooks
|
|
40
|
-
|
|
40
|
+
mise run pre-commit:install
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
## Available Tools
|
|
@@ -54,13 +54,13 @@ Pre-commit hooks run automatically before each commit and will:
|
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
56
|
# Run pre-commit hooks on all files
|
|
57
|
-
|
|
57
|
+
mise run pre-commit:run
|
|
58
58
|
|
|
59
59
|
# Run pre-commit hooks on changed files only
|
|
60
|
-
|
|
60
|
+
mise run pre-commit:run:diff
|
|
61
61
|
|
|
62
62
|
# Update pre-commit hooks to latest versions
|
|
63
|
-
|
|
63
|
+
mise run pre-commit:update
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
## Making Commits
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# Contributing to Glean Agent Toolkit
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing to the Glean Agent Toolkit! This guide will help you understand the project structure, development workflow, and how to add new tools.
|
|
4
|
+
|
|
5
|
+
## Project Structure
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
src/
|
|
9
|
+
├─ glean/
|
|
10
|
+
│ ├─ __init__.py
|
|
11
|
+
│ └─ agent_toolkit/ # exposes `glean.agent_toolkit`
|
|
12
|
+
│ ├─ __init__.py
|
|
13
|
+
│ ├─ decorators.py
|
|
14
|
+
│ ├─ registry.py
|
|
15
|
+
│ ├─ spec.py
|
|
16
|
+
│ ├─ adapters/
|
|
17
|
+
│ └─ tools/
|
|
18
|
+
├─ tests/
|
|
19
|
+
└─ docs/
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Development environment
|
|
23
|
+
|
|
24
|
+
The repository relies on [uv](https://github.com/astral-sh/uv) and [mise](https://mise.jdx.dev/) for reproducible workflows and task orchestration.
|
|
25
|
+
|
|
26
|
+
### Prerequisites
|
|
27
|
+
|
|
28
|
+
1. uv
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pip install uv
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
2. mise
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
brew install mise
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### One-time setup
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
mise run setup
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
The command creates `.venv/` and installs all dev/test dependencies via uv.
|
|
47
|
+
|
|
48
|
+
## Development Tasks
|
|
49
|
+
|
|
50
|
+
The project uses `mise` to manage development tasks. Here are the available tasks:
|
|
51
|
+
|
|
52
|
+
### Testing
|
|
53
|
+
|
|
54
|
+
| Task | Description |
|
|
55
|
+
| --------------------- | ---------------------------- |
|
|
56
|
+
| `mise run test` | Run unit tests |
|
|
57
|
+
| `mise run test:watch` | Run tests in watch mode |
|
|
58
|
+
| `mise run test:cov` | Run tests with coverage |
|
|
59
|
+
| `mise run test:all` | Run all tests and lint fixes |
|
|
60
|
+
|
|
61
|
+
### Linting and formatting
|
|
62
|
+
|
|
63
|
+
| Task | Description |
|
|
64
|
+
| ----------------------- | --------------------------------------- |
|
|
65
|
+
| `mise run lint` | Run Ruff, pyright and formatting checks |
|
|
66
|
+
| `mise run lint:diff` | Same as above but only on changed files |
|
|
67
|
+
| `mise run lint:package` | Lint only `glean/toolkit` |
|
|
68
|
+
| `mise run lint:tests` | Lint only `tests` |
|
|
69
|
+
| `mise run lint:fix` | Autofix style issues |
|
|
70
|
+
| `mise run format` | Apply Ruff formatter |
|
|
71
|
+
| `mise run format:diff` | Format only changed files |
|
|
72
|
+
|
|
73
|
+
### Examples and Utilities
|
|
74
|
+
|
|
75
|
+
| Task | Description |
|
|
76
|
+
| ---------------------- | ----------------------------------------------- |
|
|
77
|
+
| `mise run spell:check` | Check spelling |
|
|
78
|
+
| `mise run spell:fix` | Fix spelling |
|
|
79
|
+
| `mise run clean` | Clean build artifacts |
|
|
80
|
+
| `mise run build` | Build the package |
|
|
81
|
+
| `mise run release` | Create a new release (version bump + changelog) |
|
|
82
|
+
| `mise run security:audit` | Run dependency vulnerability audit (pip-audit) |
|
|
83
|
+
|
|
84
|
+
## Pull Request Process
|
|
85
|
+
|
|
86
|
+
1. Fork the repository and create your branch from `main`.
|
|
87
|
+
2. Make your changes and ensure that all tests pass.
|
|
88
|
+
3. Update the documentation to reflect any changes.
|
|
89
|
+
4. Submit a pull request.
|
|
90
|
+
|
|
91
|
+
## Code of Conduct
|
|
92
|
+
|
|
93
|
+
Please be respectful and considerate of others when contributing to this project.
|