FN-8282: add configuration revision history and rollback
Record configuration revisions so prior settings can be restored safely.
- Add revision storage interfaces, PostgreSQL schema, migration, and pruning.
- Capture changes to global settings, routines, automations, and async task settings.
- Expose revision listing and restore operations with coverage and storage documentation.
Files changed:
.changeset/fn-8282-config-versioning.md | 7 +
docs/storage.md | 6 +
.../__tests__/configuration-revision-store.test.ts | 26 +++
.../src/__tests__/postgres/schema-applier.test.ts | 15 +-
.../core/src/async-configuration-revision-store.ts | 192 +++++++++++++++++++++
packages/core/src/automation-store.ts | 88 +++++++++-
packages/core/src/configuration-revision-store.ts | 33 ++++
packages/core/src/global-settings.ts | 172 +++++++++++++++++-
packages/core/src/index.gate.ts | 3 +
packages/core/src/index.ts | 3 +
.../migrations/0021_configuration_revisions.sql | 40 +++++
packages/core/src/postgres/schema-applier.ts | 19 +-
packages/core/src/postgres/schema/project.ts | 27 +++
packages/core/src/routine-store.ts | 103 ++++++++++-
packages/core/src/store.ts | 21 ++-
packages/core/src/task-store/async-settings.ts | 14 +-
packages/core/src/task-store/remaining-ops-2.ts | 86 ++++++++-
packages/core/src/task-store/settings-ops.ts | 104 +++++++----
packages/core/src/types.ts | 36 ++++
packages/engine/src/agent-tools.ts | 7 +-
20 files changed, 928 insertions(+), 74 deletions(-)
Fusion-Task-Id: FN-8282
Fusion-Task-Lineage: fd681798-10b0-47ce-b96b-6f33eecdf70a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>