- 326b66b: fix: studio CI test failures and metadata protocol mock handler improvements
- 5f659e9: fix ai
-
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.
- All adapters (Express, Fastify, Hono, NestJS, Next.js, Nuxt, SvelteKit) now mount the discovery endpoint at
-
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→limit
The old DataEngine* schemas and types are preserved with
@deprecatedmarkers for backward compatibility.
- AI Agent/Skill/Tool metadata protocol refactoring (aligned with Salesforce Agentforce, Microsoft Copilot Studio, ServiceNow Now Assist)
- Tool as first-class metadata (
src/ai/tool.zod.ts):ToolSchema,ToolCategorySchema,defineTool()factory. Fields: name, label, description, category, parameters (JSON Schema), outputSchema, objectName, requiresConfirmation, permissions, active, builtIn. - Skill as ability group (
src/ai/skill.zod.ts):SkillSchema,SkillTriggerConditionSchema,defineSkill()factory. Fields: name, label, description, instructions, tools (tool name references), triggerPhrases, triggerConditions, permissions, active. - Agent protocol updated: Added
skills: string[]for Agent→Skill→Tool architecture; existingtoolsretained as backward-compatible fallback. Addedpermissions: string[]for access control. - Metadata registry:
toolandskillregistered as first-class metadata types inMetadataTypeSchemaandDEFAULT_METADATA_TYPE_REGISTRY(domain:ai, filePatterns:**/*.tool.ts,**/*.skill.ts, etc.) - Exports:
defineTool,defineSkill,Tool,Skillexported from@objectstack/specroot and@objectstack/spec/aisubpath.
- Tool as first-class metadata (
-
46defbb: Fix filter operators (contains, notContains, startsWith, endsWith, between, null) broken across spec and memory driver
- Add
$notContainstoStringOperatorSchema,FieldOperatorsSchema,FILTER_OPERATORS, andFiltertype - Add
notcontains/not_containstoVALID_AST_OPERATORSandAST_OPERATOR_MAP - Fix memory driver
convertToMongoQuery()passthrough to normalize non-standard operators to Mingo-compatible format - Add
$notContainsand$nulloperators to memory matcher - Fix undefined value guard in memory matcher to exclude
$exists,$ne, and$null
- Add
- 850b546: Maintenance patch release
-
5901c29: feat: auto-merge actions into object metadata via objectName
- Added optional
objectNamefield toActionSchemafor associating actions with specific objects - Added optional
actionsfield toObjectSchemato hold object-scoped actions defineStack()andcomposeStacks()now auto-merge top-level actions withobjectNameinto their target object'sactionsarray- Added cross-reference validation for
action.objectNamereferencing undefined objects - Top-level
actionsarray is preserved for global access (platform overview, search) - Updated example apps (CRM, Todo) to use
objectNameon their action definitions
- Added optional
- 953d667: Add modal cross-reference validation, action handler examples, and action.mdx doc sync
- 0088830: Minor version release
- 92d9d99: Add auto-detect persistence strategy for memory driver: automatically selects localStorage (browser) or file system (Node.js) based on runtime environment
- d1e5d31: Fix UI protocol design issues
- 15e0df6: chore: unify all package versions to 3.0.8
- 5a968a2: Unify all package version numbers across the monorepo. All packages now share the same version and are released together via the changeset fixed group.
- 0119bd7: Implement DatabaseLoader for production metadata persistence
- 5426bdf: Migrate CLI architecture to oclif framework Improve chart
- 5df254c: Patch version release
- 23a4a68: Patch release for ObjectStack spec
- d738987: chore: patch release
- c7267f6: Patch release for maintenance updates and improvements.
-
28985f5: Breaking Change: Strict Validation Enabled by Default
defineStack()now validates configurations by default to enforce naming conventions and catch errors early.What Changed:
defineStack()now defaults tostrict: true(wasstrict: false)- Field names are now validated to ensure snake_case format
- Object names, field types, and all schema definitions are validated
Migration Guide:
If you have existing code that violates naming conventions:
// Before (would silently accept invalid names): defineStack({ manifest: {...}, objects: [{ name: 'my_object', fields: { firstName: { type: 'text' } // ❌ Invalid: camelCase } }] }); // After (will throw validation error): // Error: Field names must be lowercase snake_case // Fix: Use snake_case defineStack({ manifest: {...}, objects: [{ name: 'my_object', fields: { first_name: { type: 'text' } // ✅ Valid: snake_case } }] });
Temporary Workaround:
If you need to temporarily disable validation while fixing your code:
defineStack(config, { strict: false }); // Bypass validation
Why This Change:
- Catches Errors Early: Invalid field names caught during development, not runtime
- Enforces Conventions: Ensures consistent snake_case naming across all projects
- Prevents AI Hallucinations: AI-generated objects must follow proper conventions
- Database Compatibility: snake_case prevents case-sensitivity issues in queries
Impact:
- Projects with properly named fields (snake_case): ✅ No changes needed
- Projects with camelCase/PascalCase fields:
⚠️ Must update field names or usestrict: false
- 389725a: Fix build and test stability improvements
- Release v3.0.0 — unified version bump for all ObjectStack packages.
-
Modularized kernel/events.zod.ts into 6 focused sub-modules for better tree-shaking and maintainability:
- events/core.zod.ts: Priority, metadata, type definition, base event
- events/handlers.zod.ts: Event handlers, routes, persistence
- events/queue.zod.ts: Queue config, replay, sourcing
- events/dlq.zod.ts: Dead letter queue, event log entries
- events/integrations.zod.ts: Webhooks, message queues, notifications
- events/bus.zod.ts: Complete event bus config and helpers
kernel/events.zod.ts now re-exports from sub-modules (backward compatible). Created v3.0 migration guide.
- Patch release for maintenance and stability improvements
- Unify all package versions with a patch release
- Patch release for maintenance and stability improvements
- Patch release for maintenance and stability improvements
-
1db8559: chore: exclude generated json-schema from git tracking
- Add
packages/spec/json-schema/to.gitignore(1277 generated files, 5MB) - JSON schema files are still generated during
pnpm buildand included in npm publish viafilesfield - Fix studio module resolution logic for better compatibility
- Add
- Patch release for maintenance and stability improvements
- 38e5dd5: feat: Studio DX, REST extraction, Dispatcher plugin
- 38e5dd5: test minor bump
- chore: add Vercel deployment configs, simplify console runtime configuration
- a7f7b9d: fix(data): add missing expand, top, having, distinct fields to QuerySchema for OData/ObjectQL compatibility
- b1d24bd: refactor: migrate build system from tsc to tsup for faster builds
- Replaced
tscwithtsup(using esbuild) across all packages - Added shared
tsup.config.tsin workspace root - Added
tsupas workspace dev dependency - significantly improved build performance
- Replaced
-
a0a6c85: Infrastructure and development tooling improvements
- Add changeset configuration for automated version management
- Add comprehensive GitHub Actions workflows (CI, CodeQL, linting, releases)
- Add development configuration files (.cursorrules, .github/prompts)
- Add documentation files (ARCHITECTURE.md, CONTRIBUTING.md, workflows docs)
- Update test script configuration in package.json
- Add @objectstack/cli to devDependencies for better development experience
-
109fc5b: Unified patch release to align all package versions.
- Major version release for ObjectStack Protocol v1.0.
- Stabilized Protocol Definitions
- Enhanced Runtime Plugin Support
- Fixed Type Compliance across Monorepo
- Refactor documentation architecture and terminology (Data/System/UI Protocols).
- Patch release for maintenance and stability improvements. All packages updated with unified versioning.
-
555e6a7: Refactor: Deprecated View Storage protocol in favor of Metadata Views.
- BREAKING: Removed
view-storage.zod.tsandViewStoragerelated types from@objectstack/spec. - BREAKING: Removed
createView,updateView,deleteView,listViewsfromObjectStackProtocolinterface. - BREAKING: Removed in-memory View Storage implementation from
@objectstack/objectql. - UPDATE:
@objectstack/plugin-mswnow dynamically loads@objectstack/objectqlto avoid hard dependencies.
- BREAKING: Removed
-
This release includes a major upgrade to the core validation engine (Zod v4) and aligns all protocol definitions with stricter type safety.
- fb41cc0: Patch release: Updated documentation and JSON schemas
- Patch release for maintenance and stability improvements
- Patch release for maintenance and stability improvements
-
b2df5f7: Unified version bump to 0.5.0
- Standardized all package versions to 0.5.0 across the monorepo
- Fixed driver-memory package.json paths for proper module resolution
- Ensured all packages are in sync for the 0.5.0 release
- Unify all package versions to 0.4.2
-
Version synchronization and dependency updates
- Synchronized plugin-msw version to 0.4.1
- Updated runtime peer dependency versions to ^0.4.1
- Fixed internal dependency version mismatches
- Release version 0.4.0
-
Workflow and configuration improvements
- Enhanced GitHub workflows for CI, release, and PR automation
- Added comprehensive prompt templates for different protocol areas
- Improved project documentation and automation guides
- Updated changeset configuration
- Added cursor rules for better development experience
- Patch release for maintenance and stability improvements
-
Documentation and project structure improvements
- Comprehensive documentation structure with CONTRIBUTING.md
- Documentation hub at docs/README.md
- Standards documentation (naming-conventions, api-design, error-handling)
- Architecture deep dives (data-layer, ui-layer, system-layer)
- Code of Conduct
- Enhanced documentation organization following industry best practices
-
Initial release of ObjectStack Protocol & Specification packages
This is the first public release of the ObjectStack ecosystem, providing:
- Core protocol definitions and TypeScript types
- ObjectQL query language and runtime
- Memory driver for in-memory data storage
- Client library for interacting with ObjectStack
- Hono server plugin for REST API endpoints
- Complete JSON schema generation for all specifications
- Remove debug logs from registry and protocol modules
- b58a0ef: Initial release of ObjectStack Protocol & Specification.