diff --git a/ROADMAP.md b/ROADMAP.md index 97e24f48dd..978be57655 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # ObjectStack Protocol โ€” Road Map -> **Last Updated:** 2026-02-18 +> **Last Updated:** 2026-02-21 > **Current Version:** v3.0.6 > **Status:** Protocol Specification Complete ยท Runtime Implementation In Progress @@ -10,12 +10,13 @@ - [Current State Summary](#current-state-summary) - [Codebase Metrics](#codebase-metrics) +- [๐ŸŽฏ Priority Roadmap โ€” February 2026](#-priority-roadmap--february-2026) - [Package Naming Convention](#package-naming-convention) - [Phase 1: Protocol Specification (โœ… Complete)](#phase-1-protocol-specification--complete) - [Phase 2: Core Runtime (โœ… Complete)](#phase-2-core-runtime--complete) - [Phase 3: Data Layer (๐ŸŸก Mostly Complete)](#phase-3-data-layer--mostly-complete) - [Phase 4: Service Implementations (๐Ÿ”ด In Progress)](#phase-4-service-implementations--in-progress) -- [Phase 5: Framework Adapters (๐ŸŸก Mostly Complete)](#phase-5-framework-adapters--mostly-complete) +- [Phase 5: Framework Adapters (โœ… Complete)](#phase-5-framework-adapters--complete) - [Phase 6: Enterprise Services (๐Ÿ”ด Planned)](#phase-6-enterprise-services--planned) - [Phase 7: AI & Intelligence (๐Ÿ”ด Planned)](#phase-7-ai--intelligence--planned) - [Phase 8: Platform & Ecosystem (๐Ÿ”ด Planned)](#phase-8-platform--ecosystem--planned) @@ -104,6 +105,108 @@ This strategy ensures rapid iteration while maintaining a clear path to producti --- +## ๐ŸŽฏ Priority Roadmap โ€” February 2026 + +> **Goal:** Prioritize APIs and client capabilities needed by [ObjectUI](https://github.com/objectstack-ai/objectui/blob/main/ROADMAP.md) frontend development. +> **Target:** v3.1 protocol to fill core platform gaps. +> **Updated:** 2026-02-21 +> **Owner:** @hotlong + +### 1. Comments & Collaboration API for ObjectUI + +Support record comments, @mention, activity feed, and changelog for the ObjectUI frontend. + +| Item | Status | Location | +|:---|:---:|:---| +| Feed CRUD schema (create/list/update/delete) | โœ… | `api/feed-api.zod.ts` | +| Feed item types (comment, field_change, task, note, file, etc.) | โœ… | `data/feed.zod.ts` (13 types) | +| @mention support | โœ… | `data/feed.zod.ts` โ†’ `MentionSchema` | +| Threaded replies (parentId) | โœ… | `data/feed.zod.ts` โ†’ `parentId` | +| Emoji reactions (add/remove with counts) | โœ… | `api/feed-api.zod.ts` | +| Record subscriptions (notification channels) | โœ… | `api/feed-api.zod.ts` | +| Real-time collaboration (OT/CRDT) | โœ… | `system/collaboration.zod.ts` | +| `IFeedService` contract | โœ… | `contracts/feed-service.ts` | +| `service-feed` in-memory implementation | โœ… | `@objectstack/service-feed` (40 tests) | +| Pin/star comments | ๐Ÿ”ด | Not yet specified | +| Comment notification integration with `INotificationService` | ๐Ÿ”ด | `service-notification` not implemented | +| Activity feed search/filter endpoint | ๐Ÿ”ด | Not yet specified | +| Changelog (field-level audit trail) endpoint | ๐ŸŸก | `FieldChangeSchema` exists; dedicated API pending | + +### 2. Automation Persistence & Scheduling Specs + +Multi-stage triggers, action pipelines, execution logs, and cron scheduling standards. + +| Item | Status | Location | +|:---|:---:|:---| +| Flow orchestration (14 node types) | โœ… | `automation/flow.zod.ts` | +| Trigger registry (record, field, webhook) | โœ… | `automation/trigger-registry.zod.ts` | +| Cron scheduling expression | โœ… | `automation/etl.zod.ts`, `automation/webhook.zod.ts` | +| Action pipeline (webhook, email, CRUD, notification) | โœ… | `automation/flow.zod.ts` (HTTP, CRUD, script nodes) | +| State machine & approval processes | โœ… | `automation/state-machine.zod.ts`, `automation/workflow.zod.ts` | +| Retry policies with exponential backoff | โœ… | `automation/webhook.zod.ts` | +| `IAutomationService` contract | โœ… | `contracts/automation-service.ts` | +| `service-automation` DAG engine (MVP) | โœ… | `@objectstack/service-automation` (27 tests) | +| Execution log/history storage protocol | ๐Ÿ”ด | No dedicated `ExecutionLogSchema`; only string arrays in results | +| Execution error tracking & diagnostics | ๐Ÿ”ด | Not yet specified | +| Conflict resolution for concurrent executions | ๐Ÿ”ด | Not yet specified | +| Checkpointing/resume for interrupted flows | ๐Ÿ”ด | Not yet specified | +| Scheduled execution persistence (next-run, pause/resume) | ๐Ÿ”ด | Limited to cron strings; no runtime state tracking | + +### 3. File Direct Upload & Resumable Upload Protocol + +CloudFile / PresignedUrl schema supporting S3/Azure/GCS direct-to-cloud file uploads. + +| Item | Status | Location | +|:---|:---:|:---| +| Presigned URL generation (upload/download) | โœ… | `api/storage.zod.ts` | +| Multi-provider support (S3, Azure, GCS, MinIO, R2, etc.) | โœ… | `system/object-storage.zod.ts` | +| Multipart upload configuration | โœ… | `system/object-storage.zod.ts` (chunk size 5MBโ€“5GB) | +| Storage lifecycle policies (transition/expiration) | โœ… | `system/object-storage.zod.ts` | +| Bucket encryption & CORS | โœ… | `system/object-storage.zod.ts` | +| `IStorageService` contract | โœ… | `contracts/storage-service.ts` | +| `service-storage` local FS + S3 skeleton | โœ… | `@objectstack/service-storage` (8 tests) | +| Chunked upload with resume token | ๐Ÿ”ด | No resume token for interrupted uploads | +| Upload progress tracking protocol | ๐Ÿ”ด | Not yet specified | +| Mobile / file picker / browser fallback | ๐Ÿ”ด | Not yet specified | +| File type whitelist/blacklist validation | ๐Ÿ”ด | Not yet specified | + +### 4. Streaming Data Export & Batch Operation Optimization + +Cursor/Pagination protocol for large-scale data import/export with template-based mapping. + +| Item | Status | Location | +|:---|:---:|:---| +| Batch CRUD (create/update/upsert/delete, max 200) | โœ… | `api/batch.zod.ts` | +| Atomic transactions & dry-run validation | โœ… | `api/batch.zod.ts` | +| Cursor-based & offset pagination | โœ… | `data/query.zod.ts` | +| Import mapping configuration | โœ… | `data/mapping.zod.ts` | +| Dataset import mode | โœ… | `data/dataset.zod.ts` | +| Full query & filter language | โœ… | `data/filter.zod.ts` | +| Streaming/chunked export endpoint (CSV/JSON/Excel) | ๐Ÿ”ด | Not yet specified | +| Import validation & deduplication | ๐Ÿ”ด | Not yet specified | +| Template-based field mapping for import/export | ๐Ÿ”ด | Mapping schema exists; no template registry | +| Scheduled export jobs & status query | ๐Ÿ”ด | Not yet specified | +| Export job progress & download URL | ๐Ÿ”ด | Not yet specified | + +### 5. API Capability Declaration & Service Discovery + +Strengthen discovery capabilities for frontend intelligent adaptation. + +| Item | Status | Location | +|:---|:---:|:---| +| Per-service status reporting (available/degraded/stub) | โœ… | `api/discovery.zod.ts` | +| Dynamic API route mapping | โœ… | `api/discovery.zod.ts` โ†’ `ApiRoutesSchema` | +| Localization info (locale, timezone) | โœ… | `api/discovery.zod.ts` | +| Custom metadata extensions | โœ… | `api/discovery.zod.ts` | +| Capabilities declaration (comments, automation, search, cron, files, analytics) | ๐Ÿ”ด | No hierarchical capability descriptors | +| Per-service version info | ๐Ÿ”ด | Not yet specified | +| Rate limit & quota disclosure | ๐Ÿ”ด | Not yet specified | +| OpenAPI/GraphQL schema discovery endpoint | ๐Ÿ”ด | Not yet specified | + +> **Recommendation:** Sync this roadmap with ObjectUI / client / runner / console and prioritize v3.1 protocol to fill core platform gaps. + +--- + ## Package Naming Convention > **Adopted:** 2026-02-15 @@ -169,9 +272,11 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow ## Phase 1: Protocol Specification (โœ… Complete) -> **Goal:** Define every schema, type, and contract as a Zod-first source of truth. +> **Goal:** Define every schema, type, and contract as a Zod-first source of truth. +> **Result:** 175 Zod schemas, 25 service contracts, 7,111+ `.describe()` annotations across 15 protocol domains. -### Deliverables โ€” All Completed +
+Deliverables โ€” All Completed (click to expand) - [x] **Data Protocol** โ€” Object, Field (35+ types), Query, Filter, Validation, Hook, Datasource, Dataset, Analytics, Document, Storage Name Mapping (`tableName`/`columnName`), Feed & Activity Timeline (FeedItem, Comment, Mention, Reaction, FieldChange), Record Subscription (notification channels) - [x] **Driver Specifications** โ€” Memory, PostgreSQL, MongoDB driver schemas + SQL/NoSQL abstractions @@ -193,13 +298,17 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow - [x] **Error Map** โ€” Custom Zod error messages with `objectStackErrorMap` - [x] **DX Utilities** โ€” `safeParsePretty()`, `formatZodError()`, `suggestFieldType()` +
+ --- ## Phase 2: Core Runtime (โœ… Complete) -> **Goal:** Build the microkernel, plugin system, and service infrastructure. +> **Goal:** Build the microkernel, plugin system, and service infrastructure. +> **Result:** ObjectKernel + LiteKernel with full plugin lifecycle, service registry, security, and hot-reload. -### Deliverables โ€” All Completed +
+Deliverables โ€” All Completed (click to expand) - [x] **ObjectKernel** โ€” Full-featured async kernel with dependency resolution, rollback, health monitoring - [x] **LiteKernel** โ€” Lightweight sync kernel for serverless/test environments @@ -213,6 +322,8 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow - [x] **Security** โ€” Permission manager, plugin permission enforcer, config validator, signature verifier, sandbox runtime, security scanner - [x] **QA Module** โ€” Testing adapter, HTTP adapter, test runner +
+ --- ## Phase 3: Data Layer (๐ŸŸก Mostly Complete) @@ -336,9 +447,11 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow ## Phase 5: Framework Adapters (โœ… Complete) -> **Goal:** First-class integration with popular web frameworks. +> **Goal:** First-class integration with popular web frameworks. +> **Result:** 9 framework adapters โ€” Next.js, NestJS, Hono, Express, Fastify, SvelteKit, Nuxt, plus Server Actions and Hono Server Plugin. -### Completed +
+Deliverables โ€” All Completed (click to expand) - [x] **Next.js Adapter** โ€” App Router, Auth/GraphQL/Meta/Data/Storage handlers (10/10) - [x] **NestJS Adapter** โ€” Full DI module, Express/Fastify support (10/10) @@ -350,6 +463,8 @@ business/custom objects, aligning with industry best practices (e.g., ServiceNow - [x] **SvelteKit Adapter** โ€” Web-standard Request/Response based handler for SvelteKit routes - [x] **Nuxt Adapter** โ€” h3 router integration for Nuxt server routes +
+ --- ## Phase 6: Enterprise Services (๐Ÿ”ด Planned) @@ -665,9 +780,9 @@ Final polish and advanced features. | Version | Target | Focus | |:---|:---|:---| | **v3.0** | โœ… Shipped | Protocol specification complete, core runtime stable | -| **v3.1** | Q2 2026 | Essential services (`service-cache`, `service-queue`, `service-job`, `service-storage`), PostgreSQL driver, Turso/libSQL core driver ([design](docs/design/driver-turso.md)) | -| **v3.2** | Q3 2026 | Communication services (`service-realtime`, `service-graphql`, `service-i18n`, `service-notification`), Turso embedded replica & edge sync, UI Protocol Enhancement Phase A (`RecordReviewConfig`, content elements) โ€” see [gap analysis](docs/design/airtable-interface-gap-analysis.md) | -| **v3.3** | Q4 2026 | Business logic services (`service-automation`, `service-workflow`, `service-search`), Turso multi-tenancy (database-per-tenant), UI Protocol Enhancement Phase B spec โœ… complete (interactive elements, blank page layout), Studio Page Builder runtime, Visual Design UX optimization ([plan](docs/design/visual-design-ux-optimization.md)) | +| **v3.1** | Q2 2026 | **ObjectUI Priority:** Comments & Collaboration API, Automation persistence/scheduling, File upload protocol, Data export/batch, API discovery capabilities; Essential services (`service-cache`, `service-queue`, `service-job`, `service-storage`), PostgreSQL driver, Turso/libSQL core driver ([design](docs/design/driver-turso.md)) | +| **v3.2** | Q3 2026 | Communication services (`service-graphql`, `service-notification`), Turso embedded replica & edge sync, Streaming export & scheduled jobs | +| **v3.3** | Q4 2026 | Business logic services (`service-workflow`, `service-search`), Turso multi-tenancy (database-per-tenant), Studio Page Builder runtime, Visual Design UX optimization ([plan](docs/design/visual-design-ux-optimization.md)) | | **v4.0** | Q1 2027 | Zod v4 migration, `plugin-auth` โ†’ `service-auth` rename, JSON Schema output, OpenAPI generation, AI services, multi-tenancy, Turso vector search & FTS5 integration, UI Protocol Enhancement Phase C spec ๐ŸŸก mostly complete (sharing, embedding), `previewAs` design-time preview, Data Studio protocol, runtime share/embed services | | **v4.1** | Q2 2027 | Studio IDE general availability, marketplace launch, UI Protocol Enhancement Phase D (templates, versioning, collaborative editing), Page Builder enhancements (selection model, clipboard, alignment) | | **v5.0** | 2027+ | Managed cloud, app store, global ecosystem |