From b8d5b11a065eff2438c67e2fa81341795de69d10 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 2 Aug 2026 09:23:28 +0000 Subject: [PATCH] fix(#4570): spell reference-doc import examples from the real export surface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `build-docs.ts` derived each page's "TypeScript Usage" block from the JSON Schema file name — the value import verbatim, the `import type` line with a `Schema` suffix stripped — on the assumption that both names exist. Nothing verified it, and `check:docs` structurally could not: it diffs the generator's output against the committed docs, so a name the generator invents stays "in sync" with itself forever. Compiling the committed `import type` lines against `packages/spec/src` gives 150 `has no exported member` errors, and every `.parse()` example called a type rather than the schema const. Both lines are now resolved against `api-surface.json`, the committed record of every `name (kind)` per public entry point: - value import: `Schema` when the entry exports it, else `` (a merged `export const Foo = z.enum(…)` + `export type Foo` is reported as `type` by kindOf, so presence — not kind — is the sound signal there); - type import: `` only when the entry exports it with a type-bearing kind, which kindOf's TypeAlias-before-Variable ordering makes decidable; - the example parses with the resolved const. A name that resolves to nothing is dropped from the page AND recorded in the new `docs-import-surface.baseline.json` — a shrink-only ratchet, so #4539's scenario (deleting a zero-consumer type alias while its schema keeps its reference page) now turns `check:docs` red instead of silently publishing a dead import. The baseline is regenerated only by an explicit `--update-import-baseline`, never by a `gen:` script, for the same reason the dual-source baseline is (#4446). 225 reference pages regenerate with corrected imports. The 154 accepted gaps are 150 schemas with no exported type alias (#4593) and 4 whose names are mangled by a first-occurrence `replace('Schema','')` in build-schemas.ts (#4592). Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_012C2cd7tL8QDoZ2QKN3djJ5 --- .changeset/eighty-donkeys-repeat.md | 19 ++ content/docs/references/ai/agent.mdx | 6 +- content/docs/references/ai/conversation.mdx | 6 +- content/docs/references/ai/embedding.mdx | 4 +- .../docs/references/ai/knowledge-document.mdx | 4 +- .../docs/references/ai/knowledge-source.mdx | 4 +- content/docs/references/ai/mcp.mdx | 4 +- content/docs/references/ai/model-registry.mdx | 4 +- content/docs/references/ai/skill.mdx | 4 +- .../docs/references/ai/solution-blueprint.mdx | 4 +- content/docs/references/ai/tool.mdx | 4 +- content/docs/references/ai/usage.mdx | 4 +- content/docs/references/api/analytics.mdx | 4 +- .../docs/references/api/auth-endpoints.mdx | 4 +- content/docs/references/api/auth.mdx | 2 +- .../docs/references/api/automation-api.mdx | 2 +- content/docs/references/api/batch.mdx | 4 +- content/docs/references/api/connector.mdx | 4 +- content/docs/references/api/contract.mdx | 4 +- content/docs/references/api/discovery.mdx | 6 +- content/docs/references/api/dispatcher.mdx | 4 +- content/docs/references/api/documentation.mdx | 4 +- content/docs/references/api/endpoint.mdx | 6 +- content/docs/references/api/errors.mdx | 4 +- content/docs/references/api/events.mdx | 4 +- content/docs/references/api/export.mdx | 4 +- content/docs/references/api/http-cache.mdx | 4 +- content/docs/references/api/identity.mdx | 4 +- .../docs/references/api/metadata-plugin.mdx | 6 +- content/docs/references/api/metadata.mdx | 6 +- content/docs/references/api/notification.mdx | 4 +- content/docs/references/api/odata.mdx | 4 +- content/docs/references/api/package-api.mdx | 4 +- .../docs/references/api/package-registry.mdx | 4 +- .../docs/references/api/plugin-rest-api.mdx | 4 +- content/docs/references/api/protocol.mdx | 6 +- content/docs/references/api/query-adapter.mdx | 4 +- .../docs/references/api/realtime-shared.mdx | 4 +- content/docs/references/api/realtime.mdx | 6 +- content/docs/references/api/registry.mdx | 4 +- content/docs/references/api/rest-server.mdx | 4 +- content/docs/references/api/router.mdx | 2 +- content/docs/references/api/storage.mdx | 4 +- content/docs/references/api/versioning.mdx | 4 +- content/docs/references/api/websocket.mdx | 4 +- .../docs/references/automation/approval.mdx | 4 +- .../references/automation/bpmn-interop.mdx | 4 +- .../automation/builtin-node-config.mdx | 4 +- .../docs/references/automation/connector.mdx | 4 +- .../references/automation/control-flow.mdx | 4 +- content/docs/references/automation/etl.mdx | 4 +- .../references/automation/events-core.mdx | 5 +- .../docs/references/automation/execution.mdx | 4 +- .../references/automation/flow-function.mdx | 4 +- content/docs/references/automation/flow.mdx | 6 +- .../references/automation/io-node-config.mdx | 4 +- content/docs/references/automation/job.mdx | 4 +- .../references/automation/node-executor.mdx | 4 +- .../docs/references/automation/offline.mdx | 4 +- .../automation/schemaless-node-config.mdx | 4 +- .../references/automation/state-machine.mdx | 6 +- content/docs/references/automation/sync.mdx | 4 +- .../automation/time-relative-trigger.mdx | 4 +- .../docs/references/automation/webhook.mdx | 6 +- content/docs/references/cloud/app-store.mdx | 4 +- .../references/cloud/developer-portal.mdx | 4 +- .../references/cloud/environment-artifact.mdx | 4 +- .../references/cloud/environment-package.mdx | 4 +- content/docs/references/cloud/environment.mdx | 4 +- .../references/cloud/marketplace-admin.mdx | 4 +- content/docs/references/cloud/marketplace.mdx | 4 +- .../docs/references/cloud/package-version.mdx | 4 +- content/docs/references/cloud/package.mdx | 4 +- .../docs/references/cloud/plugin-security.mdx | 4 +- .../docs/references/cloud/provisioning.mdx | 4 +- .../references/cloud/template-manifest.mdx | 4 +- content/docs/references/cloud/tenant.mdx | 4 +- content/docs/references/data/analytics.mdx | 4 +- .../docs/references/data/context-tokens.mdx | 6 +- content/docs/references/data/data-engine.mdx | 6 +- content/docs/references/data/datasource.mdx | 6 +- content/docs/references/data/date-macros.mdx | 6 +- content/docs/references/data/document.mdx | 4 +- .../docs/references/data/driver-common.mdx | 6 +- .../docs/references/data/driver-memory.mdx | 4 +- content/docs/references/data/driver-mongo.mdx | 4 +- content/docs/references/data/driver-mysql.mdx | 4 +- content/docs/references/data/driver-nosql.mdx | 6 +- .../docs/references/data/driver-postgres.mdx | 4 +- content/docs/references/data/driver-sql.mdx | 4 +- .../docs/references/data/driver-sqlite.mdx | 4 +- content/docs/references/data/driver.mdx | 4 +- .../docs/references/data/external-catalog.mdx | 4 +- .../docs/references/data/external-lookup.mdx | 4 +- content/docs/references/data/field-value.mdx | 5 +- content/docs/references/data/field.mdx | 4 +- content/docs/references/data/filter.mdx | 6 +- content/docs/references/data/hook-body.mdx | 4 +- content/docs/references/data/hook.mdx | 6 +- content/docs/references/data/mapping.mdx | 6 +- content/docs/references/data/object.mdx | 4 +- content/docs/references/data/query.mdx | 4 +- content/docs/references/data/seed-loader.mdx | 4 +- content/docs/references/data/seed.mdx | 6 +- content/docs/references/data/validation.mdx | 4 +- .../docs/references/identity/eval-user.mdx | 4 +- content/docs/references/identity/identity.mdx | 4 +- .../docs/references/identity/organization.mdx | 4 +- content/docs/references/identity/position.mdx | 4 +- content/docs/references/identity/scim.mdx | 4 +- .../references/integration/connector-auth.mdx | 6 +- .../docs/references/integration/connector.mdx | 6 +- content/docs/references/integration/http.mdx | 4 +- .../docs/references/integration/mapping.mdx | 4 +- .../docs/references/integration/offline.mdx | 4 +- .../docs/references/kernel/cli-extension.mdx | 4 +- content/docs/references/kernel/cluster.mdx | 4 +- content/docs/references/kernel/context.mdx | 4 +- .../kernel/dependency-resolution.mdx | 6 +- content/docs/references/kernel/events-bus.mdx | 4 +- .../docs/references/kernel/events-core.mdx | 6 +- content/docs/references/kernel/events-dlq.mdx | 4 +- .../references/kernel/events-handlers.mdx | 4 +- .../references/kernel/events-integrations.mdx | 4 +- .../docs/references/kernel/events-queue.mdx | 4 +- .../references/kernel/execution-context.mdx | 4 +- content/docs/references/kernel/manifest.mdx | 6 +- .../kernel/metadata-customization.mdx | 4 +- .../references/kernel/metadata-loader.mdx | 4 +- .../references/kernel/metadata-plugin.mdx | 4 +- .../references/kernel/metadata-protection.mdx | 4 +- .../references/kernel/package-artifact.mdx | 6 +- .../references/kernel/package-registry.mdx | 6 +- .../references/kernel/package-upgrade.mdx | 4 +- .../references/kernel/plugin-capability.mdx | 4 +- .../kernel/plugin-lifecycle-advanced.mdx | 4 +- .../docs/references/kernel/plugin-loading.mdx | 4 +- .../references/kernel/plugin-registry.mdx | 4 +- .../docs/references/kernel/plugin-runtime.mdx | 4 +- .../kernel/plugin-security-advanced.mdx | 4 +- .../references/kernel/plugin-security.mdx | 4 +- .../references/kernel/plugin-structure.mdx | 4 +- .../references/kernel/plugin-validator.mdx | 4 +- .../references/kernel/plugin-versioning.mdx | 4 +- content/docs/references/kernel/plugin.mdx | 6 +- .../references/kernel/service-registry.mdx | 4 +- .../kernel/startup-orchestrator.mdx | 4 +- content/docs/references/qa/testing.mdx | 6 +- content/docs/references/security/explain.mdx | 4 +- content/docs/references/security/misc.mdx | 4 +- .../docs/references/security/permission.mdx | 4 +- content/docs/references/security/rls.mdx | 4 +- content/docs/references/security/sharing.mdx | 6 +- .../docs/references/shared/branded-types.mdx | 4 +- content/docs/references/shared/enums.mdx | 4 +- content/docs/references/shared/expression.mdx | 4 +- content/docs/references/shared/http.mdx | 4 +- .../docs/references/shared/identifiers.mdx | 4 +- content/docs/references/shared/mapping.mdx | 4 +- .../docs/references/shared/metadata-types.mdx | 4 +- content/docs/references/shared/protection.mdx | 4 +- content/docs/references/studio/action.mdx | 5 +- .../docs/references/studio/flow-builder.mdx | 4 +- .../references/studio/object-designer.mdx | 4 +- content/docs/references/studio/plugin.mdx | 6 +- .../docs/references/system/app-install.mdx | 4 +- .../docs/references/system/auth-config.mdx | 4 +- content/docs/references/system/book.mdx | 4 +- content/docs/references/system/cache.mdx | 4 +- .../references/system/change-management.mdx | 4 +- .../docs/references/system/collaboration.mdx | 4 +- .../docs/references/system/core-services.mdx | 4 +- .../docs/references/system/deploy-bundle.mdx | 6 +- .../references/system/disaster-recovery.mdx | 4 +- content/docs/references/system/doc.mdx | 4 +- .../docs/references/system/email-config.mdx | 4 +- .../docs/references/system/email-template.mdx | 4 +- content/docs/references/system/encryption.mdx | 4 +- .../system/environment-artifact.mdx | 6 +- .../docs/references/system/http-server.mdx | 4 +- .../references/system/incident-response.mdx | 4 +- content/docs/references/system/job.mdx | 4 +- content/docs/references/system/license.mdx | 4 +- content/docs/references/system/logging.mdx | 4 +- .../docs/references/system/message-queue.mdx | 4 +- .../references/system/metadata-loader.mdx | 4 +- .../system/metadata-persistence.mdx | 6 +- .../docs/references/system/metadata-types.mdx | 4 +- content/docs/references/system/metrics.mdx | 4 +- content/docs/references/system/migration.mdx | 4 +- .../docs/references/system/notification.mdx | 4 +- .../docs/references/system/object-storage.mdx | 4 +- .../docs/references/system/provisioning.mdx | 6 +- .../references/system/registry-config.mdx | 4 +- .../docs/references/system/search-engine.mdx | 4 +- .../references/system/security-context.mdx | 4 +- .../references/system/settings-client.mdx | 4 +- .../references/system/settings-manifest.mdx | 4 +- .../references/system/supplier-security.mdx | 4 +- content/docs/references/system/tenant.mdx | 6 +- content/docs/references/system/tracing.mdx | 4 +- content/docs/references/system/training.mdx | 4 +- .../docs/references/system/translation.mdx | 6 +- content/docs/references/system/worker.mdx | 4 +- content/docs/references/ui/action.mdx | 6 +- content/docs/references/ui/animation.mdx | 4 +- content/docs/references/ui/app.mdx | 4 +- content/docs/references/ui/bulk-action.mdx | 4 +- content/docs/references/ui/chart.mdx | 4 +- content/docs/references/ui/component.mdx | 3 +- content/docs/references/ui/dashboard.mdx | 4 +- content/docs/references/ui/dataset.mdx | 6 +- content/docs/references/ui/dnd.mdx | 4 +- content/docs/references/ui/http.mdx | 4 +- content/docs/references/ui/i18n.mdx | 4 +- content/docs/references/ui/keyboard.mdx | 4 +- content/docs/references/ui/notification.mdx | 4 +- content/docs/references/ui/offline.mdx | 4 +- content/docs/references/ui/page.mdx | 6 +- content/docs/references/ui/report.mdx | 6 +- content/docs/references/ui/responsive.mdx | 6 +- content/docs/references/ui/sharing.mdx | 4 +- content/docs/references/ui/theme.mdx | 4 +- content/docs/references/ui/touch.mdx | 4 +- content/docs/references/ui/view.mdx | 6 +- content/docs/references/ui/widget.mdx | 4 +- .../spec/docs-import-surface.baseline.json | 159 +++++++++++++++++ packages/spec/scripts/build-docs.ts | 147 +++++++++++++-- .../spec/scripts/docs-import-surface.test.ts | 147 +++++++++++++++ .../spec/scripts/lib/docs-import-surface.ts | 167 ++++++++++++++++++ 230 files changed, 1113 insertions(+), 510 deletions(-) create mode 100644 .changeset/eighty-donkeys-repeat.md create mode 100644 packages/spec/docs-import-surface.baseline.json create mode 100644 packages/spec/scripts/docs-import-surface.test.ts create mode 100644 packages/spec/scripts/lib/docs-import-surface.ts diff --git a/.changeset/eighty-donkeys-repeat.md b/.changeset/eighty-donkeys-repeat.md new file mode 100644 index 0000000000..a5f5e1b152 --- /dev/null +++ b/.changeset/eighty-donkeys-repeat.md @@ -0,0 +1,19 @@ +--- +"@objectstack/spec": patch +--- + +Reference docs: import examples are now spelled from the package's real export surface + +`build-docs.ts` derived each page's "TypeScript Usage" block from the JSON Schema file +name — the value import verbatim, the `import type` line with a `Schema` suffix stripped — +and nothing verified either name existed. `check:docs` could not catch it: it diffs the +generator's output against the committed docs, so a name the generator invents stays "in +sync" with itself forever. 150 of the committed `import type` names did not compile, and +the `.parse()` example called a type rather than the schema const. + +Both lines are now resolved against `api-surface.json`, the committed record of every +`name (kind)` per entry point: only names the entry really exports are emitted, and the +example parses with the actual schema const. A name that resolves to nothing is dropped +from the page and recorded in the new `docs-import-surface.baseline.json` — a shrink-only +ratchet, so removing a type alias while its schema keeps a reference page now turns +`check:docs` red instead of silently publishing a dead import. diff --git a/content/docs/references/ai/agent.mdx b/content/docs/references/ai/agent.mdx index cdfc790e65..f8f1930a0f 100644 --- a/content/docs/references/ai/agent.mdx +++ b/content/docs/references/ai/agent.mdx @@ -14,11 +14,11 @@ AI Model Configuration ## TypeScript Usage ```typescript -import { AIModelConfig, Agent, StructuredOutputConfig, StructuredOutputFormat, TransformPipelineStep } from '@objectstack/spec/ai'; -import type { AIModelConfig, Agent, StructuredOutputConfig, StructuredOutputFormat, TransformPipelineStep } from '@objectstack/spec/ai'; +import { AIModelConfigSchema, AgentSchema, StructuredOutputConfigSchema, StructuredOutputFormatSchema, TransformPipelineStepSchema } from '@objectstack/spec/ai'; +import type { Agent, StructuredOutputConfig, StructuredOutputFormat, TransformPipelineStep } from '@objectstack/spec/ai'; // Validate data -const result = AIModelConfig.parse(data); +const result = AIModelConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/conversation.mdx b/content/docs/references/ai/conversation.mdx index 9a0d4ae870..19436a8da6 100644 --- a/content/docs/references/ai/conversation.mdx +++ b/content/docs/references/ai/conversation.mdx @@ -18,11 +18,11 @@ Enables context preservation, conversation history, and token optimization. ## TypeScript Usage ```typescript -import { CodeContent, ConversationAnalytics, ConversationContext, ConversationMessage, ConversationSession, ConversationSummary, FileContent, FunctionCall, ImageContent, MessageContent, MessageContentType, MessagePruningEvent, MessageRole, TextContent, TokenBudgetConfig, TokenBudgetStrategy, TokenUsageStats, ToolCall } from '@objectstack/spec/ai'; -import type { CodeContent, ConversationAnalytics, ConversationContext, ConversationMessage, ConversationSession, ConversationSummary, FileContent, FunctionCall, ImageContent, MessageContent, MessageContentType, MessagePruningEvent, MessageRole, TextContent, TokenBudgetConfig, TokenBudgetStrategy, TokenUsageStats, ToolCall } from '@objectstack/spec/ai'; +import { CodeContentSchema, ConversationAnalyticsSchema, ConversationContextSchema, ConversationMessageSchema, ConversationSessionSchema, ConversationSummarySchema, FileContentSchema, FunctionCallSchema, ImageContentSchema, MessageContentSchema, MessageContentTypeSchema, MessagePruningEventSchema, MessageRoleSchema, TextContentSchema, TokenBudgetConfigSchema, TokenBudgetStrategySchema, TokenUsageStatsSchema, ToolCallSchema } from '@objectstack/spec/ai'; +import type { ConversationAnalytics, ConversationContext, ConversationMessage, ConversationSession, ConversationSummary, FunctionCall, MessageContent, MessageContentType, MessagePruningEvent, MessageRole, TokenBudgetConfig, TokenBudgetStrategy, TokenUsageStats, ToolCall } from '@objectstack/spec/ai'; // Validate data -const result = CodeContent.parse(data); +const result = CodeContentSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/embedding.mdx b/content/docs/references/ai/embedding.mdx index 63c4a99124..83bcb8f744 100644 --- a/content/docs/references/ai/embedding.mdx +++ b/content/docs/references/ai/embedding.mdx @@ -38,11 +38,11 @@ vector primitives so any RAG strategy can be built on top. ## TypeScript Usage ```typescript -import { EmbeddingModel, VectorStore, VectorStoreProvider } from '@objectstack/spec/ai'; +import { EmbeddingModelSchema, VectorStoreSchema, VectorStoreProviderSchema } from '@objectstack/spec/ai'; import type { EmbeddingModel, VectorStore, VectorStoreProvider } from '@objectstack/spec/ai'; // Validate data -const result = EmbeddingModel.parse(data); +const result = EmbeddingModelSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/knowledge-document.mdx b/content/docs/references/ai/knowledge-document.mdx index f0e39e1f10..1d9d862826 100644 --- a/content/docs/references/ai/knowledge-document.mdx +++ b/content/docs/references/ai/knowledge-document.mdx @@ -26,11 +26,11 @@ See `content/docs/protocol/knowledge.mdx` for the full design. ## TypeScript Usage ```typescript -import { KnowledgeChunk, KnowledgeDocument, KnowledgeHit } from '@objectstack/spec/ai'; +import { KnowledgeChunkSchema, KnowledgeDocumentSchema, KnowledgeHitSchema } from '@objectstack/spec/ai'; import type { KnowledgeChunk, KnowledgeDocument, KnowledgeHit } from '@objectstack/spec/ai'; // Validate data -const result = KnowledgeChunk.parse(data); +const result = KnowledgeChunkSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/knowledge-source.mdx b/content/docs/references/ai/knowledge-source.mdx index 2e2f7e0812..0f3841430b 100644 --- a/content/docs/references/ai/knowledge-source.mdx +++ b/content/docs/references/ai/knowledge-source.mdx @@ -28,11 +28,11 @@ See `content/docs/protocol/knowledge.mdx` for the full design. ## TypeScript Usage ```typescript -import { FileKnowledgeSource, HttpKnowledgeSource, KnowledgeRefreshPolicy, KnowledgeSource, KnowledgeSourceKind, ObjectKnowledgeSource } from '@objectstack/spec/ai'; +import { FileKnowledgeSourceSchema, HttpKnowledgeSourceSchema, KnowledgeRefreshPolicySchema, KnowledgeSourceSchema, KnowledgeSourceKindSchema, ObjectKnowledgeSourceSchema } from '@objectstack/spec/ai'; import type { FileKnowledgeSource, HttpKnowledgeSource, KnowledgeRefreshPolicy, KnowledgeSource, KnowledgeSourceKind, ObjectKnowledgeSource } from '@objectstack/spec/ai'; // Validate data -const result = FileKnowledgeSource.parse(data); +const result = FileKnowledgeSourceSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/mcp.mdx b/content/docs/references/ai/mcp.mdx index 1b32bccff0..c8b707e632 100644 --- a/content/docs/references/ai/mcp.mdx +++ b/content/docs/references/ai/mcp.mdx @@ -40,11 +40,11 @@ at runtime and does not need a metadata representation. ## TypeScript Usage ```typescript -import { MCPApprovalPolicy, MCPServerRef, MCPToolBinding, MCPTransport } from '@objectstack/spec/ai'; +import { MCPApprovalPolicySchema, MCPServerRefSchema, MCPToolBindingSchema, MCPTransportSchema } from '@objectstack/spec/ai'; import type { MCPApprovalPolicy, MCPServerRef, MCPToolBinding, MCPTransport } from '@objectstack/spec/ai'; // Validate data -const result = MCPApprovalPolicy.parse(data); +const result = MCPApprovalPolicySchema.parse(data); ``` --- diff --git a/content/docs/references/ai/model-registry.mdx b/content/docs/references/ai/model-registry.mdx index 0509a409d2..04e3d4a282 100644 --- a/content/docs/references/ai/model-registry.mdx +++ b/content/docs/references/ai/model-registry.mdx @@ -18,11 +18,11 @@ Enables AI-powered ObjectStack applications to discover and use LLMs consistentl ## TypeScript Usage ```typescript -import { ModelCapability, ModelConfig, ModelLimits, ModelPricing, ModelProvider, ModelRegistry, ModelRegistryEntry, ModelSelectionCriteria, PromptTemplate, PromptVariable } from '@objectstack/spec/ai'; +import { ModelCapabilitySchema, ModelConfigSchema, ModelLimitsSchema, ModelPricingSchema, ModelProviderSchema, ModelRegistrySchema, ModelRegistryEntrySchema, ModelSelectionCriteriaSchema, PromptTemplateSchema, PromptVariableSchema } from '@objectstack/spec/ai'; import type { ModelCapability, ModelConfig, ModelLimits, ModelPricing, ModelProvider, ModelRegistry, ModelRegistryEntry, ModelSelectionCriteria, PromptTemplate, PromptVariable } from '@objectstack/spec/ai'; // Validate data -const result = ModelCapability.parse(data); +const result = ModelCapabilitySchema.parse(data); ``` --- diff --git a/content/docs/references/ai/skill.mdx b/content/docs/references/ai/skill.mdx index 546795f65d..ec4ee772e2 100644 --- a/content/docs/references/ai/skill.mdx +++ b/content/docs/references/ai/skill.mdx @@ -18,11 +18,11 @@ Allows context-aware activation based on object type, user role, etc. ## TypeScript Usage ```typescript -import { Skill, SkillTriggerCondition } from '@objectstack/spec/ai'; +import { SkillSchema, SkillTriggerConditionSchema } from '@objectstack/spec/ai'; import type { Skill, SkillTriggerCondition } from '@objectstack/spec/ai'; // Validate data -const result = Skill.parse(data); +const result = SkillSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/solution-blueprint.mdx b/content/docs/references/ai/solution-blueprint.mdx index 913d1ef64e..f172dec44f 100644 --- a/content/docs/references/ai/solution-blueprint.mdx +++ b/content/docs/references/ai/solution-blueprint.mdx @@ -34,11 +34,11 @@ batch-draft. This is the safety valve for low-specificity input. ## TypeScript Usage ```typescript -import { BlueprintApp, BlueprintCondition, BlueprintDashboard, BlueprintField, BlueprintNavItem, BlueprintObject, BlueprintSeed, BlueprintSummaryOperations, BlueprintView, BlueprintWidgetCondition, SolutionBlueprint, SolutionBlueprintStrict } from '@objectstack/spec/ai'; +import { BlueprintAppSchema, BlueprintConditionSchema, BlueprintDashboardSchema, BlueprintFieldSchema, BlueprintNavItemSchema, BlueprintObjectSchema, BlueprintSeedSchema, BlueprintSummaryOperationsSchema, BlueprintViewSchema, BlueprintWidgetConditionSchema, SolutionBlueprintSchema, SolutionBlueprintStrictSchema } from '@objectstack/spec/ai'; import type { BlueprintApp, BlueprintCondition, BlueprintDashboard, BlueprintField, BlueprintNavItem, BlueprintObject, BlueprintSeed, BlueprintSummaryOperations, BlueprintView, BlueprintWidgetCondition, SolutionBlueprint, SolutionBlueprintStrict } from '@objectstack/spec/ai'; // Validate data -const result = BlueprintApp.parse(data); +const result = BlueprintAppSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/tool.mdx b/content/docs/references/ai/tool.mdx index 2bfa0666da..c7a0266b76 100644 --- a/content/docs/references/ai/tool.mdx +++ b/content/docs/references/ai/tool.mdx @@ -20,11 +20,11 @@ because the parse error is the one channel every consumer bumping ## TypeScript Usage ```typescript -import { Tool } from '@objectstack/spec/ai'; +import { ToolSchema } from '@objectstack/spec/ai'; import type { Tool } from '@objectstack/spec/ai'; // Validate data -const result = Tool.parse(data); +const result = ToolSchema.parse(data); ``` --- diff --git a/content/docs/references/ai/usage.mdx b/content/docs/references/ai/usage.mdx index 2f7f169f5f..f7e0cfa80a 100644 --- a/content/docs/references/ai/usage.mdx +++ b/content/docs/references/ai/usage.mdx @@ -38,11 +38,11 @@ is product policy that varies wildly between tenants. ## TypeScript Usage ```typescript -import { AIUsageRecord, TokenUsage } from '@objectstack/spec/ai'; +import { AIUsageRecordSchema, TokenUsageSchema } from '@objectstack/spec/ai'; import type { AIUsageRecord, TokenUsage } from '@objectstack/spec/ai'; // Validate data -const result = AIUsageRecord.parse(data); +const result = AIUsageRecordSchema.parse(data); ``` --- diff --git a/content/docs/references/api/analytics.mdx b/content/docs/references/api/analytics.mdx index 9ba3f9a605..8564dd836d 100644 --- a/content/docs/references/api/analytics.mdx +++ b/content/docs/references/api/analytics.mdx @@ -18,8 +18,8 @@ Provides endpoints for executing analytical queries and discovering metadata. ## TypeScript Usage ```typescript -import { AnalyticsEndpoint, AnalyticsMetadataResponse, AnalyticsQueryRequest, AnalyticsResultResponse, AnalyticsSqlResponse, GetAnalyticsMetaRequest } from '@objectstack/spec/api'; -import type { AnalyticsEndpoint, AnalyticsMetadataResponse, AnalyticsQueryRequest, AnalyticsResultResponse, AnalyticsSqlResponse, GetAnalyticsMetaRequest } from '@objectstack/spec/api'; +import { AnalyticsEndpoint, AnalyticsMetadataResponseSchema, AnalyticsQueryRequestSchema, AnalyticsResultResponseSchema, AnalyticsSqlResponseSchema, GetAnalyticsMetaRequestSchema } from '@objectstack/spec/api'; +import type { AnalyticsEndpoint, AnalyticsMetadataResponse, AnalyticsQueryRequest, AnalyticsSqlResponse } from '@objectstack/spec/api'; // Validate data const result = AnalyticsEndpoint.parse(data); diff --git a/content/docs/references/api/auth-endpoints.mdx b/content/docs/references/api/auth-endpoints.mdx index f0cf415138..a95d20ac65 100644 --- a/content/docs/references/api/auth-endpoints.mdx +++ b/content/docs/references/api/auth-endpoints.mdx @@ -24,11 +24,11 @@ the canonical API contract. ## TypeScript Usage ```typescript -import { AuthEndpoint, AuthFeaturesConfig, AuthProviderInfo, DeviceRequestResponse, DeviceTokenResponse, EmailPasswordConfigPublic, GetAuthConfigResponse } from '@objectstack/spec/api'; +import { AuthEndpointSchema, AuthFeaturesConfigSchema, AuthProviderInfoSchema, DeviceRequestResponseSchema, DeviceTokenResponseSchema, EmailPasswordConfigPublicSchema, GetAuthConfigResponseSchema } from '@objectstack/spec/api'; import type { AuthEndpoint, AuthFeaturesConfig, AuthProviderInfo, DeviceRequestResponse, DeviceTokenResponse, EmailPasswordConfigPublic, GetAuthConfigResponse } from '@objectstack/spec/api'; // Validate data -const result = AuthEndpoint.parse(data); +const result = AuthEndpointSchema.parse(data); ``` --- diff --git a/content/docs/references/api/auth.mdx b/content/docs/references/api/auth.mdx index 494d235919..eb52eb6dd4 100644 --- a/content/docs/references/api/auth.mdx +++ b/content/docs/references/api/auth.mdx @@ -18,7 +18,7 @@ and Access Control. ## TypeScript Usage ```typescript -import { AuthProvider, LoginRequest, LoginType, RefreshTokenRequest, RegisterRequest, SessionResponse, SessionUser, UserProfileResponse } from '@objectstack/spec/api'; +import { AuthProvider, LoginRequestSchema, LoginType, RefreshTokenRequestSchema, RegisterRequestSchema, SessionResponseSchema, SessionUserSchema, UserProfileResponseSchema } from '@objectstack/spec/api'; import type { AuthProvider, LoginRequest, LoginType, RefreshTokenRequest, RegisterRequest, SessionResponse, SessionUser, UserProfileResponse } from '@objectstack/spec/api'; // Validate data diff --git a/content/docs/references/api/automation-api.mdx b/content/docs/references/api/automation-api.mdx index 6dc9ee1a95..843528a945 100644 --- a/content/docs/references/api/automation-api.mdx +++ b/content/docs/references/api/automation-api.mdx @@ -40,7 +40,7 @@ GET /api/automation/:name/runs/:runId — Get single execution run ## TypeScript Usage ```typescript -import { AutomationApiErrorCode, AutomationFlowPathParams, AutomationRunPathParams, CreateFlowRequest, CreateFlowResponse, DeleteFlowRequest, DeleteFlowResponse, FlowSummary, GetFlowRequest, GetFlowResponse, GetRunRequest, GetRunResponse, ListFlowsRequest, ListFlowsResponse, ListRunsRequest, ListRunsResponse, ToggleFlowRequest, ToggleFlowResponse, TriggerFlowRequest, TriggerFlowResponse, UpdateFlowRequest, UpdateFlowResponse } from '@objectstack/spec/api'; +import { AutomationApiErrorCode, AutomationFlowPathParamsSchema, AutomationRunPathParamsSchema, CreateFlowRequestSchema, CreateFlowResponseSchema, DeleteFlowRequestSchema, DeleteFlowResponseSchema, FlowSummarySchema, GetFlowRequestSchema, GetFlowResponseSchema, GetRunRequestSchema, GetRunResponseSchema, ListFlowsRequestSchema, ListFlowsResponseSchema, ListRunsRequestSchema, ListRunsResponseSchema, ToggleFlowRequestSchema, ToggleFlowResponseSchema, TriggerFlowRequestSchema, TriggerFlowResponseSchema, UpdateFlowRequestSchema, UpdateFlowResponseSchema } from '@objectstack/spec/api'; import type { AutomationApiErrorCode, AutomationFlowPathParams, AutomationRunPathParams, CreateFlowRequest, CreateFlowResponse, DeleteFlowRequest, DeleteFlowResponse, FlowSummary, GetFlowRequest, GetFlowResponse, GetRunRequest, GetRunResponse, ListFlowsRequest, ListFlowsResponse, ListRunsRequest, ListRunsResponse, ToggleFlowRequest, ToggleFlowResponse, TriggerFlowRequest, TriggerFlowResponse, UpdateFlowRequest, UpdateFlowResponse } from '@objectstack/spec/api'; // Validate data diff --git a/content/docs/references/api/batch.mdx b/content/docs/references/api/batch.mdx index ce6565d201..57a4347762 100644 --- a/content/docs/references/api/batch.mdx +++ b/content/docs/references/api/batch.mdx @@ -30,11 +30,11 @@ Industry alignment: Salesforce Bulk API, Microsoft Dynamics Bulk Operations ## TypeScript Usage ```typescript -import { BatchConfig, BatchOperationResult, BatchOperationType, BatchOptions, BatchRecord, BatchUpdateRequest, BatchUpdateResponse, CrossObjectBatchDroppedFields, CrossObjectBatchOperation, CrossObjectBatchRequest, CrossObjectBatchResponse, DeleteManyRequest, UpdateManyRecord, UpdateManyRequest } from '@objectstack/spec/api'; +import { BatchConfigSchema, BatchOperationResultSchema, BatchOperationType, BatchOptionsSchema, BatchRecordSchema, BatchUpdateRequestSchema, BatchUpdateResponseSchema, CrossObjectBatchDroppedFieldsSchema, CrossObjectBatchOperationSchema, CrossObjectBatchRequestSchema, CrossObjectBatchResponseSchema, DeleteManyRequestSchema, UpdateManyRecordSchema, UpdateManyRequestSchema } from '@objectstack/spec/api'; import type { BatchConfig, BatchOperationResult, BatchOperationType, BatchOptions, BatchRecord, BatchUpdateRequest, BatchUpdateResponse, CrossObjectBatchDroppedFields, CrossObjectBatchOperation, CrossObjectBatchRequest, CrossObjectBatchResponse, DeleteManyRequest, UpdateManyRecord, UpdateManyRequest } from '@objectstack/spec/api'; // Validate data -const result = BatchConfig.parse(data); +const result = BatchConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/connector.mdx b/content/docs/references/api/connector.mdx index aac0b373f2..e2e0892e87 100644 --- a/content/docs/references/api/connector.mdx +++ b/content/docs/references/api/connector.mdx @@ -8,11 +8,11 @@ description: Connector protocol schemas ## TypeScript Usage ```typescript -import { WebhookConfig, WebhookEvent } from '@objectstack/spec/api'; +import { WebhookConfigSchema, WebhookEventSchema } from '@objectstack/spec/api'; import type { WebhookConfig, WebhookEvent } from '@objectstack/spec/api'; // Validate data -const result = WebhookConfig.parse(data); +const result = WebhookConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/contract.mdx b/content/docs/references/api/contract.mdx index 666da14410..58ea6497f4 100644 --- a/content/docs/references/api/contract.mdx +++ b/content/docs/references/api/contract.mdx @@ -20,11 +20,11 @@ invented codes instead of letting a new dialect grow (#3841). ## TypeScript Usage ```typescript -import { ApiError, BaseResponse, BatchLoadingStrategy, BulkRequest, BulkResponse, CreateRequest, DataLoaderConfig, DeleteResponse, ExportRequest, IdRequest, ListRecordResponse, ModificationResult, QueryOptimizationConfig, RecordData, SingleRecordResponse, UpdateRequest } from '@objectstack/spec/api'; +import { ApiErrorSchema, BaseResponseSchema, BatchLoadingStrategySchema, BulkRequestSchema, BulkResponseSchema, CreateRequestSchema, DataLoaderConfigSchema, DeleteResponseSchema, ExportRequestSchema, IdRequestSchema, ListRecordResponseSchema, ModificationResultSchema, QueryOptimizationConfigSchema, RecordDataSchema, SingleRecordResponseSchema, UpdateRequestSchema } from '@objectstack/spec/api'; import type { ApiError, BaseResponse, BatchLoadingStrategy, BulkRequest, BulkResponse, CreateRequest, DataLoaderConfig, DeleteResponse, ExportRequest, IdRequest, ListRecordResponse, ModificationResult, QueryOptimizationConfig, RecordData, SingleRecordResponse, UpdateRequest } from '@objectstack/spec/api'; // Validate data -const result = ApiError.parse(data); +const result = ApiErrorSchema.parse(data); ``` --- diff --git a/content/docs/references/api/discovery.mdx b/content/docs/references/api/discovery.mdx index f38ebe4b81..f6d2635440 100644 --- a/content/docs/references/api/discovery.mdx +++ b/content/docs/references/api/discovery.mdx @@ -28,11 +28,11 @@ not been verified (may 501 at runtime). ## TypeScript Usage ```typescript -import { ApiRoutes, Discovery, RouteHealthEntry, RouteHealthReport, ServiceInfo, ServiceSelfInfo, WellKnownCapabilities } from '@objectstack/spec/api'; -import type { ApiRoutes, Discovery, RouteHealthEntry, RouteHealthReport, ServiceInfo, ServiceSelfInfo, WellKnownCapabilities } from '@objectstack/spec/api'; +import { ApiRoutesSchema, DiscoverySchema, RouteHealthEntrySchema, RouteHealthReportSchema, ServiceInfoSchema, ServiceSelfInfoSchema, WellKnownCapabilitiesSchema } from '@objectstack/spec/api'; +import type { ApiRoutes, RouteHealthEntry, RouteHealthReport, ServiceInfo, ServiceSelfInfo, WellKnownCapabilities } from '@objectstack/spec/api'; // Validate data -const result = ApiRoutes.parse(data); +const result = ApiRoutesSchema.parse(data); ``` --- diff --git a/content/docs/references/api/dispatcher.mdx b/content/docs/references/api/dispatcher.mdx index 8cde2909a2..f07ecabaf2 100644 --- a/content/docs/references/api/dispatcher.mdx +++ b/content/docs/references/api/dispatcher.mdx @@ -36,11 +36,11 @@ Architecture alignment: ## TypeScript Usage ```typescript -import { DispatcherConfig, DispatcherErrorCode, DispatcherErrorResponse, DispatcherRoute } from '@objectstack/spec/api'; +import { DispatcherConfigSchema, DispatcherErrorCode, DispatcherErrorResponseSchema, DispatcherRouteSchema } from '@objectstack/spec/api'; import type { DispatcherConfig, DispatcherErrorCode, DispatcherErrorResponse, DispatcherRoute } from '@objectstack/spec/api'; // Validate data -const result = DispatcherConfig.parse(data); +const result = DispatcherConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/documentation.mdx b/content/docs/references/api/documentation.mdx index b0c71535af..a2dac688dd 100644 --- a/content/docs/references/api/documentation.mdx +++ b/content/docs/references/api/documentation.mdx @@ -66,11 +66,11 @@ enableTryItOut: true ## TypeScript Usage ```typescript -import { ApiChangelogEntry, ApiDocumentationConfig, ApiTestCollection, ApiTestRequest, ApiTestingUiConfig, ApiTestingUiType, CodeGenerationTemplate, GeneratedApiDocumentation, OpenApiSecurityScheme, OpenApiServer, OpenApiSpec } from '@objectstack/spec/api'; +import { ApiChangelogEntrySchema, ApiDocumentationConfigSchema, ApiTestCollectionSchema, ApiTestRequestSchema, ApiTestingUiConfigSchema, ApiTestingUiType, CodeGenerationTemplateSchema, GeneratedApiDocumentationSchema, OpenApiSecuritySchemeSchema, OpenApiServerSchema, OpenApiSpecSchema } from '@objectstack/spec/api'; import type { ApiChangelogEntry, ApiDocumentationConfig, ApiTestCollection, ApiTestRequest, ApiTestingUiConfig, ApiTestingUiType, CodeGenerationTemplate, GeneratedApiDocumentation, OpenApiSecurityScheme, OpenApiServer, OpenApiSpec } from '@objectstack/spec/api'; // Validate data -const result = ApiChangelogEntry.parse(data); +const result = ApiChangelogEntrySchema.parse(data); ``` --- diff --git a/content/docs/references/api/endpoint.mdx b/content/docs/references/api/endpoint.mdx index ce113be770..de56608202 100644 --- a/content/docs/references/api/endpoint.mdx +++ b/content/docs/references/api/endpoint.mdx @@ -16,11 +16,11 @@ Transform input/output data. ## TypeScript Usage ```typescript -import { ApiEndpoint, ApiMapping } from '@objectstack/spec/api'; -import type { ApiEndpoint, ApiMapping } from '@objectstack/spec/api'; +import { ApiEndpointSchema, ApiMappingSchema } from '@objectstack/spec/api'; +import type { ApiEndpoint } from '@objectstack/spec/api'; // Validate data -const result = ApiEndpoint.parse(data); +const result = ApiEndpointSchema.parse(data); ``` --- diff --git a/content/docs/references/api/errors.mdx b/content/docs/references/api/errors.mdx index c3b260166e..95ecc6abd3 100644 --- a/content/docs/references/api/errors.mdx +++ b/content/docs/references/api/errors.mdx @@ -30,11 +30,11 @@ Industry alignment: Google Cloud Errors, AWS Error Codes, Stripe API Errors ## TypeScript Usage ```typescript -import { EnhancedApiError, ErrorCategory, ErrorResponse, FieldError, FieldErrorCode, RetryStrategy, StandardErrorCode } from '@objectstack/spec/api'; +import { EnhancedApiErrorSchema, ErrorCategory, ErrorResponseSchema, FieldErrorSchema, FieldErrorCode, RetryStrategy, StandardErrorCode } from '@objectstack/spec/api'; import type { EnhancedApiError, ErrorCategory, ErrorResponse, FieldError, FieldErrorCode, RetryStrategy, StandardErrorCode } from '@objectstack/spec/api'; // Validate data -const result = EnhancedApiError.parse(data); +const result = EnhancedApiErrorSchema.parse(data); ``` --- diff --git a/content/docs/references/api/events.mdx b/content/docs/references/api/events.mdx index 56d3e9879a..4e53260c7d 100644 --- a/content/docs/references/api/events.mdx +++ b/content/docs/references/api/events.mdx @@ -26,11 +26,11 @@ Examples: ## TypeScript Usage ```typescript -import { DataEvent, DataEventType, MetadataEventType } from '@objectstack/spec/api'; +import { DataEventSchema, DataEventType, MetadataEventType } from '@objectstack/spec/api'; import type { DataEvent, DataEventType, MetadataEventType } from '@objectstack/spec/api'; // Validate data -const result = DataEvent.parse(data); +const result = DataEventSchema.parse(data); ``` --- diff --git a/content/docs/references/api/export.mdx b/content/docs/references/api/export.mdx index c337ca0264..d268faaf56 100644 --- a/content/docs/references/api/export.mdx +++ b/content/docs/references/api/export.mdx @@ -24,11 +24,11 @@ Base path: /api/v1/data/\{object\}/export ## TypeScript Usage ```typescript -import { CreateExportJobRequest, CreateExportJobResponse, CreateImportJobRequest, CreateImportJobResponse, DeduplicationStrategy, ExportFormat, ExportImportTemplate, ExportJobProgress, ExportJobStatus, ExportJobSummary, FieldMappingEntry, GetExportJobDownloadRequest, GetExportJobDownloadResponse, ImportJobProgress, ImportJobResults, ImportJobStatus, ImportJobSummary, ImportMapping, ImportRequest, ImportResponse, ImportRowResult, ImportValidationConfig, ImportValidationMode, ImportValidationResult, ImportWriteMode, ListExportJobsRequest, ListExportJobsResponse, ListImportJobsRequest, ListImportJobsResponse, ScheduleExportRequest, ScheduleExportResponse, ScheduledExport, UndoImportJobResponse } from '@objectstack/spec/api'; +import { CreateExportJobRequestSchema, CreateExportJobResponseSchema, CreateImportJobRequestSchema, CreateImportJobResponseSchema, DeduplicationStrategy, ExportFormat, ExportImportTemplateSchema, ExportJobProgressSchema, ExportJobStatus, ExportJobSummarySchema, FieldMappingEntrySchema, GetExportJobDownloadRequestSchema, GetExportJobDownloadResponseSchema, ImportJobProgressSchema, ImportJobResultsSchema, ImportJobStatus, ImportJobSummarySchema, ImportMappingSchema, ImportRequestSchema, ImportResponseSchema, ImportRowResultSchema, ImportValidationConfigSchema, ImportValidationMode, ImportValidationResultSchema, ImportWriteMode, ListExportJobsRequestSchema, ListExportJobsResponseSchema, ListImportJobsRequestSchema, ListImportJobsResponseSchema, ScheduleExportRequestSchema, ScheduleExportResponseSchema, ScheduledExportSchema, UndoImportJobResponseSchema } from '@objectstack/spec/api'; import type { CreateExportJobRequest, CreateExportJobResponse, CreateImportJobRequest, CreateImportJobResponse, DeduplicationStrategy, ExportFormat, ExportImportTemplate, ExportJobProgress, ExportJobStatus, ExportJobSummary, FieldMappingEntry, GetExportJobDownloadRequest, GetExportJobDownloadResponse, ImportJobProgress, ImportJobResults, ImportJobStatus, ImportJobSummary, ImportMapping, ImportRequest, ImportResponse, ImportRowResult, ImportValidationConfig, ImportValidationMode, ImportValidationResult, ImportWriteMode, ListExportJobsRequest, ListExportJobsResponse, ListImportJobsRequest, ListImportJobsResponse, ScheduleExportRequest, ScheduleExportResponse, ScheduledExport, UndoImportJobResponse } from '@objectstack/spec/api'; // Validate data -const result = CreateExportJobRequest.parse(data); +const result = CreateExportJobRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/api/http-cache.mdx b/content/docs/references/api/http-cache.mdx index 4f7b15ab22..270dcd4905 100644 --- a/content/docs/references/api/http-cache.mdx +++ b/content/docs/references/api/http-cache.mdx @@ -58,11 +58,11 @@ See also: ../../[system/cache.zod.ts](/docs/references/system/cache) for applica ## TypeScript Usage ```typescript -import { CacheControl, CacheDirective, CacheInvalidationRequest, CacheInvalidationResponse, CacheInvalidationTarget, ETag, MetadataCacheRequest, MetadataCacheResponse } from '@objectstack/spec/api'; +import { CacheControlSchema, CacheDirective, CacheInvalidationRequestSchema, CacheInvalidationResponseSchema, CacheInvalidationTarget, ETagSchema, MetadataCacheRequestSchema, MetadataCacheResponseSchema } from '@objectstack/spec/api'; import type { CacheControl, CacheDirective, CacheInvalidationRequest, CacheInvalidationResponse, CacheInvalidationTarget, ETag, MetadataCacheRequest, MetadataCacheResponse } from '@objectstack/spec/api'; // Validate data -const result = CacheControl.parse(data); +const result = CacheControlSchema.parse(data); ``` --- diff --git a/content/docs/references/api/identity.mdx b/content/docs/references/api/identity.mdx index 042270686d..6a5084f6c2 100644 --- a/content/docs/references/api/identity.mdx +++ b/content/docs/references/api/identity.mdx @@ -8,11 +8,11 @@ description: Identity protocol schemas ## TypeScript Usage ```typescript -import { Session } from '@objectstack/spec/api'; +import { SessionSchema } from '@objectstack/spec/api'; import type { Session } from '@objectstack/spec/api'; // Validate data -const result = Session.parse(data); +const result = SessionSchema.parse(data); ``` --- diff --git a/content/docs/references/api/metadata-plugin.mdx b/content/docs/references/api/metadata-plugin.mdx index 75edc8ead2..51f86433f1 100644 --- a/content/docs/references/api/metadata-plugin.mdx +++ b/content/docs/references/api/metadata-plugin.mdx @@ -8,11 +8,11 @@ description: Metadata Plugin protocol schemas ## TypeScript Usage ```typescript -import { MetadataBulkRegisterRequest, MetadataEvent } from '@objectstack/spec/api'; -import type { MetadataBulkRegisterRequest, MetadataEvent } from '@objectstack/spec/api'; +import { MetadataBulkRegisterRequestSchema, MetadataEventSchema } from '@objectstack/spec/api'; +import type { MetadataEvent } from '@objectstack/spec/api'; // Validate data -const result = MetadataBulkRegisterRequest.parse(data); +const result = MetadataBulkRegisterRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/api/metadata.mdx b/content/docs/references/api/metadata.mdx index 21182b5916..99cad980d5 100644 --- a/content/docs/references/api/metadata.mdx +++ b/content/docs/references/api/metadata.mdx @@ -50,11 +50,11 @@ the entire platform, including Hono, Next.js, and NestJS adapters. ## TypeScript Usage ```typescript -import { AppDefinitionResponse, ConceptListResponse, MetadataBulkResponse, MetadataBulkUnregisterRequest, MetadataDeleteResponse, MetadataDependenciesResponse, MetadataDependentsResponse, MetadataEffectiveResponse, MetadataExistsResponse, MetadataExportRequest, MetadataExportResponse, MetadataImportRequest, MetadataImportResponse, MetadataItemResponse, MetadataListResponse, MetadataNamesResponse, MetadataOverlayResponse, MetadataOverlaySaveRequest, MetadataQueryRequest, MetadataQueryResponse, MetadataRegisterRequest, MetadataTypeInfoResponse, MetadataTypesResponse, MetadataValidateRequest, MetadataValidateResponse, ObjectDefinitionResponse } from '@objectstack/spec/api'; -import type { AppDefinitionResponse, ConceptListResponse, MetadataBulkResponse, MetadataBulkUnregisterRequest, MetadataDeleteResponse, MetadataDependenciesResponse, MetadataDependentsResponse, MetadataEffectiveResponse, MetadataExistsResponse, MetadataExportRequest, MetadataExportResponse, MetadataImportRequest, MetadataImportResponse, MetadataItemResponse, MetadataListResponse, MetadataNamesResponse, MetadataOverlayResponse, MetadataOverlaySaveRequest, MetadataQueryRequest, MetadataQueryResponse, MetadataRegisterRequest, MetadataTypeInfoResponse, MetadataTypesResponse, MetadataValidateRequest, MetadataValidateResponse, ObjectDefinitionResponse } from '@objectstack/spec/api'; +import { AppDefinitionResponseSchema, ConceptListResponseSchema, MetadataBulkResponseSchema, MetadataBulkUnregisterRequestSchema, MetadataDeleteResponseSchema, MetadataDependenciesResponseSchema, MetadataDependentsResponseSchema, MetadataEffectiveResponseSchema, MetadataExistsResponseSchema, MetadataExportRequestSchema, MetadataExportResponseSchema, MetadataImportRequestSchema, MetadataImportResponseSchema, MetadataItemResponseSchema, MetadataListResponseSchema, MetadataNamesResponseSchema, MetadataOverlayResponseSchema, MetadataOverlaySaveRequestSchema, MetadataQueryRequestSchema, MetadataQueryResponseSchema, MetadataRegisterRequestSchema, MetadataTypeInfoResponseSchema, MetadataTypesResponseSchema, MetadataValidateRequestSchema, MetadataValidateResponseSchema, ObjectDefinitionResponseSchema } from '@objectstack/spec/api'; +import type { AppDefinitionResponse, ConceptListResponse, MetadataBulkResponse, MetadataDeleteResponse, MetadataDependenciesResponse, MetadataDependentsResponse, MetadataEffectiveResponse, MetadataExistsResponse, MetadataExportResponse, MetadataImportResponse, MetadataItemResponse, MetadataListResponse, MetadataNamesResponse, MetadataOverlayResponse, MetadataQueryResponse, MetadataRegisterRequest, MetadataTypeInfoResponse, MetadataTypesResponse, MetadataValidateResponse, ObjectDefinitionResponse } from '@objectstack/spec/api'; // Validate data -const result = AppDefinitionResponse.parse(data); +const result = AppDefinitionResponseSchema.parse(data); ``` --- diff --git a/content/docs/references/api/notification.mdx b/content/docs/references/api/notification.mdx index d792d419f8..9ec7cb48b1 100644 --- a/content/docs/references/api/notification.mdx +++ b/content/docs/references/api/notification.mdx @@ -8,11 +8,11 @@ description: Notification protocol schemas ## TypeScript Usage ```typescript -import { Notification } from '@objectstack/spec/api'; +import { NotificationSchema } from '@objectstack/spec/api'; import type { Notification } from '@objectstack/spec/api'; // Validate data -const result = Notification.parse(data); +const result = NotificationSchema.parse(data); ``` --- diff --git a/content/docs/references/api/odata.mdx b/content/docs/references/api/odata.mdx index 40811154ae..f8dd6c2f4b 100644 --- a/content/docs/references/api/odata.mdx +++ b/content/docs/references/api/odata.mdx @@ -112,11 +112,11 @@ count: true ## TypeScript Usage ```typescript -import { ODataConfig, ODataError, ODataFilterFunction, ODataMetadata, ODataQuery, ODataResponse } from '@objectstack/spec/api'; +import { ODataConfigSchema, ODataErrorSchema, ODataFilterFunctionSchema, ODataMetadataSchema, ODataQuerySchema, ODataResponseSchema } from '@objectstack/spec/api'; import type { ODataConfig, ODataError, ODataFilterFunction, ODataMetadata, ODataQuery, ODataResponse } from '@objectstack/spec/api'; // Validate data -const result = ODataConfig.parse(data); +const result = ODataConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/package-api.mdx b/content/docs/references/api/package-api.mdx index fd09fe328e..cc495ace83 100644 --- a/content/docs/references/api/package-api.mdx +++ b/content/docs/references/api/package-api.mdx @@ -36,11 +36,11 @@ DELETE /api/v1/packages/:packageId — Uninstall a package ## TypeScript Usage ```typescript -import { GetInstalledPackageRequest, GetInstalledPackageResponse, ListInstalledPackagesRequest, ListInstalledPackagesResponse, PackageApiErrorCode, PackageInstallRequest, PackageInstallResponse, PackagePathParams, PackageRollbackRequest, PackageRollbackResponse, PackageUpgradeRequest, PackageUpgradeResponse, ResolveDependenciesRequest, ResolveDependenciesResponse, UninstallPackageApiRequest, UninstallPackageApiResponse, UploadArtifactRequest, UploadArtifactResponse } from '@objectstack/spec/api'; +import { GetInstalledPackageRequestSchema, GetInstalledPackageResponseSchema, ListInstalledPackagesRequestSchema, ListInstalledPackagesResponseSchema, PackageApiErrorCode, PackageInstallRequestSchema, PackageInstallResponseSchema, PackagePathParamsSchema, PackageRollbackRequestSchema, PackageRollbackResponseSchema, PackageUpgradeRequestSchema, PackageUpgradeResponseSchema, ResolveDependenciesRequestSchema, ResolveDependenciesResponseSchema, UninstallPackageApiRequestSchema, UninstallPackageApiResponseSchema, UploadArtifactRequestSchema, UploadArtifactResponseSchema } from '@objectstack/spec/api'; import type { GetInstalledPackageRequest, GetInstalledPackageResponse, ListInstalledPackagesRequest, ListInstalledPackagesResponse, PackageApiErrorCode, PackageInstallRequest, PackageInstallResponse, PackagePathParams, PackageRollbackRequest, PackageRollbackResponse, PackageUpgradeRequest, PackageUpgradeResponse, ResolveDependenciesRequest, ResolveDependenciesResponse, UninstallPackageApiRequest, UninstallPackageApiResponse, UploadArtifactRequest, UploadArtifactResponse } from '@objectstack/spec/api'; // Validate data -const result = GetInstalledPackageRequest.parse(data); +const result = GetInstalledPackageRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/api/package-registry.mdx b/content/docs/references/api/package-registry.mdx index 52f810ab06..5793e4e5bd 100644 --- a/content/docs/references/api/package-registry.mdx +++ b/content/docs/references/api/package-registry.mdx @@ -8,11 +8,11 @@ description: Package Registry protocol schemas ## TypeScript Usage ```typescript -import { DisablePackageRequest, DisablePackageResponse, EnablePackageRequest, EnablePackageResponse, GetPackageRequest, GetPackageResponse, InstallPackageRequest, InstallPackageResponse, ListPackagesRequest, ListPackagesResponse, UninstallPackageRequest, UninstallPackageResponse } from '@objectstack/spec/api'; +import { DisablePackageRequestSchema, DisablePackageResponseSchema, EnablePackageRequestSchema, EnablePackageResponseSchema, GetPackageRequestSchema, GetPackageResponseSchema, InstallPackageRequestSchema, InstallPackageResponseSchema, ListPackagesRequestSchema, ListPackagesResponseSchema, UninstallPackageRequestSchema, UninstallPackageResponseSchema } from '@objectstack/spec/api'; import type { DisablePackageRequest, DisablePackageResponse, EnablePackageRequest, EnablePackageResponse, GetPackageRequest, GetPackageResponse, InstallPackageRequest, InstallPackageResponse, ListPackagesRequest, ListPackagesResponse, UninstallPackageRequest, UninstallPackageResponse } from '@objectstack/spec/api'; // Validate data -const result = DisablePackageRequest.parse(data); +const result = DisablePackageRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/api/plugin-rest-api.mdx b/content/docs/references/api/plugin-rest-api.mdx index 78a8600c9e..9b8db9368e 100644 --- a/content/docs/references/api/plugin-rest-api.mdx +++ b/content/docs/references/api/plugin-rest-api.mdx @@ -116,11 +116,11 @@ Architecture Alignment: ## TypeScript Usage ```typescript -import { ErrorHandlingConfig, HandlerStatus, OpenApiGenerationConfig, RequestValidationConfig, ResponseEnvelopeConfig, RestApiEndpoint, RestApiPluginConfig, RestApiRouteCategory, RestApiRouteRegistration, RouteCoverageEntry, RouteCoverageReport, ValidationMode } from '@objectstack/spec/api'; +import { ErrorHandlingConfigSchema, HandlerStatusSchema, OpenApiGenerationConfigSchema, RequestValidationConfigSchema, ResponseEnvelopeConfigSchema, RestApiEndpointSchema, RestApiPluginConfigSchema, RestApiRouteCategory, RestApiRouteRegistrationSchema, RouteCoverageEntrySchema, RouteCoverageReportSchema, ValidationMode } from '@objectstack/spec/api'; import type { ErrorHandlingConfig, HandlerStatus, OpenApiGenerationConfig, RequestValidationConfig, ResponseEnvelopeConfig, RestApiEndpoint, RestApiPluginConfig, RestApiRouteCategory, RestApiRouteRegistration, RouteCoverageEntry, RouteCoverageReport, ValidationMode } from '@objectstack/spec/api'; // Validate data -const result = ErrorHandlingConfig.parse(data); +const result = ErrorHandlingConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/protocol.mdx b/content/docs/references/api/protocol.mdx index 473c04d649..18618fe9d1 100644 --- a/content/docs/references/api/protocol.mdx +++ b/content/docs/references/api/protocol.mdx @@ -20,11 +20,11 @@ validation. Each entry is a canonical `ActionDescriptorSchema`. ## TypeScript Usage ```typescript -import { AiAgentCapabilities, AiAgentChatRequest, AiAgentSummary, AiAgentsResponse, AiChatRequest, AiChatResponse, AiCompleteRequest, AiConversation, AiMessage, AiModelsResponse, AiPendingAction, AiPendingActionStatus, AiStreamChunk, ApproveAiPendingActionResponse, AutomationActionsResponse, AutomationTriggerRequest, AutomationTriggerResponse, BatchDataRequest, BatchDataResponse, CheckPermissionRequest, CheckPermissionResponse, CreateAiConversationRequest, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, CreateViewRequest, CreateViewResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteMetaItemRequest, DeleteMetaItemResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetEffectivePermissionsRequest, GetEffectivePermissionsResponse, GetFieldLabelsRequest, GetFieldLabelsResponse, GetLocalesRequest, GetLocalesResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetObjectPermissionsRequest, GetObjectPermissionsResponse, GetPresenceRequest, GetPresenceResponse, GetTranslationsRequest, GetTranslationsResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, GetViewResponse, HttpFindQueryParams, ListAiConversationsRequest, ListAiConversationsResponse, ListAiPendingActionsRequest, ListAiPendingActionsResponse, ListNotificationsRequest, ListNotificationsResponse, ListViewsRequest, ListViewsResponse, MarkAllNotificationsReadRequest, MarkAllNotificationsReadResponse, MarkNotificationsReadRequest, MarkNotificationsReadResponse, NotificationPreferences, RealtimeConnectRequest, RealtimeConnectResponse, RealtimeDisconnectRequest, RealtimeDisconnectResponse, RealtimeSubscribeRequest, RealtimeSubscribeResponse, RealtimeUnsubscribeRequest, RealtimeUnsubscribeResponse, RegisterDeviceRequest, RegisterDeviceResponse, RejectAiPendingActionResponse, SaveMetaItemRequest, SaveMetaItemResponse, SetPresenceRequest, SetPresenceResponse, UnregisterDeviceRequest, UnregisterDeviceResponse, UpdateAiConversationRequest, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse, UpdateNotificationPreferencesRequest, UpdateNotificationPreferencesResponse, UpdateViewRequest, UpdateViewResponse } from '@objectstack/spec/api'; -import type { AiAgentCapabilities, AiAgentChatRequest, AiAgentSummary, AiAgentsResponse, AiChatRequest, AiChatResponse, AiCompleteRequest, AiConversation, AiMessage, AiModelsResponse, AiPendingAction, AiPendingActionStatus, AiStreamChunk, ApproveAiPendingActionResponse, AutomationActionsResponse, AutomationTriggerRequest, AutomationTriggerResponse, BatchDataRequest, BatchDataResponse, CheckPermissionRequest, CheckPermissionResponse, CreateAiConversationRequest, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, CreateViewRequest, CreateViewResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteMetaItemRequest, DeleteMetaItemResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetEffectivePermissionsRequest, GetEffectivePermissionsResponse, GetFieldLabelsRequest, GetFieldLabelsResponse, GetLocalesRequest, GetLocalesResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetObjectPermissionsRequest, GetObjectPermissionsResponse, GetPresenceRequest, GetPresenceResponse, GetTranslationsRequest, GetTranslationsResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, GetViewResponse, HttpFindQueryParams, ListAiConversationsRequest, ListAiConversationsResponse, ListAiPendingActionsRequest, ListAiPendingActionsResponse, ListNotificationsRequest, ListNotificationsResponse, ListViewsRequest, ListViewsResponse, MarkAllNotificationsReadRequest, MarkAllNotificationsReadResponse, MarkNotificationsReadRequest, MarkNotificationsReadResponse, NotificationPreferences, RealtimeConnectRequest, RealtimeConnectResponse, RealtimeDisconnectRequest, RealtimeDisconnectResponse, RealtimeSubscribeRequest, RealtimeSubscribeResponse, RealtimeUnsubscribeRequest, RealtimeUnsubscribeResponse, RegisterDeviceRequest, RegisterDeviceResponse, RejectAiPendingActionResponse, SaveMetaItemRequest, SaveMetaItemResponse, SetPresenceRequest, SetPresenceResponse, UnregisterDeviceRequest, UnregisterDeviceResponse, UpdateAiConversationRequest, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse, UpdateNotificationPreferencesRequest, UpdateNotificationPreferencesResponse, UpdateViewRequest, UpdateViewResponse } from '@objectstack/spec/api'; +import { AiAgentCapabilitiesSchema, AiAgentChatRequestSchema, AiAgentSummarySchema, AiAgentsResponseSchema, AiChatRequestSchema, AiChatResponseSchema, AiCompleteRequestSchema, AiConversationSchema, AiMessageSchema, AiModelsResponseSchema, AiPendingActionSchema, AiPendingActionStatusSchema, AiStreamChunkSchema, ApproveAiPendingActionResponseSchema, AutomationActionsResponseSchema, AutomationTriggerRequestSchema, AutomationTriggerResponseSchema, BatchDataRequestSchema, BatchDataResponseSchema, CheckPermissionRequestSchema, CheckPermissionResponseSchema, CreateAiConversationRequestSchema, CreateDataRequestSchema, CreateDataResponseSchema, CreateManyDataRequestSchema, CreateManyDataResponseSchema, CreateViewRequestSchema, CreateViewResponseSchema, DeleteDataRequestSchema, DeleteDataResponseSchema, DeleteManyDataRequestSchema, DeleteManyDataResponseSchema, DeleteMetaItemRequestSchema, DeleteMetaItemResponseSchema, DeleteViewRequestSchema, DeleteViewResponseSchema, FindDataRequestSchema, FindDataResponseSchema, GetDataRequestSchema, GetDataResponseSchema, GetDiscoveryRequestSchema, GetDiscoveryResponseSchema, GetEffectivePermissionsRequestSchema, GetEffectivePermissionsResponseSchema, GetFieldLabelsRequestSchema, GetFieldLabelsResponseSchema, GetLocalesRequestSchema, GetLocalesResponseSchema, GetMetaItemCachedRequestSchema, GetMetaItemCachedResponseSchema, GetMetaItemRequestSchema, GetMetaItemResponseSchema, GetMetaItemsRequestSchema, GetMetaItemsResponseSchema, GetMetaTypesRequestSchema, GetMetaTypesResponseSchema, GetNotificationPreferencesRequestSchema, GetNotificationPreferencesResponseSchema, GetObjectPermissionsRequestSchema, GetObjectPermissionsResponseSchema, GetPresenceRequestSchema, GetPresenceResponseSchema, GetTranslationsRequestSchema, GetTranslationsResponseSchema, GetUiViewRequestSchema, GetUiViewResponseSchema, GetViewRequestSchema, GetViewResponseSchema, HttpFindQueryParamsSchema, ListAiConversationsRequestSchema, ListAiConversationsResponseSchema, ListAiPendingActionsRequestSchema, ListAiPendingActionsResponseSchema, ListNotificationsRequestSchema, ListNotificationsResponseSchema, ListViewsRequestSchema, ListViewsResponseSchema, MarkAllNotificationsReadRequestSchema, MarkAllNotificationsReadResponseSchema, MarkNotificationsReadRequestSchema, MarkNotificationsReadResponseSchema, NotificationPreferencesSchema, RealtimeConnectRequestSchema, RealtimeConnectResponseSchema, RealtimeDisconnectRequestSchema, RealtimeDisconnectResponseSchema, RealtimeSubscribeRequestSchema, RealtimeSubscribeResponseSchema, RealtimeUnsubscribeRequestSchema, RealtimeUnsubscribeResponseSchema, RegisterDeviceRequestSchema, RegisterDeviceResponseSchema, RejectAiPendingActionResponseSchema, SaveMetaItemRequestSchema, SaveMetaItemResponseSchema, SetPresenceRequestSchema, SetPresenceResponseSchema, UnregisterDeviceRequestSchema, UnregisterDeviceResponseSchema, UpdateAiConversationRequestSchema, UpdateDataRequestSchema, UpdateDataResponseSchema, UpdateManyDataRequestSchema, UpdateManyDataResponseSchema, UpdateNotificationPreferencesRequestSchema, UpdateNotificationPreferencesResponseSchema, UpdateViewRequestSchema, UpdateViewResponseSchema } from '@objectstack/spec/api'; +import type { AiAgentCapabilities, AiAgentChatRequest, AiAgentSummary, AiAgentsResponse, AiChatRequest, AiChatResponse, AiCompleteRequest, AiConversation, AiMessage, AiModelsResponse, AiPendingAction, AiPendingActionStatus, AiStreamChunk, ApproveAiPendingActionResponse, AutomationActionsResponse, AutomationTriggerRequest, AutomationTriggerResponse, BatchDataRequest, BatchDataResponse, CheckPermissionRequest, CheckPermissionResponse, CreateAiConversationRequest, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, CreateViewRequest, CreateViewResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteMetaItemRequest, DeleteMetaItemResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetEffectivePermissionsRequest, GetEffectivePermissionsResponse, GetFieldLabelsRequest, GetFieldLabelsResponse, GetLocalesRequest, GetLocalesResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetNotificationPreferencesRequest, GetNotificationPreferencesResponse, GetObjectPermissionsRequest, GetObjectPermissionsResponse, GetPresenceRequest, GetPresenceResponse, GetTranslationsRequest, GetTranslationsResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, GetViewResponse, ListAiConversationsRequest, ListAiConversationsResponse, ListAiPendingActionsRequest, ListAiPendingActionsResponse, ListNotificationsRequest, ListNotificationsResponse, ListViewsRequest, ListViewsResponse, MarkAllNotificationsReadRequest, MarkAllNotificationsReadResponse, MarkNotificationsReadRequest, MarkNotificationsReadResponse, NotificationPreferences, RealtimeConnectRequest, RealtimeConnectResponse, RealtimeDisconnectRequest, RealtimeDisconnectResponse, RealtimeSubscribeRequest, RealtimeSubscribeResponse, RealtimeUnsubscribeRequest, RealtimeUnsubscribeResponse, RegisterDeviceRequest, RegisterDeviceResponse, RejectAiPendingActionResponse, SaveMetaItemRequest, SaveMetaItemResponse, SetPresenceRequest, SetPresenceResponse, UnregisterDeviceRequest, UnregisterDeviceResponse, UpdateAiConversationRequest, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse, UpdateNotificationPreferencesRequest, UpdateNotificationPreferencesResponse, UpdateViewRequest, UpdateViewResponse } from '@objectstack/spec/api'; // Validate data -const result = AiAgentCapabilities.parse(data); +const result = AiAgentCapabilitiesSchema.parse(data); ``` --- diff --git a/content/docs/references/api/query-adapter.mdx b/content/docs/references/api/query-adapter.mdx index 8d1edc966b..fdf9f798fa 100644 --- a/content/docs/references/api/query-adapter.mdx +++ b/content/docs/references/api/query-adapter.mdx @@ -30,11 +30,11 @@ See also: [api/odata.zod.ts](/docs/references/api/odata) - OData API configurati ## TypeScript Usage ```typescript -import { ODataQueryAdapter, OperatorMapping, QueryAdapterConfig, QueryAdapterTarget, RestQueryAdapter } from '@objectstack/spec/api'; +import { ODataQueryAdapterSchema, OperatorMappingSchema, QueryAdapterConfigSchema, QueryAdapterTargetSchema, RestQueryAdapterSchema } from '@objectstack/spec/api'; import type { ODataQueryAdapter, OperatorMapping, QueryAdapterConfig, QueryAdapterTarget, RestQueryAdapter } from '@objectstack/spec/api'; // Validate data -const result = ODataQueryAdapter.parse(data); +const result = ODataQueryAdapterSchema.parse(data); ``` --- diff --git a/content/docs/references/api/realtime-shared.mdx b/content/docs/references/api/realtime-shared.mdx index 197b8bbc23..74533569c4 100644 --- a/content/docs/references/api/realtime-shared.mdx +++ b/content/docs/references/api/realtime-shared.mdx @@ -32,11 +32,11 @@ See also: websocket.zod.ts for collaborative editing protocol ## TypeScript Usage ```typescript -import { BasePresence, PresenceStatus, RealtimeRecordAction } from '@objectstack/spec/api'; +import { BasePresenceSchema, PresenceStatus, RealtimeRecordAction } from '@objectstack/spec/api'; import type { BasePresence, PresenceStatus, RealtimeRecordAction } from '@objectstack/spec/api'; // Validate data -const result = BasePresence.parse(data); +const result = BasePresenceSchema.parse(data); ``` --- diff --git a/content/docs/references/api/realtime.mdx b/content/docs/references/api/realtime.mdx index 56e5e55089..9e147b4c9d 100644 --- a/content/docs/references/api/realtime.mdx +++ b/content/docs/references/api/realtime.mdx @@ -16,11 +16,11 @@ Defines the communication protocol for realtime data synchronization ## TypeScript Usage ```typescript -import { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, SubscriptionEvent, TransportProtocol } from '@objectstack/spec/api'; -import type { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, SubscriptionEvent, TransportProtocol } from '@objectstack/spec/api'; +import { RealtimeConfigSchema, RealtimeEventSchema, RealtimeEventType, RealtimePresenceSchema, SubscriptionSchema, SubscriptionEventSchema, TransportProtocol } from '@objectstack/spec/api'; +import type { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, TransportProtocol } from '@objectstack/spec/api'; // Validate data -const result = RealtimeConfig.parse(data); +const result = RealtimeConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/registry.mdx b/content/docs/references/api/registry.mdx index daca7170fa..b3b296e095 100644 --- a/content/docs/references/api/registry.mdx +++ b/content/docs/references/api/registry.mdx @@ -68,11 +68,11 @@ tags: ['customer', 'crm'] ## TypeScript Usage ```typescript -import { ApiDiscoveryQuery, ApiDiscoveryResponse, ApiEndpointRegistration, ApiMetadata, ApiParameter, ApiProtocolType, ApiRegistry, ApiRegistryEntry, ApiResponse, ConflictResolutionStrategy, HttpStatusCode, ObjectQLReference, SchemaDefinition } from '@objectstack/spec/api'; +import { ApiDiscoveryQuerySchema, ApiDiscoveryResponseSchema, ApiEndpointRegistrationSchema, ApiMetadataSchema, ApiParameterSchema, ApiProtocolType, ApiRegistrySchema, ApiRegistryEntrySchema, ApiResponseSchema, ConflictResolutionStrategy, HttpStatusCode, ObjectQLReferenceSchema, SchemaDefinition } from '@objectstack/spec/api'; import type { ApiDiscoveryQuery, ApiDiscoveryResponse, ApiEndpointRegistration, ApiMetadata, ApiParameter, ApiProtocolType, ApiRegistry, ApiRegistryEntry, ApiResponse, ConflictResolutionStrategy, HttpStatusCode, ObjectQLReference, SchemaDefinition } from '@objectstack/spec/api'; // Validate data -const result = ApiDiscoveryQuery.parse(data); +const result = ApiDiscoveryQuerySchema.parse(data); ``` --- diff --git a/content/docs/references/api/rest-server.mdx b/content/docs/references/api/rest-server.mdx index 585a824f62..b05e67fc69 100644 --- a/content/docs/references/api/rest-server.mdx +++ b/content/docs/references/api/rest-server.mdx @@ -38,11 +38,11 @@ Architecture alignment: ## TypeScript Usage ```typescript -import { BatchEndpointsConfig, Callback, CrudEndpointPattern, CrudEndpointsConfig, CrudOperation, EndpointRegistry, GeneratedEndpoint, MetadataEndpointsConfig, OpenApi31Extensions, RestApiConfig, RestServerConfig, RouteGenerationConfig } from '@objectstack/spec/api'; +import { BatchEndpointsConfigSchema, CallbackSchema, CrudEndpointPatternSchema, CrudEndpointsConfigSchema, CrudOperation, EndpointRegistrySchema, GeneratedEndpointSchema, MetadataEndpointsConfigSchema, OpenApi31ExtensionsSchema, RestApiConfigSchema, RestServerConfigSchema, RouteGenerationConfigSchema } from '@objectstack/spec/api'; import type { BatchEndpointsConfig, Callback, CrudEndpointPattern, CrudEndpointsConfig, CrudOperation, EndpointRegistry, GeneratedEndpoint, MetadataEndpointsConfig, OpenApi31Extensions, RestApiConfig, RestServerConfig, RouteGenerationConfig } from '@objectstack/spec/api'; // Validate data -const result = BatchEndpointsConfig.parse(data); +const result = BatchEndpointsConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/api/router.mdx b/content/docs/references/api/router.mdx index 681d0b230c..d3e955413b 100644 --- a/content/docs/references/api/router.mdx +++ b/content/docs/references/api/router.mdx @@ -16,7 +16,7 @@ Classifies routes for middleware application and security policies. ## TypeScript Usage ```typescript -import { RouteCategory, RouteDefinition, RouterConfig } from '@objectstack/spec/api'; +import { RouteCategory, RouteDefinitionSchema, RouterConfigSchema } from '@objectstack/spec/api'; import type { RouteCategory, RouteDefinition, RouterConfig } from '@objectstack/spec/api'; // Validate data diff --git a/content/docs/references/api/storage.mdx b/content/docs/references/api/storage.mdx index b145dc6d0b..3eb2b8c17f 100644 --- a/content/docs/references/api/storage.mdx +++ b/content/docs/references/api/storage.mdx @@ -20,11 +20,11 @@ rather than proxying bytes through the API server. ## TypeScript Usage ```typescript -import { CompleteChunkedUploadRequest, CompleteChunkedUploadResponse, CompleteUploadRequest, FileDownloadUrlResponse, FileTypeValidation, FileUploadResponse, GetPresignedUrlRequest, InitiateChunkedUploadRequest, InitiateChunkedUploadResponse, PresignedUrlResponse, RawUploadResponse, UploadChunkRequest, UploadChunkResponse, UploadProgress } from '@objectstack/spec/api'; +import { CompleteChunkedUploadRequestSchema, CompleteChunkedUploadResponseSchema, CompleteUploadRequestSchema, FileDownloadUrlResponseSchema, FileTypeValidationSchema, FileUploadResponseSchema, GetPresignedUrlRequestSchema, InitiateChunkedUploadRequestSchema, InitiateChunkedUploadResponseSchema, PresignedUrlResponseSchema, RawUploadResponseSchema, UploadChunkRequestSchema, UploadChunkResponseSchema, UploadProgressSchema } from '@objectstack/spec/api'; import type { CompleteChunkedUploadRequest, CompleteChunkedUploadResponse, CompleteUploadRequest, FileDownloadUrlResponse, FileTypeValidation, FileUploadResponse, GetPresignedUrlRequest, InitiateChunkedUploadRequest, InitiateChunkedUploadResponse, PresignedUrlResponse, RawUploadResponse, UploadChunkRequest, UploadChunkResponse, UploadProgress } from '@objectstack/spec/api'; // Validate data -const result = CompleteChunkedUploadRequest.parse(data); +const result = CompleteChunkedUploadRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/api/versioning.mdx b/content/docs/references/api/versioning.mdx index f9f0b288f1..f03d080ec2 100644 --- a/content/docs/references/api/versioning.mdx +++ b/content/docs/references/api/versioning.mdx @@ -30,11 +30,11 @@ Architecture Alignment: ## TypeScript Usage ```typescript -import { VersionDefinition, VersionNegotiationResponse, VersionStatus, VersioningConfig, VersioningStrategy } from '@objectstack/spec/api'; +import { VersionDefinitionSchema, VersionNegotiationResponseSchema, VersionStatus, VersioningConfigSchema, VersioningStrategy } from '@objectstack/spec/api'; import type { VersionDefinition, VersionNegotiationResponse, VersionStatus, VersioningConfig, VersioningStrategy } from '@objectstack/spec/api'; // Validate data -const result = VersionDefinition.parse(data); +const result = VersionDefinitionSchema.parse(data); ``` --- diff --git a/content/docs/references/api/websocket.mdx b/content/docs/references/api/websocket.mdx index dae07c1e3a..2b59093556 100644 --- a/content/docs/references/api/websocket.mdx +++ b/content/docs/references/api/websocket.mdx @@ -30,11 +30,11 @@ runtime today. ## TypeScript Usage ```typescript -import { AckMessage, CursorMessage, CursorPosition, DocumentState, EditMessage, EditOperation, EditOperationType, ErrorMessage, EventMessage, EventPattern, EventSubscription, PingMessage, PongMessage, PresenceMessage, PresenceState, PresenceUpdate, SimpleCursorPosition, SimplePresenceState, SubscribeMessage, UnsubscribeMessage, UnsubscribeRequest, WebSocketConfig, WebSocketEvent, WebSocketMessage, WebSocketMessageType, WebSocketPresenceStatus, WebSocketServerConfig } from '@objectstack/spec/api'; +import { AckMessageSchema, CursorMessageSchema, CursorPositionSchema, DocumentStateSchema, EditMessageSchema, EditOperationSchema, EditOperationType, ErrorMessageSchema, EventMessageSchema, EventPatternSchema, EventSubscriptionSchema, PingMessageSchema, PongMessageSchema, PresenceMessageSchema, PresenceStateSchema, PresenceUpdateSchema, SimpleCursorPositionSchema, SimplePresenceStateSchema, SubscribeMessageSchema, UnsubscribeMessageSchema, UnsubscribeRequestSchema, WebSocketConfigSchema, WebSocketEventSchema, WebSocketMessageSchema, WebSocketMessageType, WebSocketPresenceStatus, WebSocketServerConfigSchema } from '@objectstack/spec/api'; import type { AckMessage, CursorMessage, CursorPosition, DocumentState, EditMessage, EditOperation, EditOperationType, ErrorMessage, EventMessage, EventPattern, EventSubscription, PingMessage, PongMessage, PresenceMessage, PresenceState, PresenceUpdate, SimpleCursorPosition, SimplePresenceState, SubscribeMessage, UnsubscribeMessage, UnsubscribeRequest, WebSocketConfig, WebSocketEvent, WebSocketMessage, WebSocketMessageType, WebSocketPresenceStatus, WebSocketServerConfig } from '@objectstack/spec/api'; // Validate data -const result = AckMessage.parse(data); +const result = AckMessageSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/approval.mdx b/content/docs/references/automation/approval.mdx index 55318a525e..8ad8202c7b 100644 --- a/content/docs/references/automation/approval.mdx +++ b/content/docs/references/automation/approval.mdx @@ -20,8 +20,8 @@ enum, and it leads with the portable indirect bindings (`manager`, ## TypeScript Usage ```typescript -import { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, ApproverType, DecisionOutputDef } from '@objectstack/spec/automation'; -import type { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, ApproverType, DecisionOutputDef } from '@objectstack/spec/automation'; +import { ApprovalDecision, ApprovalEscalationSchema, ApprovalNodeApproverSchema, ApprovalNodeConfigSchema, ApproverType, DecisionOutputDefSchema } from '@objectstack/spec/automation'; +import type { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, DecisionOutputDef } from '@objectstack/spec/automation'; // Validate data const result = ApprovalDecision.parse(data); diff --git a/content/docs/references/automation/bpmn-interop.mdx b/content/docs/references/automation/bpmn-interop.mdx index 435cdb55a0..f45ff6c252 100644 --- a/content/docs/references/automation/bpmn-interop.mdx +++ b/content/docs/references/automation/bpmn-interop.mdx @@ -24,11 +24,11 @@ tools (Camunda, Activiti, jBPM, etc.) via a plugin-based approach. ## TypeScript Usage ```typescript -import { BpmnDiagnostic, BpmnElementMapping, BpmnExportOptions, BpmnImportOptions, BpmnInteropResult, BpmnUnmappedStrategy, BpmnVersion } from '@objectstack/spec/automation'; +import { BpmnDiagnosticSchema, BpmnElementMappingSchema, BpmnExportOptionsSchema, BpmnImportOptionsSchema, BpmnInteropResultSchema, BpmnUnmappedStrategySchema, BpmnVersionSchema } from '@objectstack/spec/automation'; import type { BpmnDiagnostic, BpmnElementMapping, BpmnExportOptions, BpmnImportOptions, BpmnInteropResult, BpmnUnmappedStrategy, BpmnVersion } from '@objectstack/spec/automation'; // Validate data -const result = BpmnDiagnostic.parse(data); +const result = BpmnDiagnosticSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/builtin-node-config.mdx b/content/docs/references/automation/builtin-node-config.mdx index ab53a11110..e84873b347 100644 --- a/content/docs/references/automation/builtin-node-config.mdx +++ b/content/docs/references/automation/builtin-node-config.mdx @@ -92,11 +92,11 @@ objectui, reconciled by a test there). ## TypeScript Usage ```typescript -import { CreateRecordConfig, DeleteRecordConfig, GetRecordConfig, MapConfig, ScreenConfig, ScreenFieldConfig, UpdateRecordConfig } from '@objectstack/spec/automation'; +import { CreateRecordConfigSchema, DeleteRecordConfigSchema, GetRecordConfigSchema, MapConfigSchema, ScreenConfigSchema, ScreenFieldConfigSchema, UpdateRecordConfigSchema } from '@objectstack/spec/automation'; import type { CreateRecordConfig, DeleteRecordConfig, GetRecordConfig, MapConfig, ScreenConfig, ScreenFieldConfig, UpdateRecordConfig } from '@objectstack/spec/automation'; // Validate data -const result = CreateRecordConfig.parse(data); +const result = CreateRecordConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/connector.mdx b/content/docs/references/automation/connector.mdx index bfa05440a7..3128787833 100644 --- a/content/docs/references/automation/connector.mdx +++ b/content/docs/references/automation/connector.mdx @@ -8,11 +8,11 @@ description: Connector protocol schemas ## TypeScript Usage ```typescript -import { DataSyncConfig } from '@objectstack/spec/automation'; +import { DataSyncConfigSchema } from '@objectstack/spec/automation'; import type { DataSyncConfig } from '@objectstack/spec/automation'; // Validate data -const result = DataSyncConfig.parse(data); +const result = DataSyncConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/control-flow.mdx b/content/docs/references/automation/control-flow.mdx index 4b3599b19b..147bbdf545 100644 --- a/content/docs/references/automation/control-flow.mdx +++ b/content/docs/references/automation/control-flow.mdx @@ -80,11 +80,11 @@ which remain author-invisible interchange representations. ## TypeScript Usage ```typescript -import { FlowRegion, LoopConfig, ParallelBranch, ParallelConfig, TryCatchConfig } from '@objectstack/spec/automation'; +import { FlowRegionSchema, LoopConfigSchema, ParallelBranchSchema, ParallelConfigSchema, TryCatchConfigSchema } from '@objectstack/spec/automation'; import type { FlowRegion, LoopConfig, ParallelBranch, ParallelConfig, TryCatchConfig } from '@objectstack/spec/automation'; // Validate data -const result = FlowRegion.parse(data); +const result = FlowRegionSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/etl.mdx b/content/docs/references/automation/etl.mdx index 8f7495425f..958317067e 100644 --- a/content/docs/references/automation/etl.mdx +++ b/content/docs/references/automation/etl.mdx @@ -138,11 +138,11 @@ schedule: '0 2 * * *' // Daily at 2 AM ## TypeScript Usage ```typescript -import { ETLDestination, ETLEndpointType, ETLPipeline, ETLPipelineRun, ETLRunStatus, ETLSource, ETLSyncMode, ETLTransformation, ETLTransformationType } from '@objectstack/spec/automation'; +import { ETLDestinationSchema, ETLEndpointTypeSchema, ETLPipelineSchema, ETLPipelineRunSchema, ETLRunStatusSchema, ETLSourceSchema, ETLSyncModeSchema, ETLTransformationSchema, ETLTransformationTypeSchema } from '@objectstack/spec/automation'; import type { ETLDestination, ETLEndpointType, ETLPipeline, ETLPipelineRun, ETLRunStatus, ETLSource, ETLSyncMode, ETLTransformation, ETLTransformationType } from '@objectstack/spec/automation'; // Validate data -const result = ETLDestination.parse(data); +const result = ETLDestinationSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/events-core.mdx b/content/docs/references/automation/events-core.mdx index 43d096bc0c..f21af721c7 100644 --- a/content/docs/references/automation/events-core.mdx +++ b/content/docs/references/automation/events-core.mdx @@ -8,11 +8,10 @@ description: Events Core protocol schemas ## TypeScript Usage ```typescript -import { Event } from '@objectstack/spec/automation'; -import type { Event } from '@objectstack/spec/automation'; +import { EventSchema } from '@objectstack/spec/automation'; // Validate data -const result = Event.parse(data); +const result = EventSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/execution.mdx b/content/docs/references/automation/execution.mdx index d1b7f9639a..9ff847d3f9 100644 --- a/content/docs/references/automation/execution.mdx +++ b/content/docs/references/automation/execution.mdx @@ -22,11 +22,11 @@ AWS Step Functions execution logs. ## TypeScript Usage ```typescript -import { Checkpoint, ConcurrencyPolicy, ExecutionError, ExecutionErrorSeverity, ExecutionLog, ExecutionStatus, ExecutionStepLog, ExecutionStepMetrics, ExecutionStepSkipReason, FlowRunGateSummary, FlowRunNodeSummary, FlowRunSummary, ScheduleState } from '@objectstack/spec/automation'; +import { CheckpointSchema, ConcurrencyPolicySchema, ExecutionErrorSchema, ExecutionErrorSeverity, ExecutionLogSchema, ExecutionStatus, ExecutionStepLogSchema, ExecutionStepMetricsSchema, ExecutionStepSkipReasonSchema, FlowRunGateSummarySchema, FlowRunNodeSummarySchema, FlowRunSummarySchema, ScheduleStateSchema } from '@objectstack/spec/automation'; import type { Checkpoint, ConcurrencyPolicy, ExecutionError, ExecutionErrorSeverity, ExecutionLog, ExecutionStatus, ExecutionStepLog, ExecutionStepMetrics, ExecutionStepSkipReason, FlowRunGateSummary, FlowRunNodeSummary, FlowRunSummary, ScheduleState } from '@objectstack/spec/automation'; // Validate data -const result = Checkpoint.parse(data); +const result = CheckpointSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/flow-function.mdx b/content/docs/references/automation/flow-function.mdx index 40e4f938bd..3c72fdcfe7 100644 --- a/content/docs/references/automation/flow-function.mdx +++ b/content/docs/references/automation/flow-function.mdx @@ -86,11 +86,11 @@ the platform's own counters stop being wrong for it. ## TypeScript Usage ```typescript -import { FlowFunctionEffect } from '@objectstack/spec/automation'; +import { FlowFunctionEffectSchema } from '@objectstack/spec/automation'; import type { FlowFunctionEffect } from '@objectstack/spec/automation'; // Validate data -const result = FlowFunctionEffect.parse(data); +const result = FlowFunctionEffectSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/flow.mdx b/content/docs/references/automation/flow.mdx index 78d1d46dfb..db8c4a3795 100644 --- a/content/docs/references/automation/flow.mdx +++ b/content/docs/references/automation/flow.mdx @@ -30,11 +30,11 @@ no longer constrains authored flows — plugins extend the vocabulary. ## TypeScript Usage ```typescript -import { Flow, FlowEdge, FlowNode, FlowNodeAction, FlowVariable, FlowVersionHistory } from '@objectstack/spec/automation'; -import type { Flow, FlowEdge, FlowNode, FlowNodeAction, FlowVariable, FlowVersionHistory } from '@objectstack/spec/automation'; +import { FlowSchema, FlowEdgeSchema, FlowNodeSchema, FlowNodeAction, FlowVariableSchema, FlowVersionHistorySchema } from '@objectstack/spec/automation'; +import type { Flow, FlowEdge, FlowNode, FlowVersionHistory } from '@objectstack/spec/automation'; // Validate data -const result = Flow.parse(data); +const result = FlowSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/io-node-config.mdx b/content/docs/references/automation/io-node-config.mdx index 2baee1d136..fe72aa5fd2 100644 --- a/content/docs/references/automation/io-node-config.mdx +++ b/content/docs/references/automation/io-node-config.mdx @@ -66,11 +66,11 @@ sibling block — see the descriptor note in ## TypeScript Usage ```typescript -import { HttpConfig, NotifyConfig } from '@objectstack/spec/automation'; +import { HttpConfigSchema, NotifyConfigSchema } from '@objectstack/spec/automation'; import type { HttpConfig, NotifyConfig } from '@objectstack/spec/automation'; // Validate data -const result = HttpConfig.parse(data); +const result = HttpConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/job.mdx b/content/docs/references/automation/job.mdx index d3e8b86a7e..6acf71d321 100644 --- a/content/docs/references/automation/job.mdx +++ b/content/docs/references/automation/job.mdx @@ -8,11 +8,11 @@ description: Job protocol schemas ## TypeScript Usage ```typescript -import { RetryPolicy } from '@objectstack/spec/automation'; +import { RetryPolicySchema } from '@objectstack/spec/automation'; import type { RetryPolicy } from '@objectstack/spec/automation'; // Validate data -const result = RetryPolicy.parse(data); +const result = RetryPolicySchema.parse(data); ``` --- diff --git a/content/docs/references/automation/node-executor.mdx b/content/docs/references/automation/node-executor.mdx index e6e35ff1b8..a3c0542523 100644 --- a/content/docs/references/automation/node-executor.mdx +++ b/content/docs/references/automation/node-executor.mdx @@ -30,11 +30,11 @@ The protocol covers: ## TypeScript Usage ```typescript -import { ActionCategory, ActionDescriptor, ActionParadigm, NodeExecutorDescriptor, WaitEventType, WaitExecutorConfig, WaitResumePayload, WaitTimeoutBehavior } from '@objectstack/spec/automation'; +import { ActionCategorySchema, ActionDescriptorSchema, ActionParadigmSchema, NodeExecutorDescriptorSchema, WaitEventTypeSchema, WaitExecutorConfigSchema, WaitResumePayloadSchema, WaitTimeoutBehaviorSchema } from '@objectstack/spec/automation'; import type { ActionCategory, ActionDescriptor, ActionParadigm, NodeExecutorDescriptor, WaitEventType, WaitExecutorConfig, WaitResumePayload, WaitTimeoutBehavior } from '@objectstack/spec/automation'; // Validate data -const result = ActionCategory.parse(data); +const result = ActionCategorySchema.parse(data); ``` --- diff --git a/content/docs/references/automation/offline.mdx b/content/docs/references/automation/offline.mdx index f6bfbe5d6d..5f6e89e9f6 100644 --- a/content/docs/references/automation/offline.mdx +++ b/content/docs/references/automation/offline.mdx @@ -8,11 +8,11 @@ description: Offline protocol schemas ## TypeScript Usage ```typescript -import { ConflictResolution } from '@objectstack/spec/automation'; +import { ConflictResolutionSchema } from '@objectstack/spec/automation'; import type { ConflictResolution } from '@objectstack/spec/automation'; // Validate data -const result = ConflictResolution.parse(data); +const result = ConflictResolutionSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/schemaless-node-config.mdx b/content/docs/references/automation/schemaless-node-config.mdx index 84b5990d25..6934c852f5 100644 --- a/content/docs/references/automation/schemaless-node-config.mdx +++ b/content/docs/references/automation/schemaless-node-config.mdx @@ -132,11 +132,11 @@ ever sees `flowName`. ## TypeScript Usage ```typescript -import { DecisionCondition, DecisionConfig, ScriptConfig, SubflowConfig } from '@objectstack/spec/automation'; +import { DecisionConditionSchema, DecisionConfigSchema, ScriptConfigSchema, SubflowConfigSchema } from '@objectstack/spec/automation'; import type { DecisionCondition, DecisionConfig, ScriptConfig, SubflowConfig } from '@objectstack/spec/automation'; // Validate data -const result = DecisionCondition.parse(data); +const result = DecisionConditionSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/state-machine.mdx b/content/docs/references/automation/state-machine.mdx index 59601ec4cd..9b73638af4 100644 --- a/content/docs/references/automation/state-machine.mdx +++ b/content/docs/references/automation/state-machine.mdx @@ -18,11 +18,11 @@ Prevent AI "hallucinations" by enforcing valid valid transitions. ## TypeScript Usage ```typescript -import { ActionRef, GuardRef, StateMachine, StateNode, Transition } from '@objectstack/spec/automation'; -import type { ActionRef, GuardRef, StateMachine, StateNode, Transition } from '@objectstack/spec/automation'; +import { ActionRefSchema, GuardRefSchema, StateMachineSchema, StateNodeSchema, TransitionSchema } from '@objectstack/spec/automation'; +import type { ActionRef, Transition } from '@objectstack/spec/automation'; // Validate data -const result = ActionRef.parse(data); +const result = ActionRefSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/sync.mdx b/content/docs/references/automation/sync.mdx index c77bb63c7f..b644e2abe7 100644 --- a/content/docs/references/automation/sync.mdx +++ b/content/docs/references/automation/sync.mdx @@ -142,11 +142,11 @@ schedule: '0 * * * *' // Hourly ## TypeScript Usage ```typescript -import { DataDestinationConfig, DataSourceConfig, SyncDirection, SyncExecutionResult, SyncExecutionStatus, SyncMode } from '@objectstack/spec/automation'; +import { DataDestinationConfigSchema, DataSourceConfigSchema, SyncDirectionSchema, SyncExecutionResultSchema, SyncExecutionStatusSchema, SyncModeSchema } from '@objectstack/spec/automation'; import type { DataDestinationConfig, DataSourceConfig, SyncDirection, SyncExecutionResult, SyncExecutionStatus, SyncMode } from '@objectstack/spec/automation'; // Validate data -const result = DataDestinationConfig.parse(data); +const result = DataDestinationConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/time-relative-trigger.mdx b/content/docs/references/automation/time-relative-trigger.mdx index 65ed41773e..7bc41c62c7 100644 --- a/content/docs/references/automation/time-relative-trigger.mdx +++ b/content/docs/references/automation/time-relative-trigger.mdx @@ -102,11 +102,11 @@ timeRelative: \{ object: 'purchase_order', dateField: 'due_date', withinDays: -1 ## TypeScript Usage ```typescript -import { TimeRelativeTrigger } from '@objectstack/spec/automation'; +import { TimeRelativeTriggerSchema } from '@objectstack/spec/automation'; import type { TimeRelativeTrigger } from '@objectstack/spec/automation'; // Validate data -const result = TimeRelativeTrigger.parse(data); +const result = TimeRelativeTriggerSchema.parse(data); ``` --- diff --git a/content/docs/references/automation/webhook.mdx b/content/docs/references/automation/webhook.mdx index a9400704af..aa20fa52d0 100644 --- a/content/docs/references/automation/webhook.mdx +++ b/content/docs/references/automation/webhook.mdx @@ -46,11 +46,11 @@ value that silently never fires. ## TypeScript Usage ```typescript -import { Webhook, WebhookTriggerType } from '@objectstack/spec/automation'; -import type { Webhook, WebhookTriggerType } from '@objectstack/spec/automation'; +import { WebhookSchema, WebhookTriggerType } from '@objectstack/spec/automation'; +import type { Webhook } from '@objectstack/spec/automation'; // Validate data -const result = Webhook.parse(data); +const result = WebhookSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/app-store.mdx b/content/docs/references/cloud/app-store.mdx index 2e60ecb9c5..7fe48e831a 100644 --- a/content/docs/references/cloud/app-store.mdx +++ b/content/docs/references/cloud/app-store.mdx @@ -44,11 +44,11 @@ Discover → Evaluate → Install → Configure → Use → Rate/Review → Mana ## TypeScript Usage ```typescript -import { AppDiscoveryRequest, AppDiscoveryResponse, AppSubscription, InstalledAppSummary, ListInstalledAppsRequest, ListInstalledAppsResponse, ListReviewsRequest, ListReviewsResponse, RecommendationReason, RecommendedApp, ReviewModerationStatus, SubmitReviewRequest, SubscriptionStatus, UserReview } from '@objectstack/spec/cloud'; +import { AppDiscoveryRequestSchema, AppDiscoveryResponseSchema, AppSubscriptionSchema, InstalledAppSummarySchema, ListInstalledAppsRequestSchema, ListInstalledAppsResponseSchema, ListReviewsRequestSchema, ListReviewsResponseSchema, RecommendationReasonSchema, RecommendedAppSchema, ReviewModerationStatusSchema, SubmitReviewRequestSchema, SubscriptionStatusSchema, UserReviewSchema } from '@objectstack/spec/cloud'; import type { AppDiscoveryRequest, AppDiscoveryResponse, AppSubscription, InstalledAppSummary, ListInstalledAppsRequest, ListInstalledAppsResponse, ListReviewsRequest, ListReviewsResponse, RecommendationReason, RecommendedApp, ReviewModerationStatus, SubmitReviewRequest, SubscriptionStatus, UserReview } from '@objectstack/spec/cloud'; // Validate data -const result = AppDiscoveryRequest.parse(data); +const result = AppDiscoveryRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/developer-portal.mdx b/content/docs/references/cloud/developer-portal.mdx index d6145cfc76..d9bfc8ee91 100644 --- a/content/docs/references/cloud/developer-portal.mdx +++ b/content/docs/references/cloud/developer-portal.mdx @@ -58,11 +58,11 @@ extensions on top of the shared identity layer: ## TypeScript Usage ```typescript -import { AnalyticsTimeRange, CreateListingRequest, ListingActionRequest, PublisherProfile, PublishingAnalyticsRequest, PublishingAnalyticsResponse, ReleaseChannel, TimeSeriesPoint, UpdateListingRequest, VersionRelease } from '@objectstack/spec/cloud'; +import { AnalyticsTimeRangeSchema, CreateListingRequestSchema, ListingActionRequestSchema, PublisherProfileSchema, PublishingAnalyticsRequestSchema, PublishingAnalyticsResponseSchema, ReleaseChannelSchema, TimeSeriesPointSchema, UpdateListingRequestSchema, VersionReleaseSchema } from '@objectstack/spec/cloud'; import type { AnalyticsTimeRange, CreateListingRequest, ListingActionRequest, PublisherProfile, PublishingAnalyticsRequest, PublishingAnalyticsResponse, ReleaseChannel, TimeSeriesPoint, UpdateListingRequest, VersionRelease } from '@objectstack/spec/cloud'; // Validate data -const result = AnalyticsTimeRange.parse(data); +const result = AnalyticsTimeRangeSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/environment-artifact.mdx b/content/docs/references/cloud/environment-artifact.mdx index 0bd05bb982..0b84cfadba 100644 --- a/content/docs/references/cloud/environment-artifact.mdx +++ b/content/docs/references/cloud/environment-artifact.mdx @@ -26,11 +26,11 @@ This envelope wraps the compiled `ObjectStackDefinitionSchema` produced by ## TypeScript Usage ```typescript -import { Sha256Digest } from '@objectstack/spec/cloud'; +import { Sha256DigestSchema } from '@objectstack/spec/cloud'; import type { Sha256Digest } from '@objectstack/spec/cloud'; // Validate data -const result = Sha256Digest.parse(data); +const result = Sha256DigestSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/environment-package.mdx b/content/docs/references/cloud/environment-package.mdx index 41f0d68a1f..8ac67049ca 100644 --- a/content/docs/references/cloud/environment-package.mdx +++ b/content/docs/references/cloud/environment-package.mdx @@ -34,11 +34,11 @@ Stored in the **Control Plane DB** (not in environment data-plane DBs). ## TypeScript Usage ```typescript -import { EnvironmentPackageInstallation, EnvironmentPackageStatus, InstallPackageToEnvironmentRequest, ListEnvironmentPackagesResponse, RollbackEnvironmentPackageRequest, UpgradeEnvironmentPackageRequest } from '@objectstack/spec/cloud'; +import { EnvironmentPackageInstallationSchema, EnvironmentPackageStatusSchema, InstallPackageToEnvironmentRequestSchema, ListEnvironmentPackagesResponseSchema, RollbackEnvironmentPackageRequestSchema, UpgradeEnvironmentPackageRequestSchema } from '@objectstack/spec/cloud'; import type { EnvironmentPackageInstallation, EnvironmentPackageStatus, InstallPackageToEnvironmentRequest, ListEnvironmentPackagesResponse, RollbackEnvironmentPackageRequest, UpgradeEnvironmentPackageRequest } from '@objectstack/spec/cloud'; // Validate data -const result = EnvironmentPackageInstallation.parse(data); +const result = EnvironmentPackageInstallationSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/environment.mdx b/content/docs/references/cloud/environment.mdx index b2d56abb3a..a507ec1b29 100644 --- a/content/docs/references/cloud/environment.mdx +++ b/content/docs/references/cloud/environment.mdx @@ -52,11 +52,11 @@ Split of concerns: ## TypeScript Usage ```typescript -import { Environment, EnvironmentCredential, EnvironmentCredentialStatus, EnvironmentDriver, EnvironmentMember, EnvironmentRole, EnvironmentStatus, EnvironmentType, EnvironmentVisibility, ProvisionEnvironmentRequest, ProvisionEnvironmentResponse, ProvisionOrganizationRequest, ProvisionOrganizationResponse } from '@objectstack/spec/cloud'; +import { EnvironmentSchema, EnvironmentCredentialSchema, EnvironmentCredentialStatusSchema, EnvironmentDriverSchema, EnvironmentMemberSchema, EnvironmentRoleSchema, EnvironmentStatusSchema, EnvironmentTypeSchema, EnvironmentVisibilitySchema, ProvisionEnvironmentRequestSchema, ProvisionEnvironmentResponseSchema, ProvisionOrganizationRequestSchema, ProvisionOrganizationResponseSchema } from '@objectstack/spec/cloud'; import type { Environment, EnvironmentCredential, EnvironmentCredentialStatus, EnvironmentDriver, EnvironmentMember, EnvironmentRole, EnvironmentStatus, EnvironmentType, EnvironmentVisibility, ProvisionEnvironmentRequest, ProvisionEnvironmentResponse, ProvisionOrganizationRequest, ProvisionOrganizationResponse } from '@objectstack/spec/cloud'; // Validate data -const result = Environment.parse(data); +const result = EnvironmentSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/marketplace-admin.mdx b/content/docs/references/cloud/marketplace-admin.mdx index d4edc104c7..9c4d7bc39b 100644 --- a/content/docs/references/cloud/marketplace-admin.mdx +++ b/content/docs/references/cloud/marketplace-admin.mdx @@ -36,11 +36,11 @@ Covers the administrative workflows for managing and governing the marketplace. ## TypeScript Usage ```typescript -import { CuratedCollection, FeaturedListing, MarketplaceHealthMetrics, PolicyAction, PolicyViolationType, RejectionReason, ReviewCriterion, ReviewDecision, SubmissionReview, TrendingListing } from '@objectstack/spec/cloud'; +import { CuratedCollectionSchema, FeaturedListingSchema, MarketplaceHealthMetricsSchema, PolicyActionSchema, PolicyViolationTypeSchema, RejectionReasonSchema, ReviewCriterionSchema, ReviewDecisionSchema, SubmissionReviewSchema, TrendingListingSchema } from '@objectstack/spec/cloud'; import type { CuratedCollection, FeaturedListing, MarketplaceHealthMetrics, PolicyAction, PolicyViolationType, RejectionReason, ReviewCriterion, ReviewDecision, SubmissionReview, TrendingListing } from '@objectstack/spec/cloud'; // Validate data -const result = CuratedCollection.parse(data); +const result = CuratedCollectionSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/marketplace.mdx b/content/docs/references/cloud/marketplace.mdx index ca79b108e2..d3a3095d23 100644 --- a/content/docs/references/cloud/marketplace.mdx +++ b/content/docs/references/cloud/marketplace.mdx @@ -68,11 +68,11 @@ platform, and customers who install plugins. ## TypeScript Usage ```typescript -import { ArtifactDownloadResponse, ArtifactReference, ListingStatus, MarketplaceCategory, MarketplaceInstallRequest, MarketplaceInstallResponse, MarketplaceListing, MarketplaceSearchRequest, MarketplaceSearchResponse, PackageSubmission, PricingModel, Publisher, PublisherVerification } from '@objectstack/spec/cloud'; +import { ArtifactDownloadResponseSchema, ArtifactReferenceSchema, ListingStatusSchema, MarketplaceCategorySchema, MarketplaceInstallRequestSchema, MarketplaceInstallResponseSchema, MarketplaceListingSchema, MarketplaceSearchRequestSchema, MarketplaceSearchResponseSchema, PackageSubmissionSchema, PricingModelSchema, PublisherSchema, PublisherVerificationSchema } from '@objectstack/spec/cloud'; import type { ArtifactDownloadResponse, ArtifactReference, ListingStatus, MarketplaceCategory, MarketplaceInstallRequest, MarketplaceInstallResponse, MarketplaceListing, MarketplaceSearchRequest, MarketplaceSearchResponse, PackageSubmission, PricingModel, Publisher, PublisherVerification } from '@objectstack/spec/cloud'; // Validate data -const result = ArtifactDownloadResponse.parse(data); +const result = ArtifactDownloadResponseSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/package-version.mdx b/content/docs/references/cloud/package-version.mdx index b37e6cd5f0..08c0479841 100644 --- a/content/docs/references/cloud/package-version.mdx +++ b/content/docs/references/cloud/package-version.mdx @@ -30,11 +30,11 @@ See `docs/adr/0003-package-as-first-class-citizen.md` for the full rationale. ## TypeScript Usage ```typescript -import { CreatePackageVersionRequest, PackageManifest, PackageVersion, PackageVersionStatus, PublishPackageVersionRequest, UpdatePackageVersionRequest } from '@objectstack/spec/cloud'; +import { CreatePackageVersionRequestSchema, PackageManifestSchema, PackageVersionSchema, PackageVersionStatusSchema, PublishPackageVersionRequestSchema, UpdatePackageVersionRequestSchema } from '@objectstack/spec/cloud'; import type { CreatePackageVersionRequest, PackageManifest, PackageVersion, PackageVersionStatus, PublishPackageVersionRequest, UpdatePackageVersionRequest } from '@objectstack/spec/cloud'; // Validate data -const result = CreatePackageVersionRequest.parse(data); +const result = CreatePackageVersionRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/package.mdx b/content/docs/references/cloud/package.mdx index ac0d155557..e81ac47a3c 100644 --- a/content/docs/references/cloud/package.mdx +++ b/content/docs/references/cloud/package.mdx @@ -32,11 +32,11 @@ See `docs/adr/0003-package-as-first-class-citizen.md` for the full rationale. ## TypeScript Usage ```typescript -import { CreatePackageRequest, Package, PackageCategory, PackageLocale, PackagePublisher, PackageTranslation, PackageTranslations, PackageVisibility, UpdatePackageRequest } from '@objectstack/spec/cloud'; +import { CreatePackageRequestSchema, PackageSchema, PackageCategorySchema, PackageLocaleSchema, PackagePublisherSchema, PackageTranslationSchema, PackageTranslationsSchema, PackageVisibilitySchema, UpdatePackageRequestSchema } from '@objectstack/spec/cloud'; import type { CreatePackageRequest, Package, PackageCategory, PackageLocale, PackagePublisher, PackageTranslation, PackageTranslations, PackageVisibility, UpdatePackageRequest } from '@objectstack/spec/cloud'; // Validate data -const result = CreatePackageRequest.parse(data); +const result = CreatePackageRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/plugin-security.mdx b/content/docs/references/cloud/plugin-security.mdx index a6501678f8..17175fb3dd 100644 --- a/content/docs/references/cloud/plugin-security.mdx +++ b/content/docs/references/cloud/plugin-security.mdx @@ -8,11 +8,11 @@ description: Plugin Security protocol schemas ## TypeScript Usage ```typescript -import { PackageDependency } from '@objectstack/spec/cloud'; +import { PackageDependencySchema } from '@objectstack/spec/cloud'; import type { PackageDependency } from '@objectstack/spec/cloud'; // Validate data -const result = PackageDependency.parse(data); +const result = PackageDependencySchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/provisioning.mdx b/content/docs/references/cloud/provisioning.mdx index bbcf0d592a..f6e92b618a 100644 --- a/content/docs/references/cloud/provisioning.mdx +++ b/content/docs/references/cloud/provisioning.mdx @@ -8,11 +8,11 @@ description: Provisioning protocol schemas ## TypeScript Usage ```typescript -import { TenantPlan } from '@objectstack/spec/cloud'; +import { TenantPlanSchema } from '@objectstack/spec/cloud'; import type { TenantPlan } from '@objectstack/spec/cloud'; // Validate data -const result = TenantPlan.parse(data); +const result = TenantPlanSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/template-manifest.mdx b/content/docs/references/cloud/template-manifest.mdx index ce1b6b7868..534471e3d4 100644 --- a/content/docs/references/cloud/template-manifest.mdx +++ b/content/docs/references/cloud/template-manifest.mdx @@ -20,11 +20,11 @@ specVersion, skills, preview, scaffold, readmePath). ## TypeScript Usage ```typescript -import { TemplateManifest } from '@objectstack/spec/cloud'; +import { TemplateManifestSchema } from '@objectstack/spec/cloud'; import type { TemplateManifest } from '@objectstack/spec/cloud'; // Validate data -const result = TemplateManifest.parse(data); +const result = TemplateManifestSchema.parse(data); ``` --- diff --git a/content/docs/references/cloud/tenant.mdx b/content/docs/references/cloud/tenant.mdx index 932dd8c4f6..7729d3e67b 100644 --- a/content/docs/references/cloud/tenant.mdx +++ b/content/docs/references/cloud/tenant.mdx @@ -28,11 +28,11 @@ Design decisions: ## TypeScript Usage ```typescript -import { PackageInstallation, PackageInstallationStatus, ProvisionTenantRequest, ProvisionTenantResponse, TenantContext, TenantDatabase, TenantDatabaseStatus, TenantIdentificationSource, TenantRoutingConfig } from '@objectstack/spec/cloud'; +import { PackageInstallationSchema, PackageInstallationStatusSchema, ProvisionTenantRequestSchema, ProvisionTenantResponseSchema, TenantContextSchema, TenantDatabaseSchema, TenantDatabaseStatusSchema, TenantIdentificationSourceSchema, TenantRoutingConfigSchema } from '@objectstack/spec/cloud'; import type { PackageInstallation, PackageInstallationStatus, ProvisionTenantRequest, ProvisionTenantResponse, TenantContext, TenantDatabase, TenantDatabaseStatus, TenantIdentificationSource, TenantRoutingConfig } from '@objectstack/spec/cloud'; // Validate data -const result = PackageInstallation.parse(data); +const result = PackageInstallationSchema.parse(data); ``` --- diff --git a/content/docs/references/data/analytics.mdx b/content/docs/references/data/analytics.mdx index 5e83ae01bd..c447961502 100644 --- a/content/docs/references/data/analytics.mdx +++ b/content/docs/references/data/analytics.mdx @@ -22,8 +22,8 @@ This layer decouples the "Physical Data" (Tables/Columns) from the ## TypeScript Usage ```typescript -import { AggregationMetricType, AnalyticsQuery, Cube, CubeJoin, Dimension, DimensionType, Metric, TimeUpdateInterval } from '@objectstack/spec/data'; -import type { AggregationMetricType, AnalyticsQuery, Cube, CubeJoin, Dimension, DimensionType, Metric, TimeUpdateInterval } from '@objectstack/spec/data'; +import { AggregationMetricType, AnalyticsQuerySchema, CubeSchema, CubeJoinSchema, DimensionSchema, DimensionType, MetricSchema, TimeUpdateInterval } from '@objectstack/spec/data'; +import type { AnalyticsQuery, Cube, CubeJoin, Dimension, Metric } from '@objectstack/spec/data'; // Validate data const result = AggregationMetricType.parse(data); diff --git a/content/docs/references/data/context-tokens.mdx b/content/docs/references/data/context-tokens.mdx index 3f2d292007..31b335ca9c 100644 --- a/content/docs/references/data/context-tokens.mdx +++ b/content/docs/references/data/context-tokens.mdx @@ -118,11 +118,11 @@ selector state. ## TypeScript Usage ```typescript -import { ContextToken, ContextTokenPlaceholder } from '@objectstack/spec/data'; -import type { ContextToken, ContextTokenPlaceholder } from '@objectstack/spec/data'; +import { ContextTokenSchema, ContextTokenPlaceholderSchema } from '@objectstack/spec/data'; +import type { ContextToken } from '@objectstack/spec/data'; // Validate data -const result = ContextToken.parse(data); +const result = ContextTokenSchema.parse(data); ``` --- diff --git a/content/docs/references/data/data-engine.mdx b/content/docs/references/data/data-engine.mdx index b76ab05837..6476a8e847 100644 --- a/content/docs/references/data/data-engine.mdx +++ b/content/docs/references/data/data-engine.mdx @@ -24,11 +24,11 @@ The Data Engine acts as the "Driver" layer in the Hexagonal Architecture. ## TypeScript Usage ```typescript -import { BaseEngineOptions, DataEngineAggregateOptions, DataEngineAggregateRequest, DataEngineBatchRequest, DataEngineCountOptions, DataEngineCountRequest, DataEngineDeleteOptions, DataEngineDeleteRequest, DataEngineExecuteRequest, DataEngineFilter, DataEngineFindOneRequest, DataEngineFindRequest, DataEngineInsertOptions, DataEngineInsertRequest, DataEngineQueryOptions, DataEngineRequest, DataEngineSort, DataEngineUpdateOptions, DataEngineUpdateRequest, DataEngineVectorFindRequest, DroppedFieldsEvent, EngineAggregateOptions, EngineCountOptions, EngineDeleteOptions, EngineQueryOptions, EngineUpdateOptions } from '@objectstack/spec/data'; -import type { BaseEngineOptions, DataEngineAggregateOptions, DataEngineAggregateRequest, DataEngineBatchRequest, DataEngineCountOptions, DataEngineCountRequest, DataEngineDeleteOptions, DataEngineDeleteRequest, DataEngineExecuteRequest, DataEngineFilter, DataEngineFindOneRequest, DataEngineFindRequest, DataEngineInsertOptions, DataEngineInsertRequest, DataEngineQueryOptions, DataEngineRequest, DataEngineSort, DataEngineUpdateOptions, DataEngineUpdateRequest, DataEngineVectorFindRequest, DroppedFieldsEvent, EngineAggregateOptions, EngineCountOptions, EngineDeleteOptions, EngineQueryOptions, EngineUpdateOptions } from '@objectstack/spec/data'; +import { BaseEngineOptionsSchema, DataEngineAggregateOptionsSchema, DataEngineAggregateRequestSchema, DataEngineBatchRequestSchema, DataEngineCountOptionsSchema, DataEngineCountRequestSchema, DataEngineDeleteOptionsSchema, DataEngineDeleteRequestSchema, DataEngineExecuteRequestSchema, DataEngineFilterSchema, DataEngineFindOneRequestSchema, DataEngineFindRequestSchema, DataEngineInsertOptionsSchema, DataEngineInsertRequestSchema, DataEngineQueryOptionsSchema, DataEngineRequestSchema, DataEngineSortSchema, DataEngineUpdateOptionsSchema, DataEngineUpdateRequestSchema, DataEngineVectorFindRequestSchema, DroppedFieldsEventSchema, EngineAggregateOptionsSchema, EngineCountOptionsSchema, EngineDeleteOptionsSchema, EngineQueryOptionsSchema, EngineUpdateOptionsSchema } from '@objectstack/spec/data'; +import type { BaseEngineOptions, DataEngineAggregateOptions, DataEngineCountOptions, DataEngineDeleteOptions, DataEngineFilter, DataEngineInsertOptions, DataEngineQueryOptions, DataEngineRequest, DataEngineSort, DataEngineUpdateOptions, DroppedFieldsEvent, EngineAggregateOptions, EngineCountOptions, EngineDeleteOptions, EngineQueryOptions, EngineUpdateOptions } from '@objectstack/spec/data'; // Validate data -const result = BaseEngineOptions.parse(data); +const result = BaseEngineOptionsSchema.parse(data); ``` --- diff --git a/content/docs/references/data/datasource.mdx b/content/docs/references/data/datasource.mdx index f698fdd6e2..ce941d041b 100644 --- a/content/docs/references/data/datasource.mdx +++ b/content/docs/references/data/datasource.mdx @@ -16,11 +16,11 @@ Can be a built-in driver or a plugin-contributed driver (e.g., "com.vendor.snowf ## TypeScript Usage ```typescript -import { Datasource, DatasourceCapabilities, DriverDefinition, DriverType, ExternalDatasourceSettings, ModeSchema } from '@objectstack/spec/data'; -import type { Datasource, DatasourceCapabilities, DriverDefinition, DriverType, ExternalDatasourceSettings, Mode } from '@objectstack/spec/data'; +import { DatasourceSchema, DatasourceCapabilities, DriverDefinitionSchema, DriverType, ExternalDatasourceSettingsSchema } from '@objectstack/spec/data'; +import type { Datasource, DriverDefinition, ExternalDatasourceSettings } from '@objectstack/spec/data'; // Validate data -const result = Datasource.parse(data); +const result = DatasourceSchema.parse(data); ``` --- diff --git a/content/docs/references/data/date-macros.mdx b/content/docs/references/data/date-macros.mdx index 547991e5c8..e0ab02d15f 100644 --- a/content/docs/references/data/date-macros.mdx +++ b/content/docs/references/data/date-macros.mdx @@ -122,11 +122,11 @@ last calendar DAY (`\{current_year_end\}` → `2026-12-31`), so on a ## TypeScript Usage ```typescript -import { DateMacroPlaceholder, DateMacroToken } from '@objectstack/spec/data'; -import type { DateMacroPlaceholder, DateMacroToken } from '@objectstack/spec/data'; +import { DateMacroPlaceholderSchema, DateMacroTokenSchema } from '@objectstack/spec/data'; +import type { DateMacroToken } from '@objectstack/spec/data'; // Validate data -const result = DateMacroPlaceholder.parse(data); +const result = DateMacroPlaceholderSchema.parse(data); ``` --- diff --git a/content/docs/references/data/document.mdx b/content/docs/references/data/document.mdx index 05fa7adcf9..7b9d6e56a6 100644 --- a/content/docs/references/data/document.mdx +++ b/content/docs/references/data/document.mdx @@ -42,11 +42,11 @@ Each version is immutable and maintains its own metadata and download URL. ## TypeScript Usage ```typescript -import { Document, DocumentTemplate, DocumentVersion, ESignatureConfig } from '@objectstack/spec/data'; +import { DocumentSchema, DocumentTemplateSchema, DocumentVersionSchema, ESignatureConfigSchema } from '@objectstack/spec/data'; import type { Document, DocumentTemplate, DocumentVersion, ESignatureConfig } from '@objectstack/spec/data'; // Validate data -const result = Document.parse(data); +const result = DocumentSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-common.mdx b/content/docs/references/data/driver-common.mdx index db66f93b5d..fd62c6d23f 100644 --- a/content/docs/references/data/driver-common.mdx +++ b/content/docs/references/data/driver-common.mdx @@ -36,11 +36,11 @@ contract to look supported. ## TypeScript Usage ```typescript -import { DriverSslToggle, SqlAutoMigrate } from '@objectstack/spec/data'; -import type { DriverSslToggle, SqlAutoMigrate } from '@objectstack/spec/data'; +import { DriverSslToggleSchema, SqlAutoMigrateSchema } from '@objectstack/spec/data'; +import type { SqlAutoMigrate } from '@objectstack/spec/data'; // Validate data -const result = DriverSslToggle.parse(data); +const result = DriverSslToggleSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-memory.mdx b/content/docs/references/data/driver-memory.mdx index 58e37f2916..659fe5db67 100644 --- a/content/docs/references/data/driver-memory.mdx +++ b/content/docs/references/data/driver-memory.mdx @@ -32,11 +32,11 @@ The memory driver is ideal for: ## TypeScript Usage ```typescript -import { AutoPersistenceConfig, FilePersistenceConfig, LocalStoragePersistenceConfig, PersistenceType } from '@objectstack/spec/data'; +import { AutoPersistenceConfigSchema, FilePersistenceConfigSchema, LocalStoragePersistenceConfigSchema, PersistenceTypeSchema } from '@objectstack/spec/data'; import type { AutoPersistenceConfig, FilePersistenceConfig, LocalStoragePersistenceConfig, PersistenceType } from '@objectstack/spec/data'; // Validate data -const result = AutoPersistenceConfig.parse(data); +const result = AutoPersistenceConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-mongo.mdx b/content/docs/references/data/driver-mongo.mdx index 102f346f06..e5edbd3a6c 100644 --- a/content/docs/references/data/driver-mongo.mdx +++ b/content/docs/references/data/driver-mongo.mdx @@ -30,11 +30,11 @@ datasource, and the same schema is projected onto ## TypeScript Usage ```typescript -import { MongoConfig } from '@objectstack/spec/data'; +import { MongoConfigSchema } from '@objectstack/spec/data'; import type { MongoConfig } from '@objectstack/spec/data'; // Validate data -const result = MongoConfig.parse(data); +const result = MongoConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-mysql.mdx b/content/docs/references/data/driver-mysql.mdx index 418dced513..547bfb2a3d 100644 --- a/content/docs/references/data/driver-mysql.mdx +++ b/content/docs/references/data/driver-mysql.mdx @@ -32,11 +32,11 @@ them would advertise settings the client drops. ## TypeScript Usage ```typescript -import { MysqlConfig } from '@objectstack/spec/data'; +import { MysqlConfigSchema } from '@objectstack/spec/data'; import type { MysqlConfig } from '@objectstack/spec/data'; // Validate data -const result = MysqlConfig.parse(data); +const result = MysqlConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-nosql.mdx b/content/docs/references/data/driver-nosql.mdx index e25bc0aed6..827091e57c 100644 --- a/content/docs/references/data/driver-nosql.mdx +++ b/content/docs/references/data/driver-nosql.mdx @@ -16,11 +16,11 @@ Supported NoSQL database types ## TypeScript Usage ```typescript -import { AggregationPipeline, AggregationStage, ConsistencyLevel, DocumentValidationSchema, NoSQLDataTypeMapping, NoSQLDatabaseType, NoSQLDriverConfig, NoSQLIndex, NoSQLIndexType, NoSQLOperationType, NoSQLQueryOptions, NoSQLTransactionOptions, ReplicationConfig, ShardingConfig } from '@objectstack/spec/data'; -import type { AggregationPipeline, AggregationStage, ConsistencyLevel, DocumentValidation, NoSQLDataTypeMapping, NoSQLDatabaseType, NoSQLDriverConfig, NoSQLIndex, NoSQLIndexType, NoSQLOperationType, NoSQLQueryOptions, NoSQLTransactionOptions, ReplicationConfig, ShardingConfig } from '@objectstack/spec/data'; +import { AggregationPipelineSchema, AggregationStageSchema, ConsistencyLevelSchema, NoSQLDataTypeMappingSchema, NoSQLDatabaseTypeSchema, NoSQLDriverConfigSchema, NoSQLIndexSchema, NoSQLIndexTypeSchema, NoSQLOperationTypeSchema, NoSQLQueryOptionsSchema, NoSQLTransactionOptionsSchema, ReplicationConfigSchema, ShardingConfigSchema } from '@objectstack/spec/data'; +import type { AggregationPipeline, AggregationStage, ConsistencyLevel, NoSQLDataTypeMapping, NoSQLDatabaseType, NoSQLDriverConfig, NoSQLIndex, NoSQLIndexType, NoSQLOperationType, NoSQLQueryOptions, NoSQLTransactionOptions, ReplicationConfig, ShardingConfig } from '@objectstack/spec/data'; // Validate data -const result = AggregationPipeline.parse(data); +const result = AggregationPipelineSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-postgres.mdx b/content/docs/references/data/driver-postgres.mdx index 66bf74e48f..b26d4fa439 100644 --- a/content/docs/references/data/driver-postgres.mdx +++ b/content/docs/references/data/driver-postgres.mdx @@ -28,11 +28,11 @@ block, which the factory now honours for every SQL driver. ## TypeScript Usage ```typescript -import { PostgresConfig } from '@objectstack/spec/data'; +import { PostgresConfigSchema } from '@objectstack/spec/data'; import type { PostgresConfig } from '@objectstack/spec/data'; // Validate data -const result = PostgresConfig.parse(data); +const result = PostgresConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-sql.mdx b/content/docs/references/data/driver-sql.mdx index c28f86bd4d..9298070587 100644 --- a/content/docs/references/data/driver-sql.mdx +++ b/content/docs/references/data/driver-sql.mdx @@ -16,11 +16,11 @@ Supported SQL database dialects ## TypeScript Usage ```typescript -import { DataTypeMapping, SQLDialect, SQLDriverConfig, SSLConfig } from '@objectstack/spec/data'; +import { DataTypeMappingSchema, SQLDialectSchema, SQLDriverConfigSchema, SSLConfigSchema } from '@objectstack/spec/data'; import type { DataTypeMapping, SQLDialect, SQLDriverConfig, SSLConfig } from '@objectstack/spec/data'; // Validate data -const result = DataTypeMapping.parse(data); +const result = DataTypeMappingSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver-sqlite.mdx b/content/docs/references/data/driver-sqlite.mdx index ba941d67bf..c3fed739ab 100644 --- a/content/docs/references/data/driver-sqlite.mdx +++ b/content/docs/references/data/driver-sqlite.mdx @@ -38,11 +38,11 @@ already persisted that way; no new one can be authored. ## TypeScript Usage ```typescript -import { SqliteConfig, SqliteWasmConfig, SqliteWasmPersistMode } from '@objectstack/spec/data'; +import { SqliteConfigSchema, SqliteWasmConfigSchema, SqliteWasmPersistModeSchema } from '@objectstack/spec/data'; import type { SqliteConfig, SqliteWasmConfig, SqliteWasmPersistMode } from '@objectstack/spec/data'; // Validate data -const result = SqliteConfig.parse(data); +const result = SqliteConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/data/driver.mdx b/content/docs/references/data/driver.mdx index 74e6d31fed..df2f1c7d46 100644 --- a/content/docs/references/data/driver.mdx +++ b/content/docs/references/data/driver.mdx @@ -16,11 +16,11 @@ Passed to most driver methods to control behavior (transactions, timeouts, etc.) ## TypeScript Usage ```typescript -import { DriverCapabilities, DriverConfig, DriverOptions, PoolConfig } from '@objectstack/spec/data'; +import { DriverCapabilitiesSchema, DriverConfigSchema, DriverOptionsSchema, PoolConfigSchema } from '@objectstack/spec/data'; import type { DriverCapabilities, DriverConfig, DriverOptions, PoolConfig } from '@objectstack/spec/data'; // Validate data -const result = DriverCapabilities.parse(data); +const result = DriverCapabilitiesSchema.parse(data); ``` --- diff --git a/content/docs/references/data/external-catalog.mdx b/content/docs/references/data/external-catalog.mdx index fe26c773a5..3be0c03cce 100644 --- a/content/docs/references/data/external-catalog.mdx +++ b/content/docs/references/data/external-catalog.mdx @@ -26,11 +26,11 @@ drift is detected by diffing a fresh introspection against the snapshot. ## TypeScript Usage ```typescript -import { ExternalCatalog, ExternalColumn, ExternalTable } from '@objectstack/spec/data'; +import { ExternalCatalogSchema, ExternalColumnSchema, ExternalTableSchema } from '@objectstack/spec/data'; import type { ExternalCatalog, ExternalColumn, ExternalTable } from '@objectstack/spec/data'; // Validate data -const result = ExternalCatalog.parse(data); +const result = ExternalCatalogSchema.parse(data); ``` --- diff --git a/content/docs/references/data/external-lookup.mdx b/content/docs/references/data/external-lookup.mdx index c1ecdcd0c1..646b1bbab1 100644 --- a/content/docs/references/data/external-lookup.mdx +++ b/content/docs/references/data/external-lookup.mdx @@ -52,11 +52,11 @@ Similar to Salesforce External Objects for real-time data integration. ## TypeScript Usage ```typescript -import { ExternalDataSource, ExternalFieldMapping, ExternalLookup } from '@objectstack/spec/data'; +import { ExternalDataSourceSchema, ExternalFieldMappingSchema, ExternalLookupSchema } from '@objectstack/spec/data'; import type { ExternalDataSource, ExternalFieldMapping, ExternalLookup } from '@objectstack/spec/data'; // Validate data -const result = ExternalDataSource.parse(data); +const result = ExternalDataSourceSchema.parse(data); ``` --- diff --git a/content/docs/references/data/field-value.mdx b/content/docs/references/data/field-value.mdx index 09c1ae9974..7f412f320b 100644 --- a/content/docs/references/data/field-value.mdx +++ b/content/docs/references/data/field-value.mdx @@ -58,11 +58,10 @@ this contract has (ADR-0104 performance budget). ## TypeScript Usage ```typescript -import { AddressValue, CalendarDateValue, ClockTimeValue, FileLikeValue, FileReferenceIdValue, FileValue, InstantValue, LocationValue, ReferenceIdValue } from '@objectstack/spec/data'; -import type { AddressValue, CalendarDateValue, ClockTimeValue, FileLikeValue, FileReferenceIdValue, FileValue, InstantValue, LocationValue, ReferenceIdValue } from '@objectstack/spec/data'; +import { AddressValueSchema, CalendarDateValueSchema, ClockTimeValueSchema, FileLikeValueSchema, FileReferenceIdValueSchema, FileValueSchema, InstantValueSchema, LocationValueSchema, ReferenceIdValueSchema } from '@objectstack/spec/data'; // Validate data -const result = AddressValue.parse(data); +const result = AddressValueSchema.parse(data); ``` --- diff --git a/content/docs/references/data/field.mdx b/content/docs/references/data/field.mdx index 1f3ab9c051..a626eabb95 100644 --- a/content/docs/references/data/field.mdx +++ b/content/docs/references/data/field.mdx @@ -14,11 +14,11 @@ Field Type Enum ## TypeScript Usage ```typescript -import { Address, CurrencyConfig, CurrencyValue, Field, FieldType, LocationCoordinates, SelectOption, UniqueScope } from '@objectstack/spec/data'; +import { AddressSchema, CurrencyConfigSchema, CurrencyValueSchema, FieldSchema, FieldType, LocationCoordinatesSchema, SelectOptionSchema, UniqueScopeSchema } from '@objectstack/spec/data'; import type { Address, CurrencyConfig, CurrencyValue, Field, FieldType, LocationCoordinates, SelectOption, UniqueScope } from '@objectstack/spec/data'; // Validate data -const result = Address.parse(data); +const result = AddressSchema.parse(data); ``` --- diff --git a/content/docs/references/data/filter.mdx b/content/docs/references/data/filter.mdx index aa1134beba..f377f4fd4a 100644 --- a/content/docs/references/data/filter.mdx +++ b/content/docs/references/data/filter.mdx @@ -42,11 +42,11 @@ Design Principles: ## TypeScript Usage ```typescript -import { EqualityOperator, FieldReference, FilterCondition, QueryFilter, SetOperator, SpecialOperator, StringOperator } from '@objectstack/spec/data'; -import type { EqualityOperator, FieldReference, FilterCondition, QueryFilter, SetOperator, SpecialOperator, StringOperator } from '@objectstack/spec/data'; +import { EqualityOperatorSchema, FieldReferenceSchema, FilterConditionSchema, QueryFilterSchema, SetOperatorSchema, SpecialOperatorSchema, StringOperatorSchema } from '@objectstack/spec/data'; +import type { FieldReference, FilterCondition, QueryFilter } from '@objectstack/spec/data'; // Validate data -const result = EqualityOperator.parse(data); +const result = EqualityOperatorSchema.parse(data); ``` --- diff --git a/content/docs/references/data/hook-body.mdx b/content/docs/references/data/hook-body.mdx index 20d08cff5a..98cfd677f6 100644 --- a/content/docs/references/data/hook-body.mdx +++ b/content/docs/references/data/hook-body.mdx @@ -40,11 +40,11 @@ recipes (separate spec) so they remain auditable and replayable. ## TypeScript Usage ```typescript -import { ExpressionBody, HookBody, HookBodyCapability, ScriptBody } from '@objectstack/spec/data'; +import { ExpressionBodySchema, HookBodySchema, HookBodyCapability, ScriptBodySchema } from '@objectstack/spec/data'; import type { ExpressionBody, HookBody, HookBodyCapability, ScriptBody } from '@objectstack/spec/data'; // Validate data -const result = ExpressionBody.parse(data); +const result = ExpressionBodySchema.parse(data); ``` --- diff --git a/content/docs/references/data/hook.mdx b/content/docs/references/data/hook.mdx index f586181537..726210e48f 100644 --- a/content/docs/references/data/hook.mdx +++ b/content/docs/references/data/hook.mdx @@ -16,11 +16,11 @@ Defines the interception points in the ObjectQL execution pipeline. ## TypeScript Usage ```typescript -import { HookContext, HookEvent } from '@objectstack/spec/data'; -import type { HookContext, HookEvent } from '@objectstack/spec/data'; +import { HookContextSchema, HookEvent } from '@objectstack/spec/data'; +import type { HookContext } from '@objectstack/spec/data'; // Validate data -const result = HookContext.parse(data); +const result = HookContextSchema.parse(data); ``` --- diff --git a/content/docs/references/data/mapping.mdx b/content/docs/references/data/mapping.mdx index 54641f0ca8..0db4f71486 100644 --- a/content/docs/references/data/mapping.mdx +++ b/content/docs/references/data/mapping.mdx @@ -24,11 +24,11 @@ green run. ## TypeScript Usage ```typescript -import { FieldMapping, Mapping, TransformType } from '@objectstack/spec/data'; -import type { FieldMapping, Mapping, TransformType } from '@objectstack/spec/data'; +import { FieldMappingSchema, MappingSchema, TransformType } from '@objectstack/spec/data'; +import type { FieldMapping, Mapping } from '@objectstack/spec/data'; // Validate data -const result = FieldMapping.parse(data); +const result = FieldMappingSchema.parse(data); ``` --- diff --git a/content/docs/references/data/object.mdx b/content/docs/references/data/object.mdx index 3e6f6dc1f5..32e60c2e5e 100644 --- a/content/docs/references/data/object.mdx +++ b/content/docs/references/data/object.mdx @@ -14,8 +14,8 @@ API Operations Enum ## TypeScript Usage ```typescript -import { ApiMethod, ApiOperation, Index, Lifecycle, LifecycleClass, Object, ObjectAccessConfig, ObjectCapabilities, ObjectExtension, ObjectExternalBinding, ObjectFieldGroup, ObjectOwnershipEnum, ObjectRequiredPermissions, PerOperationRequiredPermissions, RowCrudActionOverride, TenancyConfig } from '@objectstack/spec/data'; -import type { ApiMethod, ApiOperation, Index, Lifecycle, LifecycleClass, Object, ObjectAccessConfig, ObjectCapabilities, ObjectExtension, ObjectExternalBinding, ObjectFieldGroup, ObjectOwnershipEnum, ObjectRequiredPermissions, PerOperationRequiredPermissions, RowCrudActionOverride, TenancyConfig } from '@objectstack/spec/data'; +import { ApiMethod, ApiOperationSchema, IndexSchema, LifecycleSchema, LifecycleClassSchema, ObjectSchema, ObjectAccessConfigSchema, ObjectCapabilities, ObjectExtensionSchema, ObjectExternalBindingSchema, ObjectFieldGroupSchema, ObjectOwnershipEnum, ObjectRequiredPermissionsSchema, PerOperationRequiredPermissionsSchema, RowCrudActionOverrideSchema, TenancyConfigSchema } from '@objectstack/spec/data'; +import type { ApiMethod, ApiOperation, Lifecycle, LifecycleClass, ObjectAccessConfig, ObjectCapabilities, ObjectExtension, ObjectExternalBinding, ObjectFieldGroup, ObjectRequiredPermissions, PerOperationRequiredPermissions, RowCrudActionOverride, TenancyConfig } from '@objectstack/spec/data'; // Validate data const result = ApiMethod.parse(data); diff --git a/content/docs/references/data/query.mdx b/content/docs/references/data/query.mdx index abd69bf9e4..358fd85e33 100644 --- a/content/docs/references/data/query.mdx +++ b/content/docs/references/data/query.mdx @@ -16,8 +16,8 @@ Represents "Order By". ## TypeScript Usage ```typescript -import { AggregationFunction, AggregationNode, DateGranularity, FieldNode, FullTextSearch, GroupByNode, Query, SortNode } from '@objectstack/spec/data'; -import type { AggregationFunction, AggregationNode, DateGranularity, FieldNode, FullTextSearch, GroupByNode, Query, SortNode } from '@objectstack/spec/data'; +import { AggregationFunction, AggregationNodeSchema, DateGranularity, FieldNodeSchema, FullTextSearchSchema, GroupByNodeSchema, QuerySchema, SortNodeSchema } from '@objectstack/spec/data'; +import type { AggregationNode, FieldNode, FullTextSearch, GroupByNode, SortNode } from '@objectstack/spec/data'; // Validate data const result = AggregationFunction.parse(data); diff --git a/content/docs/references/data/seed-loader.mdx b/content/docs/references/data/seed-loader.mdx index 257eaa7b3d..e2d5f1b355 100644 --- a/content/docs/references/data/seed-loader.mdx +++ b/content/docs/references/data/seed-loader.mdx @@ -44,11 +44,11 @@ relationship resolution, dependency ordering, and multi-pass insertion. ## TypeScript Usage ```typescript -import { ObjectDependencyGraph, ObjectDependencyNode, ReferenceResolution, ReferenceResolutionError, SeedIdentity, SeedLoadResult, SeedLoaderConfig, SeedLoaderRequest, SeedLoaderResult } from '@objectstack/spec/data'; +import { ObjectDependencyGraphSchema, ObjectDependencyNodeSchema, ReferenceResolutionSchema, ReferenceResolutionErrorSchema, SeedIdentitySchema, SeedLoadResultSchema, SeedLoaderConfigSchema, SeedLoaderRequestSchema, SeedLoaderResultSchema } from '@objectstack/spec/data'; import type { ObjectDependencyGraph, ObjectDependencyNode, ReferenceResolution, ReferenceResolutionError, SeedIdentity, SeedLoadResult, SeedLoaderConfig, SeedLoaderRequest, SeedLoaderResult } from '@objectstack/spec/data'; // Validate data -const result = ObjectDependencyGraph.parse(data); +const result = ObjectDependencyGraphSchema.parse(data); ``` --- diff --git a/content/docs/references/data/seed.mdx b/content/docs/references/data/seed.mdx index d8ef46d3e8..ca481c3410 100644 --- a/content/docs/references/data/seed.mdx +++ b/content/docs/references/data/seed.mdx @@ -16,11 +16,11 @@ Defines how the engine handles existing records when a seed is applied. ## TypeScript Usage ```typescript -import { Seed, SeedMode } from '@objectstack/spec/data'; -import type { Seed, SeedMode } from '@objectstack/spec/data'; +import { SeedSchema, SeedMode } from '@objectstack/spec/data'; +import type { Seed } from '@objectstack/spec/data'; // Validate data -const result = Seed.parse(data); +const result = SeedSchema.parse(data); ``` --- diff --git a/content/docs/references/data/validation.mdx b/content/docs/references/data/validation.mdx index 2f29f7301c..65ba7fe6b8 100644 --- a/content/docs/references/data/validation.mdx +++ b/content/docs/references/data/validation.mdx @@ -122,11 +122,11 @@ severity: 'error' ## TypeScript Usage ```typescript -import { ConditionalValidation, CrossFieldValidation, FormatValidation, JSONValidation, ScriptValidation, StateMachineValidation, ValidationRule } from '@objectstack/spec/data'; +import { ConditionalValidationSchema, CrossFieldValidationSchema, FormatValidationSchema, JSONValidationSchema, ScriptValidationSchema, StateMachineValidationSchema, ValidationRuleSchema } from '@objectstack/spec/data'; import type { ConditionalValidation, CrossFieldValidation, FormatValidation, JSONValidation, ScriptValidation, StateMachineValidation, ValidationRule } from '@objectstack/spec/data'; // Validate data -const result = ConditionalValidation.parse(data); +const result = ConditionalValidationSchema.parse(data); ``` --- diff --git a/content/docs/references/identity/eval-user.mdx b/content/docs/references/identity/eval-user.mdx index 15d42dff60..1efde14608 100644 --- a/content/docs/references/identity/eval-user.mdx +++ b/content/docs/references/identity/eval-user.mdx @@ -34,11 +34,11 @@ See also: docs/adr/0068-unified-user-context-and-built-in-identity-roles.md ## TypeScript Usage ```typescript -import { EvalUser } from '@objectstack/spec/identity'; +import { EvalUserSchema } from '@objectstack/spec/identity'; import type { EvalUser } from '@objectstack/spec/identity'; // Validate data -const result = EvalUser.parse(data); +const result = EvalUserSchema.parse(data); ``` --- diff --git a/content/docs/references/identity/identity.mdx b/content/docs/references/identity/identity.mdx index 877741a416..f6c95c937f 100644 --- a/content/docs/references/identity/identity.mdx +++ b/content/docs/references/identity/identity.mdx @@ -22,11 +22,11 @@ defines "how to login". ## TypeScript Usage ```typescript -import { Account, ApiKey, Session, User, VerificationToken } from '@objectstack/spec/identity'; +import { AccountSchema, ApiKeySchema, SessionSchema, UserSchema, VerificationTokenSchema } from '@objectstack/spec/identity'; import type { Account, ApiKey, Session, User, VerificationToken } from '@objectstack/spec/identity'; // Validate data -const result = Account.parse(data); +const result = AccountSchema.parse(data); ``` --- diff --git a/content/docs/references/identity/organization.mdx b/content/docs/references/identity/organization.mdx index 173b2ee57a..8226df8ab7 100644 --- a/content/docs/references/identity/organization.mdx +++ b/content/docs/references/identity/organization.mdx @@ -20,11 +20,11 @@ This aligns with better-auth's organization plugin capabilities. ## TypeScript Usage ```typescript -import { Invitation, InvitationStatus, Member, Organization } from '@objectstack/spec/identity'; +import { InvitationSchema, InvitationStatus, MemberSchema, OrganizationSchema } from '@objectstack/spec/identity'; import type { Invitation, InvitationStatus, Member, Organization } from '@objectstack/spec/identity'; // Validate data -const result = Invitation.parse(data); +const result = InvitationSchema.parse(data); ``` --- diff --git a/content/docs/references/identity/position.mdx b/content/docs/references/identity/position.mdx index 71860ec99e..75ad7faf4c 100644 --- a/content/docs/references/identity/position.mdx +++ b/content/docs/references/identity/position.mdx @@ -66,11 +66,11 @@ Position names MUST be lowercase snake_case to prevent security issues. ## TypeScript Usage ```typescript -import { Position } from '@objectstack/spec/identity'; +import { PositionSchema } from '@objectstack/spec/identity'; import type { Position } from '@objectstack/spec/identity'; // Validate data -const result = Position.parse(data); +const result = PositionSchema.parse(data); ``` --- diff --git a/content/docs/references/identity/scim.mdx b/content/docs/references/identity/scim.mdx index 0df9ae0e8a..1e08ae08ce 100644 --- a/content/docs/references/identity/scim.mdx +++ b/content/docs/references/identity/scim.mdx @@ -82,11 +82,11 @@ See also: https://datatracker.ietf.org/doc/html/rfc7644 ## TypeScript Usage ```typescript -import { SCIMAddress, SCIMBulkOperation, SCIMBulkRequest, SCIMBulkResponse, SCIMBulkResponseOperation, SCIMEmail, SCIMEnterpriseUser, SCIMError, SCIMGroup, SCIMGroupReference, SCIMListResponse, SCIMMemberReference, SCIMMeta, SCIMName, SCIMPatchOperation, SCIMPatchRequest, SCIMPhoneNumber, SCIMUser } from '@objectstack/spec/identity'; +import { SCIMAddressSchema, SCIMBulkOperationSchema, SCIMBulkRequestSchema, SCIMBulkResponseSchema, SCIMBulkResponseOperationSchema, SCIMEmailSchema, SCIMEnterpriseUserSchema, SCIMErrorSchema, SCIMGroupSchema, SCIMGroupReferenceSchema, SCIMListResponseSchema, SCIMMemberReferenceSchema, SCIMMetaSchema, SCIMNameSchema, SCIMPatchOperationSchema, SCIMPatchRequestSchema, SCIMPhoneNumberSchema, SCIMUserSchema } from '@objectstack/spec/identity'; import type { SCIMAddress, SCIMBulkOperation, SCIMBulkRequest, SCIMBulkResponse, SCIMBulkResponseOperation, SCIMEmail, SCIMEnterpriseUser, SCIMError, SCIMGroup, SCIMGroupReference, SCIMListResponse, SCIMMemberReference, SCIMMeta, SCIMName, SCIMPatchOperation, SCIMPatchRequest, SCIMPhoneNumber, SCIMUser } from '@objectstack/spec/identity'; // Validate data -const result = SCIMAddress.parse(data); +const result = SCIMAddressSchema.parse(data); ``` --- diff --git a/content/docs/references/integration/connector-auth.mdx b/content/docs/references/integration/connector-auth.mdx index c74b8dfe55..3831efe454 100644 --- a/content/docs/references/integration/connector-auth.mdx +++ b/content/docs/references/integration/connector-auth.mdx @@ -8,11 +8,11 @@ description: Connector Auth protocol schemas ## TypeScript Usage ```typescript -import { ConnectorInstanceAPIKeyAuth, ConnectorInstanceAuth, ConnectorInstanceBasicAuth, ConnectorInstanceBearerAuth, ConnectorInstanceNoAuth } from '@objectstack/spec/integration'; -import type { ConnectorInstanceAPIKeyAuth, ConnectorInstanceAuth, ConnectorInstanceBasicAuth, ConnectorInstanceBearerAuth, ConnectorInstanceNoAuth } from '@objectstack/spec/integration'; +import { ConnectorInstanceAPIKeyAuthSchema, ConnectorInstanceAuthSchema, ConnectorInstanceBasicAuthSchema, ConnectorInstanceBearerAuthSchema, ConnectorInstanceNoAuthSchema } from '@objectstack/spec/integration'; +import type { ConnectorInstanceAuth } from '@objectstack/spec/integration'; // Validate data -const result = ConnectorInstanceAPIKeyAuth.parse(data); +const result = ConnectorInstanceAPIKeyAuthSchema.parse(data); ``` --- diff --git a/content/docs/references/integration/connector.mdx b/content/docs/references/integration/connector.mdx index e9505e0a0f..c3570ce5d4 100644 --- a/content/docs/references/integration/connector.mdx +++ b/content/docs/references/integration/connector.mdx @@ -132,11 +132,11 @@ with simple `auth` — or by `[automation/sync.zod.ts](/docs/references/automati ## TypeScript Usage ```typescript -import { CircuitBreakerConfig, Connector, ConnectorAction, ConnectorErrorCategory, ConnectorHealth, ConnectorRetryStrategy, ConnectorStatus, ConnectorTrigger, ConnectorType, DataSyncConfig, DeclarativeConnectorEntry, ErrorMappingConfig, ErrorMappingRule, HealthCheckConfig, RateLimitStrategy, RetryConfig, SyncStrategy, WebhookConfig, WebhookEvent, WebhookSignatureAlgorithm } from '@objectstack/spec/integration'; -import type { CircuitBreakerConfig, Connector, ConnectorAction, ConnectorErrorCategory, ConnectorHealth, ConnectorRetryStrategy, ConnectorStatus, ConnectorTrigger, ConnectorType, DataSyncConfig, DeclarativeConnectorEntry, ErrorMappingConfig, ErrorMappingRule, HealthCheckConfig, RateLimitStrategy, RetryConfig, SyncStrategy, WebhookConfig, WebhookEvent, WebhookSignatureAlgorithm } from '@objectstack/spec/integration'; +import { CircuitBreakerConfigSchema, ConnectorSchema, ConnectorActionSchema, ConnectorErrorCategorySchema, ConnectorHealthSchema, ConnectorRetryStrategySchema, ConnectorStatusSchema, ConnectorTriggerSchema, ConnectorTypeSchema, DataSyncConfigSchema, DeclarativeConnectorEntrySchema, ErrorMappingConfigSchema, ErrorMappingRuleSchema, HealthCheckConfigSchema, RateLimitStrategySchema, RetryConfigSchema, SyncStrategySchema, WebhookConfigSchema, WebhookEventSchema, WebhookSignatureAlgorithmSchema } from '@objectstack/spec/integration'; +import type { CircuitBreakerConfig, Connector, ConnectorErrorCategory, ConnectorHealth, ConnectorRetryStrategy, ConnectorStatus, ConnectorType, DataSyncConfig, DeclarativeConnectorEntry, ErrorMappingConfig, ErrorMappingRule, HealthCheckConfig, RateLimitStrategy, RetryConfig, SyncStrategy, WebhookConfig, WebhookEvent, WebhookSignatureAlgorithm } from '@objectstack/spec/integration'; // Validate data -const result = CircuitBreakerConfig.parse(data); +const result = CircuitBreakerConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/integration/http.mdx b/content/docs/references/integration/http.mdx index 3ad0fbc34a..b4ab04bbab 100644 --- a/content/docs/references/integration/http.mdx +++ b/content/docs/references/integration/http.mdx @@ -8,11 +8,11 @@ description: Http protocol schemas ## TypeScript Usage ```typescript -import { RateLimitConfig } from '@objectstack/spec/integration'; +import { RateLimitConfigSchema } from '@objectstack/spec/integration'; import type { RateLimitConfig } from '@objectstack/spec/integration'; // Validate data -const result = RateLimitConfig.parse(data); +const result = RateLimitConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/integration/mapping.mdx b/content/docs/references/integration/mapping.mdx index 6ec881b433..afd60050a4 100644 --- a/content/docs/references/integration/mapping.mdx +++ b/content/docs/references/integration/mapping.mdx @@ -8,11 +8,11 @@ description: Mapping protocol schemas ## TypeScript Usage ```typescript -import { FieldMapping } from '@objectstack/spec/integration'; +import { FieldMappingSchema } from '@objectstack/spec/integration'; import type { FieldMapping } from '@objectstack/spec/integration'; // Validate data -const result = FieldMapping.parse(data); +const result = FieldMappingSchema.parse(data); ``` --- diff --git a/content/docs/references/integration/offline.mdx b/content/docs/references/integration/offline.mdx index 5ddceaf3ee..9877357420 100644 --- a/content/docs/references/integration/offline.mdx +++ b/content/docs/references/integration/offline.mdx @@ -8,11 +8,11 @@ description: Offline protocol schemas ## TypeScript Usage ```typescript -import { ConflictResolution } from '@objectstack/spec/integration'; +import { ConflictResolutionSchema } from '@objectstack/spec/integration'; import type { ConflictResolution } from '@objectstack/spec/integration'; // Validate data -const result = ConflictResolution.parse(data); +const result = ConflictResolutionSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/cli-extension.mdx b/content/docs/references/kernel/cli-extension.mdx index 08657398d0..50ac0d8191 100644 --- a/content/docs/references/kernel/cli-extension.mdx +++ b/content/docs/references/kernel/cli-extension.mdx @@ -106,11 +106,11 @@ The `objectstack.config.ts` plugins array no longer determines CLI commands. ## TypeScript Usage ```typescript -import { CLICommandContribution, OclifPluginConfig } from '@objectstack/spec/kernel'; +import { CLICommandContributionSchema, OclifPluginConfigSchema } from '@objectstack/spec/kernel'; import type { CLICommandContribution, OclifPluginConfig } from '@objectstack/spec/kernel'; // Validate data -const result = CLICommandContribution.parse(data); +const result = CLICommandContributionSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/cluster.mdx b/content/docs/references/kernel/cluster.mdx index 1fd983ba0c..9e228764eb 100644 --- a/content/docs/references/kernel/cluster.mdx +++ b/content/docs/references/kernel/cluster.mdx @@ -30,11 +30,11 @@ subsystems depend on. ## TypeScript Usage ```typescript -import { ClusterCapabilityConfig, ClusterDriver, ClusterTenantIsolation, EventClusterOptions, EventDeliverySemantics, EventScope, MetadataChangeOperation, ServiceClusterAnnotations, ServiceClusterScope, ServiceLeaderStrategy } from '@objectstack/spec/kernel'; +import { ClusterCapabilityConfigSchema, ClusterDriverSchema, ClusterTenantIsolationSchema, EventClusterOptionsSchema, EventDeliverySemanticsSchema, EventScopeSchema, MetadataChangeOperationSchema, ServiceClusterAnnotationsSchema, ServiceClusterScopeSchema, ServiceLeaderStrategySchema } from '@objectstack/spec/kernel'; import type { ClusterCapabilityConfig, ClusterDriver, ClusterTenantIsolation, EventClusterOptions, EventDeliverySemantics, EventScope, MetadataChangeOperation, ServiceClusterAnnotations, ServiceClusterScope, ServiceLeaderStrategy } from '@objectstack/spec/kernel'; // Validate data -const result = ClusterCapabilityConfig.parse(data); +const result = ClusterCapabilityConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/context.mdx b/content/docs/references/kernel/context.mdx index 86ec362061..32198a0ece 100644 --- a/content/docs/references/kernel/context.mdx +++ b/content/docs/references/kernel/context.mdx @@ -16,11 +16,11 @@ Defines the operating mode of the kernel ## TypeScript Usage ```typescript -import { KernelContext, PreviewModeConfig, RuntimeMode, TenantRuntimeContext } from '@objectstack/spec/kernel'; +import { KernelContextSchema, PreviewModeConfigSchema, RuntimeMode, TenantRuntimeContextSchema } from '@objectstack/spec/kernel'; import type { KernelContext, PreviewModeConfig, RuntimeMode, TenantRuntimeContext } from '@objectstack/spec/kernel'; // Validate data -const result = KernelContext.parse(data); +const result = KernelContextSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/dependency-resolution.mdx b/content/docs/references/kernel/dependency-resolution.mdx index 88b902c943..aeb4d2824d 100644 --- a/content/docs/references/kernel/dependency-resolution.mdx +++ b/content/docs/references/kernel/dependency-resolution.mdx @@ -46,11 +46,11 @@ express dependency conflicts, resolution results, and installation order. ## TypeScript Usage ```typescript -import { DependencyResolutionResult, DependencyStatusEnum, RequiredAction, ResolvedDependency } from '@objectstack/spec/kernel'; -import type { DependencyResolutionResult, DependencyStatusEnum, RequiredAction, ResolvedDependency } from '@objectstack/spec/kernel'; +import { DependencyResolutionResultSchema, DependencyStatusEnum, RequiredActionSchema, ResolvedDependencySchema } from '@objectstack/spec/kernel'; +import type { DependencyResolutionResult, RequiredAction, ResolvedDependency } from '@objectstack/spec/kernel'; // Validate data -const result = DependencyResolutionResult.parse(data); +const result = DependencyResolutionResultSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-bus.mdx b/content/docs/references/kernel/events-bus.mdx index 872fd0a2e0..89ab8fae6d 100644 --- a/content/docs/references/kernel/events-bus.mdx +++ b/content/docs/references/kernel/events-bus.mdx @@ -34,11 +34,11 @@ Complete configuration for the event bus system ## TypeScript Usage ```typescript -import { EventBusConfig } from '@objectstack/spec/kernel'; +import { EventBusConfigSchema } from '@objectstack/spec/kernel'; import type { EventBusConfig } from '@objectstack/spec/kernel'; // Validate data -const result = EventBusConfig.parse(data); +const result = EventBusConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-core.mdx b/content/docs/references/kernel/events-core.mdx index 83478875fb..8e3ba20093 100644 --- a/content/docs/references/kernel/events-core.mdx +++ b/content/docs/references/kernel/events-core.mdx @@ -18,11 +18,11 @@ Lower numbers = higher priority ## TypeScript Usage ```typescript -import { Event, EventMetadata, EventPriority, EventTypeDefinition } from '@objectstack/spec/kernel'; -import type { Event, EventMetadata, EventPriority, EventTypeDefinition } from '@objectstack/spec/kernel'; +import { EventSchema, EventMetadataSchema, EventPriority, EventTypeDefinitionSchema } from '@objectstack/spec/kernel'; +import type { Event, EventPriority, EventTypeDefinition } from '@objectstack/spec/kernel'; // Validate data -const result = Event.parse(data); +const result = EventSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-dlq.mdx b/content/docs/references/kernel/events-dlq.mdx index 3c8affddee..1468994caf 100644 --- a/content/docs/references/kernel/events-dlq.mdx +++ b/content/docs/references/kernel/events-dlq.mdx @@ -16,11 +16,11 @@ Represents a failed event in the dead letter queue ## TypeScript Usage ```typescript -import { DeadLetterQueueEntry, EventLogEntry } from '@objectstack/spec/kernel'; +import { DeadLetterQueueEntrySchema, EventLogEntrySchema } from '@objectstack/spec/kernel'; import type { DeadLetterQueueEntry, EventLogEntry } from '@objectstack/spec/kernel'; // Validate data -const result = DeadLetterQueueEntry.parse(data); +const result = DeadLetterQueueEntrySchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-handlers.mdx b/content/docs/references/kernel/events-handlers.mdx index bd3f67001f..e45a9bdf5e 100644 --- a/content/docs/references/kernel/events-handlers.mdx +++ b/content/docs/references/kernel/events-handlers.mdx @@ -16,11 +16,11 @@ Defines how to handle a specific event ## TypeScript Usage ```typescript -import { EventHandler, EventPersistence, EventRoute } from '@objectstack/spec/kernel'; +import { EventHandlerSchema, EventPersistenceSchema, EventRouteSchema } from '@objectstack/spec/kernel'; import type { EventHandler, EventPersistence, EventRoute } from '@objectstack/spec/kernel'; // Validate data -const result = EventHandler.parse(data); +const result = EventHandlerSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-integrations.mdx b/content/docs/references/kernel/events-integrations.mdx index 8757af711e..8d09afaa6f 100644 --- a/content/docs/references/kernel/events-integrations.mdx +++ b/content/docs/references/kernel/events-integrations.mdx @@ -30,11 +30,11 @@ Configuration for sending events to webhooks ## TypeScript Usage ```typescript -import { EventMessageQueueConfig, EventWebhookConfig, RealTimeNotificationConfig } from '@objectstack/spec/kernel'; +import { EventMessageQueueConfigSchema, EventWebhookConfigSchema, RealTimeNotificationConfigSchema } from '@objectstack/spec/kernel'; import type { EventMessageQueueConfig, EventWebhookConfig, RealTimeNotificationConfig } from '@objectstack/spec/kernel'; // Validate data -const result = EventMessageQueueConfig.parse(data); +const result = EventMessageQueueConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/events-queue.mdx b/content/docs/references/kernel/events-queue.mdx index d262c5db13..a99044ddee 100644 --- a/content/docs/references/kernel/events-queue.mdx +++ b/content/docs/references/kernel/events-queue.mdx @@ -34,11 +34,11 @@ Configuration for async event processing queue ## TypeScript Usage ```typescript -import { EventQueueConfig, EventReplayConfig, EventSourcingConfig } from '@objectstack/spec/kernel'; +import { EventQueueConfigSchema, EventReplayConfigSchema, EventSourcingConfigSchema } from '@objectstack/spec/kernel'; import type { EventQueueConfig, EventReplayConfig, EventSourcingConfig } from '@objectstack/spec/kernel'; // Validate data -const result = EventQueueConfig.parse(data); +const result = EventQueueConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/execution-context.mdx b/content/docs/references/kernel/execution-context.mdx index 095159246a..7db9e05eb4 100644 --- a/content/docs/references/kernel/execution-context.mdx +++ b/content/docs/references/kernel/execution-context.mdx @@ -32,11 +32,11 @@ engine.find('account', \{ context: \{ userId: '...', tenantId: '...' \} \}) ## TypeScript Usage ```typescript -import { ExecutionContext } from '@objectstack/spec/kernel'; +import { ExecutionContextSchema } from '@objectstack/spec/kernel'; import type { ExecutionContext } from '@objectstack/spec/kernel'; // Validate data -const result = ExecutionContext.parse(data); +const result = ExecutionContextSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/manifest.mdx b/content/docs/references/kernel/manifest.mdx index 4a5e481c9b..a5f3549c13 100644 --- a/content/docs/references/kernel/manifest.mdx +++ b/content/docs/references/kernel/manifest.mdx @@ -32,11 +32,11 @@ PluginPermissionEnforcer. ## TypeScript Usage ```typescript -import { Manifest, ManifestPermissions, PluginEngines, PluginIntegrity, PluginPackaging, PluginPermissions, PluginRuntime } from '@objectstack/spec/kernel'; -import type { Manifest, ManifestPermissions, PluginEngines, PluginIntegrity, PluginPackaging, PluginPermissions, PluginRuntime } from '@objectstack/spec/kernel'; +import { ManifestSchema, ManifestPermissionsSchema, PluginEnginesSchema, PluginIntegritySchema, PluginPackagingSchema, PluginPermissionsSchema, PluginRuntimeSchema } from '@objectstack/spec/kernel'; +import type { ManifestPermissions, PluginEngines, PluginIntegrity, PluginPackaging, PluginPermissions, PluginRuntime } from '@objectstack/spec/kernel'; // Validate data -const result = Manifest.parse(data); +const result = ManifestSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/metadata-customization.mdx b/content/docs/references/kernel/metadata-customization.mdx index 55b6f2b7ee..9a1eb046e2 100644 --- a/content/docs/references/kernel/metadata-customization.mdx +++ b/content/docs/references/kernel/metadata-customization.mdx @@ -58,11 +58,11 @@ Each layer only stores the delta (changed fields), not the full definition. ## TypeScript Usage ```typescript -import { CustomizationOrigin, CustomizationPolicy, FieldChange, MergeConflict, MergeResult, MergeStrategyConfig, MetadataOverlay } from '@objectstack/spec/kernel'; +import { CustomizationOriginSchema, CustomizationPolicySchema, FieldChangeSchema, MergeConflictSchema, MergeResultSchema, MergeStrategyConfigSchema, MetadataOverlaySchema } from '@objectstack/spec/kernel'; import type { CustomizationOrigin, CustomizationPolicy, FieldChange, MergeConflict, MergeResult, MergeStrategyConfig, MetadataOverlay } from '@objectstack/spec/kernel'; // Validate data -const result = CustomizationOrigin.parse(data); +const result = CustomizationOriginSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/metadata-loader.mdx b/content/docs/references/kernel/metadata-loader.mdx index 06aa9caf3f..e2d193ad63 100644 --- a/content/docs/references/kernel/metadata-loader.mdx +++ b/content/docs/references/kernel/metadata-loader.mdx @@ -18,11 +18,11 @@ The loader and watch *envelope* types (`MetadataFormat`, `MetadataStats`, `Metad ## TypeScript Usage ```typescript -import { MetadataFallbackStrategy, MetadataManagerConfig } from '@objectstack/spec/kernel'; +import { MetadataFallbackStrategySchema, MetadataManagerConfigSchema } from '@objectstack/spec/kernel'; import type { MetadataFallbackStrategy, MetadataManagerConfig } from '@objectstack/spec/kernel'; // Validate data -const result = MetadataFallbackStrategy.parse(data); +const result = MetadataFallbackStrategySchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/metadata-plugin.mdx b/content/docs/references/kernel/metadata-plugin.mdx index b7604e5ea9..2e2f0e176b 100644 --- a/content/docs/references/kernel/metadata-plugin.mdx +++ b/content/docs/references/kernel/metadata-plugin.mdx @@ -72,11 +72,11 @@ cohesive plugin that "takes over" the entire platform's metadata management: ## TypeScript Usage ```typescript -import { MetadataBulkRegisterRequest, MetadataBulkResult, MetadataDependency, MetadataEvent, MetadataPluginConfig, MetadataPluginManifest, MetadataQuery, MetadataQueryResult, MetadataType, MetadataTypeRegistryEntry, MetadataValidationResult } from '@objectstack/spec/kernel'; +import { MetadataBulkRegisterRequestSchema, MetadataBulkResultSchema, MetadataDependencySchema, MetadataEventSchema, MetadataPluginConfigSchema, MetadataPluginManifestSchema, MetadataQuerySchema, MetadataQueryResultSchema, MetadataTypeSchema, MetadataTypeRegistryEntrySchema, MetadataValidationResultSchema } from '@objectstack/spec/kernel'; import type { MetadataBulkRegisterRequest, MetadataBulkResult, MetadataDependency, MetadataEvent, MetadataPluginConfig, MetadataPluginManifest, MetadataQuery, MetadataQueryResult, MetadataType, MetadataTypeRegistryEntry, MetadataValidationResult } from '@objectstack/spec/kernel'; // Validate data -const result = MetadataBulkRegisterRequest.parse(data); +const result = MetadataBulkRegisterRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/metadata-protection.mdx b/content/docs/references/kernel/metadata-protection.mdx index 892c4dd753..5992215f6b 100644 --- a/content/docs/references/kernel/metadata-protection.mdx +++ b/content/docs/references/kernel/metadata-protection.mdx @@ -54,11 +54,11 @@ design (industry references, 4-layer model, audit trail). ## TypeScript Usage ```typescript -import { MetadataLock, MetadataLockSource, MetadataProvenance } from '@objectstack/spec/kernel'; +import { MetadataLockSchema, MetadataLockSourceSchema, MetadataProvenanceSchema } from '@objectstack/spec/kernel'; import type { MetadataLock, MetadataLockSource, MetadataProvenance } from '@objectstack/spec/kernel'; // Validate data -const result = MetadataLock.parse(data); +const result = MetadataLockSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/package-artifact.mdx b/content/docs/references/kernel/package-artifact.mdx index 268383bf40..7efa7c1c55 100644 --- a/content/docs/references/kernel/package-artifact.mdx +++ b/content/docs/references/kernel/package-artifact.mdx @@ -70,11 +70,11 @@ and distribute package artifacts. ## TypeScript Usage ```typescript -import { ArtifactChecksum, ArtifactFileEntry, ArtifactSignature, MetadataCategoryEnum, PackageArtifact } from '@objectstack/spec/kernel'; -import type { ArtifactChecksum, ArtifactFileEntry, ArtifactSignature, MetadataCategoryEnum, PackageArtifact } from '@objectstack/spec/kernel'; +import { ArtifactChecksumSchema, ArtifactFileEntrySchema, ArtifactSignatureSchema, MetadataCategoryEnum, PackageArtifactSchema } from '@objectstack/spec/kernel'; +import type { ArtifactChecksum, ArtifactFileEntry, ArtifactSignature, PackageArtifact } from '@objectstack/spec/kernel'; // Validate data -const result = ArtifactChecksum.parse(data); +const result = ArtifactChecksumSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/package-registry.mdx b/content/docs/references/kernel/package-registry.mdx index 0f43d1170b..b263c5d43e 100644 --- a/content/docs/references/kernel/package-registry.mdx +++ b/content/docs/references/kernel/package-registry.mdx @@ -48,11 +48,11 @@ never installs them directly. ## TypeScript Usage ```typescript -import { DisablePackageRequest, DisablePackageResponse, EnablePackageRequest, EnablePackageResponse, GetPackageRequest, GetPackageResponse, InstallPackageRequest, InstallPackageResponse, InstalledPackage, ListPackagesRequest, ListPackagesResponse, NamespaceConflictError, NamespaceRegistryEntry, PackageStatusEnum, UninstallPackageRequest, UninstallPackageResponse } from '@objectstack/spec/kernel'; -import type { DisablePackageRequest, DisablePackageResponse, EnablePackageRequest, EnablePackageResponse, GetPackageRequest, GetPackageResponse, InstallPackageRequest, InstallPackageResponse, InstalledPackage, ListPackagesRequest, ListPackagesResponse, NamespaceConflictError, NamespaceRegistryEntry, PackageStatusEnum, UninstallPackageRequest, UninstallPackageResponse } from '@objectstack/spec/kernel'; +import { DisablePackageRequestSchema, DisablePackageResponseSchema, EnablePackageRequestSchema, EnablePackageResponseSchema, GetPackageRequestSchema, GetPackageResponseSchema, InstallPackageRequestSchema, InstallPackageResponseSchema, InstalledPackageSchema, ListPackagesRequestSchema, ListPackagesResponseSchema, NamespaceConflictErrorSchema, NamespaceRegistryEntrySchema, PackageStatusEnum, UninstallPackageRequestSchema, UninstallPackageResponseSchema } from '@objectstack/spec/kernel'; +import type { DisablePackageRequest, DisablePackageResponse, EnablePackageRequest, EnablePackageResponse, GetPackageRequest, GetPackageResponse, InstallPackageRequest, InstallPackageResponse, InstalledPackage, ListPackagesRequest, ListPackagesResponse, NamespaceConflictError, NamespaceRegistryEntry, UninstallPackageRequest, UninstallPackageResponse } from '@objectstack/spec/kernel'; // Validate data -const result = DisablePackageRequest.parse(data); +const result = DisablePackageRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/package-upgrade.mdx b/content/docs/references/kernel/package-upgrade.mdx index a157b5e9d6..68ab224864 100644 --- a/content/docs/references/kernel/package-upgrade.mdx +++ b/content/docs/references/kernel/package-upgrade.mdx @@ -48,11 +48,11 @@ and rollback capabilities. ## TypeScript Usage ```typescript -import { MetadataChangeType, MetadataDiffItem, RollbackPackageRequest, RollbackPackageResponse, UpgradeImpactLevel, UpgradePackageRequest, UpgradePackageResponse, UpgradePhase, UpgradePlan, UpgradeSnapshot } from '@objectstack/spec/kernel'; +import { MetadataChangeTypeSchema, MetadataDiffItemSchema, RollbackPackageRequestSchema, RollbackPackageResponseSchema, UpgradeImpactLevelSchema, UpgradePackageRequestSchema, UpgradePackageResponseSchema, UpgradePhaseSchema, UpgradePlanSchema, UpgradeSnapshotSchema } from '@objectstack/spec/kernel'; import type { MetadataChangeType, MetadataDiffItem, RollbackPackageRequest, RollbackPackageResponse, UpgradeImpactLevel, UpgradePackageRequest, UpgradePackageResponse, UpgradePhase, UpgradePlan, UpgradeSnapshot } from '@objectstack/spec/kernel'; // Validate data -const result = MetadataChangeType.parse(data); +const result = MetadataChangeTypeSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-capability.mdx b/content/docs/references/kernel/plugin-capability.mdx index 8de04d3db9..c41ac10c5a 100644 --- a/content/docs/references/kernel/plugin-capability.mdx +++ b/content/docs/references/kernel/plugin-capability.mdx @@ -26,11 +26,11 @@ Based on the Protocol-Oriented Architecture pattern similar to: ## TypeScript Usage ```typescript -import { CapabilityConformanceLevel, ExtensionPoint, PluginCapability, PluginCapabilityManifest, PluginDependency, PluginInterface, ProtocolFeature, ProtocolReference, ProtocolVersion } from '@objectstack/spec/kernel'; +import { CapabilityConformanceLevelSchema, ExtensionPointSchema, PluginCapabilitySchema, PluginCapabilityManifestSchema, PluginDependencySchema, PluginInterfaceSchema, ProtocolFeatureSchema, ProtocolReferenceSchema, ProtocolVersionSchema } from '@objectstack/spec/kernel'; import type { CapabilityConformanceLevel, ExtensionPoint, PluginCapability, PluginCapabilityManifest, PluginDependency, PluginInterface, ProtocolFeature, ProtocolReference, ProtocolVersion } from '@objectstack/spec/kernel'; // Validate data -const result = CapabilityConformanceLevel.parse(data); +const result = CapabilityConformanceLevelSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-lifecycle-advanced.mdx b/content/docs/references/kernel/plugin-lifecycle-advanced.mdx index 141c83d089..fd2a907ff7 100644 --- a/content/docs/references/kernel/plugin-lifecycle-advanced.mdx +++ b/content/docs/references/kernel/plugin-lifecycle-advanced.mdx @@ -28,11 +28,11 @@ features for production environments. ## TypeScript Usage ```typescript -import { AdvancedPluginLifecycleConfig, DistributedStateConfig, GracefulDegradation, HotReloadConfig, PluginHealthCheck, PluginHealthReport, PluginHealthStatus, PluginStateSnapshot, PluginUpdateStrategy } from '@objectstack/spec/kernel'; +import { AdvancedPluginLifecycleConfigSchema, DistributedStateConfigSchema, GracefulDegradationSchema, HotReloadConfigSchema, PluginHealthCheckSchema, PluginHealthReportSchema, PluginHealthStatusSchema, PluginStateSnapshotSchema, PluginUpdateStrategySchema } from '@objectstack/spec/kernel'; import type { AdvancedPluginLifecycleConfig, DistributedStateConfig, GracefulDegradation, HotReloadConfig, PluginHealthCheck, PluginHealthReport, PluginHealthStatus, PluginStateSnapshot, PluginUpdateStrategy } from '@objectstack/spec/kernel'; // Validate data -const result = AdvancedPluginLifecycleConfig.parse(data); +const result = AdvancedPluginLifecycleConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-loading.mdx b/content/docs/references/kernel/plugin-loading.mdx index 647659faa7..0950712cbd 100644 --- a/content/docs/references/kernel/plugin-loading.mdx +++ b/content/docs/references/kernel/plugin-loading.mdx @@ -38,11 +38,11 @@ This protocol enables: ## TypeScript Usage ```typescript -import { PluginCaching, PluginCodeSplitting, PluginDependencyResolution, PluginDynamicImport, PluginHotReload, PluginInitialization, PluginLoadingConfig, PluginLoadingEvent, PluginLoadingState, PluginLoadingStrategy, PluginPerformanceMonitoring, PluginPreloadConfig, PluginSandboxing } from '@objectstack/spec/kernel'; +import { PluginCachingSchema, PluginCodeSplittingSchema, PluginDependencyResolutionSchema, PluginDynamicImportSchema, PluginHotReloadSchema, PluginInitializationSchema, PluginLoadingConfigSchema, PluginLoadingEventSchema, PluginLoadingStateSchema, PluginLoadingStrategySchema, PluginPerformanceMonitoringSchema, PluginPreloadConfigSchema, PluginSandboxingSchema } from '@objectstack/spec/kernel'; import type { PluginCaching, PluginCodeSplitting, PluginDependencyResolution, PluginDynamicImport, PluginHotReload, PluginInitialization, PluginLoadingConfig, PluginLoadingEvent, PluginLoadingState, PluginLoadingStrategy, PluginPerformanceMonitoring, PluginPreloadConfig, PluginSandboxing } from '@objectstack/spec/kernel'; // Validate data -const result = PluginCaching.parse(data); +const result = PluginCachingSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-registry.mdx b/content/docs/references/kernel/plugin-registry.mdx index 55cca8adcc..6fe97464a0 100644 --- a/content/docs/references/kernel/plugin-registry.mdx +++ b/content/docs/references/kernel/plugin-registry.mdx @@ -20,11 +20,11 @@ and composed together in the ObjectStack ecosystem. ## TypeScript Usage ```typescript -import { PluginInstallConfig, PluginQualityMetrics, PluginRegistryEntry, PluginSearchFilters, PluginStatistics, PluginVendor } from '@objectstack/spec/kernel'; +import { PluginInstallConfigSchema, PluginQualityMetricsSchema, PluginRegistryEntrySchema, PluginSearchFiltersSchema, PluginStatisticsSchema, PluginVendorSchema } from '@objectstack/spec/kernel'; import type { PluginInstallConfig, PluginQualityMetrics, PluginRegistryEntry, PluginSearchFilters, PluginStatistics, PluginVendor } from '@objectstack/spec/kernel'; // Validate data -const result = PluginInstallConfig.parse(data); +const result = PluginInstallConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-runtime.mdx b/content/docs/references/kernel/plugin-runtime.mdx index ac8e87c23b..9a2786fb64 100644 --- a/content/docs/references/kernel/plugin-runtime.mdx +++ b/content/docs/references/kernel/plugin-runtime.mdx @@ -38,11 +38,11 @@ This protocol enables: ## TypeScript Usage ```typescript -import { DynamicLoadRequest, DynamicPluginOperation, DynamicPluginResult, DynamicUnloadRequest, PluginSource } from '@objectstack/spec/kernel'; +import { DynamicLoadRequestSchema, DynamicPluginOperationSchema, DynamicPluginResultSchema, DynamicUnloadRequestSchema, PluginSourceSchema } from '@objectstack/spec/kernel'; import type { DynamicLoadRequest, DynamicPluginOperation, DynamicPluginResult, DynamicUnloadRequest, PluginSource } from '@objectstack/spec/kernel'; // Validate data -const result = DynamicLoadRequest.parse(data); +const result = DynamicLoadRequestSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-security-advanced.mdx b/content/docs/references/kernel/plugin-security-advanced.mdx index de58b6cf0d..e12b060f3b 100644 --- a/content/docs/references/kernel/plugin-security-advanced.mdx +++ b/content/docs/references/kernel/plugin-security-advanced.mdx @@ -30,11 +30,11 @@ Features: ## TypeScript Usage ```typescript -import { KernelSecurityPolicy, KernelSecurityScanResult, KernelSecurityVulnerability, PermissionAction, PermissionScope, PluginPermission, PluginPermissionSet, PluginSecurityManifest, PluginTrustLevel, ResourceType, RuntimeConfig, SandboxConfig } from '@objectstack/spec/kernel'; +import { KernelSecurityPolicySchema, KernelSecurityScanResultSchema, KernelSecurityVulnerabilitySchema, PermissionActionSchema, PermissionScopeSchema, PluginPermissionSchema, PluginPermissionSetSchema, PluginSecurityManifestSchema, PluginTrustLevelSchema, ResourceTypeSchema, RuntimeConfigSchema, SandboxConfigSchema } from '@objectstack/spec/kernel'; import type { KernelSecurityPolicy, KernelSecurityScanResult, KernelSecurityVulnerability, PermissionAction, PermissionScope, PluginPermission, PluginPermissionSet, PluginSecurityManifest, PluginTrustLevel, ResourceType, RuntimeConfig, SandboxConfig } from '@objectstack/spec/kernel'; // Validate data -const result = KernelSecurityPolicy.parse(data); +const result = KernelSecurityPolicySchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-security.mdx b/content/docs/references/kernel/plugin-security.mdx index 9f376d5792..b076ce902b 100644 --- a/content/docs/references/kernel/plugin-security.mdx +++ b/content/docs/references/kernel/plugin-security.mdx @@ -32,11 +32,11 @@ Features: ## TypeScript Usage ```typescript -import { DependencyGraph, DependencyGraphNode, PackageDependency, PackageDependencyConflict, PackageDependencyResolutionResult, PluginProvenance, PluginTrustScore, SBOM, SBOMEntry, SecurityPolicy, SecurityScanResult, SecurityVulnerability, VulnerabilitySeverity } from '@objectstack/spec/kernel'; +import { DependencyGraphSchema, DependencyGraphNodeSchema, PackageDependencySchema, PackageDependencyConflictSchema, PackageDependencyResolutionResultSchema, PluginProvenanceSchema, PluginTrustScoreSchema, SBOMSchema, SBOMEntrySchema, SecurityPolicySchema, SecurityScanResultSchema, SecurityVulnerabilitySchema, VulnerabilitySeverity } from '@objectstack/spec/kernel'; import type { DependencyGraph, DependencyGraphNode, PackageDependency, PackageDependencyConflict, PackageDependencyResolutionResult, PluginProvenance, PluginTrustScore, SBOM, SBOMEntry, SecurityPolicy, SecurityScanResult, SecurityVulnerability, VulnerabilitySeverity } from '@objectstack/spec/kernel'; // Validate data -const result = DependencyGraph.parse(data); +const result = DependencyGraphSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-structure.mdx b/content/docs/references/kernel/plugin-structure.mdx index 259ee69634..8b0fc75a27 100644 --- a/content/docs/references/kernel/plugin-structure.mdx +++ b/content/docs/references/kernel/plugin-structure.mdx @@ -20,11 +20,11 @@ See also: PLUGIN_STANDARDS.md ## TypeScript Usage ```typescript -import { OpsDomainModule, OpsFilePath, OpsPluginStructure } from '@objectstack/spec/kernel'; +import { OpsDomainModuleSchema, OpsFilePathSchema, OpsPluginStructureSchema } from '@objectstack/spec/kernel'; import type { OpsDomainModule, OpsFilePath, OpsPluginStructure } from '@objectstack/spec/kernel'; // Validate data -const result = OpsDomainModule.parse(data); +const result = OpsDomainModuleSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-validator.mdx b/content/docs/references/kernel/plugin-validator.mdx index c365146feb..7fa3673c60 100644 --- a/content/docs/references/kernel/plugin-validator.mdx +++ b/content/docs/references/kernel/plugin-validator.mdx @@ -22,11 +22,11 @@ must have Zod schemas for runtime validation and JSON Schema generation. ## TypeScript Usage ```typescript -import { PluginMetadata, ValidationError, ValidationResult, ValidationWarning } from '@objectstack/spec/kernel'; +import { PluginMetadataSchema, ValidationErrorSchema, ValidationResultSchema, ValidationWarningSchema } from '@objectstack/spec/kernel'; import type { PluginMetadata, ValidationError, ValidationResult, ValidationWarning } from '@objectstack/spec/kernel'; // Validate data -const result = PluginMetadata.parse(data); +const result = PluginMetadataSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin-versioning.mdx b/content/docs/references/kernel/plugin-versioning.mdx index 60fa273f83..e370f8d93a 100644 --- a/content/docs/references/kernel/plugin-versioning.mdx +++ b/content/docs/references/kernel/plugin-versioning.mdx @@ -28,11 +28,11 @@ Based on semantic versioning (SemVer) with extensions for: ## TypeScript Usage ```typescript -import { BreakingChange, CompatibilityLevel, CompatibilityMatrixEntry, DependencyConflict, DeprecationNotice, MultiVersionSupport, PluginCompatibilityMatrix, PluginDependencyResolutionResult, PluginVersionMetadata, SemanticVersion, VersionConstraint } from '@objectstack/spec/kernel'; +import { BreakingChangeSchema, CompatibilityLevelSchema, CompatibilityMatrixEntrySchema, DependencyConflictSchema, DeprecationNoticeSchema, MultiVersionSupportSchema, PluginCompatibilityMatrixSchema, PluginDependencyResolutionResultSchema, PluginVersionMetadataSchema, SemanticVersionSchema, VersionConstraintSchema } from '@objectstack/spec/kernel'; import type { BreakingChange, CompatibilityLevel, CompatibilityMatrixEntry, DependencyConflict, DeprecationNotice, MultiVersionSupport, PluginCompatibilityMatrix, PluginDependencyResolutionResult, PluginVersionMetadata, SemanticVersion, VersionConstraint } from '@objectstack/spec/kernel'; // Validate data -const result = BreakingChange.parse(data); +const result = BreakingChangeSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/plugin.mdx b/content/docs/references/kernel/plugin.mdx index 59cec88786..69e86ea7e4 100644 --- a/content/docs/references/kernel/plugin.mdx +++ b/content/docs/references/kernel/plugin.mdx @@ -16,11 +16,11 @@ These are the specialized plugin types common between Manifest (Package) and Plu ## TypeScript Usage ```typescript -import { ActivationEvent, Plugin } from '@objectstack/spec/kernel'; -import type { ActivationEvent, Plugin } from '@objectstack/spec/kernel'; +import { ActivationEventSchema, PluginSchema } from '@objectstack/spec/kernel'; +import type { ActivationEvent } from '@objectstack/spec/kernel'; // Validate data -const result = ActivationEvent.parse(data); +const result = ActivationEventSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/service-registry.mdx b/content/docs/references/kernel/service-registry.mdx index 74dcd0bf89..751eb97401 100644 --- a/content/docs/references/kernel/service-registry.mdx +++ b/content/docs/references/kernel/service-registry.mdx @@ -28,11 +28,11 @@ schemas for configuration and metadata related to service registry. ## TypeScript Usage ```typescript -import { ScopeConfig, ScopeInfo, ServiceFactoryRegistration, ServiceMetadata, ServiceRegistryConfig, ServiceScopeType } from '@objectstack/spec/kernel'; +import { ScopeConfigSchema, ScopeInfoSchema, ServiceFactoryRegistrationSchema, ServiceMetadataSchema, ServiceRegistryConfigSchema, ServiceScopeType } from '@objectstack/spec/kernel'; import type { ScopeConfig, ScopeInfo, ServiceFactoryRegistration, ServiceMetadata, ServiceRegistryConfig, ServiceScopeType } from '@objectstack/spec/kernel'; // Validate data -const result = ScopeConfig.parse(data); +const result = ScopeConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/kernel/startup-orchestrator.mdx b/content/docs/references/kernel/startup-orchestrator.mdx index eeeeb08946..adecf825bb 100644 --- a/content/docs/references/kernel/startup-orchestrator.mdx +++ b/content/docs/references/kernel/startup-orchestrator.mdx @@ -22,11 +22,11 @@ must have Zod schemas for runtime validation and JSON Schema generation. ## TypeScript Usage ```typescript -import { HealthStatus, PluginStartupResult, StartupOptions, StartupOrchestrationResult } from '@objectstack/spec/kernel'; +import { HealthStatusSchema, PluginStartupResultSchema, StartupOptionsSchema, StartupOrchestrationResultSchema } from '@objectstack/spec/kernel'; import type { HealthStatus, PluginStartupResult, StartupOptions, StartupOrchestrationResult } from '@objectstack/spec/kernel'; // Validate data -const result = HealthStatus.parse(data); +const result = HealthStatusSchema.parse(data); ``` --- diff --git a/content/docs/references/qa/testing.mdx b/content/docs/references/qa/testing.mdx index 55c49dd6ff..f644cbdd59 100644 --- a/content/docs/references/qa/testing.mdx +++ b/content/docs/references/qa/testing.mdx @@ -12,11 +12,11 @@ description: Testing protocol schemas ## TypeScript Usage ```typescript -import { TestAction, TestActionType, TestAssertion, TestAssertionType, TestContext, TestScenario, TestStep, TestSuite } from '@objectstack/spec/qa'; -import type { TestAction, TestActionType, TestAssertion, TestAssertionType, TestContext, TestScenario, TestStep, TestSuite } from '@objectstack/spec/qa'; +import { TestActionSchema, TestActionTypeSchema, TestAssertionSchema, TestAssertionTypeSchema, TestContextSchema, TestScenarioSchema, TestStepSchema, TestSuiteSchema } from '@objectstack/spec/qa'; +import type { TestAction, TestAssertion, TestScenario, TestStep, TestSuite } from '@objectstack/spec/qa'; // Validate data -const result = TestAction.parse(data); +const result = TestActionSchema.parse(data); ``` --- diff --git a/content/docs/references/security/explain.mdx b/content/docs/references/security/explain.mdx index eba197c611..7eb5ea749e 100644 --- a/content/docs/references/security/explain.mdx +++ b/content/docs/references/security/explain.mdx @@ -56,11 +56,11 @@ matches). Object-level requests (no `recordId`) stay byte-compatible. ## TypeScript Usage ```typescript -import { AccessMatrix, AccessMatrixEntry, AuthzPosture, ExplainDecision, ExplainLayer, ExplainMatchedRule, ExplainOperation, ExplainRecordAttribution, ExplainRequest } from '@objectstack/spec/security'; +import { AccessMatrixSchema, AccessMatrixEntrySchema, AuthzPostureSchema, ExplainDecisionSchema, ExplainLayerSchema, ExplainMatchedRuleSchema, ExplainOperationSchema, ExplainRecordAttributionSchema, ExplainRequestSchema } from '@objectstack/spec/security'; import type { AccessMatrix, AccessMatrixEntry, AuthzPosture, ExplainDecision, ExplainLayer, ExplainMatchedRule, ExplainOperation, ExplainRecordAttribution, ExplainRequest } from '@objectstack/spec/security'; // Validate data -const result = AccessMatrix.parse(data); +const result = AccessMatrixSchema.parse(data); ``` --- diff --git a/content/docs/references/security/misc.mdx b/content/docs/references/security/misc.mdx index e2fdb6bad1..74728e60d2 100644 --- a/content/docs/references/security/misc.mdx +++ b/content/docs/references/security/misc.mdx @@ -8,11 +8,11 @@ description: Misc protocol schemas ## TypeScript Usage ```typescript -import { CapabilityDeclaration, TenancyPosture } from '@objectstack/spec/security'; +import { CapabilityDeclarationSchema, TenancyPostureSchema } from '@objectstack/spec/security'; import type { CapabilityDeclaration, TenancyPosture } from '@objectstack/spec/security'; // Validate data -const result = CapabilityDeclaration.parse(data); +const result = CapabilityDeclarationSchema.parse(data); ``` --- diff --git a/content/docs/references/security/permission.mdx b/content/docs/references/security/permission.mdx index f3dfd541c3..1b76886353 100644 --- a/content/docs/references/security/permission.mdx +++ b/content/docs/references/security/permission.mdx @@ -24,11 +24,11 @@ Refined with enterprise data lifecycle controls: ## TypeScript Usage ```typescript -import { AdminScope, EffectiveObjectPermission, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security'; +import { AdminScopeSchema, EffectiveObjectPermissionSchema, FieldPermissionSchema, ObjectAccessScopeSchema, ObjectPermissionSchema, PermissionSetSchema } from '@objectstack/spec/security'; import type { AdminScope, EffectiveObjectPermission, FieldPermission, ObjectAccessScope, ObjectPermission, PermissionSet } from '@objectstack/spec/security'; // Validate data -const result = AdminScope.parse(data); +const result = AdminScopeSchema.parse(data); ``` --- diff --git a/content/docs/references/security/rls.mdx b/content/docs/references/security/rls.mdx index ba35b0280b..aa8b0cbc34 100644 --- a/content/docs/references/security/rls.mdx +++ b/content/docs/references/security/rls.mdx @@ -152,11 +152,11 @@ See also: https://help.salesforce.com/s/articleView?id=sf.security_sharing_rules ## TypeScript Usage ```typescript -import { RLSEvaluationResult, RLSOperation, RLSUserContext, RowLevelSecurityPolicy } from '@objectstack/spec/security'; +import { RLSEvaluationResultSchema, RLSOperation, RLSUserContextSchema, RowLevelSecurityPolicySchema } from '@objectstack/spec/security'; import type { RLSEvaluationResult, RLSOperation, RLSUserContext, RowLevelSecurityPolicy } from '@objectstack/spec/security'; // Validate data -const result = RLSEvaluationResult.parse(data); +const result = RLSEvaluationResultSchema.parse(data); ``` --- diff --git a/content/docs/references/security/sharing.mdx b/content/docs/references/security/sharing.mdx index a03e75d3c5..65cd287edc 100644 --- a/content/docs/references/security/sharing.mdx +++ b/content/docs/references/security/sharing.mdx @@ -16,11 +16,11 @@ The baseline security posture for an object. ## TypeScript Usage ```typescript -import { CriteriaSharingRule, OWDModel, ShareRecipientType, SharingLevel, SharingRule, SharingRuleType } from '@objectstack/spec/security'; -import type { CriteriaSharingRule, OWDModel, ShareRecipientType, SharingLevel, SharingRule, SharingRuleType } from '@objectstack/spec/security'; +import { CriteriaSharingRuleSchema, OWDModel, ShareRecipientType, SharingLevel, SharingRuleSchema, SharingRuleType } from '@objectstack/spec/security'; +import type { CriteriaSharingRule, SharingRule } from '@objectstack/spec/security'; // Validate data -const result = CriteriaSharingRule.parse(data); +const result = CriteriaSharingRuleSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/branded-types.mdx b/content/docs/references/shared/branded-types.mdx index ec76d2c183..b26e54f44f 100644 --- a/content/docs/references/shared/branded-types.mdx +++ b/content/docs/references/shared/branded-types.mdx @@ -36,11 +36,11 @@ const fieldName = FieldNameSchema.parse('task_name'); // FieldName ## TypeScript Usage ```typescript -import { AppName, FieldName, FlowName, ObjectName, RoleName, ViewName } from '@objectstack/spec/shared'; +import { AppNameSchema, FieldNameSchema, FlowNameSchema, ObjectNameSchema, RoleNameSchema, ViewNameSchema } from '@objectstack/spec/shared'; import type { AppName, FieldName, FlowName, ObjectName, RoleName, ViewName } from '@objectstack/spec/shared'; // Validate data -const result = AppName.parse(data); +const result = AppNameSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/enums.mdx b/content/docs/references/shared/enums.mdx index 714c5d46f0..d4d5d63b40 100644 --- a/content/docs/references/shared/enums.mdx +++ b/content/docs/references/shared/enums.mdx @@ -14,8 +14,8 @@ Sort direction used across query, data-engine, analytics ## TypeScript Usage ```typescript -import { IsolationLevelEnum, MutationEventEnum, SortDirectionEnum, SortItem } from '@objectstack/spec/shared'; -import type { IsolationLevelEnum, MutationEventEnum, SortDirectionEnum, SortItem } from '@objectstack/spec/shared'; +import { IsolationLevelEnum, MutationEventEnum, SortDirectionEnum, SortItemSchema } from '@objectstack/spec/shared'; +import type { SortItem } from '@objectstack/spec/shared'; // Validate data const result = IsolationLevelEnum.parse(data); diff --git a/content/docs/references/shared/expression.mdx b/content/docs/references/shared/expression.mdx index 31deb2e2ed..9783d681e7 100644 --- a/content/docs/references/shared/expression.mdx +++ b/content/docs/references/shared/expression.mdx @@ -48,11 +48,11 @@ See also: content/docs/concepts/north-star.mdx §8 "No private expression DSL" ## TypeScript Usage ```typescript -import { CronExpressionInput, Expression, ExpressionDialect, ExpressionInput, ExpressionMeta, Predicate, PredicateInput, TemplateExpressionInput } from '@objectstack/spec/shared'; +import { CronExpressionInputSchema, ExpressionSchema, ExpressionDialect, ExpressionInputSchema, ExpressionMetaSchema, PredicateSchema, PredicateInputSchema, TemplateExpressionInputSchema } from '@objectstack/spec/shared'; import type { CronExpressionInput, Expression, ExpressionDialect, ExpressionInput, ExpressionMeta, Predicate, PredicateInput, TemplateExpressionInput } from '@objectstack/spec/shared'; // Validate data -const result = CronExpressionInput.parse(data); +const result = CronExpressionInputSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/http.mdx b/content/docs/references/shared/http.mdx index 0de1470b5a..a2c11b57be 100644 --- a/content/docs/references/shared/http.mdx +++ b/content/docs/references/shared/http.mdx @@ -18,11 +18,11 @@ These schemas ensure consistency across different parts of the stack. ## TypeScript Usage ```typescript -import { CorsConfig, HttpMethod, HttpRequest, RateLimitConfig, StaticMount } from '@objectstack/spec/shared'; +import { CorsConfigSchema, HttpMethodSchema, HttpRequestSchema, RateLimitConfigSchema, StaticMountSchema } from '@objectstack/spec/shared'; import type { CorsConfig, HttpMethod, HttpRequest, RateLimitConfig, StaticMount } from '@objectstack/spec/shared'; // Validate data -const result = CorsConfig.parse(data); +const result = CorsConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/identifiers.mdx b/content/docs/references/shared/identifiers.mdx index 44feb495db..f0f9d3dda5 100644 --- a/content/docs/references/shared/identifiers.mdx +++ b/content/docs/references/shared/identifiers.mdx @@ -84,11 +84,11 @@ Enforces lowercase with underscores or dots to ensure: ## TypeScript Usage ```typescript -import { EventName, SnakeCaseIdentifier, SystemIdentifier } from '@objectstack/spec/shared'; +import { EventNameSchema, SnakeCaseIdentifierSchema, SystemIdentifierSchema } from '@objectstack/spec/shared'; import type { EventName, SnakeCaseIdentifier, SystemIdentifier } from '@objectstack/spec/shared'; // Validate data -const result = EventName.parse(data); +const result = EventNameSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/mapping.mdx b/content/docs/references/shared/mapping.mdx index 273aff16ad..f81b0c485d 100644 --- a/content/docs/references/shared/mapping.mdx +++ b/content/docs/references/shared/mapping.mdx @@ -62,11 +62,11 @@ defaultValue: 'Unknown' ## TypeScript Usage ```typescript -import { FieldMapping, FieldMappingTransform } from '@objectstack/spec/shared'; +import { FieldMappingSchema, FieldMappingTransformSchema } from '@objectstack/spec/shared'; import type { FieldMapping, FieldMappingTransform } from '@objectstack/spec/shared'; // Validate data -const result = FieldMapping.parse(data); +const result = FieldMappingSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/metadata-types.mdx b/content/docs/references/shared/metadata-types.mdx index 2cc084bbb1..60fe1704d4 100644 --- a/content/docs/references/shared/metadata-types.mdx +++ b/content/docs/references/shared/metadata-types.mdx @@ -14,11 +14,11 @@ Supported metadata file formats ## TypeScript Usage ```typescript -import { BaseMetadataRecord, MetadataFormat } from '@objectstack/spec/shared'; +import { BaseMetadataRecordSchema, MetadataFormatSchema } from '@objectstack/spec/shared'; import type { BaseMetadataRecord, MetadataFormat } from '@objectstack/spec/shared'; // Validate data -const result = BaseMetadataRecord.parse(data); +const result = BaseMetadataRecordSchema.parse(data); ``` --- diff --git a/content/docs/references/shared/protection.mdx b/content/docs/references/shared/protection.mdx index 7e90ee4efe..d7faa7c9f1 100644 --- a/content/docs/references/shared/protection.mdx +++ b/content/docs/references/shared/protection.mdx @@ -84,11 +84,11 @@ See also: ## TypeScript Usage ```typescript -import { Protection } from '@objectstack/spec/shared'; +import { ProtectionSchema } from '@objectstack/spec/shared'; import type { Protection } from '@objectstack/spec/shared'; // Validate data -const result = Protection.parse(data); +const result = ProtectionSchema.parse(data); ``` --- diff --git a/content/docs/references/studio/action.mdx b/content/docs/references/studio/action.mdx index 7f76880e66..6061950177 100644 --- a/content/docs/references/studio/action.mdx +++ b/content/docs/references/studio/action.mdx @@ -8,11 +8,10 @@ description: Action protocol schemas ## TypeScript Usage ```typescript -import { ActionLocation } from '@objectstack/spec/studio'; -import type { ActionLocation } from '@objectstack/spec/studio'; +import { ActionLocationSchema } from '@objectstack/spec/studio'; // Validate data -const result = ActionLocation.parse(data); +const result = ActionLocationSchema.parse(data); ``` --- diff --git a/content/docs/references/studio/flow-builder.mdx b/content/docs/references/studio/flow-builder.mdx index c2c4253c05..28600de9b3 100644 --- a/content/docs/references/studio/flow-builder.mdx +++ b/content/docs/references/studio/flow-builder.mdx @@ -60,11 +60,11 @@ within ObjectStack Studio. Covers: ## TypeScript Usage ```typescript -import { FlowBuilderConfig, FlowCanvasEdge, FlowCanvasEdgeStyle, FlowCanvasNode, FlowLayoutAlgorithm, FlowLayoutDirection, FlowNodeRenderDescriptor, FlowNodeShape } from '@objectstack/spec/studio'; +import { FlowBuilderConfigSchema, FlowCanvasEdgeSchema, FlowCanvasEdgeStyleSchema, FlowCanvasNodeSchema, FlowLayoutAlgorithmSchema, FlowLayoutDirectionSchema, FlowNodeRenderDescriptorSchema, FlowNodeShapeSchema } from '@objectstack/spec/studio'; import type { FlowBuilderConfig, FlowCanvasEdge, FlowCanvasEdgeStyle, FlowCanvasNode, FlowLayoutAlgorithm, FlowLayoutDirection, FlowNodeRenderDescriptor, FlowNodeShape } from '@objectstack/spec/studio'; // Validate data -const result = FlowBuilderConfig.parse(data); +const result = FlowBuilderConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/studio/object-designer.mdx b/content/docs/references/studio/object-designer.mdx index 9b3109a7e6..ecc8cdfc4f 100644 --- a/content/docs/references/studio/object-designer.mdx +++ b/content/docs/references/studio/object-designer.mdx @@ -110,11 +110,11 @@ showFieldDetails: true, ## TypeScript Usage ```typescript -import { ERDiagramConfig, ERLayoutAlgorithm, ERNodeDisplay, FieldEditorConfig, FieldGroup, FieldPropertySection, ObjectDesignerConfig, ObjectDesignerDefaultView, ObjectFilter, ObjectListDisplayMode, ObjectManagerConfig, ObjectPreviewConfig, ObjectPreviewTab, ObjectSortField, RelationshipDisplay, RelationshipMapperConfig } from '@objectstack/spec/studio'; +import { ERDiagramConfigSchema, ERLayoutAlgorithmSchema, ERNodeDisplaySchema, FieldEditorConfigSchema, FieldGroupSchema, FieldPropertySectionSchema, ObjectDesignerConfigSchema, ObjectDesignerDefaultViewSchema, ObjectFilterSchema, ObjectListDisplayModeSchema, ObjectManagerConfigSchema, ObjectPreviewConfigSchema, ObjectPreviewTabSchema, ObjectSortFieldSchema, RelationshipDisplaySchema, RelationshipMapperConfigSchema } from '@objectstack/spec/studio'; import type { ERDiagramConfig, ERLayoutAlgorithm, ERNodeDisplay, FieldEditorConfig, FieldGroup, FieldPropertySection, ObjectDesignerConfig, ObjectDesignerDefaultView, ObjectFilter, ObjectListDisplayMode, ObjectManagerConfig, ObjectPreviewConfig, ObjectPreviewTab, ObjectSortField, RelationshipDisplay, RelationshipMapperConfig } from '@objectstack/spec/studio'; // Validate data -const result = ERDiagramConfig.parse(data); +const result = ERDiagramConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/studio/plugin.mdx b/content/docs/references/studio/plugin.mdx index 1b58a79581..6895103596 100644 --- a/content/docs/references/studio/plugin.mdx +++ b/content/docs/references/studio/plugin.mdx @@ -100,11 +100,11 @@ modes: ['preview', 'design', 'data'], ## TypeScript Usage ```typescript -import { ActionContribution, ActivationEvent, CommandContribution, MetadataIconContribution, MetadataViewerContribution, PanelContribution, PanelLocation, SidebarGroupContribution, StudioPluginContributions, StudioPluginManifest, ViewMode } from '@objectstack/spec/studio'; -import type { ActionContribution, ActivationEvent, CommandContribution, MetadataIconContribution, MetadataViewerContribution, PanelContribution, PanelLocation, SidebarGroupContribution, StudioPluginContributions, StudioPluginManifest, ViewMode } from '@objectstack/spec/studio'; +import { ActionContributionSchema, ActivationEventSchema, CommandContributionSchema, MetadataIconContributionSchema, MetadataViewerContributionSchema, PanelContributionSchema, PanelLocationSchema, SidebarGroupContributionSchema, StudioPluginContributionsSchema, StudioPluginManifestSchema, ViewModeSchema } from '@objectstack/spec/studio'; +import type { ActionContribution, CommandContribution, MetadataIconContribution, MetadataViewerContribution, PanelContribution, SidebarGroupContribution, StudioPluginContributions, StudioPluginManifest, ViewMode } from '@objectstack/spec/studio'; // Validate data -const result = ActionContribution.parse(data); +const result = ActionContributionSchema.parse(data); ``` --- diff --git a/content/docs/references/system/app-install.mdx b/content/docs/references/system/app-install.mdx index 00ff169bc9..012dc01d01 100644 --- a/content/docs/references/system/app-install.mdx +++ b/content/docs/references/system/app-install.mdx @@ -32,11 +32,11 @@ Install pipeline: ## TypeScript Usage ```typescript -import { AppCompatibilityCheck, AppInstallRequest, AppInstallResult, AppManifest } from '@objectstack/spec/system'; +import { AppCompatibilityCheckSchema, AppInstallRequestSchema, AppInstallResultSchema, AppManifestSchema } from '@objectstack/spec/system'; import type { AppCompatibilityCheck, AppInstallRequest, AppInstallResult, AppManifest } from '@objectstack/spec/system'; // Validate data -const result = AppCompatibilityCheck.parse(data); +const result = AppCompatibilityCheckSchema.parse(data); ``` --- diff --git a/content/docs/references/system/auth-config.mdx b/content/docs/references/system/auth-config.mdx index 14c579ffa2..efb1370632 100644 --- a/content/docs/references/system/auth-config.mdx +++ b/content/docs/references/system/auth-config.mdx @@ -18,11 +18,11 @@ Used in server-side configuration injection. ## TypeScript Usage ```typescript -import { AdvancedAuthConfig, AuthConfig, AuthPluginConfig, AuthProviderConfig, EmailAndPasswordConfig, EmailVerificationConfig, MutualTLSConfig, OidcProviderConfig, OidcProvidersConfig, SocialProviderConfig } from '@objectstack/spec/system'; +import { AdvancedAuthConfigSchema, AuthConfigSchema, AuthPluginConfigSchema, AuthProviderConfigSchema, EmailAndPasswordConfigSchema, EmailVerificationConfigSchema, MutualTLSConfigSchema, OidcProviderConfigSchema, OidcProvidersConfigSchema, SocialProviderConfigSchema } from '@objectstack/spec/system'; import type { AdvancedAuthConfig, AuthConfig, AuthPluginConfig, AuthProviderConfig, EmailAndPasswordConfig, EmailVerificationConfig, MutualTLSConfig, OidcProviderConfig, OidcProvidersConfig, SocialProviderConfig } from '@objectstack/spec/system'; // Validate data -const result = AdvancedAuthConfig.parse(data); +const result = AdvancedAuthConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/book.mdx b/content/docs/references/system/book.mdx index ead4e38dc1..36b80ff021 100644 --- a/content/docs/references/system/book.mdx +++ b/content/docs/references/system/book.mdx @@ -42,11 +42,11 @@ only per-doc storage is the scalar `doc.order`, which merges cleanly. ## TypeScript Usage ```typescript -import { Book, BookAudience, BookGroup, BookInclude, BookNode } from '@objectstack/spec/system'; +import { BookSchema, BookAudienceSchema, BookGroupSchema, BookIncludeSchema, BookNodeSchema } from '@objectstack/spec/system'; import type { Book, BookAudience, BookGroup, BookInclude, BookNode } from '@objectstack/spec/system'; // Validate data -const result = Book.parse(data); +const result = BookSchema.parse(data); ``` --- diff --git a/content/docs/references/system/cache.mdx b/content/docs/references/system/cache.mdx index 5d78cff063..e876b57daa 100644 --- a/content/docs/references/system/cache.mdx +++ b/content/docs/references/system/cache.mdx @@ -46,11 +46,11 @@ See also: ../../[api/http-cache.zod.ts](/docs/references/api/http-cache) for HTT ## TypeScript Usage ```typescript -import { CacheAvalanchePrevention, CacheConfig, CacheConsistency, CacheInvalidation, CacheStrategy, CacheTier, CacheWarmup, DistributedCacheConfig } from '@objectstack/spec/system'; +import { CacheAvalanchePreventionSchema, CacheConfigSchema, CacheConsistencySchema, CacheInvalidationSchema, CacheStrategySchema, CacheTierSchema, CacheWarmupSchema, DistributedCacheConfigSchema } from '@objectstack/spec/system'; import type { CacheAvalanchePrevention, CacheConfig, CacheConsistency, CacheInvalidation, CacheStrategy, CacheTier, CacheWarmup, DistributedCacheConfig } from '@objectstack/spec/system'; // Validate data -const result = CacheAvalanchePrevention.parse(data); +const result = CacheAvalanchePreventionSchema.parse(data); ``` --- diff --git a/content/docs/references/system/change-management.mdx b/content/docs/references/system/change-management.mdx index 09888f4819..297e0e0f33 100644 --- a/content/docs/references/system/change-management.mdx +++ b/content/docs/references/system/change-management.mdx @@ -18,11 +18,11 @@ Follows ITIL change management best practices. ## TypeScript Usage ```typescript -import { ChangeImpact, ChangePriority, ChangeRequest, ChangeStatus, ChangeType, RollbackPlan } from '@objectstack/spec/system'; +import { ChangeImpactSchema, ChangePrioritySchema, ChangeRequestSchema, ChangeStatusSchema, ChangeTypeSchema, RollbackPlanSchema } from '@objectstack/spec/system'; import type { ChangeImpact, ChangePriority, ChangeRequest, ChangeStatus, ChangeType, RollbackPlan } from '@objectstack/spec/system'; // Validate data -const result = ChangeImpact.parse(data); +const result = ChangeImpactSchema.parse(data); ``` --- diff --git a/content/docs/references/system/collaboration.mdx b/content/docs/references/system/collaboration.mdx index 0029d8b17a..d8e3eb0f4f 100644 --- a/content/docs/references/system/collaboration.mdx +++ b/content/docs/references/system/collaboration.mdx @@ -22,11 +22,11 @@ Industry alignment: Google Docs, Figma, VSCode Live Share, Yjs ## TypeScript Usage ```typescript -import { AwarenessEvent, AwarenessSession, AwarenessUpdate, AwarenessUserState, CRDTMergeResult, CRDTState, CRDTType, CollaborationMode, CollaborationSession, CollaborationSessionConfig, CollaborativeCursor, CounterOperation, CursorColorPreset, CursorSelection, CursorStyle, CursorUpdate, GCounter, LWWRegister, ORSet, ORSetElement, OTComponent, OTOperation, OTOperationType, OTTransformResult, PNCounter, TextCRDTOperation, TextCRDTState, UserActivityStatus, VectorClock } from '@objectstack/spec/system'; +import { AwarenessEventSchema, AwarenessSessionSchema, AwarenessUpdateSchema, AwarenessUserStateSchema, CRDTMergeResultSchema, CRDTStateSchema, CRDTType, CollaborationMode, CollaborationSessionSchema, CollaborationSessionConfigSchema, CollaborativeCursorSchema, CounterOperationSchema, CursorColorPreset, CursorSelectionSchema, CursorStyleSchema, CursorUpdateSchema, GCounterSchema, LWWRegisterSchema, ORSetSchema, ORSetElementSchema, OTComponentSchema, OTOperationSchema, OTOperationType, OTTransformResultSchema, PNCounterSchema, TextCRDTOperationSchema, TextCRDTStateSchema, UserActivityStatus, VectorClockSchema } from '@objectstack/spec/system'; import type { AwarenessEvent, AwarenessSession, AwarenessUpdate, AwarenessUserState, CRDTMergeResult, CRDTState, CRDTType, CollaborationMode, CollaborationSession, CollaborationSessionConfig, CollaborativeCursor, CounterOperation, CursorColorPreset, CursorSelection, CursorStyle, CursorUpdate, GCounter, LWWRegister, ORSet, ORSetElement, OTComponent, OTOperation, OTOperationType, OTTransformResult, PNCounter, TextCRDTOperation, TextCRDTState, UserActivityStatus, VectorClock } from '@objectstack/spec/system'; // Validate data -const result = AwarenessEvent.parse(data); +const result = AwarenessEventSchema.parse(data); ``` --- diff --git a/content/docs/references/system/core-services.mdx b/content/docs/references/system/core-services.mdx index fd17fb5884..005a38c0dd 100644 --- a/content/docs/references/system/core-services.mdx +++ b/content/docs/references/system/core-services.mdx @@ -24,8 +24,8 @@ This registry is used by the `ObjectKernel` and `HttpDispatcher` to: ## TypeScript Usage ```typescript -import { CoreServiceName, KernelServiceMap, ServiceConfig, ServiceCriticality, ServiceStatus } from '@objectstack/spec/system'; -import type { CoreServiceName, KernelServiceMap, ServiceConfig, ServiceCriticality, ServiceStatus } from '@objectstack/spec/system'; +import { CoreServiceName, KernelServiceMapSchema, ServiceConfigSchema, ServiceCriticalitySchema, ServiceStatusSchema } from '@objectstack/spec/system'; +import type { CoreServiceName } from '@objectstack/spec/system'; // Validate data const result = CoreServiceName.parse(data); diff --git a/content/docs/references/system/deploy-bundle.mdx b/content/docs/references/system/deploy-bundle.mdx index 6dd3c6ec5c..c8ce1c0df6 100644 --- a/content/docs/references/system/deploy-bundle.mdx +++ b/content/docs/references/system/deploy-bundle.mdx @@ -28,11 +28,11 @@ Target: 2-5 second deploys vs. 2-15 minute traditional Docker/CI/CD. ## TypeScript Usage ```typescript -import { ChangeSchema, DeployBundle, DeployDiff, DeployManifest, DeployStatusEnum, DeployValidationIssue, DeployValidationResult, MigrationPlan, MigrationStatement } from '@objectstack/spec/system'; -import type { Change, DeployBundle, DeployDiff, DeployManifest, DeployStatusEnum, DeployValidationIssue, DeployValidationResult, MigrationPlan, MigrationStatement } from '@objectstack/spec/system'; +import { DeployBundleSchema, DeployDiffSchema, DeployManifestSchema, DeployStatusEnum, DeployValidationIssueSchema, DeployValidationResultSchema, MigrationPlanSchema, MigrationStatementSchema } from '@objectstack/spec/system'; +import type { DeployBundle, DeployDiff, DeployManifest, DeployValidationIssue, DeployValidationResult, MigrationPlan, MigrationStatement } from '@objectstack/spec/system'; // Validate data -const result = ChangeSchema.parse(data); +const result = DeployBundleSchema.parse(data); ``` --- diff --git a/content/docs/references/system/disaster-recovery.mdx b/content/docs/references/system/disaster-recovery.mdx index b98a35c7c3..6761f46b5a 100644 --- a/content/docs/references/system/disaster-recovery.mdx +++ b/content/docs/references/system/disaster-recovery.mdx @@ -40,11 +40,11 @@ encryption: \{ enabled: true, algorithm: 'AES-256-GCM' \}, ## TypeScript Usage ```typescript -import { BackupConfig, BackupRetention, BackupStrategy, DisasterRecoveryPlan, FailoverConfig, FailoverMode, RPO, RTO } from '@objectstack/spec/system'; +import { BackupConfigSchema, BackupRetentionSchema, BackupStrategySchema, DisasterRecoveryPlanSchema, FailoverConfigSchema, FailoverModeSchema, RPOSchema, RTOSchema } from '@objectstack/spec/system'; import type { BackupConfig, BackupRetention, BackupStrategy, DisasterRecoveryPlan, FailoverConfig, FailoverMode, RPO, RTO } from '@objectstack/spec/system'; // Validate data -const result = BackupConfig.parse(data); +const result = BackupConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/doc.mdx b/content/docs/references/system/doc.mdx index 64097347a2..be3a3df033 100644 --- a/content/docs/references/system/doc.mdx +++ b/content/docs/references/system/doc.mdx @@ -46,11 +46,11 @@ by stripping `./` and `.md` to obtain the target doc name. ## TypeScript Usage ```typescript -import { Doc } from '@objectstack/spec/system'; +import { DocSchema } from '@objectstack/spec/system'; import type { Doc } from '@objectstack/spec/system'; // Validate data -const result = Doc.parse(data); +const result = DocSchema.parse(data); ``` --- diff --git a/content/docs/references/system/email-config.mdx b/content/docs/references/system/email-config.mdx index 4753c28db9..27738bbc35 100644 --- a/content/docs/references/system/email-config.mdx +++ b/content/docs/references/system/email-config.mdx @@ -30,11 +30,11 @@ Resolution order in `serve.ts`: ## TypeScript Usage ```typescript -import { EmailAddressConfig, EmailProvider, EmailServiceConfig } from '@objectstack/spec/system'; +import { EmailAddressConfigSchema, EmailProviderSchema, EmailServiceConfigSchema } from '@objectstack/spec/system'; import type { EmailAddressConfig, EmailProvider, EmailServiceConfig } from '@objectstack/spec/system'; // Validate data -const result = EmailAddressConfig.parse(data); +const result = EmailAddressConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/email-template.mdx b/content/docs/references/system/email-template.mdx index f8e73b7eb3..4d51837059 100644 --- a/content/docs/references/system/email-template.mdx +++ b/content/docs/references/system/email-template.mdx @@ -34,11 +34,11 @@ resolved by `(name, locale)`; subject/body strings carry simple ## TypeScript Usage ```typescript -import { EmailTemplateDefinition, EmailTemplateDefinitionCategory, EmailTemplateDefinitionVariable } from '@objectstack/spec/system'; +import { EmailTemplateDefinitionSchema, EmailTemplateDefinitionCategorySchema, EmailTemplateDefinitionVariableSchema } from '@objectstack/spec/system'; import type { EmailTemplateDefinition, EmailTemplateDefinitionCategory, EmailTemplateDefinitionVariable } from '@objectstack/spec/system'; // Validate data -const result = EmailTemplateDefinition.parse(data); +const result = EmailTemplateDefinitionSchema.parse(data); ``` --- diff --git a/content/docs/references/system/encryption.mdx b/content/docs/references/system/encryption.mdx index 8a690ad213..b44540427a 100644 --- a/content/docs/references/system/encryption.mdx +++ b/content/docs/references/system/encryption.mdx @@ -16,11 +16,11 @@ GDPR/HIPAA/PCI-DSS compliant ## TypeScript Usage ```typescript -import { EncryptionAlgorithm, EncryptionConfig, FieldEncryption, KeyManagementProvider, KeyRotationPolicy } from '@objectstack/spec/system'; +import { EncryptionAlgorithmSchema, EncryptionConfigSchema, FieldEncryptionSchema, KeyManagementProviderSchema, KeyRotationPolicySchema } from '@objectstack/spec/system'; import type { EncryptionAlgorithm, EncryptionConfig, FieldEncryption, KeyManagementProvider, KeyRotationPolicy } from '@objectstack/spec/system'; // Validate data -const result = EncryptionAlgorithm.parse(data); +const result = EncryptionAlgorithmSchema.parse(data); ``` --- diff --git a/content/docs/references/system/environment-artifact.mdx b/content/docs/references/system/environment-artifact.mdx index b9a6227920..c93a17e18e 100644 --- a/content/docs/references/system/environment-artifact.mdx +++ b/content/docs/references/system/environment-artifact.mdx @@ -48,11 +48,11 @@ a breaking schema bump. ## TypeScript Usage ```typescript -import { EnvironmentArtifact, EnvironmentArtifactChecksum, EnvironmentArtifactFunction, EnvironmentArtifactFunctionLanguageEnum, EnvironmentArtifactHashAlgorithmEnum, EnvironmentArtifactManifest, EnvironmentArtifactMetadata, EnvironmentArtifactPayloadRef, EnvironmentArtifactRequirement } from '@objectstack/spec/system'; -import type { EnvironmentArtifact, EnvironmentArtifactChecksum, EnvironmentArtifactFunction, EnvironmentArtifactFunctionLanguageEnum, EnvironmentArtifactHashAlgorithmEnum, EnvironmentArtifactManifest, EnvironmentArtifactMetadata, EnvironmentArtifactPayloadRef, EnvironmentArtifactRequirement } from '@objectstack/spec/system'; +import { EnvironmentArtifactSchema, EnvironmentArtifactChecksumSchema, EnvironmentArtifactFunctionSchema, EnvironmentArtifactFunctionLanguageEnum, EnvironmentArtifactHashAlgorithmEnum, EnvironmentArtifactManifestSchema, EnvironmentArtifactMetadataSchema, EnvironmentArtifactPayloadRefSchema, EnvironmentArtifactRequirementSchema } from '@objectstack/spec/system'; +import type { EnvironmentArtifact, EnvironmentArtifactChecksum, EnvironmentArtifactFunction, EnvironmentArtifactManifest, EnvironmentArtifactMetadata, EnvironmentArtifactPayloadRef, EnvironmentArtifactRequirement } from '@objectstack/spec/system'; // Validate data -const result = EnvironmentArtifact.parse(data); +const result = EnvironmentArtifactSchema.parse(data); ``` --- diff --git a/content/docs/references/system/http-server.mdx b/content/docs/references/system/http-server.mdx index 85bbcf67ba..49616bb6c2 100644 --- a/content/docs/references/system/http-server.mdx +++ b/content/docs/references/system/http-server.mdx @@ -26,11 +26,11 @@ Architecture alignment: ## TypeScript Usage ```typescript -import { HttpServerConfig, MiddlewareConfig, MiddlewareType, RouteHandlerMetadata, ServerCapabilities, ServerEvent, ServerEventType, ServerStatus } from '@objectstack/spec/system'; +import { HttpServerConfigSchema, MiddlewareConfigSchema, MiddlewareType, RouteHandlerMetadataSchema, ServerCapabilitiesSchema, ServerEventSchema, ServerEventType, ServerStatusSchema } from '@objectstack/spec/system'; import type { HttpServerConfig, MiddlewareConfig, MiddlewareType, RouteHandlerMetadata, ServerCapabilities, ServerEvent, ServerEventType, ServerStatus } from '@objectstack/spec/system'; // Validate data -const result = HttpServerConfig.parse(data); +const result = HttpServerConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/incident-response.mdx b/content/docs/references/system/incident-response.mdx index 9fdd2a973b..7acef04b21 100644 --- a/content/docs/references/system/incident-response.mdx +++ b/content/docs/references/system/incident-response.mdx @@ -24,11 +24,11 @@ See also: https://www.iso.org/standard/27001 ## TypeScript Usage ```typescript -import { Incident, IncidentCategory, IncidentNotificationMatrix, IncidentNotificationRule, IncidentResponsePhase, IncidentResponsePolicy, IncidentSeverity, IncidentStatus } from '@objectstack/spec/system'; +import { IncidentSchema, IncidentCategorySchema, IncidentNotificationMatrixSchema, IncidentNotificationRuleSchema, IncidentResponsePhaseSchema, IncidentResponsePolicySchema, IncidentSeveritySchema, IncidentStatusSchema } from '@objectstack/spec/system'; import type { Incident, IncidentCategory, IncidentNotificationMatrix, IncidentNotificationRule, IncidentResponsePhase, IncidentResponsePolicy, IncidentSeverity, IncidentStatus } from '@objectstack/spec/system'; // Validate data -const result = Incident.parse(data); +const result = IncidentSchema.parse(data); ``` --- diff --git a/content/docs/references/system/job.mdx b/content/docs/references/system/job.mdx index 4eff66e034..54d159f9d2 100644 --- a/content/docs/references/system/job.mdx +++ b/content/docs/references/system/job.mdx @@ -16,11 +16,11 @@ Schedule jobs using cron expressions ## TypeScript Usage ```typescript -import { CronSchedule, IntervalSchedule, Job, JobExecution, JobExecutionStatus, OnceSchedule, RetryPolicy, Schedule } from '@objectstack/spec/system'; +import { CronScheduleSchema, IntervalScheduleSchema, JobSchema, JobExecutionSchema, JobExecutionStatus, OnceScheduleSchema, RetryPolicySchema, ScheduleSchema } from '@objectstack/spec/system'; import type { CronSchedule, IntervalSchedule, Job, JobExecution, JobExecutionStatus, OnceSchedule, RetryPolicy, Schedule } from '@objectstack/spec/system'; // Validate data -const result = CronSchedule.parse(data); +const result = CronScheduleSchema.parse(data); ``` --- diff --git a/content/docs/references/system/license.mdx b/content/docs/references/system/license.mdx index 2ce838f6f0..84a1d8f55e 100644 --- a/content/docs/references/system/license.mdx +++ b/content/docs/references/system/license.mdx @@ -14,11 +14,11 @@ Metric Type Classification ## TypeScript Usage ```typescript -import { Feature, License, LicenseMetricType, Plan } from '@objectstack/spec/system'; +import { FeatureSchema, LicenseSchema, LicenseMetricType, PlanSchema } from '@objectstack/spec/system'; import type { Feature, License, LicenseMetricType, Plan } from '@objectstack/spec/system'; // Validate data -const result = Feature.parse(data); +const result = FeatureSchema.parse(data); ``` --- diff --git a/content/docs/references/system/logging.mdx b/content/docs/references/system/logging.mdx index 7b77b6ef59..2aeb3ecd43 100644 --- a/content/docs/references/system/logging.mdx +++ b/content/docs/references/system/logging.mdx @@ -28,11 +28,11 @@ Unified logging protocol that combines: ## TypeScript Usage ```typescript -import { ConsoleDestinationConfig, ExtendedLogLevel, ExternalServiceDestinationConfig, FileDestinationConfig, HttpDestinationConfig, LogDestination, LogDestinationType, LogEnrichmentConfig, LogEntry, LogFormat, LogLevel, LoggerConfig, LoggingConfig, StructuredLogEntry } from '@objectstack/spec/system'; +import { ConsoleDestinationConfigSchema, ExtendedLogLevel, ExternalServiceDestinationConfigSchema, FileDestinationConfigSchema, HttpDestinationConfigSchema, LogDestinationSchema, LogDestinationType, LogEnrichmentConfigSchema, LogEntrySchema, LogFormat, LogLevel, LoggerConfigSchema, LoggingConfigSchema, StructuredLogEntrySchema } from '@objectstack/spec/system'; import type { ConsoleDestinationConfig, ExtendedLogLevel, ExternalServiceDestinationConfig, FileDestinationConfig, HttpDestinationConfig, LogDestination, LogDestinationType, LogEnrichmentConfig, LogEntry, LogFormat, LogLevel, LoggerConfig, LoggingConfig, StructuredLogEntry } from '@objectstack/spec/system'; // Validate data -const result = ConsoleDestinationConfig.parse(data); +const result = ConsoleDestinationConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/message-queue.mdx b/content/docs/references/system/message-queue.mdx index 42455533c9..7af9060a4f 100644 --- a/content/docs/references/system/message-queue.mdx +++ b/content/docs/references/system/message-queue.mdx @@ -16,11 +16,11 @@ Supports Kafka, RabbitMQ, AWS SQS, Redis Pub/Sub ## TypeScript Usage ```typescript -import { ConsumerConfig, DeadLetterQueue, MessageQueueConfig, MessageQueueProvider, TopicConfig } from '@objectstack/spec/system'; +import { ConsumerConfigSchema, DeadLetterQueueSchema, MessageQueueConfigSchema, MessageQueueProviderSchema, TopicConfigSchema } from '@objectstack/spec/system'; import type { ConsumerConfig, DeadLetterQueue, MessageQueueConfig, MessageQueueProvider, TopicConfig } from '@objectstack/spec/system'; // Validate data -const result = ConsumerConfig.parse(data); +const result = ConsumerConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/metadata-loader.mdx b/content/docs/references/system/metadata-loader.mdx index e6c4f90e37..58f3acf653 100644 --- a/content/docs/references/system/metadata-loader.mdx +++ b/content/docs/references/system/metadata-loader.mdx @@ -8,11 +8,11 @@ description: Metadata Loader protocol schemas ## TypeScript Usage ```typescript -import { MetadataFallbackStrategy, MetadataManagerConfig } from '@objectstack/spec/system'; +import { MetadataFallbackStrategySchema, MetadataManagerConfigSchema } from '@objectstack/spec/system'; import type { MetadataFallbackStrategy, MetadataManagerConfig } from '@objectstack/spec/system'; // Validate data -const result = MetadataFallbackStrategy.parse(data); +const result = MetadataFallbackStrategySchema.parse(data); ``` --- diff --git a/content/docs/references/system/metadata-persistence.mdx b/content/docs/references/system/metadata-persistence.mdx index 758c99d7b7..bf6e5af53a 100644 --- a/content/docs/references/system/metadata-persistence.mdx +++ b/content/docs/references/system/metadata-persistence.mdx @@ -16,11 +16,11 @@ Defines the lifecycle and mutability of a metadata item. ## TypeScript Usage ```typescript -import { MetadataCollectionInfo, MetadataDiffResult, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataRecord, MetadataSaveOptions, MetadataSaveResult, MetadataScope, MetadataSource, MetadataState, MetadataStats, MetadataWatchEvent, PackagePublishResult } from '@objectstack/spec/system'; -import type { MetadataCollectionInfo, MetadataDiffResult, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataRecord, MetadataSaveOptions, MetadataSaveResult, MetadataScope, MetadataSource, MetadataState, MetadataStats, MetadataWatchEvent, PackagePublishResult } from '@objectstack/spec/system'; +import { MetadataCollectionInfoSchema, MetadataDiffResultSchema, MetadataHistoryQueryOptionsSchema, MetadataHistoryQueryResultSchema, MetadataHistoryRecordSchema, MetadataHistoryRetentionPolicySchema, MetadataLoadOptionsSchema, MetadataLoadResultSchema, MetadataLoaderContractSchema, MetadataRecordSchema, MetadataSaveOptionsSchema, MetadataSaveResultSchema, MetadataScopeSchema, MetadataSourceSchema, MetadataStateSchema, MetadataStatsSchema, MetadataWatchEventSchema, PackagePublishResultSchema } from '@objectstack/spec/system'; +import type { MetadataCollectionInfo, MetadataDiffResult, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataRecord, MetadataSaveOptions, MetadataSaveResult, MetadataScope, MetadataSource, MetadataStats, MetadataWatchEvent, PackagePublishResult } from '@objectstack/spec/system'; // Validate data -const result = MetadataCollectionInfo.parse(data); +const result = MetadataCollectionInfoSchema.parse(data); ``` --- diff --git a/content/docs/references/system/metadata-types.mdx b/content/docs/references/system/metadata-types.mdx index d6728eec77..6a60ce92ee 100644 --- a/content/docs/references/system/metadata-types.mdx +++ b/content/docs/references/system/metadata-types.mdx @@ -8,11 +8,11 @@ description: Metadata Types protocol schemas ## TypeScript Usage ```typescript -import { MetadataFormat } from '@objectstack/spec/system'; +import { MetadataFormatSchema } from '@objectstack/spec/system'; import type { MetadataFormat } from '@objectstack/spec/system'; // Validate data -const result = MetadataFormat.parse(data); +const result = MetadataFormatSchema.parse(data); ``` --- diff --git a/content/docs/references/system/metrics.mdx b/content/docs/references/system/metrics.mdx index 16e1a3e6ea..cf7503bb03 100644 --- a/content/docs/references/system/metrics.mdx +++ b/content/docs/references/system/metrics.mdx @@ -26,11 +26,11 @@ Comprehensive metrics collection and monitoring: ## TypeScript Usage ```typescript -import { HistogramBucketConfig, MetricAggregationConfig, MetricAggregationType, MetricDataPoint, MetricDefinition, MetricExportConfig, MetricLabels, MetricType, MetricUnit, MetricsConfig, ServiceLevelIndicator, ServiceLevelObjective, TimeSeries, TimeSeriesDataPoint } from '@objectstack/spec/system'; +import { HistogramBucketConfigSchema, MetricAggregationConfigSchema, MetricAggregationType, MetricDataPointSchema, MetricDefinitionSchema, MetricExportConfigSchema, MetricLabelsSchema, MetricType, MetricUnit, MetricsConfigSchema, ServiceLevelIndicatorSchema, ServiceLevelObjectiveSchema, TimeSeriesSchema, TimeSeriesDataPointSchema } from '@objectstack/spec/system'; import type { HistogramBucketConfig, MetricAggregationConfig, MetricAggregationType, MetricDataPoint, MetricDefinition, MetricExportConfig, MetricLabels, MetricType, MetricUnit, MetricsConfig, ServiceLevelIndicator, ServiceLevelObjective, TimeSeries, TimeSeriesDataPoint } from '@objectstack/spec/system'; // Validate data -const result = HistogramBucketConfig.parse(data); +const result = HistogramBucketConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/migration.mdx b/content/docs/references/system/migration.mdx index 62c994e656..f5639d2a7f 100644 --- a/content/docs/references/system/migration.mdx +++ b/content/docs/references/system/migration.mdx @@ -34,8 +34,8 @@ irreversibly on migrated data gate on the flag instead of the version. ## TypeScript Usage ```typescript -import { AddFieldOperation, ChangeSet, CreateObjectOperation, DataMigrationFlag, DeleteObjectOperation, ExecuteSqlOperation, MigrationDependency, MigrationOperation, ModifyFieldOperation, RemoveFieldOperation, RenameObjectOperation } from '@objectstack/spec/system'; -import type { AddFieldOperation, ChangeSet, CreateObjectOperation, DataMigrationFlag, DeleteObjectOperation, ExecuteSqlOperation, MigrationDependency, MigrationOperation, ModifyFieldOperation, RemoveFieldOperation, RenameObjectOperation } from '@objectstack/spec/system'; +import { AddFieldOperation, ChangeSetSchema, CreateObjectOperation, DataMigrationFlagSchema, DeleteObjectOperation, ExecuteSqlOperation, MigrationDependencySchema, MigrationOperationSchema, ModifyFieldOperation, RemoveFieldOperation, RenameObjectOperation } from '@objectstack/spec/system'; +import type { ChangeSet, DataMigrationFlag, MigrationOperation } from '@objectstack/spec/system'; // Validate data const result = AddFieldOperation.parse(data); diff --git a/content/docs/references/system/notification.mdx b/content/docs/references/system/notification.mdx index d2dd05fa9e..0c378c81e5 100644 --- a/content/docs/references/system/notification.mdx +++ b/content/docs/references/system/notification.mdx @@ -50,11 +50,11 @@ Supports variables for personalization and file attachments. ## TypeScript Usage ```typescript -import { EmailTemplate, InAppNotification, NotificationChannel, NotificationConfig, PushNotification, SMSTemplate } from '@objectstack/spec/system'; +import { EmailTemplateSchema, InAppNotificationSchema, NotificationChannelSchema, NotificationConfigSchema, PushNotificationSchema, SMSTemplateSchema } from '@objectstack/spec/system'; import type { EmailTemplate, InAppNotification, NotificationChannel, NotificationConfig, PushNotification, SMSTemplate } from '@objectstack/spec/system'; // Validate data -const result = EmailTemplate.parse(data); +const result = EmailTemplateSchema.parse(data); ``` --- diff --git a/content/docs/references/system/object-storage.mdx b/content/docs/references/system/object-storage.mdx index 2722573d24..0f56ed37f6 100644 --- a/content/docs/references/system/object-storage.mdx +++ b/content/docs/references/system/object-storage.mdx @@ -32,11 +32,11 @@ Unified storage protocol that combines: ## TypeScript Usage ```typescript -import { AccessControlConfig, BucketConfig, FileMetadata, LifecycleAction, LifecyclePolicyConfig, LifecyclePolicyRule, MultipartUploadConfig, ObjectMetadata, ObjectStorageConfig, PresignedUrlConfig, StorageAcl, StorageClass, StorageConnection, StorageProvider, StorageScope } from '@objectstack/spec/system'; +import { AccessControlConfigSchema, BucketConfigSchema, FileMetadataSchema, LifecycleActionSchema, LifecyclePolicyConfigSchema, LifecyclePolicyRuleSchema, MultipartUploadConfigSchema, ObjectMetadataSchema, ObjectStorageConfigSchema, PresignedUrlConfigSchema, StorageAclSchema, StorageClassSchema, StorageConnectionSchema, StorageProviderSchema, StorageScopeSchema } from '@objectstack/spec/system'; import type { AccessControlConfig, BucketConfig, FileMetadata, LifecycleAction, LifecyclePolicyConfig, LifecyclePolicyRule, MultipartUploadConfig, ObjectMetadata, ObjectStorageConfig, PresignedUrlConfig, StorageAcl, StorageClass, StorageConnection, StorageProvider, StorageScope } from '@objectstack/spec/system'; // Validate data -const result = AccessControlConfig.parse(data); +const result = AccessControlConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/provisioning.mdx b/content/docs/references/system/provisioning.mdx index b45dcceb3e..937d7a5a73 100644 --- a/content/docs/references/system/provisioning.mdx +++ b/content/docs/references/system/provisioning.mdx @@ -30,11 +30,11 @@ Provisioning is designed to be: ## TypeScript Usage ```typescript -import { ProvisioningStep, TenantPlan, TenantProvisioningRequest, TenantProvisioningResult, TenantProvisioningStatusEnum, TenantRegion } from '@objectstack/spec/system'; -import type { ProvisioningStep, TenantPlan, TenantProvisioningRequest, TenantProvisioningResult, TenantProvisioningStatusEnum, TenantRegion } from '@objectstack/spec/system'; +import { ProvisioningStepSchema, TenantPlanSchema, TenantProvisioningRequestSchema, TenantProvisioningResultSchema, TenantProvisioningStatusEnum, TenantRegionSchema } from '@objectstack/spec/system'; +import type { ProvisioningStep, TenantPlan, TenantProvisioningRequest, TenantProvisioningResult, TenantRegion } from '@objectstack/spec/system'; // Validate data -const result = ProvisioningStep.parse(data); +const result = ProvisioningStepSchema.parse(data); ``` --- diff --git a/content/docs/references/system/registry-config.mdx b/content/docs/references/system/registry-config.mdx index aad3c6eda7..8b66bacd3a 100644 --- a/content/docs/references/system/registry-config.mdx +++ b/content/docs/references/system/registry-config.mdx @@ -18,11 +18,11 @@ Includes federation, synchronization, and storage settings. ## TypeScript Usage ```typescript -import { RegistryConfig, RegistrySyncPolicy, RegistryUpstream } from '@objectstack/spec/system'; +import { RegistryConfigSchema, RegistrySyncPolicySchema, RegistryUpstreamSchema } from '@objectstack/spec/system'; import type { RegistryConfig, RegistrySyncPolicy, RegistryUpstream } from '@objectstack/spec/system'; // Validate data -const result = RegistryConfig.parse(data); +const result = RegistryConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/search-engine.mdx b/content/docs/references/system/search-engine.mdx index bb50c87e77..05d9b17d55 100644 --- a/content/docs/references/system/search-engine.mdx +++ b/content/docs/references/system/search-engine.mdx @@ -16,11 +16,11 @@ Supports Elasticsearch, Algolia, Meilisearch, Typesense ## TypeScript Usage ```typescript -import { AnalyzerConfig, FacetConfig, SearchConfig, SearchIndexConfig, SearchProvider } from '@objectstack/spec/system'; +import { AnalyzerConfigSchema, FacetConfigSchema, SearchConfigSchema, SearchIndexConfigSchema, SearchProviderSchema } from '@objectstack/spec/system'; import type { AnalyzerConfig, FacetConfig, SearchConfig, SearchIndexConfig, SearchProvider } from '@objectstack/spec/system'; // Validate data -const result = AnalyzerConfig.parse(data); +const result = AnalyzerConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/system/security-context.mdx b/content/docs/references/system/security-context.mdx index a071c6da0c..c68d888666 100644 --- a/content/docs/references/system/security-context.mdx +++ b/content/docs/references/system/security-context.mdx @@ -44,11 +44,11 @@ See also: https://www.iso.org/standard/27001 ## TypeScript Usage ```typescript -import { ComplianceAuditRequirement, ComplianceEncryptionRequirement, ComplianceFramework, DataClassification, DataClassificationPolicy, MaskingVisibilityRule, SecurityContextConfig, SecurityEventCorrelation } from '@objectstack/spec/system'; +import { ComplianceAuditRequirementSchema, ComplianceEncryptionRequirementSchema, ComplianceFrameworkSchema, DataClassificationSchema, DataClassificationPolicySchema, MaskingVisibilityRuleSchema, SecurityContextConfigSchema, SecurityEventCorrelationSchema } from '@objectstack/spec/system'; import type { ComplianceAuditRequirement, ComplianceEncryptionRequirement, ComplianceFramework, DataClassification, DataClassificationPolicy, MaskingVisibilityRule, SecurityContextConfig, SecurityEventCorrelation } from '@objectstack/spec/system'; // Validate data -const result = ComplianceAuditRequirement.parse(data); +const result = ComplianceAuditRequirementSchema.parse(data); ``` --- diff --git a/content/docs/references/system/settings-client.mdx b/content/docs/references/system/settings-client.mdx index 92b8f76609..85c7188622 100644 --- a/content/docs/references/system/settings-client.mdx +++ b/content/docs/references/system/settings-client.mdx @@ -62,11 +62,11 @@ graph and lets us mock the client trivially in tests. ## TypeScript Usage ```typescript -import { SettingsChangeEvent } from '@objectstack/spec/system'; +import { SettingsChangeEventSchema } from '@objectstack/spec/system'; import type { SettingsChangeEvent } from '@objectstack/spec/system'; // Validate data -const result = SettingsChangeEvent.parse(data); +const result = SettingsChangeEventSchema.parse(data); ``` --- diff --git a/content/docs/references/system/settings-manifest.mdx b/content/docs/references/system/settings-manifest.mdx index 52dcb3770c..61b47e5b0b 100644 --- a/content/docs/references/system/settings-manifest.mdx +++ b/content/docs/references/system/settings-manifest.mdx @@ -40,11 +40,11 @@ Resolution order (handled by `SettingsService.get`): ## TypeScript Usage ```typescript -import { ResolvedSettingValue, SettingsActionResult, SettingsManifest, SettingsNamespacePayload, Specifier, SpecifierHandler, SpecifierOption, SpecifierScope, SpecifierType } from '@objectstack/spec/system'; +import { ResolvedSettingValueSchema, SettingsActionResultSchema, SettingsManifestSchema, SettingsNamespacePayloadSchema, SpecifierSchema, SpecifierHandlerSchema, SpecifierOptionSchema, SpecifierScopeSchema, SpecifierType } from '@objectstack/spec/system'; import type { ResolvedSettingValue, SettingsActionResult, SettingsManifest, SettingsNamespacePayload, Specifier, SpecifierHandler, SpecifierOption, SpecifierScope, SpecifierType } from '@objectstack/spec/system'; // Validate data -const result = ResolvedSettingValue.parse(data); +const result = ResolvedSettingValueSchema.parse(data); ``` --- diff --git a/content/docs/references/system/supplier-security.mdx b/content/docs/references/system/supplier-security.mdx index 4f03c5e65c..65b45f1ab4 100644 --- a/content/docs/references/system/supplier-security.mdx +++ b/content/docs/references/system/supplier-security.mdx @@ -22,11 +22,11 @@ See also: https://www.iso.org/standard/27001 ## TypeScript Usage ```typescript -import { SupplierAssessmentStatus, SupplierRiskLevel, SupplierSecurityAssessment, SupplierSecurityPolicy, SupplierSecurityRequirement } from '@objectstack/spec/system'; +import { SupplierAssessmentStatusSchema, SupplierRiskLevelSchema, SupplierSecurityAssessmentSchema, SupplierSecurityPolicySchema, SupplierSecurityRequirementSchema } from '@objectstack/spec/system'; import type { SupplierAssessmentStatus, SupplierRiskLevel, SupplierSecurityAssessment, SupplierSecurityPolicy, SupplierSecurityRequirement } from '@objectstack/spec/system'; // Validate data -const result = SupplierAssessmentStatus.parse(data); +const result = SupplierAssessmentStatusSchema.parse(data); ``` --- diff --git a/content/docs/references/system/tenant.mdx b/content/docs/references/system/tenant.mdx index a6fa0c542a..f17f38c662 100644 --- a/content/docs/references/system/tenant.mdx +++ b/content/docs/references/system/tenant.mdx @@ -28,11 +28,11 @@ Isolation Levels: ## TypeScript Usage ```typescript -import { DatabaseLevelIsolationStrategy, DatabaseProvider, LevelIsolationStrategySchema, QuotaEnforcementResult, RowLevelIsolationStrategy, Tenant, TenantConnectionConfig, TenantIsolationConfig, TenantIsolationLevel, TenantQuota, TenantSecurityPolicy, TenantUsage } from '@objectstack/spec/system'; -import type { DatabaseLevelIsolationStrategy, DatabaseProvider, LevelIsolationStrategy, QuotaEnforcementResult, RowLevelIsolationStrategy, Tenant, TenantConnectionConfig, TenantIsolationConfig, TenantIsolationLevel, TenantQuota, TenantSecurityPolicy, TenantUsage } from '@objectstack/spec/system'; +import { DatabaseLevelIsolationStrategySchema, DatabaseProviderSchema, QuotaEnforcementResultSchema, RowLevelIsolationStrategySchema, TenantSchema, TenantConnectionConfigSchema, TenantIsolationConfigSchema, TenantIsolationLevel, TenantQuotaSchema, TenantSecurityPolicySchema, TenantUsageSchema } from '@objectstack/spec/system'; +import type { DatabaseLevelIsolationStrategy, DatabaseProvider, QuotaEnforcementResult, RowLevelIsolationStrategy, Tenant, TenantConnectionConfig, TenantIsolationConfig, TenantIsolationLevel, TenantQuota, TenantSecurityPolicy, TenantUsage } from '@objectstack/spec/system'; // Validate data -const result = DatabaseLevelIsolationStrategy.parse(data); +const result = DatabaseLevelIsolationStrategySchema.parse(data); ``` --- diff --git a/content/docs/references/system/tracing.mdx b/content/docs/references/system/tracing.mdx index 6c85787d02..ba4cd92ab6 100644 --- a/content/docs/references/system/tracing.mdx +++ b/content/docs/references/system/tracing.mdx @@ -26,11 +26,11 @@ Comprehensive distributed tracing based on OpenTelemetry standards: ## TypeScript Usage ```typescript -import { OpenTelemetryCompatibility, OtelExporterType, SamplingDecision, SamplingStrategyType, Span, SpanAttributeValue, SpanAttributes, SpanEvent, SpanKind, SpanLink, SpanStatus, TraceContext, TraceContextPropagation, TraceFlags, TracePropagationFormat, TraceSamplingConfig, TraceState, TracingConfig } from '@objectstack/spec/system'; +import { OpenTelemetryCompatibilitySchema, OtelExporterType, SamplingDecision, SamplingStrategyType, SpanSchema, SpanAttributeValueSchema, SpanAttributesSchema, SpanEventSchema, SpanKind, SpanLinkSchema, SpanStatus, TraceContextSchema, TraceContextPropagationSchema, TraceFlagsSchema, TracePropagationFormat, TraceSamplingConfigSchema, TraceStateSchema, TracingConfigSchema } from '@objectstack/spec/system'; import type { OpenTelemetryCompatibility, OtelExporterType, SamplingDecision, SamplingStrategyType, Span, SpanAttributeValue, SpanAttributes, SpanEvent, SpanKind, SpanLink, SpanStatus, TraceContext, TraceContextPropagation, TraceFlags, TracePropagationFormat, TraceSamplingConfig, TraceState, TracingConfig } from '@objectstack/spec/system'; // Validate data -const result = OpenTelemetryCompatibility.parse(data); +const result = OpenTelemetryCompatibilitySchema.parse(data); ``` --- diff --git a/content/docs/references/system/training.mdx b/content/docs/references/system/training.mdx index de6716658d..6c98565f00 100644 --- a/content/docs/references/system/training.mdx +++ b/content/docs/references/system/training.mdx @@ -22,11 +22,11 @@ See also: https://www.iso.org/standard/27001 ## TypeScript Usage ```typescript -import { TrainingCategory, TrainingCompletionStatus, TrainingCourse, TrainingPlan, TrainingRecord } from '@objectstack/spec/system'; +import { TrainingCategorySchema, TrainingCompletionStatusSchema, TrainingCourseSchema, TrainingPlanSchema, TrainingRecordSchema } from '@objectstack/spec/system'; import type { TrainingCategory, TrainingCompletionStatus, TrainingCourse, TrainingPlan, TrainingRecord } from '@objectstack/spec/system'; // Validate data -const result = TrainingCategory.parse(data); +const result = TrainingCategorySchema.parse(data); ``` --- diff --git a/content/docs/references/system/translation.mdx b/content/docs/references/system/translation.mdx index 5ee9046149..a74a9b0b89 100644 --- a/content/docs/references/system/translation.mdx +++ b/content/docs/references/system/translation.mdx @@ -26,11 +26,11 @@ the bug looks like missing coverage forever. ## TypeScript Usage ```typescript -import { ActionResultDialogTranslation, CoverageBreakdownEntry, FieldTranslation, Locale, ObjectTranslationData, TranslationBundle, TranslationConfig, TranslationCoverageResult, TranslationData, TranslationDiffItem, TranslationDiffStatus, TranslationItem } from '@objectstack/spec/system'; -import type { ActionResultDialogTranslation, CoverageBreakdownEntry, FieldTranslation, Locale, ObjectTranslationData, TranslationBundle, TranslationConfig, TranslationCoverageResult, TranslationData, TranslationDiffItem, TranslationDiffStatus, TranslationItem } from '@objectstack/spec/system'; +import { ActionResultDialogTranslationSchema, CoverageBreakdownEntrySchema, FieldTranslationSchema, LocaleSchema, ObjectTranslationDataSchema, TranslationBundleSchema, TranslationConfigSchema, TranslationCoverageResultSchema, TranslationDataSchema, TranslationDiffItemSchema, TranslationDiffStatusSchema, TranslationItemSchema } from '@objectstack/spec/system'; +import type { ActionResultDialogTranslation, CoverageBreakdownEntry, FieldTranslation, ObjectTranslationData, TranslationBundle, TranslationConfig, TranslationCoverageResult, TranslationData, TranslationDiffItem, TranslationDiffStatus, TranslationItem } from '@objectstack/spec/system'; // Validate data -const result = ActionResultDialogTranslation.parse(data); +const result = ActionResultDialogTranslationSchema.parse(data); ``` --- diff --git a/content/docs/references/system/worker.mdx b/content/docs/references/system/worker.mdx index fcc53643ca..e0a27182a8 100644 --- a/content/docs/references/system/worker.mdx +++ b/content/docs/references/system/worker.mdx @@ -58,11 +58,11 @@ priority: 5 ## TypeScript Usage ```typescript -import { BatchProgress, QueueConfig, Task, TaskExecutionResult, TaskPriority, TaskRetryPolicy, TaskStatus, WorkerStats } from '@objectstack/spec/system'; +import { BatchProgressSchema, QueueConfigSchema, TaskSchema, TaskExecutionResultSchema, TaskPriority, TaskRetryPolicySchema, TaskStatus, WorkerStatsSchema } from '@objectstack/spec/system'; import type { BatchProgress, QueueConfig, Task, TaskExecutionResult, TaskPriority, TaskRetryPolicy, TaskStatus, WorkerStats } from '@objectstack/spec/system'; // Validate data -const result = BatchProgress.parse(data); +const result = BatchProgressSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/action.mdx b/content/docs/references/ui/action.mdx index a03cf3e524..c2678257fb 100644 --- a/content/docs/references/ui/action.mdx +++ b/content/docs/references/ui/action.mdx @@ -62,11 +62,11 @@ to the field name and is used as the request-body key). ## TypeScript Usage ```typescript -import { Action, ActionAi, ActionLocation, ActionParam, ActionType, InlineAction } from '@objectstack/spec/ui'; -import type { Action, ActionAi, ActionLocation, ActionParam, ActionType, InlineAction } from '@objectstack/spec/ui'; +import { ActionSchema, ActionAiSchema, ActionLocationSchema, ActionParamSchema, ActionType, InlineActionSchema } from '@objectstack/spec/ui'; +import type { Action, ActionAi, ActionLocation, ActionParam, InlineAction } from '@objectstack/spec/ui'; // Validate data -const result = Action.parse(data); +const result = ActionSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/animation.mdx b/content/docs/references/ui/animation.mdx index 7567234107..37b5ac6e4d 100644 --- a/content/docs/references/ui/animation.mdx +++ b/content/docs/references/ui/animation.mdx @@ -16,11 +16,11 @@ Common animation transition presets. ## TypeScript Usage ```typescript -import { AnimationTrigger, ComponentAnimation, EasingFunction, MotionConfig, PageTransition, TransitionConfig, TransitionPreset } from '@objectstack/spec/ui'; +import { AnimationTriggerSchema, ComponentAnimationSchema, EasingFunctionSchema, MotionConfigSchema, PageTransitionSchema, TransitionConfigSchema, TransitionPresetSchema } from '@objectstack/spec/ui'; import type { AnimationTrigger, ComponentAnimation, EasingFunction, MotionConfig, PageTransition, TransitionConfig, TransitionPreset } from '@objectstack/spec/ui'; // Validate data -const result = AnimationTrigger.parse(data); +const result = AnimationTriggerSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/app.mdx b/content/docs/references/ui/app.mdx index ae3a64e05e..6c069797a0 100644 --- a/content/docs/references/ui/app.mdx +++ b/content/docs/references/ui/app.mdx @@ -34,11 +34,11 @@ Navigation item IDs are used in URLs and configuration and must be lowercase sna ## TypeScript Usage ```typescript -import { ActionNavItem, App, AppBranding, AppContextSelector, ComponentNavItem, DashboardNavItem, GroupNavItem, NavigationArea, NavigationContribution, NavigationItem, ObjectNavItem, PageNavItem, ReportNavItem, UrlNavItem } from '@objectstack/spec/ui'; +import { ActionNavItemSchema, AppSchema, AppBrandingSchema, AppContextSelectorSchema, ComponentNavItemSchema, DashboardNavItemSchema, GroupNavItemSchema, NavigationAreaSchema, NavigationContributionSchema, NavigationItemSchema, ObjectNavItemSchema, PageNavItemSchema, ReportNavItemSchema, UrlNavItemSchema } from '@objectstack/spec/ui'; import type { ActionNavItem, App, AppBranding, AppContextSelector, ComponentNavItem, DashboardNavItem, GroupNavItem, NavigationArea, NavigationContribution, NavigationItem, ObjectNavItem, PageNavItem, ReportNavItem, UrlNavItem } from '@objectstack/spec/ui'; // Validate data -const result = ActionNavItem.parse(data); +const result = ActionNavItemSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/bulk-action.mdx b/content/docs/references/ui/bulk-action.mdx index ac02268e99..4728d8e742 100644 --- a/content/docs/references/ui/bulk-action.mdx +++ b/content/docs/references/ui/bulk-action.mdx @@ -30,11 +30,11 @@ action's own label, params and `visible`. ## TypeScript Usage ```typescript -import { BulkActionDef, BulkActionExecution, BulkActionOperation, BulkActionParam } from '@objectstack/spec/ui'; +import { BulkActionDefSchema, BulkActionExecutionSchema, BulkActionOperationSchema, BulkActionParamSchema } from '@objectstack/spec/ui'; import type { BulkActionDef, BulkActionExecution, BulkActionOperation, BulkActionParam } from '@objectstack/spec/ui'; // Validate data -const result = BulkActionDef.parse(data); +const result = BulkActionDefSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/chart.mdx b/content/docs/references/ui/chart.mdx index c7da964bdc..6678a94c35 100644 --- a/content/docs/references/ui/chart.mdx +++ b/content/docs/references/ui/chart.mdx @@ -18,11 +18,11 @@ Provides a comprehensive set of chart types for data visualization. ## TypeScript Usage ```typescript -import { ChartAggregate, ChartAggregateFunction, ChartAnnotation, ChartAxis, ChartConfig, ChartGroupBy, ChartInteraction, ChartSeries, ChartType } from '@objectstack/spec/ui'; +import { ChartAggregateSchema, ChartAggregateFunctionSchema, ChartAnnotationSchema, ChartAxisSchema, ChartConfigSchema, ChartGroupBySchema, ChartInteractionSchema, ChartSeriesSchema, ChartTypeSchema } from '@objectstack/spec/ui'; import type { ChartAggregate, ChartAggregateFunction, ChartAnnotation, ChartAxis, ChartConfig, ChartGroupBy, ChartInteraction, ChartSeries, ChartType } from '@objectstack/spec/ui'; // Validate data -const result = ChartAggregate.parse(data); +const result = ChartAggregateSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/component.mdx b/content/docs/references/ui/component.mdx index 6cb57065c6..df837e7062 100644 --- a/content/docs/references/ui/component.mdx +++ b/content/docs/references/ui/component.mdx @@ -14,8 +14,7 @@ Empty Properties Schema ## TypeScript Usage ```typescript -import { AIChatWindowProps, ElementButtonProps, ElementFilterProps, ElementFormProps, ElementImageProps, ElementMetadataViewerProps, ElementNumberProps, ElementRecordPickerProps, ElementTextInputProps, ElementTextProps, PageAccordionProps, PageCardProps, PageHeaderProps, PageTabsProps, RecordActivityProps, RecordChatterProps, RecordDetailsProps, RecordHighlightsField, RecordHighlightsProps, RecordPathProps, RecordRelatedListProps } from '@objectstack/spec/ui'; -import type { AIChatWindowProps, ElementButtonProps, ElementFilterProps, ElementFormProps, ElementImageProps, ElementMetadataViewerProps, ElementNumberProps, ElementRecordPickerProps, ElementTextInputProps, ElementTextProps, PageAccordionProps, PageCardProps, PageHeaderProps, PageTabsProps, RecordActivityProps, RecordChatterProps, RecordDetailsProps, RecordHighlightsField, RecordHighlightsProps, RecordPathProps, RecordRelatedListProps } from '@objectstack/spec/ui'; +import { AIChatWindowProps, ElementButtonPropsSchema, ElementFilterPropsSchema, ElementFormPropsSchema, ElementImagePropsSchema, ElementMetadataViewerPropsSchema, ElementNumberPropsSchema, ElementRecordPickerPropsSchema, ElementTextInputPropsSchema, ElementTextPropsSchema, PageAccordionProps, PageCardProps, PageHeaderProps, PageTabsProps, RecordActivityProps, RecordChatterProps, RecordDetailsProps, RecordHighlightsField, RecordHighlightsProps, RecordPathProps, RecordRelatedListProps } from '@objectstack/spec/ui'; // Validate data const result = AIChatWindowProps.parse(data); diff --git a/content/docs/references/ui/dashboard.mdx b/content/docs/references/ui/dashboard.mdx index bcc735f92d..a0b5c44dc1 100644 --- a/content/docs/references/ui/dashboard.mdx +++ b/content/docs/references/ui/dashboard.mdx @@ -14,11 +14,11 @@ Color variant for dashboard widgets (e.g., KPI cards). ## TypeScript Usage ```typescript -import { Dashboard, DashboardHeader, DashboardHeaderAction, DashboardWidget, DashboardWidgetOptions, GlobalFilter, GlobalFilterOptionsFrom, WidgetActionType, WidgetColorVariant } from '@objectstack/spec/ui'; +import { DashboardSchema, DashboardHeaderSchema, DashboardHeaderActionSchema, DashboardWidgetSchema, DashboardWidgetOptionsSchema, GlobalFilterSchema, GlobalFilterOptionsFromSchema, WidgetActionTypeSchema, WidgetColorVariantSchema } from '@objectstack/spec/ui'; import type { Dashboard, DashboardHeader, DashboardHeaderAction, DashboardWidget, DashboardWidgetOptions, GlobalFilter, GlobalFilterOptionsFrom, WidgetActionType, WidgetColorVariant } from '@objectstack/spec/ui'; // Validate data -const result = Dashboard.parse(data); +const result = DashboardSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/dataset.mdx b/content/docs/references/ui/dataset.mdx index fa69258e60..a082e3f302 100644 --- a/content/docs/references/ui/dataset.mdx +++ b/content/docs/references/ui/dataset.mdx @@ -46,11 +46,11 @@ layer is absorbed/retired in a later phase (D-A). ## TypeScript Usage ```typescript -import { Dataset, DatasetDimension, DatasetMeasure, DerivedMeasureOp } from '@objectstack/spec/ui'; -import type { Dataset, DatasetDimension, DatasetMeasure, DerivedMeasureOp } from '@objectstack/spec/ui'; +import { DatasetSchema, DatasetDimensionSchema, DatasetMeasureSchema, DerivedMeasureOp } from '@objectstack/spec/ui'; +import type { Dataset, DatasetDimension, DatasetMeasure } from '@objectstack/spec/ui'; // Validate data -const result = Dataset.parse(data); +const result = DatasetSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/dnd.mdx b/content/docs/references/ui/dnd.mdx index 9a0061e12c..7d14451eb6 100644 --- a/content/docs/references/ui/dnd.mdx +++ b/content/docs/references/ui/dnd.mdx @@ -16,11 +16,11 @@ Defines how a drag interaction is initiated on an element. ## TypeScript Usage ```typescript -import { DndConfig, DragConstraint, DragHandle, DragItem, DropEffect, DropZone } from '@objectstack/spec/ui'; +import { DndConfigSchema, DragConstraintSchema, DragHandleSchema, DragItemSchema, DropEffectSchema, DropZoneSchema } from '@objectstack/spec/ui'; import type { DndConfig, DragConstraint, DragHandle, DragItem, DropEffect, DropZone } from '@objectstack/spec/ui'; // Validate data -const result = DndConfig.parse(data); +const result = DndConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/http.mdx b/content/docs/references/ui/http.mdx index dab575e0eb..aab404fa19 100644 --- a/content/docs/references/ui/http.mdx +++ b/content/docs/references/ui/http.mdx @@ -8,11 +8,11 @@ description: Http protocol schemas ## TypeScript Usage ```typescript -import { HttpMethod, HttpRequest } from '@objectstack/spec/ui'; +import { HttpMethodSchema, HttpRequestSchema } from '@objectstack/spec/ui'; import type { HttpMethod, HttpRequest } from '@objectstack/spec/ui'; // Validate data -const result = HttpMethod.parse(data); +const result = HttpMethodSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/i18n.mdx b/content/docs/references/ui/i18n.mdx index e69df5ce08..3e2e1b6813 100644 --- a/content/docs/references/ui/i18n.mdx +++ b/content/docs/references/ui/i18n.mdx @@ -32,11 +32,11 @@ params: \{ count: 5 \}, ## TypeScript Usage ```typescript -import { AriaProps, DateFormat, I18nLabel, I18nObject, LocaleConfig, NumberFormat, PluralRule } from '@objectstack/spec/ui'; +import { AriaPropsSchema, DateFormatSchema, I18nLabelSchema, I18nObjectSchema, LocaleConfigSchema, NumberFormatSchema, PluralRuleSchema } from '@objectstack/spec/ui'; import type { AriaProps, DateFormat, I18nLabel, I18nObject, LocaleConfig, NumberFormat, PluralRule } from '@objectstack/spec/ui'; // Validate data -const result = AriaProps.parse(data); +const result = AriaPropsSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/keyboard.mdx b/content/docs/references/ui/keyboard.mdx index 1728c03a60..de96242905 100644 --- a/content/docs/references/ui/keyboard.mdx +++ b/content/docs/references/ui/keyboard.mdx @@ -16,11 +16,11 @@ Constrains keyboard focus within a specific container (e.g., modals, dialogs). ## TypeScript Usage ```typescript -import { FocusManagement, FocusTrapConfig, KeyboardNavigationConfig, KeyboardShortcut } from '@objectstack/spec/ui'; +import { FocusManagementSchema, FocusTrapConfigSchema, KeyboardNavigationConfigSchema, KeyboardShortcutSchema } from '@objectstack/spec/ui'; import type { FocusManagement, FocusTrapConfig, KeyboardNavigationConfig, KeyboardShortcut } from '@objectstack/spec/ui'; // Validate data -const result = FocusManagement.parse(data); +const result = FocusManagementSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/notification.mdx b/content/docs/references/ui/notification.mdx index d5c069d56e..e872b515d2 100644 --- a/content/docs/references/ui/notification.mdx +++ b/content/docs/references/ui/notification.mdx @@ -16,11 +16,11 @@ Defines the visual presentation style of the notification. ## TypeScript Usage ```typescript -import { Notification, NotificationAction, NotificationConfig, NotificationPosition, NotificationSeverity, NotificationType } from '@objectstack/spec/ui'; +import { NotificationSchema, NotificationActionSchema, NotificationConfigSchema, NotificationPositionSchema, NotificationSeveritySchema, NotificationTypeSchema } from '@objectstack/spec/ui'; import type { Notification, NotificationAction, NotificationConfig, NotificationPosition, NotificationSeverity, NotificationType } from '@objectstack/spec/ui'; // Validate data -const result = Notification.parse(data); +const result = NotificationSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/offline.mdx b/content/docs/references/ui/offline.mdx index a6232f4f1e..b5de5aad95 100644 --- a/content/docs/references/ui/offline.mdx +++ b/content/docs/references/ui/offline.mdx @@ -16,11 +16,11 @@ Determines how data is fetched when connectivity is limited. ## TypeScript Usage ```typescript -import { ConflictResolution, EvictionPolicy, OfflineCacheConfig, OfflineConfig, OfflineStrategy, PersistStorage, SyncConfig } from '@objectstack/spec/ui'; +import { ConflictResolutionSchema, EvictionPolicySchema, OfflineCacheConfigSchema, OfflineConfigSchema, OfflineStrategySchema, PersistStorageSchema, SyncConfigSchema } from '@objectstack/spec/ui'; import type { ConflictResolution, EvictionPolicy, OfflineCacheConfig, OfflineConfig, OfflineStrategy, PersistStorage, SyncConfig } from '@objectstack/spec/ui'; // Validate data -const result = ConflictResolution.parse(data); +const result = ConflictResolutionSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/page.mdx b/content/docs/references/ui/page.mdx index c2fe4f57e4..667249793d 100644 --- a/content/docs/references/ui/page.mdx +++ b/content/docs/references/ui/page.mdx @@ -16,11 +16,11 @@ A named region in the template where components are dropped. ## TypeScript Usage ```typescript -import { ElementDataSource, InterfacePageConfig, Page, PageComponent, PageComponentType, PageRegion, PageType, PageVariable } from '@objectstack/spec/ui'; -import type { ElementDataSource, InterfacePageConfig, Page, PageComponent, PageComponentType, PageRegion, PageType, PageVariable } from '@objectstack/spec/ui'; +import { ElementDataSourceSchema, InterfacePageConfigSchema, PageSchema, PageComponentSchema, PageComponentType, PageRegionSchema, PageTypeSchema, PageVariableSchema } from '@objectstack/spec/ui'; +import type { ElementDataSource, InterfacePageConfig, Page, PageComponent, PageRegion, PageType, PageVariable } from '@objectstack/spec/ui'; // Validate data -const result = ElementDataSource.parse(data); +const result = ElementDataSourceSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/report.mdx b/content/docs/references/ui/report.mdx index 3aac434f5e..706787b76d 100644 --- a/content/docs/references/ui/report.mdx +++ b/content/docs/references/ui/report.mdx @@ -14,11 +14,11 @@ Report Type Enum ## TypeScript Usage ```typescript -import { JoinedReportBlock, Report, ReportChart, ReportSort, ReportType } from '@objectstack/spec/ui'; -import type { JoinedReportBlock, Report, ReportChart, ReportSort, ReportType } from '@objectstack/spec/ui'; +import { JoinedReportBlockSchema, ReportSchema, ReportChartSchema, ReportSortSchema, ReportType } from '@objectstack/spec/ui'; +import type { JoinedReportBlock, Report, ReportChart, ReportSort } from '@objectstack/spec/ui'; // Validate data -const result = JoinedReportBlock.parse(data); +const result = JoinedReportBlockSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/responsive.mdx b/content/docs/references/ui/responsive.mdx index 8ff6b24508..8a7ba2253f 100644 --- a/content/docs/references/ui/responsive.mdx +++ b/content/docs/references/ui/responsive.mdx @@ -16,11 +16,11 @@ Standard Tailwind-style breakpoint names (xs–2xl). ## TypeScript Usage ```typescript -import { BreakpointColumnMap, BreakpointName, BreakpointOrderMap, ResponsiveConfig, ResponsiveStyles, StyleMap } from '@objectstack/spec/ui'; -import type { BreakpointColumnMap, BreakpointName, BreakpointOrderMap, ResponsiveConfig, ResponsiveStyles, StyleMap } from '@objectstack/spec/ui'; +import { BreakpointColumnMapSchema, BreakpointName, BreakpointOrderMapSchema, ResponsiveConfigSchema, ResponsiveStylesSchema, StyleMapSchema } from '@objectstack/spec/ui'; +import type { BreakpointName, ResponsiveConfig, ResponsiveStyles, StyleMap } from '@objectstack/spec/ui'; // Validate data -const result = BreakpointColumnMap.parse(data); +const result = BreakpointColumnMapSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/sharing.mdx b/content/docs/references/ui/sharing.mdx index 2eaf5999ac..741b73478a 100644 --- a/content/docs/references/ui/sharing.mdx +++ b/content/docs/references/ui/sharing.mdx @@ -20,11 +20,11 @@ domain restrictions, and password protection for apps, pages, and forms. ## TypeScript Usage ```typescript -import { EmbedConfig, SharingConfig } from '@objectstack/spec/ui'; +import { EmbedConfigSchema, SharingConfigSchema } from '@objectstack/spec/ui'; import type { EmbedConfig, SharingConfig } from '@objectstack/spec/ui'; // Validate data -const result = EmbedConfig.parse(data); +const result = EmbedConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/theme.mdx b/content/docs/references/ui/theme.mdx index 9de36f3a85..d17db85982 100644 --- a/content/docs/references/ui/theme.mdx +++ b/content/docs/references/ui/theme.mdx @@ -16,11 +16,11 @@ Defines brand colors and their variants. ## TypeScript Usage ```typescript -import { Animation, BorderRadius, ColorPalette, Shadow, Theme, ThemeMode, Typography, ZIndex } from '@objectstack/spec/ui'; +import { AnimationSchema, BorderRadiusSchema, ColorPaletteSchema, ShadowSchema, ThemeSchema, ThemeModeSchema, TypographySchema, ZIndexSchema } from '@objectstack/spec/ui'; import type { Animation, BorderRadius, ColorPalette, Shadow, Theme, ThemeMode, Typography, ZIndex } from '@objectstack/spec/ui'; // Validate data -const result = Animation.parse(data); +const result = AnimationSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/touch.mdx b/content/docs/references/ui/touch.mdx index f594634c40..9e0b6ef5b9 100644 --- a/content/docs/references/ui/touch.mdx +++ b/content/docs/references/ui/touch.mdx @@ -16,11 +16,11 @@ Ensures touch targets meet WCAG 2.5.5 minimum size requirements (44x44px). ## TypeScript Usage ```typescript -import { GestureConfig, GestureType, LongPressGestureConfig, PinchGestureConfig, SwipeDirection, SwipeGestureConfig, TouchInteraction, TouchTargetConfig } from '@objectstack/spec/ui'; +import { GestureConfigSchema, GestureTypeSchema, LongPressGestureConfigSchema, PinchGestureConfigSchema, SwipeDirectionSchema, SwipeGestureConfigSchema, TouchInteractionSchema, TouchTargetConfigSchema } from '@objectstack/spec/ui'; import type { GestureConfig, GestureType, LongPressGestureConfig, PinchGestureConfig, SwipeDirection, SwipeGestureConfig, TouchInteraction, TouchTargetConfig } from '@objectstack/spec/ui'; // Validate data -const result = GestureConfig.parse(data); +const result = GestureConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/view.mdx b/content/docs/references/ui/view.mdx index 818d3be9c3..eaf3724bd9 100644 --- a/content/docs/references/ui/view.mdx +++ b/content/docs/references/ui/view.mdx @@ -16,11 +16,11 @@ Migrated to [shared/http.zod.ts](/docs/references/shared/http). Re-exported here ## TypeScript Usage ```typescript -import { AddRecordConfig, AppearanceConfig, CalendarConfig, ColumnPrefix, ColumnSummary, ColumnSummaryConfig, FormButtonConfig, FormField, FormSection, FormView, GalleryConfig, GanttConfig, GanttQuickFilter, GroupingConfig, GroupingField, KanbanConfig, ListChartConfig, ListColumn, ListView, NavigationConfig, NavigationMode, ObjectListView, ObjectUserFilters, PaginationConfig, RowColorConfig, RowHeight, SelectionConfig, TimelineConfig, TreeConfig, UserActionsConfig, UserFilterField, UserFilters, View, ViewData, ViewFilterRule, ViewItem, ViewItemName, ViewKind, ViewScope, ViewSharing, ViewTab, VisualizationType } from '@objectstack/spec/ui'; -import type { AddRecordConfig, AppearanceConfig, CalendarConfig, ColumnPrefix, ColumnSummary, ColumnSummaryConfig, FormButtonConfig, FormField, FormSection, FormView, GalleryConfig, GanttConfig, GanttQuickFilter, GroupingConfig, GroupingField, KanbanConfig, ListChartConfig, ListColumn, ListView, NavigationConfig, NavigationMode, ObjectListView, ObjectUserFilters, PaginationConfig, RowColorConfig, RowHeight, SelectionConfig, TimelineConfig, TreeConfig, UserActionsConfig, UserFilterField, UserFilters, View, ViewData, ViewFilterRule, ViewItem, ViewItemName, ViewKind, ViewScope, ViewSharing, ViewTab, VisualizationType } from '@objectstack/spec/ui'; +import { AddRecordConfigSchema, AppearanceConfigSchema, CalendarConfigSchema, ColumnPrefixSchema, ColumnSummarySchema, ColumnSummaryConfigSchema, FormButtonConfigSchema, FormFieldSchema, FormSectionSchema, FormViewSchema, GalleryConfigSchema, GanttConfigSchema, GanttQuickFilterSchema, GroupingConfigSchema, GroupingFieldSchema, KanbanConfigSchema, ListChartConfigSchema, ListColumnSchema, ListViewSchema, NavigationConfigSchema, NavigationModeSchema, ObjectListViewSchema, ObjectUserFiltersSchema, PaginationConfigSchema, RowColorConfigSchema, RowHeightSchema, SelectionConfigSchema, TimelineConfigSchema, TreeConfigSchema, UserActionsConfigSchema, UserFilterFieldSchema, UserFiltersSchema, ViewSchema, ViewDataSchema, ViewFilterRuleSchema, ViewItemSchema, ViewItemNameSchema, ViewKindSchema, ViewScopeSchema, ViewSharingSchema, ViewTabSchema, VisualizationTypeSchema } from '@objectstack/spec/ui'; +import type { AddRecordConfig, AppearanceConfig, ColumnPrefix, ColumnSummary, ColumnSummaryConfig, FormButtonConfig, FormField, FormSection, FormView, GalleryConfig, GroupingConfig, ListChartConfig, ListColumn, ListView, NavigationConfig, PaginationConfig, RowColorConfig, RowHeight, SelectionConfig, TimelineConfig, UserActionsConfig, UserFilterField, UserFilters, View, ViewData, ViewFilterRule, ViewItem, ViewKind, ViewScope, ViewSharing, ViewTab, VisualizationType } from '@objectstack/spec/ui'; // Validate data -const result = AddRecordConfig.parse(data); +const result = AddRecordConfigSchema.parse(data); ``` --- diff --git a/content/docs/references/ui/widget.mdx b/content/docs/references/ui/widget.mdx index 9a66f24311..4defec5b23 100644 --- a/content/docs/references/ui/widget.mdx +++ b/content/docs/references/ui/widget.mdx @@ -44,11 +44,11 @@ onValidate: "return value.length > 0 ? null : 'Required field'" ## TypeScript Usage ```typescript -import { WidgetEvent, WidgetLifecycle, WidgetManifest, WidgetProperty, WidgetSource } from '@objectstack/spec/ui'; +import { WidgetEventSchema, WidgetLifecycleSchema, WidgetManifestSchema, WidgetPropertySchema, WidgetSourceSchema } from '@objectstack/spec/ui'; import type { WidgetEvent, WidgetLifecycle, WidgetManifest, WidgetProperty, WidgetSource } from '@objectstack/spec/ui'; // Validate data -const result = WidgetEvent.parse(data); +const result = WidgetEventSchema.parse(data); ``` --- diff --git a/packages/spec/docs-import-surface.baseline.json b/packages/spec/docs-import-surface.baseline.json new file mode 100644 index 0000000000..2bab818b39 --- /dev/null +++ b/packages/spec/docs-import-surface.baseline.json @@ -0,0 +1,159 @@ +{ + "_comment": "Accepted gaps between the reference docs' import examples and the real export surface of @objectstack/spec (#4570): a documented JSON Schema whose entry point exports no matching type alias (\"no type export\") or no matching schema const (\"no schema const export\"). The name is omitted from the generated import line — the docs never advertise an import that cannot compile — and listed here so the omission is countable instead of silent. Shrink-only ratchet: a NEW gap fails check:docs (fix it by adding `export type X = z.infer;` next to the schema and regenerating api-surface.json, or by retiring the schema together with its alias), and a stale entry fails until its line is deleted. Growing this list is a maintainer decision that shows up as this file in the diff. Regenerate with: tsx scripts/build-docs.ts --update-import-baseline (after gen:schema).", + "entries": [ + "ai/AIModelConfig — no type export", + "ai/CodeContent — no type export", + "ai/FileContent — no type export", + "ai/ImageContent — no type export", + "ai/TextContent — no type export", + "api/AnalyticsResultResponse — no type export", + "api/ApiMapping — no type export", + "api/Discovery — no type export", + "api/GetAnalyticsMetaRequest — no type export", + "api/HttpFindQueryParams — no type export", + "api/MetadataBulkRegisterRequest — no type export", + "api/MetadataBulkUnregisterRequest — no type export", + "api/MetadataExportRequest — no type export", + "api/MetadataImportRequest — no type export", + "api/MetadataOverlaySaveRequest — no type export", + "api/MetadataQueryRequest — no type export", + "api/MetadataValidateRequest — no type export", + "api/SubscriptionEvent — no type export", + "automation/ApproverType — no type export", + "automation/Event — no type export", + "automation/FlowNodeAction — no type export", + "automation/FlowVariable — no type export", + "automation/GuardRef — no type export", + "automation/StateMachine — no type export", + "automation/StateNode — no type export", + "automation/WebhookTriggerType — no type export", + "data/AddressValue — no type export", + "data/AggregationFunction — no type export", + "data/AggregationMetricType — no type export", + "data/CalendarDateValue — no type export", + "data/ClockTimeValue — no type export", + "data/ContextTokenPlaceholder — no type export", + "data/DataEngineAggregateRequest — no type export", + "data/DataEngineBatchRequest — no type export", + "data/DataEngineCountRequest — no type export", + "data/DataEngineDeleteRequest — no type export", + "data/DataEngineExecuteRequest — no type export", + "data/DataEngineFindOneRequest — no type export", + "data/DataEngineFindRequest — no type export", + "data/DataEngineInsertRequest — no type export", + "data/DataEngineUpdateRequest — no type export", + "data/DataEngineVectorFindRequest — no type export", + "data/DatasourceCapabilities — no type export", + "data/DateGranularity — no type export", + "data/DateMacroPlaceholder — no type export", + "data/DimensionType — no type export", + "data/DocumentValidationSchema — no schema const export", + "data/DocumentValidationSchema — no type export", + "data/DriverSslToggle — no type export", + "data/DriverType — no type export", + "data/EqualityOperator — no type export", + "data/FileLikeValue — no type export", + "data/FileReferenceIdValue — no type export", + "data/FileValue — no type export", + "data/HookEvent — no type export", + "data/Index — no type export", + "data/InstantValue — no type export", + "data/LocationValue — no type export", + "data/ModeSchema — no schema const export", + "data/ModeSchema — no type export", + "data/Object — no type export", + "data/ObjectOwnershipEnum — no type export", + "data/Query — no type export", + "data/ReferenceIdValue — no type export", + "data/SeedMode — no type export", + "data/SetOperator — no type export", + "data/SpecialOperator — no type export", + "data/StringOperator — no type export", + "data/TimeUpdateInterval — no type export", + "data/TransformType — no type export", + "integration/ConnectorAction — no type export", + "integration/ConnectorInstanceAPIKeyAuth — no type export", + "integration/ConnectorInstanceBasicAuth — no type export", + "integration/ConnectorInstanceBearerAuth — no type export", + "integration/ConnectorInstanceNoAuth — no type export", + "integration/ConnectorTrigger — no type export", + "kernel/DependencyStatusEnum — no type export", + "kernel/EventMetadata — no type export", + "kernel/Manifest — no type export", + "kernel/MetadataCategoryEnum — no type export", + "kernel/PackageStatusEnum — no type export", + "kernel/Plugin — no type export", + "qa/TestActionType — no type export", + "qa/TestAssertionType — no type export", + "qa/TestContext — no type export", + "security/OWDModel — no type export", + "security/ShareRecipientType — no type export", + "security/SharingLevel — no type export", + "security/SharingRuleType — no type export", + "shared/IsolationLevelEnum — no type export", + "shared/MutationEventEnum — no type export", + "shared/SortDirectionEnum — no type export", + "studio/ActionLocation — no type export", + "studio/ActivationEvent — no type export", + "studio/PanelLocation — no type export", + "system/AddFieldOperation — no type export", + "system/ChangeSchema — no schema const export", + "system/ChangeSchema — no type export", + "system/CreateObjectOperation — no type export", + "system/DeleteObjectOperation — no type export", + "system/DeployStatusEnum — no type export", + "system/EnvironmentArtifactFunctionLanguageEnum — no type export", + "system/EnvironmentArtifactHashAlgorithmEnum — no type export", + "system/ExecuteSqlOperation — no type export", + "system/KernelServiceMap — no type export", + "system/LevelIsolationStrategySchema — no schema const export", + "system/LevelIsolationStrategySchema — no type export", + "system/Locale — no type export", + "system/MetadataState — no type export", + "system/MigrationDependency — no type export", + "system/ModifyFieldOperation — no type export", + "system/RemoveFieldOperation — no type export", + "system/RenameObjectOperation — no type export", + "system/ServiceConfig — no type export", + "system/ServiceCriticality — no type export", + "system/ServiceStatus — no type export", + "system/TenantProvisioningStatusEnum — no type export", + "ui/AIChatWindowProps — no type export", + "ui/ActionType — no type export", + "ui/BreakpointColumnMap — no type export", + "ui/BreakpointOrderMap — no type export", + "ui/CalendarConfig — no type export", + "ui/DerivedMeasureOp — no type export", + "ui/ElementButtonProps — no type export", + "ui/ElementFilterProps — no type export", + "ui/ElementFormProps — no type export", + "ui/ElementImageProps — no type export", + "ui/ElementMetadataViewerProps — no type export", + "ui/ElementNumberProps — no type export", + "ui/ElementRecordPickerProps — no type export", + "ui/ElementTextInputProps — no type export", + "ui/ElementTextProps — no type export", + "ui/GanttConfig — no type export", + "ui/GanttQuickFilter — no type export", + "ui/GroupingField — no type export", + "ui/KanbanConfig — no type export", + "ui/NavigationMode — no type export", + "ui/ObjectListView — no type export", + "ui/ObjectUserFilters — no type export", + "ui/PageAccordionProps — no type export", + "ui/PageCardProps — no type export", + "ui/PageComponentType — no type export", + "ui/PageHeaderProps — no type export", + "ui/PageTabsProps — no type export", + "ui/RecordActivityProps — no type export", + "ui/RecordChatterProps — no type export", + "ui/RecordDetailsProps — no type export", + "ui/RecordHighlightsField — no type export", + "ui/RecordHighlightsProps — no type export", + "ui/RecordPathProps — no type export", + "ui/RecordRelatedListProps — no type export", + "ui/ReportType — no type export", + "ui/TreeConfig — no type export", + "ui/ViewItemName — no type export" + ] +} diff --git a/packages/spec/scripts/build-docs.ts b/packages/spec/scripts/build-docs.ts index 033b7097da..2b4b6a0da9 100644 --- a/packages/spec/scripts/build-docs.ts +++ b/packages/spec/scripts/build-docs.ts @@ -15,10 +15,17 @@ // Usage: // tsx scripts/build-docs.ts # write // tsx scripts/build-docs.ts --check # verify in sync (CI); exit 1 on drift +// tsx scripts/build-docs.ts --update-import-baseline # re-ratchet the import-surface baseline (review the diff!) import fs from 'fs'; import path from 'path'; +import { + evaluateBaseline, + loadEntrySurfaces, + resolveImports, + type CategorySurface, +} from './lib/docs-import-surface'; import { createSink } from './lib/generated-output'; const SCHEMA_DIR = path.resolve(__dirname, '../json-schema'); @@ -27,8 +34,11 @@ const SRC_DIR = path.resolve(__dirname, '../src'); // ⚠️ Everything inside category sub-folders is auto-generated and disposable. const DOCS_ROOT = path.resolve(__dirname, '../../../content/docs/references'); const REPO_ROOT = path.resolve(__dirname, '../../..'); +const API_SURFACE_PATH = path.resolve(__dirname, '../api-surface.json'); +const IMPORT_BASELINE_PATH = path.resolve(__dirname, '../docs-import-surface.baseline.json'); const CHECK = process.argv.includes('--check'); +const UPDATE_IMPORT_BASELINE = process.argv.includes('--update-import-baseline'); // ── Output sink ────────────────────────────────────────────────────────────── // Shared with the spec's other generators — see lib/generated-output.ts for why @@ -142,6 +152,32 @@ function sourcePathFor(category: string, zodFile: string): string | undefined { scanCategories(); +// ── Import examples: the package's real export surface ─────────────────────── +// `api-surface.json` is the committed record of every `name (kind)` per public +// entry point, kept honest by `check:api-surface`. Import examples are spelled +// from it rather than from the schema file name, so a page can only advertise +// an import that actually exists (#4570). Names it cannot account for are +// collected here and ratcheted against the committed baseline after flush(). + +const ENTRY_SURFACES: ReadonlyMap = loadEntrySurfaces( + JSON.parse(fs.readFileSync(API_SURFACE_PATH, 'utf-8')), +); + +/** Every unresolvable import name this run met, one stable line each. */ +const importGaps = new Set(); + +const IMPORT_BASELINE_COMMENT = + 'Accepted gaps between the reference docs\' import examples and the real export surface of ' + + '@objectstack/spec (#4570): a documented JSON Schema whose entry point exports no matching type ' + + 'alias ("no type export") or no matching schema const ("no schema const export"). The name is ' + + 'omitted from the generated import line — the docs never advertise an import that cannot compile ' + + '— and listed here so the omission is countable instead of silent. Shrink-only ratchet: a NEW gap ' + + 'fails check:docs (fix it by adding `export type X = z.infer;` next to the schema ' + + 'and regenerating api-surface.json, or by retiring the schema together with its alias), and a ' + + 'stale entry fails until its line is deleted. Growing this list is a maintainer decision that ' + + 'shows up as this file in the diff. Regenerate with: ' + + 'tsx scripts/build-docs.ts --update-import-baseline (after gen:schema).'; + /** * Context a page needs to turn a `$ref` into a link that actually resolves. * @@ -456,22 +492,30 @@ function generateZodFileMarkdown(zodFile: string, schemas: Array<{name: string, md += `\n\n`; } - // Add TypeScript usage example - const schemaNames = schemas.map(s => s.name).join(', '); - const typeNames = schemas.map(s => s.name.replace(/Schema$/, '')).join(', '); - - md += `## TypeScript Usage\n\n`; - md += `\`\`\`typescript\n`; - md += `import { ${schemaNames} } from '@objectstack/spec/${category}';\n`; - md += `import type { ${typeNames} } from '@objectstack/spec/${category}';\n\n`; - // Add simple example - const firstSchema = schemas[0]; - if (firstSchema) { - md += `// Validate data\n`; - md += `const result = ${firstSchema.name}.parse(data);\n`; + // TypeScript usage example — spelled from the package's real export surface, + // never from the schema file name. A name the entry point does not export is + // dropped here and reported by the import-surface ratchet below, so the page + // cannot advertise an import that fails to compile (#4570). + const imports = resolveImports(category, schemas.map(s => s.name), ENTRY_SURFACES); + for (const gap of imports.gaps) importGaps.add(gap); + + if (imports.valueNames.length || imports.typeNames.length) { + md += `## TypeScript Usage\n\n`; + md += `\`\`\`typescript\n`; + if (imports.valueNames.length) { + md += `import { ${imports.valueNames.join(', ')} } from '@objectstack/spec/${category}';\n`; + } + if (imports.typeNames.length) { + md += `import type { ${imports.typeNames.join(', ')} } from '@objectstack/spec/${category}';\n`; + } + md += `\n`; + if (imports.exampleValue) { + md += `// Validate data\n`; + md += `const result = ${imports.exampleValue}.parse(data);\n`; + } + md += `\`\`\`\n\n`; + md += `---\n\n`; } - md += `\`\`\`\n\n`; - md += `---\n\n`; // Generate markdown for each schema in the file schemas.forEach(({name, content}) => { @@ -725,7 +769,75 @@ const meta = { }; emit(path.join(DOCS_ROOT, 'meta.json'), JSON.stringify(meta, null, 2)); -// 4. Disposition: write the tree, or report drift against it. +// 4. Import-surface ratchet — the backstop `check:docs` alone cannot be. +// +// Diffing generated output against committed docs proves the two agree; it +// cannot prove either is TRUE. Now that import examples are spelled from +// `api-surface.json`, a schema whose type alias is missing quietly loses its +// name from the `import type` line — correct output, silent regression. The +// baseline turns that silence into a red gate: a NEW gap fails (that is #4539 +// exactly — deleting a zero-consumer type alias while its schema keeps its +// page), and a stale line fails too, so the ledger can only shrink. +// +// Deliberately NOT wired into any `gen:` script: `--update-import-baseline` is +// a hand-run, reviewed act, for the same reason the dual-source baseline is +// (#4446) — a fix command that rewrites the ledger admits new debt by reflex +// instead of by decision. +// +// Runs BEFORE flush() because flush() exits on drift, and one failure must not +// hide the other. The exit is deferred to after flush() so a write run still +// produces the corrected pages. +let importSurfaceFailed = false; +if (managedCount > 0) { + const gaps = [...importGaps].sort(); + + if (UPDATE_IMPORT_BASELINE) { + fs.writeFileSync( + IMPORT_BASELINE_PATH, + JSON.stringify({ _comment: IMPORT_BASELINE_COMMENT, entries: gaps }, null, 2) + '\n', + ); + console.log(`Wrote ${gaps.length} import-surface gap(s) to ${path.relative(REPO_ROOT, IMPORT_BASELINE_PATH)} — review the diff before committing.`); + } else { + const baseline: { entries?: string[] } = fs.existsSync(IMPORT_BASELINE_PATH) + ? JSON.parse(fs.readFileSync(IMPORT_BASELINE_PATH, 'utf-8')) + : {}; + const { fresh, stale } = evaluateBaseline(gaps, baseline.entries ?? []); + + if (fresh.length > 0) { + importSurfaceFailed = true; + console.error( + `\n✗ ${fresh.length} reference page import example(s) name an export that '@objectstack/spec' no longer has:\n\n` + + fresh.map(f => ` • ${f}`).join('\n') + + `\n\nThe name was dropped from the page rather than published as a dead import, so the docs are\n` + + `still correct — but a schema that documents itself without its type alias is a hole in the\n` + + `machine-readable surface, and the import line is the line an AI metadata author copies.\n\n` + + `Fix it at the declaration, not the ledger:\n` + + ` - add the missing alias next to the schema (\`export type X = z.infer;\`),\n` + + ` then \`pnpm --filter @objectstack/spec gen:api-surface\`; or\n` + + ` - retire the schema with its alias, so no page documents it either.\n\n` + + `If a maintainer decides the gap must stand, re-ratchet it deliberately:\n` + + ` pnpm --filter @objectstack/spec exec tsx scripts/build-docs.ts --update-import-baseline`, + ); + } + + if (stale.length > 0) { + importSurfaceFailed = true; + console.error( + `\n✗ ${stale.length} stale import-surface baseline entr${stale.length === 1 ? 'y' : 'ies'} — the gap is gone, delete the line(s):\n\n` + + stale.map(s => ` • ${s}`).join('\n') + + `\n\nThe baseline is shrink-only. A stale line stays available to excuse the NEXT missing export\n` + + `under the last one's justification, which is how a ratchet quietly stops ratcheting.\n` + + ` pnpm --filter @objectstack/spec exec tsx scripts/build-docs.ts --update-import-baseline`, + ); + } + + if (!importSurfaceFailed) { + console.log(`✅ import examples resolve against api-surface.json (${gaps.length} accepted gap(s) in the baseline)`); + } + } +} + +// 5. Disposition: write the tree, or report drift against it. flush({ surface: 'content/docs/references/', regenerate: @@ -740,3 +852,6 @@ flush({ ' Run `pnpm --filter @objectstack/spec gen:schema` first (`check:docs` does this for you).' : null, }); + +// Deferred so a write run still lands the corrected pages before failing. +if (importSurfaceFailed) process.exit(1); diff --git a/packages/spec/scripts/docs-import-surface.test.ts b/packages/spec/scripts/docs-import-surface.test.ts new file mode 100644 index 0000000000..0dd7adc23f --- /dev/null +++ b/packages/spec/scripts/docs-import-surface.test.ts @@ -0,0 +1,147 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * Pins the resolution rules behind the reference docs' import examples (#4570) + * and the ratchet that keeps a missing export loud. + * + * Both edges matter, and the negative control is the point: a schema whose type + * alias does not exist must be EXCLUDED from the emitted `import type` line + * (the docs stop advertising a dead import) AND must turn the gate red when it + * is not already in the baseline. A rule that only did the first would fix the + * symptom and hide the cause — which is the state #4570 describes, one layer up. + */ +import { describe, expect, it } from 'vitest'; + +import { + evaluateBaseline, + loadEntrySurfaces, + resolveImports, + resolveTypeName, + resolveValueName, +} from './lib/docs-import-surface'; + +/** + * A miniature `api-surface.json`. Each name is one real shape the spec carries: + * + * Widget — `export const WidgetSchema` + `export type Widget` (healthy) + * Gadget — `export const GadgetSchema`, NO type alias (#4570) + * Flavor — `export const Flavor = z.enum(…)` + `export type Flavor` + * (merged declaration; api-surface reports `type` only) + * Ghost — documented by a page, exported by nothing + */ +const API_SURFACE = { + '.': ['defineStack (function)'], + './demo': [ + 'Flavor (type)', + 'GadgetSchema (const)', + 'Widget (type)', + 'WidgetSchema (const)', + ], +}; + +const surfaces = loadEntrySurfaces(API_SURFACE); +const demo = surfaces.get('demo')!; + +describe('loadEntrySurfaces', () => { + it('keys subpath entries by category and drops the root entry', () => { + expect([...surfaces.keys()]).toEqual(['demo']); + }); + + it('rejects an unparseable surface line instead of silently emptying the surface', () => { + // A format change in build-api-surface.ts must fail here, not degrade into + // "no name is exported" — which would strip every import example at once. + expect(() => loadEntrySurfaces({ './demo': ['Widget'] })).toThrow(/cannot parse entry/); + }); +}); + +describe('resolveValueName', () => { + it('prefers the `Schema` const', () => { + expect(resolveValueName('Widget', demo)).toBe('WidgetSchema'); + }); + + it('falls back to the bare name for a merged const+type declaration', () => { + // api-surface reports `Flavor (type)` — kindOf tests TypeAlias before + // Variable — so value-ness cannot be read off the kind. Presence can. + expect(resolveValueName('Flavor', demo)).toBe('Flavor'); + }); + + it('returns null when the entry exports neither candidate', () => { + expect(resolveValueName('Ghost', demo)).toBeNull(); + }); +}); + +describe('resolveTypeName', () => { + it('accepts a type alias', () => { + expect(resolveTypeName('Widget', demo)).toBe('Widget'); + }); + + it('rejects a const-only export — `import type { Gadget }` does not resolve', () => { + expect(resolveTypeName('GadgetSchema', demo)).toBeNull(); + expect(resolveTypeName('Gadget', demo)).toBeNull(); + }); +}); + +describe('resolveImports', () => { + it('emits only names the entry point really exports', () => { + const { valueNames, typeNames, exampleValue } = resolveImports( + 'demo', + ['Widget', 'Gadget', 'Flavor'], + surfaces, + ); + + expect(valueNames).toEqual(['WidgetSchema', 'GadgetSchema', 'Flavor']); + // NEGATIVE CONTROL: `Gadget` has a schema but no type alias, so it must not + // appear in the `import type` line the docs tell authors to copy. + expect(typeNames).toEqual(['Widget', 'Flavor']); + expect(typeNames).not.toContain('Gadget'); + expect(exampleValue).toBe('WidgetSchema'); + }); + + it('reports one stable gap line per unresolvable name', () => { + const { gaps } = resolveImports('demo', ['Widget', 'Gadget', 'Ghost'], surfaces); + expect(gaps.sort()).toEqual([ + 'demo/Gadget — no type export', + 'demo/Ghost — no schema const export', + 'demo/Ghost — no type export', + ]); + }); + + it('emits nothing when the category is not a published entry point', () => { + const result = resolveImports('nowhere', ['Widget'], surfaces); + expect(result.valueNames).toEqual([]); + expect(result.typeNames).toEqual([]); + expect(result.gaps).toEqual(['nowhere/* — no such entry point']); + }); +}); + +describe('evaluateBaseline', () => { + const baseline = ['demo/Gadget — no type export']; + + it('is green while the known gaps are exactly the baselined ones', () => { + expect(evaluateBaseline(['demo/Gadget — no type export'], baseline)).toEqual({ + fresh: [], + stale: [], + }); + }); + + it('goes RED when a schema loses its type alias — the #4539 scenario', () => { + // Deleting a zero-consumer `export type Widget` while `WidgetSchema` keeps + // its reference page is exactly what shipped a dead import example before. + const afterAliasRemoval = loadEntrySurfaces({ + './demo': ['GadgetSchema (const)', 'WidgetSchema (const)'], + }); + const { gaps, typeNames } = resolveImports('demo', ['Widget', 'Gadget'], afterAliasRemoval); + + expect(typeNames).toEqual([]); + const verdict = evaluateBaseline(gaps, baseline); + expect(verdict.fresh).toContain('demo/Widget — no type export'); + expect(verdict.fresh.length).toBeGreaterThan(0); + }); + + it('goes RED on a stale baseline entry, so the ratchet can only shrink', () => { + expect(evaluateBaseline([], baseline)).toEqual({ + fresh: [], + stale: ['demo/Gadget — no type export'], + }); + }); +}); diff --git a/packages/spec/scripts/lib/docs-import-surface.ts b/packages/spec/scripts/lib/docs-import-surface.ts new file mode 100644 index 0000000000..bcba3b07b3 --- /dev/null +++ b/packages/spec/scripts/lib/docs-import-surface.ts @@ -0,0 +1,167 @@ +// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license. + +/** + * Import-example names for the generated reference pages, resolved against the + * package's REAL export surface (`api-surface.json`). + * + * Every `content/docs/references//.mdx` opens with a + * "TypeScript Usage" block: + * + * import { XSchema } from '@objectstack/spec/'; + * import type { X } from '@objectstack/spec/'; + * + * Those two lines used to be spelled straight from the JSON Schema file name — + * `` for the value import, `` with a `Schema` suffix stripped for + * the type import — on the assumption that both names exist. Nothing checked + * it, and `check:docs` could not: it diffs the generator's output against the + * committed docs, so a name the generator invents is "in sync" with itself + * forever. The result was reference pages advertising imports that do not + * compile (#4570) — and an import line in the reference docs is precisely the + * line an AI metadata author copies. + * + * ## How a name is resolved + * + * `api-surface.json` records `name (kind)` for every public entry point, so it + * answers both questions directly. Two asymmetries drive the rules below: + * + * - **Type side is decidable.** `build-api-surface.ts`'s `kindOf` tests + * TypeAlias/Interface BEFORE Variable, so a name that carries a type is + * never reported as `const`. A `type`/`interface`/`class`/`enum` kind + * therefore PROVES `import type { N }` resolves, and `const` proves it does + * not. + * - **Value side is not.** The same ordering hides the value half of a merged + * declaration: `export const FieldType = z.enum(…)` plus + * `export type FieldType = …` is reported as `type` only. So value-ness + * cannot be read off the kind, and PRESENCE is the strongest sound signal. + * That is enough here, because `build-schemas.ts` derives a JSON Schema's + * name from an actual runtime export key of that same entry by stripping a + * `Schema` suffix — so the const behind schema `N` is `NSchema` or `N`, and + * whichever of the two the entry exports is it. + * + * A name that resolves to nothing is not emitted (the docs stop advertising a + * dead import) AND is reported as a gap, so the omission is loud rather than + * silent — see `docs-import-surface.baseline.json` and the ratchet in + * `build-docs.ts`. + */ + +/** Kinds that guarantee `import type { N }` resolves. */ +const TYPE_KINDS: ReadonlySet = new Set(['type', 'interface', 'class', 'enum']); + +/** `name (kind)` for one entry point, as recorded in `api-surface.json`. */ +export type CategorySurface = ReadonlyMap>; + +const SURFACE_LINE = /^(\S+) \((\w+)\)$/; + +/** + * Parse `api-surface.json` into `category -> name -> kinds`, keyed by the + * category segment of each subpath entry (`./data` -> `data`). The root entry + * (`.`) is skipped: reference pages import from the subpath, never the root + * (`export * as Namespace` was removed from the root index for tree-shaking). + */ +export function loadEntrySurfaces(apiSurface: Record): Map { + const out = new Map(); + for (const [subpath, entries] of Object.entries(apiSurface)) { + if (!subpath.startsWith('./')) continue; + const names = new Map>(); + for (const line of entries) { + const m = SURFACE_LINE.exec(line); + // A format change here would silently empty the surface and strip every + // import example — fail instead of degrading into a confident lie. + if (!m) throw new Error(`api-surface.json: cannot parse entry "${line}" under "${subpath}" (expected "Name (kind)")`); + let kinds = names.get(m[1]); + if (!kinds) names.set(m[1], (kinds = new Set())); + kinds.add(m[2]); + } + out.set(subpath.slice(2), names); + } + return out; +} + +/** The exported const to spell in the value import, or null when none exists. */ +export function resolveValueName(schemaName: string, surface: CategorySurface): string | null { + for (const candidate of [`${schemaName}Schema`, schemaName]) { + if (surface.has(candidate)) return candidate; + } + return null; +} + +/** The exported type to spell in the `import type` line, or null when none exists. */ +export function resolveTypeName(schemaName: string, surface: CategorySurface): string | null { + const kinds = surface.get(schemaName); + if (!kinds) return null; + for (const kind of kinds) if (TYPE_KINDS.has(kind)) return schemaName; + return null; +} + +export interface ResolvedImports { + /** Const names for `import { … }`, in page order, dead names dropped. */ + valueNames: string[]; + /** Type names for `import type { … }`, in page order, dead names dropped. */ + typeNames: string[]; + /** The const to call `.parse()` on in the example, or null when none exists. */ + exampleValue: string | null; + /** One stable line per name that could not be resolved. Sorted by caller. */ + gaps: string[]; +} + +/** + * Resolve one page's import example. `schemaNames` are the JSON Schema names + * the page documents, in the order they appear on the page. + */ +export function resolveImports( + category: string, + schemaNames: readonly string[], + surfaces: ReadonlyMap, +): ResolvedImports { + const surface = surfaces.get(category); + if (!surface) { + // Pages exist for a category the package does not publish as an entry + // point: every `from '@objectstack/spec/'` on the page is dead, + // not just a name on it. Report once, emit nothing. + return { + valueNames: [], + typeNames: [], + exampleValue: null, + gaps: [`${category}/* — no such entry point`], + }; + } + + const valueNames: string[] = []; + const typeNames: string[] = []; + const gaps: string[] = []; + + for (const name of schemaNames) { + const value = resolveValueName(name, surface); + if (value) valueNames.push(value); + else gaps.push(`${category}/${name} — no schema const export`); + + const type = resolveTypeName(name, surface); + if (type) typeNames.push(type); + else gaps.push(`${category}/${name} — no type export`); + } + + return { valueNames, typeNames, exampleValue: valueNames[0] ?? null, gaps }; +} + +export interface BaselineVerdict { + /** Gaps not covered by the baseline — a NEW dead import example. */ + fresh: string[]; + /** Baseline lines that no longer describe a gap — the ratchet must shrink. */ + stale: string[]; +} + +/** + * Compare this run's gaps against the committed baseline. Shrink-only: a fresh + * gap fails (a type alias was removed, or a schema was published without one), + * and so does a stale line — a baseline entry left behind after its gap is + * fixed stays available to excuse the NEXT one, which is how a ratchet quietly + * stops ratcheting. + */ +export function evaluateBaseline(gaps: readonly string[], baseline: readonly string[]): BaselineVerdict { + const known = new Set(baseline); + const current = new Set(gaps); + return { + fresh: [...current].filter((g) => !known.has(g)).sort(), + stale: [...new Set(baseline)].filter((b) => !current.has(b)).sort(), + }; +}