- 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.
* 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>
* cert location copy moved (#392)
* 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
* clean up workflows db migration
* cert location copy moved
---------
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>
* deploy to staging (#393)
* 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>
* Remove logs
* Remove logs (#395)
* Fix broken web unit tests
* Remove useless test
* Update helpers.test.ts
* Create tsconfig.json
---------
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>
* 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>
* 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
* clean up workflows db migration
* cert location copy moved
---------
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>
* 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>
- Added support for building and compressing the Windows CLI artifact, including the installation of PostgreSQL binaries for libpq.
- Updated the workflow to include the necessary environment variables for PostgreSQL and adjusted artifact upload paths.
- Improved the overall structure and clarity of the Windows-specific build steps.
- Created a nice little sidebar for the navigation
- Ripped out old AppSplitter in favor a new pixel based on (with better animations)
- Preserved the chat layout on page refresh
- Updated BusterConfig structure to better support project contexts
- Added get_context_for_path method to determine project context for a file
- Enhanced resolve_model_paths to respect the project hierarchy
- Updated deploy.rs to use the revised model discovery and configuration inheritance
- Added unit tests and integration tests for project config functionality
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* updates for efficiency
* working on a single function
* update
* working
* update
* optimized
* update
* trendline operations pt 1
* update datasets to include ticks
* dataset creator
* udate
* trendlines
* move to one single dataset options hook
* started adding in options
* fix some broken functions
* line series builder
* threadshold updates
* pie sort by
* additional fixes to data structures
* update
* update animations
* update to y axis combos
* more stable asset prop passing
* Update ChartJSTheme.ts
* update check
* update problematic dataset
* with additional tests for size
* size data key
* update unit tests
* add a virtualizer for the rows
* add a few scatter tests
* update
* add additionla unit tests
* add additionla unit tests
* update
* add a couple more tests
* many updates
* update builder to not use deprcated functinos
* added additional unit tests
* add a few more unit tests
* make a few new unit tests
* make tooltip a little more efficient
* builders have some unit tests
* make additional tests
* added a bunch of unit tests
* move mount logic closer to buster chart
* fix link click bug
* adjust the icons
* fix broken time stamps
* additional config for tooltips
* add one additional unit test
* update package versions
* update the tests to run on the branch
* Update web-tests.yml
* chore: add release-please configuration
* create virtua list component
* only debounce if there is text
* prefetch on demand
* add a popup for permissions
* update package versions
* Make users page (#39)
* create users pages
* abstract more components to correct folders
* carve out expection if we are hiding the select all
* user query
* Add ability to change default access
* Update package-lock.json
* Update package-lock.json
* Update web/src/components/list/BusterList/BusterListReactWindow.tsx
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Big nate/bus 924 make additional permissions pages (#50)
* create virtua list component
* only debounce if there is text
* prefetch on demand
* add a popup for permissions
* Update web/src/components/list/BusterList/BusterListReactWindow.tsx
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* finalize permission popup
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* more elegant infinite list component
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* add additional bulk popup menus
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* make pages unique
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* change how padding is applied to list
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* infinite list component
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* start user dataset lineage
Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Refactor SQL query in list_assets_handler to use a Common Table Expression (CTE) for improved readability and maintainability. The CTE, `distinct_assets`, simplifies the selection of distinct asset records before applying the final ordering and limiting.
* add cursor rules for web directory + jest (#52)
* on change update for segments
* PRevent clicking passthrough on users click
* feat: Add assets module and nest routes in user router
- Introduced a new `assets` module to handle asset-related routes.
- Updated the user router to nest the `assets` routes under the user ID path, enhancing the organization of API endpoints.
- This change improves the structure and maintainability of the user-related routes in the API.
* feat: Enhance user attribute listing with authorization checks
- Updated the `list_attributes_handler` to include authorization checks for user roles and organization IDs.
- Implemented error handling for unauthorized access to user attributes.
- Refactored the SQL query to retrieve user attributes based on the authenticated user's organization, improving security and data integrity.
- This change ensures that only authorized users can list attributes, enhancing the overall security of the API.
* pass through dataset overview
* feat: Update dataset group listing to include permissions
- Enhanced the `list_dataset_groups` function to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset group.
- Modified the `DatasetGroupInfo` struct to include `permission_id` and `assigned` fields, reflecting the new data structure.
- Refactored the SQL query to group by necessary fields and ensure accurate permission data is returned, improving the functionality and security of dataset group listings.
* feat: Add DatasetGroupPermission model and schema
- Introduced a new `DatasetGroupPermission` struct in `models.rs` to represent permissions associated with dataset groups.
- Updated the database schema in `schema.rs` to include the `dataset_groups_permissions` table, defining its structure and relationships.
- Modified the `is_user_workspace_admin_or_data_admin` function in `checks.rs` to correctly reference the user's organization role, enhancing role validation logic.
* add component for users inputs
* feat: Update dataset group listing to include dataset group permissions
- Modified the `list_dataset_groups` function to accept an additional `id` parameter for filtering dataset groups based on user permissions.
- Updated the SQL query to join with the `dataset_groups_permissions` table, allowing retrieval of permission counts for each dataset group.
- Refactored the `DatasetGroupInfo` struct to replace `permission_id` with `permission_count`, enhancing clarity and accuracy in the data representation.
- Ensured that the query groups by the new permission structure, improving the functionality and security of dataset group listings.
* feat: Refactor dataset listing to include user-specific permissions
- Updated the `list_datasets` function to accept an additional `id` parameter for filtering datasets based on user permissions.
- Enhanced the SQL query to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset.
- Refactored the `DatasetInfo` struct to include an `assigned` field, improving clarity in the dataset representation.
- Improved error handling for dataset retrieval, ensuring robust logging and response management.
* fix: Correct user role attribute and enhance read-only logic in list_attributes_handler
- Updated the user role attribute key from "role" to "organization_role" for accurate role retrieval.
- Introduced a read-only flag for specific user attributes, improving data integrity by clearly indicating which attributes should not be modified.
- Enhanced error handling for user role retrieval, ensuring robust responses for missing or incorrect attributes.
* normalize header for list
* new line
* popup conatiner for users
* feat: Enhance user authorization checks and refactor related functions
- Added user authorization checks in `list_attributes`, `list_dataset_groups`, `list_datasets`, `list_permission_groups`, and `list_teams` functions to ensure only users with appropriate roles can access these resources.
- Refactored the `list_teams_handler` to accept `user_id` as a parameter, improving clarity and consistency across user-related functions.
- Updated SQL queries to utilize the new authorization checks, enhancing security and data integrity.
- Removed redundant column allowances in `list_teams` permissions, streamlining the codebase.
* pass last child as index
* feat: Enhance permission group handling and streamline SQL queries
- Expanded the `allow_columns_to_appear_in_same_group_by_clause!` macro in `models.rs` to include additional columns for datasets and users, improving query flexibility.
- Refactored the `list_permission_groups` function to include dataset count and assigned status, enhancing the information returned for each permission group.
- Updated SQL queries in `list_permission_groups` to utilize left joins for better data retrieval and to ensure accurate permission checks.
- Removed redundant column allowances in various files, streamlining the codebase and improving maintainability.
* feat: Add PUT route for updating teams in user assets
- Introduced a new module `put_teams` to handle updates for teams.
- Added a PUT route for `/teams` in the user assets router, allowing for team modifications.
- Enhanced the routing capabilities of the user assets API to support both GET and PUT requests for teams.
* onchagne appsegmetned update
* create permission user endpoints
* move files to match new page structure
* refactor: Clean up routing and improve PUT teams handler
- Reformatted imports in `mod.rs` for better readability.
- Commented out the PUT route for `/teams` in the user assets router, indicating a potential future change or deprecation.
- Updated the `put_teams` handler to return a `NoContent` response upon successful execution, enhancing clarity in API responses.
- Improved error handling in the `put_teams` function for better logging and response management.
* refactor: Standardize user ID parameter naming across user-related routes
- Updated all user-related route handlers to use `user_id` instead of `id` for better clarity and consistency.
- Modified the routing definitions in `mod.rs` to reflect the new parameter naming convention.
- Enhanced the `list_permission_groups` function to accept `user_id` as a parameter, improving clarity in the handler's signature.
- Ensured all relevant functions now consistently handle the `user_id` parameter, streamlining the codebase and improving maintainability.
* feat: Enhance team management with role-based assignments
- Introduced a new `TeamInfoRole` enum to represent user roles within teams, replacing the previous boolean `assigned` field.
- Updated the `list_teams` handler to return team roles instead of assignment status, improving clarity on user roles.
- Refactored the `put_teams` handler to support role-based assignments, allowing for more granular control over team memberships.
- Added new PUT routes for dataset groups and permission groups in the user assets router, enhancing API capabilities.
- Improved SQL queries for team assignments to utilize role information, streamlining database interactions.
* feat: Add organization_id to DatasetGroupPermission and update dataset group handler
- Introduced a new `organization_id` field in the `DatasetGroupPermission` struct to associate permissions with specific organizations.
- Updated the `put_dataset_groups_handler` to include `organization_id` when creating or updating dataset group permissions, enhancing the API's capability to manage permissions at the organizational level.
- Improved SQL query formatting for better readability in the handler.
* add list components for permission settings
* feat: Introduce assets module and update routing for permission groups
- Added a new `assets` module to organize related routes.
- Updated the routing in `mod.rs` to nest the `assets` router under the `/:permission_group_id` path, enhancing the structure and clarity of the API.
- Maintained existing routes for managing permission groups while improving modularity.
* create permission group users
* refactor: Update list_permission_groups_handler to use user_id and improve SQL queries
- Changed the parameter in the SQL query from `user.id` to `user_id` for consistency with the updated user ID parameter naming convention.
- Enhanced the SQL query to count distinct dataset permissions and utilize `bool_or` for identity checks, improving accuracy and performance.
- Cleaned up the grouping in the SQL query by removing unnecessary fields, streamlining the data retrieval process.
* add listing for dataset groups
* feat: Add PUT routes for user and dataset management in assets module
- Introduced new PUT routes for managing users and dataset groups in the assets module.
- Updated the router to support PUT requests for `/users`, `/dataset_groups`, and `/datasets`, enhancing the API's functionality for resource updates.
- Improved modularity by organizing related routes within the assets module.
* add listing for dataset groups
* add list for datasets
* assigned permissions
* Add attributes and teams
* feat: Add DatasetToDatasetGroup model and update schema
- Introduced a new `DatasetToDatasetGroup` struct to represent the relationship between datasets and dataset groups, including fields for timestamps and optional deletion.
- Updated the database schema to include `updated_at` and `deleted_at` fields for the `datasets_to_dataset_groups` table, enhancing data tracking capabilities.
- Refactored the routing in `mod.rs` to include a nested router for assets, improving the organization of dataset group routes.
* invalidate query if user id is present
* create a dataset modal added to user page
* add team modal to teams
* assigned popup
* feat: Enhance user retrieval with dataset information
- Added new structs `DatasetLineage` and `DatasetInfo` to represent dataset details and lineage.
- Updated `UserResponse` to include a list of datasets associated with the user.
- Refactored `get_user_information` function to concurrently fetch user info, direct datasets, permission group datasets, and organization datasets using `tokio::spawn` for improved performance.
- Implemented logic to compile datasets based on direct access and permission group access, including lineage tracking for better data representation.
- Enhanced error handling during database queries to ensure robust user information retrieval.
* feat: Enhance dataset access retrieval in user and dataset overview
- Updated `get_dataset_overview` to include dataset group access and permission group to dataset group access, improving the granularity of dataset permissions.
- Introduced new queries to fetch dataset groups and their associated permissions, enhancing the dataset overview for users.
- Refactored `get_user_information` to concurrently retrieve dataset groups and permission group datasets, optimizing performance with `tokio::spawn`.
- Enhanced lineage tracking for datasets, allowing for better representation of user permissions across dataset groups and permission groups.
- Improved error handling during database queries to ensure robust data retrieval.
* lineage props passed
* refactor: Streamline dataset access logic in get_user_information
- Simplified access control logic for datasets based on user roles, consolidating conditions for WorkspaceAdmin, DataAdmin, Querier, Viewer, and RestrictedQuerier.
- Enhanced dataset lineage tracking to provide clearer representation of user permissions across various dataset access types.
- Removed redundant code related to dataset processing, improving readability and maintainability of the `get_user_information` function.
- Ensured that datasets are correctly categorized based on direct access, permission group access, and organization datasets, optimizing the overall data retrieval process.
* feat: Refactor dataset overview access lineage in get_dataset_overview
- Introduced a default access lineage for users, ensuring consistent representation of user permissions.
- Simplified the addition of user roles to the lineage, consolidating logic for WorkspaceAdmin, DataAdmin, Querier, and Viewer roles.
- Enhanced lineage tracking for RestrictedQuerier role to include direct dataset access and permission group lineage, improving granularity of dataset permissions.
- Removed redundant code related to dataset and permission group lineage, optimizing readability and maintainability of the `get_dataset_overview` function.
* add datasetgroup handler
* feat: Improve dataset access control and lineage tracking
- Enhanced the `get_dataset_overview` function to refine access control for the `RestrictedQuerier` role, allowing for more granular permission checks based on various access paths.
- Updated the `get_user_information` function to streamline dataset processing, ensuring that datasets are categorized correctly based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability of both functions.
- Improved lineage tracking for datasets, providing a clearer representation of user permissions across different access types.
* clickable pills
* fix build errors
* add endpoints for dataset groups, and permission groups
* refactor: Enhance dataset access control and lineage tracking
- Streamlined the `get_dataset_overview` function to improve access control for the `RestrictedQuerier` role, ensuring more precise permission checks.
- Updated the `get_user_information` function to optimize dataset processing, categorizing datasets based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability.
- Enhanced lineage tracking for datasets, providing a clearer representation of user permissions across different access types.
* better handling for create a permission group
* Refetch on team created for now
* add additional pages
* permission group modal update
* added pages for permission groups
* add user permission list
* add datasets to permission groups page
* Update dependencies and refactor Snowflake query handling
- Downgraded the `base64` crate version in `Cargo.toml` from `0.22.1` to `0.21`.
- Refactored the `snowflake_query` function in `snowflake_query.rs` to improve data type handling, including support for additional Arrow data types and enhanced null value checks.
- Updated the `route_to_query` function in `query_router.rs` to use mutable `snowflake_client` for better state management during query execution.
- Improved error handling for closing the Snowflake client session, ensuring proper logging of any issues encountered.
* add datasets to permission groups page
* Refactor Snowflake client connection to remove warehouse and database IDs
- Updated the `get_snowflake_client` function to no longer require `warehouse_id` and `database_id`, simplifying the connection process.
- This change enhances flexibility in client initialization and aligns with recent updates to Snowflake API handling.
* add permission groups lists
* add dataset group in permission group area
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: dal <dallin@buster.so>
* added empty state text
* update permission group in the dataset
* Enhance dataset asset listing with organization-specific filtering
- Updated the `list_assets` function to include organization ID filtering in dataset permissions queries.
- Removed redundant organization ID filters from the dataset permissions queries to streamline the logic.
- Ensured that only relevant dataset assets are returned based on the user's organization, improving data security and relevance.
These changes enhance the API's ability to serve organization-specific data, aligning with recent improvements in dataset asset APIs.
* containerized class should be white with no border at bottom
* clear query when signing out
* Use correct endpoint for dataset groups
* yaml syntax highligting
* create dataset endpoints
* update disable logic for deploying a dataset
* Refactor user routes to include new endpoint for retrieving user by ID
- Removed the public modifier from `get_user` and `update_user` modules to encapsulate them within the module.
- Added a new route to the user router for fetching a user by their ID, enhancing the API's functionality.
- This change improves the user management capabilities by allowing retrieval of specific user details based on their unique identifier.
* Add organizations module and integrate with user routes
* remove unused imports and abstract variables
* Refactor user update functionality to support role changes
- Enhanced the `update_user` endpoint to accept and process user role updates alongside name changes.
- Introduced a new `UserResponse` struct for improved response handling.
- Updated the `update_user_handler` to handle changes in both user name and organization role, improving the flexibility of user management.
- Adjusted response type to return no content upon successful updates, aligning with RESTful practices.
These changes enhance the user management capabilities by allowing for more comprehensive updates to user information.
* Update user route to use ID parameter for updates
- Changed the user update route to require a user ID in the URL, enhancing RESTful practices.
- Updated the `update_user` function to extract the user ID from the path, ensuring the correct user is updated based on the provided ID.
These changes improve the clarity and functionality of the user update endpoint, aligning it with standard REST conventions.
* simplify hooks imports
* Remove unused component
* restructure folders for layout
* update imports for gloabl components
* add additional routes
* Implement user permission checks in dataset deployment and user update routes
- Added permission validation to the `deploy_datasets` and `post_dataset` functions to ensure only users with workspace admin or data admin roles can execute these actions.
- Enhanced error handling for permission checks, returning appropriate HTTP status codes and messages for insufficient permissions and internal errors.
- Updated imports to include the new security checks module for consistency across routes.
These changes improve security by enforcing role-based access control in critical dataset operations.
* Refactor user update route to enhance RESTful practices
- Updated the user update route to require a user ID in the URL, ensuring the correct user is updated based on the provided ID.
- Improved clarity and functionality of the `update_user` function by extracting the user ID from the path.
These changes align the user update endpoint with standard REST conventions, enhancing overall API usability.
* Enhance dataset listing functionality with user organization roles
- Refactored dataset listing logic to incorporate user organization roles, allowing for more granular access control based on user permissions.
- Introduced new role checks for `WorkspaceAdmin`, `DataAdmin`, `Querier`, `RestrictedQuerier`, and `Viewer` to determine dataset visibility.
- Updated database queries to fetch datasets based on user roles and organization associations, improving data retrieval efficiency.
- Removed deprecated functions and streamlined the dataset fetching process, ensuring clarity and maintainability in the codebase.
These changes improve the API's security and usability by enforcing role-based access control for dataset operations.
* tweaked the post thread permissions handle.
* permission_group string fix
* remove package.json
* fix: Add release please syntax handler and github action (#40)
* fix(buster): Add release please syntax handler and github action
* chore: add version tracking setup
fix: update
update nate rulez
---------
Co-authored-by: dal <dallin@buster.so>
- Added new Dependabot configurations for npm packages in the /api and /web directories, scheduled for weekly updates with a limit of 10 open pull requests.
- Updated the GitHub Actions workflows for both main and staging deployments to trigger on changes within the api directory, specifically for migrations, improving deployment reliability.
These changes streamline dependency management and enhance the deployment process for the application.
- Added a new job for database deployment, including steps for installing Rust, configuring AWS credentials, downloading the Postgres certificate from S3, and running migrations.
- Updated the existing porter-deploy job to include AWS credentials configuration and SSL certificate download from S3.
- Improved organization and reliability of the deployment process by ensuring all steps are correctly defined and executed in the appropriate context.
These changes streamline the deployment workflow and enhance the overall reliability of the application deployment process.
- Added a working-directory specification for the 'Run migrations' step in the GitHub Actions workflow, ensuring that Diesel migrations are executed in the correct context within the './api' directory. This change enhances the reliability of the migration process during deployment.
- Changed the S3 URL variable for downloading the Postgres SSL certificate in the GitHub Actions workflow from `PG_CERT_S3_URL` to `CERT_S3_URL`.
- This update ensures the workflow correctly references the updated secret for SSL certificate retrieval, improving the reliability of the deployment process.
- Added steps to configure AWS credentials and download the Postgres SSL certificate from S3 in the GitHub Actions workflow.
- Updated the Dockerfile to reflect the new path for the SSL certificate, ensuring it is correctly copied to the container.
These changes improve the security and organization of SSL certificate handling during the deployment process.
- Changed the directory structure for SSL certificates in the GitHub Actions workflow, creating a new path `certs/cert` for better organization.
- Updated the Dockerfile to reference the new certificate path, ensuring the SSL certificate is correctly installed in the container.
These changes improve the clarity and maintainability of the deployment process.
- Updated the runner specification for the database-deploy job to correct the Ubuntu version format.
- Ensured consistency in the runner configuration for the porter-deploy job by reverting to the previous Ubuntu version.
These changes enhance the accuracy of the workflow configuration, ensuring proper execution of deployment jobs.
- Added steps to create a directory for SSL certificates and copy the downloaded certificate to the new location in the GitHub Actions workflow.
- Updated the Dockerfile to reference the new certificate path, ensuring proper installation of the SSL certificate in the container.
These changes improve the organization of SSL certificates and enhance the deployment process.
- Added support for pull requests targeting the staging branch to the existing workflow.
- This change improves the deployment process by ensuring that pull requests are also considered for staging deployments.
- Introduced a new job for database deployment, including steps to install Rust, cache dependencies, and run Diesel migrations.
- Updated the existing porter-deploy job to include AWS credentials configuration and SSL certificate retrieval from S3.
- Enhanced the overall structure and organization of the workflow for improved clarity and maintainability.