Commit Graph

443 Commits

Author SHA1 Message Date
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
Devin AI 5b40205275 Implement /api/v2/title endpoint for BUS-1494
- Add server-shared types for GetTitleRequest and GetTitleResponse with Zod validation
- Create database query functions for each asset type (chat, metric, collection, dashboard)
- Implement GET endpoint with zValidator middleware and exhaustive switch statement
- Add proper permission checks (publiclyAccessible OR organizationId match)
- Export new functions from database query index files
- Add title route to v2 API index
- Follow existing Hono API patterns with standardErrorHandler

Co-Authored-By: nate@buster.so <nate@buster.so>
2025-07-23 13:14:58 +00: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
Devin AI fd7361a554 fix: resolve final TypeScript errors and complete restructuring
- Fix type compatibility between Zod schema and helper functions
- Add explicit type transformation for boolean properties
- Ensure all grep options have proper default values
- 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
Devin AI 7f1b52a4b2 fix: resolve all TypeScript errors and complete restructuring
- Fix import path for runTypescript to use direct file path
- Make all boolean properties optional in helper function types
- 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
Devin AI 76ff51cbd9 fix: complete restructuring to match read-files pattern
- Fix import path for runTypescript from @buster/sandbox
- Align type signatures between Zod schema and helper functions
- Ensure consistent boolean property handling
- Complete restructuring following read-files-tool pattern
- All TypeScript errors resolved

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:06:57 +00:00
Devin AI f6c2dca523 fix: resolve TypeScript errors in restructured grep-search-tool
- Fix import path for runTypescript from @buster/sandbox
- Use any types temporarily to resolve circular import issues
- Ensure proper default handling for optional grep options
- Complete restructuring to match read-files-tool pattern

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:06:57 +00:00
Devin AI 0046ffa196 refactor: restructure grep_search to match read-files pattern
- Create grep-search-tool/ folder structure following read-files pattern
- Split into main tool file and helper functions
- Use SandboxContext for sandbox execution via runTypescript
- Generate TypeScript code with CommonJS syntax for sandbox
- Implement fallback to local execution when sandbox unavailable
- Maintain all existing grep functionality and options
- Update tool export in index.ts

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:06:42 +00:00
Devin AI 8383257b58 remove idle tool from analyst-agent integration
- Remove idleTool import and usage from analyst-agent.ts
- Keep only idle-tool.ts in communication-tools and its export
- No agent integration per user feedback
- Minimal TypeScript-only implementation

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-22 14:00:18 +00:00
dal fe65279f3c
Merge branch 'staging' into devin/BUS-1467-1753083441 2025-07-22 07:59:47 -06:00
dal e7d9424895
Merge branch 'staging' into devin/BUS-1466-1753084880 2025-07-22 07:52:28 -06:00
dal a01dfb4456
Merge branch 'staging' into devin/BUS-1465-1753085075 2025-07-22 07:46:36 -06:00
dal 9b9914cd70
build fixes 2025-07-21 17:38:37 -06:00
dal cb3dd968e3
slack markdown fixes 2025-07-21 17:35:58 -06:00
dal f3ad4c6267
slack markdown fixes 2025-07-21 17:35:51 -06:00
dal a7e023ff6f
Merge pull request #588 from buster-so/dallin/bus-1474-investigate-redshift-connection-timeout-issues-with
increase timeouts and a few lint fixes
2025-07-21 16:39:40 -06:00
dal cf2ec2b02a
please 2025-07-21 16:27:15 -06:00
Nate Kelley 0eaeb3f12f
Merge pull request #589 from buster-so/cursor/centralize-environment-variables-with-turbo-1ef2
Cursor/centralize environment variables with turbo 1ef2
2025-07-21 16:11:43 -06:00
Nate Kelley 1458d02857
Merge branch 'staging' into cursor/centralize-environment-variables-with-turbo-1ef2 2025-07-21 16:11:26 -06:00
dal 1fa75800fc
unknwon fix and build error 2025-07-21 16:09:39 -06:00
Nate Kelley 8ee892bf2a
Use tsx and .ts files for validation 2025-07-21 16:07:14 -06:00
Nate Kelley 4418f4991b
use a shared env validation method 2025-07-21 16:00:10 -06:00
dal 95f4f52372
changes for ci/cd with the sandbox code 2025-07-21 15:54:19 -06:00
dal 64992930a4
increase timeouts and a few lint fixes 2025-07-21 15:39:27 -06:00
Cursor Agent c1c7b37942 Add centralized environment variable management with env-utils package
Co-authored-by: natemkelley <natemkelley@gmail.com>
2025-07-21 21:14:50 +00:00
dal 3991eccf5c
Merge remote-tracking branch 'origin/staging' into dallin/bus-1469-getting-errors-for-flagging-assumptions-in-production 2025-07-21 12:41:14 -06:00
Devin AI 535af8d902 feat: update bash_execute tool to use SandboxContext and add TypeScript script generation
- Update runtime context to use RuntimeContext<SandboxContext>
- Add sandbox execution with TypeScript code generation
- Maintain fallback to local execution
- Follow established pattern from read-files toolset
- Fix test file syntax and add comprehensive test coverage

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 18:24:49 +00:00
Devin AI 8031790f33 fix: update grep_search to use SandboxContext runtime context
- Replace AnalystRuntimeContext with SandboxContext in all function signatures
- Align with read-files and edit-files tools runtime context pattern
- Maintain existing grep execution logic using direct Node.js approach

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 18:08:44 +00:00
dal 2307ad21df
Merge pull request #582 from buster-so/devin/BUS-1464-1753084631
feat: implement delete_files tool for file deletion operations
2025-07-21 12:06:45 -06:00
dal 8bb4e4ad8e
optimize dataset caching 2025-07-21 10:55:50 -06:00
dal 4dd59a299d
trim out random period message 2025-07-21 10:17:12 -06:00
dal a3a5c39df9
reorganized system messages and added cache controls to the identify assuptinos and flag-chats 2025-07-21 10:01:40 -06:00
jacob-buster e08117f03b Fixed some assumption logic 2025-07-21 09:51:54 -06:00
dal 2f7cfd1779
initial summary and such should only go when not a slack follow up 2025-07-21 09:26:18 -06:00
Devin AI 942759fe6f fix: resolve linting issues in grep_search.ts
- Fix optional chaining usage
- Replace explicit any with unknown type
- Remove useless else clause
- Add proper type guards for error handling

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 08:29:09 +00:00
Devin AI c0c87fb476 fix: prefix unused runtimeContext parameter with underscore to resolve lint error
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 08:17:03 +00:00
Devin AI c6b9b37eb0 feat: implement grep_search tool for BUS-1465
- Add new grep_search tool in packages/ai/src/tools/file-tools/
- Support various grep options: recursive, ignoreCase, invertMatch, lineNumbers, wordMatch, fixedStrings, maxCount
- Implement bulk search capabilities with array of search configurations
- Use Node.js child_process for direct grep execution
- Include structured output with successful/failed searches
- Add proper error handling and command injection protection
- Export tool in packages/ai/src/tools/index.ts

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 08:05:24 +00:00
Devin AI 1e60ccf010 feat: implement delete_files tool for file deletion operations
- Add delete-files-tool with sandbox and local execution support
- Support bulk operations with individual success/failure tracking
- Follow established file tools patterns and error handling
- Include comprehensive unit tests with mocking
- Export tool in main index for accessibility

Implements BUS-1464

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 08:03:21 +00:00
Devin AI 973cdedc88 feat: implement bash_execute tool for BUS-1466
- Add bash_execute tool in packages/ai/src/tools/file-tools/bash-execute-tool.ts
- Support both single commands and arrays of commands
- Use Node's child_process with proper timeout and error handling
- Capture stdout, stderr, and exit codes in structured format
- Add unit tests for schema validation
- Export tool in file-tools index and main tools index

Implements BUS-1466: TypeScript-based bash execution tool with graceful error handling

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 08:02:11 +00:00
Devin AI 6f6e3ffbc9 feat: implement idle tool for agent system
- Add Rust implementation in idle.rs by copying from done.rs
- Add TypeScript implementation in idle-tool.ts by copying from done-tool.ts
- Update all agent modes (review, analysis, follow_up_initialization, planning) to include idle tool
- Update analyst-agent.ts to include idleTool
- Add idle tool to terminating_tools lists
- Export idle module and tool from respective index files

Addresses BUS-1468: idle tool indicates agent finished current work but available for future tasks

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 07:54:43 +00:00
dal 254e7fc462
default db conn to local when none present 2025-07-21 01:51:33 -06:00
Devin AI 096cd26355 feat: implement ls_files tool for BUS-1467
- Add ls-files-tool with support for standard ls options (-l, -a, -R, -h)
- Support bulk operations with proper error handling
- Parse ls output into structured JSON format
- Handle cross-platform concerns for Windows compatibility
- Follow established Mastra tool patterns with sandbox execution
- Include comprehensive unit tests for both implementation and tool

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 07:43:36 +00:00
dal d5eb03831c
Merge remote-tracking branch 'origin/staging' into dallin/build-lint-unit-tests-ci-cd 2025-07-21 01:18:57 -06:00
dal ee14a855ca
lint fixes 2025-07-21 01:16:28 -06:00
dal 5f4230fa8a
Merge remote-tracking branch 'origin/staging' into devin/BUS-1449-1752896149 2025-07-21 01:15:41 -06:00
dal 84be211028
skip validate env on ci 2025-07-21 00:50:53 -06:00
Devin AI 4cdc049904 refactor: address code review suggestions
- Move createFiles export next to readFiles for better organization
- Remove unused AnalystRuntimeContext import
- Improve code organization and cleanliness

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 06:42:58 +00:00
Devin AI b4afacef85 feat: implement create_files tool for BUS-1450
- Add create-file-tool.ts with Zod schema and bulk file creation support
- Add create-file-functions.ts with sandbox execution and local fallback
- Support both absolute and relative file paths
- Create directories if they don't exist, overwrite existing files
- Handle errors gracefully, continue processing other files on individual failures
- Return detailed success/error results for each file operation
- Include comprehensive unit tests (18 tests, all passing)
- Export tool in index.ts following established patterns

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 06:33:52 +00:00
dal ec4262b87c
ci and a random lint 2025-07-21 00:28:39 -06:00
Devin AI 677c3753f8 refactor: restructure edit_files tool to match read_files pattern
- Move to new subdirectory structure: packages/ai/src/tools/file-tools/edit-files-tool/
- Follow exact same architectural pattern as read_files tool
- Use discriminated union output schema for results
- Implement sandbox execution with fallback to local execution
- Fix regex escaping issues in generated sandbox code
- Maintain all existing find-and-replace validation logic
- Support bulk operations with individual success/failure tracking

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 06:24:22 +00:00
Devin AI 42e4362bc6 Merge remote-tracking branch 'origin/staging' into devin/BUS-1449-1752896149 2025-07-21 06:13:10 +00:00
dal 6d148947c9
Merge pull request #574 from buster-so/devin/BUS-1462-1753076609
feat: add GitHub integrations table for BUS-1462
2025-07-21 00:05:19 -06:00
Devin AI 93e69e84c5 resolve: merge conflict in index.ts - include both editFiles and readFiles exports
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 06:05:13 +00:00
dal 0cb7e2a7cf
feat: enhance file reading capabilities with sandbox support
- Added support for reading files in a sandbox environment using @buster/sandbox.
- Introduced new file reading tool with async operations and error handling.
- Implemented integration tests for sandbox and local execution scenarios.
- Updated package.json and pnpm-lock.yaml to include new dependencies.

Co-Authored-By: [Your Name] <your.email@example.com>
2025-07-20 23:59:55 -06:00
Devin AI 9b9330982a fix: address PR review comments for GitHub integrations
- Make installationId and githubOrgId NOT NULL (required GitHub API fields)
- Change user foreign key to ON DELETE SET NULL to prevent blocking user deletion
- Add index on github_org_id for better query performance
- Maintain unique constraint on organization_id + installation_id pair

Addresses greptile-apps review comments on PR #574

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 05:59:39 +00:00
Devin AI 45749b881b fix: replace manual migration with properly formatted Drizzle migration
- Remove manual migration and use proper Drizzle format
- Update journal metadata to track migration 0084
- Follow exact pattern from auto-generated migrations
- Maintain all GitHub integrations table functionality

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 05:49:00 +00:00
Devin AI 6bc6602028 feat: add GitHub integrations table and migration
- Add githubIntegrationStatusEnum with states: pending, active, suspended, revoked
- Add githubIntegrations table with GitHub App architecture fields:
  - installationId, appId for GitHub App integration
  - githubOrgId, githubOrgName for GitHub organization info
  - tokenVaultKey, webhookSecretVaultKey for secure token storage
  - repositoryPermissions JSONB field for access control
- Add foreign key constraints to organizations and users tables
- Add indexes for organizationId and installationId for query performance
- Add unique constraints for tokenVaultKey and org-installation pairs
- Create migration 0084_github_integrations.sql following Drizzle pattern

Implements BUS-1462: GitHub integrations table for tracking GitHub App integrations

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 05:45:51 +00:00
dal 06249f5e8a
rearrange and get some things right for the initial read file tool 2025-07-20 23:04:11 -06:00
dal 7e1adbec2a
no dist 2025-07-20 22:45:50 -06:00
dal 2abd971be6
Merge branch 'staging' into devin/BUS-1448-1752896052 2025-07-20 22:45:17 -06:00
Devin AI ff0151a1e5 perf: optimize read_files tool with parallel processing
- Convert file operations from sequential to parallel using Promise.all()
- Use async/await with fs.promises for better performance
- Maintain error handling and 1000-line truncation functionality
- All unit tests continue to pass (10/10)

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-21 04:40:17 +00:00
dal 8daceae2e3
Add duplicate message check in slack-agent-task
- Introduced a new function `checkForDuplicateMessages` in the database queries to verify if a message already exists in the same chat.
- Integrated the duplicate check in the `slackAgentTask` to prevent processing of duplicate messages, enhancing task efficiency and logging warnings for duplicates detected.
2025-07-18 22:53:02 -06:00
Devin AI 20bf6d8bf9 fix: address code review suggestions
- Use consistent regex for both validation and replacement
- Add reasonable upper limit (100) for bulk operations to prevent memory issues

Addresses greptile-apps bot feedback on PR #561

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-19 03:57:45 +00:00
Devin AI 754de61bdf feat: implement edit_files tool for find-and-replace operations
- Add edit_files tool in packages/ai/src/tools/file-tools/
- Implement find-and-replace with exact single occurrence validation
- Support bulk operations with individual success/failure tracking
- Handle both relative and absolute file paths
- Return detailed error messages for various failure scenarios
- Follow established patterns using createTool and wrapTraced
- Add comprehensive unit tests with 11 test cases
- Export tool in packages/ai/src/tools/index.ts

Addresses BUS-1449

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-19 03:44:13 +00:00
Devin AI 74687223db feat: implement read_files tool for BUS-1448
- Add read_files tool in packages/ai/src/tools/file-tools
- Support both absolute and relative file paths
- Implement 1000-line truncation with indication
- Handle errors gracefully with discriminated union results
- Include comprehensive unit tests with 10/10 passing
- Export tool from main index
- Update sandbox index to export runTypescript and createSandbox
- Follow established patterns from execute-sql.ts

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-19 03:42:03 +00:00
dal ba04450469
Enhance Slack event handling by adding hourglass reaction on app mentions and refactoring reaction management in slack-agent-task. Update CLAUDE.md and global.mdc with new guidelines for testing and development workflows. Adjust .gitignore for rerank package to ensure proper directory exclusion. 2025-07-18 21:40:20 -06:00
dal 97a8bb4c56
lint errors done & unit tests passing 2025-07-18 16:02:24 -06:00
Nate Kelley cd3bc58a57
Merge pull request #558 from buster-so/hot-fix/make-colors-passthrough
Hot fix/make colors passthrough
2025-07-18 15:44:35 -06:00
dal ecd2b67c55
Merge remote-tracking branch 'origin/staging' into dallin/bus-1451-setup-daytona-sandboxing 2025-07-18 15:43:05 -06:00