Commit Graph

176 Commits

Author SHA1 Message Date
dal 9e67fbfaae
refactor: update web search tool integration tests and improve code formatting
- Changed test query from 'OpenAI GPT' to 'Buster Data' with an increased limit of 10.
- Reorganized import statements in web-search-tool.ts for better readability.
- Enhanced formatting in permission-validator.test.ts for improved code clarity.
2025-07-23 13:12:56 -06:00
Devin AI 341b97f351 feat: implement web search functionality for BUS-1501
- Add webSearch method to FirecrawlService with WebSearchOptions, WebSearchResult, and WebSearchResponse interfaces
- Export new types from web-tools package
- Create web-search-tool in AI package with proper input/output schemas
- Add comprehensive unit tests for webSearch method (16 tests total)
- Add tool tests with mocking (4 tests)
- Add integration tests (skipped when no API key)
- Update package exports and dependencies
- Default search limit: 5, default format: markdown, content scraping enabled
- Proper error handling using CompanyResearchError
- AI package has no direct Firecrawl dependency

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 17:43:13 +00:00
dal 21a89151d3
Merge pull request #600 from buster-so/devin/BUS-1487-1753225168
feat: implement wildcard validation for SQL security (BUS-1487)
2025-07-23 10:23:22 -06:00
dal 240986d7a0
instruction on execute sql 2025-07-23 10:16:49 -06:00
dal 5aa781a536
Add fetch body modification for tool_choice in Anthropics and Vertex models
- Implemented a custom fetch function in both anthropic.ts and vertex.ts to modify the request body.
- If tool_choice is present, added disable_parallel_tool_use to the request body.
- Included error handling for JSON parsing to ensure fallback to original request on failure.
2025-07-23 09:32:07 -06:00
dal f10627b005
Implement AbortError handling in streaming models
- Added tests for handling AbortError scenarios in both memory-safe and standard streaming models.
- Updated the FallbackModel to gracefully handle intentional aborts without retrying or causing errors.
- Ensured that the controller closes properly on AbortError and that no fallback to subsequent models occurs.
- Enhanced mock models to simulate AbortError conditions for comprehensive testing.
2025-07-23 09:01:08 -06:00
dal 5be55782fc
Update packages/ai/src/utils/memory/message-converters.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:29:47 -06:00
dal 87aa4f1993
Update packages/ai/src/tools/communication-tools/respond-without-asset-creation.test.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:29:40 -06:00
dal 3161c2b5e1
Update packages/ai/src/utils/memory/message-converters.test.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:29:20 -06:00
dal 5b0b6f360b
Update packages/ai/src/utils/database/format-llm-messages-as-reasoning.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:29:06 -06:00
dal b1be6aacc2
Update packages/ai/src/tools/communication-tools/respond-without-asset-creation.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:28:58 -06:00
dal b13d7c71fb
Update packages/ai/evals/agents/analyst-agent/metrics/think-and-prep-updates.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:28:38 -06:00
dal 6c52727b48
Update packages/ai/src/tools/communication-tools/respond-without-asset-creation.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-23 08:28:32 -06:00
Devin AI a44153e2ee fix: update permission validator tests to work with wildcard validation
- Replace SELECT * with explicit column names in permission validation tests
- Update CTE test to use explicit columns in final SELECT
- Maintain test intent while aligning with new wildcard security validation
- Ensure all tests pass with new wildcard blocking behavior

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 14:23:32 +00:00
dal 24cfab962d
refactor: rename respondWithoutAnalysis to respondWithoutAssetCreation
- Updated references across multiple files to reflect the new tool name.
- Adjusted unit tests and schemas to ensure compatibility with the renamed tool.
- Removed the old respondWithoutAnalysis tool implementation and its associated tests.
- Ensured backward compatibility for existing functionality using the old tool name.
2025-07-23 08:12:23 -06:00
dal 7ddc683104
Merge remote-tracking branch 'origin/blake/prompt-changes-think-and-prep' into dallin/bus-1122-reviewpush-the-think-and-prep-mode-updates 2025-07-23 07:59:52 -06:00
Devin AI 3ac9d8b159 fix: replace 'as any' with proper types to resolve linting violations
- Import Select from node-sql-parser for type safety
- Replace function parameter types with Record<string, unknown> for dynamic AST objects
- Use proper type conversions through 'unknown' for incompatible types
- Maintain existing wildcard validation functionality
- Resolve all 8 noExplicitAny linting violations

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 13:58:11 +00:00
dal 535777cc85
Merge pull request #604 from buster-so/dallin/bus-1488-try-switching-to-cloudflare-ai-gateway
feat: add Google Vertex AI and improve model handling
2025-07-23 07:57:20 -06:00
dal 5f779a6fe1
logic fix and ci improvement 2025-07-23 07:54:31 -06:00
dal 584387b9c1
small test fixes for unit testing and such 2025-07-23 07:48:28 -06:00
Devin AI b38940939b feat: implement TypeScript wildcard validation for SQL security (BUS-1487)
- Add validateWildcardUsage function to sql-parser-helpers.ts
- Block SELECT * and qualified wildcards on physical database tables
- Allow wildcards on CTEs and derived tables
- Integrate wildcard validation into permission-validator.ts
- Add comprehensive tests for all wildcard validation scenarios
- Revert Rust SQL analyzer changes to focus on TypeScript implementation
- Fix CTE alias handling for qualified wildcards (e.g., SELECT cte_alias.*)

This prevents bypassing column-level permissions through wildcard queries
while maintaining backward compatibility with legitimate query patterns.

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 13:43:26 +00:00
Devin AI fdca380134 feat: implement wildcard validation in TypeScript sql-parser-helpers
- Add validateWildcardUsage() function to block SELECT * on physical tables
- Allow wildcards on CTEs but block on physical database tables
- Add comprehensive tests for wildcard validation scenarios
- Integrate wildcard validation into permission validator
- Supports all SQL dialects via node-sql-parser
- Prevents permission bypass through wildcard queries

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 13:34:56 +00:00
dal 2cd36e47e1
feat: add Google Vertex AI and improve model handling
- Added support for Google Vertex AI model version 2.2.27 in pnpm-lock.yaml and package.json.
- Introduced new model wrappers for Sonnet4 and Haiku35 with fallback logic.
- Updated various agents to utilize the new Sonnet4 model instead of the previous anthropicCachedModel.
- Enhanced error handling and retry logic in the fallback model implementation.
- Increased processing row limit in Snowflake query to 5000 for better performance.
- Added tests for new AI fallback models and their streaming capabilities.
2025-07-23 07:22:52 -06:00
dal a6297182b1
Merge pull request #599 from buster-so/dallin/bus-1485-clarifications-and-todolist-runtime-context
Dallin/bus-1485-clarifications-and-todolist-runtime-context
2025-07-22 14:02:01 -06:00
dal a621f74910
feat: add new tools for managing todo lists and clarifications
- Export checkOffTodoList and updateClarificationsFile from their respective modules in the planning-thinking-tools directory.
2025-07-22 13:01:01 -06:00
Nate Kelley d0984835eb
update ai biome settings 2025-07-22 12:20:51 -06:00
dal 7337e11b25
move bash into its own folder 2025-07-22 12:15:59 -06:00
Nate Kelley c49bdd2426
fix some broken unit tests 2025-07-22 12:14:55 -06:00
dal 65a39041a8
renamed the sandbox context to the docs agent context and added in the clarification and the todos list 2025-07-22 12:14:43 -06:00
Blake Rouse b41c3d4743 Refactor think-and-prep agent tools and update scoring functions
- Renamed `respondWithoutAnalysis` to `respondWithoutAssetCreation` across multiple files to better reflect its purpose.
- Updated the `think-and-prep-instructions.ts` to clarify the agent's focus on asset creation instead of analysis.
- Added a new file `think-and-prep-updates.ts` to implement the analyst workflow with improved error handling and response management.
- Commented out legacy code in `example_scorers.ts` and `metric.eval.ts` for clarity and future reference.
- Adjusted the `sequential-thinking-tool` to remove unnecessary fields and streamline the thought processing logic.

This refactor enhances the clarity and functionality of the think-and-prep agent, aligning it with the current project goals.
2025-07-22 11:56:40 -06:00
jacob-buster bffd375339 fix golden dataset eval file 2025-07-22 11:28:32 -06:00
jacob-buster 51920afe02 Golden Dataset Eval run file 2025-07-22 11:27:29 -06:00
Devin AI 58b1213480 feat: remove duplicate outputMessages field and standardize on conversationHistory
- Remove outputMessages from schema definitions in analyst-workflow.ts, types.ts, format-output-step.ts, mark-message-complete-step.ts, and analyst-step.ts
- Update step implementations to remove outputMessages assignments and use only conversationHistory
- Update test files to replace all outputMessages references with conversationHistory
- Remove fallback logic that checked both fields
- Fix variable shadowing issue in think-and-prep-step.ts

Fixes BUS-1476

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 16:15:04 +00:00
dal d1e697a877
Merge pull request #596 from buster-so/devin/BUS-1475-1753197860
Fix regression: maintain metricFilesToDashboardFiles associations in modify-dashboards-file-tool
2025-07-22 09:43:00 -06:00
Devin AI 5386905e38 fix: remove explicit any types to resolve lint errors
- Replace (row: any) and (item: any) with TypeScript inference
- Let DashboardYml interface provide proper typing
- Resolves noExplicitAny lint rule violations

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 15:37:21 +00:00
Devin AI 4fa1a66fa2 fix: maintain metricFilesToDashboardFiles associations in modify-dashboards-file-tool
- Add missing import for metricFilesToDashboardFiles table and drizzle operators
- Implement association management within existing transaction block
- Extract metric IDs from updated dashboard content and compare with existing associations
- Upsert records for added metrics with deletedAt set to null
- Soft delete records for removed metrics with deletedAt timestamp
- Follow same pattern established in create-dashboards-file-tool.ts
- Fix regression affecting public dashboard metrics inheritance

Fixes BUS-1475

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 15:24:21 +00:00
dal 464d3265d4
ls file working now 2025-07-22 09:23:11 -06:00
dal 51a1541abc
Merge branch 'staging' into devin/BUS-1467-1753083441 2025-07-22 09:13:43 -06:00
dal fc8ac85280
Merge branch 'staging' into devin/BUS-1465-1753085075 2025-07-22 09:12:05 -06:00
dal e1a60bdf11
build fixes 2025-07-22 09:11:36 -06:00
Devin AI 0c39a552ed Merge branch 'devin/BUS-1467-1753083441' of https://git-manager.devin.ai/proxy/github.com/buster-so/buster into devin/BUS-1467-1753083441 2025-07-22 14:53:19 +00:00
Devin AI fe77b4e3a8 fix: add optional chaining to ls_files tests for TypeScript strict null checks
- Follow patterns from read-files and edit-files tests
- Use optional chaining (?.) for array access to handle 'Object is possibly undefined' errors
- Fixes CI TypeScript compilation errors on lines 54, 55, 56, 65, 141, 142, 143

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:52:58 +00:00
dal 43f88dd3a4
Merge pull request #580 from buster-so/devin/BUS-1468-1753084167
feat: implement idle tool for agent system (BUS-1468)
2025-07-22 08:44:59 -06:00
Devin AI ce9de9e4c9 fix: resolve remaining TypeScript errors
- Add nullish coalescing operators for optional boolean properties
- Fix 'Object is possibly undefined' errors in unit tests
- Ensure type compatibility between Zod schema and helper functions

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:30:03 +00:00
Devin AI 6a11f76490 fix: resolve import path issues in bash_execute tool
- Fix import path for sandbox-context from '../../../' to '../../'
- Resolves CI failures: 'Cannot find module ../../../context/sandbox-context'
- Fixes type resolution: sandbox variable now resolves to Sandbox type
- All unit tests pass (8/8) and lint passes locally

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:28:28 +00:00
Devin AI 116393bfb4 fix: resolve TypeScript errors and complete restructuring
- Add all required boolean properties to unit test configurations
- Fix null check issues in test assertions
- Align helper function parameter types with Zod schema output
- Remove nullish coalescing operators since properties are now required
- Update integration test imports to match read-files-tool pattern

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:27:03 +00:00
Devin AI 9be8174945 Merge branch 'devin/BUS-1466-1753084880' of https://git-manager.devin.ai/proxy/github.com/buster-so/buster into devin/BUS-1466-1753084880 2025-07-22 14:15:07 +00:00
Devin AI bcaf303b55 fix: add comment to sandbox context check for clarity
- Add descriptive comment before sandbox availability check
- Matches pattern used in other working file tools
- Preparing to fix type resolution issue where sandbox resolves to unknown

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:14:41 +00:00
Devin AI e27a5ce0c5 fix: update bash-execute-tool tests to match working file tool patterns
- Use proper RuntimeContext<SandboxContext> type
- Add comprehensive mocking for @buster/sandbox and functions
- Test both sandbox and local execution paths
- Handle JSON parse errors and execution failures
- Follow patterns from create-files-tool tests

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:10:38 +00:00
Devin AI afd636d980 fix: complete restructuring with proper type compatibility
- Fix all TypeScript errors by making boolean properties optional
- Use nullish coalescing for default values consistently
- Complete restructuring to match read-files-tool pattern exactly
- All TypeScript errors resolved, ready for CI

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:06:57 +00:00