Skip to content

build: regenerate type tests for 2.101.0 and disable for fluid-framework#27341

Open
jatgarg wants to merge 2 commits into
microsoft:mainfrom
jatgarg:update-typetests-after-2.101.0
Open

build: regenerate type tests for 2.101.0 and disable for fluid-framework#27341
jatgarg wants to merge 2 commits into
microsoft:mainfrom
jatgarg:update-typetests-after-2.101.0

Conversation

@jatgarg
Copy link
Copy Markdown
Contributor

@jatgarg jatgarg commented May 18, 2026

Description

Post-2.101.0 type test baseline update on main. Bumps all client release group *-previous deps to
the 2.101.0 publish and regenerates the validate*Previous.generated.ts files.

Two packages can't use the standard pattern and get targeted fixes:

fluid-framework — disabled

Flub's default entrypoint is legacy/alpha, which is not exported by fluid-framework@2.101.0 (or
any earlier published version). Disabled via typeValidation.disabled: true, matching the prior fix
from PR #26930.

@fluid-internal/presence-definitions — disabled

The renamed @fluid-internal/presence-definitions@2.101.0 only exports . and ./internal*, so
entrypoint: "beta" can't resolve.

Update type test baselines for the client release group against the
2.101.0 previous version.

For the two packages whose new-release publications lack the
configured entrypoint:

- fluid-framework: disable type tests. Flub's default entrypoint
  is "legacy/alpha", which is not exported by fluid-framework@2.101.0
  (or any earlier published version). Matches the previous fix from
  PR microsoft#26930.

- @fluid-internal/presence-definitions: keep "beta" entrypoint and
  point -previous at npm:@fluidframework/presence@2.101.0 (the parallel
  publish under the old package name). The renamed
  @fluid-internal/presence-definitions@2.101.0 only exports "." and
  "./internal*", but @fluidframework/presence@2.101.0 still ships
  "./beta", so type-test coverage is preserved.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 18, 2026 23:10
@jatgarg jatgarg requested review from a team as code owners May 18, 2026 23:10
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 18, 2026

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (2467 lines, 126 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Post-release type-test baseline update for the Fluid Framework client release group, moving *-previous dependencies and generated type-test baselines from 2.92.0 to 2.101.0 while normalizing disabled type-test packages.

Changes:

  • Bumps client release group type-test *-previous dev dependencies and lockfile entries to 2.101.0.
  • Regenerates validate*Previous.generated.ts files against the 2.101.0 baseline.
  • Disables/normalizes type-test generation for packages that cannot currently use the standard pattern, including fluid-framework.

Reviewed changes

Copilot reviewed 125 out of 126 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates previous-version package resolutions and removes disabled fluid-framework previous dependency.
azure/packages/azure-service-utils/package.json Bumps azure-service-utils previous dependency.
azure/packages/azure-service-utils/src/test/types/validateAzureServiceUtilsPrevious.generated.ts Updates generated baseline header.
experimental/dds/sequence-deprecated/package.json Removes type-test generation script for disabled package.
packages/common/client-utils/package.json Bumps client-utils previous dependency.
packages/common/client-utils/src/test/types/validateClientUtilsPrevious.generated.ts Updates generated baseline header.
packages/common/container-definitions/package.json Bumps container-definitions previous dependency.
packages/common/container-definitions/src/test/types/validateContainerDefinitionsPrevious.generated.ts Updates generated baseline header.
packages/common/core-interfaces/package.json Bumps core-interfaces previous dependency.
packages/common/core-interfaces/src/test/types/validateCoreInterfacesPrevious.generated.ts Updates baseline and regenerated compatibility checks.
packages/common/core-utils/package.json Bumps core-utils previous dependency.
packages/common/core-utils/src/test/types/validateCoreUtilsPrevious.generated.ts Updates generated baseline header.
packages/common/driver-definitions/package.json Bumps driver-definitions previous dependency.
packages/common/driver-definitions/src/test/types/validateDriverDefinitionsPrevious.generated.ts Updates generated baseline header.
packages/dds/cell/package.json Bumps cell previous dependency.
packages/dds/cell/src/test/types/validateCellPrevious.generated.ts Updates generated baseline header.
packages/dds/counter/package.json Bumps counter previous dependency.
packages/dds/counter/src/test/types/validateCounterPrevious.generated.ts Updates generated baseline header.
packages/dds/ink/package.json Removes type-test generation script for disabled package.
packages/dds/legacy-dds/package.json Removes type-test generation script for disabled package.
packages/dds/map/package.json Bumps map previous dependency.
packages/dds/map/src/test/types/validateMapPrevious.generated.ts Updates baseline and regenerated compatibility checks.
packages/dds/matrix/package.json Bumps matrix previous dependency.
packages/dds/matrix/src/test/types/validateMatrixPrevious.generated.ts Updates generated baseline header.
packages/dds/merge-tree/package.json Bumps merge-tree previous dependency.
packages/dds/merge-tree/src/test/types/validateMergeTreePrevious.generated.ts Updates generated baseline header.
packages/dds/ordered-collection/package.json Bumps ordered-collection previous dependency.
packages/dds/ordered-collection/src/test/types/validateOrderedCollectionPrevious.generated.ts Updates generated baseline header.
packages/dds/register-collection/package.json Bumps register-collection previous dependency.
packages/dds/register-collection/src/test/types/validateRegisterCollectionPrevious.generated.ts Updates generated baseline header.
packages/dds/sequence/package.json Bumps sequence previous dependency.
packages/dds/sequence/src/test/types/validateSequencePrevious.generated.ts Updates generated baseline header.
packages/dds/shared-object-base/package.json Bumps shared-object-base previous dependency.
packages/dds/shared-object-base/src/test/types/validateSharedObjectBasePrevious.generated.ts Updates generated baseline header.
packages/dds/shared-summary-block/package.json Bumps shared-summary-block previous dependency.
packages/dds/shared-summary-block/src/test/types/validateSharedSummaryBlockPrevious.generated.ts Updates generated baseline header.
packages/dds/task-manager/package.json Bumps task-manager previous dependency.
packages/dds/task-manager/src/test/types/validateTaskManagerPrevious.generated.ts Updates generated baseline header.
packages/dds/tree/package.json Bumps tree previous dependency.
packages/dds/tree/src/test/types/validateTreePrevious.generated.ts Updates generated baseline header.
packages/drivers/debugger/package.json Bumps debugger previous dependency.
packages/drivers/debugger/src/test/types/validateDebuggerPrevious.generated.ts Updates generated baseline header.
packages/drivers/driver-base/package.json Bumps driver-base previous dependency.
packages/drivers/driver-base/src/test/types/validateDriverBasePrevious.generated.ts Updates generated baseline header.
packages/drivers/driver-web-cache/package.json Bumps driver-web-cache previous dependency.
packages/drivers/driver-web-cache/src/test/types/validateDriverWebCachePrevious.generated.ts Updates generated baseline header.
packages/drivers/file-driver/package.json Bumps file-driver previous dependency.
packages/drivers/file-driver/src/test/types/validateFileDriverPrevious.generated.ts Updates generated baseline header.
packages/drivers/local-driver/package.json Bumps local-driver previous dependency.
packages/drivers/local-driver/src/test/types/validateLocalDriverPrevious.generated.ts Updates generated baseline header.
packages/drivers/odsp-driver/package.json Bumps odsp-driver previous dependency.
packages/drivers/odsp-driver/src/test/types/validateOdspDriverPrevious.generated.ts Updates generated baseline header.
packages/drivers/odsp-driver-definitions/package.json Bumps odsp-driver-definitions previous dependency.
packages/drivers/odsp-driver-definitions/src/test/types/validateOdspDriverDefinitionsPrevious.generated.ts Updates generated baseline header.
packages/drivers/odsp-urlResolver/package.json Bumps odsp-urlresolver previous dependency.
packages/drivers/odsp-urlResolver/src/test/types/validateOdspUrlresolverPrevious.generated.ts Updates generated baseline header.
packages/drivers/replay-driver/package.json Bumps replay-driver previous dependency.
packages/drivers/replay-driver/src/test/types/validateReplayDriverPrevious.generated.ts Updates generated baseline header.
packages/drivers/routerlicious-driver/package.json Bumps routerlicious-driver previous dependency.
packages/drivers/routerlicious-driver/src/test/types/validateRouterliciousDriverPrevious.generated.ts Updates generated baseline header.
packages/drivers/routerlicious-urlResolver/package.json Bumps routerlicious-urlresolver previous dependency.
packages/drivers/routerlicious-urlResolver/src/test/types/validateRouterliciousUrlresolverPrevious.generated.ts Updates generated baseline header.
packages/drivers/tinylicious-driver/package.json Bumps tinylicious-driver previous dependency.
packages/drivers/tinylicious-driver/src/test/types/validateTinyliciousDriverPrevious.generated.ts Updates generated baseline header.
packages/framework/agent-scheduler/package.json Bumps agent-scheduler previous dependency.
packages/framework/agent-scheduler/src/test/types/validateAgentSchedulerPrevious.generated.ts Updates generated baseline header.
packages/framework/aqueduct/package.json Bumps aqueduct previous dependency and resets broken type-test config.
packages/framework/aqueduct/src/test/types/validateAqueductPrevious.generated.ts Updates baseline and regenerated expected compatibility checks.
packages/framework/attributor/package.json Removes type-test generation script for disabled package.
packages/framework/client-logger/app-insights-logger/package.json Bumps app-insights-logger previous dependency.
packages/framework/client-logger/app-insights-logger/src/test/types/validateAppInsightsLoggerPrevious.generated.ts Updates generated baseline header.
packages/framework/client-logger/fluid-telemetry/package.json Removes type-test generation script for disabled package.
packages/framework/dds-interceptions/package.json Removes type-test generation script for disabled package.
packages/framework/fluid-framework/package.json Disables type validation and removes previous dependency.
packages/framework/fluid-static/package.json Bumps fluid-static previous dependency.
packages/framework/fluid-static/src/test/types/validateFluidStaticPrevious.generated.ts Updates baseline and regenerated compatibility checks.
packages/framework/presence-definitions/package.json Adds standard type-test generation and points previous alias to presence 2.101.0.
packages/framework/presence-definitions/src/test/types/validatePresenceDefinitionsPrevious.generated.ts Updates baseline and generated current import/checks.
packages/framework/request-handler/package.json Bumps request-handler previous dependency.
packages/framework/request-handler/src/test/types/validateRequestHandlerPrevious.generated.ts Updates generated baseline header.
packages/framework/synthesize/package.json Bumps synthesize previous dependency.
packages/framework/synthesize/src/test/types/validateSynthesizePrevious.generated.ts Updates generated baseline header.
packages/framework/tree-agent/package.json Removes type-test generation script for disabled package.
packages/framework/tree-agent-langchain/package.json Removes type-test generation script for disabled package.
packages/framework/tree-agent-ses/package.json Removes type-test generation script for disabled package.
packages/framework/type-factory/package.json Removes type-test generation script for disabled package.
packages/framework/undo-redo/package.json Bumps undo-redo previous dependency.
packages/framework/undo-redo/src/test/types/validateUndoRedoPrevious.generated.ts Updates generated baseline header.
packages/loader/container-loader/package.json Bumps container-loader previous dependency.
packages/loader/container-loader/src/test/types/validateContainerLoaderPrevious.generated.ts Updates generated baseline header.
packages/loader/driver-utils/package.json Bumps driver-utils previous dependency.
packages/loader/driver-utils/src/test/types/validateDriverUtilsPrevious.generated.ts Updates generated baseline header.
packages/runtime/container-runtime/package.json Bumps container-runtime previous dependency.
packages/runtime/container-runtime/src/test/types/validateContainerRuntimePrevious.generated.ts Updates generated baseline header.
packages/runtime/container-runtime-definitions/package.json Bumps container-runtime-definitions previous dependency and resets broken config.
packages/runtime/container-runtime-definitions/src/test/types/validateContainerRuntimeDefinitionsPrevious.generated.ts Updates baseline and expected compatibility annotations.
packages/runtime/datastore/package.json Bumps datastore previous dependency and resets broken config.
packages/runtime/datastore/src/test/types/validateDatastorePrevious.generated.ts Updates baseline and expected compatibility annotations.
packages/runtime/datastore-definitions/package.json Bumps datastore-definitions previous dependency.
packages/runtime/datastore-definitions/src/test/types/validateDatastoreDefinitionsPrevious.generated.ts Updates generated baseline header.
packages/runtime/id-compressor/package.json Bumps id-compressor previous dependency and resets broken config.
packages/runtime/id-compressor/src/test/types/validateIdCompressorPrevious.generated.ts Updates baseline and removes obsolete broken checks.
packages/runtime/runtime-definitions/package.json Bumps runtime-definitions previous dependency.
packages/runtime/runtime-definitions/src/test/types/validateRuntimeDefinitionsPrevious.generated.ts Updates baseline and regenerated compatibility checks.
packages/runtime/runtime-utils/package.json Bumps runtime-utils previous dependency.
packages/runtime/runtime-utils/src/test/types/validateRuntimeUtilsPrevious.generated.ts Updates generated baseline header.
packages/runtime/test-runtime-utils/package.json Bumps test-runtime-utils previous dependency and resets broken config.
packages/runtime/test-runtime-utils/src/test/types/validateTestRuntimeUtilsPrevious.generated.ts Updates baseline and expected compatibility annotations.
packages/service-clients/azure-client/package.json Bumps azure-client previous dependency.
packages/service-clients/azure-client/src/test/types/validateAzureClientPrevious.generated.ts Updates generated baseline header.
packages/service-clients/tinylicious-client/package.json Bumps tinylicious-client previous dependency.
packages/service-clients/tinylicious-client/src/test/types/validateTinyliciousClientPrevious.generated.ts Updates generated baseline header.
packages/test/test-utils/package.json Bumps test-utils previous dependency and resets broken config.
packages/test/test-utils/src/test/types/validateTestUtilsPrevious.generated.ts Updates baseline and expected compatibility annotations.
packages/tools/devtools/devtools/package.json Bumps devtools previous dependency.
packages/tools/devtools/devtools/src/test/types/validateDevtoolsPrevious.generated.ts Updates generated baseline header.
packages/tools/devtools/devtools-core/package.json Bumps devtools-core previous dependency.
packages/tools/devtools/devtools-core/src/test/types/validateDevtoolsCorePrevious.generated.ts Updates generated baseline header.
packages/tools/fluid-runner/package.json Bumps fluid-runner previous dependency.
packages/tools/fluid-runner/src/test/types/validateFluidRunnerPrevious.generated.ts Updates generated baseline header.
packages/utils/odsp-doclib-utils/package.json Bumps odsp-doclib-utils previous dependency.
packages/utils/odsp-doclib-utils/src/test/types/validateOdspDoclibUtilsPrevious.generated.ts Updates generated baseline header.
packages/utils/telemetry-utils/package.json Bumps telemetry-utils previous dependency.
packages/utils/telemetry-utils/src/test/types/validateTelemetryUtilsPrevious.generated.ts Updates baseline and regenerated compatibility checks.
packages/utils/tool-utils/package.json Bumps tool-utils previous dependency.
packages/utils/tool-utils/src/test/types/validateToolUtilsPrevious.generated.ts Updates generated baseline header.

"backCompat": false
}
}
"broken": {}
The earlier attempt to keep type-test coverage for presence-definitions
by pointing -previous at @fluidframework/presence@2.101.0 (the parallel
publish that retains "./beta") fails at compile time: flub also emits
an import for the *current* side as "@fluid-internal/presence-definitions/beta",
but the current package's exports map only contains ".", "./internal",
and "./internal/workspace*" — no "./beta" entrypoint exists on the
current side either.

Both sides of a type test must expose the entrypoint. Since the
current @fluid-internal/presence-definitions does not, disable type
tests for this package, matching the fluid-framework treatment in
this same PR (and the 2.100.0 cycle precedent).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
"test:mocha:esm": "mocha",
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
"typetests:gen": "flub generate typetests --dir . -v"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a mix of changes unrelated to the upgrade in this PR that are just due to normalization (like this), and the apparent manual workarounds mentioned in the PR description (of which we should have none: we should keep our codebase in a state where when we run our automated normalization it is left in a working state so we don't have to manually fix things every time we normalizer the type tests.

I think it might be best to do a separate PR first which just fixes our settings and normalizes them such that running a normalize produces a working state with no additional changes.

On a related note, I think the diff to this package, and the change to fluid-framework are likely mistakes: tests with user facing APIs really should have type tests: this package simply left them disabled (likely in its initial version as there wasn't a version to test against): now that this package has a previous version it can be tested against, it should probably test against that rather than be disabled.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe its fine to just do it in this PR: I don't actually see other places which are being changed. It is a pain to look for cases like this in review of a big PR like this though

},
"typeValidation": {
"broken": {}
"disabled": true
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what we want to do with type tests in for this package. Clearly they should be in a state where they are normalized (either properly disabled like you have made them) or properly enabled (and thus not missing the generation script and pointed at an existing entry point). I however am not clear on which entry points are supposed to exist in this package as the ones in the package.json do not match the api-extractor configs. Specifically we have an API extractor config for beta-legacy, which we don't export: I think that API extractor config probably shouldn't exist as users of that API surface shouldn't use this package.

In that case we would want to type test the legacy entry point I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants