Commit Graph

399 Commits

Author SHA1 Message Date
dal ea0ab9f290
resolve comments 2025-09-02 13:10:22 -06:00
dal 679f55b16d
add in public facing chat endpoint 2025-09-02 12:27:51 -06:00
dal b3604c6cb0
embeddings and sync job 2025-09-02 11:29:46 -06:00
Nate Kelley b55dd2956a
update reasoning page 2025-08-29 20:44:06 -06:00
Nate Kelley 7fd779c319
auto change layout 2025-08-29 18:18:28 -06:00
dal 1b3150f466
Implement shortcuts feature in chat and API routes
- Added shortcuts routes to the API.
- Enhanced chat handler to process shortcuts in user prompts.
- Introduced shortcuts table schema in the database.
- Updated relevant queries and shared types to include shortcuts.
- Configured environment variables for database connection.
2025-08-28 12:48:01 -06:00
dal e165a37b36
migrate deploy to ts cli 2025-08-28 12:00:20 -06:00
dal 13038ff7b3
Update CLI and SDK configurations for improved functionality
- Enhanced the CLI with new linter rules and updated file structures for better organization.
- Modified package.json to reflect changes in dependencies and ensure compatibility.
- Improved the vitest configuration for better testing practices.
- Refactored various components for consistency and readability, including imports and error handling.
- Updated the server API and database queries to streamline authentication processes.
- Removed deprecated code and cleaned up unused files to maintain a tidy codebase.
2025-08-27 23:59:47 -06:00
dal 5726b01ecc
Enhance CLI functionality and SDK integration
- Added new CLI commands for authentication management and improved default action handling.
- Updated package.json to include new dependencies and scripts for building and running the CLI.
- Integrated authentication features into the SDK, allowing for API key validation.
- Modified the SDK configuration to use a new default API URL.
- Expanded the server API to include authentication routes.
- Updated database queries to support new API key functionalities.
- Improved code structure and readability across CLI and SDK components.
2025-08-27 23:31:03 -06:00
dal beb332f01a
workspace permissions 2025-08-26 15:58:16 -06:00
dal 48de08f603
Merge remote-tracking branch 'origin/staging' into add-s3-integration-capability 2025-08-25 09:53:18 -06:00
dal abbbd6eac7
make update message entries await 2025-08-25 09:26:27 -06:00
dal 5f51dfc459
Implement S3 integration management features
- Added routes for creating, retrieving, and deleting S3 integrations in the API.
- Introduced handlers for S3 integration operations, including validation of user permissions and storage credentials.
- Updated database schema to support S3 integrations, including a new table and associated queries.
- Integrated storage provider logic to handle S3, R2, and GCS configurations.
- Enhanced error handling and response structures for integration operations.

This commit lays the groundwork for managing storage integrations within the application, allowing users to connect and manage their S3 storage solutions.
2025-08-25 08:05:19 -06:00
dal 9bdfe81cd5
final tweak 2025-08-24 22:09:45 -06:00
dal 7b9afdbb2f
Enhance tool result conversion by validating toolCallId
- Added checks to ensure toolCallId exists and is a valid string before processing tool results.
- Preserves the original part if toolCallId is missing or invalid, improving robustness in message conversion.
2025-08-24 21:51:13 -06:00
dal 980a786d21
fix build errors 2025-08-24 21:42:38 -06:00
dal 455888cdcd
ai sdk v4 to v5 conversion 2025-08-24 21:31:16 -06:00
dal ce8d9a3064
Refactor updateMessageEntries for cache-first streaming approach
- Updated logic to prioritize cache as the source of truth during streaming, with asynchronous database updates for persistence.
- Improved error handling for background database updates, ensuring cache validity even if DB update fails.
- Cleaned up mergeResponseMessages and mergeReasoningMessages functions by removing redundant code.
2025-08-22 20:43:44 -06:00
dal 0d44a230d7
Update packages/database/src/queries/messages/helpers/merge-entries.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-08-22 17:37:43 -06:00
dal 948a07ec72
Update packages/database/src/queries/messages/helpers/merge-entries.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-08-22 17:37:34 -06:00
dal 77cd39b151
Update packages/database/src/queries/messages/update-message-entries.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-08-22 17:37:10 -06:00
dal b14054a033
Add lru-cache dependency and refactor updateMessageEntries function
- Introduced lru-cache version 11.1.0 in package.json and pnpm-lock.yaml.
- Refactored updateMessageEntries to utilize TypeScript-based merge logic with write-through caching.
- Improved error handling for fetching existing message entries and updated database logic to merge new entries with existing ones.
2025-08-22 17:34:40 -06:00
dal affe7b710b
update message entries query fix 2025-08-22 17:03:41 -06:00
dal 1cff29d936
update messages 2025-08-22 16:22:11 -06:00
dal f3cf5f46c4
Refactor report retrieval to include permission checks and enhance filtering options
- Updated GET reports endpoint to use `getReportsWithPermissions` for improved access control.
- Added support for filtering reports based on `shared_with_me` and `only_my_reports` flags.
- Introduced `getReportsWithPermissions` function to handle complex permission logic in the database layer.
- Enhanced report metadata retrieval to ensure proper access validation before fetching report details.
2025-08-22 11:14:50 -06:00
dal 21a2d3f2d7
Refactor report generation handling and UI updates
- Simplified the `GeneratingContent` component to display a static loading message.
- Updated `ReportPageController` to determine if a report is being generated based on the current message context.
- Adjusted report status handling in the delta creation process to maintain 'loading' status during streaming.
- Enhanced logic in the modify reports helper to ensure file status reflects loading during streaming and only updates to completed or failed when all edits are finalized.
- Modified database query to preserve input order for new messages during updates.
2025-08-22 10:05:07 -06:00
dal ad4d7a3134
Merge pull request #750 from buster-so/migrate-metric-data-endpoints-to-ts
Migrate-metric-data-endpoints-to-ts
2025-08-22 09:06:46 -06:00
dal 05575fe65e
Implement integration tests for chat creation and enhance report menu functionality 2025-08-22 08:46:28 -06:00
dal 33e37edeba
add in the report file for start chat 2025-08-21 22:30:25 -06:00
dal 71efdff64e
Add data source integration for metric data retrieval
- Added '@buster/data-source' dependency to the server and pnpm lock files.
- Enhanced the getMetricDataHandler function to support versioning and data source integration.
- Updated the metric data query schema to include an optional version number parameter.
- Modified the API endpoint to accommodate the new versioning feature for metric data retrieval.
2025-08-21 16:57:04 -06:00
dal c94ceaa10a
modify metric delta close 2025-08-20 16:08:12 -06:00
Nate Kelley 7c8ec9e42c
Merge branch 'staging' into big-nate-bus-1657-intergrate-with-report-streaming 2025-08-20 09:05:24 -06:00
Nate Kelley 845e9a73fa
remove add and delete nodes 2025-08-19 22:00:00 -06:00
dal db63ac4c83
update to ci, fix greptile recs 2025-08-19 15:07:34 -06:00
Nate Kelley 2b18f215b9
report files metadata 2025-08-19 14:17:36 -06:00
dal 94f9e7106f
merge staging in 2025-08-19 13:33:13 -06:00
dal 71eb3dd42e
github integration 2025-08-19 13:27:51 -06:00
dal 5b5191356a
Refactor report creation and modification logic. Introduced batch update functionality for reports, improved version history management, and enhanced error handling during report updates. Adjusted task duration settings for better performance and refined file extraction logic to filter out reports and metrics appropriately. 2025-08-18 17:00:42 -06:00
dal f9eece00d6
merge staging in 2025-08-18 14:39:59 -06:00
dal 1d107f4125
lots of changes 2025-08-18 12:43:28 -06:00
dal e0d03c6aab
Refactor data metadata handling and improve report creation logic. Updated SimpleType enum for better serialization, removed unused createDataMetadata function, and integrated createMetadataFromResults for data processing. Enhanced report creation with version history management and improved error handling in report updates. 2025-08-18 11:59:56 -06:00
dal 6b171aae2e
build error map the reasoning message better in web 2025-08-18 10:16:59 -06:00
dal 9589ca198b
upgrade and fixes 2025-08-18 08:07:13 -06:00
dal e0ea7ce616
normalizer fo optimistic json parsing and file selection logic 2025-08-15 18:45:59 -06:00
dal d0e9852f5d
git server endpoints 2025-08-15 18:32:55 -06:00
dal d11c62446a
ok metrics are working again 2025-08-15 16:18:14 -06:00
dal 41ca7078ab
initial github queries 2025-08-15 15:29:34 -06:00
dal 5ec0af4273
optimized message queries 2025-08-14 14:38:02 -06:00
dal 82516e4fbb
Update reasoning messages to improve clarity and consistency across tools
- Changed the wording of elapsed time in reasoning messages from "min" to "minutes" for better readability.
- Updated the final reasoning message format to specify "Reasoned for" instead of "Total workflow time," enhancing user understanding of the output.

These changes contribute to a more user-friendly experience and maintain consistency in messaging across different tools.
2025-08-14 14:09:53 -06:00
dal 24e91b2ac7
lots of changes for the entries updates 2025-08-14 13:49:34 -06:00
dal f8f9f4b0e0
few tweaks from greptile comments 2025-08-14 10:19:40 -06:00
dal 35623ad987
Integrate access controls with metric file downloads
- Added permission checks to metric file download handler
- Added permission checks to export-metric-data trigger task
- Created comprehensive tests for access control integration
- Updated AssetType enums to include report_file
- Resolved export conflicts in server-shared package
- Fixed AI package imports for new getPermissionedDatasets API
2025-08-13 14:25:41 -06:00
dal ccc27abaee
Enhance tool state management and reasoning entries across various tools
- Introduced start time tracking for tool operations in create, modify, and report tools to improve performance monitoring.
- Updated reasoning entries to include elapsed time for completed operations, enhancing user feedback.
- Refactored tool logic to ensure consistent handling of file statuses and improved clarity in reasoning messages.
- Enhanced logging for better traceability during tool execution.

These changes improve the overall user experience and maintainability of the toolset.
2025-08-13 14:19:32 -06:00
dal ebe496df87
Merge access-controls branch and resolve conflicts
- Combined asset type enums from both branches
- Merged all database query exports
- Integrated access-controls package into server-shared
- Resolved conflicts in AI package instructions
2025-08-13 14:15:20 -06:00
dal 594f08202b
Refactor metric file handling and improve error handling
- Updated type definitions for better clarity and type safety in metric file download and export tasks.
- Enhanced error handling in the metric files API to utilize HTTPException for more consistent error responses.
- Added environment variable validation in export tasks to ensure necessary credentials are present before execution.
- Improved type assertions for content in metric export queries to ensure proper handling of JSONB data.
2025-08-13 14:01:46 -06:00
dal a3c4238da1
lint fix 2025-08-13 13:48:28 -06:00
dal 3eb80ae630
Add metric file export functionality with Cloudflare R2 support
- Introduced new API endpoint for downloading metric files as CSV.
- Implemented export logic to handle large datasets (up to 1 million rows) and generate presigned URLs for secure downloads.
- Added cleanup task to remove exported files from R2 storage after 60 seconds.
- Updated environment configuration to include Cloudflare R2 credentials.
- Enhanced error handling for various export scenarios.
- Refactored related database queries and schemas for better integration.
- Updated documentation for new features and usage instructions.
2025-08-13 13:36:42 -06:00
dal d02d809e59
migration, optimization on entry querires, etc. 2025-08-13 11:50:56 -06:00
dal abc070449b
update the reasoning entries for all of hte tools 2025-08-13 11:04:37 -06:00
dal 8299e47e4e
more migration, streaming, type safety, etc 2025-08-13 10:48:07 -06:00
dal cc6c407023
Enhance TODO creation process with streaming support
- Introduced a new streaming mechanism for generating TODO lists, allowing for real-time updates and improved user experience.
- Added context handling for datasets in both `AnalystAgent` and `ThinkAndPrepAgent`, ensuring relevant data is included in system messages.
- Implemented new helper functions for managing TODO state and reasoning messages, improving code organization and clarity.
- Updated integration tests to validate the new streaming functionality and ensure consistent message roles.

These changes significantly enhance the functionality and maintainability of the TODO creation process within the agent workflow.
2025-08-12 18:32:56 -06:00
dal 1e594ac4ec
Refactor chat message handling by removing unused fields
- Eliminated `responseMessages`, `reasoning`, and `rawLlmMessages` from chat creation and handling functions to streamline data processing.
- Updated the `generateJsonbArraySql` function to accept pre-stringified JSON for better performance and clarity.

These changes enhance the efficiency of chat message management and reduce unnecessary complexity in the codebase.
2025-08-12 16:38:20 -06:00
dal e52c0c7d72
move sequential thinking away from old inherited context 2025-08-12 16:15:37 -06:00
dal 8c27a3dfff
Merge remote-tracking branch 'origin/staging' into dal/upgrade-to-ai-sdk-v5 2025-08-12 12:53:48 -06:00
dal b699b9f2c9
versioned asset details 2025-08-12 11:32:37 -06:00
dal 819b2dd0d6
tons of migration from mastra to ai sdk 2025-08-12 10:36:55 -06:00
Nate Kelley 438bec4ce4
Fix caption parser 2025-08-11 15:01:08 -06:00
Nate Kelley 23411f25c6
report editor updates 2025-08-11 13:40:01 -06:00
dal 9156e7a06e
merge staging 2025-08-08 13:17:58 -06:00
Nate Kelley 51f896d19e
Add title skeletons 2025-08-07 23:24:28 -06:00
Nate Kelley 0969a1cbd3
Merge branch 'staging' into cursor/add-report-menu-options-and-stub-functions-e636 2025-08-07 17:22:18 -06:00
Nate Kelley 216e610aa8
Added some additional safe parse element stuff 2025-08-07 17:21:38 -06:00
dal 8c8d1f37cc
big migration of tools 2025-08-07 17:10:24 -06:00
Nate Kelley 75950ae108
super nested list items 2025-08-07 17:01:45 -06:00
dal 468cf44cca
done tool 2025-08-07 16:36:01 -06:00
dal 91290530ba
tons of changes 2025-08-07 16:09:45 -06:00
dal 8e624a2c50
fixing migrations 2025-08-07 15:57:01 -06:00
Nate Kelley 4006852efa
Add comment to content 2025-08-07 14:12:32 -06:00
Nate Kelley 40a44cf1f9
Merge branch 'staging' into dallin-bus-1589-create-and-modify-report-tools 2025-08-07 14:05:44 -06:00
Nate Kelley 9ba4750a65
Adjust add metric modal 2025-08-05 17:05:27 -06:00
dal ba1da07473
Add new report content manipulation functions
Introduce 'replace-report-content' and 'append-report-content' exports to enhance report content management capabilities, allowing for more flexible report updates and modifications.
2025-08-05 14:30:22 -06:00
dal a26242c46d
Enhance report handling by integrating markdown to PlateJS conversion in the report retrieval process, improving content formatting and error handling. Update report update schema to accept string content for markdown streaming. 2025-08-05 12:02:40 -06:00
dal b8ad52cf28
change the schema content to be text for markdown streaming 2025-08-05 11:38:43 -06:00
Nate Kelley 1ef0d18c61
Report playground updates for fixed toolbar 2025-08-05 10:15:22 -06:00
Nate Kelley 44787f5478
Add additional asset queries 2025-08-04 22:13:09 -06:00
Nate Kelley 124523ade9
add a version number to reports 2025-08-04 21:37:23 -06:00
Nate Kelley 4a6c36c4b0
update report version logic 2025-08-04 21:10:03 -06:00
Nate Kelley 43af5fdb4d
add a fix for broken migrate 2025-08-04 20:45:30 -06:00
Nate Kelley c6834bdfeb
update 2025-08-04 18:20:06 -06:00
Nate Kelley 87ea87e963
collection and assets queries 2025-08-04 16:45:49 -06:00
Nate Kelley 1a955d786b
Get report 2025-08-04 15:25:22 -06:00
Nate Kelley b3b759bd26
addded collection query 2025-08-04 15:20:15 -06:00
Nate Kelley ddff671040
Update get report 2025-08-04 15:13:21 -06:00
Nate Kelley a3198003a3
get report 2025-08-04 15:05:18 -06:00
Nate Kelley 5f6524581b
created list database query 2025-08-04 14:21:49 -06:00
Nate Kelley aae819e151
create new schema for reports 2025-08-04 14:03:52 -06:00
Nate Kelley fad6670e83
fix type assertion
added safe guards around report_fule

pass generics through

fix list pass throughs
2025-08-04 10:06:59 -06:00
dal 273fbc36c4
fix: address non-critical PR review comments
- Optimized N+1 query in get-permissioned-datasets.ts using inArray for batch lookup
- Removed unused bulkRemoveAssetPermissions import
- Fixed import organization in find-user-by-email.ts
- Updated CLAUDE.md to reflect tests are written and fixed API example
- Clarified TODO comment in lookup.ts to prevent potential infinite recursion

These are style and performance improvements that don't affect functionality.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 12:29:02 -06:00
dal 2e04af1785
fix: address additional critical PR review comments
- Fixed permission hierarchy: full_access (5) now correctly ranks higher than viewer (3)
- Removed 'querier' role from admin permission check as it was too permissive
- Added organizationId parameter to dashboard access checks to prevent unauthorized access
- Fixed public dashboard expiry date check to verify dates are in the future
- Added cycle detection for collection permissions to prevent infinite recursion
- Fixed bulk remove permissions to correctly filter by identityIds array
- Updated date comparison to use ISO string format for PostgreSQL timestamp columns

These fixes address critical security and logic issues identified in the PR review.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 12:28:58 -06:00
dal d078830a18
fix: address PR review comments for access control migration
- Fixed AssetTypeSchema to include all active asset types (excluding deprecated 'metric' and 'dashboard')
- Added missing 'restricted_querier' role to UserOrganizationRole type
- Fixed dataset access caching to store full result object including accessPath and userRole
- Updated count query to use SQL COUNT for better performance
- Fixed IdentityType consistency across dataset permissions
- Removed unused 'ne' import from list-asset-permissions.ts
- Updated comments to correctly reference 6 access paths instead of 5

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 12:28:52 -06:00
dal 4bef4205f3
feat(access-controls): migrate Rust access control libraries to TypeScript
This PR migrates the Rust  and  libraries to TypeScript in the new  package.

## Changes

### New Access Controls Package
- Implemented complete asset permissions system with CRUD operations
- Added dataset permissions with all 5 access paths (admin, direct user, user→group, team→direct, team→group, org→default)
- Implemented cascading permissions (metrics inherit from dashboards/chats/collections)
- Added LRU caching to replace Redis (30-second TTL)
- Comprehensive test coverage (148 tests passing, 3 skipped pending createUser)

### Database Package Updates
- Fixed AssetType enum to include all 14 asset types
- Added missing database queries for permissions
- Fixed timestamp fields to use ISO strings
- Added getUserOrganizationsByUserId function
- Created organized query structure by table

### AI Package Updates
- Updated getPermissionedDatasets API calls to new format
- Changed property references from ymlFile to ymlContent
- Fixed all test mocks to match new API structure

### Trigger App Updates
- Updated to use new access controls API
- Fixed test mocks to match DatasetListResult structure
- Added proper type imports

### Server Shared Updates
- Added request/response types for access control endpoints
- Exported types for API consistency

## Testing
- All packages build successfully with turbo build:dry-run
- All tests pass with turbo test:unit
- Full type safety maintained throughout

## Migration Notes
- Drop-in replacement for Rust libraries
- Same permission model and roles
- Cache invalidation strategies implemented
- Soft delete pattern maintained

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 10:17:35 -06:00
dal 2833c6bb0c
dry run 2025-07-25 18:29:35 -06:00
dal 1f52bd9b69
Enhance asset chat handling by introducing `handleAssetChatWithPrompt` for processing user prompts alongside asset imports. Update `createChatHandler` to manage asset-only and asset+prompt scenarios, ensuring correct message order and preventing unnecessary analyst task triggers. Add tests for new functionality and refactor related services for improved clarity and maintainability. 2025-07-25 12:47:01 -06:00
Nate Kelley 5e6eb76f5b
move get asset types around 2025-07-24 17:41:36 -06:00
Nate Kelley b2cf1725fc
Merge branch 'staging' into devin/BUS-1494-1753276227 2025-07-24 17:21:04 -06:00
Nate Kelley e6d4062847
Merge branch 'staging' into big-nate/bus-1483-quick-win-for-filter-dashboard-drill-downexplore-metric 2025-07-23 22:45:54 -06:00
Nate Kelley df3533ffc7
pass in better props 2025-07-23 17:18:45 -06:00
dal 482564528a
lint fixes 2025-07-23 16:56:32 -06:00
dal 42d1da5389
context fixes on messages 2025-07-23 16:56:06 -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
Nate Kelley 8ee892bf2a
Use tsx and .ts files for validation 2025-07-21 16:07:14 -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 254e7fc462
default db conn to local when none present 2025-07-21 01:51:33 -06:00
dal ec4262b87c
ci and a random lint 2025-07-21 00:28:39 -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 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
jacob-buster 40a4276125 Added setup script + few new changes to address {{variable}} issues 2025-07-18 14:11:23 -06:00
Nate Kelley d134c06bb8
theme update is working 2025-07-18 13:42:10 -06:00
Nate Kelley 6b85fd3a33
add additional field to database palette package 2025-07-18 13:16:13 -06:00
Nate Kelley aa34a56f40
override cache for defaults 2025-07-18 13:05:50 -06:00
Nate Kelley ec2a3f6238
Update refiner for palettes 2025-07-18 11:57:54 -06:00
dal 3a43e21718
Merge remote-tracking branch 'origin/staging' into dallin/bus-1380-fix-unit-tests 2025-07-18 08:55:35 -06:00
dal 51da02efbb
update package.json pass if no unit tests 2025-07-17 23:03:54 -06:00
Nate Kelley cde45ad869
key iterations and type fixes 2025-07-17 22:42:12 -06:00
dal ba61b6a3ea
Merge remote-tracking branch 'origin/staging' into dallin/bus-1380-fix-unit-tests 2025-07-17 22:31:32 -06:00
Nate Kelley 9f86f337ff
Merge branch 'staging' into dallin/bus-1419-enable-sharing-of-dashboards-or-collections-with-workspace 2025-07-17 22:13:53 -06:00
Nate Kelley 10e37f07de
update all types to work better together 2025-07-17 18:51:45 -06:00
Nate Kelley 09e4b36bf5
add dictionaries for color schemes 2025-07-17 17:16:15 -06:00
dal cd8a50403f
Merge branch 'staging' into dallin/bus-1419-enable-sharing-of-dashboards-or-collections-with-workspace 2025-07-17 17:16:07 -06:00
dal b6cf6539ea
Merge branch 'origin/staging' into dallin/bus-1380-fix-unit-tests - Resolved conflicts in CLAUDE.md 2025-07-17 16:52:03 -06:00
Nate Kelley d2cd4fb173
create default them component 2025-07-17 16:24:46 -06:00
Nate Kelley 5dd7b20f25
fix broken linting 2025-07-17 13:18:32 -06:00
Nate Kelley b8de7a5c51
update rules 2025-07-17 13:12:11 -06:00
Nate Kelley 1ae52ec603
update package readme for database 2025-07-17 13:06:42 -06:00
dal a0a1e11493
update workspace sharing on all assets 2025-07-17 12:54:02 -06:00
Nate Kelley 7b24d167b9
hex values checking before insert into database 2025-07-17 12:17:34 -06:00
Nate Kelley ee8cce71f8
Add additional error handling for endpoint 2025-07-17 12:06:57 -06:00
Nate Kelley e55632e074
initial commits for update org 2025-07-17 11:41:31 -06:00
Devin AI 96d0d219ee Fix remaining unit test issues in AI and data-source packages
- Fixed AI package unit tests that were previously failing
- Updated database package.json with environment variables for tests
- Fixed snowflake adapter test issues in data-source package

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 16:14:57 +00:00
Nate Kelley 5c15664b22
Add new column and rules around type safety 2025-07-17 09:51:48 -06:00
Nate Kelley 06d8c1e568
Merge pull request #527 from buster-so/big-nate/bus-1420-add-searchable-menu-to-share-dropdowns
add searchable menu to share dropdowns
2025-07-16 23:48:44 -06:00
Nate Kelley 39a9dc2b5d
update with or condition 2025-07-16 23:08:28 -06:00
dal da380485d9
added in the slack auto-sharing functionality 2025-07-16 16:54:09 -06:00
dal e4630b5cd7
add default slack sharing permissions 2025-07-16 15:14:16 -06:00
dal d4f216cb66
Merge remote-tracking branch 'origin/staging' into dallin/bus-1363-slack-agent-query-buster-from-slack-direct-query 2025-07-16 12:54:18 -06:00
Nate Kelley bd66820792
Update packages/database/package.json
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-16 11:25:10 -06:00
dal 0d217714cc
added slack tracking on chats 2025-07-16 11:15:16 -06:00
Nate Kelley 8fe5e9f906
working tests 2025-07-16 10:36:24 -06:00
Nate Kelley 0f7d1c313d
update rules for database folder 2025-07-16 10:29:10 -06:00
Nate Kelley 0d01dfcb4c
array parter 2025-07-16 09:54:28 -06:00
Nate Kelley 5dc31814d8
Simplify the get user endpoint 2025-07-16 09:32:48 -06:00
Nate Kelley d9ed8b1423
finalize pagination endpoint 2025-07-16 09:25:51 -06:00
Nate Kelley b637bf356a
paginated queries 2025-07-15 23:05:12 -06:00
Nate Kelley fdf70abfb8
update database dev 2025-07-15 22:26:13 -06:00
Nate Kelley 094fc4c251
add pagination type responses 2025-07-15 17:23:32 -06:00
Nate Kelley a9b8acbb80
user to organization method 2025-07-15 16:36:14 -06:00
Nate Kelley 2e73d97ffc
create basic user to organization db 2025-07-15 16:20:40 -06:00
Nate Kelley 74993ca556
change folder name 2025-07-15 16:08:01 -06:00
Nate Kelley f23d933cc1
initial commit to move files 2025-07-15 15:44:26 -06:00
Nate Kelley 727e66a630
Fix files on lint 2025-07-14 14:30:07 -06:00
dal 5a971dd8a1
fix on access-control tests 2025-07-14 11:01:53 -06:00
dal 2be9784516
Add unit and integration test scripts to package.json files across multiple packages 2025-07-14 09:11:20 -06:00
Nate Kelley 963bf6b2f2
fix all of the bugs 2025-07-12 22:14:08 -06:00
Nate Kelley 4197cf799e
Update packages/database/src/connection.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-12 16:33:33 -06:00
Nate Kelley 139a0f52c9
organization camelcase update 2025-07-12 16:31:35 -06:00
Nate Kelley 9de6e8227e
Merge branch 'staging' into big-nate/bus-1355-make-it-so-regular-users-can-invite-others 2025-07-11 16:30:59 -06:00
dal a36bba3b40
Add '@buster/ai' dependency and enhance chat cancellation logic
- Added '@buster/ai' as a workspace dependency in pnpm-lock.yaml and package.json.
- Updated database-migrations.yml to trigger on changes in the database package.
- Refined the cancelChatHandler function to include detailed message cleanup and trigger cancellation logic.
- Improved response handling in the chat cancellation endpoint to return a success message.
- Enhanced updateMessageFields to support marking messages as completed.
2025-07-11 09:51:51 -06:00
dal 87f3853ce8
stubbed out the cancel endpoint and added the trigger run col 2025-07-10 16:26:30 -06:00
Nate Kelley e7cfafa95e
Update pooler 2025-07-10 16:06:13 -06:00
dal f22c03874c
tests are passing 2025-07-10 07:27:16 -06:00
dal 29e6a6ae7f
Workspace Settings Done with auto-add 2025-07-10 07:01:23 -06:00
dal 8e9e9a087e
claude rules and schema tweak 2025-07-09 14:15:46 -06:00
dal 5941d6975d
schema migration and handlers stubbed out 2025-07-09 14:07:55 -06:00
dal 812910624c
revert schema changes 2025-07-09 12:39:12 -06:00
Cursor Agent 95787d7b46 Update Slack message tracking with new message source enum
Co-authored-by: dallin <dallin@buster.so>
2025-07-09 17:49:27 +00:00
Nate Kelley b2f9e7c119
lint hot fix 2025-07-07 14:04:10 -06:00
Nate Kelley ca0c434e76
Merge branch 'staging' into nate/dashboard-links 2025-07-07 12:58:58 -06:00
dal bc8793cd04
switch migration 2025-07-07 12:46:22 -06:00
dal b68d9365bb
update migraiton to create if not exists 2025-07-07 12:22:48 -06:00
dal 44b3627929
Merge branch 'staging' into nate/dashboard-links 2025-07-07 11:15:20 -07:00
dal 982bb50202
Merge branch 'staging' into cursor/add-metadata-to-braintrust-logs-b94f 2025-07-07 11:12:28 -07:00
Nate Kelley 5d532a2957
additional lint fixes 2025-07-07 10:12:31 -06:00
dal 3b01e5727b
added in the postProcessingMessage to the db 2025-07-07 10:10:47 -06:00
dal bc4ce29fc6
moving over slack processing work 2025-07-07 09:52:26 -06:00
Nate Kelley cf1b9b60ae
update some biome rules 2025-07-07 09:46:24 -06:00
Nate Kelley 1bf8418ab8
Remove a few any types from database 2025-07-07 09:40:06 -06:00
Nate Kelley 9637fbad86
Fix additional linting errors 2025-07-07 09:18:31 -06:00
Cursor Agent cdeafda0da Add Braintrust metadata retrieval for enhanced logging and tracing
Co-authored-by: dallin <dallin@buster.so>
2025-07-07 15:18:07 +00:00
dal 42268375f2
unit tests and integration with turbo, chats bug fix 2025-07-07 07:52:15 -06:00
Cursor Agent 964d107bb9 Refactor chat permission checks and update database helper functions
Co-authored-by: dallin <dallin@buster.so>
2025-07-04 15:21:36 +00:00
dal 79e7cb4b95
partial instead of any
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-04 08:13:59 -07:00
Cursor Agent 6fb546a4ad Refactor chat permission check and remove unused organization role check
Co-authored-by: dallin <dallin@buster.so>
2025-07-04 14:55:08 +00:00
Cursor Agent 7275f242ee Enhance chat permission checks with organization role validation
Co-authored-by: dallin <dallin@buster.so>
2025-07-04 14:41:29 +00:00
dal 6e2b72c101
migration for auth public user sync 2025-07-03 17:01:15 -06:00
dal 2ef68e2a1b
Refactor Slack integration handling and update tests for new default channel functionality
- Introduced `updateDefaultChannel` method in Slack helpers to manage default channel settings.
- Updated SlackHandler to utilize the new method for updating integration settings.
- Enhanced integration tests to cover new functionality and ensure proper handling of active integrations.
- Removed obsolete SQL migration for default channel as it is now managed in code.
2025-07-03 15:18:28 -06:00
Cursor Agent ba01e881e6 Add default channel support for Slack integration
Co-authored-by: dallin <dallin@buster.so>
2025-07-03 20:47:18 +00:00
dal 58f9d261e6
Mastra braintrust (#391)
* type fixes

* biome clean on ai

* add user to flag chat

* attempt to get vercel deployed

* Update tsup.config.ts

* Update pnpm-lock.yaml

* Add @buster/server2 Hono API app with Vercel deployment configuration

* slack oauth integration

* mainly some clean up and biome formatting

* slack oauth

* slack migration + snapshot

* remove unused files

* finalized docker image for porter

* Create porter_app_buster-server_3155.yml file

* Add integration tests for Slack handler and refactor Slack OAuth service

- Introduced integration tests for the Slack handler, covering OAuth initiation, callback handling, and integration status retrieval.
- Refactored Slack OAuth service to improve error handling and ensure proper integration state management.
- Updated token storage implementation to use a database vault instead of Supabase.
- Enhanced existing tests for better coverage and reliability, including cleanup of test data.
- Added new utility functions for managing vault secrets in the database.

* docker image update

* new prompts

* individual tests and a schema fix

* server build

* final working dockerfile

* Update Dockerfile

* new messages to slack messages (#369)

* Update dockerfile

* Update validate-env.js

* update build pipeline

* Update the dockerfile flow

* finalize logging for pino

* stable base

* Update cors middleware logger

* Update cors.ts

* update docker to be more imformative

* Update index.ts

* Update auth.ts

* Update cors.ts

* Update cors.ts

* Update logger.ts

* remove logs

* more cors updates

* build server shared

* Refactor PostgreSQL credentials handling and remove unused memory storage. Update package dependencies. (#370)

* tons of file parsing errors (#371)

* Refactor PostgreSQL credentials handling and remove unused memory storage. Update package dependencies.

* tons of file parsing errors

* Dev mode updates

* more stable electric handler

* Dal/agent-self-healing-fixes (#372)

* change to 6 min

* optmizations around saving and non-blocking actions.

* stream optimizations

* Dal/agent-self-healing-fixes (#373)

* change to 6 min

* optmizations around saving and non-blocking actions.

* stream optimizations

* change porter staging deploy to mastra-braintrust.

* new path for porter deploy

* deploy to staging fix

* Create porter_app_mastra-braintrust-api_3155.yml file (#375)

Co-authored-by: porter-deployment-app[bot] <87230664+porter-deployment-app[bot]@users.noreply.github.com>

* Update sizing and opacity

* supe up the instance for mastra

* environment staging

* ssl script

* copy path

* Update list padding

* no throttle and the anthropic cached

* move select to the top

* Update margin inline start

* shrink reasoning vertical space to 2px

* semi bold font for headers

* update animation timing

* haiku

* Add createTodoList tool and integrate into create-todos-step

* chat helper on post chat

* only trigger cicd when change made

* Start created streaming text components

* Refactor analyst agent task to initialize Braintrust logging asynchronously and parallelize database queries for improved performance. Adjusted cleanup timeout for Braintrust traces to reduce delays.

* fixed reasoned for X, so that it rounds down to the minute

* Update users page

* update build pipeline for new web

* document title update

* Named chats for page

* Datasets titles

* Refactor visualization tools and enhance error handling in retryable agent stream. Removed unused metricValueLabel from metrics file tool, updated metric configuration schemas, and improved healing mechanism for tool errors during streaming.

* analyst

* document title updates

* Update useDocumentTitle.tsx

* Refactor tool choice configuration in create-todos-step to use structured object. Remove exponential backoff logic from retryable agent stream for healable errors. Introduce new test for real-world healing scenarios in retryable agent stream.

* Refactor SQL validation logic in modify-metrics-file-tool to skip unnecessary checks when SQL has not changed. Enhance error handling and update validation messages. Clean up code formatting for improved readability.

* update collapse for filecard

* chevron collapse

* Jacob prompt changes (#376)

* prompt changes to improve filtering logic and handle priv/sec errors

* prompt changes to make aggregation better and improved filter best practices

* Update packages/ai/src/steps/create-todos-step.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update packages/ai/src/agents/think-and-prep-agent/think-and-prep-instructions.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* Update packages/ai/src/steps/create-todos-step.ts

Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

---------

Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>
Co-authored-by: dal <dallin@buster.so>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>

* think and prep

* change header and strong fonts weights

* Update get collection

* combo chart x axis update

* Create a chart schemas as types

* schema types

* simple unit tests for line chart props

* fix the response file ordering iwth active selection.

* copy around reasoning messages taken care of

* fix nullable user message and file processing and such.

* update ticks for chart config

* fix todo parsing.

* app markdown update

* Update splitter to use border instead of width

* change ml

* If no file is found we should auto redirect

* Refactor database connection handling to support SSL modes. Introduced functions to extract SSL parameters and manage connections based on SSL requirements, including a custom verifier for unverified connections.

* black box message update

* chat title updates

* optimizations for trigger.

* some keepalive logic on the anthropic cached

* keep title empty until new one

* no duplicate messages

* null user message on asset pull

* posthog error handling

* 20 sec idle timeout on anthropic

* null req message

* fixed modificiation names missing

* Refactor tool call handling to support new content array format in asset messages and context loaders

* cache most recent file from workflow

* Enhance date and number detection in createDataMetadata function to improve data type handling for metrics files

* group hover effect for message

* logging for chat

* Add messageId handling and file association tracking in dashboard and metrics tools

- Updated runtime context to include messageId in create and modify dashboard and metrics file tools.
- Implemented file association tracking based on messageId in create and modify functions for both dashboards and metrics.
- Ensured type consistency by using AnalystRuntimeContext in runtime context parameters.

* logging for chat

* message type update

* Route to first file instead

* trigger moved to catalog

* Enhance file selection logic to support YAML parsing and improve logging

- Updated `extractMetricIdsFromDashboard` to first attempt JSON parsing, falling back to a regex-based YAML parsing for metric IDs.
- Added detailed debug logging in `selectFilesForResponse` to track file selection process, including metrics and dashboards involved.
- Introduced tests for various scenarios in `file-selection.test.ts` to ensure correct behavior with dashboard context and edge cases.

* trigger dev v4-beta

* Retry + Self Healing (#381)

* Refactor retry logic in analyst and think-and-prep steps

Co-authored-by: dallin <dallin@buster.so>

* some fixes

* console log error

* self healing

* todos retry

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* remove lots of logs

* Remove chat streaming

* Remove chat streaming

* timeout

* Change to updated at field

* link to home

* Update timeout settings for HTTP and HTTPS agents from 20 seconds to 10 seconds for improved responsiveness.

* Add utils module and integrate message conversion in post_chat_handler

* Implement error handling for extract values (#382)

* Remove chat streaming

* Improve error handling and logging in extract values and chat title steps

Co-authored-by: dallin <dallin@buster.so>

---------

Co-authored-by: Nate Kelley <nate@buster.so>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>

* loading icon for buster avatar

* finalize tooltip cache

* upgrade mastra

* increase retries

* Add redo functionality for chat messages

- Introduced `redoFromMessageId` parameter in `handleExistingChat` to allow users to specify a message to redo from.
- Implemented validation to ensure the specified message belongs to the current chat.
- Added `softDeleteMessagesFromPoint` function to soft delete a message and all subsequent messages in the same chat, facilitating the redo feature.

* fix electric potential memory leak

* tooltip cache and chart cleanup

* Update bullet to be more indented

* latest version number

* add support endpoint to new server

* Fix jank in combo bar charts

* index check for dashboard

* Collapse only if there are metrics

* Is finished reasoing back

* Update dependencies and enhance chat message handling

- Upgraded `@mastra/core` to version 0.10.8 and added `node-sql-parser` at version 5.3.10 in the lock file.
- Improved integration tests for chat message redo functionality, ensuring correct behavior when deriving `chat_id` from `message_id`.
- Enhanced error handling and validation in the `initializeChat` function to manage cases where `chat_id` is not provided.

* Update pnpm-lock and enhance chat message integration tests

- Added `node-sql-parser` version 5.3.10 to dependencies and updated the lock file.
- Improved integration tests for chat message redo functionality, ensuring accurate deletion and retrieval of messages.
- Enhanced the `initializeChat` function to derive `chat_id` from `message_id` when not provided, improving error handling and validation.

* remove .env import breaking build

* add updated at to the get chat handler

* zmall runtime error fix

* permission tests passing

* return updated at on the get chat handler now

* slq parser fixes

* Implement chat access control logic and add comprehensive tests

- Developed the `canUserAccessChat` function to determine user access to chats based on direct permissions, collection permissions, creator status, and organizational roles.
- Introduced helper functions for checking permissions and retrieving chat information.
- Added integration tests to validate access control logic, covering various scenarios including direct permissions, collection permissions, and user roles.
- Created unit tests to ensure the correctness of the access control function with mocked database interactions.
- Included simple integration tests to verify functionality with existing database data.

* sql parser and int tests working.

* fix test and lint issues

* comment to kick off deployment lo

* access controls on datasets

* electric context bug fix with sql helpers.

* permission and read only

* Add lru-cache dependency and export cache management functions

- Added `lru-cache` as a dependency in the access-controls package.
- Exported new cache management functions from `chats-cached` module, including `canUserAccessChatCached`, `getCacheStats`, `resetCacheStats`, `clearCache`, `invalidateAccess`, `invalidateUserAccess`, and `invalidateChatAccess`.

* packages deploy as well

* wrong workflow lol

* Update AppVerticalCodeSplitter.tsx

* Add error handling for query run and SQL save operations

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

* Trim whitespace from input values before sending chat prompts

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

* type in think-and-prep

* use the cached access chat

* update package version

* new asset import message

* Error fallback for login

* Update BusterChart.BarChart.stories.tsx

* Staging changes to fix number card titles, combo chart axis, and using dynamic filters (#386)

Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>

* db init command pass through

* combo chart fixes (#387)

Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>

* clarifying question and connection logic

* pino pretty error fix

* clarifying is a finishing tool

* change update latest version logic

* Update support endpoint

* fixes for horizontal bar charts and added the combo chart logic to update metrics (#388)

Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>

* permission fix on dashboard metric handlers for workspace and data admin

* Add more try catches

* Hide avatar is no more

* Horizontal bar fixes (#389)

* fixes for horizontal bar charts and added the combo chart logic to update metrics

* hopefully fixed horizontal bar charts

---------

Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>

* reasoning shimmer update

* Make the embed flow work with versions

* new account warning update

* Move support modal

* compact number for pie label

* Add final reasoning message tracking and workflow start time to chunk processor and related steps

- Introduced `finalReasoningMessage` to schemas in `analyst-step`, `mark-message-complete-step`, and `create-todos-step`.
- Updated `ChunkProcessor` to calculate and store the final reasoning message based on workflow duration.
- Enhanced various steps to utilize the new `workflowStartTime` for better tracking of execution duration.
- Improved database update logic to include `finalReasoningMessage` when applicable.

* 9 digit cutoff for pie

* trigger update

* test on mastra braintrust

* test deployment

* testing

* pnpm install

* pnpm

* node 22

* pnpm version

* trigger main

* get initial chat file

* hono main deploymenbt

* clear timeouts

* Remove console logs

* migration test to staging

* db url

* try again

* k get rid of tls var

* hmmm lets try this

* mark migrations

* fix migration file?

* drizzle-kit upgrade

* tweaks to the github actions

---------

Co-authored-by: Nate Kelley <nate@buster.so>
Co-authored-by: porter-deployment-app[bot] <87230664+porter-deployment-app[bot]@users.noreply.github.com>
Co-authored-by: Nate Kelley <133379588+nate-kelley-buster@users.noreply.github.com>
Co-authored-by: Jacob Anderson <jacobanderson@Jacobs-MacBook-Air.local>
Co-authored-by: jacob-buster <jacob@buster.so>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: natemkelley <natemkelley@gmail.com>
2025-07-02 14:33:40 -07:00