chore(deps): bump @objectstack/spec from 0.8.2 to 4.0.3
Type: Pull Request
State: Closed
Association: Unknown
Comments: 2
(2 months ago)
(about 2 months ago)
(about 2 months ago)
dependencies
hotlong
Bumps @objectstack/spec from 0.8.2 to 4.0.3.
Release notes
Sourced from @objectstack/spec's releases.
@objectstack/spec@4.0.3No release notes provided.
@objectstack/spec@4.0.2Patch Changes
- 5f659e9: fix ai
@objectstack/spec@4.0.1
@objectstack/spec4.0.0
Minor Changes
f08ffc3: Fix discovery API endpoint routing and protocol consistency.
Discovery route standardization:
- All adapters (Express, Fastify, Hono, NestJS, Next.js, Nuxt, SvelteKit) now mount the discovery endpoint at
{prefix}/discoveryinstead of{prefix}root..well-known/objectstackredirects now point to{prefix}/discovery.- Client
connect()fallback URL changed from/api/v1to/api/v1/discovery.- Runtime dispatcher handles both
/discovery(standard) and/(legacy) for backward compatibility.Schema & route alignment:
- Added
storage(service:file-storage) andfeed(service:data) routes toDEFAULT_DISPATCHER_ROUTES.- Added
feedanddiscoveryfields toApiRoutesSchema.- Unified
GetDiscoveryResponseSchemawithDiscoverySchemaas single source of truth.- Client
getRoute('feed')fallback updated from/api/v1/datato/api/v1/feed.Type safety:
- Extracted
ApiRouteTypefromApiRouteskeys for type-safe client route resolution.- Removed
as anytype casting in client route access.e0b0a78: Deprecate DataEngineQueryOptions in favor of QueryAST-aligned EngineQueryOptions.
Engine, Protocol, and Client now use standard QueryAST parameter names:
filter→whereselect→fieldssort→orderByskip→offsetpopulate→expandtop→limitThe old DataEngine* schemas and types are preserved with
@deprecatedmarkers for backward compatibility.3.3.1
... (truncated)
Changelog
Sourced from @objectstack/spec's changelog.
Changelog
All notable changes to the ObjectStack Protocol will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Fixed
- CI: Replace
pnpm/action-setup@v6with corepack — Switched all GitHub Actions workflows (ci.yml,lint.yml,release.yml,validate-deps.yml,pr-automation.yml) frompnpm/action-setup@v6tocorepack enableto fix persistentERR_PNPM_BROKEN_LOCKFILEerrors. Corepack reads the exactpackageManagerfield frompackage.json(including SHA verification), ensuring the correct pnpm version is used in CI. Also bumped pnpm store cache keys to v3 and added a pnpm version verification step.- Broken pnpm lockfile — Regenerated
pnpm-lock.yamlfrom scratch to fixERR_PNPM_BROKEN_LOCKFILE("expected a single document in the stream, but found more") that was causing all CI jobs to fail. The previous merge of PR #1117 only included workflow cache key changes but did not carry over the regenerated lockfile.Added
- MCP Runtime Server Plugin (
plugin-mcp-server) — New kernel plugin that exposes ObjectStack as a Model Context Protocol (MCP) server for external AI clients (Claude Desktop, Cursor, VS Code Copilot, etc.). Features include:
- Tool Bridge: All registered AI tools from
ToolRegistry(9 built-in tools:list_objects,describe_object,query_records,get_record,aggregate_data,create_object,add_field,modify_field,delete_field) are automatically exposed as MCP tools with correct annotations (readOnlyHint, destructiveHint).- Resource Bridge: Object schemas (
objectstack://objects/{objectName}), object list (objectstack://objects), record access (objectstack://objects/{objectName}/records/{recordId}), and metadata types (objectstack://metadata/types) exposed as MCP resources.- Prompt Bridge: Registered agents (
data_chat,metadata_assistant, etc.) exposed as MCP prompts with context arguments (objectName, recordId, viewName).- Transport: stdio transport via
@modelcontextprotocol/sdkfor local AI client integration.- Environment Configuration:
MCP_SERVER_ENABLED=trueto auto-start,MCP_SERVER_NAMEandMCP_SERVER_TRANSPORTfor customization.- Extensibility:
mcp:readykernel hook allows other plugins to extend the MCP server.- Studio frontend AI interface remains unchanged — it continues to use REST/SSE via Vercel Data Stream Protocol.
Changed
- Unified
list_objects/describe_objecttools (service-ai) — Merged the duplicatelist_metadata_objects→list_objectsanddescribe_metadata_object→describe_objecttool pairs. Bothdata_chatandmetadata_assistantagents now share the same unified tools with fullfilter,includeFields, snake_case validation, andenableFeaturessupport.DATA_TOOL_DEFINITIONSis reduced from 5 to 3 (query-only tools), whileMETADATA_TOOL_DEFINITIONSretains all 6 tools under the unified names. The duplicateObjectDef/FieldDeftype definitions indata-tools.tsare removed.Fixed
- MetadataPlugin: Driver bridging for database-backed persistence —
MetadataPlugin.start()now discovers registered driver services (driver.*) from the kernel service registry and callsmanager.setDatabaseDriver()to enableDatabaseLoader. Previously, no code bridged the kernel's database driver to theMetadataManager, leavingDatabaseLoaderunconfigured and metadata persistence limited to the filesystem only.- MetadataManager: register() no longer writes to FilesystemLoader —
register()now persists metadata only todatasource:protocol loaders (i.e.DatabaseLoader), skipping
... (truncated)
Commits
c3ff128Merge pull request #1123 from objectstack-ai/changeset-release/main22818f7chore: version packages3ffc893Merge pull request #1122 from objectstack-ai/copilot/fix-issue-with-recent-ch...75c5fdffix: replace pnpm/action-setup@v6 with corepack in all CI workflows to fix ER...ef5eb70initial plan for fixing CI lockfile issue7472801Merge pull request #1121 from objectstack-ai/copilot/update-framework-actionse6ca964fix: regenerate pnpm-lock.yaml to fix ERR_PNPM_BROKEN_LOCKFILE in CI22f0be4Merge pull request #1117 from objectstack-ai/claude/fix-broken-lockfile244e624Merge pull request #1119 from objectstack-ai/claude/create-skill-guide-hooks657500ffeat: add objectstack-hooks skill for third-party developers- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Technical Details
| ID: | 15431111 |
| UUID: | 4258136501 |
| Node ID: | PR_kwDOQ5b-o87SISyf |
| Host: | GitHub |
| Repository: | objectstack-ai/objectstack-starter |