This document serves as the Grand Map of the ObjectStack specification. It lists every protocol definition available in the system, categorized by domain.
Guidance for AI Agents:
- Primary Protocols (marked with ⭐) are the most frequently used definitions.
- Support Protocols provide internal structures or auxiliary types.
- Always check the file content for specific Zod schema definitions.
Maintaining this file. It is hand-written and not generated. Every
src/…link is asserted to resolve byscripts/protocol-map.test.ts, so a rename that orphans a row fails CI — repoint the row at the schema that replaced it, or drop the row if the concept is gone. The listing is a curated digest, not an exhaustive index: not every schema insrc/appears here, and that is by design.
The "Database as Code" layer. Defines the shape, validation, and storage of data.
| File | Status | Description |
|---|---|---|
object.zod.ts |
⭐ | Object Definition. The core unit of data (tables), including fields, permissions, and event hooks. |
field.zod.ts |
⭐ | Field Types. Defines all supported data types (text, number, lookup, formula, etc.). |
query.zod.ts |
⭐ | ObjectQL. The JSON-based query language AST (filters, sorts, expands). |
validation.zod.ts |
⭐ | Validation Rules. Server-side data validation logic and error messages. |
datasource.zod.ts |
Datasource Config. Connection settings for external databases (Postgres, Mongo, etc.). | |
driver.zod.ts |
Driver Interface. Abstract base for database drivers. | |
driver-sql.zod.ts |
SQL Driver. Specific configurations for SQL-based drivers. | |
driver-nosql.zod.ts |
NoSQL Driver. Specific configurations for NoSQL drivers. | |
driver/mongo.zod.ts |
MongoDB Driver. MongoDB specific connection options. | |
driver/postgres.zod.ts |
PostgreSQL Driver. PostgreSQL specific connection options. | |
seed.zod.ts |
Seed. Seed data / fixtures — bootstrap, reference, and demo rows applied on publish. (Was dataset until #1620; the dataset name now belongs to the analytics semantic layer.) |
|
seed-loader.zod.ts |
Seed Loader. How seed rows are resolved and applied. | |
analytics.zod.ts |
Data Analytics. Aggregation and multidimensional analysis types. | |
document.zod.ts |
Document. Unstructured document storage protocol. | |
filter.zod.ts |
Filter. Low-level filter syntax definitions. | |
hook.zod.ts |
Triggers/Hooks. Database trigger definitions (before/after insert/update). | |
mapping.zod.ts |
Data Mapping. Rules for transforming data between schemas. | |
data-engine.zod.ts |
Data Engine. Internal engine configuration. |
The "Frontend as Code" layer. Defines the user interface and interactions.
| File | Status | Description |
|---|---|---|
app.zod.ts |
⭐ | App Container. Defines the application shell, navigation menu, and branding. |
view.zod.ts |
⭐ | Views. List views (Grid, Kanban) and Record views (Form layouts). |
page.zod.ts |
⭐ | Custom Pages. Drag-and-drop page builder definitions. |
dataset.zod.ts |
⭐ | Analytics Dataset. The one semantic layer (ADR-0021): a base object plus declared dimensions and measures. report / dashboard bind to it by reference instead of declaring their own queries. |
dashboard.zod.ts |
⭐ | Dashboards. Logic for grid-based analytic dashboards. |
report.zod.ts |
⭐ | Reports. Reporting definitions (tabular, summary, matrix). |
action.zod.ts |
⭐ | Actions. Buttons, links, and operations available on UI. |
chart.zod.ts |
Charts. Visualization configurations (Bar, Pie, Line, etc.). | |
widget.zod.ts |
Widgets. Reusable UI components for dashboards and pages. | |
component.zod.ts |
Components. Low-level component definitions. |
The "Logic as Code" layer. Defines business processes and orchestration.
| File | Status | Description |
|---|---|---|
state-machine.zod.ts |
⭐ | State Machines. Strict lifecycle transitions and guards. |
flow.zod.ts |
⭐ | Visual Flow. Complex orchestration logic (decisions, loops, CRUD). |
approval.zod.ts |
⭐ | Approval Node. Flow node config for human approval pauses. |
webhook.zod.ts |
⭐ | Webhooks. Outbound HTTP notification configuration. |
The "Agent as Code" layer. Defines autonomous actors and cognitive pipelines.
| File | Status | Description |
|---|---|---|
agent.zod.ts |
⭐ | AI Agent. Attributes of an AI assistant (role, personality, model). |
tool.zod.ts |
⭐ | Tools. Capabilities exposed to the AI (function calling). Was agent-action. |
skill.zod.ts |
⭐ | Skills. Named bundles of instructions plus tools, activated by trigger phrases or conditions. |
mcp.zod.ts |
⭐ | Model Context Protocol (MCP). Standard protocol for connecting AI to tools, resources, and data sources. |
model-registry.zod.ts |
LLM Registry. Configuration for model providers (OpenAI, Anthropic). | |
conversation.zod.ts |
Chat Session. History and context management for AI chats. | |
knowledge-source.zod.ts |
Knowledge Source. What to index and which adapter to use (the RAG retrieval binding). | |
knowledge-document.zod.ts |
Knowledge Document. Document / chunk / hit shapes shared by every knowledge adapter. | |
embedding.zod.ts |
Embeddings. Embedding model and vector store configuration. | |
solution-blueprint.zod.ts |
Solution Blueprint. Plan-first authoring target for high-level goals (ADR-0033). | |
usage.zod.ts |
Usage. Token consumption measurement. Was cost. |
The "Access as Code" layer. Defines users, organization, and permissions.
| File | Status | Description |
|---|---|---|
identity.zod.ts |
⭐ | User Identity. User accounts, authentication attributes. |
organization.zod.ts |
⭐ | Organization. Multi-tenancy structure (spaces, companies). |
permission.zod.ts |
⭐ | Permissions. ACLs for Objects, Fields, and Apps. |
position.zod.ts |
Positions. The assignable bundle of permission sets a user holds. Renamed from role by ADR-0090 (sys_role→sys_position); profile was removed in the same wave. |
|
sharing.zod.ts |
Sharing Rules. Record-level access rules (sharing calculation). | |
explain.zod.ts |
Access Explain. Why a principal can or cannot reach a record. | |
rls.zod.ts |
Row Level Security. Database-level RLS definitions. | |
tenancy-posture.ts |
Tenancy Posture. single / group / isolated — which organization wall Layer 0 enforces (ADR-0105 D1). |
|
scim.zod.ts |
SCIM Protocol. Identity provisioning standards. |
The "Connectivity as Code" layer. Defines external connections.
| File | Status | Description |
|---|---|---|
connector.zod.ts |
⭐ | Connector Protocol (ADR-0097). One schema; provider shapes come from the provider itself (connector-openapi / connector-mcp), not from per-provider spec files — the six connector/*.zod.ts "templates" were removed in #4480 (zero consumers; ADR-0023 rejected that design). |
The "Infrastructure as Code" layer. Defines runtime behaviors.
| File | Status | Description |
|---|---|---|
job.zod.ts |
⭐ | Background Jobs. Cron and scheduled task definitions. |
auth-config.zod.ts |
Auth Configuration. SSO, OIDC, SAML settings. | |
http-server.zod.ts |
HTTP Server. Server port, CORS, and middleware settings. | |
logging.zod.ts |
Logging. Log levels and output formats. | |
cache.zod.ts |
Caching. Redis/Memory cache strategies. | |
metrics.zod.ts |
Observability. Prometheus/OpenTelemetry metrics. | |
tracing.zod.ts |
Tracing. Distributed tracing configuration. | |
object-storage.zod.ts |
File Storage. S3 bucket and upload configurations. | |
search-engine.zod.ts |
Search. Elasticsearch/Meilisearch configuration. | |
notification.zod.ts |
Notifications. System-wide notification preferences. | |
translation.zod.ts |
i18n. Internationalization and localization. | |
worker.zod.ts |
Worker Nodes. Background worker scaling config. | |
encryption.zod.ts |
Encryption. At-rest and in-transit encryption keys. | |
migration.zod.ts |
Migration. Database schema migration tracking. | |
license.zod.ts |
Licensing. License keys and entitlements. | |
registry-config.zod.ts |
Registry Config. Configuration for the package registry. | |
tenant.zod.ts |
Tenant. Multi-tenant environment isolation. | |
collaboration.zod.ts |
Collaboration. Real-time collaboration settings. |
The "Interface as Code" layer. Defines the external API surface.
| File | Status | Description |
|---|---|---|
protocol.zod.ts |
⭐ | Stack Protocol. valid requests and responses for the platform. |
dispatcher.zod.ts |
⭐ | HttpDispatcher. Route-to-service mapping for API routing. |
discovery.zod.ts |
⭐ | Service Discovery. Service registration and API routes discovery. |
endpoint.zod.ts |
API Endpoints. REST API route definitions. apis: is rejected at publish/validate (#4936); the executor is tracked by #5040. |
|
rest-server.zod.ts |
REST Server. REST-specific server settings. | |
auth.zod.ts |
API Auth. Authentication schemes for APIs. | |
analytics.zod.ts |
API Analytics. Usage tracking for APIs. | |
documentation.zod.ts |
Docs. OpenAPI/Swagger generation config. | |
realtime.zod.ts |
Realtime. WebSocket/SSE configurations. | |
websocket.zod.ts |
WebSockets. Low-level text/binary socket frames. | |
router.zod.ts |
Routing. API Gateway routing rules. | |
http-cache.zod.ts |
HTTP Cache. Cache-Control headers and CDNs. | |
errors.zod.ts |
Error Handling. Standard error response formats. | |
metadata.zod.ts |
Metadata API. Endpoints for schema retrieval. | |
odata.zod.ts |
OData. OData protocol support. | |
batch.zod.ts |
Batch API. Bulk request processing. | |
contract.zod.ts |
API Contracts. Versioned API signatures. | |
storage.zod.ts |
Storage API. File upload/download endpoints. | |
package-api.zod.ts |
Package API. Package lifecycle endpoints (/api/v1/packages). |
The "OS as Code" layer. Defines low-level plugin lifecycles.
| File | Status | Description |
|---|---|---|
plugin.zod.ts |
⭐ | Plugin Definition. The structure of an ObjectStack plugin. |
manifest.zod.ts |
⭐ | Manifest. The package.json equivalent for the stack. |
context.zod.ts |
Execution Context. Request-scoped context (user, transaction). | |
events.zod.ts |
Kernel Events. System lifecycle events. | |
service-registry.zod.ts |
Service Registry. Internal dependency injection. | |
metadata-loader.zod.ts |
Loader. Logic for loading definitions from disk/DB. | |
plugin-loading.zod.ts |
Plugin Loading (observational only). The lifecycle event and per-plugin loading state. The configuration half — loading strategies, hot reload, sandboxing, code splitting, caching, performance monitoring, reached as manifest.loading — was REMOVED in v17 (#4914, ADR-0049 enforce-or-remove): it had no runtime reader in any repo. |
|
plugin-registry.zod.ts |
Plugin Registry. Metadata for available plugins. | |
plugin-security.zod.ts |
Plugin Security. Security verification for plugins. | |
plugin-versioning.zod.ts |
Versioning. Semantic versioning rules for plugins. | |
plugin-validator.zod.ts |
Validation. Integrity checks for plugins. | |
plugin-structure.zod.ts |
Structure. Zod rules for folder layout and file naming. | |
plugin-capability.zod.ts |
Capabilities. What a plugin can do. | |
plugin-lifecycle-events.ts |
Lifecycle Events. Registry of every kernel-bus event that actually fires, with payload tuples; feeds hook/trigger autocomplete. |
|
plugin-lifecycle-advanced.zod.ts |
Advanced Lifecycle. Input vocabularies of the host-driven @objectstack/core lifecycle classes: health monitoring (PluginHealthMonitor) and hot-reload state management (HotReloadManager). The authorable config container and the graceful-degradation / update-strategy vocabularies were retired in #11825 (ADR-0049 — zero readers). |
|
plugin-security-advanced.zod.ts |
Advanced Security. Permission system, sandbox configuration (V8/WASM/container/process), security scanning, and trust levels. | |
startup-orchestrator.zod.ts |
Startup. Boot sequence orchestration. |