Skip to content

Unify TypeScript 6 toolchain and fix Windows validation - #318

Merged
cxxxxxn (cxxxxxn) merged 7 commits into
mainfrom
chore/unify-typescript6
Oct 21, 2026
Merged

cxxxxxn (cxxxxxn) merged 7 commits into
mainfrom
chore/unify-typescript6

Conversation

@cxxxxxn

@cxxxxxn cxxxxxn (cxxxxxn) commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Post-merge validation status

Merged origin/main at 26917e87 and resolved the lockfile conflict without downgrading main's dependencies or rewriting existing commits. All sixteen TypeScript compiler bindings remain at 6.0.3, main's runtime Undici 7.30.1 and testcontainers Undici 8.12.2 are retained, and the node-gyp-only Undici 6.29.0 override remains intact.

Current validation is blocked by inherited main dependency availability: pnpm install --frozen-lockfile --prefer-offline returns HTTP 404 for undici@7.30.1; explicit official-registry metadata lookups for both 7.30.1 and 8.12.2 also return 404 in this environment. Consequently the fresh typecheck stops at apps/server/src/setup-proxy.ts with a missing undici module. These versions were retained rather than silently downgraded.

Frozen offline lockfile/manifest consistency, lockfile formatting, semantic dependency assertions, and conflict-marker/index checks pass. The successful build and test results below describe validation before this main merge, not a claim that the current full dependency restore is green.


Summary

Unify the directly controlled TypeScript toolchain on 6.0.3 and repair the Windows validation and dependency-restore failures found during the upgrade.

  • Upgrade the remaining Agentlet, Agenetes, and documentation-site TypeScript declarations to ^6.0.3, matching the existing Huabu workspaces, and remove TypeScript 5 from the root lockfile.
  • Explicitly include Node.js ambient types where TypeScript 6 requires them, and migrate the documentation alias away from deprecated baseUrl.
  • Close SQLite test stores before deleting temporary directories, normalize Windows test paths, and isolate ComSpec assertions while covering both the default and explicit shell paths.
  • Scope an Undici 6.29.0 override to node-gyp, within its declared compatible range, because the previously locked 6.29.1 is unavailable from the configured feed. Refresh packaging snapshots while preserving existing package integrity metadata and application dependency versions.
  • Document the shared toolchain and packaging dependency constraint. Keep Agentlet, Agenetes, and Huabu changes in separate commits for subtree synchronization.

Validation

  • Node.js 24.16.0 and pnpm 10.34.3.
  • pnpm install --frozen-lockfile --ignore-scripts --prefer-offline passes; complete installation and workspace postinstall builds also passed.
  • pnpm typecheck passes across all workspaces, including its prerequisite subtree and client-runtime builds.
  • pnpm format passes without additional changes.
  • pnpm lint:fix passes with 0 errors and 330 warnings, without additional changes.
  • Agentlet: 98 tests passed.
  • Agenetes instance: 188 tests passed.
  • Server artifact and canvas routes: 51 tests passed.
  • Documentation production build, including browser/SSR builds, prerendering, Pagefind, and output validation, passed during upgrade validation.
  • Compared 420 emitted files across ten subtree packages against TypeScript 5.9.3: byte-identical output after the explicit ambient-type configuration updates.

Scope and follow-up

The local Node.js installation and EBOM workbook update are not repository changes and are not included in this PR. No release tag or installer publication is performed. macOS packaging and ESRP signing still require validation in Azure DevOps; a complete signed release was not produced locally.

cxxxxxn (cxxxxxn) and others added 6 commits October 19, 2026 17:07
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Explicitly include Node.js types for the instance and profile registry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Migrate docs aliases away from baseUrl, declare SSR Node types, and remove the unused TypeScript 5 lockfile entry.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Cover both default cmd.exe and an explicit ComSpec path without depending on the host environment.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Close SQLite connections before removing fixtures and normalize paths when registering the harness contract tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Scope the available Undici 6.29.0 release to node-gyp, refresh packaging snapshots, and preserve existing package integrity metadata.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 19, 2026 11:13

Copilot AI left a comment

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.

🔵 Needs a closer look

Packaging dependency changes require human review while macOS packaging and ESRP signing validation remain pending.

No open issues 🎉

1 file not reviewed
  • pnpm-lock.yaml: Generated file
What changed in this PR

Aligns the workspace TypeScript toolchain and addresses Windows validation and dependency-restore failures.

Changes:

  • Standardizes TypeScript on 6.0.3, with explicit Node types and updated documentation aliases.
  • Fixes SQLite test cleanup, Windows path comparisons, and shell environment isolation.
  • Pins node-gyp’s Undici dependency and documents packaging constraints.
File Description
pnpm-workspace.yaml Adds scoped Undici override.
pnpm-lock.yaml Unifies compiler resolution and refreshes packaging dependencies.
external/​agentlet/​packages/​protocol/​package.json Upgrades TypeScript.
external/​agentlet/​packages/​local/​tests/​harnesses.test.ts Isolates and tests ComSpec variants.
external/​agentlet/​packages/​local/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​runtime/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​protocol/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​pi-driver/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​agentlet-host/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​agentlet-gateway/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​agent-profile/​tsconfig.json Explicitly includes Node types.
external/​agenetes/​packages/​agent-profile/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​agenetes/​tsconfig.json Explicitly includes Node types.
external/​agenetes/​packages/​agenetes/​src/​turn-store.test.ts Closes SQLite stores before cleanup.
external/​agenetes/​packages/​agenetes/​src/​store-harness.test.ts Normalizes Windows test paths.
external/​agenetes/​packages/​agenetes/​package.json Upgrades TypeScript.
external/​agenetes/​packages/​acp-driver/​package.json Upgrades TypeScript.
docs/​architecture/​desktop-auto-update.md Documents compiler and packaging constraints.
apps/​docs/​tsconfig.json Updates alias resolution and Node types.
apps/​docs/​package.json Upgrades TypeScript.

Review effort: Balanced

Resolve the lockfile conflict by retaining main's Undici upgrades alongside the TypeScript 6 toolchain and scoped node-gyp override.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings October 19, 2026 11:22

Copilot AI left a comment

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.

🔵 Needs a closer look

Reported inherited Undici availability failures block fresh post-merge installation and typechecking, leaving the final toolchain unvalidated.

No open issues 🎉

1 file not reviewed
  • pnpm-lock.yaml: Generated file

Review effort: Balanced

@cxxxxxn
cxxxxxn (cxxxxxn) merged commit e56ce10 into main Oct 21, 2026
8 checks passed
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.

2 participants