All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Calculate task id base on user definition [Felipe Lalanne]
- Fix bug with generated delete actions [Felipe Lalanne]
- Use noUncheckedIndexedAccess as TS configuration [Felipe Lalanne]
- Improve Task contructor typings [Felipe Lalanne]
- Improve README [Felipe Lalanne]
- Add agent option to abort planning with timeout [Felipe Lalanne]
- Improve Pointer type to be more precise [Felipe Lalanne]
- Remove
logger
property of AgentOpts [Felipe Lalanne] - Move state rollback to Agent runtime [Felipe Lalanne]
- Modify runtime to report changes [Felipe Lalanne]
- Simplify Sensor interface. [Felipe Lalanne]
- Refactor operation types [Felipe Lalanne]
- Fix import paths using
lib/*
[Felipe Lalanne]
- Update sensor subscription at runtime init [Felipe Lalanne]
- Add lens utilities [Felipe Lalanne]
- Allow using observables for sensors [Felipe Lalanne]
- Add
filter
operation to Observable [Felipe Lalanne] - Allow lens variables for Sensor constructor [Felipe Lalanne]
- Use parallel plan representation when debugging [Felipe Lalanne]
- Settle parallel branches before re-planning [Felipe Lalanne]
- Expose
reduce
function on the DAG module [Felipe Lalanne] - Refactor planner node module to use DAG types [Felipe Lalanne]
- Use DAG operations in agent runtime [Felipe Lalanne]
- Use DAG.reverse in planner [Felipe Lalanne]
- Add mapReduce and reverse methods to DAG [Felipe Lalanne]
- Generate real DAGs using the PlanBuilder interface [Felipe Lalanne]
- Use dag module in planner and testing modules [Felipe Lalanne]
- Create generic DAG interface and methods [Felipe Lalanne]
- Add test utility to run a task [Felipe Lalanne]
- Fix UnorderedArray comparison failing for undefined [Felipe Lalanne]
- Add support for 'strict' targets on the Agent interface [Felipe Lalanne]
- Fix issue with ignore globs [Felipe Lalanne]
- Update @balena/lint to v8 [Felipe Lalanne]
- Create UnorderedArray type [Felipe Lalanne]
- Export deepEqual as part of the
utils
namespace [Felipe Lalanne]
- Do not recurse into arrays when constructing Target [Felipe Lalanne]
- Export Task constructor prop types [Felipe Lalanne]
- Remove duplicate tasks when constructing Planner [Felipe Lalanne]
- Clone target when grounding tasks [Felipe Lalanne]
- Rename test
console
aslogger
[Felipe Lalanne] - Improve error messaging for failed plans on runtime [Felipe Lalanne]
- Clone the current state before planning [Felipe Lalanne]
- Do not catch applyPatch errors. [Felipe Lalanne]
- Allow method recursion [Felipe Lalanne]
- Refactor planner to allow errors to abort search [Felipe Lalanne]
- Fix maxSearchDepth on Planner [Felipe Lalanne]
- Fix mermaid diagramming on search failures [Felipe Lalanne]
- Do not initialize objects for
create
actions [Felipe Lalanne] - Improve input types for task constructors [Felipe Lalanne]
- Fix observe so new object assignments are also reported [Felipe Lalanne]
- Improve types to avoid unnecessary type conversions [Felipe Lalanne]
- Update mermaid tests [Felipe Lalanne]
- Convert Path type into a branded type [Felipe Lalanne]
- Return a copy of the state from agent runtime [Felipe Lalanne]
- Allow ignoring certain paths in Target construtor [Felipe Lalanne]
- Allow method actions to have empty effects [Felipe Lalanne]
- Add
metadata
method to mermaid trace object [Felipe Lalanne]
- Update default task descriptions [Felipe Lalanne]
- Revert changes to state if action fails [Felipe Lalanne]
- Make Agent maxRetries count failed plan runs [Felipe Lalanne]
- Improve logging messages [Felipe Lalanne]
- Add
diff
function to distance module [Felipe Lalanne] - Add 'source' property to UpdateOperation [Felipe Lalanne]
- Rename Operation.value to Operation.target [Felipe Lalanne]
- Propagate state changes in parallel tasks [Felipe Lalanne]
- Add Target constructor [Felipe Lalanne]
- Export the Observable interface [Felipe Lalanne]
- Improve type documentation [Felipe Lalanne]
- Update README [Felipe Lalanne]
- Refactor View interface out of the lens module [Felipe Lalanne]
- Update test:compose script [Felipe Lalanne]
- Add maxSearchDepth planner option [Felipe Lalanne]
- Add Domain interface. [Felipe Lalanne]
- Fix agent heater tests leaking into each other [Felipe Lalanne]
- Improve Observable implementation [Felipe Lalanne]
- Fix mermaid tests for the new API [Felipe Lalanne]
- Fix planning utils tests [Felipe Lalanne]
- Improve pointer interface [Felipe Lalanne]
- Fix observable tests [Felipe Lalanne]
- Fix orchestrator tests [Felipe Lalanne]
- Rename
Diff
interface toDistance
[Felipe Lalanne] - Rename Target.DELETED to UNDEFINED [Felipe Lalanne]
- Fix Task tests [Felipe Lalanne]
- Fix composer tests [Felipe Lalanne]
- Use View instead of Ref for action and effect functions [Felipe Lalanne]
- Fix bug in Mermaid diagramming [Felipe Lalanne]
- Add zip test utility [Felipe Lalanne]
- Add default conditions for
create
anddelete
tasks [Felipe Lalanne] - Add method
expansion
property [Felipe Lalanne] - Update README examples with new API [Felipe Lalanne]
- Refactor Task API to use references and lenses [Felipe Lalanne]
- Create Ref type [Felipe Lalanne]
- Rename
Agent.of
toAgent.from
[Felipe Lalanne] - Rename
Planner.of
toPlanner.from
[Felipe Lalanne] - Design v1 API [Felipe Lalanne]
- Fix bug when mapping effects [Felipe Lalanne]
- Fix bug with loop detection. [Felipe Lalanne]
- Make task action default to the value of the effect [Felipe Lalanne]
- Rename mermaid build method to
render
[Felipe Lalanne] - Remove title as a mermaid graph argument [Felipe Lalanne]
- Fix bug when diagraming nested method calls [Felipe Lalanne]
- Fix Node ids in Mermaid test suite [Felipe Lalanne]
- Modify Action definition to return an Effect [Felipe Lalanne]
- Create the
Effect
type [Felipe Lalanne] - Improve Observable API. [Felipe Lalanne]
- Remove .eslintrc.json [Felipe Lalanne]
- Add local prettierrc/eslintrc for editor compat [Felipe Lalanne]
- Update to @balena/lint v7 [Felipe Lalanne]
- Remove parallel tasks [Felipe Lalanne]
- Improve testing tools to work with parallel plans [Felipe Lalanne]
- Fix wrong assumption about action nodes in mermaid [Felipe Lalanne]
- Update diagramming feature to work with parallel tasks [Felipe Lalanne]
- Implement planning for parallel tasks [Felipe Lalanne]
- Convert Plan from a Linked List to a DAG [Felipe Lalanne]
- Refactor @mahler/testing sub-module [Felipe Lalanne]
- Add Parallel task support. [Felipe Lalanne]
- Fix bug with Context type inference [Felipe Lalanne]
- Move the method expansion check to findPlan [Felipe Lalanne]
- Ensure task ids are deterministic [Felipe Lalanne]
- Add test utility to generate mermaid graph [Felipe Lalanne]
- Simplify findPlan arguments [Felipe Lalanne]
- Use only relevant state for Node id generation [Felipe Lalanne]
- Add instruction serialization with toJSON [Felipe Lalanne]
- Formalize the plan trace interface [Felipe Lalanne]
- Expose planner API via mahler/planner [Felipe Lalanne]
- Move Plan types to planner/plan.ts [Felipe Lalanne]
- Do not generate hash for Instruction id [Felipe Lalanne]
- Use a linked list to represent a Plan [Felipe Lalanne]
- Rename tsconfig paths for more clarity [Felipe Lalanne]
- Create testing namespace to put test related utils [Felipe Lalanne]
- Add
path
andtarget
to instructions [Felipe Lalanne]
- Improve planner loop detection [Felipe Lalanne]
- Allow action tasks to return an Observable [Felipe Lalanne]
- Remove RedirectTask [Felipe Lalanne]
- Remove
id
from valid task creation arguments [Felipe Lalanne]
- Remove the need for async
seek()
method in Agent [Felipe Lalanne] - Make Agent into an Observable [Felipe Lalanne]
- Refactor agent runtime [Felipe Lalanne]
- Simplify the Agent interface [Felipe Lalanne]
- Simplify observable implementation [Felipe Lalanne]
- Move
equals
json helper outside of diff [Felipe Lalanne] - Remove the
wait
function from observable [Felipe Lalanne] - Remove callable syntax from Observable [Felipe Lalanne]
- Improve 'Initializer' helper task [Felipe Lalanne]
- Create NoOp helper [Felipe Lalanne]
- Allow returning single task from method [Felipe Lalanne]
- Improve default description for tasks [Felipe Lalanne]
- Add
path
property to Context type [Felipe Lalanne] - Refactor task module [Felipe Lalanne]
- Move task.ts to task/index.ts [Felipe Lalanne]
- Add orchestrator test using redirect task [Felipe Lalanne]
- Add support for redirect tasks [Felipe Lalanne]
- Refactor planner module [Felipe Lalanne]
- Move lib/planner.ts to lib/planner/index.ts [Felipe Lalanne]
- Remove extractPath utility function from planner [Felipe Lalanne]
- Add service migration task to orchestrator example [Felipe Lalanne]
- Add usage information to README files [Felipe Lalanne]
- Add some documentation for examples under tests/ [Felipe Lalanne]
- Add release update to agent tests [Felipe Lalanne]
- Make Task context aware of the operation [Felipe Lalanne]
- Add
del()
function to context [Felipe Lalanne] - Add orchestrator example/integration tests [Felipe Lalanne]
- Create utility tasks for operating on state [Felipe Lalanne]
- Improve diff calculation to return all possible ops [Felipe Lalanne]
- Improve Action/Method interfaces to be callable [Felipe Lalanne]
- Improve task types for testing [Felipe Lalanne]
- Split composer tests into multiple files [Felipe Lalanne]
- Remove tests from build [Felipe Lalanne]
- Refactor Diff interface [Felipe Lalanne]
- Refactor agent, split into multiple files [Felipe Lalanne]
- Make task description default to the id [Felipe Lalanne]
- Simplify task interface and remove unused code [Felipe Lalanne]
- Allow providing a planner instance to Agent init [Felipe Lalanne]
- Improve plan search trace logic [Felipe Lalanne]
- Refactor findPlan function of planne for readability [Felipe Lalanne]
- Refactor planner to return a result object [Felipe Lalanne]
- Rename Planner.plan to Planner.find [Felipe Lalanne]
- Make debug module a dev dependency [Felipe Lalanne]
- Simplify PlanNotFound error [Felipe Lalanne]
- Allow passing a debugging function to the planner [Felipe Lalanne]
- Change '*' to 'update' as default task operation [Felipe Lalanne]
- Add updating tasks to container composer tests [Felipe Lalanne]
- Add debugging to planning function [Felipe Lalanne]
- Calculate the target before planning [Felipe Lalanne]
- Split service tasks into install and start [Felipe Lalanne]
- Rename docker-compose test to container-compose [Felipe Lalanne]
- Add service to docker-compose to enable flowzone testing [Felipe Lalanne]
- Move default logger to its own module [Felipe Lalanne]
- Setup flowzone [Felipe Lalanne]
- Update package.json with repository metadata [Felipe Lalanne]