Skip to content

revert: pin @types/node back to ^25.9.3 (unbreak main CI)#2177

Merged
xuyushun441-sys merged 1 commit into
mainfrom
fix/pin-types-node-25
Jun 22, 2026
Merged

revert: pin @types/node back to ^25.9.3 (unbreak main CI)#2177
xuyushun441-sys merged 1 commit into
mainfrom
fix/pin-types-node-25

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

Why

main is red@types/node 26 (merged via #2160) tightened the crypto key types so KeyObject (returned by createPublicKey) is no longer assignable to the verify-key union:

packages/cli/src/commands/plugin/sign.ts(93,35): error TS2345:
  'KeyObject' is not assignable to 'PublicKeyInput | RawPublicKeyInput | JsonWebKeyInput | BinaryLike'

This breaks Build Core / Test Core / TypeScript Type Check / Release on main, blocking every open framework PR.

What

Revert #2160 — pin @types/node back to ^25.9.3 across the workspace (61 files + lockfile). It's a dev-only dependency, so this is a safe, immediate unblock. Dependabot will re-propose the bump later; the proper fix-forward (broaden @objectstack/core's verifyPayload signature to accept KeyObject under @types/node 26) can land separately.

Verified

  • pnpm install --frozen-lockfile → clean (lockfile consistent).
  • pnpm --filter @objectstack/cli... build → green; sign.ts compiles.

Unblocks #2174 (and all other open framework PRs).

🤖 Generated with Claude Code

Reverts #2160 (bump @types/node 25.9.3 → 26.0.0). @types/node 26 tightened
the crypto key types so `KeyObject` (returned by `createPublicKey`) is no
longer assignable to the verify-key union, breaking the build:

  packages/cli/src/commands/plugin/sign.ts(93,35): error TS2345:
    'KeyObject' is not assignable to 'PublicKeyInput | RawPublicKeyInput |
     JsonWebKeyInput | BinaryLike'

main was red across Build Core / Test Core / TypeScript Type Check / Release,
blocking every open framework PR. @types/node is a dev-only dependency, so
pinning back to ^25.9.3 is a safe, immediate unblock; dependabot will
re-propose the bump once the upstream crypto types settle (or we fix-forward
`@objectstack/core`'s verifyPayload signature).

Verified: `pnpm install --frozen-lockfile` clean; `@objectstack/cli` build
green (sign.ts compiles).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 22, 2026 5:49am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file size/m labels Jun 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 36 package(s): packages/apps, @objectstack/cli, @objectstack/cloud-connection, packages/connectors, @objectstack/core, create-objectstack, @objectstack/dogfood, @objectstack/mcp, @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, @objectstack/observability, @objectstack/platform-objects, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/embedder-openai, @objectstack/knowledge-memory, @objectstack/knowledge-ragflow, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, packages/services, @objectstack/spec, packages/triggers, @objectstack/verify.

105 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/cloud-artifact-api.mdx (via packages/cli, packages/cloud-connection, packages/spec)
  • content/docs/concepts/cluster-semantics.mdx (via packages/metadata, @objectstack/spec)
  • content/docs/concepts/core/index.mdx (via @objectstack/core)
  • content/docs/concepts/core/plugins.mdx (via @objectstack/core, @objectstack/driver-sql)
  • content/docs/concepts/core/services.mdx (via @objectstack/core)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/implementation-status.mdx (via @objectstack/cli, @objectstack/core, @objectstack/observability, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-security, @objectstack/plugin-webhooks, @objectstack/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, packages/spec)
  • content/docs/concepts/north-star.mdx (via packages/core, packages/spec)
  • content/docs/concepts/packages.mdx (via @objectstack/cli, @objectstack/core, create-objectstack, @objectstack/mcp, @objectstack/metadata-core, @objectstack/metadata-fs, @objectstack/metadata, @objectstack/platform-objects, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, @objectstack/spec)
  • content/docs/concepts/setup-app.mdx (via packages/apps, @objectstack/platform-objects, @objectstack/spec)
  • content/docs/concepts/skills.mdx (via create-objectstack, @objectstack/spec)
  • content/docs/concepts/terminology.mdx (via @objectstack/driver-mongodb, @objectstack/driver-sql)
  • content/docs/concepts/webhook-delivery.mdx (via @objectstack/core, packages/plugins/plugin-webhooks, @objectstack/spec)
  • content/docs/getting-started/architecture.mdx (via @objectstack/spec)
  • content/docs/getting-started/cli.mdx (via @objectstack/cli, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-security, @objectstack/spec)
  • content/docs/getting-started/core-concepts.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/glossary.mdx (via @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/guides/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/guides/ai-capabilities.mdx (via @objectstack/core, @objectstack/knowledge-memory, @objectstack/knowledge-ragflow, @objectstack/spec)
  • content/docs/guides/airtable-dashboard-analysis.mdx (via @objectstack/spec)
  • content/docs/guides/analytics-datasets.mdx (via @objectstack/spec)
  • content/docs/guides/api-reference.mdx (via @objectstack/spec)
  • content/docs/guides/auth-sso.mdx (via @objectstack/plugin-auth)
  • content/docs/guides/authentication.mdx (via @objectstack/cli, @objectstack/core, @objectstack/driver-memory, @objectstack/plugin-auth, @objectstack/plugin-hono-server)
  • content/docs/guides/business-logic.mdx (via @objectstack/plugin-approvals, @objectstack/spec)
  • content/docs/guides/cheatsheets/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/guides/cheatsheets/error-catalog.mdx (via @objectstack/spec)
  • content/docs/guides/cheatsheets/field-type-gallery.mdx (via @objectstack/spec)
  • content/docs/guides/cheatsheets/field-validation-rules.mdx (via @objectstack/spec)
  • content/docs/guides/cheatsheets/permissions-matrix.mdx (via packages/plugins/plugin-security, packages/plugins/plugin-sharing, @objectstack/spec)
  • content/docs/guides/cheatsheets/protocol-diagram.mdx (via packages/spec)
  • content/docs/guides/cheatsheets/query-cheat-sheet.mdx (via @objectstack/spec)
  • content/docs/guides/cheatsheets/quick-reference.mdx (via @objectstack/spec)
  • content/docs/guides/client-sdk.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/guides/common-patterns.mdx (via @objectstack/spec)
  • content/docs/guides/contracts/auth-service.mdx (via packages/spec)
  • content/docs/guides/contracts/cache-service.mdx (via packages/spec)
  • content/docs/guides/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/guides/contracts/index.mdx (via @objectstack/core, @objectstack/spec)
  • content/docs/guides/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/guides/contracts/storage-service.mdx (via packages/spec)
  • content/docs/guides/data-modeling.mdx (via @objectstack/spec)
  • content/docs/guides/deployment-vercel.mdx (via @objectstack/driver-memory, @objectstack/plugin-msw, @objectstack/spec)
  • content/docs/guides/driver-configuration.mdx (via @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/spec)
  • content/docs/guides/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/guides/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/guides/formula.mdx (via @objectstack/spec)
  • content/docs/guides/hook-bodies.mdx (via packages/cli, packages/spec)
  • content/docs/guides/kernel-services.mdx (via @objectstack/core, @objectstack/driver-memory, @objectstack/plugin-auth, @objectstack/spec)
  • content/docs/guides/metadata/dashboard.mdx (via @objectstack/plugin-security, @objectstack/spec)
  • content/docs/guides/metadata/field.mdx (via @objectstack/spec)
  • content/docs/guides/metadata/flow.mdx (via @objectstack/spec)
  • content/docs/guides/metadata/index.mdx (via @objectstack/spec)
  • content/docs/guides/metadata/object.mdx (via @objectstack/spec)
  • content/docs/guides/metadata/validation.mdx (via @objectstack/spec)
  • content/docs/guides/metadata/workflow.mdx (via @objectstack/spec)
  • content/docs/guides/objectql-migration.mdx (via @objectstack/core)
  • content/docs/guides/packages.mdx (via @objectstack/cli, @objectstack/core, create-objectstack, @objectstack/mcp, @objectstack/metadata, @objectstack/platform-objects, @objectstack/driver-memory, @objectstack/driver-mongodb, @objectstack/driver-sql, @objectstack/driver-sqlite-wasm, @objectstack/plugin-approvals, @objectstack/plugin-audit, @objectstack/plugin-auth, @objectstack/plugin-dev, @objectstack/plugin-email, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-org-scoping, @objectstack/plugin-reports, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/plugin-webhooks, packages/services, @objectstack/spec)
  • content/docs/guides/plugin-development.mdx (via @objectstack/core, @objectstack/spec)
  • content/docs/guides/plugins.mdx (via @objectstack/core, @objectstack/driver-memory, @objectstack/plugin-auth, @objectstack/plugin-hono-server, @objectstack/plugin-msw, @objectstack/plugin-security, @objectstack/spec)
  • content/docs/guides/production-readiness.mdx (via @objectstack/plugin-audit, @objectstack/plugin-auth)
  • content/docs/guides/project-scoping.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/guides/public-forms.mdx (via @objectstack/spec)
  • content/docs/guides/runtime-services/audit-service.mdx (via packages/services)
  • content/docs/guides/runtime-services/data-service.mdx (via packages/cli)
  • content/docs/guides/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/guides/runtime-services/examples.mdx (via @objectstack/core)
  • content/docs/guides/runtime-services/index.mdx (via packages/cli, packages/services, packages/spec)
  • content/docs/guides/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/guides/runtime-services/settings-service.mdx (via packages/services)
  • content/docs/guides/runtime-services/sharing-service.mdx (via packages/spec)
  • content/docs/guides/runtime-services/storage-service.mdx (via packages/spec)
  • content/docs/guides/security.mdx (via @objectstack/plugin-org-scoping, @objectstack/plugin-security, @objectstack/plugin-sharing, @objectstack/spec)
  • content/docs/guides/seed-data.mdx (via @objectstack/spec)
  • content/docs/guides/skills.mdx (via packages/cli, create-objectstack, @objectstack/spec)
  • content/docs/guides/standards.mdx (via @objectstack/spec)
  • content/docs/guides/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/knowledge-memory, @objectstack/knowledge-ragflow, @objectstack/spec)
  • content/docs/protocol/objectos/config-resolution.mdx (via @objectstack/core, @objectstack/spec)
  • content/docs/protocol/objectos/i18n-standard.mdx (via packages/services, @objectstack/spec)
  • content/docs/protocol/objectos/index.mdx (via @objectstack/core, @objectstack/driver-sql)
  • content/docs/protocol/objectos/lifecycle.mdx (via @objectstack/core, @objectstack/driver-sql, @objectstack/spec)
  • content/docs/protocol/objectos/metadata-service.mdx (via @objectstack/metadata)
  • content/docs/protocol/objectos/plugin-spec.mdx (via @objectstack/cli, @objectstack/core, @objectstack/spec)
  • content/docs/protocol/objectos/realtime-protocol.mdx (via @objectstack/cli)
  • content/docs/protocol/objectos/runtime-capabilities.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via packages/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/plugins/plugin-sharing, packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via packages/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v9.mdx (via create-objectstack, @objectstack/plugin-approvals, @objectstack/plugin-auth, @objectstack/spec)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@xuyushun441-sys
xuyushun441-sys merged commit 03d8c4c into main Jun 22, 2026
18 checks passed
@xuyushun441-sys
xuyushun441-sys deleted the fix/pin-types-node-25 branch June 22, 2026 05:53
xuyushun441-sys added a commit that referenced this pull request Jun 22, 2026
…er stricter crypto types (#2180)

Re-applies the @types/node 25→26 bump (originally #2160; reverted in #2177 to
unbreak main). @types/node 26 narrowed `createPublicKey`'s input union to drop
`KeyObject`, which broke the publisher self-check in `os plugin sign`:

  packages/cli/src/commands/plugin/sign.ts:
    createPublicKey(createPrivateKey(privateKeyPem))   // KeyObject input

Derive the public half from the private-key PEM string instead —
runtime-identical (verified: same SPKI, signature verifies) and `string` is
still an accepted `createPublicKey` input under @types/node 26. Drops the
now-unused `createPrivateKey` import.

Verified: full workspace build green; @objectstack/cli and @objectstack/core
build clean under @types/node 26.

Co-authored-by: Jack Zhuang <zhuangjianguo@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation size/m

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants