Vikhyath Mondreti
9e40342af8
fix(snapshot): consolidate to use hasWorkflowChanges check ( #3051 )
...
* fix(snapshot): consolidate to use hasWorkflowChanges check
* Remove debug logs
* fix normalization logic
* fix serializer for canonical modes
2026-01-28 16:29:17 -08:00
Vikhyath Mondreti
b913cff46e
fix(envvars): resolution standardized ( #2957 )
...
* fix(envvars): resolution standardized
* remove comments
* address bugbot
* fix highlighting for env vars
* remove comments
* address greptile
* address bugbot
2026-01-23 18:59:04 -08:00
Vikhyath Mondreti
78e4ca9d45
improvement(serializer): canonical subblock, serialization cleanups, schedules/webhooks are deployment version friendly ( #2848 )
...
* hide form deployment tab from docs
* progress
* fix resolution
* cleanup code
* fix positioning
* cleanup dead sockets adv mode ops
* address greptile comments
* fix tests plus more simplification
* fix cleanup
* bring back advanced mode with specific definition
* revert feature flags
* improvement(subblock): ui
* resolver change to make all var references optional chaining
* fix(webhooks/schedules): deployment version friendly
* fix tests
* fix credential sets with new lifecycle
* prep merge
* add back migration
* fix display check for adv fields
* fix trigger vs block scoping
---------
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2026-01-16 15:23:43 -08:00
Waleed
a35f6eca03
improvement(tools): use react query to fetch child workflow schema, avoid refetch and duplicated utils, consolidated utils and testing mocks ( #2839 )
...
* improvement(tools): use react query to fetch child workflow schema, avoid refetch and duplicated utils
* consolidated utils & testing mocks
2026-01-15 13:25:22 -08:00
Waleed
6262503b89
feat(deployed-form): added deployed form input ( #2679 )
...
* feat(deployed-form): added deployed form input
* styling consolidation, finishing touches on form
* updated docs
* remove unused files with knip
* added more form fields
* consolidated more test utils
* remove unused/unneeded zustand stores, refactored stores for consistency
* improvement(files): uncolorized plan name
* feat(emcn): button-group
* feat(emcn): tag input, tooltip shortcut
* improvement(emcn): modal padding, api, chat, form
* fix: deleted migrations
* feat(form): added migrations
* fix(emcn): tag input
* fix: failing tests on build
* add suplementary hover and fix bg color in date picker
* fix: build errors
---------
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2026-01-09 23:42:21 -08:00
Waleed
05bbf34265
improvement(canvas): add multi-block select, add batch handle, enabled, and edge operations ( #2738 )
...
* improvement(canvas): add multi-block select, add batch handle, enabled, and edge operations
* feat(i18n): update translations (#2732 )
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com >
* don't allow flip handles for subflows
* ack PR comments
* more
* fix missing handler
* remove dead subflow-specific ops
* remove unused code
* fixed subflow ops
* keep edges on subflow actions intact
* fix subflow resizing
* fix remove from subflow bulk
* improvement(canvas): add multi-block select, add batch handle, enabled, and edge operations
* don't allow flip handles for subflows
* ack PR comments
* more
* fix missing handler
* remove dead subflow-specific ops
* remove unused code
* fixed subflow ops
* fix subflow resizing
* keep edges on subflow actions intact
* fixed copy from inside subflow
* types improvement, preview fixes
* fetch varible data in deploy modal
* moved remove from subflow one position to the right
* fix subflow issues
* address greptile comment
* fix test
* improvement(preview): ui/ux
* fix(preview): subflows
* added batch add edges
* removed recovery
* use consolidated consts for sockets operations
* more
---------
Co-authored-by: icecrasher321 <icecrasher321@users.noreply.github.com >
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2026-01-09 14:48:23 -08:00
Waleed
d707d18ee6
fix(build): update dockerfile to contain testing package deps ( #2591 )
...
* fix(build): update dockerfile to contain testing package deps
* added logger package
2025-12-26 12:20:38 -08:00
Waleed
b7f6bab282
feat(tests): added testing package, overhauled tests ( #2586 )
...
* feat(tests): added testing package, overhauled tests
* fix build
2025-12-25 16:06:47 -08:00
Vikhyath Mondreti
bf8fbebe22
improvement(code-quality): centralize regex checks, normalization ( #2554 )
...
* improvement(code-quality): centralize regex checks, normalization
* simplify resolution
* fix(copilot): don't allow duplicate name blocks
* centralize uuid check
2025-12-23 15:12:04 -08:00
Vikhyath Mondreti
f7d2c9667f
fix(serializer): condition check should check if any condition are met ( #2410 )
...
* fix(serializer): condition check should check if any condition are met
* remove comments
* remove more comments
2025-12-16 14:36:40 -08:00
Vikhyath Mondreti
300aaa5368
feat(slack): ability to have DM channels as destination for slack tools ( #2388 )
...
* feat(slack): tool to allow dms
* don't make new tool but separate out destination
* add log for message limit
* consolidate slack selector code
* add scopes correctly
* fix zod validation
* update message logs
* add console logs
* fix
* remove from tools where feature not needed
* add correct condition
* fix type
* fix cond eval logic
2025-12-15 17:39:53 -08:00
Vikhyath Mondreti
132f4bca38
fix(validation): don't validate disabled blocks ( #2348 )
2025-12-12 19:02:08 -08:00
Siddharth Ganesan
6b4d76298f
fix(custom-tools, copilot): custom tools state + copilot fixes ( #2264 )
...
* Workspace env vars
* Fix execution animation on copilot run
* Custom tools toolg
* Custom tools
* Fix custom tool
* remove extra fallback
* Fix lint
2025-12-08 20:14:49 -08:00
Waleed
5630e133fd
feat(tools): added zoom, elasticsearch, dropbox, kalshi, polymarket, datadog, ahrefs, gitlab, shopify, ssh, wordpress ( #2175 )
...
* feat(tools): added zoom, elasticsearch, dropbox, box, datadog, ahrefs, gitlab, shopify, ssh, wordpress
* added polymarket & kalshi, fixed ssh
* fix search modal bg instead of bgColor, added polymarket and kalshi new endpoints
* split up grafana
* update docs script & docs
* added more zoom endpoints
* remove unused box creds
* finished wordpress, shopify, kalshi
* cleanup
* revert envvar dropdown changes
* updated grafana endpoints
2025-12-03 20:09:27 -08:00
Waleed
41c068c023
improvement(lib): refactored lib/ to be more aligned with queries and api directory ( #2160 )
...
* fix(lib): consolidate into core dir in lib/
* refactored lib/
2025-12-02 14:17:41 -08:00
Waleed
f208ff9356
fix(agent): add backwards compat for agent messages array ( #2076 )
...
* fix(agent): add backwards compat for agent messages array
* add tests
2025-11-20 11:16:06 -08:00
Emir Karabeg
02d9fedf0c
feat(agent): messages array, memory ( #2023 )
...
* feat(agent): messages array, memory options
* feat(messages-input): re-order messages
* backend for new memory setup, backwards compatibility in loadWorkflowsFromNormalizedTable from old agent block to new format
* added memories all conversation sliding token window, standardized modals
* lint
* fix build
* reorder popover for output selector for chat
* add internal auth, finish memories
* fix rebase
* fix failing test
---------
Co-authored-by: waleed <walif6@gmail.com >
2025-11-18 15:58:10 -08:00
Siddharth Ganesan
fca92a7499
fix(tags): only show start block upstream if is ancestor ( #2013 )
2025-11-15 12:27:34 -08:00
Vikhyath Mondreti
b3caef1f31
fix(copilot-subflows): copilot-added subflows id mismatch ( #1977 )
2025-11-13 17:56:26 -08:00
Waleed
5457d4bc7b
feat(settings): added reactquery for settings, removed zustand stores, added apollo, added workflow block selector dropdown search, added add environment variable option to empty env var dropdown ( #1971 )
...
* feat(settings): added reactquery for settings, removed zustand stores, added apollo, added workflow block selector dropdown search, added add environment variable option to empty env var dropdown
* fix delete dialog for copilot keys
* simplify combobox
* fix more z indices
* consolidated duplicate hooks
---------
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
2025-11-13 17:33:05 -08:00
Siddharth Ganesan
3bf00cbd2a
improvement(executor): redesign executor + add start block ( #1790 )
...
* fix(billing): should allow restoring subscription (#1728 )
* fix(already-cancelled-sub): UI should allow restoring subscription
* restore functionality fixed
* fix
* improvement(start): revert to start block
* make it work with start block
* fix start block persistence
* cleanup triggers
* debounce status checks
* update docs
* improvement(start): revert to start block
* make it work with start block
* fix start block persistence
* cleanup triggers
* debounce status checks
* update docs
* SSE v0.1
* v0.2
* v0.3
* v0.4
* v0.5
* v0.6
* broken checkpoint
* Executor progress - everything preliminarily tested except while loops and triggers
* Executor fixes
* Fix var typing
* Implement while loop execution
* Loop and parallel result agg
* Refactor v1 - loops work
* Fix var resolution in for each loop
* Fix while loop condition and variable resolution
* Fix loop iteration counts
* Fix loop badges
* Clean logs
* Fix variable references from start block
* Fix condition block
* Fix conditional convergence
* Dont execute orphaned nodse
* Code cleanup 1 and error surfacing
* compile time try catch
* Some fixes
* Fix error throwing
* Sentinels v1
* Fix multiple start and end nodes in loop
* Edge restoration
* Fix reachable nodes execution
* Parallel subflows
* Fix loop/parallel sentinel convergence
* Loops and parallels orchestrator
* Split executor
* Variable resolution split
* Dag phase
* Refactor
* Refactor
* Refactor 3
* Lint + refactor
* Lint + cleanup + refactor
* Readability
* Initial logs
* Fix trace spans
* Console pills for iters
* Add input/output pills
* Checkpoint
* remove unused code
* THIS IS THE COMMIT THAT CAN BREAK A LOT OF THINGS
* ANOTHER BIG REFACTOR
* Lint + fix tests
* Fix webhook
* Remove comment
* Merge stash
* Fix triggers?
* Stuff
* Fix error port
* Lint
* Consolidate state
* Clean up some var resolution
* Remove some var resolution logs
* Fix chat
* Fix chat triggers
* Fix chat trigger fully
* Snapshot refactor
* Fix mcp and custom tools
* Lint
* Fix parallel default count and trace span overlay
* Agent purple
* Fix test
* Fix test
---------
Co-authored-by: Waleed <walif6@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyath@simstudio.ai >
2025-11-02 12:21:16 -08:00
Siddharth Ganesan
aace3066aa
feat(while, vars, wait): add while subflow, variables block, wait block ( #1754 )
...
* Add variables block
* Add wait block
* While loop v1
* While loop v1
* Do while loops
* Copilot user input rerender fix
* Fix while and dowhile
* Vars block dropdown
* While loop docs
* Remove vars block coloring
* Fix lint
* Link docs to wait
* Fix build fail
2025-10-28 11:59:47 -07:00
Vikhyath Mondreti
a63a7b0262
fix(undo-redo): preserve trigger/advanced mode ( #1566 )
...
* fix(undo-redo): preserve trigger/advanced mode
* remove comments
2025-10-07 14:27:46 -07:00
Vikhyath Mondreti
0bf2bce368
improvement(var-resolution): resolve variables with block name check and consolidate code ( #1469 )
...
* improvement(var-resolution): resolve variables with block name check and consolidate code
* fix tests
* fix type error
* fix var highlighting in kb tags
* fix kb tags
2025-09-30 19:20:35 -07:00
Vikhyath Mondreti
b7876ca466
improvement(copilot): structured metadata context + start block deprecation ( #1362 )
...
* progress
* progress
* deploy command update
* add trigger mode modal
* fix trigger icons'
* fix corners for add trigger card
* update serialization error visual in console
* works
* improvement(copilot-context): structured context for copilot
* forgot long description
* Update metadata params
* progress
* add better workflow ux
* progress
* highlighting works
* trigger card
* default agent workflow change
* fix build error
* remove any casts
* address greptile comments
* Diff input format
* address greptile comments
* improvement: ui/ux
* improvement: changed to vertical scrolling
* fix(workflow): ensure new blocks from sidebar click/drag use getUniqueBlockName (with semantic trigger base when applicable)
* Validation + build/edit mark complete
* fix trigger dropdown
* Copilot stuff (lots of it)
* Temp update prod dns
* fix trigger check
* fix
* fix trigger mode check
* Fix yaml imports
* Fix autolayout error
* fix deployed chat
* Fix copilot input text overflow
* fix trigger mode persistence in addBlock with enableTriggerMode flag passed in
* Lint
* Fix failing tests
* Reset ishosted
* Lint
* input format for legacy starter
* Fix executor
---------
Co-authored-by: Siddharth Ganesan <siddharthganesan@gmail.com >
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2025-09-22 23:24:50 -07:00
Waleed
065fc5b87b
feat(api-keys): add workspace level api keys to share with other workspace members, add encryption for api keys ( #1323 )
...
* update infra and remove railway
* feat(api-keys): add workspace-level api keys
* encrypt api keys
* Revert "update infra and remove railway"
This reverts commit b23258a5a1 .
* reran migrations
* tested workspace keys
* consolidated code
* more consolidation
* cleanup
* consolidate, remove unused code
* add dummy key for ci
* continue with regular path for self-hosted folks that don't have key set
* fix tests
* fix test
* remove tests
* removed ci additions
2025-09-12 11:46:47 -07:00
Vikhyath Mondreti
d3f7ef4ac4
fix(serializer): Required-field validation now respects sub-block visibility ( #1313 )
2025-09-10 19:47:20 -07:00
Vikhyath Mondreti
8841e9bd6b
fix(subflow-validation): validate subflow fields correctly + surface serialization errors in the logs correctly ( #1299 )
...
* fix(subflow-validation): validate subflow fields correctly + surface serialiazation errors in the logs correctly
* remove comments
2025-09-09 18:02:30 -07:00
Vikhyath Mondreti
ced64129da
fix(subblock-param-mapping): consolidate resolution of advanced / basic mode params using canonicalParamId ( #1274 )
...
* fix(serializer): block's params mapper not running first
* fix
* fix
* revert
* add canonicalParamId
* fix
* fix tests
* fix discord
* fix condition checking
* edit condition check
* fix
* fix subblock config check
* fix
* add logging
* add more logs
* fix
* fix
* attempt
* fix discord
* remove unused discord code
* mark as required correctly
2025-09-06 17:33:49 -07:00
Vikhyath Mondreti
8c9e182e10
fix(infinite-get-session): pass session once per tree using session provider + multiple fixes ( #1085 )
...
* fix(infinite-get-session): pass session using session provider
* prevent auto refetch
* fix typing:
* fix types
* fix
* fix oauth token for microsoft file selector
* fix start block required error
2025-08-21 18:45:15 -07:00
Vikhyath Mondreti
5caef3a37d
fix(input-format): first time execution bug ( #1068 )
2025-08-20 19:52:04 -07:00
Waleed Latif
073030bfaa
improvement(serializer): filter out advanced mode fields when executing in basic mode, persist the values but don't include them in serialized block for execution ( #1018 )
...
* improvement(serializer): filter out advanced mode fields when executing in basic mode, persist the values but don't include them in serialized block for execution
* fix serializer exclusion logic
2025-08-18 16:34:53 -07:00
Adam Gough
41cc0cdadc
fix(webhooks): fixed all webhook structures ( #935 )
...
* fix for variable format + trig
* fixed slack variable
* microsoft teams working
* fixed outlook, plus added other minor documentation changes and fixed subblock
* removed discord webhook logic
* added airtable logic
* bun run lint
* test
* test again
* test again 2
* test again 3
* test again 4
* test again 4
* test again 4
* bun run lint
* test 5
* test 6
* test 7
* test 7
* test 7
* test 7
* test 7
* test 7
* test 8
* test 9
* test 9
* test 9
* test 10
* test 10
* bun run lint, plus github fixed
* removed some debug statements #935
* testing resolver removing
* testing trig
---------
Co-authored-by: Adam Gough <adamgough@Adams-MacBook-Pro.local >
Co-authored-by: Adam Gough <adamgough@Mac.attlocal.net >
2025-08-11 12:50:55 -07:00
Waleed Latif
b253454723
feat(tools): added hunter.io tools/block, added default values of first option in dropdowns to avoid operation selector issue, added descriptions & param validation & updated docs ( #825 )
...
* feat(tools): added hunter.io tools/block, added default values of first option in dropdowns to avoid operation selector issue
* fix
* added description for all outputs, fixed param validation for tools
* cleanup
* add dual validation, once during serialization and once during execution
* improvement(docs): add base exec charge info to docs (#826 )
* improvement(doc-tags-subblock): use table for doc tags subblock in create_document tool for KB (#827 )
* improvement(doc-tags-subblock): use table for doc tags create doc tool in KB block
* enforce max tags
* remove red warning text
* fix(bugs): fixed rb2b csp, fixed overly-verbose logs, fixed x URLs (#828 )
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
* fixed serialization errors to appear like execution errors, also fixed contrast on cmdk modal
* fixed required for tools, added tag dropdown for kb tags
* fix remaining tools with required fields
* update utils
* update docs
* fix kb tags
* fix types for exa
* lint
* updated contributing guide + pr template
* Test pre-commit hook with linting
* Test pre-commit hook again
* remove test files
* fixed wealthbox tool
* update telemetry endpoints
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com >
2025-07-30 23:36:44 -07:00
Waleed Latif
0414aa5f6d
refactor(imports): added aliased imports everywhere ( #799 )
...
* refactor(imports): added aliased imports everywhere
* more aliased imports
* add barrel exports
* add more barrel exports
* cleanup
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-26 16:10:32 -07:00
Waleed Latif
93f68a9092
refactor(logger): code cleanup for new execution logger ( #798 )
...
* refactor(logger): code hygiene with new logger
* modify remaining files
* simplify code structure
---------
Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local >
2025-07-26 15:05:33 -07:00
Vikhyath Mondreti
5167deb75c
fix(resp format): non-json input was crashing ( #631 )
...
* fix response format non-json input crash bug
* fix lint
---------
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
2025-07-07 20:03:01 -07:00
Vikhyath Mondreti
bf0ea10e62
merge(staging-to-main) ( #577 )
...
* feat(agent): agent model dropdown combobox (#572 )
* feat: agent model dropdown combobox
* fix(cli): package type for esm imports, missing realtime (#574 )
* fix: package type for esm imports, missing realtime calls and use of migrate
* chore: bump cli
* fix sourceBlock null check
* fix(kb): fix kb navigation URLs
* fix(csp): update CSP to allow for google drive picker
* feat(dropdown): added optional icon to agent model dropdown
---------
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Waleed Latif <walif6@gmail.com >
* fix concurrent req check (#576 )
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
---------
Co-authored-by: Emir Karabeg <78010029+emir-karabeg@users.noreply.github.com >
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-MacBook-Air.local >
Co-authored-by: Waleed Latif <walif6@gmail.com >
Co-authored-by: Vikhyath Mondreti <vikhyathmondreti@Vikhyaths-Air.attlocal.net >
2025-06-28 13:38:10 -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
b1126e3d6a
feat(loop): added loop block & parallel block logic ( #411 )
...
* feat(subflows): implement parallel and loop nodes
* fixed linter errors
* added loop block logic
* added parallel executioon
* added input resolution for collections for parallel & loop blocks
* refactored tests, cleaned up some unnecessary logic
* prevent self connections now that we have loop blocks
* refactored path tracker
* lint
* acknowledged PR comments, added tests
* added tests for loops
---------
Co-authored-by: Emir Karabeg <emirkarabeg@berkeley.edu >
2025-05-25 14:39:56 -07:00
Waleed Latif
8c268e23dd
chore(biome): removed prettier, added biome ( #407 )
...
* chore: replace prettier with biome and add linting
* chore: update devcontainer settings to use biome for linting and remove eslint, prettier
* chore: update docker-compose to use Postgres 17-alpine and standardize quotes
* chore: fixed more BUT disabled most rules due to limit
* added additional rules, fixed linting & ts errors
* added additional rules
* rebased & linted
* fixed oauth
* updated biome & minor modifications
---------
Co-authored-by: Aditya Tripathi <aditya@climactic.co >
2025-05-24 03:11:38 -07:00
Waleed Latif
a92ee8bf46
feat(turbo): restructured repo to be a standard turborepo monorepo ( #341 )
...
* added turborepo
* finished turbo migration
* updated gitignore
* use dotenv & run format
* fixed error in docs
* remove standalone deployment in prod
* fix ts error, remove ignore ts errors during build
* added formatter to the end of the docs generator
2025-05-09 21:45:49 -07:00