Waleed Latif
e43e78fb48
feat(whitelabel): add in the ability to whitelabel via envvars ( #887 )
...
* feat(whitelabel): add in the ability to whitelabel via envvars
* restore site.webmanifest
* fix(dynamic): remove force-dynamic from routes that don't need it (#888 )
* Reinstall dependencies
* Update docs
2025-08-05 19:01:12 -07:00
Siddharth Ganesan
94368eb1c2
Feat/copilot files ( #886 )
...
* Connects to s3
* Checkpoint
* File shows in message
* Make files clickable
* User input image
* Persist thumbnails
* Drag and drop files
* Lint
* Fix isdev
* Dont re-download files on rerender
2025-08-05 17:01:53 -07:00
Siddharth Ganesan
6c12104a2e
feat(copilot): add billing endpoint ( #855 )
...
* Add copilot billing
* Lint
* Update logic
* Dont count as api callg
2025-08-02 17:55:43 -07:00
Siddharth Ganesan
9f0673b285
Remove process.env ( #854 )
2025-08-02 16:43:07 -07:00
Siddharth Ganesan
ab85c1a215
feat(copilot): implement copilot ( #850 )
...
* Fix autolayout v1
* Nuke tool call history
* Modal v1
* Preview v2
* more updates
* Checkpoint
* Checkpoint
* Better preview
* Big stuff
* Chat ui
* Ui
* Update
* Changes
* Increase token limit for copilot
* Preview layout fixes
* Checkpoint
* sse checkpoint
* Checkpoint
* Continuation logic
* Checkpoint
* Updates
* UPdates
* Updateds
* Cleanup
* Update
* Diff checker
* test
* Checkpoint
* Checkpoint
* Checkpoint again
* checkpoint again
* Chat box output format
* Auto open diff canvas
* Checkpoint
* Checkpoit
* Cleaning?
* Diff checkpoint
* Checkpoint
* Persist changes
* Autolayout fixces
* Color diff fixes
* Opusss
* Works??
* getting there
* Fixes?
* Fixes?
* Chat fixes
* Autolayout fixes
* Subblock update diffs
* Handle delete diffs
* Edge diffs v1
* Deletion edge diff
* It works, kinda
* Fixes
* Update
* Docs changes
* Prompt fixes and new tool
* Persist color changes
* Add serper to copilot tools
* Get env vars copilot tool
* Set env vars copilot tool
* Copilot console tool
* Promtps
* Targeted v1
* Targeted v2
* Targeted updates better
* Target fixes
* diff works??
* Diff goes away when switching workflows
* Fixes
* Edge fixes
* Remove brief error
* Lint
* Minor fix
* Add abort controller
* Prompting
* Lint
* Fix test
* Fix lint
* Update csp
* Add route to send info to sim agent
* Consolidated copilot
* First refactor complete
* Get user workflow now returns yaml
* Checkpoint
* Checkpoitn
* Works
* It works
* Hi
* Cumulative target edit
* Checkpont
* Checkpoint
* Store updates
* Checkpoitn
* Smart title generation
* Handle copilot aborts
* Clean up old copilot code
* Refactor tool names
* Checkpoint
* Remove old route
* Fix chat loading
* Scope copilot chat to workflow id
* New chat fixes
* Fix chat loading
* Update get all blocks and tools
* Make metadata better
* Update docs
* Conditional update
* Yaml refactor
* Set up yaml service client
* Yaml service migration
* Migrate diff engine to sim agent
* Refactor diff engine
* Fix autolayout problems and clean up code some more
* improvement: copilot panel ui/ux
* Lint
* Cleaning
* Fix autolayout
* Fix chat output selector
* Updated copilot
* Small update
* Checkpoint system v1
* Checkpoint ui
* Copilot ui
* Copilot ui
* Checkpoint
* Accept/reject state
* Proper tool call display name updates
* Fix tool call display updates
* Streaming quality updates?
* Abort on refresh/chat switch/workflow switch
* Abort v2g
* Perf updates
* Ui updates
* Smoother streaming
* Handle edge diffs from sim agent properly
* Enable text box while streaming, but keep send disabled
* Fix set env var route
* Add interrupt param
* Add interrupt handler
* Interrupt v1
* Interrupt ui update
* Update icons
* Ui fixes?
* Simplify get user workflow tool
* Run workflow v1
* Fix edit workflow
* Run workflow e2e v1
* Run workflow v2
* Run workflow v3
* v1 of v3, bad code, needs refactro
* Lint
* Cleaning v1?
* Checkpoitn
* Fix backend processing of status
* State updates
* Closer
* Icon update
* More updates
* Checkpoitn
* Updates
* Chat stays when tabbign
* Fix get console logss
* Markdown copilot
* Fix tool naming for build workflow
* Streaming improvements
* Use logs for copilot run workflow
* Progress
* it works?
* Fix chat loading
* Getting there
* Autoscroll to bottom of chat
* Fix icons
* Lint
* Confirm route polling
* Cleaning
* Lint
* Remove migrations
* Remove journal entry 64
* Resolve merge conflicts
* Db migration
* Fix test and lint
* Fix tsvector lint error
* Fixes
---------
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2025-08-02 15:30:33 -07:00
waleedlatif
63f3871f60
feat(deploy-chat): added a logo upload for the chat, incr font size
2025-08-01 12:48:47 -07:00
Waleed Latif
8d7f3a50d1
fix(domain): add redirects to maintain API routes with old host ( #820 )
...
* fix(domain): add redirects to maintain API routes with old host
* fix RB2B
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-29 13:57:41 -07:00
Waleed Latif
ae43381d84
feat(domain): drop the 'studio' ( #818 )
...
* feat(domain): drop the
* change all references for Sim Studio to Sim
* change back license and notice
* lint
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-29 12:51:43 -07:00
Waleed Latif
510ce4b7da
improvement(cdn): add cdn for large video assets with fallback to static assets ( #809 )
...
* added CDN for large assets with fallback to static assets
* remove video assets from docs
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-28 12:15:41 -07:00
Waleed Latif
abed816afd
fix(standalone): selectively enable vercel speed insights, add annotations for envvars ( #808 )
...
* add annotations for environment variables
* selectively enable vercel speed insights
* use DOCKER_BUILD flag to selectively disable vercel speed insights and analytics
* lint
* additional info
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-28 11:10:20 -07:00
Waleed Latif
a599d3ae0a
fix(lint): ran lint ( #766 )
2025-07-23 01:38:09 -07:00
Waleed Latif
ca468dcbcd
Merge branch 'main' into staging
2025-07-23 01:34:13 -07:00
Waleed Latif
a217daca3c
fix(envvars): use getEnv on the client-side when we need to inject vars for docker runtime, fix folder container & removed folder/subfolder creation modals ( #751 )
...
* use getEnv on the client-side when we need to inject vars for docker runtime, fix folder container & removed folder/subfolder creation modals
* consolidated naming utils
* additional type safety
2025-07-22 16:08:04 -07:00
Waleed Latif
78f45a587a
Revert "v0.3.7: docker fix, docs "
2025-07-22 13:34:14 -07:00
Waleed Latif
f5a64f400e
fix(docker): use next-runtime instead of accessing next_public vars directly ( #746 )
2025-07-22 12:33:48 -07:00
Vikhyath Mondreti
b05a9b1493
feat(execution-queuing): async api mode + ratelimiting by subscription tier ( #702 )
...
* v1 queuing system
* working async queue
* working impl of sync + async request formats
* fix tests
* fix rate limit calc
* fix rate limiting issues
* regen migration
* fix test
* fix instrumentation script issues
* remove use workflow queue env var
* make modal have async examples
* Remove conflicting 54th migration before merging staging
* new migration files
* remove console log
* update modal correctly
* working sync executor
* works for sync
* remove useless stats endpoint
* fix tests
* add sync exec timeout
* working impl with cron job
* migrate to trigger.dev
* remove migration
* remove unused code
* update readme
* restructure jobs API response
* add logging for async execs
* improvement: example ui/ux
* use getBaseUrl() func
---------
Co-authored-by: Waleed Latif <walif6@gmail.com >
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2025-07-18 12:41:51 -07:00
Waleed Latif
8a9bc4e929
fix(permissions): make permissions check case insensitive, resolve hydration issues by consolidating environment checking function ( #678 )
...
* fix(permissions): make permissions check case insensitive
* consolidated use of helpers to fetch environment
* use import aliases
* fix(voice): added voice functionality back to chat client (#676 )
* fix(voice): added voice functioanlity back to chat clinet
* add logic to support deployed chat in staging
* fix(api-timeout): increase timeout for API block to 2 min (#677 )
* feat(wealthbox): added wealthbox crm (#669 )
* feat: wealthbox
* feat: added tools
* feat: tested and finished tools
* feat: tested and finished tools
* feat: added refresh token
* fix: added docs
* bun lint
* feat: removed files #669
* fix: greptile comments
* fix: stringified messages #669
* add visibilty to params
---------
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local >
Co-authored-by: Adam Gough <adamgough@Mac.attlocal.net >
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
---------
Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com >
Co-authored-by: Adam Gough <77861281+aadamgough@users.noreply.github.com >
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local >
Co-authored-by: Adam Gough <adamgough@Mac.attlocal.net >
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
2025-07-14 13:42:06 -07:00
Adam Gough
d65bdaf546
feat(wealthbox): added wealthbox crm ( #669 )
...
* feat: wealthbox
* feat: added tools
* feat: tested and finished tools
* feat: tested and finished tools
* feat: added refresh token
* fix: added docs
* bun lint
* feat: removed files #669
* fix: greptile comments
* fix: stringified messages #669
* add visibilty to params
---------
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local >
Co-authored-by: Adam Gough <adamgough@Mac.attlocal.net >
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
2025-07-14 13:07:55 -07:00
Waleed Latif
36eb04dab5
fix(stripe): added missing webhook secret for stripe webhook billing endpoint
2025-07-12 20:20:00 -07:00
Vikhyath Mondreti
60e2e6c735
fix(reddit): update to oauth endpoints ( #627 )
...
* fix(reddit): change tool to use oauth token
* fix lint
* add contact info
* Update apps/sim/tools/reddit/get_comments.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update apps/sim/tools/reddit/hot_posts.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Update apps/sim/tools/reddit/get_posts.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* fix type error
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-07 13:32:23 -07:00
Aditya Tripathi
e22f0123a3
fix(envvars): t3-env standardization ( #606 )
...
* chore: use t3-env as source of truth
* chore: update mock env for failing tests
2025-07-06 20:01:28 -07:00
Vikhyath Mondreti
78b5ae7b3d
v0.2.7: fix + feat ( #615 )
...
* feat(logging): add additional logs for proxy routes
* fix(blocks): workflow handler not working outside gui (#609 )
* fix: key to call api internally for workflow block
* feat: use jwt for internal auth to avoid a static key
* chore: formatter
* fix(sidebar): added loop & parallel subblcoks to sidebar search
* merged improvement/connection into staging (#604 )
* merged improvement/connection into staging
* fix: merge conflicts and improved block path calculation
* fix: removed migration
* fix: removed duplicate call
* fix: resolver and merge conflicts
* fix: knowledge base folder
* fix: settings modal
* fix: typeform block
* fix: parallel handler
* fix: stores index
* fix: tests
* fix: tag-dropdown
* improvement: start block input and tag dropdown
* fix block id resolution + missing bracket
* fix lint
* fix test
* works
* fix
* fix lint
* Revert "fix lint"
This reverts commit 433e2f9cfc .
---------
Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
* fix(autopan): migration missing (#614 )
* add autopan migration
* fix lint
* fix linter
* fix tests
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan >
---------
Co-authored-by: Waleed Latif <walif6@gmail.com >
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan >
2025-07-04 13:48:17 -07:00
Waleed Latif
76df2b9cd9
fix(sockets): added throttling, refactor entire socket server, added tests ( #534 )
...
* refactor(kb): use chonkie locally (#475 )
* feat(parsers): text and markdown parsers (#473 )
* feat: text and markdown parsers
* fix: don't readfile on buffer, convert buffer to string instead
* fix(knowledge-wh): fixed authentication error on webhook trigger
fix(knowledge-wh): fixed authentication error on webhook trigger
* feat(tools): add huggingface tools/blcok (#472 )
* add hugging face tool
* docs: add Hugging Face tool documentation
* fix: format and lint Hugging Face integration files
* docs: add manual intro section to Hugging Face documentation
* feat: replace Record<string, any> with proper HuggingFaceRequestBody interface
* accidental local files added
* restore some docs
* make layout full for model field
* change huggingface logo
* add manual content
* fix lint
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
* fix(knowledge-ux): fixed ux for knowledge base (#478 )
fix(knowledge-ux): fixed ux for knowledge base (#478 )
* fix(billing): bump better-auth version & fix existing subscription issue when adding seats (#484 )
* bump better-auth version & fix existing subscription issue Bwhen adding seats
* ack PR comments
* fix(env): added NEXT_PUBLIC_APP_URL to .env.example (#485 )
* feat(subworkflows): workflows as a block within workflows (#480 )
* feat(subworkflows) workflows in workflows
* revert sync changes
* working output vars
* fix greptile comments
* add cycle detection
* add tests
* working tests
* works
* fix formatting
* fix input var handling
* add images
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
* fix(kb): fixed kb race condition resulting in no chunks found (#487 )
* fix: added all blocks activeExecutionPath (#486 )
* refactor(chunker): replace chonkie with custom TextChunker (#479 )
* refactor(chunker): replace chonkie with custom TextChunker implementation and update document processing logic
* chore: cleanup unimplemented types
* fix: KB tests updated
* fix(tab-sync): sync between tabs on change (#489 )
* fix(tab-sync): sync between tabs on change
* refactor: optimize JSON.stringify operations that are redundant
* fix(file-upload): upload presigned url to kb for file upload instead of the whole file, circumvents 4.5MB serverless func limit (#491 )
* feat(folders): folders to manage workflows (#490 )
* feat(subworkflows) workflows in workflows
* revert sync changes
* working output vars
* fix greptile comments
* add cycle detection
* add tests
* working tests
* works
* fix formatting
* fix input var handling
* fix(tab-sync): sync between tabs on change
* feat(folders): folders to organize workflows
* address comments
* change schema types
* fix lint error
* fix typing error
* fix race cond
* delete unused files
* improved UI
* updated naming conventions
* revert unrelated changes to db schema
* fixed collapsed sidebar subfolders
* add logs filters for folders
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
Co-authored-by: Waleed Latif <walif6@gmail.com >
* revert tab sync
* improvement(folders): added multi-select for moving folders (#493 )
* added multi-select for folders
* allow drag into root
* remove extraneous comments
* instantly create worfklow on plus
* styling improvements, fixed flicker
* small improvement to dragover container
* ack PR comments
* fix(deployed-chat): made the chat mobile friendly (#494 )
* improvement(ui/ux): chat deploy (#496 )
* improvement(ui/ux): chat deploy experience
* improvement(ui/ux): chat fontweight
* feat(gmail): added option to access raw gmail from gmail polling service (#495 )
* added option to grab raw gmail from gmail polling service
* safe json parse for function block execution to prevent vars in raw email from being resolved as sim studio vars
* added tests
* remove extraneous comments
* fix(ui): fix the UI for folder deletion, huggingface icon, workflow block icon, standardized alert dialog (#498 )
* fixed folder delete UI
* fixed UI for workflow block, huggingface, & added alert dialog for deleting folders
* consistently style all alert dialogs
* fix(reset-data): remove reset all data button from settings modal along with logic (#499 )
* fix(airtable): fixed airtable oauth token refresh, added tests (#502 )
* fixed airtable token refresh, added tests
* added helpers for refreshOAuthToken function
* feat(registration): disable registration + handle env booleans (#501 )
* feat: disable registration + handle env booleans
* chore: removing pre-process because we need to use util
* chore: format
* feat(providers): added azure openai (#503 )
* added azure openai
* fix request params being passed through agent block for azure
* remove o1 from azure-openai models list
* fix: add vscode settings to gitignore
* feat(file-upload): generalized storage to support azure blob, enhanced error logging in kb, added xlsx parser (#506 )
* added blob storage option for azure, refactored storage client to be provider agnostic, tested kb & file upload and s3 is undisrupted, still have to test blob
* updated CORS policy for blob, added azure blob-specific headers
* remove extraneous comments
* add file size limit and timeout
* added some extra error handling in kb add documents
* grouped envvars
* ack PR comments
* added sheetjs and xlsx parser
* fix(folders): modified folder deletion to delete subfolders & workflows in it instead of moving to root (#508 )
* modified folder deletion to delete subfolders & workflows in it instead of moving to root
* added additional testing utils
* ack PR comments
* feat: api response block and implementation
* improvement(local-storage): remove use of local storage except for oauth and last active workspace id (#497 )
* remove local storage usage
* remove migration for last active workspace id
* Update apps/sim/app/w/[id]/components/workflow-block/components/sub-block/components/file-selector/components/jira-issue-selector.tsx
Add fallback for required scopes
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* add url builder util
* fi
* fix lint
* lint
* modify pre commit hook
* fix oauth
* get last active workspace working again
* new workspace logic works
* fetch locks
* works now
* remove empty useEffect
* fix loading issue
* skip empty workflow syncs
* use isWorkspace in transition flag
* add logging
* add data initialized flag
* fix lint
* fix: build error by create a server-side utils
* remove migration snapshots
* reverse search for workspace based on workflow id
* fix lint
* improvement: loading check and animation
* remove unused utils
* remove console logs
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan >
* feat(multi-select): simplified chat to always return readable stream, can select multiple outputs and get response streamed back in chat panel & deployed chat (#507 )
* improvement: all workflow executions return ReadableStream & use sse to support multiple streamed outputs in chats
* fixed build
* remove extraneous comments
* general improvemetns
* ack PR comments
* fixed built
* improvement(workflow-state): split workflow state into separate tables (#511 )
* new tables to track workflow state
* fix lint
* refactor into separate tables
* fix typing
* fix lint
* add tests
* fix lint
* add correct foreign key constraint
* add self ref
* remove unused checks
* fix types
* fix type
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
* feat(models): added new openai models, updated model pricing, added new groq model (#513 )
* fix(autocomplete): fixed extra closing tag on tag dropdown autocomplete (#514 )
* chore: enable input format again
* fix: process the input made on api calls with proper extraction
* feat: add json-object for ai generation for response block and others
* chore: add documentation for response block
* chore: rollback temp fix and uncomment original input handler
* chore: add missing mock for response handler
* chore: add missing mock
* chore: greptile recommendations
* added cost tracking for router & evaluator blocks, consolidated model information into a single file, hosted keys for evaluator & router, parallelized unit tests (#516 )
* fix(deployState): deploy not persisting bug (#518 )
* fix(undeploy-bug): fix deployment persistence failing bug
* fix lint
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
* fix decimal entry issues
* remove unused files
* fix(db): decimal position entry issues (#520 )
* fix decimal entry issues
* remove unused files
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
* fix lint
* fix test
* improvement(kb): added configurability for chunks, query across multiple knowledge bases (#512 )
* refactor: consolidate create modal file
* fix: identify dead processes
* fix: mark failed in DB after processing timeout
* improvement: added overlap chunks and fixed modal UI
* feat: multiselect logic
* fix: biome changes for css ordering warn instead of error
* improvement: create chunk ui
* fix: removed unused schema columns
* fix: removed references to deleted columns
* improvement: sped up vector search time
* feat: multi-kb search
* add bulk endpoint to disable/delete multiple chunks
* add bulk endpoint to disable/delete multiple chunks
* fix: removed unused schema columns
* fix: removed references to deleted columns
* made endpoints for knowledge more RESTful, added tests
* added batch operations for delete/enable/disable docs, alr have this for chunks
* added migrations
* added migrations
---------
Co-authored-by: Waleed Latif <walif6@gmail.com >
* fix(models): remove temp from models that don't support it
* feat(sdk): added ts and python SDKs + docs (#524 )
* added ts & python sdk, renamed cli from simstudio to cli
* added docs
* ack PR comments
* improvements
* fixed issue where it goes to random workspace when you click reload
fixed lint issue
* feat: better response builder + doc update
* fix(auth): added preview URLs to list of trusted origins (#525 )
* trusted origins
* lint error
* removed localhost
* ran lint
---------
Co-authored-by: Waleed Latif <walif6@gmail.com >
* fix(sdk): remove dev script from SDK
* PR: changes for migration
* add changes on top of db migration changes
* fix: allow removing single input field
* improvement(permissions): workspace permissions improvements, added provider and reduced API calls by 85% (#530 )
* improved permissions UI & access patterns, show outstanding invites
* added logger
* added provider for workspace permissions, 85% reduction in API calls to get user permissions and improved performance for invitations
* ack PR comments
* cleanup
* fix disabled tooltips
* improvement(tests): parallelized tests and build fixes (#531 )
* added provider for workspace permissions, 85% reduction in API calls to get user permissions and improved performance for invitations
* parallelized more tests, fixed test warnings
* removed waitlist verification route, use more utils in tests
* fixed build
* ack PR comments
* fix
* fix(kb): reduced params in kb block, added advanced mode to starter block, updated docs
* feat(realtime): sockets + normalized tables + deprecate sync (#523 )
* feat: implement real-time collaborative workflow editing with Socket.IO
- Add Socket.IO server with room-based architecture for workflow collaboration
- Implement socket context for client-side real-time communication
- Add collaborative workflow hook for synchronized state management
- Update CSP to allow socket connections to localhost:3002
- Add fallback authentication for testing collaborative features
- Enable real-time broadcasting of workflow operations between tabs
- Support multi-user editing of blocks, edges, and workflow state
Key components:
- socket-server/: Complete Socket.IO server with authentication and room management
- contexts/socket-context.tsx: Client-side socket connection and state management
- hooks/use-collaborative-workflow.ts: Hook for collaborative workflow operations
- Workflow store integration for real-time state synchronization
Status: Basic collaborative features working, authentication bypass enabled for testing
* feat: complete collaborative subblock editing implementation
✅ All collaborative features now working perfectly:
- Real-time block movement and positioning
- Real-time subblock value editing (text fields, inputs)
- Real-time edge operations and parent updates
- Multi-user workflow rooms with proper broadcasting
- Socket.IO server with room-based architecture
- Permission bypass system for testing
🔧 Technical improvements:
- Modified useSubBlockValue hook to use collaborative event system
- All subblock setValue calls now dispatch 'update-subblock-value' events
- Collaborative workflow hook handles all real-time operations
- Socket server processes and persists all operations to database
- Clean separation between local and collaborative state management
🧪 Tested and verified:
- Multiple browser tabs with different fallback users
- Block dragging and positioning updates in real-time
- Subblock text editing reflects immediately across tabs
- Workflow room management and user presence
- Database persistence of all collaborative operations
Status: Full collaborative workflow editing working with fallback authentication
* feat: implement proper authentication for collaborative Socket.IO server
✅ **Authentication System Complete**:
- Removed all fallback authentication code and bypasses
- Socket server now requires valid Better Auth session cookies
- Proper session validation using auth.api.getSession()
- Authentication errors properly handled and logged
- User info extracted from session: userId, userName, email, organizationId
🔧 **Technical Implementation**:
- Updated CSP to allow WebSocket connections (ws://localhost:3002)
- Socket authentication middleware validates session tokens
- Proper error handling for missing/invalid sessions
- Permission system enforces workflow access controls
- Clean separation between authenticated and unauthenticated states
🧪 **Testing Status**:
- Socket server properly rejects unauthenticated connections
- Authentication errors logged with clear messages
- CSP updated to allow both HTTP and WebSocket protocols
- Ready for testing with authenticated users
Status: Production-ready collaborative authentication system
* feat: complete authentication integration for collaborative Socket.IO system
🎉 **PRODUCTION-READY COLLABORATIVE SYSTEM**
✅ **Authentication Integration Complete**:
- Fixed Socket.IO client to send credentials (withCredentials: true)
- Updated server CORS to accept credentials with specific origin
- Removed all fallback authentication bypasses
- Proper Better Auth session validation working
🔧 **Technical Fixes**:
- Socket client: Enable withCredentials for cookie transmission
- Socket server: Accept credentials with origin 'http://localhost:3000 '
- Better Auth cookie utility integration for session parsing
- Comprehensive authentication middleware with proper error handling
🧪 **Verified Working Features**:
- ✅ Real user authentication (Vikhyath Mondreti authenticated)
- ✅ Multi-user workflow rooms (2+ users in same workflow)
- ✅ Permission system enforcing workflow access controls
- ✅ Real-time subblock editing across browser tabs
- ✅ Block movement and positioning updates
- ✅ Automatic room cleanup and management
- ✅ Database persistence of all collaborative operations
🚀 **Status**: Complete enterprise-grade collaborative workflow editing system
- No more fallback users - production authentication
- Multi-tab collaboration working perfectly
- Secure access control with Better Auth integration
- Real-time updates for all workflow operations
* remove sync system and move to server side
* fix lint
* delete unused file
* added socketio dep
* fix subblock persistence bug
* working deletion of workflows
* fix lint
* added railway
* add debug logging for railway deployment
* improve typing
* fix lint
* working subflow persistence
* fix lint
* working cascade deletion
* fix lint
* working subflow inside subflow
* works
* fix lint
* prevent subflow in subflow
* fix lint
* add additional logs, add localhost as allowedOrigin
* add additional logs, add localhost as allowedOrigin
* fix type error
* remove unused code
* fix lint
* fix tests
* fix lint
* fix build error
* workign folder updates
* fix typing issue
* fix lint
* fix typing issues
* lib/
* fix tests
* added old presence component back, updated to use one-time-token better auth plugin for socket server auth, tested
* fix errors
* fix bugs
* add migration scripts to run
* fix lint
* fix deploy tests
* fix lint
* fix minor issues
* fix lint
* fix migration script
* allow comma separateds id file input to migration script
* fix lint
* fixed
* fix lint
* fix fallback case
* fix type errors
* address greptile comments
* fix lint
* fix script to generate new block ids
* fix lint
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan >
Co-authored-by: Waleed Latif <walif6@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
* fix(sockets): updated CSP
* remove unecessary logs
* fix lint
* added throttling, refactor entire socket server, added tests
* improvements
* remove self monitoring func, add block name event
* working isWide, isAdvanced toggles with sockets
* fix lint
* fix duplicate key issue for user avatar
* fix lint
* fix user presence
* working parallel badges / loop badges updates
* working connection output persistence
* fix lint
* fix build errors
* fix lint
* logs removed
* fix cascade var name update bug
* works
* fix lint
* fix parallel blocks
* fix placeholder
* fix test
* fixed tests
---------
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
Co-authored-by: Adam Gough <77861281+aadamgough@users.noreply.github.com >
Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com >
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@vikhyaths-air.lan >
Co-authored-by: Ajit Kadaveru <ajit.kadaveru@berkeley.edu >
2025-06-24 17:44:30 -07:00
Waleed Latif
726901cb31
feat(voice): speech to speech mode for deployed chat ( #467 )
...
* finished barebones, optimized speech to speech chat deploy
* better visualization, interruption still not good
* fixed some turn detection, still not ideal. have to press mute + unmute to process successive queries
* improvements
* removed MediaSource in favor of blob, simplified echo cancellation and overall logic
* simplified
* cleanups
* ack PR comments
2025-06-09 19:11:59 -07:00
Emir Karabeg
d9e99a4fab
feat(knowledge) ( #449 )
...
* feat(knowledge): setup knowledge and base UI
* improvement(knowledge): empty state UI
* feat(knowledge): created schema
* added s3 bucket for kbs
* fix: remove dummy values
* feat(knowledge): embedding view; schema adjustments; migration history; navigation
* feat(knowledge): block/tool for vector search
---------
Co-authored-by: Waleed Latif <walif6@gmail.com >
2025-06-02 03:41:23 -07:00
Waleed Latif
de2ce6fcb7
feat(slack): added slack oauth for sim bot & maintained old custom bot, fixed markdown rendering ( #445 )
...
* fix formatting of contributors chart
* added slack oauth, removed hardcoded localhosts and use NEXT_PUBLIC_APP_URL instead
* remove conditional rendering of subblocks for tools in an agent blcok
* updated tests
* added permission to read private channels that bot was invited to
* acknowledge PR comments, added additional typing & fallbacks
* fixed build error
* remove fallback logic for password fields
* reverted changes to middleware
* cleanup
2025-06-01 20:34:19 -07:00
Waleed Latif
88d8a1b104
feat(tools): added linear tools/block ( #439 )
...
* feat(linear): add Linear Issue Reader and Writer tools with types
* chore(tools): register Linear tools in global tool registry
* feat(icons): add LinearIcon for Linear block
* feat(blocks): register Linear block in global block registry
* feat(linear): implement OAuth integration for Linear block
* feat(linear): add dynamic team and project selectors for Linear block
* feat(linear): add backend API endpoints for teams and projects
* feat(linear): update UI components for Linear selectors and modal
* refactor(linear): update create/read issue tools and types
* chore(linear): update block config for Linear integration
* fix(auth): update auth and oauth logic for Linear
* minor fix
* improvement[linear]: require teamId and projectId for all tools and types
* style[lint]: fix code style and lint errors
* chore(linear): install @linear/sdk package
* fix[linear]: address greptile-apps feedback for type safety and error handling
* fix[linear]: handle teams API response errors
* modified icon, added docs
---------
Co-authored-by: sriram2k4 <sriramthehacker01@gmail.com >
2025-05-30 00:10:37 -07:00
Waleed Latif
950e055a8d
fix(file-upload): re-enabled file upload for mistral & url for file upload ( #408 )
...
* re-enabled file upload for mistral & url for file upload
* consolidated env checks
2025-05-24 20:58:49 -07:00
Adam Gough
45c92067e2
feat(tools): added microsoft teams tools/block ( #405 )
...
* feat: microsoft teams block added
* updated name
* oauth working
* fixing accessToken
* saving accessToken spot
* all four tools are working
* display name better
* finished teams tool
* Remove package-lock.json from PR
* added greptile comments
* added scopes, removed ;, removed loggers
* solved credential bug
* added docs and rebased
* fixed lint checks
* more bun lint
* bun lint errors solved
---------
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local >
2025-05-24 14:02:37 -07:00
Aditya Tripathi
6d380c28e3
refactor(ollama): ollama host -> url (convention) + readme and compose to reflect the same ( #394 )
...
* chore(docker): add OLLAMA_HOST environment variable to local and production configurations; update README for docker compose commands
* refactor(env): rename OLLAMA_HOST to OLLAMA_URL in configuration files and update related references
2025-05-21 14:28:10 -07:00
Waleed Latif
717e17d02a
feat(bun): upgrade to bun, reduce docker image size by 95%, upgrade docs & ci ( #371 )
...
* migrate to bun
* added envvars to drizzle
* upgrade bun devcontainer feature to a valid one
* added bun, docker not working
* updated envvars, updated to bunder and esnext modules
* fixed build, reinstated otel
* feat: optimized multi-stage docker images
* add coerce for boolean envvar
* feat: add docker-compose configuration for local LLM services and remove legacy Dockerfile and entrypoint script
* feat: add docker-compose files for local and production environments, and implement GitHub Actions for Docker image build and publish
* refactor: remove unused generateStaticParams function from various API routes and maintain dynamic rendering
* cleanup
* upgraded bun
* updated ci
* fixed build
---------
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
2025-05-18 01:01:32 -07:00