julep
julep copied to clipboard
(do-not-merge) new feature trunk: tasks
trafficstars
Todo list
- [ ] add option in task definition:
tools_available: "all"which will automatically add all of the tools that the agent has access to - [ ] consistent and semantically correct naming of event types (running, started etc)
- [ ] validations for all task, workflow and execution definitions
- [ ] add checks to cozo queries
| :rocket: | This description was created by Ellipsis for commit 9683d7835aa6c8c6f1e80b368d5ffaed69fc05cd |
|---|
Summary:
Enhances task management with new features, consistent naming, validations, CRUD operations, and migration scripts.
Key points:
- Add
tools_available: "all"option in task definition to include all tools accessible to the agent (agents-api/agents_api/autogen/openapi_model.py). - Ensure consistent and semantically correct naming of event types (e.g., running, started).
- Implement validations for all task, workflow, and execution definitions.
- Add checks to Cozo queries.
- Add migration script
agents-api/agents_api/migrations/migrate_1716939839_task_relations.py. - Introduce relations:
tasks,executions,transitionswithup(create) anddown(remove) queries. - Use
runfunction to execute queries formatted as JSON. - Rename
list_sessionstolist_tasksinagents-api/agents_api/routers/tasks/routers.py. - Modify activity definitions in
agents-api/agents_api/activities/task_steps/__init__.pyfor various workflow steps. - Add
cel-pythondependency inpyproject.toml. - Introduce
prompt_stepandtransition_stepactivities. - Update
TaskProtocol,ExecutionInput,StepContext, andTransitionInfo. - Modify
create_execution_transition_queryto handle new transition data. - Refactor
llm_generateand caching mechanism. - Enhance
PydanticPayloadConverterfor better serialization. - Implement
TaskExecutionWorkflowto manage task execution flow. - Update transition type logic in
agents-api/agents_api/workflows/task_execution.pyto handleawaiting_input,finish, andstepstates. - Add
TasksManagerandAsyncTasksManagerclasses insdks/python/julep/managers/task.pyfor task management. - Introduce CRUD operations for tasks and task executions.
- Update
ClientandAsyncClientclasses insdks/python/julep/client.pyto include task management capabilities. - Add methods for listing, creating, retrieving, and starting task executions.
- Ensure type checking with
beartypedecorator. - Add tests for task management in
agents-api/tests/test_tasks.pyandsdks/python/tests/test_tasks.py.
Generated with :heart: by ellipsis.dev