Skip to content

Upgrade @objectstack/spec to v0.6.0#128

Merged
hotlong merged 3 commits intomainfrom
copilot/upgrade-objectstack-kernel
Jan 28, 2026
Merged

Upgrade @objectstack/spec to v0.6.0#128
hotlong merged 3 commits intomainfrom
copilot/upgrade-objectstack-kernel

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 28, 2026

Upgrades @objectstack/spec from 0.3.3/0.4.1 to 0.6.0 across the monorepo to align with latest protocol specifications.

Changes

  • Dependencies: Bumped @objectstack/spec to 0.6.0 in root, kernel, and server packages
  • Type compatibility: Added type assertion in example-spec-plugin.ts for scheduler (not yet in spec):
    const appWithScheduler = context.app as any;
    if (appWithScheduler.scheduler) {
        appWithScheduler.scheduler.schedule(/* ... */);
    }
  • Documentation: Updated version references from v0.4.1 to v0.6.0

New in v0.6.0

The spec now includes data-engine.zod - a standardized interface for data persistence engines (ObjectQL, Prisma, TypeORM, etc.) following the Dependency Inversion Principle. Available for future adoption but not required for this upgrade.

Original prompt

objectstack 内核升级到最新版,并按照最新的规范修改代码


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@vercel
Copy link
Copy Markdown

vercel bot commented Jan 28, 2026

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

Project Deployment Review Updated (UTC)
objectos Ready Ready Preview, Comment Jan 28, 2026 11:35am

Request Review

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Copilot AI changed the title [WIP] Update objectstack kernel to latest version and adjust code Upgrade @objectstack/spec to v0.6.0 Jan 28, 2026
Copilot AI requested a review from hotlong January 28, 2026 11:37
@hotlong hotlong marked this pull request as ready for review January 28, 2026 12:04
Copilot AI review requested due to automatic review settings January 28, 2026 12:04
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

Upgrades @objectstack/spec to v0.6.0 across the monorepo and adjusts docs/example plugin code to remain compatible with the newer spec.

Changes:

  • Bumped @objectstack/spec dependency to 0.6.0 in root, kernel, and server packages.
  • Updated version references in documentation/comments from v0.4.1 to v0.6.0.
  • Adjusted the example plugin to access a non-spec scheduler via a type assertion.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

File Description
package.json Updates root dependency on @objectstack/spec to 0.6.0.
packages/kernel/package.json Updates kernel dependency on @objectstack/spec to 0.6.0.
packages/server/package.json Updates server dependency on @objectstack/spec to 0.6.0.
packages/kernel/src/plugins/example-spec-plugin.ts Updates spec version references and changes scheduler access to avoid type errors with v0.6.0.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

if (context.app.scheduler) {
context.app.scheduler.schedule(
// Note: Scheduler is not part of the @objectstack/spec yet, but can be added by implementations
const appWithScheduler = context.app as any;
Copy link

Copilot AI Jan 28, 2026

Choose a reason for hiding this comment

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

Using as any removes type safety and can hide real integration issues. Prefer a narrow local type (e.g., type AppWithScheduler = typeof context.app & { scheduler?: { schedule: (...args: any[]) => unknown } }) or a small type guard function so only the scheduler augmentation is loosened rather than the whole object.

Suggested change
const appWithScheduler = context.app as any;
type AppWithScheduler = typeof context.app & {
scheduler?: {
schedule: (...args: any[]) => unknown;
};
};
const appWithScheduler = context.app as AppWithScheduler;

Copilot uses AI. Check for mistakes.
@hotlong hotlong merged commit c8ea288 into main Jan 28, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants