Skip to content

chore(ci): support Node 24; SDK publish workflow and repo knowledge base - #238

Open
nagaozen wants to merge 4 commits into
agent-infra:mainfrom
nagaozen:feat/nodejs-24
Open

nagaozen wants to merge 4 commits into
agent-infra:mainfrom
nagaozen:feat/nodejs-24

Conversation

@nagaozen

@nagaozen nagaozen commented Sep 9, 2026

Copy link
Copy Markdown

Summary

Three focused commits on top of main:

1. 57549c9 — docs: add OKF knowledge base reconstructed from repository evidence

Initializes the .knowledge directory as an OKF bundle covering the system overview, component model, runtime and deployment architecture, key architectural decisions (cloud provider abstraction, image-mirror CD, runtime distribution, SDK generation from OpenAPI), API contract constraints, and a development/verification runbook. All content is reconstructed from evidence in the repository rather than assumptions, so future engineers and agents can quickly orient themselves in the codebase.

2. 144fc2b — ci: add SDK publishing workflow and expand development docs

Adds the sdk-publish GitHub Actions workflow (manual dispatch; version bump + npm/PyPI publish with dry-run support, committing the bump back) and documents the development and verification process in the runbook. Updates CONTRIBUTING.md to reflect the new publishing flow.

3. adfafb6 — chore(ci): support Node 24; test matrix [20, 24], vitest 1→3, engines >=20

  • sdk-ci.yml runs the JS SDK build/tests on a Node [20, 24] matrix with fail-fast: false (backward-compat checks per maintainer decision); sdk-publish.yml builds/publishes on Node 24
  • JS SDK engines.node raised from >=18.0.0 to >=20.0.0 — supported window is now the last three LTS lines (20, 22, 24). ⚠️ This is a semver-major narrowing of the published package's supported range
  • @types/node bumped to ^24 in root/website/sdk-js/examples manifests (dev-only)
  • Vitest upgraded 1 → 3 (^3.2.4) because Vitest 1.x does not support Node 24

Test plan

  • pnpm build && pnpm test in sdk/js — 66 tests pass, 16 skipped, on both Node 20 (vitest 1.6.1 baseline) and Node 24 (vitest 3.2.7)
  • tsc d.ts output diff vs. baseline is empty
  • Website build unaffected (dev-only @types/node bump)

Notes

  • The Vitest major upgrade is required (not cosmetic): Vitest 1.x cannot run on Node 24, so the toolchain and test-runner upgrades are done together.
  • Rationale: adopting the Eve Framework's minimal Node 24 requirement while keeping Node 20/22 consumers working.

…ence

Initialize the .knowledge directory as an OKF bundle covering the system overview, component model, runtime and deployment architecture, key architectural decisions (cloud provider abstraction, image-mirror CD, runtime distribution, SDK generation from OpenAPI), API contract constraints, and a development/verification runbook. All content is reconstructed from evidence in the repository rather than assumptions, so future engineers and agents can quickly orient themselves in the codebase.
…on docs

Add sdk-publish GitHub Actions workflow and document the development and verification process in the runbook. Update CONTRIBUTING.md to reflect the new publishing flow and record progress in the knowledge log.
Resolve pnpm-lock.yaml conflict by regenerating from the merged
workspace manifests: keeps this branch's sdk/js toolchain resolutions
(vitest 3.2.x, @types/node ^24) and upstream's website dependencies
(rspress 2.0.21) re-resolved on top.
@nagaozen

Copy link
Copy Markdown
Author

Resolved the conflict with the latest main in merge commit 9fd32cf.

What conflicted: pnpm-lock.yaml was the only real conflict — upstream's main had moved (docs/daemon changes incl. a website rspress bump) while this branch carried the vitest 1→3 / Node 24 toolchain changes to the same lockfile.

How it was resolved: rather than hand-editing the lockfile, I started from this branch's side (preserving the tested vitest 3.2.7 / @types/node 24 resolutions) and regenerated it with pnpm install --lockfile-only against the merged manifests, so upstream's website dependencies (rspress 2.0.21 etc.) are re-resolved on top. website/package.json merged cleanly (rspress bump + dev-only @types/node).

Verification on the merged tree:

  • lockfile is idempotent — re-running pnpm install --lockfile-only produces no diff
  • sdk/js: pnpm build && pnpm test66 tests pass, 16 skipped (identical to the pre-merge baseline)
  • vitest 3.2.7 / Node 24 resolutions intact; upstream website deps present

@nagaozen

Copy link
Copy Markdown
Author

@songhn233 , could you please review my PR? Thank you

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.

1 participant