diff --git a/content/docs/api/declarative-endpoints.mdx b/content/docs/api/declarative-endpoints.mdx index bc2df5329a..ec1b4cbea5 100644 --- a/content/docs/api/declarative-endpoints.mdx +++ b/content/docs/api/declarative-endpoints.mdx @@ -1,7 +1,7 @@ --- title: Custom endpoints declared as metadata navTitle: Declarative Endpoints -description: "Expose your app to systems outside the platform by declaring an apis: endpoint as metadata — which channel to pick, the four publish gates, and the obligation that comes with an anonymous endpoint." +description: "Expose your app to outside systems by declaring an apis: endpoint as metadata — pick the channel, pass the four publish gates, secure anonymous calls." --- A stack can publish an HTTP endpoint as **metadata** instead of writing a handler: a URL, diff --git a/content/docs/api/plugin-endpoints.mdx b/content/docs/api/plugin-endpoints.mdx index f5a44e3096..a136708cbd 100644 --- a/content/docs/api/plugin-endpoints.mdx +++ b/content/docs/api/plugin-endpoints.mdx @@ -1,7 +1,7 @@ --- title: Plugin endpoints — add routes from a plugin navTitle: Plugin Endpoints -description: REST endpoints that become available when the corresponding plugin is installed — auth, workflow, automation, views, realtime, notifications, AI, i18n, and file storage. +description: REST endpoints each installed plugin adds — auth, workflow, automation, views, realtime, notifications, AI, i18n and files — and how to discover them. --- These REST endpoints are only available when the corresponding plugin is installed. Check the [discovery manifest](/docs/api#discovery) `services` map before calling them; all paths are relative to the base URL (defaults to `/api/v1`). diff --git a/content/docs/automation/approvals.mdx b/content/docs/automation/approvals.mdx index 682068b810..0923c20988 100644 --- a/content/docs/automation/approvals.mdx +++ b/content/docs/automation/approvals.mdx @@ -1,7 +1,7 @@ --- title: Approval chains — multi-step sign-off rules navTitle: Approval workflow -description: Route a record for sign-off — who can configure the automation, and the run-identity decision that keeps an approval flow from quietly bypassing row-level security. +description: Route a record for sign-off with an approval flow — who may configure it, and the run-identity choice that keeps it from bypassing row-level security. --- ## Scenario diff --git a/content/docs/automation/connectors.mdx b/content/docs/automation/connectors.mdx index b500ceccb7..31fdbd1cf1 100644 --- a/content/docs/automation/connectors.mdx +++ b/content/docs/automation/connectors.mdx @@ -1,7 +1,7 @@ --- title: Connectors — call external systems safely navTitle: Connectors -description: Call external systems from flows — plugin-registered connectors, and declarative provider-bound instances (rest / openapi / mcp) authored as pure metadata with reference-based credentials. +description: Call external systems from flows with plugin connectors or declarative rest, openapi and mcp instances — pure metadata with reference-based credentials. --- > **Status:** Shipped · **Audience:** App authors (human and AI), integration diff --git a/content/docs/capabilities/index.mdx b/content/docs/capabilities/index.mdx index 0bd7decfb0..7e3dd53c78 100644 --- a/content/docs/capabilities/index.mdx +++ b/content/docs/capabilities/index.mdx @@ -1,7 +1,7 @@ --- title: What can it do? — the capability overview navTitle: What Can It Do? -description: The platform's capabilities in business language — data, views, automation, approvals, permissions, analytics, AI, integrations — each with a real CRM as the running example +description: What the platform can do, in business language — data, views, automation, approvals, permissions, analytics, AI and integrations, shown on a real CRM. --- diff --git a/content/docs/concepts/metadata-lifecycle.mdx b/content/docs/concepts/metadata-lifecycle.mdx index 544779a343..b1c8319523 100644 --- a/content/docs/concepts/metadata-lifecycle.mdx +++ b/content/docs/concepts/metadata-lifecycle.mdx @@ -1,7 +1,7 @@ --- title: Metadata lifecycle — load, publish and HMR navTitle: Metadata Lifecycle & HMR -description: How metadata flows through Repository → Change Log → Cache → Registry — the canonical event stream that powers Studio HMR, REST writes, and future cloud editing. +description: How metadata flows through Repository, Change Log, Cache and Registry — the event stream behind Studio hot reload, REST writes and cloud editing. --- This page documents the metadata data path introduced by [ADR-0008](https://github.com/objectstack-ai/objectstack/blob/main/docs/adr/0008-metadata-repository-and-change-log.md) and refined by [ADR-0005](https://github.com/objectstack-ai/objectstack/blob/main/docs/adr/0005-metadata-customization-overlay.md). It is the canonical event stream that powers Studio Hot Module Replacement (HMR), REST writes, and future cloud editing. diff --git a/content/docs/concepts/north-star.mdx b/content/docs/concepts/north-star.mdx index b33df282cd..1f23bc5641 100644 --- a/content/docs/concepts/north-star.mdx +++ b/content/docs/concepts/north-star.mdx @@ -1,7 +1,7 @@ --- title: North star — why this framework exists navTitle: North Star -description: ObjectStack's current product and architecture direction. +description: "Where ObjectStack is headed: a metadata-native backend that humans and AI agents can both operate safely — its principles, runtime shape and non-goals." --- ObjectStack is the metadata-native backend for business software that humans and diff --git a/content/docs/data-modeling/drivers.mdx b/content/docs/data-modeling/drivers.mdx index c42f236e95..a503c97721 100644 --- a/content/docs/data-modeling/drivers.mdx +++ b/content/docs/data-modeling/drivers.mdx @@ -1,7 +1,7 @@ --- title: Database drivers — Postgres, MySQL, Mongo navTitle: Database Drivers -description: Configuration reference for supported database drivers +description: Connect ObjectStack to PostgreSQL, MySQL, SQLite, MongoDB, Turso or memory — URL-based driver inference, per-driver config keys and dialect caveats. --- ObjectStack supports multiple database backends through a unified driver interface. diff --git a/content/docs/deployment/index.mdx b/content/docs/deployment/index.mdx index dfdb747b46..645c9810da 100644 --- a/content/docs/deployment/index.mdx +++ b/content/docs/deployment/index.mdx @@ -1,7 +1,7 @@ --- title: Deployment — ship a runtime to production navTitle: Deployment Overview -description: Two things deploy on this platform and they move on separate clocks — the platform runtime you operate, and the metadata app you build. Which one you are doing decides which pages in this section are yours. +description: Deploy the platform runtime or ship your metadata app — two things on separate clocks. Find out which one you are doing and which pages cover it. --- Two different things get deployed here, and they run on **separate clocks**: diff --git a/content/docs/deployment/publish-and-preview.mdx b/content/docs/deployment/publish-and-preview.mdx index fedb64d0cd..736f168b70 100644 --- a/content/docs/deployment/publish-and-preview.mdx +++ b/content/docs/deployment/publish-and-preview.mdx @@ -1,7 +1,7 @@ --- title: Publish, versioning and preview builds navTitle: Publish, Versioning & Preview -description: A metadata app is versioned in your catalog while the platform moves on its own release train. Compile the app into an artifact, then pick how it reaches a running platform — installed from the catalog, or pinned as the runtime's boot artifact. +description: Compile a metadata app into a versioned artifact, then install it from the catalog or pin it as the runtime's boot artifact to preview and publish. --- ## Your app and the platform move on separate clocks diff --git a/content/docs/deployment/seed-tenancy-repair.mdx b/content/docs/deployment/seed-tenancy-repair.mdx index dc53955f43..df5b4c869d 100644 --- a/content/docs/deployment/seed-tenancy-repair.mdx +++ b/content/docs/deployment/seed-tenancy-repair.mdx @@ -1,7 +1,7 @@ --- title: Repair seed tenancy after a bad import navTitle: Seed Tenancy Repair -description: The automatic repair that stamps organization_id on untenanted seed rows and merges the __global__ autonumber counter — when it runs, what it changes, what it deliberately leaves alone, and the manual remedy for a multi-organization install. +description: The automatic repair that stamps organization_id on untenanted seed rows — when it runs, what it changes, and the manual fix for multi-org installs. --- ObjectStack ships one repair that **rewrites stored rows without an operator diff --git a/content/docs/deployment/self-hosting.mdx b/content/docs/deployment/self-hosting.mdx index 4d2abfa0f3..f88d9bf549 100644 --- a/content/docs/deployment/self-hosting.mdx +++ b/content/docs/deployment/self-hosting.mdx @@ -1,7 +1,7 @@ --- title: Self-hosting — run your own deployment navTitle: Self-Hosted Deployment -description: Run a compiled ObjectStack app on your own infrastructure with the official Docker image — plus Compose with Postgres, Kubernetes, and the bare Node.js fallback, including health checks, reverse-proxy wiring, and the secrets you must pin. +description: Run a compiled ObjectStack app on your own servers with the official Docker image, Compose and Postgres, or Kubernetes — health checks and secrets too. --- This guide takes the artifact produced by `os build` / `os compile` and runs it diff --git a/content/docs/deployment/tenancy-modes.mdx b/content/docs/deployment/tenancy-modes.mdx index 0553f9cf86..c9bac0b51b 100644 --- a/content/docs/deployment/tenancy-modes.mdx +++ b/content/docs/deployment/tenancy-modes.mdx @@ -1,7 +1,7 @@ --- title: Tenancy postures and membership models navTitle: Tenancy Postures & Membership -description: The three tenancy postures (single / group / isolated), how OS_TENANCY_POSTURE resolves, the membership policy for new users, and the degraded-tenancy boot guard. +description: "Choose single, group or isolated tenancy: how OS_TENANCY_POSTURE resolves, the membership policy for new users, and the degraded-tenancy boot guard." --- An ObjectStack deployment runs in one of **three tenancy postures**. The posture diff --git a/content/docs/getting-started/build-with-claude-code.mdx b/content/docs/getting-started/build-with-claude-code.mdx index 13ca78447f..9b1da86479 100644 --- a/content/docs/getting-started/build-with-claude-code.mdx +++ b/content/docs/getting-started/build-with-claude-code.mdx @@ -1,7 +1,7 @@ --- title: Build an app with Claude Code, step by step navTitle: Build with Claude Code -description: The core ObjectStack workflow — Claude Code authors the metadata, you verify in the visual Console, guardrails catch mistakes, and the app you build is itself AI-operable over MCP. +description: "Build an ObjectStack app with Claude Code: the AI writes the metadata, you verify it in the Console, guardrails catch mistakes, and the app speaks MCP." --- This is the **main way you build on ObjectStack**: you describe what you want in diff --git a/content/docs/getting-started/how-ai-development-works.mdx b/content/docs/getting-started/how-ai-development-works.mdx index f17926762d..7fc77cb9a5 100644 --- a/content/docs/getting-started/how-ai-development-works.mdx +++ b/content/docs/getting-started/how-ai-development-works.mdx @@ -1,7 +1,7 @@ --- title: How AI-written app development works navTitle: How AI Development Works -description: The division of labor behind ObjectStack — AI authors the typed metadata, you verify in the visual UI, and layered guardrails keep the AI from shipping mistakes. +description: "How building with ObjectStack splits the work: AI writes the typed metadata, you verify it in the visual UI, and layered guardrails stop its mistakes." --- ObjectStack is built for a specific way of working: **an AI agent writes the diff --git a/content/docs/getting-started/quick-reference.mdx b/content/docs/getting-started/quick-reference.mdx index b5fadd6c8e..be80856bdd 100644 --- a/content/docs/getting-started/quick-reference.mdx +++ b/content/docs/getting-started/quick-reference.mdx @@ -1,7 +1,7 @@ --- title: Quick reference — every metadata type navTitle: Quick Reference Guide -description: Fast lookup table for all ObjectStack protocols +description: Look up any ObjectStack metadata type fast — the key schemas of every protocol category on one page, with common patterns and search tips. --- diff --git a/content/docs/getting-started/your-first-project.mdx b/content/docs/getting-started/your-first-project.mdx index c9853f65c7..8d228472f3 100644 --- a/content/docs/getting-started/your-first-project.mdx +++ b/content/docs/getting-started/your-first-project.mdx @@ -1,7 +1,7 @@ --- title: Your first project — from zero to running navTitle: Your First Project -description: Scaffold a standalone ObjectStack project with npm, understand what was generated, extend the data model, call the REST API, and build a deployable artifact — no monorepo checkout, no AI agent required. +description: Scaffold a standalone ObjectStack project with npm, extend the data model, call the REST API and build a deployable artifact — no AI agent required. --- This is the hands-on path for developers building **on** ObjectStack from the diff --git a/content/docs/index.mdx b/content/docs/index.mdx index 5944be844c..223758962f 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -1,6 +1,6 @@ --- title: Documentation — build apps from metadata -description: Technical documentation for ObjectStack. +description: "ObjectStack documentation: build business apps from typed metadata that AI agents write and humans verify — start here for guides, concepts and APIs." --- ## ObjectStack Documentation diff --git a/content/docs/kernel/architecture.mdx b/content/docs/kernel/architecture.mdx index 3e7d2f245e..8b13fa9c32 100644 --- a/content/docs/kernel/architecture.mdx +++ b/content/docs/kernel/architecture.mdx @@ -1,7 +1,7 @@ --- title: Core architecture — kernel and services navTitle: Architecture -description: Deep dive into the ObjectKernel architecture +description: "How the ObjectKernel boots and runs: its core architecture, the plugin bootstrap lifecycle, and the public kernel API you call from a plugin." --- ## Core Architecture diff --git a/content/docs/kernel/events.mdx b/content/docs/kernel/events.mdx index 69cf2671c1..12716d6e3b 100644 --- a/content/docs/kernel/events.mdx +++ b/content/docs/kernel/events.mdx @@ -1,7 +1,7 @@ --- title: Kernel events and hooks — the full list navTitle: Events & Hooks -description: System-wide event bus for loose coupling between plugins +description: Every kernel lifecycle hook and data lifecycle hook in ObjectStack — when each fires, its payload and ordering, and which of the two systems to pick. --- ObjectStack has **two distinct hook systems**. They look similar but use different APIs, payloads, ordering, and error semantics — pick the right one for the job: diff --git a/content/docs/kernel/runtime-services/email-service.mdx b/content/docs/kernel/runtime-services/email-service.mdx index 44e1a7274d..a4b97cd1f9 100644 --- a/content/docs/kernel/runtime-services/email-service.mdx +++ b/content/docs/kernel/runtime-services/email-service.mdx @@ -1,7 +1,7 @@ --- title: services.email — the outbound mail API navTitle: services.email -description: Outbound email delivery and template rendering APIs. +description: Send email from a plugin or flow with services.email — send() and sendTemplate(), the result they return, and the typed error codes to handle. --- - **Stability:** `stable` diff --git a/content/docs/kernel/runtime-services/queue-service.mdx b/content/docs/kernel/runtime-services/queue-service.mdx index 8507529c2c..71699fe678 100644 --- a/content/docs/kernel/runtime-services/queue-service.mdx +++ b/content/docs/kernel/runtime-services/queue-service.mdx @@ -1,7 +1,7 @@ --- title: services.queue — the job queue service API navTitle: services.queue -description: Async queue publish/subscribe and DLQ operations. +description: Publish and subscribe to async job queues with services.queue — queue size, purge, and dead-letter listing, replay and cleanup for failed messages. --- - **Stability:** `stable` diff --git a/content/docs/kernel/runtime-services/sharing-service.mdx b/content/docs/kernel/runtime-services/sharing-service.mdx index 56dbff728c..ced5b91088 100644 --- a/content/docs/kernel/runtime-services/sharing-service.mdx +++ b/content/docs/kernel/runtime-services/sharing-service.mdx @@ -1,7 +1,7 @@ --- title: services.sharing — the record share API navTitle: services.sharing -description: Record-level sharing and editability checks. +description: Check and manage record-level sharing with services.sharing — read filters, canEdit and canDelete checks, and granting or revoking record shares. --- - **Stability:** `stable` diff --git a/content/docs/kernel/services.mdx b/content/docs/kernel/services.mdx index a1d73c2d76..aa4ccb1313 100644 --- a/content/docs/kernel/services.mdx +++ b/content/docs/kernel/services.mdx @@ -1,7 +1,7 @@ --- title: Service registry — resolve and override navTitle: Service Registry -description: Dependency Injection mechanism for loose coupling between plugins +description: How plugins expose and consume services in ObjectStack — register a service, resolve it by name, see the standard services, and replace a core one. --- ObjectStack uses a lightweight **Service Locator pattern** for Dependency Injection. Services are the primary way plugins expose and consume functionality. diff --git a/content/docs/permissions/access-recipes.mdx b/content/docs/permissions/access-recipes.mdx index 93bf7bb549..398ae847a8 100644 --- a/content/docs/permissions/access-recipes.mdx +++ b/content/docs/permissions/access-recipes.mdx @@ -1,7 +1,7 @@ --- title: Access recipes — data, automation and UI navTitle: Who can see data / automation / interface -description: Map a concrete access requirement onto the platform's layers — object CRUD, field-level security, row-level security, capabilities, app/nav gating, and the run-identity of automations. +description: Map a real access requirement onto the right layer — object CRUD, field-level and row-level security, capabilities, navigation gating and automations. --- ## Scenario diff --git a/content/docs/permissions/administrator-guide.mdx b/content/docs/permissions/administrator-guide.mdx index abfa9f541d..d273a20b42 100644 --- a/content/docs/permissions/administrator-guide.mdx +++ b/content/docs/permissions/administrator-guide.mdx @@ -1,7 +1,7 @@ --- title: Administrator guide to permissions and access navTitle: Administrator Guide -description: The task-first operations manual for customer system administrators — onboard a tenant in four steps (build the org tree, add people, assign positions, verify), with the 90% rule — daily administration is assigning positions; the capability plumbing ships built-in. +description: "The permissions manual for tenant administrators: onboard a tenant in four steps, then run daily access by assigning positions — no plumbing needed." --- You are the **system administrator** of an ObjectStack tenant. You opened diff --git a/content/docs/permissions/attachments-access.mdx b/content/docs/permissions/attachments-access.mdx index 03d86a0877..729ad1a0a6 100644 --- a/content/docs/permissions/attachments-access.mdx +++ b/content/docs/permissions/attachments-access.mdx @@ -1,7 +1,7 @@ --- title: Attachment access — who can read a file navTitle: Attachments Access -description: How access to record attachments is decided — the parent-derived read/create/delete model, authenticated downloads, the enable.files opt-in gate, and the storage-byte lifecycle. Covers sys_attachment and sys_file. +description: "Who can read, upload or delete a record's attachments: the parent-derived access model, authenticated downloads, the enable.files gate and file cleanup." --- The generic **Attachments** surface (Salesforce "Notes & Attachments" parity) diff --git a/content/docs/permissions/authorization.mdx b/content/docs/permissions/authorization.mdx index 316e23b0e1..9ea4eaaacd 100644 --- a/content/docs/permissions/authorization.mdx +++ b/content/docs/permissions/authorization.mdx @@ -1,7 +1,7 @@ --- title: Authorization architecture — how it decides navTitle: Authorization Architecture -description: The one-page map of ObjectStack authorization — the enforcement chain, combination semantics, package provenance, lifecycle coverage, and the CI governance — with its limits — behind "declared" equals "enforced". Stitches ADR-0049/0054/0056/0057/0066/0068/0069/0078/0086 into a single narrative. +description: One-page map of ObjectStack authorization — the enforcement chain, how grants combine, package provenance, lifecycle coverage and the CI checks behind it. --- This page is the consolidated overview of how authorization works across the diff --git a/content/docs/permissions/capabilities.mdx b/content/docs/permissions/capabilities.mdx index 79f1e652ad..71cfbee404 100644 --- a/content/docs/permissions/capabilities.mdx +++ b/content/docs/permissions/capabilities.mdx @@ -1,7 +1,7 @@ --- title: "Declaring capabilities in a permission set" navTitle: "Declaring Capabilities" -description: "How a package DEFINES an authorization capability with defineCapability — the declaration half of ADR-0066 D1 — and how that name travels from source to the sys_capability catalogue to a permission-set grant to a requiredPermissions check." +description: "Define an authorization capability in a package with defineCapability, then follow it into the catalogue, a permission-set grant and a runtime check." --- Every other page in this module is about **consuming** a capability: granting diff --git a/content/docs/permissions/delegated-administration.mdx b/content/docs/permissions/delegated-administration.mdx index 7511457316..9bf0bfad9a 100644 --- a/content/docs/permissions/delegated-administration.mdx +++ b/content/docs/permissions/delegated-administration.mdx @@ -1,7 +1,7 @@ --- title: Delegated administration — scoped admin rights navTitle: Delegated Administration -description: Administration itself as a scoped grant — a business-unit subtree, an action set, and an assignable-set allowlist, with self-escalation structurally impossible (ADR-0090 D12). +description: "Hand out scoped admin rights: a business-unit subtree, an action set and an assignable-set allowlist, with self-escalation structurally impossible." --- A group with fifty subsidiaries cannot manage every grant from headquarters — diff --git a/content/docs/permissions/index.mdx b/content/docs/permissions/index.mdx index 61d67de6a1..67791a5a4a 100644 --- a/content/docs/permissions/index.mdx +++ b/content/docs/permissions/index.mdx @@ -1,7 +1,7 @@ --- title: "Permissions and identity — the overview" navTitle: "Permissions & Identity" -description: "Authentication, authorization, and record- and field-level access control in ObjectStack — a cross-protocol capability enforced by the ObjectStack runtime and declared as ObjectQL security metadata." +description: "Authentication, authorization, and record- and field-level access control in ObjectStack — declared as security metadata and enforced by the runtime." --- This module covers authentication, authorization, and record- and field-level diff --git a/content/docs/permissions/permission-sets.mdx b/content/docs/permissions/permission-sets.mdx index 99fd1b658e..a307c48272 100644 --- a/content/docs/permissions/permission-sets.mdx +++ b/content/docs/permissions/permission-sets.mdx @@ -1,7 +1,7 @@ --- title: "Permission sets — grant access in bundles" navTitle: "Permission Sets" -description: "The only capability container — object CRUD + FLS + scope depth + capabilities, union-merged across everything a user holds. Covers the built-in sets, assignment tables, access depth, the isDefault suggestion, and delegated-admin scopes." +description: "Permission sets are the only capability container: object CRUD, field security, scope depth and capabilities, union-merged across what a user holds." --- A **permission set** is the *only* capability container in the platform diff --git a/content/docs/permissions/permissions-matrix.mdx b/content/docs/permissions/permissions-matrix.mdx index 09194ca540..8cb920ad1a 100644 --- a/content/docs/permissions/permissions-matrix.mdx +++ b/content/docs/permissions/permissions-matrix.mdx @@ -1,7 +1,7 @@ --- title: Security permissions matrix reference navTitle: Security Permissions Matrix -description: Visual reference for ObjectStack's security model — permission types, the object × permission-set matrix, field-level security, sharing rules, business-unit depth, and the access-matrix snapshot gate +description: Visual reference for ObjectStack security — permission types, the object × permission-set matrix, field security, sharing rules and business-unit depth. --- This page provides a comprehensive visual reference for ObjectStack's security model — from object-level permissions to field-level security, sharing rules, and business-unit depth. diff --git a/content/docs/permissions/positions.mdx b/content/docs/permissions/positions.mdx index 830daf6c4e..203ce27aa8 100644 --- a/content/docs/permissions/positions.mdx +++ b/content/docs/permissions/positions.mdx @@ -1,7 +1,7 @@ --- title: "Positions — org hierarchy for sharing" navTitle: "Positions" -description: "Positions (岗位) are flat capability-distribution groups — users hold positions, positions bind permission sets. The visibility hierarchy lives on business units, never here. Includes the built-in identity positions and the everyone/guest audience anchors." +description: "Positions are flat groups that hand permission sets to users — the built-in identity positions, the everyone and guest anchors, and where hierarchy lives." --- A **position** (岗位) is a named, assignable distribution group: users hold diff --git a/content/docs/permissions/profiles.mdx b/content/docs/permissions/profiles.mdx index e9e4301a21..2efbf245d7 100644 --- a/content/docs/permissions/profiles.mdx +++ b/content/docs/permissions/profiles.mdx @@ -1,7 +1,7 @@ --- title: "Profiles (removed) — use permission sets" navTitle: "Profiles (removed)" -description: "The Profile concept was removed by ADR-0090 D2. Baseline access is now authored with the everyone audience anchor, package isDefault suggestions, and ordinary permission sets distributed via positions." +description: "Profiles were removed. Author baseline access with the everyone audience anchor, package isDefault suggestions and permission sets given via positions." --- ## Profiles — removed (ADR-0090 D2) diff --git a/content/docs/permissions/record-view-auditing.mdx b/content/docs/permissions/record-view-auditing.mdx index 0d64300478..02975e21dc 100644 --- a/content/docs/permissions/record-view-auditing.mdx +++ b/content/docs/permissions/record-view-auditing.mdx @@ -1,7 +1,7 @@ --- title: Record view auditing — who read what navTitle: Record-View Auditing -description: "Who viewed this record, and when — the `read` action in sys_audit_log: its per-object opt-in, the four edges of its scope, and what a view row deliberately does not carry." +description: "Find out who viewed a record and when: the read action in sys_audit_log, its per-object opt-in, the edges of its scope and what a view row leaves out." --- Every other layer in this module answers *who is allowed to see this record*. diff --git a/content/docs/permissions/sharing-rules.mdx b/content/docs/permissions/sharing-rules.mdx index b2eed9d8e8..cfd1abcaff 100644 --- a/content/docs/permissions/sharing-rules.mdx +++ b/content/docs/permissions/sharing-rules.mdx @@ -1,7 +1,7 @@ --- title: "Sharing rules and organization-wide defaults" navTitle: "Sharing Rules" -description: "Record-level access: the organization-wide default (OWD) baseline per object, the external sharing dial, criteria sharing rules and recipient types, and the RLS-safe analytics read scope." +description: "Record-level access in ObjectStack: organization-wide defaults per object, the external sharing dial, criteria sharing rules and RLS-safe analytics reads." --- ## Sharing & Organization-Wide Defaults diff --git a/content/docs/permissions/system-context.mdx b/content/docs/permissions/system-context.mdx index 656e0cc632..2c24ef58e8 100644 --- a/content/docs/permissions/system-context.mdx +++ b/content/docs/permissions/system-context.mdx @@ -1,7 +1,7 @@ --- title: System context (isSystem) — bypass rules navTitle: System Context (isSystem) -description: The authoritative table of every platform behaviour keyed off `ExecutionContext.isSystem` — what an elevated write gets, what it loses, and what the flag deliberately does NOT do. Built by census over the whole repo, not by recall. +description: Every platform behaviour that ExecutionContext.isSystem changes — what an elevated write gets, what it loses, and what the flag deliberately does not do. --- `ExecutionContext.isSystem` is the platform's one elevation flag. Setting it on a diff --git a/content/docs/permissions/tenant-audit-census.mdx b/content/docs/permissions/tenant-audit-census.mdx index 5f07b0c5f1..7a6216ef2f 100644 --- a/content/docs/permissions/tenant-audit-census.mdx +++ b/content/docs/permissions/tenant-audit-census.mdx @@ -1,7 +1,7 @@ --- title: Tenant-audit census — tenancy write call sites navTitle: Tenant-Audit Census -description: The authoritative enumeration of every application-surface write call site against a tenancy-enabled object — how many thread an execution context, how many thread none, and how much of the population a static instrument can decide at all. Built by census over the whole repo, not by recall. +description: A census of every write call site against a tenancy-enabled object — which pass an execution context, which pass none, and what static checks can decide. --- `SqlDriver.auditMissingTenant()` is the platform's one *diagnostic* on write-side diff --git a/content/docs/protocol/index.mdx b/content/docs/protocol/index.mdx index 9a633771f9..cc95f3e4a3 100644 --- a/content/docs/protocol/index.mdx +++ b/content/docs/protocol/index.mdx @@ -1,7 +1,7 @@ --- title: Protocol specification — the open format navTitle: Protocol Specification -description: The formal ObjectStack protocol for Data, UI, and System layers +description: "The ObjectStack protocol specification: how the Data, UI and System layers describe a complete business application as metadata, and its design principles." --- import { Database, Layout, Cpu } from 'lucide-react'; diff --git a/content/docs/protocol/objectui/actions.mdx b/content/docs/protocol/objectui/actions.mdx index 55581edf2a..d0071cb18e 100644 --- a/content/docs/protocol/objectui/actions.mdx +++ b/content/docs/protocol/objectui/actions.mdx @@ -1,7 +1,7 @@ --- title: Action protocol — buttons as metadata navTitle: Action Protocol -description: Buttons, triggers, navigation, and user interaction definitions +description: "The ObjectUI action protocol: declare buttons, menu items and triggers as metadata that run business logic, navigate, or call external integrations." --- import { MousePointer, Zap, ExternalLink, Workflow, GitBranch, Play, Component, Layout } from 'lucide-react'; diff --git a/content/docs/protocol/objectui/concept.mdx b/content/docs/protocol/objectui/concept.mdx index 4a1eee9df2..d2d7ae3b3a 100644 --- a/content/docs/protocol/objectui/concept.mdx +++ b/content/docs/protocol/objectui/concept.mdx @@ -1,7 +1,7 @@ --- title: UI as data — the core ObjectUI concept navTitle: UI as Data Concept -description: The philosophy and architecture of metadata-driven user interfaces +description: "Why ObjectUI defines interfaces as data, not code: forms, dashboards and reports as declarative metadata that any renderer can draw consistently." --- import { Blocks, Code, Zap, Users, Globe, Shield, Sparkles, Workflow } from 'lucide-react'; diff --git a/content/docs/protocol/objectui/index.mdx b/content/docs/protocol/objectui/index.mdx index ad151735eb..79d320b73f 100644 --- a/content/docs/protocol/objectui/index.mdx +++ b/content/docs/protocol/objectui/index.mdx @@ -1,6 +1,6 @@ --- title: ObjectUI — the UI protocol specification -description: Server-driven UI protocol - Define interfaces as data, not code +description: "ObjectUI, the server-driven UI protocol: define layouts, forms and dashboards as JSON or YAML metadata that renderers turn into working interfaces." --- import { Layout, Component, MousePointer, Blocks, Zap, Package, Shield, Globe } from 'lucide-react'; diff --git a/content/docs/protocol/objectui/widget-contract.mdx b/content/docs/protocol/objectui/widget-contract.mdx index 669658a7bd..0a2d88f912 100644 --- a/content/docs/protocol/objectui/widget-contract.mdx +++ b/content/docs/protocol/objectui/widget-contract.mdx @@ -1,7 +1,7 @@ --- title: Widget contract — build a custom widget navTitle: Widget Contract -description: Standard props, events, and lifecycle for ObjectUI components +description: "Build a custom ObjectUI field widget: the standard props, events and lifecycle it implements, how to register it, and accessibility and theme rules." --- import { Component, Zap, Code, Check, AlertCircle, Globe } from 'lucide-react'; diff --git a/content/docs/references/ai/agent.mdx b/content/docs/references/ai/agent.mdx index 159db8c9f8..e9580a4713 100644 --- a/content/docs/references/ai/agent.mdx +++ b/content/docs/references/ai/agent.mdx @@ -1,6 +1,6 @@ --- title: Agent -description: Agent protocol schemas +description: "Agent schemas of the ObjectStack AI Protocol: AIModelConfig, Agent and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/build-progress.mdx b/content/docs/references/ai/build-progress.mdx index 3939d97cd4..089e2c8f48 100644 --- a/content/docs/references/ai/build-progress.mdx +++ b/content/docs/references/ai/build-progress.mdx @@ -1,6 +1,6 @@ --- title: Build Progress -description: Build Progress protocol schemas +description: "Build-progress PHASE vocabulary for the data-build-progress stream frame." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/conversation.mdx b/content/docs/references/ai/conversation.mdx index cb39926f0b..5e7f4bb3bf 100644 --- a/content/docs/references/ai/conversation.mdx +++ b/content/docs/references/ai/conversation.mdx @@ -1,6 +1,6 @@ --- title: Conversation -description: Conversation protocol schemas +description: "Multi-turn AI conversations with token budget management. Enables context preservation, conversation history, and token optimization." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/embedding.mdx b/content/docs/references/ai/embedding.mdx index 70c0d15773..0a10e12d0e 100644 --- a/content/docs/references/ai/embedding.mdx +++ b/content/docs/references/ai/embedding.mdx @@ -1,6 +1,6 @@ --- title: Embedding -description: Embedding protocol schemas +description: "Embedding & Vector Store Primitives — Platform contract for configuring embedding models and vector stores." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/index.mdx b/content/docs/references/ai/index.mdx index 8fb0c1b704..5cfe216b03 100644 --- a/content/docs/references/ai/index.mdx +++ b/content/docs/references/ai/index.mdx @@ -1,6 +1,6 @@ --- title: AI Protocol -description: Complete reference for all ai protocol schemas +description: "The ObjectStack AI Protocol in 12 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/knowledge-document.mdx b/content/docs/references/ai/knowledge-document.mdx index d67e3471c7..99b9368a38 100644 --- a/content/docs/references/ai/knowledge-document.mdx +++ b/content/docs/references/ai/knowledge-document.mdx @@ -1,6 +1,6 @@ --- title: Knowledge Document -description: Knowledge Document protocol schemas +description: "Knowledge Document / Chunk / Hit — canonical shapes shared by every IKnowledgeAdapter implementation." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/knowledge-source.mdx b/content/docs/references/ai/knowledge-source.mdx index 15d366659b..ef6b0aa183 100644 --- a/content/docs/references/ai/knowledge-source.mdx +++ b/content/docs/references/ai/knowledge-source.mdx @@ -1,6 +1,6 @@ --- title: Knowledge Source -description: Knowledge Source protocol schemas +description: "Knowledge Source — declarative metadata describing what to index and which adapter to use." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/mcp.mdx b/content/docs/references/ai/mcp.mdx index 960f785a81..99ec93985a 100644 --- a/content/docs/references/ai/mcp.mdx +++ b/content/docs/references/ai/mcp.mdx @@ -1,6 +1,6 @@ --- title: Mcp -description: Mcp protocol schemas +description: "Model Context Protocol (MCP) — Reference & Binding Primitives — MCP itself is an external protocol defined by Anthropic." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/model-registry.mdx b/content/docs/references/ai/model-registry.mdx index 45f80f0b7f..e0769c3531 100644 --- a/content/docs/references/ai/model-registry.mdx +++ b/content/docs/references/ai/model-registry.mdx @@ -1,6 +1,6 @@ --- title: Model Registry -description: Model Registry protocol schemas +description: "Centralized registry for managing AI models, prompt templates, and model versioning." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/skill.mdx b/content/docs/references/ai/skill.mdx index 2ad8013e8d..c403c02d60 100644 --- a/content/docs/references/ai/skill.mdx +++ b/content/docs/references/ai/skill.mdx @@ -1,6 +1,6 @@ --- title: Skill -description: Skill protocol schemas +description: "Defines programmatic conditions under which a skill becomes active. Allows context-aware activation based on object type, user role, etc." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/solution-blueprint.mdx b/content/docs/references/ai/solution-blueprint.mdx index 6b906254cb..43f230506b 100644 --- a/content/docs/references/ai/solution-blueprint.mdx +++ b/content/docs/references/ai/solution-blueprint.mdx @@ -1,6 +1,6 @@ --- title: Solution Blueprint -description: Solution Blueprint protocol schemas +description: "The structured-output target an AI agent emits for a high-level goal (\"build me a project-management system\") instead of transcribing a field list." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/tool.mdx b/content/docs/references/ai/tool.mdx index bcbf45cfa7..a687ac2e80 100644 --- a/content/docs/references/ai/tool.mdx +++ b/content/docs/references/ai/tool.mdx @@ -1,6 +1,6 @@ --- title: Tool -description: Tool protocol schemas +description: "Tool schemas of the ObjectStack AI Protocol: Tool — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ai/usage.mdx b/content/docs/references/ai/usage.mdx index 2d97c729ce..585fe961a4 100644 --- a/content/docs/references/ai/usage.mdx +++ b/content/docs/references/ai/usage.mdx @@ -1,6 +1,6 @@ --- title: Usage -description: Usage protocol schemas +description: "AI Usage Primitives — Platform contract for measuring AI consumption. Reference for AIUsageRecord, TokenUsage: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/analytics.mdx b/content/docs/references/api/analytics.mdx index a9fff472ad..922ac444d0 100644 --- a/content/docs/references/api/analytics.mdx +++ b/content/docs/references/api/analytics.mdx @@ -1,6 +1,6 @@ --- title: Analytics -description: Analytics protocol schemas +description: "Defines the HTTP interface for the Semantic Layer. Provides endpoints for executing analytical queries and discovering metadata." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/auth-endpoints.mdx b/content/docs/references/api/auth-endpoints.mdx index eab09d4411..8b54c5b337 100644 --- a/content/docs/references/api/auth-endpoints.mdx +++ b/content/docs/references/api/auth-endpoints.mdx @@ -1,6 +1,6 @@ --- title: Auth Endpoints -description: Auth Endpoints protocol schemas +description: "Defines the canonical HTTP endpoints for the authentication service. Based on better-auth v1.4.18 endpoint conventions." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/auth.mdx b/content/docs/references/api/auth.mdx index ba6782f84e..e0169fa810 100644 --- a/content/docs/references/api/auth.mdx +++ b/content/docs/references/api/auth.mdx @@ -1,6 +1,6 @@ --- title: Auth -description: Auth protocol schemas +description: "Defines the standard API contracts for Identity, Session Management, and Access Control." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/automation-api.mdx b/content/docs/references/api/automation-api.mdx index 733bfa2a15..4c595094cf 100644 --- a/content/docs/references/api/automation-api.mdx +++ b/content/docs/references/api/automation-api.mdx @@ -1,6 +1,6 @@ --- title: Automation Api -description: Automation Api protocol schemas +description: "Defines REST CRUD endpoint schemas for managing automation flows, triggering executions, and querying execution history." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/batch.mdx b/content/docs/references/api/batch.mdx index 716ff532c2..33f1fee775 100644 --- a/content/docs/references/api/batch.mdx +++ b/content/docs/references/api/batch.mdx @@ -1,6 +1,6 @@ --- title: Batch -description: Batch protocol schemas +description: "Batch Operations API — Provides efficient bulk data operations with transaction support." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/contract.mdx b/content/docs/references/api/contract.mdx index 298d3535d3..3865605e8b 100644 --- a/content/docs/references/api/contract.mdx +++ b/content/docs/references/api/contract.mdx @@ -1,6 +1,6 @@ --- title: Contract -description: Contract protocol schemas +description: "Contract schemas of the ObjectStack API Protocol: ApiError, BaseResponse and 14 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/discovery.mdx b/content/docs/references/api/discovery.mdx index d5074ce898..d78599e401 100644 --- a/content/docs/references/api/discovery.mdx +++ b/content/docs/references/api/discovery.mdx @@ -1,6 +1,6 @@ --- title: Discovery -description: Discovery protocol schemas +description: "Discovery schemas of the ObjectStack API Protocol: ApiRoutes, CapabilityDescriptor and 9 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/dispatcher.mdx b/content/docs/references/api/dispatcher.mdx index a4dcbe884a..ecbdd743e3 100644 --- a/content/docs/references/api/dispatcher.mdx +++ b/content/docs/references/api/dispatcher.mdx @@ -1,6 +1,6 @@ --- title: Dispatcher -description: Dispatcher protocol schemas +description: "Defines how the ObjectStack HttpDispatcher routes incoming API requests to the correct kernel service based on URL prefix matching." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/documentation.mdx b/content/docs/references/api/documentation.mdx index 944329b135..82944bd23d 100644 --- a/content/docs/references/api/documentation.mdx +++ b/content/docs/references/api/documentation.mdx @@ -1,6 +1,6 @@ --- title: Documentation -description: Documentation protocol schemas +description: "Provides schemas for generating interactive API documentation and testing interfaces similar to Swagger UI, Postman, etc." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/endpoint.mdx b/content/docs/references/api/endpoint.mdx index 82f94e4d8d..1cbb5985e5 100644 --- a/content/docs/references/api/endpoint.mdx +++ b/content/docs/references/api/endpoint.mdx @@ -1,6 +1,6 @@ --- title: Endpoint -description: Endpoint protocol schemas +description: "Endpoint schemas of the ObjectStack API Protocol: ApiEndpoint, ApiMapping — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/error-code-ledger.mdx b/content/docs/references/api/error-code-ledger.mdx index 1c348888e5..e3e1d8fdac 100644 --- a/content/docs/references/api/error-code-ledger.mdx +++ b/content/docs/references/api/error-code-ledger.mdx @@ -1,6 +1,6 @@ --- title: Error Code Ledger -description: Error Code Ledger protocol schemas +description: "Error-Code Ledger. Reference for ErrorCode, ProvenanceWaiver, StandardSynonymWaiver: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/errors.mdx b/content/docs/references/api/errors.mdx index ec80b51032..f62adbe9aa 100644 --- a/content/docs/references/api/errors.mdx +++ b/content/docs/references/api/errors.mdx @@ -1,6 +1,6 @@ --- title: Errors -description: Errors protocol schemas +description: "Provides consistent, machine-readable error codes across the platform." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/events.mdx b/content/docs/references/api/events.mdx index 8e2bb9e711..f207f8c132 100644 --- a/content/docs/references/api/events.mdx +++ b/content/docs/references/api/events.mdx @@ -1,6 +1,6 @@ --- title: Events -description: Events protocol schemas +description: "Events schemas of the ObjectStack API Protocol: BulkDataEvent, BulkDataEventType and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/export.mdx b/content/docs/references/api/export.mdx index fe5e780b53..d979268dc8 100644 --- a/content/docs/references/api/export.mdx +++ b/content/docs/references/api/export.mdx @@ -1,6 +1,6 @@ --- title: Export -description: Export protocol schemas +description: "Defines the export file formats, import validation, template-based field mapping, and the asynchronous import-job contracts." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/http-cache.mdx b/content/docs/references/api/http-cache.mdx index 82f081dbe3..ff8c23d530 100644 --- a/content/docs/references/api/http-cache.mdx +++ b/content/docs/references/api/http-cache.mdx @@ -1,6 +1,6 @@ --- title: Http Cache -description: Http Cache protocol schemas +description: "HTTP Metadata Cache Protocol — Implements efficient HTTP-level metadata caching with ETag support." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/index.mdx b/content/docs/references/api/index.mdx index 6b4699c816..3dc9b8c2da 100644 --- a/content/docs/references/api/index.mdx +++ b/content/docs/references/api/index.mdx @@ -1,6 +1,6 @@ --- title: API Protocol -description: Complete reference for all api protocol schemas +description: "The ObjectStack API Protocol in 32 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/metadata.mdx b/content/docs/references/api/metadata.mdx index 1c05d04f0f..c2f18636d1 100644 --- a/content/docs/references/api/metadata.mdx +++ b/content/docs/references/api/metadata.mdx @@ -1,6 +1,6 @@ --- title: Metadata -description: Metadata protocol schemas +description: "Defines the standard API contracts for the @objectstack/metadata package." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/misc.mdx b/content/docs/references/api/misc.mdx index 33aa19468e..8ba46b7349 100644 --- a/content/docs/references/api/misc.mdx +++ b/content/docs/references/api/misc.mdx @@ -1,6 +1,6 @@ --- title: Misc -description: Misc protocol schemas +description: "Misc schemas of the ObjectStack API Protocol: ResolvedBook, ResolvedEntry, ResolvedGroup — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/odata.mdx b/content/docs/references/api/odata.mdx index 46a2ae7053..8d093bcfb6 100644 --- a/content/docs/references/api/odata.mdx +++ b/content/docs/references/api/odata.mdx @@ -1,6 +1,6 @@ --- title: Odata -description: Odata protocol schemas +description: "Open Data Protocol (OData) v4 is an industry-standard protocol for building and consuming RESTful APIs." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/package-api-assembled.mdx b/content/docs/references/api/package-api-assembled.mdx index e8aa0d1a4f..e5e53d6950 100644 --- a/content/docs/references/api/package-api-assembled.mdx +++ b/content/docs/references/api/package-api-assembled.mdx @@ -1,6 +1,6 @@ --- title: Package Api Assembled -description: Package Api Assembled protocol schemas +description: "The Package API declarations that carry the ASSEMBLED package body. Published from @objectstack/spec/api-assembled, never from @objectstack/spec/api." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/package-api.mdx b/content/docs/references/api/package-api.mdx index dbca0929f9..9a99b64db0 100644 --- a/content/docs/references/api/package-api.mdx +++ b/content/docs/references/api/package-api.mdx @@ -1,6 +1,6 @@ --- title: Package Api -description: Package Api protocol schemas +description: "Package API Protocol — REST API endpoint schemas for package lifecycle management." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/package-lifecycle.mdx b/content/docs/references/api/package-lifecycle.mdx index cc8ed88b4b..6ab899ee01 100644 --- a/content/docs/references/api/package-lifecycle.mdx +++ b/content/docs/references/api/package-lifecycle.mdx @@ -1,6 +1,6 @@ --- title: Package Lifecycle -description: Package Lifecycle protocol schemas +description: "Response payloads for the dispatcher-served packages.* lifecycle routes — the ADR-0067 commit timeline, the ADR-0033 draft batch doors." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/plugin-rest-api.mdx b/content/docs/references/api/plugin-rest-api.mdx index 07d3fca8ff..89da6484e4 100644 --- a/content/docs/references/api/plugin-rest-api.mdx +++ b/content/docs/references/api/plugin-rest-api.mdx @@ -1,6 +1,6 @@ --- title: Plugin Rest Api -description: Plugin Rest Api protocol schemas +description: "Defines the schema for REST API plugins that register Discovery, Metadata, Data CRUD, Batch, and Permission routes with the HTTP Dispatcher." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/protocol.mdx b/content/docs/references/api/protocol.mdx index 759668c85e..d3c75c63da 100644 --- a/content/docs/references/api/protocol.mdx +++ b/content/docs/references/api/protocol.mdx @@ -1,6 +1,6 @@ --- title: Protocol -description: Protocol protocol schemas +description: "Protocol schemas of the ObjectStack API Protocol: AiAgentCapabilities and 133 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/query-adapter.mdx b/content/docs/references/api/query-adapter.mdx index d1b33dc80a..fbc9b7a970 100644 --- a/content/docs/references/api/query-adapter.mdx +++ b/content/docs/references/api/query-adapter.mdx @@ -1,6 +1,6 @@ --- title: Query Adapter -description: Query Adapter protocol schemas +description: "Defines mapping rules between the internal unified query DSL (defined in data/query.zod.ts) and external API protocol formats: REST and OData." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/realtime-shared.mdx b/content/docs/references/api/realtime-shared.mdx index a0f51ab6f1..8525a18561 100644 --- a/content/docs/references/api/realtime-shared.mdx +++ b/content/docs/references/api/realtime-shared.mdx @@ -1,6 +1,6 @@ --- title: Realtime Shared -description: Realtime Shared protocol schemas +description: "Realtime Shared Protocol — Shared schemas and types for real-time communication protocols." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/realtime.mdx b/content/docs/references/api/realtime.mdx index d7abd6bd0d..e79243b797 100644 --- a/content/docs/references/api/realtime.mdx +++ b/content/docs/references/api/realtime.mdx @@ -1,6 +1,6 @@ --- title: Realtime -description: Realtime protocol schemas +description: "Realtime schemas of the ObjectStack API Protocol: RealtimeConfig, RealtimeEvent and 5 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/rest-server.mdx b/content/docs/references/api/rest-server.mdx index fa5e13fccb..6a288ceaea 100644 --- a/content/docs/references/api/rest-server.mdx +++ b/content/docs/references/api/rest-server.mdx @@ -1,6 +1,6 @@ --- title: Rest Server -description: Rest Server protocol schemas +description: "Defines the REST API server configuration for automatically generating RESTful CRUD endpoints, metadata endpoints, and batch operations." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/router.mdx b/content/docs/references/api/router.mdx index b38ec27f03..57c0e04967 100644 --- a/content/docs/references/api/router.mdx +++ b/content/docs/references/api/router.mdx @@ -1,6 +1,6 @@ --- title: Router -description: Router protocol schemas +description: "Router schemas of the ObjectStack API Protocol: ConflictResolutionStrategy and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/sortability.mdx b/content/docs/references/api/sortability.mdx index 36b007cd8d..4d656a5c1f 100644 --- a/content/docs/references/api/sortability.mdx +++ b/content/docs/references/api/sortability.mdx @@ -1,6 +1,6 @@ --- title: Sortability -description: Sortability protocol schemas +description: "The per-column SORTABILITY projection served with object metadata — the one signal a grid reads to decide whether a column header offers a sort click." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/storage.mdx b/content/docs/references/api/storage.mdx index e286e9c4d3..62f61b5626 100644 --- a/content/docs/references/api/storage.mdx +++ b/content/docs/references/api/storage.mdx @@ -1,6 +1,6 @@ --- title: Storage -description: Storage protocol schemas +description: "Storage Service Protocol — Defines the API contract for client-side file operations." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/versioning.mdx b/content/docs/references/api/versioning.mdx index c9a8fae0e9..0f82637ea8 100644 --- a/content/docs/references/api/versioning.mdx +++ b/content/docs/references/api/versioning.mdx @@ -1,6 +1,6 @@ --- title: Versioning -description: Versioning protocol schemas +description: "Defines how API versions are negotiated between client and server. Supports multiple versioning strategies and deprecation lifecycle management." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/api/websocket.mdx b/content/docs/references/api/websocket.mdx index 7820ee5ea9..a7365f49c4 100644 --- a/content/docs/references/api/websocket.mdx +++ b/content/docs/references/api/websocket.mdx @@ -1,6 +1,6 @@ --- title: Websocket -description: Websocket protocol schemas +description: "Defines the schema for WebSocket-based real-time communication in ObjectStack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/approval.mdx b/content/docs/references/automation/approval.mdx index 9694d9f72d..493ff01aa2 100644 --- a/content/docs/references/automation/approval.mdx +++ b/content/docs/references/automation/approval.mdx @@ -1,6 +1,6 @@ --- title: Approval -description: Approval protocol schemas +description: "Approval schemas of the ObjectStack Automation Protocol: ApprovalDecision and 5 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/bpmn-interop.mdx b/content/docs/references/automation/bpmn-interop.mdx index 904bf4a26a..6bd227ce8e 100644 --- a/content/docs/references/automation/bpmn-interop.mdx +++ b/content/docs/references/automation/bpmn-interop.mdx @@ -1,6 +1,6 @@ --- title: Bpmn Interop -description: Bpmn Interop protocol schemas +description: "Defines the specification for importing and exporting BPMN 2.0 XML process definitions." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/builtin-node-config.mdx b/content/docs/references/automation/builtin-node-config.mdx index 094d6f08af..bb0f4ff26e 100644 --- a/content/docs/references/automation/builtin-node-config.mdx +++ b/content/docs/references/automation/builtin-node-config.mdx @@ -1,6 +1,6 @@ --- title: Builtin Node Config -description: Builtin Node Config protocol schemas +description: "Config contracts for the remaining flat builtins — the CRUD quartet (get_record / create_record / update_record / delete_record), screen, map." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/control-flow.mdx b/content/docs/references/automation/control-flow.mdx index 43f36ab32c..e551d664cf 100644 --- a/content/docs/references/automation/control-flow.mdx +++ b/content/docs/references/automation/control-flow.mdx @@ -1,6 +1,6 @@ --- title: Control Flow -description: Control Flow protocol schemas +description: "Structured control-flow constructs — the native + AI-authored flow model: a loop container, a parallel block, and structured try/catch/retry." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/execution.mdx b/content/docs/references/automation/execution.mdx index 8f120d4e35..0e00a4199a 100644 --- a/content/docs/references/automation/execution.mdx +++ b/content/docs/references/automation/execution.mdx @@ -1,6 +1,6 @@ --- title: Execution -description: Execution protocol schemas +description: "Defines schemas for execution logging, error tracking, checkpointing, concurrency control, and scheduled execution persistence." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/flow-function.mdx b/content/docs/references/automation/flow-function.mdx index 5159d97a62..1fa5a109bf 100644 --- a/content/docs/references/automation/flow-function.mdx +++ b/content/docs/references/automation/flow-function.mdx @@ -1,6 +1,6 @@ --- title: Flow Function -description: Flow Function protocol schemas +description: "The contract for a named handler function a script node invokes — contributed by defineStack({ functions }) and resolved by name at execute time." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/flow.mdx b/content/docs/references/automation/flow.mdx index 202c5b47ca..64e71e4eee 100644 --- a/content/docs/references/automation/flow.mdx +++ b/content/docs/references/automation/flow.mdx @@ -1,6 +1,6 @@ --- title: Flow -description: Flow protocol schemas +description: "Flow schemas of the ObjectStack Automation Protocol: Flow, FlowEdge, FlowNode and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/index.mdx b/content/docs/references/automation/index.mdx index 85148c1ec9..74343ae441 100644 --- a/content/docs/references/automation/index.mdx +++ b/content/docs/references/automation/index.mdx @@ -1,6 +1,6 @@ --- title: Automation Protocol -description: Complete reference for all automation protocol schemas +description: "The ObjectStack Automation Protocol in 14 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/io-node-config.mdx b/content/docs/references/automation/io-node-config.mdx index 40ba00514a..dc7af9ad9b 100644 --- a/content/docs/references/automation/io-node-config.mdx +++ b/content/docs/references/automation/io-node-config.mdx @@ -1,6 +1,6 @@ --- title: Io Node Config -description: Io Node Config protocol schemas +description: "Config contracts for the flat IO builtins — notify and http. Reference for HttpConfig, NotifyConfig: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/node-executor.mdx b/content/docs/references/automation/node-executor.mdx index 99e0214598..563acd046d 100644 --- a/content/docs/references/automation/node-executor.mdx +++ b/content/docs/references/automation/node-executor.mdx @@ -1,6 +1,6 @@ --- title: Node Executor -description: Node Executor protocol schemas +description: "Defines the specification for node executor plugins, with a focus on the wait node executor that supports flow pause and external-event resume." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/schedule-organization.mdx b/content/docs/references/automation/schedule-organization.mdx index 3d3f12a07e..f5abeaae44 100644 --- a/content/docs/references/automation/schedule-organization.mdx +++ b/content/docs/references/automation/schedule-organization.mdx @@ -1,6 +1,6 @@ --- title: Schedule Organization -description: Schedule Organization protocol schemas +description: "The ACTING ORGANIZATION of a time-triggered flow — the one start-node key that says which organization a scheduled run executes as." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/schemaless-node-config.mdx b/content/docs/references/automation/schemaless-node-config.mdx index b0320a9f66..94d43f2ec8 100644 --- a/content/docs/references/automation/schemaless-node-config.mdx +++ b/content/docs/references/automation/schemaless-node-config.mdx @@ -1,6 +1,6 @@ --- title: Schemaless Node Config -description: Schemaless Node Config protocol schemas +description: "Config contracts for the descriptor-schemaless builtins whose designer form lives ONLY in objectui's hand-written FLOW_NODE_CONFIG table — script." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/state-machine.mdx b/content/docs/references/automation/state-machine.mdx index 8251baee11..b3d2e83350 100644 --- a/content/docs/references/automation/state-machine.mdx +++ b/content/docs/references/automation/state-machine.mdx @@ -1,6 +1,6 @@ --- title: State Machine -description: State Machine protocol schemas +description: "XState-inspired State Machine Protocol — hierarchical states, guarded transitions, entry/exit actions." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/time-relative-trigger.mdx b/content/docs/references/automation/time-relative-trigger.mdx index 71ab4f17ff..e7a62beeb5 100644 --- a/content/docs/references/automation/time-relative-trigger.mdx +++ b/content/docs/references/automation/time-relative-trigger.mdx @@ -1,6 +1,6 @@ --- title: Time Relative Trigger -description: Time Relative Trigger protocol schemas +description: "A declarative trigger for time-relative business rules — \"act on records whose date field is coming up (or overdue) relative to today\"." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/automation/webhook.mdx b/content/docs/references/automation/webhook.mdx index eadd72c264..9c7f6e2e6f 100644 --- a/content/docs/references/automation/webhook.mdx +++ b/content/docs/references/automation/webhook.mdx @@ -1,6 +1,6 @@ --- title: Webhook -description: Webhook protocol schemas +description: "Webhook schemas of the ObjectStack Automation Protocol: Webhook, WebhookTriggerType — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/analytics.mdx b/content/docs/references/data/analytics.mdx index 870bb30ecb..a63e902cd2 100644 --- a/content/docs/references/data/analytics.mdx +++ b/content/docs/references/data/analytics.mdx @@ -1,6 +1,6 @@ --- title: Analytics -description: Analytics protocol schemas +description: "Defines the \"Business Logic\" for data analysis. Inspired by Cube.dev, LookML, and dbt MetricFlow." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/context-tokens.mdx b/content/docs/references/data/context-tokens.mdx index ee82a378b0..bb7285b66d 100644 --- a/content/docs/references/data/context-tokens.mdx +++ b/content/docs/references/data/context-tokens.mdx @@ -1,6 +1,6 @@ --- title: Context Tokens -description: Context Tokens protocol schemas +description: "Context Tokens — the declarative placeholders that resolve against the caller's session (who am I, which org am I in) rather than the clock." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/data-engine.mdx b/content/docs/references/data/data-engine.mdx index 32edc8f710..ff78ba644f 100644 --- a/content/docs/references/data/data-engine.mdx +++ b/content/docs/references/data/data-engine.mdx @@ -1,6 +1,6 @@ --- title: Data Engine -description: Data Engine protocol schemas +description: "Defines the standard interface for data persistence engines in ObjectStack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/datasource.mdx b/content/docs/references/data/datasource.mdx index 8f2c8e67ba..901673f178 100644 --- a/content/docs/references/data/datasource.mdx +++ b/content/docs/references/data/datasource.mdx @@ -1,6 +1,6 @@ --- title: Datasource -description: Datasource protocol schemas +description: "Datasource schemas of the ObjectStack Data Protocol: Datasource, DriverDefinition and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/date-macros.mdx b/content/docs/references/data/date-macros.mdx index 126720846b..c3dee7f3d2 100644 --- a/content/docs/references/data/date-macros.mdx +++ b/content/docs/references/data/date-macros.mdx @@ -1,6 +1,6 @@ --- title: Date Macros -description: Date Macros protocol schemas +description: "Date Macro Tokens — the declarative placeholders the UI substitutes into filter values before sending a query to the data engine." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/document.mdx b/content/docs/references/data/document.mdx index 7bad0f313e..452f9a57c0 100644 --- a/content/docs/references/data/document.mdx +++ b/content/docs/references/data/document.mdx @@ -1,6 +1,6 @@ --- title: Document -description: Document protocol schemas +description: "Document schemas of the ObjectStack Data Protocol: Document, DocumentTemplate and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-common.mdx b/content/docs/references/data/driver-common.mdx index d6c8a481f7..c97884fdcd 100644 --- a/content/docs/references/data/driver-common.mdx +++ b/content/docs/references/data/driver-common.mdx @@ -1,6 +1,6 @@ --- title: Driver Common -description: Driver Common protocol schemas +description: "Shared building blocks for the per-driver datasource.config shapes. Reference for DriverSslToggle, SqlAutoMigrate: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-memory.mdx b/content/docs/references/data/driver-memory.mdx index 2c40acb3b2..c07b5654f1 100644 --- a/content/docs/references/data/driver-memory.mdx +++ b/content/docs/references/data/driver-memory.mdx @@ -1,6 +1,6 @@ --- title: Driver Memory -description: Driver Memory protocol schemas +description: "Defines the configuration options for the in-memory driver. Reference: objectql/packages/drivers/memory (Mingo-powered production-ready driver)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-mongo.mdx b/content/docs/references/data/driver-mongo.mdx index 912b184510..23393a3bb4 100644 --- a/content/docs/references/data/driver-mongo.mdx +++ b/content/docs/references/data/driver-mongo.mdx @@ -1,6 +1,6 @@ --- title: Driver Mongo -description: Driver Mongo protocol schemas +description: "Describes the MongoDB connection settings and capabilities. ENFORCED as of #4410." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-mysql.mdx b/content/docs/references/data/driver-mysql.mdx index 2956264ef3..cb77848be1 100644 --- a/content/docs/references/data/driver-mysql.mdx +++ b/content/docs/references/data/driver-mysql.mdx @@ -1,6 +1,6 @@ --- title: Driver Mysql -description: Driver Mysql protocol schemas +description: "MySQL / MariaDB driver configuration — the config slot of a datasource whose driver resolves to mysql (mysql2)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-nosql.mdx b/content/docs/references/data/driver-nosql.mdx index fb4bb436bb..66fd0bc1cb 100644 --- a/content/docs/references/data/driver-nosql.mdx +++ b/content/docs/references/data/driver-nosql.mdx @@ -1,6 +1,6 @@ --- title: Driver Nosql -description: Driver Nosql protocol schemas +description: "Driver Nosql schemas of the ObjectStack Data Protocol: AggregationPipeline and 13 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-postgres.mdx b/content/docs/references/data/driver-postgres.mdx index 73996bc98c..806cc1662e 100644 --- a/content/docs/references/data/driver-postgres.mdx +++ b/content/docs/references/data/driver-postgres.mdx @@ -1,6 +1,6 @@ --- title: Driver Postgres -description: Driver Postgres protocol schemas +description: "PostgreSQL driver configuration — the config slot of a datasource whose driver resolves to postgres (pg / postgresql)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-sql.mdx b/content/docs/references/data/driver-sql.mdx index cb966d506b..aee15e0fb8 100644 --- a/content/docs/references/data/driver-sql.mdx +++ b/content/docs/references/data/driver-sql.mdx @@ -1,6 +1,6 @@ --- title: Driver Sql -description: Driver Sql protocol schemas +description: "Driver Sql schemas of the ObjectStack Data Protocol: DataTypeMapping, SQLDialect and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-sqlite.mdx b/content/docs/references/data/driver-sqlite.mdx index f63d106a4e..9cfdf2e8b8 100644 --- a/content/docs/references/data/driver-sqlite.mdx +++ b/content/docs/references/data/driver-sqlite.mdx @@ -1,6 +1,6 @@ --- title: Driver Sqlite -description: Driver Sqlite protocol schemas +description: "SQLite driver configuration — the config slot of a datasource whose driver resolves to sqlite or to sqlite-wasm (pure-JS)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver-turso.mdx b/content/docs/references/data/driver-turso.mdx index 51e3102bc1..c52a6fcb5b 100644 --- a/content/docs/references/data/driver-turso.mdx +++ b/content/docs/references/data/driver-turso.mdx @@ -1,6 +1,6 @@ --- title: Driver Turso -description: Driver Turso protocol schemas +description: "Turso / libSQL Driver Protocol. Reference for TursoConfig, TursoTransportMode: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/driver.mdx b/content/docs/references/data/driver.mdx index 70d7a73f77..52232ddcfc 100644 --- a/content/docs/references/data/driver.mdx +++ b/content/docs/references/data/driver.mdx @@ -1,6 +1,6 @@ --- title: Driver -description: Driver protocol schemas +description: "Driver schemas of the ObjectStack Data Protocol: DriverCapabilities, DriverConfig and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/external-catalog.mdx b/content/docs/references/data/external-catalog.mdx index 90a74855c1..97f8bc6f80 100644 --- a/content/docs/references/data/external-catalog.mdx +++ b/content/docs/references/data/external-catalog.mdx @@ -1,6 +1,6 @@ --- title: External Catalog -description: External Catalog protocol schemas +description: "ExternalCatalog — cached remote-schema snapshot for a federated datasource." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/feed.mdx b/content/docs/references/data/feed.mdx index 7e3c4d8977..d10a714088 100644 --- a/content/docs/references/data/feed.mdx +++ b/content/docs/references/data/feed.mdx @@ -1,6 +1,6 @@ --- title: Feed -description: Feed protocol schemas +description: "Activity-timeline UI config enums, and the sys_activity.type built-in set." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/field-value.mdx b/content/docs/references/data/field-value.mdx index b2252df969..7dcd142cd8 100644 --- a/content/docs/references/data/field-value.mdx +++ b/content/docs/references/data/field-value.mdx @@ -1,6 +1,6 @@ --- title: Field Value -description: Field Value protocol schemas +description: "Field runtime VALUE-shape contract. Reference for Address, AddressValue, CalendarDateValue, ClockTimeValue and 6 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/field.mdx b/content/docs/references/data/field.mdx index 2dd4380cbd..51aae976e0 100644 --- a/content/docs/references/data/field.mdx +++ b/content/docs/references/data/field.mdx @@ -1,6 +1,6 @@ --- title: Field -description: Field protocol schemas +description: "Field schemas of the ObjectStack Data Protocol: CurrencyConfig, CurrencyValue, Field and 7 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/filter.mdx b/content/docs/references/data/filter.mdx index dff739952e..f89c0e83ae 100644 --- a/content/docs/references/data/filter.mdx +++ b/content/docs/references/data/filter.mdx @@ -1,6 +1,6 @@ --- title: Filter -description: Filter protocol schemas +description: "Unified Query DSL Specification. Reference for ComparisonOperator, EqualityOperator, FieldOperators and 9 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/hook-body.mdx b/content/docs/references/data/hook-body.mdx index 1f675031c6..7f5a64f7e8 100644 --- a/content/docs/references/data/hook-body.mdx +++ b/content/docs/references/data/hook-body.mdx @@ -1,6 +1,6 @@ --- title: Hook Body -description: Hook Body protocol schemas +description: "Hook Body schemas of the ObjectStack Data Protocol: ExpressionBody, HookBody and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/hook.mdx b/content/docs/references/data/hook.mdx index 7675b965d7..efac49827b 100644 --- a/content/docs/references/data/hook.mdx +++ b/content/docs/references/data/hook.mdx @@ -1,6 +1,6 @@ --- title: Hook -description: Hook protocol schemas +description: "Hook schemas of the ObjectStack Data Protocol: Hook, HookContext, HookEvent — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/index.mdx b/content/docs/references/data/index.mdx index 77fe8842fb..7cdf0f0fd1 100644 --- a/content/docs/references/data/index.mdx +++ b/content/docs/references/data/index.mdx @@ -1,6 +1,6 @@ --- title: Data Protocol -description: Complete reference for all data protocol schemas +description: "The ObjectStack Data Protocol in 29 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/mapping.mdx b/content/docs/references/data/mapping.mdx index 34ccc2826b..6627c63582 100644 --- a/content/docs/references/data/mapping.mdx +++ b/content/docs/references/data/mapping.mdx @@ -1,6 +1,6 @@ --- title: Mapping -description: Mapping protocol schemas +description: "Mapping schemas of the ObjectStack Data Protocol: ImportFieldMapping, Mapping, TransformType — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/object.mdx b/content/docs/references/data/object.mdx index dff789d10e..8d68ea931e 100644 --- a/content/docs/references/data/object.mdx +++ b/content/docs/references/data/object.mdx @@ -1,6 +1,6 @@ --- title: Object -description: Object protocol schemas +description: "Object schemas of the ObjectStack Data Protocol: ApiMethod, ApiOperation, Index and 13 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/query.mdx b/content/docs/references/data/query.mdx index 85a7bd909d..e0b3ad9e35 100644 --- a/content/docs/references/data/query.mdx +++ b/content/docs/references/data/query.mdx @@ -1,6 +1,6 @@ --- title: Query -description: Query protocol schemas +description: "QueryAST — Abstract Syntax Tree for data queries. Reference for AggregationFunction, AggregationNode and 6 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/seed-loader.mdx b/content/docs/references/data/seed-loader.mdx index bba233fe8c..83b3ae0eff 100644 --- a/content/docs/references/data/seed-loader.mdx +++ b/content/docs/references/data/seed-loader.mdx @@ -1,6 +1,6 @@ --- title: Seed Loader -description: Seed Loader protocol schemas +description: "Defines the schemas for metadata-driven seed data loading with automatic relationship resolution, dependency ordering, and multi-pass insertion." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/seed.mdx b/content/docs/references/data/seed.mdx index d427064773..6acc3045cb 100644 --- a/content/docs/references/data/seed.mdx +++ b/content/docs/references/data/seed.mdx @@ -1,6 +1,6 @@ --- title: Seed -description: Seed protocol schemas +description: "Seed schemas of the ObjectStack Data Protocol: Seed, SeedMode — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/data/validation.mdx b/content/docs/references/data/validation.mdx index 42e02af7c3..3a777aef33 100644 --- a/content/docs/references/data/validation.mdx +++ b/content/docs/references/data/validation.mdx @@ -1,6 +1,6 @@ --- title: Validation -description: Validation protocol schemas +description: "This module defines the validation schema protocol for ObjectStack, providing a comprehensive type-safe validation system similar to Salesforce's validation…" --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/eval-user.mdx b/content/docs/references/identity/eval-user.mdx index 65b009b481..37e43fa6e7 100644 --- a/content/docs/references/identity/eval-user.mdx +++ b/content/docs/references/identity/eval-user.mdx @@ -1,6 +1,6 @@ --- title: Eval User -description: Eval User protocol schemas +description: "EvalUser — the one user-context contract. Reference for EvalUser: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/identity.mdx b/content/docs/references/identity/identity.mdx index f67c02203f..a077d24199 100644 --- a/content/docs/references/identity/identity.mdx +++ b/content/docs/references/identity/identity.mdx @@ -1,6 +1,6 @@ --- title: Identity -description: Identity protocol schemas +description: "Defines the standard user, account, and session data models for ObjectStack. These schemas represent \"who is logged in\" and their associated data." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/index.mdx b/content/docs/references/identity/index.mdx index 9d82922cf4..c23515d55f 100644 --- a/content/docs/references/identity/index.mdx +++ b/content/docs/references/identity/index.mdx @@ -1,6 +1,6 @@ --- title: Identity Protocol -description: Complete reference for all identity protocol schemas +description: "The ObjectStack Identity Protocol in 5 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/organization.mdx b/content/docs/references/identity/organization.mdx index 7274e32fa8..0382457dfe 100644 --- a/content/docs/references/identity/organization.mdx +++ b/content/docs/references/identity/organization.mdx @@ -1,6 +1,6 @@ --- title: Organization -description: Organization protocol schemas +description: "Defines the standard organization/workspace model for ObjectStack. Supports B2B SaaS scenarios where users belong to multiple teams/workspaces." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/position.mdx b/content/docs/references/identity/position.mdx index 2d7524875f..0b8558a9dd 100644 --- a/content/docs/references/identity/position.mdx +++ b/content/docs/references/identity/position.mdx @@ -1,6 +1,6 @@ --- title: Position -description: Position protocol schemas +description: "Position schemas of the ObjectStack Identity Protocol: Position — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/identity/scim.mdx b/content/docs/references/identity/scim.mdx index 92dbe07f04..0ac78da94d 100644 --- a/content/docs/references/identity/scim.mdx +++ b/content/docs/references/identity/scim.mdx @@ -1,6 +1,6 @@ --- title: Scim -description: Scim protocol schemas +description: "System for Cross-domain Identity Management (SCIM) 2.0 specification implementation for ObjectStack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/integration/connector.mdx b/content/docs/references/integration/connector.mdx index f8dccb6e1f..e2b6e8a1c9 100644 --- a/content/docs/references/integration/connector.mdx +++ b/content/docs/references/integration/connector.mdx @@ -1,6 +1,6 @@ --- title: Connector -description: Connector protocol schemas +description: "Defines the standard connector specification for external system integration." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/integration/index.mdx b/content/docs/references/integration/index.mdx index e26c830dab..0e5ff80e34 100644 --- a/content/docs/references/integration/index.mdx +++ b/content/docs/references/integration/index.mdx @@ -1,6 +1,6 @@ --- title: Integration Protocol -description: Complete reference for all integration protocol schemas +description: "The ObjectStack Integration Protocol in 1 reference page: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/cli-extension.mdx b/content/docs/references/kernel/cli-extension.mdx index e37bd5a816..c7671b3e70 100644 --- a/content/docs/references/kernel/cli-extension.mdx +++ b/content/docs/references/kernel/cli-extension.mdx @@ -1,6 +1,6 @@ --- title: Cli Extension -description: Cli Extension protocol schemas +description: "Defines the contract for plugins that extend the ObjectStack CLI with custom commands." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/cluster.mdx b/content/docs/references/kernel/cluster.mdx index e51a8179fa..9aed3b3bb5 100644 --- a/content/docs/references/kernel/cluster.mdx +++ b/content/docs/references/kernel/cluster.mdx @@ -1,6 +1,6 @@ --- title: Cluster -description: Cluster protocol schemas +description: "Defines the runtime semantics required for ObjectStack to behave correctly when more than one Node.js process is involved." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/context.mdx b/content/docs/references/kernel/context.mdx index 89a31c6f73..0044683301 100644 --- a/content/docs/references/kernel/context.mdx +++ b/content/docs/references/kernel/context.mdx @@ -1,6 +1,6 @@ --- title: Context -description: Context protocol schemas +description: "Context schemas of the ObjectStack Kernel Protocol: KernelContext, RuntimeMode and 1 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/dependency-resolution.mdx b/content/docs/references/kernel/dependency-resolution.mdx index 000dd7ed47..e5f580496b 100644 --- a/content/docs/references/kernel/dependency-resolution.mdx +++ b/content/docs/references/kernel/dependency-resolution.mdx @@ -1,6 +1,6 @@ --- title: Dependency Resolution -description: Dependency Resolution protocol schemas +description: "Defines schemas for runtime dependency resolution when installing, upgrading, or managing packages." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-bus.mdx b/content/docs/references/kernel/events-bus.mdx index e476b9284c..999b991d95 100644 --- a/content/docs/references/kernel/events-bus.mdx +++ b/content/docs/references/kernel/events-bus.mdx @@ -1,6 +1,6 @@ --- title: Events Bus -description: Events Bus protocol schemas +description: "Events Bus schemas of the ObjectStack Kernel Protocol: EventBusConfig — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-core.mdx b/content/docs/references/kernel/events-core.mdx index c690cffb32..7ed291994e 100644 --- a/content/docs/references/kernel/events-core.mdx +++ b/content/docs/references/kernel/events-core.mdx @@ -1,6 +1,6 @@ --- title: Events Core -description: Events Core protocol schemas +description: "Events Core schemas of the ObjectStack Kernel Protocol: Event, EventMetadata and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-dlq.mdx b/content/docs/references/kernel/events-dlq.mdx index cf4c08b938..2196946422 100644 --- a/content/docs/references/kernel/events-dlq.mdx +++ b/content/docs/references/kernel/events-dlq.mdx @@ -1,6 +1,6 @@ --- title: Events Dlq -description: Events Dlq protocol schemas +description: "Events Dlq schemas of the ObjectStack Kernel Protocol: DeadLetterQueueEntry, EventLogEntry — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-handlers.mdx b/content/docs/references/kernel/events-handlers.mdx index 5761bbef89..6a214fa957 100644 --- a/content/docs/references/kernel/events-handlers.mdx +++ b/content/docs/references/kernel/events-handlers.mdx @@ -1,6 +1,6 @@ --- title: Events Handlers -description: Events Handlers protocol schemas +description: "Events Handlers schemas of the ObjectStack Kernel Protocol: EventHandler and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-integrations.mdx b/content/docs/references/kernel/events-integrations.mdx index 6b4d6dba5e..5e983ba700 100644 --- a/content/docs/references/kernel/events-integrations.mdx +++ b/content/docs/references/kernel/events-integrations.mdx @@ -1,6 +1,6 @@ --- title: Events Integrations -description: Events Integrations protocol schemas +description: "Events Integrations schemas of the ObjectStack Kernel Protocol — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/events-queue.mdx b/content/docs/references/kernel/events-queue.mdx index ebdf5816c5..6c6ade8e2c 100644 --- a/content/docs/references/kernel/events-queue.mdx +++ b/content/docs/references/kernel/events-queue.mdx @@ -1,6 +1,6 @@ --- title: Events Queue -description: Events Queue protocol schemas +description: "Events Queue schemas of the ObjectStack Kernel Protocol: EventQueueConfig and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/execution-context.mdx b/content/docs/references/kernel/execution-context.mdx index f41e86c940..4caf25005f 100644 --- a/content/docs/references/kernel/execution-context.mdx +++ b/content/docs/references/kernel/execution-context.mdx @@ -1,6 +1,6 @@ --- title: Execution Context -description: Execution Context protocol schemas +description: "Execution Context schemas of the ObjectStack Kernel Protocol: ExecutionContext — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/index.mdx b/content/docs/references/kernel/index.mdx index fd477dd7be..86f7bdfe4f 100644 --- a/content/docs/references/kernel/index.mdx +++ b/content/docs/references/kernel/index.mdx @@ -1,6 +1,6 @@ --- title: Kernel Protocol -description: Complete reference for all kernel protocol schemas +description: "The ObjectStack Kernel Protocol in 30 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/manifest.mdx b/content/docs/references/kernel/manifest.mdx index dc823c2f7a..84da4fb750 100644 --- a/content/docs/references/kernel/manifest.mdx +++ b/content/docs/references/kernel/manifest.mdx @@ -1,6 +1,6 @@ --- title: Manifest -description: Manifest protocol schemas +description: "Manifest schemas of the ObjectStack Kernel Protocol: Manifest, ManifestPermissions and 5 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/metadata-loader.mdx b/content/docs/references/kernel/metadata-loader.mdx index 33e5193e50..c12d5ab539 100644 --- a/content/docs/references/kernel/metadata-loader.mdx +++ b/content/docs/references/kernel/metadata-loader.mdx @@ -1,6 +1,6 @@ --- title: Metadata Loader -description: Metadata Loader protocol schemas +description: "How the runtime MetadataManager is wired: which datasource backs sys_metadata, what to fall back to when that datasource is unreachable." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/metadata-plugin.mdx b/content/docs/references/kernel/metadata-plugin.mdx index fd593b3b26..ad899131ac 100644 --- a/content/docs/references/kernel/metadata-plugin.mdx +++ b/content/docs/references/kernel/metadata-plugin.mdx @@ -1,6 +1,6 @@ --- title: Metadata Plugin -description: Metadata Plugin protocol schemas +description: "Defines the specification for the Metadata Plugin — the central authority responsible for managing ALL metadata across the ObjectStack platform." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/metadata-protection.mdx b/content/docs/references/kernel/metadata-protection.mdx index faabad30b7..d1798d8489 100644 --- a/content/docs/references/kernel/metadata-protection.mdx +++ b/content/docs/references/kernel/metadata-protection.mdx @@ -1,6 +1,6 @@ --- title: Metadata Protection -description: Metadata Protection protocol schemas +description: "Phase 1 introduces the item-level lock (_lock) and the provenance / package tags that drive it." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/package-artifact.mdx b/content/docs/references/kernel/package-artifact.mdx index 13b32b2cc6..8d89881d53 100644 --- a/content/docs/references/kernel/package-artifact.mdx +++ b/content/docs/references/kernel/package-artifact.mdx @@ -1,6 +1,6 @@ --- title: Package Artifact -description: Package Artifact protocol schemas +description: "Defines the standard structure of a package artifact (.tgz) produced by the build pipeline." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/package-registry.mdx b/content/docs/references/kernel/package-registry.mdx index 3b1ead7faf..036b0c2c61 100644 --- a/content/docs/references/kernel/package-registry.mdx +++ b/content/docs/references/kernel/package-registry.mdx @@ -1,6 +1,6 @@ --- title: Package Registry -description: Package Registry protocol schemas +description: "Defines the runtime state and lifecycle operations for installed packages." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/package-upgrade.mdx b/content/docs/references/kernel/package-upgrade.mdx index b5dfda06a7..d024e05686 100644 --- a/content/docs/references/kernel/package-upgrade.mdx +++ b/content/docs/references/kernel/package-upgrade.mdx @@ -1,6 +1,6 @@ --- title: Package Upgrade -description: Package Upgrade protocol schemas +description: "Defines the complete lifecycle for upgrading installed packages, including pre-upgrade analysis, snapshot/backup, execution, validation." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-capability.mdx b/content/docs/references/kernel/plugin-capability.mdx index 3ea87f6b97..21cfd8641b 100644 --- a/content/docs/references/kernel/plugin-capability.mdx +++ b/content/docs/references/kernel/plugin-capability.mdx @@ -1,6 +1,6 @@ --- title: Plugin Capability -description: Plugin Capability protocol schemas +description: "Defines the standard way plugins declare their capabilities, implementations, and conformance levels to ensure interoperability across vendors." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-lifecycle-advanced.mdx b/content/docs/references/kernel/plugin-lifecycle-advanced.mdx index 5a0fbf681d..028462ab95 100644 --- a/content/docs/references/kernel/plugin-lifecycle-advanced.mdx +++ b/content/docs/references/kernel/plugin-lifecycle-advanced.mdx @@ -1,6 +1,6 @@ --- title: Plugin Lifecycle Advanced -description: Plugin Lifecycle Advanced protocol schemas +description: "Declares the INPUT contracts of the host-driven lifecycle classes exported by @objectstack/core — PluginHealthMonitor." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-loading.mdx b/content/docs/references/kernel/plugin-loading.mdx index f15c1150fa..ac2ccd08bf 100644 --- a/content/docs/references/kernel/plugin-loading.mdx +++ b/content/docs/references/kernel/plugin-loading.mdx @@ -1,6 +1,6 @@ --- title: Plugin Loading -description: Plugin Loading protocol schemas +description: "What remains of this module is the observational half: the lifecycle event a loader would emit." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-registry.mdx b/content/docs/references/kernel/plugin-registry.mdx index 04b9295cc2..4aae3bdd53 100644 --- a/content/docs/references/kernel/plugin-registry.mdx +++ b/content/docs/references/kernel/plugin-registry.mdx @@ -1,6 +1,6 @@ --- title: Plugin Registry -description: Plugin Registry protocol schemas +description: "Plugin Registry Protocol — Defines the schema for the plugin discovery and registry system." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-security-advanced.mdx b/content/docs/references/kernel/plugin-security-advanced.mdx index 353fabcd3f..0ba0c75994 100644 --- a/content/docs/references/kernel/plugin-security-advanced.mdx +++ b/content/docs/references/kernel/plugin-security-advanced.mdx @@ -1,6 +1,6 @@ --- title: Plugin Security Advanced -description: Plugin Security Advanced protocol schemas +description: "Defines comprehensive security mechanisms for plugin isolation, permission management, and threat protection in the ObjectStack ecosystem." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-security.mdx b/content/docs/references/kernel/plugin-security.mdx index 6ad7b823c9..50305930dd 100644 --- a/content/docs/references/kernel/plugin-security.mdx +++ b/content/docs/references/kernel/plugin-security.mdx @@ -1,6 +1,6 @@ --- title: Plugin Security -description: Plugin Security protocol schemas +description: "Provides comprehensive security scanning, vulnerability management, and dependency resolution for the ObjectStack plugin ecosystem." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-structure.mdx b/content/docs/references/kernel/plugin-structure.mdx index 85224ef789..2e738e946f 100644 --- a/content/docs/references/kernel/plugin-structure.mdx +++ b/content/docs/references/kernel/plugin-structure.mdx @@ -1,6 +1,6 @@ --- title: Plugin Structure -description: Plugin Structure protocol schemas +description: "Formal Zod definitions for the Plugin Directory Structure and File Naming conventions. This can be used by the CLI or IDE extensions to lint project structure." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-validator.mdx b/content/docs/references/kernel/plugin-validator.mdx index d3e7d0dc99..4c5431e233 100644 --- a/content/docs/references/kernel/plugin-validator.mdx +++ b/content/docs/references/kernel/plugin-validator.mdx @@ -1,6 +1,6 @@ --- title: Plugin Validator -description: Plugin Validator protocol schemas +description: "Zod schemas for plugin validation data structures. These schemas align with the IPluginValidator contract interface." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin-versioning.mdx b/content/docs/references/kernel/plugin-versioning.mdx index b146e849f1..871b14fb00 100644 --- a/content/docs/references/kernel/plugin-versioning.mdx +++ b/content/docs/references/kernel/plugin-versioning.mdx @@ -1,6 +1,6 @@ --- title: Plugin Versioning -description: Plugin Versioning protocol schemas +description: "Defines comprehensive versioning, compatibility checking, and dependency resolution mechanisms for the plugin ecosystem." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/plugin.mdx b/content/docs/references/kernel/plugin.mdx index b5898da4db..ec36298808 100644 --- a/content/docs/references/kernel/plugin.mdx +++ b/content/docs/references/kernel/plugin.mdx @@ -1,6 +1,6 @@ --- title: Plugin -description: Plugin protocol schemas +description: "Plugin schemas of the ObjectStack Kernel Protocol: Plugin — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/service-registry.mdx b/content/docs/references/kernel/service-registry.mdx index 0814787dc8..cb6c539237 100644 --- a/content/docs/references/kernel/service-registry.mdx +++ b/content/docs/references/kernel/service-registry.mdx @@ -1,6 +1,6 @@ --- title: Service Registry -description: Service Registry protocol schemas +description: "Zod schemas for service registry data structures. These schemas align with the IServiceRegistry contract interface." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/kernel/startup-orchestrator.mdx b/content/docs/references/kernel/startup-orchestrator.mdx index 192b22348a..33bc206708 100644 --- a/content/docs/references/kernel/startup-orchestrator.mdx +++ b/content/docs/references/kernel/startup-orchestrator.mdx @@ -1,6 +1,6 @@ --- title: Startup Orchestrator -description: Startup Orchestrator protocol schemas +description: "One schema, describing the one startup datum the kernel actually produces." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/marketplace/index.mdx b/content/docs/references/marketplace/index.mdx index 80df67276d..eca20dab13 100644 --- a/content/docs/references/marketplace/index.mdx +++ b/content/docs/references/marketplace/index.mdx @@ -1,6 +1,6 @@ --- title: Marketplace Protocol -description: Complete reference for all marketplace protocol schemas +description: "The ObjectStack Marketplace Protocol in 4 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/marketplace/marketplace.mdx b/content/docs/references/marketplace/marketplace.mdx index 913d9c2cc2..8802e5029b 100644 --- a/content/docs/references/marketplace/marketplace.mdx +++ b/content/docs/references/marketplace/marketplace.mdx @@ -1,6 +1,6 @@ --- title: Marketplace -description: Marketplace protocol schemas +description: "Marketplace Protocol — Defines the core schemas for the plugin marketplace ecosystem." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/marketplace/package-version.mdx b/content/docs/references/marketplace/package-version.mdx index 0b8a5f12b3..ec09f3e594 100644 --- a/content/docs/references/marketplace/package-version.mdx +++ b/content/docs/references/marketplace/package-version.mdx @@ -1,6 +1,6 @@ --- title: Package Version -description: Package Version protocol schemas +description: "Package Version Protocol — A package version is an immutable release snapshot of a package." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/marketplace/package.mdx b/content/docs/references/marketplace/package.mdx index fc6a468366..5f7d44701d 100644 --- a/content/docs/references/marketplace/package.mdx +++ b/content/docs/references/marketplace/package.mdx @@ -1,6 +1,6 @@ --- title: Package -description: Package protocol schemas +description: "A package (also called a Solution in Power Platform, an Unlocked Package in Salesforce, or an Application in ServiceNow) is the first-class unit of…" --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/marketplace/template-manifest.mdx b/content/docs/references/marketplace/template-manifest.mdx index 0d8390c6cd..e1a164974b 100644 --- a/content/docs/references/marketplace/template-manifest.mdx +++ b/content/docs/references/marketplace/template-manifest.mdx @@ -1,6 +1,6 @@ --- title: Template Manifest -description: Template Manifest protocol schemas +description: "objectstack.manifest.json — on-disk descriptor for a template / package source tree." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/qa/index.mdx b/content/docs/references/qa/index.mdx index 79888d2331..793a86a3ee 100644 --- a/content/docs/references/qa/index.mdx +++ b/content/docs/references/qa/index.mdx @@ -1,6 +1,6 @@ --- title: QA Protocol -description: Complete reference for all qa protocol schemas +description: "The ObjectStack QA Protocol in 1 reference page: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/qa/testing.mdx b/content/docs/references/qa/testing.mdx index 36c0dbfcb6..d0ca550228 100644 --- a/content/docs/references/qa/testing.mdx +++ b/content/docs/references/qa/testing.mdx @@ -1,6 +1,6 @@ --- title: Testing -description: Testing protocol schemas +description: "Testing schemas of the ObjectStack QA Protocol: TestAction, TestActionType and 6 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/explain.mdx b/content/docs/references/security/explain.mdx index 64acffc5c8..cda660cb7a 100644 --- a/content/docs/references/security/explain.mdx +++ b/content/docs/references/security/explain.mdx @@ -1,6 +1,6 @@ --- title: Explain -description: Explain protocol schemas +description: "Access-explanation contract — explain(principal, object, operation) as a first-class API." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/index.mdx b/content/docs/references/security/index.mdx index 98aaa792c5..a44978aea1 100644 --- a/content/docs/references/security/index.mdx +++ b/content/docs/references/security/index.mdx @@ -1,6 +1,6 @@ --- title: Security Protocol -description: Complete reference for all security protocol schemas +description: "The ObjectStack Security Protocol in 5 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/misc.mdx b/content/docs/references/security/misc.mdx index 660df0197d..7f41986fc4 100644 --- a/content/docs/references/security/misc.mdx +++ b/content/docs/references/security/misc.mdx @@ -1,6 +1,6 @@ --- title: Misc -description: Misc protocol schemas +description: "Misc schemas of the ObjectStack Security Protocol: CapabilityDeclaration and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/permission.mdx b/content/docs/references/security/permission.mdx index bfafecaf66..065dd4b8dc 100644 --- a/content/docs/references/security/permission.mdx +++ b/content/docs/references/security/permission.mdx @@ -1,6 +1,6 @@ --- title: Permission -description: Permission protocol schemas +description: "Permission schemas of the ObjectStack Security Protocol: AdminScope and 5 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/rls.mdx b/content/docs/references/security/rls.mdx index e0b989c21c..902beb376a 100644 --- a/content/docs/references/security/rls.mdx +++ b/content/docs/references/security/rls.mdx @@ -1,6 +1,6 @@ --- title: Rls -description: Rls protocol schemas +description: "Implements fine-grained record-level access control inspired by PostgreSQL RLS and Salesforce Criteria-Based Sharing Rules." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/security/sharing.mdx b/content/docs/references/security/sharing.mdx index f736c8db78..33bedb6c63 100644 --- a/content/docs/references/security/sharing.mdx +++ b/content/docs/references/security/sharing.mdx @@ -1,6 +1,6 @@ --- title: Sharing -description: Sharing protocol schemas +description: "Sharing schemas of the ObjectStack Security Protocol: CriteriaSharingRule, OWDModel and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/duration.mdx b/content/docs/references/shared/duration.mdx index f35029c1b6..7d9c6739df 100644 --- a/content/docs/references/shared/duration.mdx +++ b/content/docs/references/shared/duration.mdx @@ -1,6 +1,6 @@ --- title: Duration -description: Duration protocol schemas +description: "Duration schemas of the ObjectStack Shared Protocol: DurationMs, DurationSeconds — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/enums.mdx b/content/docs/references/shared/enums.mdx index d05c51336f..3f9cec7fef 100644 --- a/content/docs/references/shared/enums.mdx +++ b/content/docs/references/shared/enums.mdx @@ -1,6 +1,6 @@ --- title: Enums -description: Enums protocol schemas +description: "Enums schemas of the ObjectStack Shared Protocol: IsolationLevelEnum and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/epoch.mdx b/content/docs/references/shared/epoch.mdx index 0e43aebfb6..d0c0cfd2b2 100644 --- a/content/docs/references/shared/epoch.mdx +++ b/content/docs/references/shared/epoch.mdx @@ -1,6 +1,6 @@ --- title: Epoch -description: Epoch protocol schemas +description: "Epoch schemas of the ObjectStack Shared Protocol: EpochMs — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/expression.mdx b/content/docs/references/shared/expression.mdx index b8c4114d5f..14df836618 100644 --- a/content/docs/references/shared/expression.mdx +++ b/content/docs/references/shared/expression.mdx @@ -1,6 +1,6 @@ --- title: Expression -description: Expression protocol schemas +description: "Canonical wire format for all \"expression\"-shaped metadata across ObjectStack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/http.mdx b/content/docs/references/shared/http.mdx index cb5c556062..04d43f16bb 100644 --- a/content/docs/references/shared/http.mdx +++ b/content/docs/references/shared/http.mdx @@ -1,6 +1,6 @@ --- title: Http -description: Http protocol schemas +description: "Common HTTP-related schemas used across API and System protocols. These schemas ensure consistency across different parts of the stack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/identifiers.mdx b/content/docs/references/shared/identifiers.mdx index 606e858075..a9194c84d3 100644 --- a/content/docs/references/shared/identifiers.mdx +++ b/content/docs/references/shared/identifiers.mdx @@ -1,6 +1,6 @@ --- title: Identifiers -description: Identifiers protocol schemas +description: "Identifiers schemas of the ObjectStack Shared Protocol: MetadataItemName and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/index.mdx b/content/docs/references/shared/index.mdx index d0b9a1d369..afb6384eb8 100644 --- a/content/docs/references/shared/index.mdx +++ b/content/docs/references/shared/index.mdx @@ -1,6 +1,6 @@ --- title: Shared Protocol -description: Complete reference for all shared protocol schemas +description: "The ObjectStack Shared Protocol in 10 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/mapping.mdx b/content/docs/references/shared/mapping.mdx index 4a00cff5fb..07b62544fb 100644 --- a/content/docs/references/shared/mapping.mdx +++ b/content/docs/references/shared/mapping.mdx @@ -1,6 +1,6 @@ --- title: Mapping -description: Mapping protocol schemas +description: "This module provides the canonical field mapping schema used across ObjectStack for data synchronization." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/metadata-types.mdx b/content/docs/references/shared/metadata-types.mdx index bacdfc0d40..f77374950f 100644 --- a/content/docs/references/shared/metadata-types.mdx +++ b/content/docs/references/shared/metadata-types.mdx @@ -1,6 +1,6 @@ --- title: Metadata Types -description: Metadata Types protocol schemas +description: "Metadata Types schemas of the ObjectStack Shared Protocol: BaseMetadataRecord, MetadataFormat — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/protection.mdx b/content/docs/references/shared/protection.mdx index 1186d1cf0b..6a99bf70f1 100644 --- a/content/docs/references/shared/protection.mdx +++ b/content/docs/references/shared/protection.mdx @@ -1,6 +1,6 @@ --- title: Protection -description: Protection protocol schemas +description: "Public, type-safe author surface for package authors to declare how much of one of their metadata items the runtime." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/shared/value-domain.mdx b/content/docs/references/shared/value-domain.mdx index 7ba96e5841..5d7ae56507 100644 --- a/content/docs/references/shared/value-domain.mdx +++ b/content/docs/references/shared/value-domain.mdx @@ -1,6 +1,6 @@ --- title: Value Domain -description: Value Domain protocol schemas +description: "Standard value domains: one closed vocabulary and one membership predicate for settings and fields." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/studio/flow-builder.mdx b/content/docs/references/studio/flow-builder.mdx index b4edd84d70..6bcec3db5a 100644 --- a/content/docs/references/studio/flow-builder.mdx +++ b/content/docs/references/studio/flow-builder.mdx @@ -1,6 +1,6 @@ --- title: Flow Builder -description: Flow Builder protocol schemas +description: "Studio Flow Builder Protocol. Reference for FlowBuilderConfig, FlowCanvasEdge, FlowCanvasEdgeStyle and 5 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/studio/index.mdx b/content/docs/references/studio/index.mdx index e4c4596d67..0b74fe5ecb 100644 --- a/content/docs/references/studio/index.mdx +++ b/content/docs/references/studio/index.mdx @@ -1,6 +1,6 @@ --- title: Studio Protocol -description: Complete reference for all studio protocol schemas +description: "The ObjectStack Studio Protocol in 3 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/studio/object-designer.mdx b/content/docs/references/studio/object-designer.mdx index b58098ddb2..9fe34e201e 100644 --- a/content/docs/references/studio/object-designer.mdx +++ b/content/docs/references/studio/object-designer.mdx @@ -1,6 +1,6 @@ --- title: Object Designer -description: Object Designer protocol schemas +description: "Defines the specification for the Object Designer experience within ObjectStack Studio." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/studio/plugin.mdx b/content/docs/references/studio/plugin.mdx index ef19345b40..d1b4828240 100644 --- a/content/docs/references/studio/plugin.mdx +++ b/content/docs/references/studio/plugin.mdx @@ -1,6 +1,6 @@ --- title: Plugin -description: Plugin protocol schemas +description: "Defines the specification for Studio plugins — a VS Code-like extension model that allows each metadata type to contribute custom viewers, designers." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/app-install.mdx b/content/docs/references/system/app-install.mdx index 060f1c8df1..3dcd6ed0b9 100644 --- a/content/docs/references/system/app-install.mdx +++ b/content/docs/references/system/app-install.mdx @@ -1,6 +1,6 @@ --- title: App Install -description: App Install protocol schemas +description: "Defines the schemas for installing marketplace apps into tenant databases." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/auth-config.mdx b/content/docs/references/system/auth-config.mdx index af7159166a..ccc9251327 100644 --- a/content/docs/references/system/auth-config.mdx +++ b/content/docs/references/system/auth-config.mdx @@ -1,6 +1,6 @@ --- title: Auth Config -description: Auth Config protocol schemas +description: "Auth Config schemas of the ObjectStack System Protocol: AdvancedAuthConfig and 10 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/book.mdx b/content/docs/references/system/book.mdx index ad26d83997..9ba2e16117 100644 --- a/content/docs/references/system/book.mdx +++ b/content/docs/references/system/book.mdx @@ -1,6 +1,6 @@ --- title: Book -description: Book protocol schemas +description: "Package Documentation Navigation — the book element. A book is the spine of a table of contents: an ordered set of groups (sections) plus identity and access." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/cache.mdx b/content/docs/references/system/cache.mdx index 4663453302..21198a4bd0 100644 --- a/content/docs/references/system/cache.mdx +++ b/content/docs/references/system/cache.mdx @@ -1,6 +1,6 @@ --- title: Cache -description: Cache protocol schemas +description: "Multi-tier caching strategy for application data. Supports Memory, Redis, Memcached, and CDN." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/collaboration.mdx b/content/docs/references/system/collaboration.mdx index bc72ef2ddf..2246cda6fa 100644 --- a/content/docs/references/system/collaboration.mdx +++ b/content/docs/references/system/collaboration.mdx @@ -1,6 +1,6 @@ --- title: Collaboration -description: Collaboration protocol schemas +description: "Real-Time Collaboration Protocol — Defines schemas for real-time collaborative editing in ObjectStack." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/core-services.mdx b/content/docs/references/system/core-services.mdx index 55ef1df0d2..9a381de477 100644 --- a/content/docs/references/system/core-services.mdx +++ b/content/docs/references/system/core-services.mdx @@ -1,6 +1,6 @@ --- title: Core Services -description: Core Services protocol schemas +description: "Defines the standard built-in services that constitute the ObjectStack Kernel." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/deploy-bundle.mdx b/content/docs/references/system/deploy-bundle.mdx index 0d9a395b8d..b9db04fd0a 100644 --- a/content/docs/references/system/deploy-bundle.mdx +++ b/content/docs/references/system/deploy-bundle.mdx @@ -1,6 +1,6 @@ --- title: Deploy Bundle -description: Deploy Bundle protocol schemas +description: "Defines the schemas for metadata-driven deployment: Schema Push → Zod Validate → Diff → DDL Sync → Register." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/dev-login.mdx b/content/docs/references/system/dev-login.mdx index 616922cd2c..da9cf0da79 100644 --- a/content/docs/references/system/dev-login.mdx +++ b/content/docs/references/system/dev-login.mdx @@ -1,6 +1,6 @@ --- title: Dev Login -description: Dev Login protocol schemas +description: "Dev Login schemas of the ObjectStack System Protocol: DevLogin — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/disaster-recovery.mdx b/content/docs/references/system/disaster-recovery.mdx index c75bdeaff6..e3d91fe63b 100644 --- a/content/docs/references/system/disaster-recovery.mdx +++ b/content/docs/references/system/disaster-recovery.mdx @@ -1,6 +1,6 @@ --- title: Disaster Recovery -description: Disaster Recovery protocol schemas +description: "Disaster Recovery schemas of the ObjectStack System Protocol: BackupConfig and 7 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/doc.mdx b/content/docs/references/system/doc.mdx index 71a8089705..2ed88455ad 100644 --- a/content/docs/references/system/doc.mdx +++ b/content/docs/references/system/doc.mdx @@ -1,6 +1,6 @@ --- title: Doc -description: Doc protocol schemas +description: "One doc item per Markdown file under the package's flat src/docs/ directory (no subdirectories — flatness is the contract that keeps cross-references stable)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/email-config.mdx b/content/docs/references/system/email-config.mdx index cbd434aa17..e8a66857b9 100644 --- a/content/docs/references/system/email-config.mdx +++ b/content/docs/references/system/email-config.mdx @@ -1,6 +1,6 @@ --- title: Email Config -description: Email Config protocol schemas +description: "Operator-facing configuration that selects the outbound email transport for the EmailServicePlugin." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/email-template.mdx b/content/docs/references/system/email-template.mdx index 9e8a637991..8a47bb72f5 100644 --- a/content/docs/references/system/email-template.mdx +++ b/content/docs/references/system/email-template.mdx @@ -1,6 +1,6 @@ --- title: Email Template -description: Email Template protocol schemas +description: "Declarative template definition consumed by IEmailService.sendTemplate() to render outbound mail." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/encryption.mdx b/content/docs/references/system/encryption.mdx index 1aa03c6476..b72055a20b 100644 --- a/content/docs/references/system/encryption.mdx +++ b/content/docs/references/system/encryption.mdx @@ -1,6 +1,6 @@ --- title: Encryption -description: Encryption protocol schemas +description: "Encryption schemas of the ObjectStack System Protocol: EncryptionAlgorithm and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/environment-artifact.mdx b/content/docs/references/system/environment-artifact.mdx index c0d73a4967..5288b58110 100644 --- a/content/docs/references/system/environment-artifact.mdx +++ b/content/docs/references/system/environment-artifact.mdx @@ -1,6 +1,6 @@ --- title: Environment Artifact -description: Environment Artifact protocol schemas +description: "THE single declaration of the environment artifact envelope. @objectstack/spec/system is now its ONLY entry point." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/http-server.mdx b/content/docs/references/system/http-server.mdx index 6aff59e4c6..046d6e886d 100644 --- a/content/docs/references/system/http-server.mdx +++ b/content/docs/references/system/http-server.mdx @@ -1,6 +1,6 @@ --- title: Http Server -description: Http Server protocol schemas +description: "Route-registration metadata, middleware declaration and the server-side lifecycle/status vocabulary for HTTP server implementations." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/index.mdx b/content/docs/references/system/index.mdx index 5273bab520..0bfa0f90fa 100644 --- a/content/docs/references/system/index.mdx +++ b/content/docs/references/system/index.mdx @@ -1,6 +1,6 @@ --- title: System Protocol -description: Complete reference for all system protocol schemas +description: "The ObjectStack System Protocol in 34 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/job.mdx b/content/docs/references/system/job.mdx index be058a4fdb..9877e12211 100644 --- a/content/docs/references/system/job.mdx +++ b/content/docs/references/system/job.mdx @@ -1,6 +1,6 @@ --- title: Job -description: Job protocol schemas +description: "Job schemas of the ObjectStack System Protocol: CronSchedule, IntervalSchedule, Job and 5 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/license.mdx b/content/docs/references/system/license.mdx index a148a93408..1cd1aff731 100644 --- a/content/docs/references/system/license.mdx +++ b/content/docs/references/system/license.mdx @@ -1,6 +1,6 @@ --- title: License -description: License protocol schemas +description: "License schemas of the ObjectStack System Protocol: Feature, License, LicenseMetricType, Plan — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/logging.mdx b/content/docs/references/system/logging.mdx index 499e2a45a3..cdf75fa63e 100644 --- a/content/docs/references/system/logging.mdx +++ b/content/docs/references/system/logging.mdx @@ -1,6 +1,6 @@ --- title: Logging -description: Logging protocol schemas +description: "Logging Protocol - Comprehensive Observability Logging. Reference for ConsoleDestinationConfig and 13 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/metadata-persistence.mdx b/content/docs/references/system/metadata-persistence.mdx index f10013384a..e30d0647f1 100644 --- a/content/docs/references/system/metadata-persistence.mdx +++ b/content/docs/references/system/metadata-persistence.mdx @@ -1,6 +1,6 @@ --- title: Metadata Persistence -description: Metadata Persistence protocol schemas +description: "Metadata Persistence schemas of the ObjectStack System Protocol — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/metrics.mdx b/content/docs/references/system/metrics.mdx index 5423fdffc0..c2fbe9e9e5 100644 --- a/content/docs/references/system/metrics.mdx +++ b/content/docs/references/system/metrics.mdx @@ -1,6 +1,6 @@ --- title: Metrics -description: Metrics protocol schemas +description: "Metrics Protocol - Performance and Operational Metrics. Reference for HistogramBucketConfig and 13 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/migration.mdx b/content/docs/references/system/migration.mdx index e9907dec39..9047ffb7e4 100644 --- a/content/docs/references/system/migration.mdx +++ b/content/docs/references/system/migration.mdx @@ -1,6 +1,6 @@ --- title: Migration -description: Migration protocol schemas +description: "Migration protocol — the two kinds of migration, kept apart on purpose." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/notification.mdx b/content/docs/references/system/notification.mdx index 900c593c31..1ed16aa56b 100644 --- a/content/docs/references/system/notification.mdx +++ b/content/docs/references/system/notification.mdx @@ -1,6 +1,6 @@ --- title: Notification -description: Notification protocol schemas +description: "Notification schemas of the ObjectStack System Protocol: NotificationChannel — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/object-storage.mdx b/content/docs/references/system/object-storage.mdx index bacdc8e6c4..0da0cf2f21 100644 --- a/content/docs/references/system/object-storage.mdx +++ b/content/docs/references/system/object-storage.mdx @@ -1,6 +1,6 @@ --- title: Object Storage -description: Object Storage protocol schemas +description: "Object Storage Protocol. Reference for AccessControlConfig, BucketConfig, FileMetadata, LifecycleAction and 11 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/registry-config.mdx b/content/docs/references/system/registry-config.mdx index 5168650457..dee2d2faad 100644 --- a/content/docs/references/system/registry-config.mdx +++ b/content/docs/references/system/registry-config.mdx @@ -1,6 +1,6 @@ --- title: Registry Config -description: Registry Config protocol schemas +description: "Defines the configuration for the ObjectStack Registry Service. Includes federation, synchronization, and storage settings." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/search-engine.mdx b/content/docs/references/system/search-engine.mdx index 0c08a1c9a8..6bf1cfd89e 100644 --- a/content/docs/references/system/search-engine.mdx +++ b/content/docs/references/system/search-engine.mdx @@ -1,6 +1,6 @@ --- title: Search Engine -description: Search Engine protocol schemas +description: "Search Engine schemas of the ObjectStack System Protocol: AnalyzerConfig and 4 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/security-context.mdx b/content/docs/references/system/security-context.mdx index ee19b32005..8451120281 100644 --- a/content/docs/references/system/security-context.mdx +++ b/content/docs/references/system/security-context.mdx @@ -1,6 +1,6 @@ --- title: Security Context -description: Security Context protocol schemas +description: "Provides a central governance layer that correlates and unifies the four independent security subsystems it was designed against." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/settings-client.mdx b/content/docs/references/system/settings-client.mdx index b3b589a8fe..b029eca43d 100644 --- a/content/docs/references/system/settings-client.mdx +++ b/content/docs/references/system/settings-client.mdx @@ -1,6 +1,6 @@ --- title: Settings Client -description: Settings Client protocol schemas +description: "SettingsClient — reactive consumer contract for runtime settings. Reference for SettingsChangeEvent: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/settings-manifest.mdx b/content/docs/references/system/settings-manifest.mdx index 3dd74e8d79..110e92e602 100644 --- a/content/docs/references/system/settings-manifest.mdx +++ b/content/docs/references/system/settings-manifest.mdx @@ -1,6 +1,6 @@ --- title: Settings Manifest -description: Settings Manifest protocol schemas +description: "Declarative description of a single namespace of platform settings (e.g. mail, branding, feature_flags)." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/stack-server.mdx b/content/docs/references/system/stack-server.mdx index e5db40f2dc..b9e41c8549 100644 --- a/content/docs/references/system/stack-server.mdx +++ b/content/docs/references/system/stack-server.mdx @@ -1,6 +1,6 @@ --- title: Stack Server -description: Stack Server protocol schemas +description: "defineStack({ server }) — the authorable server-facing configuration. Reference for ServerRateLimitConfig and 2 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/supplier-security.mdx b/content/docs/references/system/supplier-security.mdx index 85a1f72cf8..32f52f2227 100644 --- a/content/docs/references/system/supplier-security.mdx +++ b/content/docs/references/system/supplier-security.mdx @@ -1,6 +1,6 @@ --- title: Supplier Security -description: Supplier Security protocol schemas +description: "Defines schemas for supplier information security management including risk assessment, security requirements, monitoring, and change control." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/tenant.mdx b/content/docs/references/system/tenant.mdx index d5bf678f8e..00ff5ded78 100644 --- a/content/docs/references/system/tenant.mdx +++ b/content/docs/references/system/tenant.mdx @@ -1,6 +1,6 @@ --- title: Tenant -description: Tenant protocol schemas +description: "Tenant Schema (Multi-Tenant Architecture) — Defines the tenant/tenancy model for ObjectStack SaaS deployments." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/tracing.mdx b/content/docs/references/system/tracing.mdx index 6910c7f04d..d57fc95a85 100644 --- a/content/docs/references/system/tracing.mdx +++ b/content/docs/references/system/tracing.mdx @@ -1,6 +1,6 @@ --- title: Tracing -description: Tracing protocol schemas +description: "Tracing Protocol - Distributed Tracing & Observability. Reference for OpenTelemetryCompatibility and 17 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/translation.mdx b/content/docs/references/system/translation.mdx index a867f2e020..d56e3e81f4 100644 --- a/content/docs/references/system/translation.mdx +++ b/content/docs/references/system/translation.mdx @@ -1,6 +1,6 @@ --- title: Translation -description: Translation protocol schemas +description: "Translation schemas of the ObjectStack System Protocol — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/system/worker.mdx b/content/docs/references/system/worker.mdx index 796b25cfad..c1d5c1e3ce 100644 --- a/content/docs/references/system/worker.mdx +++ b/content/docs/references/system/worker.mdx @@ -1,6 +1,6 @@ --- title: Worker -description: Worker protocol schemas +description: "Background task processing system with queues, priorities, and retry logic." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/action-params.mdx b/content/docs/references/ui/action-params.mdx index 115fccaa8e..9802fbeb8e 100644 --- a/content/docs/references/ui/action-params.mdx +++ b/content/docs/references/ui/action-params.mdx @@ -1,6 +1,6 @@ --- title: Action Params -description: Action Params protocol schemas +description: "The action DISPATCH contract: what the platform validates on the way in, and what it hands the handler on the way out." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/action.mdx b/content/docs/references/ui/action.mdx index ab49551947..0006bbc669 100644 --- a/content/docs/references/ui/action.mdx +++ b/content/docs/references/ui/action.mdx @@ -1,6 +1,6 @@ --- title: Action -description: Action protocol schemas +description: "Action schemas of the ObjectStack UI Protocol: Action, ActionAi, ActionLocation and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/app.mdx b/content/docs/references/ui/app.mdx index 0b7d5fff1c..6e029fe11f 100644 --- a/content/docs/references/ui/app.mdx +++ b/content/docs/references/ui/app.mdx @@ -1,6 +1,6 @@ --- title: App -description: App protocol schemas +description: "App schemas of the ObjectStack UI Protocol: ActionNavItem, App, AppBranding and 12 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/bulk-action.mdx b/content/docs/references/ui/bulk-action.mdx index 3573a120c2..2f7c8cd5e0 100644 --- a/content/docs/references/ui/bulk-action.mdx +++ b/content/docs/references/ui/bulk-action.mdx @@ -1,6 +1,6 @@ --- title: Bulk Action -description: Bulk Action protocol schemas +description: "The vocabulary of a list view's bulkActionDefs — one entry per button in the multi-select toolbar." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/chart.mdx b/content/docs/references/ui/chart.mdx index 47bc7c9a70..a6efba2915 100644 --- a/content/docs/references/ui/chart.mdx +++ b/content/docs/references/ui/chart.mdx @@ -1,6 +1,6 @@ --- title: Chart -description: Chart protocol schemas +description: "Shared by Dashboard and Report widgets. Provides a comprehensive set of chart types for data visualization." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/component.mdx b/content/docs/references/ui/component.mdx index 3921651d20..9f6a163ad0 100644 --- a/content/docs/references/ui/component.mdx +++ b/content/docs/references/ui/component.mdx @@ -1,6 +1,6 @@ --- title: Component -description: Component protocol schemas +description: "Component schemas of the ObjectStack UI Protocol: AIChatWindowProps and 37 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/dashboard.mdx b/content/docs/references/ui/dashboard.mdx index a6e37627a4..0c314fcd8f 100644 --- a/content/docs/references/ui/dashboard.mdx +++ b/content/docs/references/ui/dashboard.mdx @@ -1,6 +1,6 @@ --- title: Dashboard -description: Dashboard protocol schemas +description: "Dashboard schemas of the ObjectStack UI Protocol: Dashboard, DashboardHeader and 8 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/dataset.mdx b/content/docs/references/ui/dataset.mdx index 252a482683..c50f57db52 100644 --- a/content/docs/references/ui/dataset.mdx +++ b/content/docs/references/ui/dataset.mdx @@ -1,6 +1,6 @@ --- title: Dataset -description: Dataset protocol schemas +description: "Analytics Dataset — the one semantic layer. Reference for Dataset, DatasetDimension, DatasetMeasure, DerivedMeasureOp: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/expression-bindable-text-keys.mdx b/content/docs/references/ui/expression-bindable-text-keys.mdx index 54edf42b84..495729d4bc 100644 --- a/content/docs/references/ui/expression-bindable-text-keys.mdx +++ b/content/docs/references/ui/expression-bindable-text-keys.mdx @@ -1,6 +1,6 @@ --- title: Expression Bindable Text Keys -description: Expression Bindable Text Keys protocol schemas +description: "Expression-bindable text keys — the CLOSED vocabulary of top-level text keys a SchemaRenderer evaluation memo evaluates." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/i18n.mdx b/content/docs/references/ui/i18n.mdx index 93020ec17c..bb49fe0bb8 100644 --- a/content/docs/references/ui/i18n.mdx +++ b/content/docs/references/ui/i18n.mdx @@ -1,6 +1,6 @@ --- title: I18n -description: I18n protocol schemas +description: "Display-label and ARIA-label primitives shared by every ui/ shape. Reference for AriaProps, I18nLabel and 1 more: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/index.mdx b/content/docs/references/ui/index.mdx index d76f15913c..6b1577f570 100644 --- a/content/docs/references/ui/index.mdx +++ b/content/docs/references/ui/index.mdx @@ -1,6 +1,6 @@ --- title: UI Protocol -description: Complete reference for all ui protocol schemas +description: "The ObjectStack UI Protocol in 16 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/notification.mdx b/content/docs/references/ui/notification.mdx index 6b43ff25b7..be04ddf433 100644 --- a/content/docs/references/ui/notification.mdx +++ b/content/docs/references/ui/notification.mdx @@ -1,6 +1,6 @@ --- title: Notification -description: Notification protocol schemas +description: "Notification schemas of the ObjectStack UI Protocol: NotificationPosition and 2 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/page.mdx b/content/docs/references/ui/page.mdx index aa57dc249e..136a163bef 100644 --- a/content/docs/references/ui/page.mdx +++ b/content/docs/references/ui/page.mdx @@ -1,6 +1,6 @@ --- title: Page -description: Page protocol schemas +description: "Page schemas of the ObjectStack UI Protocol: ElementDataSource, InterfacePageConfig and 6 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/report.mdx b/content/docs/references/ui/report.mdx index 64f50f9363..c250b6a9d5 100644 --- a/content/docs/references/ui/report.mdx +++ b/content/docs/references/ui/report.mdx @@ -1,6 +1,6 @@ --- title: Report -description: Report protocol schemas +description: "Report schemas of the ObjectStack UI Protocol: JoinedReportBlock, Report and 3 more — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/responsive.mdx b/content/docs/references/ui/responsive.mdx index 5431b66c56..b308c811c4 100644 --- a/content/docs/references/ui/responsive.mdx +++ b/content/docs/references/ui/responsive.mdx @@ -1,6 +1,6 @@ --- title: Responsive -description: Responsive protocol schemas +description: "Responsive schemas of the ObjectStack UI Protocol: ResponsiveStyles, StyleMap — each property with its type, default and a TypeScript example." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/sharing.mdx b/content/docs/references/ui/sharing.mdx index 50a901565e..a9bab3944e 100644 --- a/content/docs/references/ui/sharing.mdx +++ b/content/docs/references/ui/sharing.mdx @@ -1,6 +1,6 @@ --- title: Sharing -description: Sharing protocol schemas +description: "Sharing & Embedding Protocol — Public-link sharing of a form view. Reference for SharingConfig: every property with its type and default." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/references/ui/view.mdx b/content/docs/references/ui/view.mdx index 868ea46178..f75388009f 100644 --- a/content/docs/references/ui/view.mdx +++ b/content/docs/references/ui/view.mdx @@ -1,6 +1,6 @@ --- title: View -description: View protocol schemas +description: "View protocol schemas — the view metadata type and its three persisted body spellings." --- {/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */} diff --git a/content/docs/ui/actions.mdx b/content/docs/ui/actions.mdx index 9e9af97e1e..8260823af6 100644 --- a/content/docs/ui/actions.mdx +++ b/content/docs/ui/actions.mdx @@ -1,7 +1,7 @@ --- title: Actions — permission-checked UI buttons navTitle: Actions -description: Declarative buttons with server-side behavior — define once, bind to lists, records, and navigation, permission-check on both surfaces, and optionally expose to AI. +description: Declare buttons as metadata with server-side behavior — bind them to lists, records and navigation, permission-check both sides, and expose them to AI. --- An action is a **button declared as metadata**: where it appears diff --git a/content/docs/ui/audience-based-interfaces.mdx b/content/docs/ui/audience-based-interfaces.mdx index ee57c2ba2e..9054e15bab 100644 --- a/content/docs/ui/audience-based-interfaces.mdx +++ b/content/docs/ui/audience-based-interfaces.mdx @@ -1,7 +1,7 @@ --- title: Audience-based interfaces — one app, many navTitle: Audience-based interfaces -description: The same data serves different audiences. Give end users a curated app/page and keep builder surfaces — Studio, raw object tables, automation config — out of their view. Separate consumer and builder paths by default. +description: "Serve one dataset to different audiences: give end users a curated app and keep builder surfaces like Studio and raw tables out of their view by default." --- ## Scenario diff --git a/content/docs/ui/create-vs-edit-form.mdx b/content/docs/ui/create-vs-edit-form.mdx index 19ed735b4f..60048c8327 100644 --- a/content/docs/ui/create-vs-edit-form.mdx +++ b/content/docs/ui/create-vs-edit-form.mdx @@ -1,7 +1,7 @@ --- title: Create form vs edit form — the differences navTitle: Create form ≠ edit form -description: The new-record form asks 5 fields; the full edit form shows 40 grouped into sections. Derive both from one flat field set; only hand-shape the create form when layout or flow genuinely diverges. +description: Derive a short create form and a full sectioned edit form from one flat field set, and hand-shape the create form only when its layout truly differs. --- ## Scenario diff --git a/content/docs/ui/field-grouping-and-order.mdx b/content/docs/ui/field-grouping-and-order.mdx index 138c3ed99f..404aaf2a06 100644 --- a/content/docs/ui/field-grouping-and-order.mdx +++ b/content/docs/ui/field-grouping-and-order.mdx @@ -1,7 +1,7 @@ --- title: Field grouping and order in generated forms navTitle: Field grouping & order -description: The data model is a flat field set, but forms need sections. Where grouping actually lives — semantic field.group vs form sections vs a table's row grouping — and why those three "groups" are different things. +description: "Where form sections really come from: field.group versus form sections versus table row grouping — three different groups over one flat field set." --- ## Scenario diff --git a/content/docs/ui/forms.mdx b/content/docs/ui/forms.mdx index b43313642f..fb7ac67bdf 100644 --- a/content/docs/ui/forms.mdx +++ b/content/docs/ui/forms.mdx @@ -1,7 +1,7 @@ --- title: Forms — public and internal data entry navTitle: Forms (Public + Internal) -description: Render any FormView either publicly (anonymous, /f/:slug) or internally (authed operators, /forms/:name). The same metadata drives both, with URL prefill, configurable post-submit behavior, and declarative open-form actions. +description: Render any FormView publicly at /f/:slug or internally at /forms/:name from one metadata source, with URL prefill, post-submit behavior and form actions. --- ## Forms diff --git a/content/docs/ui/public-data-collection.mdx b/content/docs/ui/public-data-collection.mdx index fb8a733f5d..9700c47e95 100644 --- a/content/docs/ui/public-data-collection.mdx +++ b/content/docs/ui/public-data-collection.mdx @@ -1,7 +1,7 @@ --- title: Collect data from the public with web forms navTitle: Collect data from the public -description: Expose one form to anonymous visitors (web-to-lead, contact-us, intake) without opening the underlying base. Authorization is derived from the form's own declaration; only whitelisted fields are accepted. +description: Collect web-to-lead, contact and intake submissions from anonymous visitors through one public form, without opening the underlying data to guests. --- ## Scenario diff --git a/content/docs/ui/react-pages.mdx b/content/docs/ui/react-pages.mdx index af9942804e..4b77ffa6bc 100644 --- a/content/docs/ui/react-pages.mdx +++ b/content/docs/ui/react-pages.mdx @@ -1,7 +1,7 @@ --- title: React pages — escape hatch for custom UI navTitle: React Pages -description: Author a page body as real React (kind:'react') or as constrained JSX that is parsed and never executed (kind:'html') — the two source-authoring tiers, and how to choose +description: Write a page body as real React or as constrained JSX that is parsed but never executed — the two source-authoring tiers and how to choose between them. --- Most pages are a **schema tree**: `regions[].components[]` of JSON nodes, described in diff --git a/content/docs/upgrading.mdx b/content/docs/upgrading.mdx index 5387c14d71..6429c60b62 100644 --- a/content/docs/upgrading.mdx +++ b/content/docs/upgrading.mdx @@ -1,7 +1,7 @@ --- title: Upgrade guide — move between major versions navTitle: Upgrading -description: ObjectStack upgrades come in two halves that run on separate clocks — the platform runtime and your metadata app. Which one you are doing, what each one moves, and where the per-major checklists live. +description: Upgrade ObjectStack in two halves on separate clocks — the platform runtime and your metadata app. What each moves, and where each major's checklist lives. --- There are **two upgrades** on this platform, and they run on separate clocks: diff --git a/packages/spec/scripts/build-docs.ts b/packages/spec/scripts/build-docs.ts index 4f9dbd5525..cdecc6fad7 100644 --- a/packages/spec/scripts/build-docs.ts +++ b/packages/spec/scripts/build-docs.ts @@ -62,6 +62,12 @@ import { import { schemaNameFromExportKey } from './lib/schema-name'; import { formatSplitEntryCoverage, splitEntryCoverage } from './lib/split-entries'; import { renderSchemaSection } from './lib/schema-section'; +import { + categoryIndexDescription, + modulePageDescription, + yamlDescription, + type DescriptionSource, +} from './lib/page-description'; import { API_SURFACE_DIR_NAME, readApiSurfaceFrom } from './lib/sharded-artifacts'; const SCHEMA_DIR = path.resolve(__dirname, '../json-schema'); @@ -455,6 +461,9 @@ function generateMarkdown(schemaName: string, schema: any, category: string, _zo */ const PAGE_SECTION_LEVEL = 2; +/** Which rule of `lib/page-description.ts` produced each module page's description, tallied for the run summary. */ +const descriptionSources: Record = { docblock: 0, 'docblock+schemas': 0, schemas: 0 }; + function generateZodFileMarkdown(zodFile: string, schemas: Array<{name: string, content: any}>, category: string): string { const zodTitle = zodFile.split('-').map(w => w.charAt(0).toUpperCase() + w.slice(1)).join(' '); @@ -462,21 +471,31 @@ function generateZodFileMarkdown(zodFile: string, schemas: Array<{name: string, const sourceRel = sourcePathFor(category, zodFile); const sourcePath = sourceRel ? path.join(REPO_ROOT, sourceRel) : undefined; let fileDesc = ''; - if (sourcePath && fs.existsSync(sourcePath)) { + const source = sourcePath && fs.existsSync(sourcePath) ? fs.readFileSync(sourcePath, 'utf-8') : null; + if (source !== null) { // `category` is what a path written relative to the module's own // directory is relative TO — without it the renderer cannot tell which // `auth.zod.ts` a neighbour reference means, and until #6484 it was never // told, so those references shipped as plain prose. - fileDesc = renderFileDescription(fs.readFileSync(sourcePath, 'utf-8'), { + fileDesc = renderFileDescription(source, { fromCategory: category, sourcePathToDocsRoute, sectionLevel: PAGE_SECTION_LEVEL, }); } + // The search-result line, read from the same doc block as `fileDesc` — the + // rule and its fallbacks live in `lib/page-description.ts` (#12238). + const description = modulePageDescription(source, { + title: zodTitle, + categoryTitle: CATEGORIES[category], + schemaNames: schemas.map(s => s.name), + }); + descriptionSources[description.from]++; + let md = `---\n`; md += `title: ${zodTitle}\n`; - md += `description: ${zodTitle} protocol schemas\n`; + md += `description: ${yamlDescription(description.text)}\n`; md += `---\n\n`; md += AUTO_GENERATED_BANNER; @@ -909,7 +928,7 @@ Object.entries(CATEGORIES).forEach(([category, title]) => { let mdx = `---\n`; mdx += `title: ${title}\n`; - mdx += `description: Complete reference for all ${title.toLowerCase()} schemas\n`; + mdx += `description: ${yamlDescription(categoryIndexDescription(title, cards.length))}\n`; mdx += `---\n\n`; mdx += AUTO_GENERATED_BANNER; @@ -1100,6 +1119,14 @@ if (managedCount > 0) { } } +// Which rule wrote each module page's search-result line — a module that falls +// back to its schema names is one whose doc block says nothing a reader can use. +console.log( + `ℹ reference descriptions: ${descriptionSources.docblock} from the module doc block, ` + + `${descriptionSources['docblock+schemas']} doc block + schema names, ` + + `${descriptionSources.schemas} from schema names alone (no usable doc block)`, +); + // 5. Disposition: write the tree, or report drift against it. flush({ surface: 'content/docs/references/', diff --git a/packages/spec/scripts/lib/page-description.ts b/packages/spec/scripts/lib/page-description.ts new file mode 100644 index 0000000000..5e00b9b107 --- /dev/null +++ b/packages/spec/scripts/lib/page-description.ts @@ -0,0 +1,337 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * The frontmatter `description` of a generated reference page — the one line + * a search result shows under the page title. + * + * ## Why this is a rule and not a template + * + * `build-docs.ts` used to write every module page as ` protocol schemas` + * and every category overview as `Complete reference for all <title> schemas`. + * Both land far under the 70 characters a search engine keeps: measured on + * `main`, 210 of the 211 generated pages were below it, with a median of 28. + * A description that thin is discarded and the engine writes its own snippet + * from body text, so the one line the page controls was wasted (#12238). + * + * The prose to say more already exists: the module's leading doc block, which + * `lib/file-description.ts` selects and renders as the page's opening. This + * module reads the SAME block (`findModuleDocBlock`) and condenses its lead + * paragraph into one plain-text sentence group of 70–160 characters. No + * `packages/spec/src/**` text is edited to make that possible — the source is + * read, never rewritten. + * + * ## The rule, in order + * + * 1. **Lead** — the prose paragraphs of the doc block before its first list, + * table, fence or block tag, after an optional title line (a heading, or a + * lone line with no closing punctuation). Inline Markdown is flattened to + * its text; citation-only parentheticals (`(#12038)`, `[ADR-0090 D6]`), bare + * URLs, one-word run-in labels and the `Implements P0 requirement …` + * boilerplate are dropped; a sentence that only introduced a list keeps the + * clause before its last comma or dash, or goes. + * 2. **Fit** — whole sentences are kept while the total stays within 160; the + * next paragraph joins only while the text is still under 70, and a text + * still under 70 is prefixed with the block's title line when that fits. A + * first sentence over 160 is cut at the longest clause boundary that keeps + * at least 70 characters and leaves no bracket open, and only when there is + * none, at a word boundary with an ellipsis — never mid-word. + * 3. **Complete** — a lead that still lands under 70 is followed by the schema + * names the page documents (`Reference for A, B and 3 more: …`). + * 4. **Fallback** — a module with no doc block (or a block with neither prose + * nor title) gets a sentence built from the module title, its category and + * its schema names. + * + * Every branch is a pure function of its inputs, so `check:docs` stays a plain + * regenerate-and-compare. + */ + +import { findModuleDocBlock } from './file-description'; + +/** The shortest description a search result keeps rather than rewrites. */ +export const DESCRIPTION_MIN = 70; +/** The longest description a search result shows before truncating it. */ +export const DESCRIPTION_MAX = 160; + +const ELLIPSIS = '…'; + +/** A line that ends the lead search: a list item, table row, fence or block tag. */ +const STRUCTURAL = /^(?:[-*+]\s|\d+[.)]\s|\||```|~~~|@\w|<)/; +const HEADING = /^#{1,6}\s+/; + +/** The doc block's lines with the ` * ` gutter removed, trimmed. */ +function stripGutter(block: string): string[] { + return block + .split('\n') + .map(line => line.replace(/^\s*\*\s?/, '').trim()) + // Selector machinery (`@module`, `@category`, the skill-example marker) is + // not content — the same lines `lib/file-description.ts` drops from the page. + .filter(line => !/^@(?:module|category)\b/.test(line) && line !== '<!-- os:check -->'); +} + +/** Split lines into blank-separated paragraphs. */ +function paragraphs(lines: readonly string[]): string[][] { + const out: string[][] = []; + let cur: string[] = []; + for (const line of lines) { + if (line === '') { + if (cur.length) out.push(cur); + cur = []; + } else { + cur.push(line); + } + } + if (cur.length) out.push(cur); + return out; +} + +/** + * Inline Markdown / JSDoc flattened to the text a reader sees, with + * tracker-only parentheticals removed. A description is plain text: the + * search result shows backticks and asterisks literally. + */ +export function flattenInline(text: string): string { + return ( + text + // {@link Target} / {@link Target | label} / {@link Target label} + .replace(/\{@link(?:code|plain)?\s+([^}|\s]+)(?:\s*\|\s*|\s+)?([^}]*)\}/g, (_m, target: string, label: string) => + label.trim() || target, + ) + // [label](url) → label + .replace(/\[([^\]]+)\]\([^)]*\)/g, '$1') + // **bold** / __bold__ → bold + .replace(/(\*\*|__)(.+?)\1/g, '$2') + // *em* → em (only when it wraps a word, never a lone multiplication sign) + .replace(/(^|[\s(])\*(\S[^*]*?\S|\S)\*(?=[\s).,;:!?]|$)/g, '$1$2') + // `code` → code + .replace(/`([^`]*)`/g, '$1') + // (#123), (cloud#2172 ruling A), (ADR-0112 D3), [#10235] — citations, not content + .replace(/\s*\((?=[^()]*(?:#\d|ADR-\d))[^()]*\)/g, '') + .replace(/\s*\[(?=[^\][]*(?:#\d|ADR-\d))[^\][]*\]/g, '') + // (https://…) — a bare URL is not something a search result can use + .replace(/\s*\(https?:\/\/[^()\s]*\)/g, '') + .replace(/\s+/g, ' ') + .replace(/\s+([.,;:!?])/g, '$1') + .trim() + ); +} + +/** + * Whether a paragraph is a label rather than prose: a heading, or a lone line + * with no closing punctuation (`Studio Plugin Protocol`, `Shared by: Connector`). + */ +function isLabelParagraph(para: readonly string[]): boolean { + if (HEADING.test(para[0])) return true; + return para.length === 1 && !/[.!?:;]$/.test(para[0]) && para[0].length <= 90; +} + +/** + * Sentences that describe the repo's planning, not the page — `Implements P0 + * requirement for ObjectStack kernel.` sits in a dozen module headers and + * tells a reader nothing. + */ +const PLANNING_SENTENCE = /^Implements P\d(?:\/P\d)? requirements?\b/; + +export interface DocBlockLead { + /** The block's first label line, flattened, when it has one. */ + title: string | null; + /** + * The prose paragraphs before the first list, table, fence or tag, + * flattened, in order. Empty when the block opens straight into structure. + */ + paragraphs: string[]; +} + +/** A flattened paragraph without the sentence that introduced a list below it. */ +function withoutListIntro(prose: string, ranIntoList: boolean): string { + // A one-word sentence (`Background.`) is a run-in label, not content. + const kept = sentences(prose).filter(s => !PLANNING_SENTENCE.test(s) && /\s/.test(s)); + const last = kept[kept.length - 1] ?? ''; + if (ranIntoList || /:$/.test(last)) { + // The sentence that ran into the list ends mid-thought once the list is + // gone. Its clause before the last comma or dash usually still stands + // (`…for the plugin marketplace ecosystem, covering:`); otherwise it goes. + kept.pop(); + const clause = /^(.*\S)(?:,\s|\s[—–]\s)[^,—–]*$/.exec(last); + if (clause && balanced(clause[1])) kept.push(`${clause[1]}.`); + } + return kept.join(' '); +} + +/** The label line and lead prose of a module doc block's inner text. */ +export function docBlockLead(inner: string): DocBlockLead { + const paras = paragraphs(stripGutter(inner)); + let title: string | null = null; + const prose: string[] = []; + for (const para of paras) { + if (STRUCTURAL.test(para[0])) break; + if (isLabelParagraph(para)) { + if (title === null && prose.length === 0) title = flattenInline(para[0].replace(HEADING, '')) || null; + if (HEADING.test(para[0]) && prose.length > 0) break; // a new section starts + continue; + } + // A paragraph that runs into a list keeps only its lines above the list. + const cut = para.findIndex(line => STRUCTURAL.test(line)); + const text = withoutListIntro(flattenInline((cut === -1 ? para : para.slice(0, cut)).join(' ')), cut !== -1); + if (text) prose.push(text); + if (cut !== -1) break; + } + return { title, paragraphs: prose }; +} + +/** Sentences of a flattened paragraph, each keeping its closing punctuation. */ +export function sentences(text: string): string[] { + return text + .split(/(?<=[.!?])\s+(?=[A-Z0-9"'(])/) + .map(s => s.trim()) + .filter(Boolean); +} + +/** Whether every bracket and quote opened in `text` is closed again. */ +function balanced(text: string): boolean { + const count = (re: RegExp) => (text.match(re) ?? []).length; + return count(/\(/g) === count(/\)/g) && count(/\[/g) === count(/\]/g) && count(/"/g) % 2 === 0; +} + +/** + * An over-long sentence shortened. First choice: the longest prefix ending at + * a clause boundary (a dash, semicolon, colon, comma or opening parenthesis) + * that is still at least the minimum and leaves nothing open — a clause is + * still a sentence. Only when no clause fits is it cut at a word boundary, with + * an ellipsis so the cut is visible. + */ +function shorten(text: string, max: number): string { + const boundary = /\s[—–]\s|;\s|:\s|,\s|\s\(/g; + let best: string | null = null; + for (let m = boundary.exec(text); m; m = boundary.exec(text)) { + const head = text.slice(0, m.index).replace(/[\s,;:]+$/, ''); + if (head.length + 1 > max) break; + if (head.length + 1 >= DESCRIPTION_MIN && balanced(head)) best = `${head}.`; + } + if (best) return best; + const room = text.slice(0, max - ELLIPSIS.length + 1); + const space = room.lastIndexOf(' '); + const head = (space > 0 ? room.slice(0, space) : room.slice(0, max - ELLIPSIS.length)) + .replace(/[\s,;:—–-]+$/, ''); + return head + ELLIPSIS; +} + +/** A sentence ends in terminal punctuation; a trailing colon introduced a list the page shows. */ +function asSentence(text: string): string { + const t = text.replace(/[\s:;,—–-]+$/, ''); + return /[.!?…]$/.test(t) ? t : `${t}.`; +} + +/** + * Whole sentences of `lead` within `max`, or — when even the first one is + * longer — that sentence cut at a word boundary. + */ +export function fitSentences(lead: string, max = DESCRIPTION_MAX): string { + const all = sentences(lead); + let out = ''; + for (const s of all) { + const next = out ? `${out} ${asSentence(s)}` : asSentence(s); + if (next.length > max) break; + out = next; + } + return out || shorten(asSentence(all[0] ?? lead), max); +} + +/** Whether a description is inside the searchable range. */ +export function inRange(description: string): boolean { + return description.length >= DESCRIPTION_MIN && description.length <= DESCRIPTION_MAX; +} + +/** + * The description a module doc block yields on its own — in range, or SHORT + * when the block says too little — or `null` when it holds no prose and no + * title at all. + */ +export function describeFromDocBlock(inner: string): string | null { + const { title, paragraphs: prose } = docBlockLead(inner); + if (prose.length === 0) return title ? asSentence(title) : null; + // The first paragraph alone, unless it is too thin — then the next ones join. + let text = fitSentences(prose[0]); + for (let i = 1; text.length < DESCRIPTION_MIN && i < prose.length; i++) { + text = fitSentences(prose.slice(0, i + 1).join(' ')); + } + if (text.length < DESCRIPTION_MIN && title && !text.toLowerCase().startsWith(title.toLowerCase())) { + const titled = `${title} — ${text}`; + if (titled.length <= DESCRIPTION_MAX) text = titled; + } + return text; +} + +export interface ModulePage { + /** The page title, e.g. `Object` for `object.zod.ts`. */ + title: string; + /** The category's display title, e.g. `Data Protocol`. */ + categoryTitle: string; + /** The schema names the page documents, in page order. */ + schemaNames: readonly string[]; +} + +/** + * The longest `build(shown, more)` within the maximum: schema names are the + * words a reader searches for, so as many are listed as fit, the rest counted. + */ +function withNames(names: readonly string[], build: (list: string | null) => string): string { + for (let n = names.length; n > 0; n--) { + const more = names.length - n; + const list = more > 0 ? `${names.slice(0, n).join(', ')} and ${more} more` : names.slice(0, n).join(', '); + const text = build(list); + if (text.length <= DESCRIPTION_MAX) return text; + } + return build(null); +} + +/** The fallback for a module with no usable doc block: what the page documents, named. */ +export function describeFromSchemas(page: ModulePage): string { + const head = `${page.title} schemas of the ObjectStack ${page.categoryTitle}`; + const tail = ' — each property with its type, default and a TypeScript example.'; + const text = withNames(page.schemaNames, list => (list ? `${head}: ${list}${tail}` : `${head}${tail}`)); + return text.length <= DESCRIPTION_MAX ? text : shorten(text, DESCRIPTION_MAX); +} + +/** A doc-block sentence too short to stand alone, completed with what the page documents. */ +export function completeWithSchemas(lead: string, page: ModulePage): string { + const text = withNames(page.schemaNames, list => + list + ? `${lead} Reference for ${list}: every property with its type and default.` + : `${lead} Reference for every ${page.title} property with its type and default.`, + ); + return text.length <= DESCRIPTION_MAX ? text : shorten(text, DESCRIPTION_MAX); +} + +export type DescriptionSource = 'docblock' | 'docblock+schemas' | 'schemas'; + +/** + * A module page's description: its doc block when that yields one in range, the + * doc block's short lead completed with the schema names when it is too thin, + * and the schema-name fallback when there is no doc block to read. + */ +export function modulePageDescription( + source: string | null, + page: ModulePage, +): { text: string; from: DescriptionSource } { + const block = source === null ? null : findModuleDocBlock(source); + const lead = block === null ? null : describeFromDocBlock(block); + if (lead && inRange(lead)) return { text: lead, from: 'docblock' }; + if (lead) return { text: completeWithSchemas(lead, page), from: 'docblock+schemas' }; + return { text: describeFromSchemas(page), from: 'schemas' }; +} + +/** A category overview's description. */ +export function categoryIndexDescription(categoryTitle: string, pageCount: number): string { + const pages = pageCount === 1 ? '1 reference page' : `${pageCount} reference pages`; + return `The ObjectStack ${categoryTitle} in ${pages}: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example.`; +} + +/** + * A description as a YAML scalar. Always double-quoted: the text comes from + * prose that may contain `: `, ` #` or a leading quote, each of which changes + * what a plain scalar means. JSON's string syntax is a subset of YAML's + * double-quoted style. + */ +export function yamlDescription(text: string): string { + return JSON.stringify(text); +} diff --git a/packages/spec/scripts/page-description.test.ts b/packages/spec/scripts/page-description.test.ts new file mode 100644 index 0000000000..ea02c1fabb --- /dev/null +++ b/packages/spec/scripts/page-description.test.ts @@ -0,0 +1,171 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * Pin for the frontmatter `description` of generated reference pages (#12238). + * + * `check:docs` compares the regenerated tree with the committed one, so it + * holds the OUTPUT still but says nothing about the rule: a regression that + * wrote every page back to `<Title> protocol schemas` would regenerate, commit + * and stay green. These cases pin the rule itself — the lead it reads, where + * it cuts, and that every branch lands inside 70–160. + */ + +import { describe, expect, it } from 'vitest'; + +import { + DESCRIPTION_MAX, + DESCRIPTION_MIN, + categoryIndexDescription, + completeWithSchemas, + describeFromDocBlock, + describeFromSchemas, + docBlockLead, + fitSentences, + flattenInline, + inRange, + modulePageDescription, + yamlDescription, +} from './lib/page-description'; + +/** A `.zod.ts` source whose module header is `lines`. */ +const moduleSource = (...lines: string[]) => + ['/**', ...lines.map(l => (l ? ` * ${l}` : ' *')), ' */', '', "import { z } from 'zod';", '', 'export const X = z.string();', ''].join('\n'); + +/** The inner text `findModuleDocBlock` hands over for `lines`. */ +const inner = (...lines: string[]) => `\n${lines.map(l => (l ? ` * ${l}` : ' *')).join('\n')}\n `; + +const page = { title: 'Object', categoryTitle: 'Data Protocol', schemaNames: ['Object', 'Index', 'TenancyConfig'] }; + +describe('flattenInline', () => { + it('flattens Markdown and JSDoc links to the text a reader sees', () => { + expect(flattenInline('The `view` type — see [the guide](/docs/x) and {@link ViewSchema}, **not** *this*.')).toBe( + 'The view type — see the guide and ViewSchema, not this.', + ); + }); + + it('drops citation-only parentheticals and brackets, and bare URLs', () => { + expect(flattenInline('Error-Code Ledger (ADR-0112 D3).')).toBe('Error-Code Ledger.'); + expect(flattenInline('[#10235] The per-column projection (cloud#2172 ruling A).')).toBe('The per-column projection.'); + expect(flattenInline('Defined by Anthropic (https://modelcontextprotocol.io).')).toBe('Defined by Anthropic.'); + // A parenthetical that carries content stays. + expect(flattenInline('Seed data (with relationship resolution).')).toBe('Seed data (with relationship resolution).'); + }); +}); + +describe('docBlockLead', () => { + it('takes the title line and the prose before the first structure', () => { + const lead = docBlockLead(inner('AI Model Registry Protocol', '', 'Centralized registry for AI models.', 'Enables discovery.', '', '## Architecture', '', 'More.')); + expect(lead).toEqual({ title: 'AI Model Registry Protocol', paragraphs: ['Centralized registry for AI models. Enables discovery.'] }); + }); + + it('skips the @module marker instead of stopping at it', () => { + const lead = docBlockLead(inner('@module studio/plugin', '', 'Studio Plugin Protocol', '', 'Defines the specification for Studio plugins.')); + expect(lead.title).toBe('Studio Plugin Protocol'); + expect(lead.paragraphs).toEqual(['Defines the specification for Studio plugins.']); + }); + + it('keeps the clause before the comma when a sentence only introduced a list', () => { + const lead = docBlockLead(inner('Defines the core schemas for the marketplace ecosystem, covering:', '- listings', '- reviews')); + expect(lead.paragraphs).toEqual(['Defines the core schemas for the marketplace ecosystem.']); + }); + + it('drops planning boilerplate and one-word run-in labels', () => { + const lead = docBlockLead(inner('Implements P0 requirement for ObjectStack kernel.', 'Provides consistent error codes. Background.')); + expect(lead.paragraphs).toEqual(['Provides consistent error codes.']); + }); + + it('has no paragraphs when the block opens into a list', () => { + expect(docBlockLead(inner('Logging Protocol', '', '- console', '- file')).paragraphs).toEqual([]); + }); +}); + +describe('fitSentences', () => { + it('keeps whole sentences within the maximum', () => { + const a = `Alpha ${'word '.repeat(15)}end.`; + const b = `Beta ${'word '.repeat(15)}end.`; + expect(fitSentences(`${a} ${b}`)).toBe(a); + }); + + it('cuts an over-long first sentence at a clause boundary that keeps the minimum', () => { + const text = `Response payloads for the dispatcher-served lifecycle routes of every package — ${'the commit timeline and more '.repeat(6)}here.`; + const out = fitSentences(text); + expect(out).toBe('Response payloads for the dispatcher-served lifecycle routes of every package.'); + expect(inRange(out)).toBe(true); + }); + + it('never cuts a clause that leaves a bracket open', () => { + const text = `A package (also called a Solution in one platform, an Unlocked Package in another, or an Application elsewhere) is the first-class unit of distribution for everything.`; + const out = fitSentences(text, 120); + expect(out.endsWith('…')).toBe(true); + expect(out.length).toBeLessThanOrEqual(120); + expect(out).not.toMatch(/\s…$/); + }); +}); + +describe('describeFromDocBlock', () => { + it('prefixes a thin lead with the title line', () => { + expect(describeFromDocBlock(inner('Storage Service Protocol', '', 'Defines the API contract for file operations.'))).toBe( + 'Storage Service Protocol — Defines the API contract for file operations.', + ); + }); + + it('answers the title alone when the block has no prose', () => { + expect(describeFromDocBlock(inner('Object Storage Protocol', '', '- buckets'))).toBe('Object Storage Protocol.'); + }); +}); + +describe('modulePageDescription', () => { + it('uses the doc block when it yields a description in range', () => { + const src = moduleSource('Defines the standard organization and workspace model, for teams that belong to several workspaces.'); + expect(modulePageDescription(src, page)).toEqual({ + text: 'Defines the standard organization and workspace model, for teams that belong to several workspaces.', + from: 'docblock', + }); + }); + + it('completes a thin doc block with the schema names', () => { + const got = modulePageDescription(moduleSource('Error-Code Ledger (ADR-0112 D3).'), page); + expect(got).toEqual({ + text: 'Error-Code Ledger. Reference for Object, Index, TenancyConfig: every property with its type and default.', + from: 'docblock+schemas', + }); + }); + + it('falls back to the schema names when the module has no doc block', () => { + const got = modulePageDescription("import { z } from 'zod';\nexport const X = z.string();\n", page); + expect(got.from).toBe('schemas'); + expect(got.text).toBe( + 'Object schemas of the ObjectStack Data Protocol: Object, Index, TenancyConfig — each property with its type, default and a TypeScript example.', + ); + expect(modulePageDescription(null, page)).toEqual(got); + }); + + it('lands in range on every branch, however many names there are', () => { + const many = { ...page, schemaNames: Array.from({ length: 40 }, (_, i) => `VeryLongSchemaNameNumber${i}`) }; + const none = { ...page, schemaNames: [] }; + for (const p of [page, many, none]) { + expect(inRange(describeFromSchemas(p))).toBe(true); + expect(inRange(completeWithSchemas('Error-Code Ledger.', p))).toBe(true); + } + expect(describeFromSchemas(many)).toMatch(/and \d+ more — /); + }); +}); + +describe('categoryIndexDescription', () => { + it('is in range for every category title shape', () => { + for (const title of ['AI Protocol', 'QA Protocol', 'Automation Protocol', 'Marketplace Protocol']) { + for (const n of [1, 9, 42]) { + const text = categoryIndexDescription(title, n); + expect(text.length).toBeGreaterThanOrEqual(DESCRIPTION_MIN); + expect(text.length).toBeLessThanOrEqual(DESCRIPTION_MAX); + } + } + expect(categoryIndexDescription('QA Protocol', 1)).toContain('in 1 reference page:'); + }); +}); + +describe('yamlDescription', () => { + it('double-quotes, so a colon or hash in the prose cannot change the YAML', () => { + expect(yamlDescription('Routes: REST # and "OData"')).toBe('"Routes: REST # and \\"OData\\""'); + }); +});