Commit Graph

414 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 77ffeab37a
Fix Snowflake adapter tests for lowercase column names
The Snowflake adapter implementation transforms column names to lowercase
for consistency, but the tests were expecting uppercase column names.
This commit updates the tests to match the implementation:

- Update test expectations to use lowercase column names (id, name)
- Fix hasMoreRows assertions to match implementation logic (only true when rowCount > limit)
- Ensure all Snowflake-related tests pass with the current adapter behavior

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-23 10:09:51 -06:00
dal d371a65524
Update Snowflake adapter tests and implementation for improved row handling
- Increased allowed variance in cached query time checks to accommodate network fluctuations.
- Corrected property name in test assertions to match expected lowercase format.
- Enhanced SnowflakeAdapter to transform column names to lowercase and adjusted logic for determining if more rows are available from the stream.
2025-07-23 10:01:34 -06:00
dal 03ba461dc4
Merge remote-tracking branch 'origin/staging' into devin/BUS-1495-1753278753 2025-07-23 09:43:18 -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
Devin AI efd56f90a7 Fix max-rows-limiting test mocks for streaming implementation
- Update Snowflake adapter test to use streamResult: true
- Mock streamRows method with proper stream event handling
- Remove TypeScript error from destroyed property
- Verify streamRows called with correct start/end parameters

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 14:12:25 +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
Devin AI 315a151a3f BUS-1495: Implement Snowflake adapter streaming with network-level row limiting
- Update query() method to use streamResult: true and stmt.streamRows()
- Add network-level row limiting with default 5000 row cap
- Process stream events (data, error, end) to build result set
- Maintain backward compatibility with existing adapter interface
- Update unit tests to mock streaming behavior
- Fix integration test imports and property names
- Preserve query caching by using original SQL unchanged

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-23 13:56:40 +00: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