Skip to content

[NOT FOR MERGING] Use persisted metadata in ai-collab sample app #24862

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 48 commits into
base: main
Choose a base branch
from

Conversation

alexvy86
Copy link
Contributor

Description

Just creating so we can see the diff of things I did to the ai-collab sample app to use persisted metadata while we were working on a version of those changes in SharedTree.

TommyBrosman and others added 30 commits May 12, 2025 14:59
- Added in-memory schema format v2.
- Implemented the schema format v2 codec.
- Updated test utils that previously assumed there was only one format.
- Added snapshots for many of the v2 tests.
…ion as a parameter.

- Fixed naming of schema index formats.
- Changed schemaChangeFormat to be schema format-agnostic.
Co-authored-by: Craig Macomber (Microsoft) <42876482+CraigMacomber@users.noreply.github.com>
… we want something more intuitive (e.g., minimum client version).

- Split the encode method for TreeNodeStoredSchema.
…cVersion.

- Changed schema-stored/FormatV2 to only define the new elements.
- Updated all instantiations of TreeFieldStoredSchema so that persistedMetadata is specified.
- HACK: importCompressed needs to handle both schema formats. A few of the roundtrip JSON tests are failing.
Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
- Made importCompressed always use a v1 schema when encoding.
- Added better test data to one of the codec tests for the v2 schema format.
TommyBrosman and others added 18 commits May 27, 2025 10:56
Co-authored-by: Craig Macomber (Microsoft) <42876482+CraigMacomber@users.noreply.github.com>
- Moved JsonCompatibleReadOnly and JsonCompatibleReadOnlyObject to alpha API status so they can be used in schemas
- Implemented field factory methods and added test coverage
- Added requiredRecursive to schemaFactoryAlpha (not sure if it should be part of this change though)
…metadata.

- Fixed a bug where FormatV2 was including FormatV1 fields.
- persistedMetadata is now only written when non-undefined.
- simple-tree implementations for individual schema kinds (arrayNode, mapNode, objectNode) now pass persistedMetadata down from the outer factory calls.
- Introduced alpha APIs for simple-tree in places where we need to pass persistedMetadata but don't want to pollute the public API.
- Updated tests to pass persistedMetadata when constructing SimpleNodeSchemas.
- Wrote simple tests for node and field persisted metadata.
@github-actions github-actions bot added area: dds Issues related to distributed data structures area: dds: tree area: examples Changes that focus on our examples area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct changeset-present public api change Changes to a public API base: main PRs targeted against main branch labels Jun 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: dds: tree area: dds Issues related to distributed data structures area: examples Changes that focus on our examples area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct base: main PRs targeted against main branch changeset-present public api change Changes to a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants