Commit Graph

77 Commits

Author SHA1 Message Date
Waleed Latif
a345b2ffab feat(code): added complex code execution for agents' custom tools, added envvar resolution/styling/dropdown for agent custom tool code modal 2025-03-01 17:03:03 -08:00
Waleed Latif
9d55ec4e5c feat(code): additional cleanup for stdout response from WebContainer 2025-03-01 15:30:37 -08:00
Waleed Latif
8171706f6c feat(code): updated nextjs, added webcontainer dependencies, added more complex code execution for the function block. use secure, sandboxed webcontainer and fallback to vm 2025-03-01 14:13:21 -08:00
Waleed Latif
ae226e977c fix(agent): add dropdown for specific tool selection for blocks that have more than one tool, give that tool to the agent instead of arbitrarily selecting the first tool 2025-03-01 01:04:18 -08:00
Waleed Latif
16f5065678 feat(custom-functions): add support for custom functions, tested with & without code provided 2025-02-27 15:03:30 -08:00
Emir Karabeg
18c16c217c Feat/api input (#89)
* feat(api-input): correctly passing in body into executor; need to resolve tag value in blocks following starter

* feat(api-input): input is now resolved

* feat(api-input): cleaned up logs and added comments
2025-02-27 14:01:42 -08:00
Waleed Latif
5c11e9da16 feat(providers): modified all providers to use SDK rather than creating an HTTP request 2025-02-27 13:39:33 -08:00
Waleed Latif
fa67494fe7 feat(providers): removed providers from tools directory, added cerebras sdk 2025-02-27 13:29:52 -08:00
Waleed Latif
4d4fbdd253 fix(executor): fix nested resolution of envvars for agents' tools 2025-02-26 17:19:11 -08:00
waleedlatif1
8218a88ce6 Feature/execution (#87)
* feat(executor): split executor into specialized components

* fix(executor): if there is a dependency on a block that is not along the selected path, ignore it; if we are at max iterations for a loop, stop

* feat(exector): cleanup inline comments in executor

* fix(executor): fix issue in removeDownstreamBlocks when we are breaking out of a loop to prevent infinite recursion

* feat(executor/tests): setup initial testing directory

* feat(executor): make the path selection for routing/conditional blocks independent of context, instead of deactivating paths we just activate others
2025-02-26 02:09:56 -08:00
Waleed Latif
b2d92d7855 fix(executor/conditional): fixed typo in the conditional block response format 2025-02-24 11:22:28 -08:00
Waleed Latif
460e44a0f9 feat(executor): modified the condition/router blocks to not further wrap blocks since they are pass-through blocks 2025-02-18 18:43:16 -08:00
Waleed Latif
2de386803a feat(executor): improve executor to allow bi-directional dependencies if the block is in the loop 2025-02-18 16:47:37 -08:00
Emir Karabeg
dc85adc444 fix(execution-store): allowed for multiple concurrent block executions 2025-02-16 00:49:23 -08:00
Emir Karabeg
6896f74579 feature(workflow-ui): show current block being executed 2025-02-15 21:26:40 -08:00
Emir Karabeg
4c2764f09c feature(console): stream console messages back from executor 2025-02-15 20:01:55 -08:00
Waleed Latif
5184953ab3 Remove old tests, outdated 2025-02-15 19:49:42 -08:00
Waleed Latif
17bca0bcff Added check to throw error if starter block is disabled 2025-02-15 10:44:10 -08:00
Emir Karabeg
5c8bd0551f Changed id back to type on config 2025-02-15 01:21:40 -08:00
Waleed Latif
627a275450 Fixed out-of-order execution in executor 2025-02-14 22:58:45 -08:00
Waleed Latif
058b68186c Enforce start with starter block 2025-02-14 18:58:39 -08:00
Emir Karabeg
73e4bbc3b4 Changed block types config for simplicity 2025-02-14 16:39:14 -08:00
Waleed Latif
e9be164dc1 Fixed executor utils to only stringify resolved values for conditional blocks and not for any other blocks 2025-02-13 18:28:08 -08:00
Waleed Latif
071e370de8 Revert utils.ts back so evalator doesn't have JSON issue 2025-02-13 18:05:35 -08:00
Waleed Latif
92838c8b0b Allow conditional block to have multiple outputs going to the same destination block 2025-02-13 16:55:55 -08:00
Waleed Latif
b79f5a49a3 Resolved failed to evaluate condition error by adding util to wrap strings before evaluating them 2025-02-13 16:33:28 -08:00
Waleed Latif
03d1d7247d Revert temp fix to executor, didn't work 2025-02-13 13:42:05 -08:00
Waleed Latif
26e7b1c17e Try temp fix to out of order execution 2025-02-13 13:38:09 -08:00
Waleed Latif
8fd25fd813 Add arbitrary 5s wait after condition block to diagnose the out-of-order execution in production 2025-02-13 13:16:59 -08:00
Waleed Latif
a1f7407eef Add arbitrary 1s wait after condition block to diagnose the out-of-order execution in production 2025-02-13 13:13:52 -08:00
Waleed Latif
4291d79fc9 Fix bug in executor that always assumed target block for conditional in loop was an agent block 2025-02-13 12:55:16 -08:00
Waleed Latif
fce8393560 Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:19:51 -08:00
Waleed Latif
281e85040d Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:16:55 -08:00
Waleed Latif
0dbd7a7f2a Updated executor to account for new evaluator logic and to count backward edges in loops in inDegree calculation 2025-02-13 02:01:58 -08:00
Waleed Latif
af323a71ab Modify executor to treat evaluator as an 'output' block instead of a 'router' block, looping logic still needs to be updated but forward path works 2025-02-13 00:59:25 -08:00
Waleed Latif
c203fbf1d2 Include prior history with responses/justifications in later calls to agent block 2025-02-12 13:33:02 -08:00
Waleed Latif
e52233898b Include justification in evaluator response 2025-02-12 12:30:36 -08:00
Waleed Latif
3fb861b85a Added case for when evaluator does not have any target blocks 2025-02-12 12:13:05 -08:00
Waleed Latif
ec2150ac3b Modify evaluator to just loop back and forth if there is only one destination in loop 2025-02-12 12:08:46 -08:00
Waleed Latif
ac28e09b51 Added maxIterations to serialized loops, executor now uses provided max iterations for each loop from workflow store 2025-02-12 11:24:51 -08:00
Waleed Latif
7ddb4ca0f0 Removed extraneous logs, and treat evaluator block as a pass-through. Added jsdoc annotations to executor functions 2025-02-11 15:18:04 -08:00
Waleed Latif
3d52dec731 Added loops to serialized blob sent to executor, loop between evaluator -> agent works 2025-02-11 14:53:32 -08:00
Waleed Latif
5100e2e2fc Modified evaluator, runs similar to router and selects correct route but doesn't actually continue down that route. WIP 2025-02-11 13:47:22 -08:00
Waleed Latif
daa294a0ad Treat conditional block as pass-through for source blocks' output 2025-02-10 17:25:51 -08:00
Waleed Latif
83c88f3990 Added x block/tools, added additional check in executor to check for disconnected, disabled blocks at execution time 2025-02-10 11:52:26 -08:00
Waleed Latif
ee733fe707 Small improvement to executor return format 2025-02-08 21:27:22 -08:00
Waleed Latif
30d3e934db Added function execution logic locally instead of 3P API using vm, modified executor to handle connection block (still testing) 2025-02-08 14:21:41 -08:00
Waleed Latif
893954dd71 Add support for arrays in schema 2025-02-07 13:30:29 -08:00
Waleed Latif
01d2a8acd5 Added support for structured response format from agent block in the target block's connectio tags & connection dropdown menu. Tested, resolves values when response format is specified, and when it isn't 2025-02-07 13:01:38 -08:00
Waleed Latif
a10a724a51 Added support for response format in agent block. Works in all but deepseek (will fix) and gemini (does not support for this model). If responseformat is not specified, we get the response back wrapped in 'content' like before 2025-02-06 19:59:44 -08:00