Commit Graph

341 Commits

Author SHA1 Message Date
Nate Kelley 9e39527351
stale time increased on dashboard list 2025-07-15 14:56:05 -06:00
Nate Kelley fd93f888fe
Dashboard local storage key 2025-07-15 14:43:14 -06:00
Nate Kelley e60fbc2862
stream finish 2025-07-15 14:35:13 -06:00
Nate Kelley eb5db40196
is fetched check 2025-07-14 16:07:22 -06:00
Nate Kelley 8935584ad2
invalidate cached items for dashboard 2025-07-14 16:03:57 -06:00
Nate Kelley e90f11d7b8
set increased stale time for dashboards 2025-07-14 15:46:27 -06:00
Nate Kelley 99d5fc647c
Update splitter bust sizes 2025-07-14 15:12:54 -06:00
Nate Kelley 3aff95c034
splitter hot fix 2025-07-14 15:10:15 -06:00
Nate Kelley 0445727ed7
storage buster update 2025-07-14 14:44:21 -06:00
Nate Kelley cd9b85129c
Merge branch 'staging' into big-nate/bus-1374-remove-dashboard-cache-if-a-metric-version-is-updated 2025-07-14 14:22:10 -06:00
Nate Kelley b59d6fda57
Merge pull request #507 from buster-so/big-nate/bus-1371-icon-greyed-out
default version number is 1
2025-07-14 14:21:54 -06:00
Nate Kelley a3b3f50566
View sql big fix 2025-07-14 14:21:14 -06:00
Nate Kelley a1810be8f0
update cache settings part 1 2025-07-14 14:16:54 -06:00
Nate Kelley 6bf551b499
default version number is 1 2025-07-14 13:26:45 -06:00
Nate Kelley 455cf10c5f
create a stream dynamically on change 2025-07-14 12:39:02 -06:00
Nate Kelley c83d433510
Update styling for todo and reasoning file types 2025-07-14 12:07:29 -06:00
Nate Kelley 3592ed51ac
Merge pull request #500 from buster-so/cursor/replace-select-with-dropdown-component-39ce
update package versions
2025-07-14 11:56:36 -06:00
Nate Kelley a25ca23585
update package versions 2025-07-14 11:56:17 -06:00
Nate Kelley 01e895e8a5
Merge pull request #499 from buster-so/cursor/replace-select-with-dropdown-component-39ce
replace select with dropdown component 39ce
2025-07-14 11:51:49 -06:00
Nate Kelley a73502b047
Change styling for select button 2025-07-14 11:50:49 -06:00
Nate Kelley 90801c89c4
Merge branch 'staging' into cursor/replace-select-with-dropdown-component-39ce 2025-07-14 11:40:57 -06:00
Nate Kelley faea66c14a
metric data truncate warning 2025-07-14 11:36:03 -06:00
Nate Kelley 3a2f66b7f2
Merge branch 'staging' into cursor/add-alert-for-truncated-data-warning-2003 2025-07-14 11:20:38 -06:00
Nate Kelley 5352ae8f10
currency response 2025-07-14 09:41:25 -06:00
Nate Kelley b7c40e2ea8
Merge pull request #495 from buster-so/dallin/bus-1328-ability-to-kill-a-chat-while-running-stop-button
Dallin/bus 1328 ability to kill a chat while running stop button
2025-07-14 08:48:33 -06:00
Nate Kelley 54b592fa37
Update apps/web/src/api/buster-electric/messages/hooks.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-14 08:47:19 -06:00
Cursor Agent 58f50f488d Add data truncation warning for metrics with over 5,000 records
Co-authored-by: natemkelley <natemkelley@gmail.com>
2025-07-13 14:44:48 +00:00
Cursor Agent 282584cb71 Replace Select with Dropdown for Slack channel selection
Co-authored-by: natemkelley <natemkelley@gmail.com>
2025-07-13 14:37:53 +00:00
Nate Kelley f84bf8e3d1
disable check 2025-07-13 08:28:11 -06:00
Nate Kelley bc623cdd30
stop chat 2025-07-13 08:21:53 -06:00
Nate Kelley d7142b838c
optimistically grab new chats 2025-07-13 08:17:16 -06:00
Nate Kelley fa42592b95
Focus input after chat comes in 2025-07-13 08:10:15 -06:00
Nate Kelley 1718dccf2c
create workspace 2025-07-12 23:34:08 -06:00
Nate Kelley 139a0f52c9
organization camelcase update 2025-07-12 16:31:35 -06:00
Nate Kelley daf193088f
invite people restriction 2025-07-12 16:24:14 -06:00
Nate Kelley aeaf7dbb57
type updates 2025-07-12 16:19:08 -06:00
Nate Kelley 2c2bf74475
Add prebuild script to server-shared 2025-07-12 16:07:55 -06:00
Nate Kelley d8e0146978
create a db utilities 2025-07-12 15:48:42 -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
Nate Kelley 51f93a4a39
Merge pull request #488 from buster-so/big-nate/bus-1362-dashboards-not-opening-as-expected-when-opening-a-chat
Update aria accesiblity controls
2025-07-11 16:18:50 -06:00
Nate Kelley 9f44595712
Update aria accesiblity controls 2025-07-11 16:18:31 -06:00
Nate Kelley 07fbd77411
Merge pull request #487 from buster-so/big-nate/bus-1362-dashboards-not-opening-as-expected-when-opening-a-chat
Big nate/bus 1362 dashboards not opening as expected when opening a chat
2025-07-11 16:15:40 -06:00
Nate Kelley c2dee1e5be
update display name 2025-07-11 16:14:59 -06:00
Nate Kelley f41f16c108
update mountained status 2025-07-11 16:10:27 -06:00
Nate Kelley f7a7ab7e7a
cookie state update 2025-07-11 15:16:40 -06:00
Cursor Agent 8b34fd153a Update route path for metric files to use 'metrics' instead of 'metric_files'
Co-authored-by: dallin <dallin@buster.so>
2025-07-11 20:53:51 +00:00
Cursor Agent 2fca16e7b4 Update metric routes from metric_files to metrics
Co-authored-by: dallin <dallin@buster.so>
2025-07-11 20:52:29 +00:00
Cursor Agent 99b27bc87a Checkpoint before follow-up message 2025-07-11 20:50:04 +00:00
Nate Kelley 90a11d5fd8
pass through a wrapper component 2025-07-11 14:46:10 -06:00
Nate Kelley e5eff7d9ec
panel options update 2025-07-10 15:50:56 -06:00
Nate Kelley 1151b72467
Update slack integrations 2025-07-10 15:06:21 -06:00
Nate Kelley cc2a45e7d1
select props update 2025-07-10 14:50:01 -06:00
Nate Kelley 9ed1ed5eef
update image protocol 2025-07-10 14:35:40 -06:00
Nate Kelley b0a010bbce
access role update 2025-07-10 14:24:30 -06:00
Nate Kelley d83193f0c4
adjust new select 2025-07-10 14:19:12 -06:00
Nate Kelley a7aea69277
Update package version 2025-07-10 09:56:40 -06:00
Nate Kelley cefdfe6fdf
Update slack query request logic 2025-07-10 09:54:14 -06:00
Nate Kelley f8a2e86297
remove logs 2025-07-10 09:41:45 -06:00
Nate Kelley 9c1d5495c5
move to specific name in chartjstheme 2025-07-10 09:37:29 -06:00
Nate Kelley 834d75674a
additional hot fixes 2025-07-10 09:32:19 -06:00
Nate Kelley 1860a20f45
add a lot of logs for charting 2025-07-10 09:21:34 -06:00
dal 0ef584fdc2
removed the none field since it doesn't exist. 2025-07-10 08:01:49 -06:00
dal 3ca54c7f28
Refactor integration tests for domain management and workspace settings. Update error messages for permission checks to be more specific. Enhance domain handling logic for consistency and improve test cleanup procedures. 2025-07-10 07:45:04 -06:00
dal 99837c8d2c
adjusted query reqs to fetch on pageload 2025-07-10 05:39:29 -06:00
dal 0b2a3d2f71
Merge remote-tracking branch 'origin/staging' into big-nate/bus-1260-set-a-default-permissionpermission-role-for-newly-added 2025-07-10 05:35:56 -06:00
Nate Kelley 897e51550b
Update chartjs to not clear or stop 2025-07-09 21:41:35 -06:00
Nate Kelley 170380fe09
bust storage update 2025-07-09 21:27:00 -06:00
Nate Kelley 7f5e1c80c4
remove logs 2025-07-09 20:56:24 -06:00
Nate Kelley bc5fd922fe
select component update 2025-07-09 17:07:31 -06:00
Nate Kelley 8a95ff8d30
Update new settings components 2025-07-09 17:02:23 -06:00
Nate Kelley 30f1315908
Initial select 2 component 2025-07-09 16:55:25 -06:00
dal b0153b4b30
comment out links 2025-07-09 16:33:00 -06:00
Nate Kelley 6f6e70c54c
Make slack cards better 2025-07-09 15:27:40 -06:00
Nate Kelley 35a160301a
logger fix + chat title 2025-07-09 15:01:59 -06:00
Nate Kelley 09ba7b315a
show all other assumptions 2025-07-09 14:23:40 -06:00
Nate Kelley 016ca3f448
Make fixes to confidence scores icons and width 2025-07-09 14:20:11 -06:00
Nate Kelley c223309df2
Add slack integration endpoints 2025-07-09 14:08:29 -06:00
Nate Kelley 25c235c809
Add slack requests 2025-07-09 12:01:07 -06:00
Nate Kelley 821ed90083
initial slack build out (no apis) 2025-07-09 11:52:33 -06:00
Nate Kelley 0079ede62e
Merge branch 'big-nate/bus-1260-set-a-default-permissionpermission-role-for-newly-added' of https://github.com/buster-so/buster into big-nate/bus-1260-set-a-default-permissionpermission-role-for-newly-added 2025-07-09 11:06:26 -06:00
Nate Kelley e22a795326
Add additinal fixes 2025-07-09 11:06:25 -06:00
Nate Kelley aa22c9f378
Update apps/web/src/components/features/security/ApprovedEmailDomains.tsx
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-09 11:02:51 -06:00
Nate Kelley 26d77fef53
create workspace settings 2025-07-09 10:58:51 -06:00
Nate Kelley 59e6aacd9d
part 1 of making workspace toggles 2025-07-09 09:42:16 -06:00
Nate Kelley 46c3fccb9b
invite link updates 2025-07-08 17:20:31 -06:00
Nate Kelley 9bd7824586
create security endpoints strucutre 2025-07-08 16:48:13 -06:00
Nate Kelley 7d22c42141
Move organization user to a server type 2025-07-08 15:06:17 -06:00
Nate Kelley aecb11f1a3
refetch on success 2025-07-08 14:54:01 -06:00
Nate Kelley e7c7ec2d7d
Update minor cosmetic changes 2025-07-08 14:45:36 -06:00
Nate Kelley da21b4fbb5
prevent spam on new chat 2025-07-08 14:33:15 -06:00
Nate Kelley 4ba5c35b90
submitting chat debounce 2025-07-08 14:23:22 -06:00
Nate Kelley 82de7d6b6e
update packages 2025-07-08 14:14:00 -06:00
Nate Kelley e6801a9ef2
segments work with version history 2025-07-08 14:10:03 -06:00
Nate Kelley 8d691f8735
change min height 2025-07-08 13:07:21 -06:00
Nate Kelley 8850b1ffd8
Assumption cards 2025-07-08 12:54:18 -06:00
Nate Kelley e5d189e47d
Assumption panel created 2025-07-08 12:06:31 -06:00
Nate Kelley b3570f3181
add additional styling for scrolling 2025-07-08 10:54:20 -06:00
Nate Kelley 93f6564a9d
Sheet should be pushed off the edge of the window 2025-07-08 10:51:56 -06:00
Nate Kelley a4c1c886fa
Initial sheet commit 2025-07-08 10:47:07 -06:00
Nate Kelley 8924a343fb
Downgrade node version for version 2025-07-08 10:04:30 -06:00
Nate Kelley f4c2515f25
truncate metric headers and values 2025-07-08 09:46:51 -06:00
Nate Kelley aabb6908d7
move types to be on server 2025-07-07 22:26:42 -06:00
Nate Kelley 45cbfdae2f
Update styles.scss 2025-07-07 21:42:49 -06:00
Nate Kelley 87183a4bad
fix replace missing data with logic 2025-07-07 16:44:03 -06:00
Nate Kelley 72e3d3532e
overflow visible for dashboard 2025-07-07 16:23:29 -06:00
Nate Kelley 2a6bd2f5a8
avatar passthrough 2025-07-07 16:15:10 -06:00
Nate Kelley 0331be1cda
verification pass through avatar url 2025-07-07 15:53:18 -06:00
Nate Kelley 6d02d8900f
move types to server 2025-07-07 15:43:47 -06:00
Nate Kelley dd01142273
pass down avatar url 2025-07-07 14:10:57 -06:00
Nate Kelley 6323c96467
update defaults for web 2025-07-07 13:59:55 -06:00
Nate Kelley 931886526c
Delete .nvmrc 2025-07-07 13:34:52 -06:00
Nate Kelley 2489732c39
node 24 is the standard version 2025-07-07 13:16:25 -06:00
Nate Kelley 0827499db0
update vitest 2025-07-07 12:58:29 -06:00
Nate Kelley b926eea37b
no longer need dashboard versions 2025-07-07 12:11:00 -06:00
Nate Kelley fdc3c20ea4
Remove dashboard versions from page 2025-07-07 11:47:52 -06:00
Nate Kelley 1fb5310f76
Add more descriptions and remove logs 2025-07-07 11:44:20 -06:00
Nate Kelley 9d5850cc07
update dashboard links 2025-07-07 11:37:25 -06:00
Nate Kelley 584bbbaefe
Merge branch 'staging' into nate/dashboard-links 2025-07-07 10:22:37 -06:00
Nate Kelley 9637fbad86
Fix additional linting errors 2025-07-07 09:18:31 -06:00
dal 3091686823
package upgrades 2025-07-07 08:19:49 -06:00
Nate Kelley bee806b554
metric segments 2025-07-05 10:01:19 -06:00
Nate Kelley 34dfbd11b9
dashboard metric links 2025-07-05 09:35:28 -06:00
Nate Kelley fa7713f510
Update api imports to be a little more direct 2025-07-04 07:49:54 -06:00
Nate Kelley 043d2654b0
Move default to individual packages 2025-07-04 01:26:25 -06:00
Nate Kelley 847ea87dde
Export issues resolved 2025-07-04 01:17:35 -06:00
Nate Kelley 18febf7428
fix query params imports 2025-07-04 00:25:22 -06:00
Nate Kelley fb573f042c
stricter imports 2025-07-04 00:04:44 -06:00
Nate Kelley 3294534dd8
Update layout imports 2025-07-04 00:01:20 -06:00
Nate Kelley 533b4dcf77
Update import paths 2025-07-03 23:56:31 -06:00
Nate Kelley 82fc198f57
update data result type 2025-07-03 23:10:09 -06:00
Nate Kelley db66177c62
dashboard type changes 2025-07-03 17:10:08 -06:00
Nate Kelley 2a8db894a3
additional fixes to chart types 2025-07-03 16:52:53 -06:00
Nate Kelley 4cdde9203f
update server shared to include new types 2025-07-03 15:54:31 -06:00
Nate Kelley 7364f328d4
added additional server shared types 2025-07-03 14:33:55 -06:00
Nate Kelley 33d97e07ab
abstract helpers to new files 2025-07-03 12:31:52 -06:00
Nate Kelley 514f8751b9
reference pages directly 2025-07-03 10:35:50 -06:00
Nate Kelley d3a72fda5c
Initial chat title fix 2025-07-03 10:09:32 -06:00
Nate Kelley e3990c5f7d
Fix broken web unit tests 2025-07-02 17:00:19 -06:00
Nate Kelley 0642e9c304
Remove logs 2025-07-02 16:47:41 -06:00
Nate Kelley 3ec9e775a3
Mastra braintrust (#394)
* 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

* clean up workflows db migration

* cert location copy moved

* Prism highlighting update

* Fix merge conflicts

---------

Co-authored-by: dal <dallin@buster.so>
Co-authored-by: porter-deployment-app[bot] <87230664+porter-deployment-app[bot]@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 16:31:20 -06: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