From 1fa64f80c168331d1f1c575f0cdedc86270d5b46 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 09:53:34 +0000 Subject: [PATCH 1/7] Initial plan From 02fb21ef03ddb2135e0ff642bb4f91d538a38b5b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 09:57:36 +0000 Subject: [PATCH 2/7] Update ARCHITECTURE.md and field-types.mdx with latest Zod schemas Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- ARCHITECTURE.md | 33 +++++++++------- content/docs/guides/field-types.mdx | 58 ++++++++++++++++++++++++++++- 2 files changed, 77 insertions(+), 14 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index a5fe7a225..b77a98999 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -69,9 +69,10 @@ │ ├── workflow.zod.ts → State machine, transitions │ ├── flow.zod.ts → Visual flow automation │ ├── query.zod.ts → AST for queries (filter, sort, join) +│ ├── filter.zod.ts → Query filter conditions │ ├── dataset.zod.ts → Virtual datasets │ ├── mapping.zod.ts → ETL transformations -│ └── trigger.zod.ts → [MISSING] Trigger context +│ └── trigger.zod.ts → Trigger context │ ├── UI Protocol (ObjectUI) │ ├── app.zod.ts → App structure, navigation tree @@ -80,8 +81,8 @@ │ ├── report.zod.ts → Report types, grouping │ ├── action.zod.ts → Button actions, navigation │ ├── page.zod.ts → FlexiPage regions, components -│ ├── theme.zod.ts → [MISSING] Color, typography, spacing -│ └── widget.zod.ts → [MISSING] Custom field components +│ ├── theme.zod.ts → Color, typography, spacing +│ └── widget.zod.ts → Custom field components │ ├── System Protocol (ObjectOS) │ ├── manifest.zod.ts → Package definition (objectstack.config.ts) @@ -95,18 +96,24 @@ │ ├── webhook.zod.ts → HTTP callbacks │ ├── translation.zod.ts → i18n definitions │ ├── discovery.zod.ts → Metadata introspection -│ ├── plugin.zod.ts → [MISSING] Plugin lifecycle -│ ├── driver.zod.ts → [MISSING] Database driver interface -│ ├── marketplace.zod.ts → [PLANNED] App store metadata -│ ├── tenant.zod.ts → [PLANNED] Multi-tenancy -│ ├── events.zod.ts → [PLANNED] Event bus -│ └── realtime.zod.ts → [PLANNED] WebSocket sync +│ ├── plugin.zod.ts → Plugin lifecycle +│ ├── driver.zod.ts → Database driver interface +│ ├── tenant.zod.ts → Multi-tenancy +│ ├── events.zod.ts → Event bus +│ ├── realtime.zod.ts → WebSocket sync +│ ├── organization.zod.ts → Organization management +│ ├── audit.zod.ts → Audit logging +│ └── job.zod.ts → Background jobs │ ├── AI Protocol -│ ├── agent.zod.ts → AI agent configuration -│ ├── model.zod.ts → [PLANNED] LLM registry -│ ├── rag.zod.ts → [PLANNED] RAG pipeline -│ └── nlq.zod.ts → [PLANNED] Natural language query +│ ├── agent.zod.ts → AI agent configuration +│ ├── model-registry.zod.ts → LLM registry +│ ├── rag-pipeline.zod.ts → RAG pipeline +│ ├── nlq.zod.ts → Natural language query +│ ├── conversation.zod.ts → Conversation management +│ ├── cost.zod.ts → AI cost tracking +│ ├── predictive.zod.ts → Predictive analytics +│ └── workflow-automation.zod.ts → AI workflow automation │ └── API Protocol └── contract.zod.ts → Request/response envelopes diff --git a/content/docs/guides/field-types.mdx b/content/docs/guides/field-types.mdx index 2f1edd4be..1b530e276 100644 --- a/content/docs/guides/field-types.mdx +++ b/content/docs/guides/field-types.mdx @@ -6,7 +6,7 @@ description: Complete guide to all ObjectStack field types with examples and con # Field Types Reference -ObjectStack supports **30+ field types** covering text, numbers, dates, selections, relationships, media, calculations, and enhanced types. This guide provides practical examples for each type. +ObjectStack supports **35 field types** covering text, numbers, dates, selections, relationships, media, calculations, and enhanced types. This guide provides practical examples for each type. ## Core Text Fields @@ -524,6 +524,8 @@ coordinates: Field.location({ }) ``` +> **Note:** `geolocation` is an alternative name for the `location` field type. Both refer to the same GPS coordinate field. + **Data Structure:** ```typescript { @@ -638,6 +640,60 @@ customer_signature: Field.signature({ --- +### Slider +Numeric slider for visual value selection. + +```typescript +volume: Field.slider({ + label: 'Volume Level', + min: 0, + max: 100, + step: 1, + defaultValue: 50, +}) + +price_range: Field.slider({ + label: 'Price Range', + min: 0, + max: 10000, + step: 100, + marks: { 0: '$0', 5000: '$5K', 10000: '$10K' }, +}) +``` + +**Configuration:** +- `min` - Minimum value +- `max` - Maximum value +- `step` - Increment step size +- `marks` - Optional labeled markers on the slider + +--- + +### QR Code +QR code / Barcode field for scanning and generation. + +```typescript +product_barcode: Field.qrcode({ + label: 'Product Barcode', + format: 'qr', // 'qr', 'barcode', 'ean13', 'code128' + readonly: false, +}) + +ticket_code: Field.qrcode({ + label: 'Event Ticket', + format: 'qr', + autoGenerate: true, // Generate on record creation +}) +``` + +**Supported Formats:** +- `qr` - QR Code +- `barcode` - Standard barcode +- `ean13` - EAN-13 barcode +- `code128` - Code 128 barcode + +--- + ## Field Configuration Reference ### Common Properties From 3841ffa8e33cf76a83ab5d03a535ab4a850cdfcf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 09:59:07 +0000 Subject: [PATCH 3/7] Update README and getting-started guides with current field type count Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- README.md | 16 +++++++++++----- content/docs/guides/field-types.cn.mdx | 2 +- content/docs/guides/getting-started.cn.mdx | 2 +- content/docs/guides/getting-started.mdx | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e338c3bd5..c6ec0b20a 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ The ObjectStack Protocol (`@objectstack/spec`) is divided into five core modules ### 1. Data Protocol (ObjectQL) Defines the "Shape of Data" and business logic. -- **Schema:** Objects, Fields (23+ types including text, number, select, lookup, formula, autonumber, etc.) +- **Schema:** Objects, Fields (35 types including text, number, select, lookup, formula, autonumber, slider, qrcode, etc.) - **Logic:** Workflows, Triggers, Validation Rules, Formulas - **Security:** Permissions, Sharing Rules - **Query:** Abstract Syntax Tree (AST) for unified data access across drivers @@ -73,22 +73,28 @@ Defines the "Shape of Interaction" for rendering interfaces. - **Analytics:** Reports (Tabular, Summary, Matrix), Dashboards with widgets - **Actions:** Script, URL, Modal, Flow-triggered actions - **Theming:** Color palettes, typography, breakpoints, animations +- **Widgets:** Custom field components ### 3. System Protocol (ObjectOS) Defines the "Runtime Environment" and platform capabilities. - **Manifest:** Application packaging (`objectstack.config.ts`) -- **Identity:** Authentication, Roles, Territories, Licenses +- **Identity:** Authentication, Roles, Territories, Licenses, Organizations - **Integration:** Webhooks, API contracts, ETL Mappings - **Datasource:** Driver definitions for SQL, NoSQL, SaaS connectors - **Discovery:** Plugin discovery and loading mechanisms - **I18n:** Translation and internationalization support +- **Platform:** Events, Real-time sync, Audit logging, Background jobs, Multi-tenancy ### 4. AI Protocol Defines AI agent integration capabilities. - **Agent:** AI agent definitions and configurations -- **Tools:** AI tool integrations -- **Knowledge:** Knowledge base structures -- **Models:** AI model configurations +- **Model Registry:** LLM registry and selection +- **RAG Pipeline:** Retrieval-augmented generation +- **NLQ:** Natural language query processing +- **Conversation:** Conversation management and memory +- **Cost Tracking:** AI cost tracking and budget management +- **Predictive:** Predictive analytics models +- **Workflow Automation:** AI-powered workflow automation ### 5. API Protocol Defines standardized API contracts. diff --git a/content/docs/guides/field-types.cn.mdx b/content/docs/guides/field-types.cn.mdx index 3e9436b23..2f90e4668 100644 --- a/content/docs/guides/field-types.cn.mdx +++ b/content/docs/guides/field-types.cn.mdx @@ -6,7 +6,7 @@ description: ObjectStack 所有字段类型的完整指南,包含示例和配 # 字段类型参考 -ObjectStack 支持 **30+ 种字段类型**,涵盖文本、数字、日期、选择、关联、媒体、计算和增强类型。本指南为每种类型提供实用示例。 +ObjectStack 支持 **35 种字段类型**,涵盖文本、数字、日期、选择、关联、媒体、计算和增强类型。本指南为每种类型提供实用示例。 ## 核心文本字段 diff --git a/content/docs/guides/getting-started.cn.mdx b/content/docs/guides/getting-started.cn.mdx index e3da5bce4..26771d352 100644 --- a/content/docs/guides/getting-started.cn.mdx +++ b/content/docs/guides/getting-started.cn.mdx @@ -276,7 +276,7 @@ views: { 现在你有了有效的元数据,你可以: 1. **探索示例**:查看 [CRM 示例](https://github.com/objectstack-ai/spec/tree/main/examples/crm) 了解完整功能实现 -2. **学习字段类型**:参见 [字段类型指南](/docs/guides/field-types) 了解所有 30+ 种字段类型 +2. **学习字段类型**:参见 [字段类型指南](/docs/guides/field-types) 了解所有 35 种字段类型 3. **构建 UI**:使用 ObjectStack 运行时的元数据来生成界面 4. **部署**:推送到 ObjectStack 内核用于生产环境 diff --git a/content/docs/guides/getting-started.mdx b/content/docs/guides/getting-started.mdx index 9b042dc0a..92cadb420 100644 --- a/content/docs/guides/getting-started.mdx +++ b/content/docs/guides/getting-started.mdx @@ -276,7 +276,7 @@ views: { Now that you have valid metadata, you can: 1. **Explore Examples**: Check out the [CRM Example](https://github.com/objectstack-ai/spec/tree/main/examples/crm) for a full-featured implementation -2. **Learn Field Types**: See the [Field Types Guide](/docs/guides/field-types) for all 30+ field types +2. **Learn Field Types**: See the [Field Types Guide](/docs/guides/field-types) for all 35 field types 3. **Build UI**: Use the metadata with ObjectStack runtime to generate interfaces 4. **Deploy**: Push to an ObjectStack kernel for production use From d6fde71e3ff5e208a807b4a38aeb967cc7b3a2f6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:00:41 +0000 Subject: [PATCH 4/7] Update architecture specs, tutorials, and quick-start docs with current field type count Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- content/docs/index.cn.mdx | 2 +- content/docs/quick-start/backend-developers.mdx | 2 +- content/docs/specifications/architecture/data-layer.mdx | 9 +++++---- content/docs/specifications/architecture/index.mdx | 2 +- content/docs/tutorials.mdx | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/content/docs/index.cn.mdx b/content/docs/index.cn.mdx index 45b4f4f5b..e2058a915 100644 --- a/content/docs/index.cn.mdx +++ b/content/docs/index.cn.mdx @@ -42,7 +42,7 @@ import { Book, Compass, FileText, Layers } from 'lucide-react'; ## 快速链接 ### 基础指南 -- **[字段类型](/docs/guides/field-types)** - 30+ 种字段类型及示例(文本、数字、选择、查找、公式等) +- **[字段类型](/docs/guides/field-types)** - 35 种字段类型及示例(文本、数字、选择、查找、公式等) - **[视图配置](/docs/guides/view-configuration)** - 网格、看板、日历、甘特图和表单布局 - **[工作流与验证](/docs/guides/workflows-validation)** - 业务规则和自动化 - **[项目结构](/docs/guides/project-structure)** - 组织代码的最佳实践 diff --git a/content/docs/quick-start/backend-developers.mdx b/content/docs/quick-start/backend-developers.mdx index 5c907d51b..ed6a8b6e2 100644 --- a/content/docs/quick-start/backend-developers.mdx +++ b/content/docs/quick-start/backend-developers.mdx @@ -77,7 +77,7 @@ export const Task = ObjectSchema.create({ ## Field Types You Know and Love -ObjectStack provides **23+ field types** with automatic validation: +ObjectStack provides **35 field types** with automatic validation: | ObjectStack Type | Similar To | Features | | :--- | :--- | :--- | diff --git a/content/docs/specifications/architecture/data-layer.mdx b/content/docs/specifications/architecture/data-layer.mdx index 82d3ba4ee..3f84ce986 100644 --- a/content/docs/specifications/architecture/data-layer.mdx +++ b/content/docs/specifications/architecture/data-layer.mdx @@ -29,12 +29,13 @@ const CustomerAccount = { ``` #### Field Schema -Defines data properties with 25+ types: +Defines data properties with 35 types: - **Basic**: text, textarea, number, boolean, date, datetime -- **Advanced**: lookup, formula, rollup, autonumber -- **Rich**: email, phone, url, currency, percent -- **Complex**: address, geolocation, file, image +- **Advanced**: lookup, master_detail, formula, summary, autonumber +- **Rich**: email, phone, url, currency, percent, markdown, html, richtext +- **Complex**: address, location, geolocation, file, image, avatar +- **Enhanced**: code, color, rating, slider, signature, qrcode ### 2. Query Protocol (`src/data/query/`) diff --git a/content/docs/specifications/architecture/index.mdx b/content/docs/specifications/architecture/index.mdx index 57d5d43da..59953818d 100644 --- a/content/docs/specifications/architecture/index.mdx +++ b/content/docs/specifications/architecture/index.mdx @@ -11,7 +11,7 @@ The ObjectStack Protocol is built on three core layers that work together to pro ### [Data Layer (ObjectQL)](/docs/specifications/architecture/data-layer) The Data Layer defines the "Shape of Data" and business logic. It includes: -- **Schema**: Objects and Fields with 23+ field types +- **Schema**: Objects and Fields with 35 field types - **Logic**: Workflows, Triggers, Validation Rules, Formulas - **Security**: Permissions and Sharing Rules - **Query**: Abstract Syntax Tree (AST) for unified data access diff --git a/content/docs/tutorials.mdx b/content/docs/tutorials.mdx index f8c08031d..00eadbafc 100644 --- a/content/docs/tutorials.mdx +++ b/content/docs/tutorials.mdx @@ -33,7 +33,7 @@ Learn ObjectStack through practical, hands-on tutorials. Each tutorial is design Date: Sat, 24 Jan 2026 10:03:03 +0000 Subject: [PATCH 5/7] Final updates: index pages, release notes, and planning docs with current field count Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- RELEASE_NOTES.md | 2 +- content/docs/index.mdx | 2 +- content/docs/quick-start/backend-developers.mdx | 2 +- internal/planning/DEVELOPMENT_ROADMAP.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index e45232114..2cec23cb2 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -52,7 +52,7 @@ This is the first public release of the ObjectStack ecosystem, providing: ### Core Capabilities - **Data Protocol (ObjectQL)**: Complete schema definitions for Objects and Fields - - 23+ field types (text, number, select, lookup, formula, autonumber, etc.) + - 35 field types (text, number, select, lookup, formula, autonumber, slider, qrcode, etc.) - Validation rules, workflows, and triggers - Permission system and sharing rules - Abstract query language for unified data access diff --git a/content/docs/index.mdx b/content/docs/index.mdx index ce9d5a8a0..618114453 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -71,7 +71,7 @@ This documentation is the authoritative reference for the ObjectStack Protocol. ## Quick Links ### Essential Guides -- **[Field Types](/docs/guides/field-types)** - 30+ field types with examples (text, number, select, lookup, formula, etc.) +- **[Field Types](/docs/guides/field-types)** - 35 field types with examples (text, number, select, lookup, formula, etc.) - **[View Configuration](/docs/guides/view-configuration)** - Grid, Kanban, Calendar, Gantt, and Form layouts - **[Workflows & Validation](/docs/guides/workflows-validation)** - Business rules and automation - **[Project Structure](/docs/guides/project-structure)** - Best practices for organizing your code diff --git a/content/docs/quick-start/backend-developers.mdx b/content/docs/quick-start/backend-developers.mdx index ed6a8b6e2..e813af171 100644 --- a/content/docs/quick-start/backend-developers.mdx +++ b/content/docs/quick-start/backend-developers.mdx @@ -367,7 +367,7 @@ describe('Task Object', () => { Date: Sat, 24 Jan 2026 10:04:01 +0000 Subject: [PATCH 6/7] Update GitHub prompt files with current field type count Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- .github/prompts/data-protocol.prompt.md | 2 +- .github/prompts/documentation-writer.prompt.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/prompts/data-protocol.prompt.md b/.github/prompts/data-protocol.prompt.md index 2c8d92f62..cc4685dc3 100644 --- a/.github/prompts/data-protocol.prompt.md +++ b/.github/prompts/data-protocol.prompt.md @@ -345,7 +345,7 @@ export type Main = z.infer; ## Interaction Commands When user says: -- **"Create Field Protocol"** → Implement complete `field.zod.ts` with all 23+ field types +- **"Create Field Protocol"** → Implement complete `field.zod.ts` with all 35 field types - **"Create Object Protocol"** → Implement `object.zod.ts` with fields, capabilities, indexes - **"Create Validation Rules"** → Implement `validation.zod.ts` with rule engine - **"Create Permission System"** → Implement `permission.zod.ts` with CRUD + field-level security diff --git a/.github/prompts/documentation-writer.prompt.md b/.github/prompts/documentation-writer.prompt.md index 57a6f4baf..bd59d265f 100644 --- a/.github/prompts/documentation-writer.prompt.md +++ b/.github/prompts/documentation-writer.prompt.md @@ -80,7 +80,7 @@ a single property or column in an Object (table). ## Field Types -ObjectStack supports 23+ field types, organized into categories: +ObjectStack supports 35 field types, organized into categories: ### Text Fields - **text**: Single-line text (max 255 characters) From 289113558a40be6c2f85208ceeaf2d4f9c83e189 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:05:15 +0000 Subject: [PATCH 7/7] Address code review feedback: clarify geolocation alias and add QR code format descriptions Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com> --- content/docs/guides/field-types.mdx | 14 ++++++++++---- .../specifications/architecture/data-layer.mdx | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/content/docs/guides/field-types.mdx b/content/docs/guides/field-types.mdx index 1b530e276..b90a58d90 100644 --- a/content/docs/guides/field-types.mdx +++ b/content/docs/guides/field-types.mdx @@ -687,10 +687,16 @@ ticket_code: Field.qrcode({ ``` **Supported Formats:** -- `qr` - QR Code -- `barcode` - Standard barcode -- `ean13` - EAN-13 barcode -- `code128` - Code 128 barcode +- `qr` - QR Code (2D matrix barcode, best for URLs, text, and complex data) +- `barcode` - Standard 1D barcode (linear format for simple numeric/text data) +- `ean13` - EAN-13 barcode (13-digit product identifier, commonly used in retail) +- `code128` - Code 128 barcode (high-density 1D format supporting full ASCII character set) + +**Use Cases:** +- Product SKUs and inventory management (ean13, code128) +- Event tickets and access control (qr) +- Document tracking and verification (qr) +- Shipping labels and logistics (code128) --- diff --git a/content/docs/specifications/architecture/data-layer.mdx b/content/docs/specifications/architecture/data-layer.mdx index 3f84ce986..f5f8f138f 100644 --- a/content/docs/specifications/architecture/data-layer.mdx +++ b/content/docs/specifications/architecture/data-layer.mdx @@ -34,7 +34,7 @@ Defines data properties with 35 types: - **Basic**: text, textarea, number, boolean, date, datetime - **Advanced**: lookup, master_detail, formula, summary, autonumber - **Rich**: email, phone, url, currency, percent, markdown, html, richtext -- **Complex**: address, location, geolocation, file, image, avatar +- **Complex**: address, location (aka geolocation), file, image, avatar - **Enhanced**: code, color, rating, slider, signature, qrcode ### 2. Query Protocol (`src/data/query/`)