[sessionmgr][refactor] Add barebones StoryModel*

... and associated tests.  This includes implementations for:
* StoryModel table
* StoryModelMutation union
* StoryModelOwner
* StoryMutator
* StoryObserver

... and an interface for StoryModelStorage (what will ultimately
have a Ledger-backed implementation).

TEST=story_model_owner_unittest,apply_commands_unittest
MF-88 #comment [sessionmgr][refactor] Add barebones StoryModel*

Change-Id: I6daf15afad17a18e18a62efdd8e4d8cdb757c3f9
23 files changed
tree: a17cade6d360e789c464c0aaedd79b3b7f8f6b3f
  1. bin/
  2. boards/
  3. build/
  4. cloud/
  5. docs/
  6. examples/
  7. infra/
  8. lib/
  9. packages/
  10. products/
  11. public/
  12. tests/
  13. third_party/
  14. web/
  15. .clang-format
  16. .clang-tidy
  17. .gitignore
  18. AUTHORS
  19. BUILD.gn
  20. CONTRIBUTING.md
  21. LICENSE
  22. navbar.md
  23. PATENTS
  24. README.md
README.md

Peridot

Peridot is a framework for composed, intelligent and distributed user experiences.

Applications not explicitly designed to interoperate (and possibly implemented in different programming languages) are ephemerally downloaded and dynamically composed to run in a shared context. The framework manages application lifecycle, resources and view hierarchy; and well as context and suggestion infrastructure.

State of Peridot experiences is transparently synchronized across user devices using a distributed offline-first storage system.

Read more