diff --git a/.changeset/spec-documented-schema-type-alias-backfill.md b/.changeset/spec-documented-schema-type-alias-backfill.md new file mode 100644 index 0000000000..66f27640e2 --- /dev/null +++ b/.changeset/spec-documented-schema-type-alias-backfill.md @@ -0,0 +1,70 @@ +--- +"@objectstack/spec": minor +--- + +feat(spec): 73 documented schemas gain the `export type` alias their reference page was silently dropping (#4593) + +Every generated page under `content/docs/references/` opens with a "TypeScript +Usage" block that spells two imports — the schema const and the type alias. Since +#4570 the generator resolves both names against the package's real export surface +and **omits** anything that would not compile, so the docs have never advertised a +dead import. The omission was countable rather than silent +(`docs-import-surface.baseline.json`), and it was large: 136 documented JSON +Schemas published a schema const with no type alias carrying the same name, so +their pages showed the value import and no `import type` line at all. That is the +line an AI metadata author copies. + +This backfills 73 of them. Each gets the ADR-0122 house shape — the bare name is +the AUTHOR state: + +```ts +export const FileValueSchema = lazySchema(() => z.looseObject({ ... })); +export type FileValue = z.input; +``` + +Purely additive at the type level: 51 brand-new names, and 22 where the schema was +already exported under its own bare name (`export const OWDModel = z.enum([...])`) +so the alias merges with the existing const — `api-surface/` records those as +`(type)` instead of `(const)`, which is the shape the package's 84 pre-existing +const/type merges already have. No schema, `.describe()`, default or runtime +behaviour moved; no consumer changed. + +By family: 22 closed enums and enum-like vocabularies (`ApproverType`, +`AggregationFunction`, `DimensionType`, `SharingLevel`, `ReportType`, +`ActionType`, `MetadataState`, …), 20 request/props shapes (three +`DataEngine*Request`, `ElementNumberProps`, `ElementRecordPickerProps`, +`RecordPathProps`, `MetadataValidateRequest`, `GetAnalyticsMetaRequest`, …), 9 +`data/` field-value shapes (`FileValue`, `LocationValue`, `InstantValue`, +`AddressValue`, …), 7 `ui/view` configs (`KanbanConfig`, `GanttConfig`, +`CalendarConfig`, `TreeConfig`, …), and 15 others across `system/`, +`integration/`, `qa/`, `studio/`, `automation/`. + +Two entry points also re-export a name they were already publishing the schema +for, so the type reaches the same subpath as its page: `ConnectorInstanceNoAuth` +/ `Bearer` / `APIKey` / `BasicAuth` on `@objectstack/spec/integration`, and +`PanelLocation` on `@objectstack/spec/studio`. + +The ratchet shrinks 136 → 63. What stays, and why — the remainder is not a +backlog of identical work: + +- **17 already have the alias under a different name.** `Discovery` is published + as `DiscoveryResponse`, `SortDirectionEnum` as `SortDirection`, `Index` as + `ObjectIndex`. Declaring the docs-derived name as well would mint exactly the + permanent synonym ADR-0122 D3 forbids — a name an author can only pick wrongly + — so the honest fix is a rename or a doc-name change, not a second alias. +- **40 are not isomorphic**: `z.input` differs from `z.infer`, so under + ADR-0122 the bare alias needs an `XParsed` sibling rather than a pin. Whether + those 40 `XParsed` names should be published is a separate call. +- **5** sit in files under concurrent edit and were deferred rather than raced. +- **1**, `system/ServiceStatus`, cannot take the name at all: `@objectstack/spec/api` + already exports a *different* `ServiceStatus` (the discovery health enum), so + the alias would create the cross-entry-point ambiguity + `check:dual-source-exports` exists to keep at zero. One of the two names is + wrong; picking which is a rename decision. + +Isomorphism was measured, not assumed: a probe asserting +`Eq< z.input, z.infer >` over all 114 non-synonym candidates, compiled by tsc. +The 73 that came back true are pinned in +`packages/spec/src/type-alias-convention.pin.test.ts` (748 → 821), where tsc +re-proves each one on every run and goes red the day a nested `.default()` gives +one of them a second shape. diff --git a/content/docs/references/ai/conversation.mdx b/content/docs/references/ai/conversation.mdx index aa4694814c..06a5d1aeea 100644 --- a/content/docs/references/ai/conversation.mdx +++ b/content/docs/references/ai/conversation.mdx @@ -18,7 +18,7 @@ Enables context preservation, conversation history, and token optimization. ```typescript 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'; +import type { ConversationAnalytics, ConversationContext, ConversationMessage, ConversationSession, ConversationSummary, FileContent, FunctionCall, MessageContent, MessageContentType, MessagePruningEvent, MessageRole, TextContent, TokenBudgetConfig, TokenBudgetStrategy, TokenUsageStats, ToolCall } from '@objectstack/spec/ai'; // Validate data const result = CodeContentSchema.parse(data); diff --git a/content/docs/references/api/analytics.mdx b/content/docs/references/api/analytics.mdx index 11e2e4b55f..e60812fb66 100644 --- a/content/docs/references/api/analytics.mdx +++ b/content/docs/references/api/analytics.mdx @@ -18,7 +18,7 @@ Provides endpoints for executing analytical queries and discovering metadata. ```typescript import { AnalyticsEndpoint, AnalyticsMetadataResponseSchema, AnalyticsQueryRequestSchema, AnalyticsResultResponseSchema, AnalyticsSqlResponseSchema, GetAnalyticsMetaRequestSchema } from '@objectstack/spec/api'; -import type { AnalyticsEndpoint, AnalyticsMetadataResponse, AnalyticsQueryRequest, AnalyticsSqlResponse } from '@objectstack/spec/api'; +import type { AnalyticsEndpoint, AnalyticsMetadataResponse, AnalyticsQueryRequest, AnalyticsSqlResponse, GetAnalyticsMetaRequest } from '@objectstack/spec/api'; // Validate data const result = AnalyticsEndpoint.parse(data); diff --git a/content/docs/references/api/endpoint.mdx b/content/docs/references/api/endpoint.mdx index a467ba9b79..d3ad898786 100644 --- a/content/docs/references/api/endpoint.mdx +++ b/content/docs/references/api/endpoint.mdx @@ -16,7 +16,7 @@ Transform input/output data. ```typescript import { ApiEndpointSchema, ApiMappingSchema } from '@objectstack/spec/api'; -import type { ApiEndpoint } from '@objectstack/spec/api'; +import type { ApiEndpoint, ApiMapping } from '@objectstack/spec/api'; // Validate data const result = ApiEndpointSchema.parse(data); diff --git a/content/docs/references/api/metadata.mdx b/content/docs/references/api/metadata.mdx index cae83fbc6e..54c6a3961d 100644 --- a/content/docs/references/api/metadata.mdx +++ b/content/docs/references/api/metadata.mdx @@ -36,7 +36,7 @@ the entire platform, including Hono, Next.js, and NestJS adapters. ```typescript import { AppDefinitionResponseSchema, ConceptListResponseSchema, MetadataBulkRegisterRequestSchema, 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, MetadataBulkRegisterRequest, MetadataBulkResponse, MetadataDeleteResponse, MetadataDependenciesResponse, MetadataDependentsResponse, MetadataEffectiveResponse, MetadataExistsResponse, MetadataExportResponse, MetadataImportResponse, MetadataItemResponse, MetadataListResponse, MetadataNamesResponse, MetadataOverlayResponse, MetadataQueryResponse, MetadataRegisterRequest, MetadataTypeInfoResponse, MetadataTypesResponse, MetadataValidateResponse, ObjectDefinitionResponse } from '@objectstack/spec/api'; +import type { AppDefinitionResponse, ConceptListResponse, MetadataBulkRegisterRequest, MetadataBulkResponse, MetadataBulkUnregisterRequest, MetadataDeleteResponse, MetadataDependenciesResponse, MetadataDependentsResponse, MetadataEffectiveResponse, MetadataExistsResponse, MetadataExportResponse, MetadataImportResponse, MetadataItemResponse, MetadataListResponse, MetadataNamesResponse, MetadataOverlayResponse, MetadataQueryResponse, MetadataRegisterRequest, MetadataTypeInfoResponse, MetadataTypesResponse, MetadataValidateRequest, MetadataValidateResponse, ObjectDefinitionResponse } from '@objectstack/spec/api'; // Validate data const result = AppDefinitionResponseSchema.parse(data); diff --git a/content/docs/references/api/realtime.mdx b/content/docs/references/api/realtime.mdx index 66ac1e4f17..10abb8b353 100644 --- a/content/docs/references/api/realtime.mdx +++ b/content/docs/references/api/realtime.mdx @@ -13,7 +13,7 @@ description: Realtime protocol schemas ```typescript import { RealtimeConfigSchema, RealtimeEventSchema, RealtimeEventType, RealtimePresenceSchema, SubscriptionSchema, SubscriptionEventSchema, TransportProtocol } from '@objectstack/spec/api'; -import type { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, TransportProtocol } from '@objectstack/spec/api'; +import type { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, SubscriptionEvent, TransportProtocol } from '@objectstack/spec/api'; // Validate data const result = RealtimeConfigSchema.parse(data); diff --git a/content/docs/references/automation/approval.mdx b/content/docs/references/automation/approval.mdx index 7449f0096b..027aa8f3e5 100644 --- a/content/docs/references/automation/approval.mdx +++ b/content/docs/references/automation/approval.mdx @@ -13,7 +13,7 @@ description: Approval protocol schemas ```typescript import { ApprovalDecision, ApprovalEscalationSchema, ApprovalNodeApproverSchema, ApprovalNodeConfigSchema, ApproverType, DecisionOutputDefSchema } from '@objectstack/spec/automation'; -import type { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, DecisionOutputDef } from '@objectstack/spec/automation'; +import type { ApprovalDecision, ApprovalEscalation, ApprovalNodeApprover, ApprovalNodeConfig, ApproverType, DecisionOutputDef } from '@objectstack/spec/automation'; // Validate data const result = ApprovalDecision.parse(data); diff --git a/content/docs/references/automation/flow.mdx b/content/docs/references/automation/flow.mdx index b1a8c783c1..d75a1123da 100644 --- a/content/docs/references/automation/flow.mdx +++ b/content/docs/references/automation/flow.mdx @@ -25,7 +25,7 @@ no longer constrains authored flows — plugins extend the vocabulary. ```typescript import { FlowSchema, FlowEdgeSchema, FlowNodeSchema, FlowNodeAction, FlowVariableSchema, FlowVersionHistorySchema } from '@objectstack/spec/automation'; -import type { Flow, FlowEdge, FlowNode, FlowVersionHistory } from '@objectstack/spec/automation'; +import type { Flow, FlowEdge, FlowNode, FlowNodeAction, FlowVersionHistory } from '@objectstack/spec/automation'; // Validate data const result = FlowSchema.parse(data); diff --git a/content/docs/references/automation/state-machine.mdx b/content/docs/references/automation/state-machine.mdx index cd7019fd24..4ff46a0a39 100644 --- a/content/docs/references/automation/state-machine.mdx +++ b/content/docs/references/automation/state-machine.mdx @@ -69,7 +69,7 @@ is no openness here to preserve, only a silence to end. ```typescript import { ActionRefSchema, GuardRefSchema, StateMachineSchema, StateNodeSchema, TransitionSchema } from '@objectstack/spec/automation'; -import type { ActionRef, Transition } from '@objectstack/spec/automation'; +import type { ActionRef, GuardRef, StateNode, Transition } from '@objectstack/spec/automation'; // Validate data const result = ActionRefSchema.parse(data); diff --git a/content/docs/references/data/analytics.mdx b/content/docs/references/data/analytics.mdx index 17a6492658..b7b227bbb3 100644 --- a/content/docs/references/data/analytics.mdx +++ b/content/docs/references/data/analytics.mdx @@ -21,7 +21,7 @@ This layer decouples the "Physical Data" (Tables/Columns) from the ```typescript import { AggregationMetricType, AnalyticsQuerySchema, CubeSchema, CubeJoinSchema, DimensionSchema, DimensionType, MetricSchema, TimeUpdateInterval } from '@objectstack/spec/data'; -import type { AnalyticsQuery, Cube, CubeJoin, Dimension, Metric } from '@objectstack/spec/data'; +import type { AggregationMetricType, AnalyticsQuery, Cube, CubeJoin, Dimension, DimensionType, Metric, TimeUpdateInterval } 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 55de25325b..79f5d19def 100644 --- a/content/docs/references/data/context-tokens.mdx +++ b/content/docs/references/data/context-tokens.mdx @@ -84,7 +84,7 @@ selector state. ```typescript import { ContextTokenSchema, ContextTokenPlaceholderSchema } from '@objectstack/spec/data'; -import type { ContextToken } from '@objectstack/spec/data'; +import type { ContextToken, ContextTokenPlaceholder } from '@objectstack/spec/data'; // Validate 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 07ae177fa0..0f920f8715 100644 --- a/content/docs/references/data/data-engine.mdx +++ b/content/docs/references/data/data-engine.mdx @@ -22,7 +22,7 @@ The Data Engine acts as the "Driver" layer in the Hexagonal Architecture. ```typescript import { BaseEngineOptionsSchema, DataEngineAggregateOptionsSchema, DataEngineAggregateRequestSchema, 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'; +import type { BaseEngineOptions, DataEngineAggregateOptions, DataEngineCountOptions, DataEngineDeleteOptions, DataEngineExecuteRequest, DataEngineFilter, DataEngineInsertOptions, DataEngineInsertRequest, DataEngineQueryOptions, DataEngineRequest, DataEngineSort, DataEngineUpdateOptions, DataEngineVectorFindRequest, DroppedFieldsEvent, EngineAggregateOptions, EngineCountOptions, EngineDeleteOptions, EngineQueryOptions, EngineUpdateOptions } from '@objectstack/spec/data'; // Validate data const result = BaseEngineOptionsSchema.parse(data); diff --git a/content/docs/references/data/datasource.mdx b/content/docs/references/data/datasource.mdx index 7b697265c5..23d8197f11 100644 --- a/content/docs/references/data/datasource.mdx +++ b/content/docs/references/data/datasource.mdx @@ -16,7 +16,7 @@ Can be a built-in driver or a plugin-contributed driver (e.g., "com.vendor.snowf ```typescript import { DatasourceSchema, DriverDefinitionSchema, DriverType, ExternalDatasourceSettingsSchema, SchemaModeSchema } from '@objectstack/spec/data'; -import type { Datasource, DriverDefinition, ExternalDatasourceSettings, SchemaMode } from '@objectstack/spec/data'; +import type { Datasource, DriverDefinition, DriverType, ExternalDatasourceSettings, SchemaMode } from '@objectstack/spec/data'; // Validate 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 0799e0f1fc..8b8da4ff5a 100644 --- a/content/docs/references/data/date-macros.mdx +++ b/content/docs/references/data/date-macros.mdx @@ -84,7 +84,7 @@ inside any single UI implementation. ```typescript import { DateMacroPlaceholderSchema, DateMacroTokenSchema } from '@objectstack/spec/data'; -import type { DateMacroToken } from '@objectstack/spec/data'; +import type { DateMacroPlaceholder, DateMacroToken } from '@objectstack/spec/data'; // Validate data const result = DateMacroPlaceholderSchema.parse(data); diff --git a/content/docs/references/data/driver-common.mdx b/content/docs/references/data/driver-common.mdx index 209cc61ec1..8aeb9b83aa 100644 --- a/content/docs/references/data/driver-common.mdx +++ b/content/docs/references/data/driver-common.mdx @@ -28,7 +28,7 @@ contract to look supported. ```typescript import { DriverSslToggleSchema, SqlAutoMigrateSchema } from '@objectstack/spec/data'; -import type { SqlAutoMigrate } from '@objectstack/spec/data'; +import type { DriverSslToggle, SqlAutoMigrate } from '@objectstack/spec/data'; // Validate data const result = DriverSslToggleSchema.parse(data); diff --git a/content/docs/references/data/field-value.mdx b/content/docs/references/data/field-value.mdx index 233e9c63bc..ed8da5965b 100644 --- a/content/docs/references/data/field-value.mdx +++ b/content/docs/references/data/field-value.mdx @@ -41,6 +41,7 @@ this contract has (ADR-0104 performance budget). ```typescript import { AddressValueSchema, CalendarDateValueSchema, ClockTimeValueSchema, FileLikeValueSchema, FileReferenceIdValueSchema, FileValueSchema, InstantValueSchema, LocationValueSchema, ReferenceIdValueSchema } from '@objectstack/spec/data'; +import type { AddressValue, CalendarDateValue, ClockTimeValue, FileLikeValue, FileReferenceIdValue, FileValue, InstantValue, LocationValue, ReferenceIdValue } from '@objectstack/spec/data'; // Validate data const result = AddressValueSchema.parse(data); diff --git a/content/docs/references/data/mapping.mdx b/content/docs/references/data/mapping.mdx index 57142beb06..df02b13b7e 100644 --- a/content/docs/references/data/mapping.mdx +++ b/content/docs/references/data/mapping.mdx @@ -13,7 +13,7 @@ description: Mapping protocol schemas ```typescript import { ImportFieldMappingSchema, MappingSchema, TransformType } from '@objectstack/spec/data'; -import type { ImportFieldMapping, Mapping } from '@objectstack/spec/data'; +import type { ImportFieldMapping, Mapping, TransformType } from '@objectstack/spec/data'; // Validate data const result = ImportFieldMappingSchema.parse(data); diff --git a/content/docs/references/data/query.mdx b/content/docs/references/data/query.mdx index c22de732ce..c56b17ce3f 100644 --- a/content/docs/references/data/query.mdx +++ b/content/docs/references/data/query.mdx @@ -17,7 +17,7 @@ REJECTED (#4721); spell the direction `order`, never `direction`. ```typescript import { AggregationFunction, AggregationNodeSchema, DateGranularity, FieldNodeSchema, FullTextSearchSchema, GroupByNodeSchema, QuerySchema, SortNodeSchema } from '@objectstack/spec/data'; -import type { AggregationNode, FieldNode, FullTextSearch, GroupByNode, SortNode } from '@objectstack/spec/data'; +import type { AggregationFunction, AggregationNode, FieldNode, FullTextSearch, GroupByNode, SortNode } from '@objectstack/spec/data'; // Validate data const result = AggregationFunction.parse(data); diff --git a/content/docs/references/integration/connector.mdx b/content/docs/references/integration/connector.mdx index 405501c354..75603fbd5f 100644 --- a/content/docs/references/integration/connector.mdx +++ b/content/docs/references/integration/connector.mdx @@ -128,7 +128,7 @@ an exception for itself.) ```typescript import { CircuitBreakerConfigSchema, ConnectorSchema, ConnectorActionSchema, ConnectorActionEffectSchema, ConnectorConflictResolutionSchema, ConnectorErrorCategorySchema, ConnectorFieldMappingSchema, ConnectorHealthSchema, ConnectorInstanceAPIKeyAuthSchema, ConnectorInstanceAuthSchema, ConnectorInstanceBasicAuthSchema, ConnectorInstanceBearerAuthSchema, ConnectorInstanceNoAuthSchema, ConnectorRetryStrategySchema, ConnectorStatusSchema, ConnectorTriggerSchema, ConnectorTypeSchema, DataSyncConfigSchema, DeclarativeConnectorEntrySchema, ErrorMappingConfigSchema, ErrorMappingRuleSchema, HealthCheckConfigSchema, RetryConfigSchema, SyncStrategySchema, WebhookConfigSchema, WebhookEventSchema, WebhookSignatureAlgorithmSchema } from '@objectstack/spec/integration'; -import type { CircuitBreakerConfig, Connector, ConnectorActionEffect, ConnectorConflictResolution, ConnectorErrorCategory, ConnectorFieldMapping, ConnectorHealth, ConnectorInstanceAuth, ConnectorRetryStrategy, ConnectorStatus, ConnectorType, DataSyncConfig, DeclarativeConnectorEntry, ErrorMappingConfig, ErrorMappingRule, HealthCheckConfig, RetryConfig, SyncStrategy, WebhookConfig, WebhookEvent, WebhookSignatureAlgorithm } from '@objectstack/spec/integration'; +import type { CircuitBreakerConfig, Connector, ConnectorAction, ConnectorActionEffect, ConnectorConflictResolution, ConnectorErrorCategory, ConnectorFieldMapping, ConnectorHealth, ConnectorInstanceAPIKeyAuth, ConnectorInstanceAuth, ConnectorInstanceBasicAuth, ConnectorInstanceBearerAuth, ConnectorInstanceNoAuth, ConnectorRetryStrategy, ConnectorStatus, ConnectorTrigger, ConnectorType, DataSyncConfig, DeclarativeConnectorEntry, ErrorMappingConfig, ErrorMappingRule, HealthCheckConfig, RetryConfig, SyncStrategy, WebhookConfig, WebhookEvent, WebhookSignatureAlgorithm } from '@objectstack/spec/integration'; // Validate data const result = CircuitBreakerConfigSchema.parse(data); diff --git a/content/docs/references/qa/testing.mdx b/content/docs/references/qa/testing.mdx index 08f31aca25..8f74f8314a 100644 --- a/content/docs/references/qa/testing.mdx +++ b/content/docs/references/qa/testing.mdx @@ -13,7 +13,7 @@ description: Testing protocol schemas ```typescript import { TestActionSchema, TestActionTypeSchema, TestAssertionSchema, TestAssertionTypeSchema, TestContextSchema, TestScenarioSchema, TestStepSchema, TestSuiteSchema } from '@objectstack/spec/qa'; -import type { TestAction, TestAssertion, TestScenario, TestStep, TestSuite } from '@objectstack/spec/qa'; +import type { TestAction, TestActionType, TestAssertion, TestAssertionType, TestContext, TestScenario, TestStep, TestSuite } from '@objectstack/spec/qa'; // Validate data const result = TestActionSchema.parse(data); diff --git a/content/docs/references/security/sharing.mdx b/content/docs/references/security/sharing.mdx index aa91e11602..c48fc89f09 100644 --- a/content/docs/references/security/sharing.mdx +++ b/content/docs/references/security/sharing.mdx @@ -16,7 +16,7 @@ The baseline security posture for an object. ```typescript import { CriteriaSharingRuleSchema, OWDModel, ShareRecipientType, SharingLevel, SharingRuleSchema, SharingRuleType } from '@objectstack/spec/security'; -import type { CriteriaSharingRule, SharingRule } from '@objectstack/spec/security'; +import type { CriteriaSharingRule, OWDModel, ShareRecipientType, SharingLevel, SharingRule, SharingRuleType } from '@objectstack/spec/security'; // Validate data const result = CriteriaSharingRuleSchema.parse(data); diff --git a/content/docs/references/studio/plugin.mdx b/content/docs/references/studio/plugin.mdx index 2e05ce00bc..103044801b 100644 --- a/content/docs/references/studio/plugin.mdx +++ b/content/docs/references/studio/plugin.mdx @@ -65,7 +65,7 @@ const manifest = StudioPluginManifestSchema.parse({ ```typescript import { ActionContributionSchema, ActionContributionLocationSchema, CommandContributionSchema, MetadataIconContributionSchema, MetadataViewerContributionSchema, PanelContributionSchema, PanelLocationSchema, SidebarGroupContributionSchema, StudioPluginContributionsSchema, StudioPluginManifestSchema, ViewModeSchema } from '@objectstack/spec/studio'; -import type { ActionContribution, ActionContributionLocation, CommandContribution, MetadataIconContribution, MetadataViewerContribution, PanelContribution, SidebarGroupContribution, StudioPluginContributions, StudioPluginManifest, ViewMode } from '@objectstack/spec/studio'; +import type { ActionContribution, ActionContributionLocation, CommandContribution, MetadataIconContribution, MetadataViewerContribution, PanelContribution, PanelLocation, SidebarGroupContribution, StudioPluginContributions, StudioPluginManifest, ViewMode } from '@objectstack/spec/studio'; // Validate data const result = ActionContributionSchema.parse(data); diff --git a/content/docs/references/system/core-services.mdx b/content/docs/references/system/core-services.mdx index be32f42a98..e0012e5b7b 100644 --- a/content/docs/references/system/core-services.mdx +++ b/content/docs/references/system/core-services.mdx @@ -21,7 +21,7 @@ This registry is used by the `ObjectKernel` and `HttpDispatcher` to: ```typescript import { CoreServiceName, KernelServiceMapSchema, ServiceConfigSchema, ServiceCriticalitySchema, ServiceStatusSchema } from '@objectstack/spec/system'; -import type { CoreServiceName } from '@objectstack/spec/system'; +import type { CoreServiceName, KernelServiceMap, ServiceConfig, ServiceCriticality } from '@objectstack/spec/system'; // Validate data const result = CoreServiceName.parse(data); diff --git a/content/docs/references/system/metadata-persistence.mdx b/content/docs/references/system/metadata-persistence.mdx index 498080f54b..e47f3f1fac 100644 --- a/content/docs/references/system/metadata-persistence.mdx +++ b/content/docs/references/system/metadata-persistence.mdx @@ -16,7 +16,7 @@ Defines the lifecycle and mutability of a metadata item. ```typescript import { MetadataCollectionInfoSchema, MetadataDiffResultSchema, MetadataFallbackStrategySchema, MetadataFormatSchema, MetadataHistoryQueryOptionsSchema, MetadataHistoryQueryResultSchema, MetadataHistoryRecordSchema, MetadataHistoryRetentionPolicySchema, MetadataLoadOptionsSchema, MetadataLoadResultSchema, MetadataLoaderContractSchema, MetadataManagerConfigSchema, MetadataRecordSchema, MetadataSaveOptionsSchema, MetadataSaveResultSchema, MetadataScopeSchema, MetadataSourceSchema, MetadataStateSchema, MetadataStatsSchema, MetadataWatchEventSchema, PackagePublishResultSchema } from '@objectstack/spec/system'; -import type { MetadataCollectionInfo, MetadataDiffResult, MetadataFallbackStrategy, MetadataFormat, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataManagerConfig, MetadataRecord, MetadataSaveOptions, MetadataSaveResult, MetadataScope, MetadataSource, MetadataStats, MetadataWatchEvent, PackagePublishResult } from '@objectstack/spec/system'; +import type { MetadataCollectionInfo, MetadataDiffResult, MetadataFallbackStrategy, MetadataFormat, MetadataHistoryQueryOptions, MetadataHistoryQueryResult, MetadataHistoryRecord, MetadataHistoryRetentionPolicy, MetadataLoadOptions, MetadataLoadResult, MetadataLoaderContract, MetadataManagerConfig, MetadataRecord, MetadataSaveOptions, MetadataSaveResult, MetadataScope, MetadataSource, MetadataState, MetadataStats, MetadataWatchEvent, PackagePublishResult } from '@objectstack/spec/system'; // Validate data const result = MetadataCollectionInfoSchema.parse(data); diff --git a/content/docs/references/system/migration.mdx b/content/docs/references/system/migration.mdx index a8f0a49a30..e6029da0e8 100644 --- a/content/docs/references/system/migration.mdx +++ b/content/docs/references/system/migration.mdx @@ -27,7 +27,7 @@ irreversibly on migrated data gate on the flag instead of the version. ```typescript import { AddFieldOperation, ChangeSetSchema, CreateObjectOperation, DataMigrationFlagSchema, DeleteObjectOperation, ExecuteSqlOperation, MigrationDependencySchema, MigrationJournalEventSchema, MigrationOperationSchema, ModifyFieldOperation, RemoveFieldOperation, RenameObjectOperation } from '@objectstack/spec/system'; -import type { ChangeSet, DataMigrationFlag, MigrationJournalEvent, MigrationOperation } from '@objectstack/spec/system'; +import type { ChangeSet, DataMigrationFlag, DeleteObjectOperation, ExecuteSqlOperation, MigrationDependency, MigrationJournalEvent, MigrationOperation, ModifyFieldOperation, RemoveFieldOperation, RenameObjectOperation } from '@objectstack/spec/system'; // Validate data const result = AddFieldOperation.parse(data); diff --git a/content/docs/references/system/translation.mdx b/content/docs/references/system/translation.mdx index ecae7950d9..cbdc3de9d1 100644 --- a/content/docs/references/system/translation.mdx +++ b/content/docs/references/system/translation.mdx @@ -13,7 +13,7 @@ description: Translation protocol schemas ```typescript 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'; +import type { ActionResultDialogTranslation, CoverageBreakdownEntry, FieldTranslation, Locale, ObjectTranslationData, TranslationBundle, TranslationConfig, TranslationCoverageResult, TranslationData, TranslationDiffItem, TranslationDiffStatus, TranslationItem } from '@objectstack/spec/system'; // Validate data const result = ActionResultDialogTranslationSchema.parse(data); diff --git a/content/docs/references/ui/action.mdx b/content/docs/references/ui/action.mdx index 49fc476b94..1b1b65f33c 100644 --- a/content/docs/references/ui/action.mdx +++ b/content/docs/references/ui/action.mdx @@ -46,7 +46,7 @@ to the field name and is used as the request-body key). ```typescript import { ActionSchema, ActionAiSchema, ActionLocationSchema, ActionParamSchema, ActionType, InlineActionSchema } from '@objectstack/spec/ui'; -import type { Action, ActionAi, ActionLocation, ActionParam, InlineAction } from '@objectstack/spec/ui'; +import type { Action, ActionAi, ActionLocation, ActionParam, ActionType, InlineAction } from '@objectstack/spec/ui'; // Validate data const result = ActionSchema.parse(data); diff --git a/content/docs/references/ui/component.mdx b/content/docs/references/ui/component.mdx index 35ac7b6c99..d74f9f83f8 100644 --- a/content/docs/references/ui/component.mdx +++ b/content/docs/references/ui/component.mdx @@ -15,7 +15,7 @@ Empty Properties Schema ```typescript import { AIChatWindowProps, ElementButtonPropsSchema, ElementFilterPropsSchema, ElementFormPropsSchema, ElementImagePropsSchema, ElementMetadataViewerPropsSchema, ElementNumberPropsSchema, ElementRecordPickerPropsSchema, ElementTextInputPropsSchema, ElementTextPropsSchema, PageAccordionProps, PageCardProps, PageContainerProps, PageHeaderProps, PageTabsProps, RecordActivityProps, RecordChatterProps, RecordDetailsProps, RecordHighlightsField, RecordHighlightsProps, RecordPathProps, RecordRelatedListProps } from '@objectstack/spec/ui'; -import type { PageContainerProps } from '@objectstack/spec/ui'; +import type { ElementNumberProps, ElementRecordPickerProps, PageContainerProps, RecordHighlightsField, RecordPathProps } from '@objectstack/spec/ui'; // Validate data const result = AIChatWindowProps.parse(data); diff --git a/content/docs/references/ui/page.mdx b/content/docs/references/ui/page.mdx index d9985bac89..174feecb1f 100644 --- a/content/docs/references/ui/page.mdx +++ b/content/docs/references/ui/page.mdx @@ -16,7 +16,7 @@ A named region in the template where components are dropped. ```typescript 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'; +import type { ElementDataSource, InterfacePageConfig, Page, PageComponent, PageComponentType, PageRegion, PageType, PageVariable } from '@objectstack/spec/ui'; // Validate data const result = ElementDataSourceSchema.parse(data); diff --git a/content/docs/references/ui/report.mdx b/content/docs/references/ui/report.mdx index 12f3a6b0d4..8b9da13155 100644 --- a/content/docs/references/ui/report.mdx +++ b/content/docs/references/ui/report.mdx @@ -15,7 +15,7 @@ Report Type Enum ```typescript import { JoinedReportBlockSchema, ReportSchema, ReportChartSchema, ReportSortSchema, ReportType } from '@objectstack/spec/ui'; -import type { JoinedReportBlock, Report, ReportChart, ReportSort } from '@objectstack/spec/ui'; +import type { JoinedReportBlock, Report, ReportChart, ReportSort, ReportType } from '@objectstack/spec/ui'; // Validate data const result = JoinedReportBlockSchema.parse(data); diff --git a/content/docs/references/ui/responsive.mdx b/content/docs/references/ui/responsive.mdx index a558480299..530fcd00a0 100644 --- a/content/docs/references/ui/responsive.mdx +++ b/content/docs/references/ui/responsive.mdx @@ -13,7 +13,7 @@ description: Responsive protocol schemas ```typescript import { BreakpointColumnMapSchema, BreakpointName, BreakpointOrderMapSchema, ResponsiveConfigSchema, ResponsiveStylesSchema, StyleMapSchema } from '@objectstack/spec/ui'; -import type { BreakpointName, ResponsiveConfig, ResponsiveStyles, StyleMap } from '@objectstack/spec/ui'; +import type { BreakpointColumnMap, BreakpointName, BreakpointOrderMap, ResponsiveConfig, ResponsiveStyles, StyleMap } from '@objectstack/spec/ui'; // Validate data const result = BreakpointColumnMapSchema.parse(data); diff --git a/content/docs/references/ui/view.mdx b/content/docs/references/ui/view.mdx index 50b60fa926..3b47cc8cb2 100644 --- a/content/docs/references/ui/view.mdx +++ b/content/docs/references/ui/view.mdx @@ -16,7 +16,7 @@ Migrated to [shared/http.zod.ts](/docs/references/shared/http). Re-exported here ```typescript import { AddRecordConfigSchema, AppearanceConfigSchema, CalendarConfigSchema, ColumnPrefixSchema, ColumnSummarySchema, ColumnSummaryConfigSchema, FormButtonConfigSchema, FormFieldSchema, FormSectionSchema, FormViewSchema, GalleryConfigSchema, GanttConfigSchema, GanttQuickFilterSchema, GroupingConfigSchema, GroupingFieldSchema, HttpMethodSubsetSchema, HttpRequestSchema, KanbanConfigSchema, ListChartConfigSchema, ListColumnSchema, ListViewSchema, NavigationConfigSchema, NavigationModeSchema, ObjectListViewSchema, ObjectUserFiltersSchema, PaginationConfigSchema, RowColorConfigSchema, RowHeightSchema, SelectionConfigSchema, TimelineConfigSchema, TreeConfigSchema, UserActionsConfigSchema, UserFilterFieldSchema, UserFiltersSchema, ViewSchema, ViewDataSchema, ViewFilterRuleSchema, ViewItemSchema, ViewItemNameSchema, ViewItemWireSchema, ViewKindSchema, ViewScopeSchema, ViewSharingSchema, ViewTabSchema, VisualizationTypeSchema } from '@objectstack/spec/ui'; -import type { AddRecordConfig, AppearanceConfig, ColumnPrefix, ColumnSummary, ColumnSummaryConfig, FormButtonConfig, FormField, FormSection, FormView, GalleryConfig, GroupingConfig, HttpMethodSubset, HttpRequest, ListChartConfig, ListColumn, ListView, NavigationConfig, PaginationConfig, RowColorConfig, RowHeight, SelectionConfig, TimelineConfig, UserActionsConfig, UserFilterField, UserFilters, View, ViewData, ViewFilterRule, ViewItem, ViewItemWire, 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, HttpMethodSubset, HttpRequest, KanbanConfig, ListChartConfig, ListColumn, ListView, NavigationConfig, NavigationMode, PaginationConfig, RowColorConfig, RowHeight, SelectionConfig, TimelineConfig, TreeConfig, UserActionsConfig, UserFilterField, UserFilters, View, ViewData, ViewFilterRule, ViewItem, ViewItemName, ViewItemWire, ViewKind, ViewScope, ViewSharing, ViewTab, VisualizationType } from '@objectstack/spec/ui'; // Validate data const result = AddRecordConfigSchema.parse(data); diff --git a/packages/spec/api-surface/ai.json b/packages/spec/api-surface/ai.json index 7b8609741d..2097bc3b25 100644 --- a/packages/spec/api-surface/ai.json +++ b/packages/spec/api-surface/ai.json @@ -47,6 +47,7 @@ "ConversationSummarySchema (const)", "EmbeddingModel (type)", "EmbeddingModelSchema (const)", + "FileContent (type)", "FileContentSchema (const)", "FileKnowledgeSource (type)", "FileKnowledgeSourceSchema (const)", @@ -140,6 +141,7 @@ "StructuredOutputConfigSchema (const)", "StructuredOutputFormat (type)", "StructuredOutputFormatSchema (const)", + "TextContent (type)", "TextContentSchema (const)", "TokenBudgetConfig (type)", "TokenBudgetConfigParsed (type)", diff --git a/packages/spec/api-surface/api.json b/packages/spec/api-surface/api.json index ee12fb522e..1061f635c5 100644 --- a/packages/spec/api-surface/api.json +++ b/packages/spec/api-surface/api.json @@ -53,6 +53,7 @@ "ApiError (type)", "ApiErrorParsed (type)", "ApiErrorSchema (const)", + "ApiMapping (type)", "ApiMappingSchema (const)", "ApiRoutes (type)", "ApiRoutesSchema (const)", @@ -367,6 +368,7 @@ "GeneratedApiDocumentationSchema (const)", "GeneratedEndpoint (type)", "GeneratedEndpointSchema (const)", + "GetAnalyticsMetaRequest (type)", "GetAnalyticsMetaRequestSchema (const)", "GetAuthConfigResponse (type)", "GetAuthConfigResponseParsed (type)", @@ -573,6 +575,7 @@ "MetadataBulkResponse (type)", "MetadataBulkResponseParsed (type)", "MetadataBulkResponseSchema (const)", + "MetadataBulkUnregisterRequest (type)", "MetadataBulkUnregisterRequestSchema (const)", "MetadataCacheApi (const)", "MetadataCacheRequest (type)", @@ -636,6 +639,7 @@ "MetadataTypesResponse (type)", "MetadataTypesResponseParsed (type)", "MetadataTypesResponseSchema (const)", + "MetadataValidateRequest (type)", "MetadataValidateRequestSchema (const)", "MetadataValidateResponse (type)", "MetadataValidateResponseParsed (type)", @@ -867,6 +871,7 @@ "SubscribeMessage (type)", "SubscribeMessageSchema (const)", "Subscription (type)", + "SubscriptionEvent (type)", "SubscriptionEventSchema (const)", "SubscriptionSchema (const)", "ToggleFlowRequest (type)", diff --git a/packages/spec/api-surface/automation.json b/packages/spec/api-surface/automation.json index 97767d9b31..4cbf96b226 100644 --- a/packages/spec/api-surface/automation.json +++ b/packages/spec/api-surface/automation.json @@ -29,7 +29,7 @@ "ApprovalNodeConfigParsed (type)", "ApprovalNodeConfigSchema (const)", "ApproverOrgSymbol (type)", - "ApproverType (const)", + "ApproverType (type)", "ApproverValueBinding (type)", "BPMN_BOUNDARY_EVENT (const)", "BPMN_JOIN_GATEWAY (const)", @@ -112,7 +112,7 @@ "FlowFunctionEntrySchema (const)", "FlowGraph (interface)", "FlowNode (type)", - "FlowNodeAction (const)", + "FlowNodeAction (type)", "FlowNodeExpressionPath (interface)", "FlowNodeExpressionRole (type)", "FlowNodeParsed (type)", @@ -138,6 +138,7 @@ "GetRecordConfig (type)", "GetRecordConfigParsed (type)", "GetRecordConfigSchema (const)", + "GuardRef (type)", "GuardRefSchema (const)", "HttpConfig (type)", "HttpConfigParsed (type)", @@ -188,6 +189,7 @@ "ScriptConfigSchema (const)", "StateMachineConfig (type)", "StateMachineSchema (const)", + "StateNode (type)", "StateNodeConfig (type)", "StateNodeSchema (const)", "SubflowConfig (type)", diff --git a/packages/spec/api-surface/data.json b/packages/spec/api-surface/data.json index a39209b60b..c3afbd77aa 100644 --- a/packages/spec/api-surface/data.json +++ b/packages/spec/api-surface/data.json @@ -10,9 +10,10 @@ "AUDIT_PROVENANCE_FIELDS (const)", "Address (type)", "AddressSchema (const)", + "AddressValue (type)", "AddressValueSchema (const)", - "AggregationFunction (const)", - "AggregationMetricType (const)", + "AggregationFunction (type)", + "AggregationMetricType (type)", "AggregationNode (type)", "AggregationNodeSchema (const)", "AggregationPipeline (type)", @@ -50,7 +51,9 @@ "CONTEXT_TOKEN_DESCRIPTIONS (const)", "CONTEXT_TOKEN_SUGGESTIONS (const)", "CONTEXT_TOKEN_WRAPPED_RE (const)", + "CalendarDateValue (type)", "CalendarDateValueSchema (const)", + "ClockTimeValue (type)", "ClockTimeValueSchema (const)", "ComparisonOperatorSchema (const)", "Compatibility (type)", @@ -60,6 +63,7 @@ "ConsistencyLevel (type)", "ConsistencyLevelSchema (const)", "ContextToken (type)", + "ContextTokenPlaceholder (type)", "ContextTokenPlaceholderSchema (const)", "ContextTokenSchema (const)", "CrossFieldValidation (type)", @@ -104,6 +108,7 @@ "DataEngineDeleteOptions (type)", "DataEngineDeleteOptionsSchema (const)", "DataEngineDeleteRequestSchema (const)", + "DataEngineExecuteRequest (type)", "DataEngineExecuteRequestSchema (const)", "DataEngineFilter (type)", "DataEngineFilterSchema (const)", @@ -111,6 +116,7 @@ "DataEngineFindRequestSchema (const)", "DataEngineInsertOptions (type)", "DataEngineInsertOptionsSchema (const)", + "DataEngineInsertRequest (type)", "DataEngineInsertRequestSchema (const)", "DataEngineQueryOptions (type)", "DataEngineQueryOptionsParsed (type)", @@ -124,6 +130,7 @@ "DataEngineUpdateOptions (type)", "DataEngineUpdateOptionsSchema (const)", "DataEngineUpdateRequestSchema (const)", + "DataEngineVectorFindRequest (type)", "DataEngineVectorFindRequestSchema (const)", "DataTypeMapping (type)", "DataTypeMappingSchema (const)", @@ -134,6 +141,7 @@ "DateGranularityValue (type)", "DateMacroDirection (type)", "DateMacroParamMatch (interface)", + "DateMacroPlaceholder (type)", "DateMacroPlaceholderSchema (const)", "DateMacroToken (type)", "DateMacroTokenSchema (const)", @@ -141,7 +149,7 @@ "DefaultValueToken (type)", "Dimension (type)", "DimensionSchema (const)", - "DimensionType (const)", + "DimensionType (type)", "DisplayNameObjectMeta (interface)", "Document (type)", "DocumentParsed (type)", @@ -168,8 +176,9 @@ "DriverInterfaceSchema (const)", "DriverOptions (type)", "DriverOptionsSchema (const)", + "DriverSslToggle (type)", "DriverSslToggleSchema (const)", - "DriverType (const)", + "DriverType (type)", "DroppedFieldsEvent (type)", "DroppedFieldsEventSchema (const)", "ESignatureConfig (type)", @@ -235,11 +244,14 @@ "FieldReferenceSchema (const)", "FieldSchema (const)", "FieldType (type)", + "FileLikeValue (type)", "FileLikeValueSchema (const)", "FilePersistenceConfig (type)", "FilePersistenceConfigParsed (type)", "FilePersistenceConfigSchema (const)", + "FileReferenceIdValue (type)", "FileReferenceIdValueSchema (const)", + "FileValue (type)", "FileValueSchema (const)", "Filter (type)", "FilterArray (type)", @@ -289,6 +301,7 @@ "ImportFieldMappingSchema (const)", "IndexSchema (const)", "InjectedSystemColumnPlan (interface)", + "InstantValue (type)", "InstantValueSchema (const)", "JSONValidation (type)", "JSONValidationParsed (type)", @@ -306,6 +319,7 @@ "LocalStoragePersistenceConfigSchema (const)", "LocationCoordinates (type)", "LocationCoordinatesSchema (const)", + "LocationValue (type)", "LocationValueSchema (const)", "LogicalOperatorKey (type)", "MAX_BULK_PER_ROW_HOOK_ROWS (const)", @@ -426,6 +440,7 @@ "RecordSurface (type)", "RecordSurfaceOptions (interface)", "RecordSurfaceViewport (type)", + "ReferenceIdValue (type)", "ReferenceIdValueSchema (const)", "ReferenceResolution (type)", "ReferenceResolutionError (type)", @@ -540,9 +555,9 @@ "TemporalWriterForm (type)", "TenancyConfig (type)", "TenancyConfigSchema (const)", - "TimeUpdateInterval (const)", + "TimeUpdateInterval (type)", "TitleEligibleFieldDef (interface)", - "TransformType (const)", + "TransformType (type)", "UniqueScope (type)", "UniqueScopeSchema (const)", "UnknownAuthoringKeyFinding (interface)", diff --git a/packages/spec/api-surface/integration.json b/packages/spec/api-surface/integration.json index 424b332ba4..fa578760e0 100644 --- a/packages/spec/api-surface/integration.json +++ b/packages/spec/api-surface/integration.json @@ -7,6 +7,7 @@ "CircuitBreakerConfigParsed (type)", "CircuitBreakerConfigSchema (const)", "Connector (type)", + "ConnectorAction (type)", "ConnectorActionDescriptor (interface)", "ConnectorActionEffect (type)", "ConnectorActionEffectSchema (const)", @@ -22,11 +23,15 @@ "ConnectorHealth (type)", "ConnectorHealthParsed (type)", "ConnectorHealthSchema (const)", + "ConnectorInstanceAPIKeyAuth (type)", "ConnectorInstanceAPIKeyAuthSchema (const)", "ConnectorInstanceAuth (type)", "ConnectorInstanceAuthSchema (const)", + "ConnectorInstanceBasicAuth (type)", "ConnectorInstanceBasicAuthSchema (const)", + "ConnectorInstanceBearerAuth (type)", "ConnectorInstanceBearerAuthSchema (const)", + "ConnectorInstanceNoAuth (type)", "ConnectorInstanceNoAuthSchema (const)", "ConnectorMaterialization (interface)", "ConnectorMaterializationHandler (type)", @@ -40,6 +45,7 @@ "ConnectorState (type)", "ConnectorStatus (type)", "ConnectorStatusSchema (const)", + "ConnectorTrigger (type)", "ConnectorTriggerSchema (const)", "ConnectorType (type)", "ConnectorTypeSchema (const)", diff --git a/packages/spec/api-surface/qa.json b/packages/spec/api-surface/qa.json index 0ca16ed129..a4b1cdacfc 100644 --- a/packages/spec/api-surface/qa.json +++ b/packages/spec/api-surface/qa.json @@ -4,10 +4,13 @@ "exports": [ "TestAction (type)", "TestActionSchema (const)", + "TestActionType (type)", "TestActionTypeSchema (const)", "TestAssertion (type)", "TestAssertionSchema (const)", + "TestAssertionType (type)", "TestAssertionTypeSchema (const)", + "TestContext (type)", "TestContextSchema (const)", "TestScenario (type)", "TestScenarioSchema (const)", diff --git a/packages/spec/api-surface/security.json b/packages/spec/api-surface/security.json index e25586bef7..0c24839148 100644 --- a/packages/spec/api-surface/security.json +++ b/packages/spec/api-surface/security.json @@ -38,7 +38,7 @@ "FieldPermission (type)", "FieldPermissionParsed (type)", "FieldPermissionSchema (const)", - "OWDModel (const)", + "OWDModel (type)", "ObjectAccessScope (type)", "ObjectAccessScopeSchema (const)", "ObjectPermission (type)", @@ -61,12 +61,12 @@ "RowLevelSecurityPolicy (type)", "RowLevelSecurityPolicyParsed (type)", "RowLevelSecurityPolicySchema (const)", - "ShareRecipientType (const)", - "SharingLevel (const)", + "ShareRecipientType (type)", + "SharingLevel (type)", "SharingRule (type)", "SharingRuleParsed (type)", "SharingRuleSchema (const)", - "SharingRuleType (const)", + "SharingRuleType (type)", "TENANCY_POSTURES (const)", "TenancyPosture (type)", "TenancyPostureSchema (const)", diff --git a/packages/spec/api-surface/studio.json b/packages/spec/api-surface/studio.json index ad666b3816..b531daafa5 100644 --- a/packages/spec/api-surface/studio.json +++ b/packages/spec/api-surface/studio.json @@ -59,6 +59,7 @@ "ObjectSortFieldSchema (const)", "PanelContribution (type)", "PanelContributionSchema (const)", + "PanelLocation (type)", "PanelLocationSchema (const)", "RelationshipDisplay (type)", "RelationshipDisplaySchema (const)", diff --git a/packages/spec/api-surface/system.json b/packages/spec/api-surface/system.json index 5aa4e30030..e95c68cf69 100644 --- a/packages/spec/api-surface/system.json +++ b/packages/spec/api-surface/system.json @@ -172,7 +172,7 @@ "DeadLetterQueue (type)", "DeadLetterQueueParsed (type)", "DeadLetterQueueSchema (const)", - "DeleteObjectOperation (const)", + "DeleteObjectOperation (type)", "DeployBundle (type)", "DeployBundleParsed (type)", "DeployBundleSchema (const)", @@ -227,7 +227,7 @@ "EnvironmentArtifact (type)", "EnvironmentArtifactParsed (type)", "EnvironmentArtifactSchema (const)", - "ExecuteSqlOperation (const)", + "ExecuteSqlOperation (type)", "ExtendedLogLevel (type)", "ExternalServiceDestinationConfig (type)", "ExternalServiceDestinationConfigSchema (const)", @@ -289,6 +289,7 @@ "JobExecutionStatus (type)", "JobParsed (type)", "JobSchema (const)", + "KernelServiceMap (type)", "KernelServiceMapSchema (const)", "KeyManagementProvider (type)", "KeyManagementProviderSchema (const)", @@ -310,6 +311,7 @@ "LifecyclePolicyRule (type)", "LifecyclePolicyRuleParsed (type)", "LifecyclePolicyRuleSchema (const)", + "Locale (type)", "LocaleDescriptor (interface)", "LocaleSchema (const)", "LogDestination (type)", @@ -380,6 +382,7 @@ "MetadataScopeSchema (const)", "MetadataSource (type)", "MetadataSourceSchema (const)", + "MetadataState (type)", "MetadataStateSchema (const)", "MetadataStats (type)", "MetadataStatsSchema (const)", @@ -408,6 +411,7 @@ "MiddlewareConfigParsed (type)", "MiddlewareConfigSchema (const)", "MiddlewareType (type)", + "MigrationDependency (type)", "MigrationDependencySchema (const)", "MigrationJournalEvent (type)", "MigrationJournalEventSchema (const)", @@ -422,7 +426,7 @@ "MigrationStatement (type)", "MigrationStatementParsed (type)", "MigrationStatementSchema (const)", - "ModifyFieldOperation (const)", + "ModifyFieldOperation (type)", "MultipartUploadConfig (type)", "MultipartUploadConfigParsed (type)", "MultipartUploadConfigSchema (const)", @@ -506,8 +510,8 @@ "RegistryUpstream (type)", "RegistryUpstreamParsed (type)", "RegistryUpstreamSchema (const)", - "RemoveFieldOperation (const)", - "RenameObjectOperation (const)", + "RemoveFieldOperation (type)", + "RenameObjectOperation (type)", "RenderValidationMessageInput (interface)", "RenderValidationMessageOptions (interface)", "ResolveOptions (interface)", @@ -558,7 +562,9 @@ "ServerRateLimitConfig (type)", "ServerRateLimitConfigParsed (type)", "ServerRateLimitConfigSchema (const)", + "ServiceConfig (type)", "ServiceConfigSchema (const)", + "ServiceCriticality (type)", "ServiceCriticalitySchema (const)", "ServiceLevelIndicator (type)", "ServiceLevelIndicatorParsed (type)", diff --git a/packages/spec/api-surface/ui.json b/packages/spec/api-surface/ui.json index c7dd6566e4..f9d8e372b8 100644 --- a/packages/spec/api-surface/ui.json +++ b/packages/spec/api-surface/ui.json @@ -25,7 +25,7 @@ "ActionSchema (const)", "ActionSession (type)", "ActionSessionSchema (const)", - "ActionType (const)", + "ActionType (type)", "AddRecordConfig (type)", "AddRecordConfigParsed (type)", "AddRecordConfigSchema (const)", @@ -44,8 +44,10 @@ "AriaPropsSchema (const)", "BorderRadius (type)", "BorderRadiusSchema (const)", + "BreakpointColumnMap (type)", "BreakpointColumnMapSchema (const)", "BreakpointName (type)", + "BreakpointOrderMap (type)", "BreakpointOrderMapSchema (const)", "BulkActionDef (type)", "BulkActionDefParsed (type)", @@ -57,6 +59,7 @@ "BulkActionParam (type)", "BulkActionParamSchema (const)", "CHART_AGGREGATE_COMPARISON_SUFFIX (const)", + "CalendarConfig (type)", "CalendarConfigSchema (const)", "ChartAggregate (type)", "ChartAggregateFunction (type)", @@ -130,7 +133,9 @@ "ElementFormPropsSchema (const)", "ElementImagePropsSchema (const)", "ElementMetadataViewerPropsSchema (const)", + "ElementNumberProps (type)", "ElementNumberPropsSchema (const)", + "ElementRecordPickerProps (type)", "ElementRecordPickerPropsSchema (const)", "ElementTextInputPropsSchema (const)", "ElementTextPropsSchema (const)", @@ -153,7 +158,9 @@ "GalleryConfig (type)", "GalleryConfigParsed (type)", "GalleryConfigSchema (const)", + "GanttConfig (type)", "GanttConfigSchema (const)", + "GanttQuickFilter (type)", "GanttQuickFilterSchema (const)", "GlobalFilter (type)", "GlobalFilterOptionsFrom (type)", @@ -182,6 +189,7 @@ "InterfacePageConfigSchema (const)", "JoinedReportBlock (type)", "JoinedReportBlockSchema (const)", + "KanbanConfig (type)", "KanbanConfigSchema (const)", "ListChartConfig (type)", "ListChartConfigParsed (type)", @@ -204,6 +212,7 @@ "NavigationItem (type)", "NavigationItemInput (type)", "NavigationItemSchema (const)", + "NavigationMode (type)", "NavigationModeSchema (const)", "NotificationPosition (type)", "NotificationPositionSchema (const)", @@ -223,7 +232,7 @@ "PageComponent (type)", "PageComponentParsed (type)", "PageComponentSchema (const)", - "PageComponentType (const)", + "PageComponentType (type)", "PageContainerProps (type)", "PageHeaderProps (const)", "PageNavItem (type)", @@ -254,9 +263,9 @@ "RecordActivityProps (const)", "RecordChatterProps (const)", "RecordDetailsProps (const)", - "RecordHighlightsField (const)", + "RecordHighlightsField (type)", "RecordHighlightsProps (const)", - "RecordPathProps (const)", + "RecordPathProps (type)", "RecordRelatedListProps (const)", "Report (type)", "ReportChart (type)", @@ -270,7 +279,7 @@ "ReportSort (type)", "ReportSortParsed (type)", "ReportSortSchema (const)", - "ReportType (const)", + "ReportType (type)", "ResolvedActionParam (interface)", "ResponsiveConfig (type)", "ResponsiveConfigSchema (const)", @@ -298,6 +307,7 @@ "TimelineConfig (type)", "TimelineConfigParsed (type)", "TimelineConfigSchema (const)", + "TreeConfig (type)", "TreeConfigSchema (const)", "Typography (type)", "TypographySchema (const)", @@ -325,6 +335,7 @@ "ViewFilterRuleParsed (type)", "ViewFilterRuleSchema (const)", "ViewItem (type)", + "ViewItemName (type)", "ViewItemNameSchema (const)", "ViewItemSchema (const)", "ViewItemWire (type)", diff --git a/packages/spec/docs-import-surface.baseline.json b/packages/spec/docs-import-surface.baseline.json index d03aeea4b4..0ed804c285 100644 --- a/packages/spec/docs-import-surface.baseline.json +++ b/packages/spec/docs-import-surface.baseline.json @@ -3,139 +3,66 @@ "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/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/FlowNodeAction — no type export", "automation/FlowVariable — no type export", - "automation/GuardRef — no type export", "automation/StateMachine — no type export", - "automation/StateNode — 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/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/DateGranularity — no type export", - "data/DateMacroPlaceholder — no type export", - "data/DimensionType — 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/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/PanelLocation — no type export", "system/AddFieldOperation — no type export", "system/CreateObjectOperation — no type export", - "system/DeleteObjectOperation — no type export", "system/DeployStatusEnum — no type export", - "system/ExecuteSqlOperation — no type export", - "system/KernelServiceMap — 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", "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" + "ui/RecordRelatedListProps — no type export" ] } diff --git a/packages/spec/src/ai/conversation.zod.ts b/packages/spec/src/ai/conversation.zod.ts index e682a6db5a..e3c3bf2520 100644 --- a/packages/spec/src/ai/conversation.zod.ts +++ b/packages/spec/src/ai/conversation.zod.ts @@ -338,3 +338,5 @@ export type MessagePruningEvent = z.input; export type ConversationAnalytics = z.input; /** Post-parse shape of {@link ConversationAnalytics} — defaults applied, transforms run (ADR-0122). */ export type ConversationAnalyticsParsed = z.infer; +export type FileContent = z.input; +export type TextContent = z.input; diff --git a/packages/spec/src/api/analytics.zod.ts b/packages/spec/src/api/analytics.zod.ts index f130298bbb..251d731098 100644 --- a/packages/spec/src/api/analytics.zod.ts +++ b/packages/spec/src/api/analytics.zod.ts @@ -116,3 +116,4 @@ export type AnalyticsMetadataResponseParsed = z.infer; /** Post-parse shape of {@link AnalyticsSqlResponse} — defaults applied, transforms run (ADR-0122). */ export type AnalyticsSqlResponseParsed = z.infer; +export type GetAnalyticsMetaRequest = z.input; diff --git a/packages/spec/src/api/endpoint.zod.ts b/packages/spec/src/api/endpoint.zod.ts index d268d0dde3..2c5e2688d9 100644 --- a/packages/spec/src/api/endpoint.zod.ts +++ b/packages/spec/src/api/endpoint.zod.ts @@ -14,6 +14,7 @@ export const ApiMappingSchema = lazySchema(() => z.object({ target: z.string().describe('Target field/path'), transform: z.string().optional().describe('Transformation function name — NOT EXECUTED in 17.x, and publish REJECTS the key: there is no transformation-function registry anywhere in the platform, so it stays in the frozen vocabulary and is refused rather than parsed and ignored (#5040 E7). A mapping entry moves and renames fields by dot path and nothing more — shape the value where it is produced instead (a flow endpoint whose flow computes it, or a formula field on the object)'), })); +export type ApiMapping = z.input; /** * API Endpoint Schema diff --git a/packages/spec/src/api/metadata.zod.ts b/packages/spec/src/api/metadata.zod.ts index c18353dca0..f6a48fbc94 100644 --- a/packages/spec/src/api/metadata.zod.ts +++ b/packages/spec/src/api/metadata.zod.ts @@ -413,3 +413,5 @@ export type MetadataDependenciesResponseParsed = z.infer; /** Post-parse shape of {@link MetadataDependentsResponse} — defaults applied, transforms run (ADR-0122). */ export type MetadataDependentsResponseParsed = z.infer; +export type MetadataBulkUnregisterRequest = z.input; +export type MetadataValidateRequest = z.input; diff --git a/packages/spec/src/api/realtime.zod.ts b/packages/spec/src/api/realtime.zod.ts index 8862790a13..8fcf468373 100644 --- a/packages/spec/src/api/realtime.zod.ts +++ b/packages/spec/src/api/realtime.zod.ts @@ -48,6 +48,7 @@ export const SubscriptionEventSchema = lazySchema(() => z.object({ object: z.string().optional().describe('Object name to subscribe to'), filters: z.unknown().optional().describe('Filter conditions'), })); +export type SubscriptionEvent = z.input; /** * Subscription Schema diff --git a/packages/spec/src/automation/approval.zod.ts b/packages/spec/src/automation/approval.zod.ts index 173e35f5fe..197febfad1 100644 --- a/packages/spec/src/automation/approval.zod.ts +++ b/packages/spec/src/automation/approval.zod.ts @@ -69,6 +69,7 @@ export const ApproverType = z.enum([ // ownership-queue implementation (queue entity + membership + claim). 'queue', ]); +export type ApproverType = z.input; /** * Deprecated approver-type spellings → their canonical replacement diff --git a/packages/spec/src/automation/flow.zod.ts b/packages/spec/src/automation/flow.zod.ts index 9fcd1b7730..7bd234ac01 100644 --- a/packages/spec/src/automation/flow.zod.ts +++ b/packages/spec/src/automation/flow.zod.ts @@ -51,6 +51,7 @@ export const FlowNodeAction = z.enum([ 'join_gateway', // BPMN Join Gateway — AND-join (waits for all incoming branches to complete) 'boundary_event', // BPMN Boundary Event — attached to a host node for timer/error/signal interrupts ]); +export type FlowNodeAction = z.input; /** * The built-in node type ids as a plain string array — the seed set the diff --git a/packages/spec/src/automation/state-machine.zod.ts b/packages/spec/src/automation/state-machine.zod.ts index bb47e67891..9af4382c74 100644 --- a/packages/spec/src/automation/state-machine.zod.ts +++ b/packages/spec/src/automation/state-machine.zod.ts @@ -130,6 +130,7 @@ export const GuardRefSchema = lazySchema(() => z.union([ }, ), ])); +export type GuardRef = z.input; // --- Core Structure --- @@ -256,6 +257,7 @@ export const StateNodeSchema: z.ZodType = z.la ).optional(), }, )); +export type StateNode = z.input; /** * Top-Level State Machine Definition diff --git a/packages/spec/src/data/analytics.zod.ts b/packages/spec/src/data/analytics.zod.ts index 7625634f8a..72f1be5c31 100644 --- a/packages/spec/src/data/analytics.zod.ts +++ b/packages/spec/src/data/analytics.zod.ts @@ -29,6 +29,7 @@ export const AggregationMetricType = z.enum([ 'string', // Custom SQL expression returning a string 'boolean' // Custom SQL expression returning a boolean ]); +export type AggregationMetricType = z.input; /** * Dimension Type @@ -41,6 +42,7 @@ export const DimensionType = z.enum([ 'time', 'geo' ]); +export type DimensionType = z.input; /** * Time Interval for Time Dimensions @@ -48,6 +50,7 @@ export const DimensionType = z.enum([ export const TimeUpdateInterval = z.enum([ 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter', 'year' ]); +export type TimeUpdateInterval = z.input; /** * Metric Schema diff --git a/packages/spec/src/data/context-tokens.zod.ts b/packages/spec/src/data/context-tokens.zod.ts index 4208a3c237..bda6624af2 100644 --- a/packages/spec/src/data/context-tokens.zod.ts +++ b/packages/spec/src/data/context-tokens.zod.ts @@ -124,6 +124,7 @@ export const ContextTokenPlaceholderSchema = z }, { message: 'Not a recognised {context-token} placeholder' }, ); +export type ContextTokenPlaceholder = z.input; /** * Description table — feeds skill / docs generation. Pure data, diff --git a/packages/spec/src/data/data-engine.zod.ts b/packages/spec/src/data/data-engine.zod.ts index 447a87ef89..dec0e4f9d9 100644 --- a/packages/spec/src/data/data-engine.zod.ts +++ b/packages/spec/src/data/data-engine.zod.ts @@ -767,3 +767,6 @@ export type DataEngineCountOptions = z.input; /** Post-parse shape of {@link DataEngineRequest} — defaults applied, transforms run (ADR-0122). */ export type DataEngineRequestParsed = z.infer; +export type DataEngineExecuteRequest = z.input; +export type DataEngineInsertRequest = z.input; +export type DataEngineVectorFindRequest = z.input; diff --git a/packages/spec/src/data/datasource.zod.ts b/packages/spec/src/data/datasource.zod.ts index da529cadcc..f5a51f3cba 100644 --- a/packages/spec/src/data/datasource.zod.ts +++ b/packages/spec/src/data/datasource.zod.ts @@ -345,6 +345,7 @@ const sslUnknownKeyError = strictUnknownKeyError({ }); export const DriverType = z.string().describe('Underlying driver identifier'); +export type DriverType = z.input; /** * Driver Definition Schema diff --git a/packages/spec/src/data/date-macros.zod.ts b/packages/spec/src/data/date-macros.zod.ts index 35ecef1bb5..81c3e173d8 100644 --- a/packages/spec/src/data/date-macros.zod.ts +++ b/packages/spec/src/data/date-macros.zod.ts @@ -217,6 +217,7 @@ export const DateMacroPlaceholderSchema = z }, { message: 'Not a recognised {date-macro} placeholder' }, ); +export type DateMacroPlaceholder = z.input; /** * Description table — handy for skill / docs generation. Pure data, diff --git a/packages/spec/src/data/driver/common.zod.ts b/packages/spec/src/data/driver/common.zod.ts index adda9ef766..673a5a4b8e 100644 --- a/packages/spec/src/data/driver/common.zod.ts +++ b/packages/spec/src/data/driver/common.zod.ts @@ -75,6 +75,7 @@ export const READ_ONLY_BELONGS_ON_DATASOURCE = */ export const DriverSslToggleSchema = z.boolean() .describe('Enable TLS. Certificates go in the datasource-level `ssl` block.'); +export type DriverSslToggle = z.input; /** Where the certificate-bearing form of TLS lives. */ export const SSL_DETAIL_BELONGS_ON_DATASOURCE = diff --git a/packages/spec/src/data/field-value.zod.ts b/packages/spec/src/data/field-value.zod.ts index 175c64e93a..be91afa578 100644 --- a/packages/spec/src/data/field-value.zod.ts +++ b/packages/spec/src/data/field-value.zod.ts @@ -234,16 +234,19 @@ export function isMultiValueField(def: ValueShapeFieldDef): boolean { /** `YYYY-MM-DD` — the calendar-day stored form (driver collapses Date → day). */ export const CalendarDateValueSchema = lazySchema(() => z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'expected YYYY-MM-DD (calendar day, not an instant)')); +export type CalendarDateValue = z.input; /** ISO-8601 instant with explicit zone — the `datetime` stored form. */ export const InstantValueSchema = lazySchema(() => z.string().refine((s) => !Number.isNaN(Date.parse(s)) && (/[Zz]$/.test(s) || /[+-]\d{2}:?\d{2}$/.test(s.slice(10))), 'expected an ISO-8601 instant with explicit zone (e.g. 2026-03-15T14:30:00.000Z)')); +export type InstantValue = z.input; /** `HH:MM[:SS[.fff]]` with optional zone — the `time` stored form (#2004). */ export const ClockTimeValueSchema = lazySchema(() => z.string().regex(/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d(\.\d+)?)?(Z|[+-]([01]\d|2[0-3]):?[0-5]\d)?$/, 'expected HH:MM or HH:MM:SS (wall-clock time of day)')); +export type ClockTimeValue = z.input; /** GPS point — the shape field-zoo stores and renderers read. See header re: the retired `{latitude, longitude}` form. */ export const LocationValueSchema = lazySchema(() => z.object({ @@ -252,9 +255,11 @@ export const LocationValueSchema = lazySchema(() => z.object({ altitude: z.number().optional().describe('Altitude in meters'), accuracy: z.number().optional().describe('Accuracy in meters'), })); +export type LocationValue = z.input; /** Structured address value — adopts the (previously unconsumed) `AddressSchema` as the enforced contract. */ export const AddressValueSchema = AddressSchema; +export type AddressValue = z.input; /** * Declared media value (ADR-0104 D3 wave 1) — the inline metadata object the @@ -276,6 +281,7 @@ export const FileValueSchema = lazySchema(() => z.looseObject({ alt: z.string().optional(), duration: z.number().optional(), })); +export type FileValue = z.input; /** * Media/attachment STORED value (ADR-0104 D3 wave 2) — an opaque `sys_file` id. @@ -297,6 +303,7 @@ export const FileValueSchema = lazySchema(() => z.looseObject({ export const FileReferenceIdValueSchema = lazySchema(() => z.string().regex(/^[A-Za-z0-9_-]{1,64}$/, 'Expected an opaque sys_file id'), ); +export type FileReferenceIdValue = z.input; /** * Media/attachment value in either form — the TRANSITIONAL union that was the @@ -311,6 +318,7 @@ export const FileLikeValueSchema = lazySchema(() => z.union([ z.string().min(1), FileValueSchema, ])); +export type FileLikeValue = z.input; /** * A stored reference value that is really an EMBEDDED RECORD, serialized. @@ -353,6 +361,7 @@ export const ReferenceIdValueSchema = lazySchema(() => 'Replace the value with the referenced record\'s id.', }), ); +export type ReferenceIdValue = z.input; function optionCodes(def: ValueShapeFieldDef): string[] { if (!Array.isArray(def.options)) return []; diff --git a/packages/spec/src/data/mapping.zod.ts b/packages/spec/src/data/mapping.zod.ts index 8511641ef2..117942d617 100644 --- a/packages/spec/src/data/mapping.zod.ts +++ b/packages/spec/src/data/mapping.zod.ts @@ -90,6 +90,7 @@ export const TransformType = z.enum([ 'javascript', // Custom script (Review security!) 'map' // Value mapping (e.g. "Active" -> "active") ]); +export type TransformType = z.input; /** * Import Field Mapping Item — one column of an import mapping. diff --git a/packages/spec/src/data/query.zod.ts b/packages/spec/src/data/query.zod.ts index ee672b0825..ff0a741e20 100644 --- a/packages/spec/src/data/query.zod.ts +++ b/packages/spec/src/data/query.zod.ts @@ -549,6 +549,7 @@ export type SortNodeParsed = z.infer; export type AggregationNode = z.input; export type GroupByNode = z.input; export type DateGranularityValue = z.input; +export type AggregationFunction = z.input; // `FieldNode` is declared next to its schema rather than here: since #4196 it // is no longer recursive, it is just the name the docs and the engine give to // "one entry of a select list". (`JoinNode` and `WindowFunctionNode`/`WindowSpec` diff --git a/packages/spec/src/integration/connector.zod.ts b/packages/spec/src/integration/connector.zod.ts index 77835cb883..8803e4b565 100644 --- a/packages/spec/src/integration/connector.zod.ts +++ b/packages/spec/src/integration/connector.zod.ts @@ -661,6 +661,7 @@ export const ConnectorActionSchema = lazySchema(() => z.object({ */ effect: ConnectorActionEffectSchema.optional(), })); +export type ConnectorAction = z.input; /** * Connector Trigger Definition @@ -678,6 +679,7 @@ export const ConnectorTriggerSchema = lazySchema(() => z.object({ type: z.enum(['polling', 'webhook']).describe('Trigger type'), interval: z.number().optional().describe('Polling interval in seconds'), })); +export type ConnectorTrigger = z.input; /** * Base Connector Schema @@ -934,4 +936,15 @@ export { ConnectorInstanceAPIKeyAuthSchema, ConnectorInstanceBasicAuthSchema, } from '../shared/connector-auth.zod'; -export type { ConnectorInstanceAuth, ResolvedConnectorAuth } from '../shared/connector-auth.zod'; +export type { + ConnectorInstanceAuth, + ResolvedConnectorAuth, + // The four member aliases travel with the four schema consts above: each is a + // documented JSON Schema whose reference page lives under `integration/`, so + // the type has to reach the same entry point or the page's `import type` line + // has nothing to name (#4593). + ConnectorInstanceNoAuth, + ConnectorInstanceBearerAuth, + ConnectorInstanceAPIKeyAuth, + ConnectorInstanceBasicAuth, +} from '../shared/connector-auth.zod'; diff --git a/packages/spec/src/qa/testing.zod.ts b/packages/spec/src/qa/testing.zod.ts index 336e89dc49..0c4982241f 100644 --- a/packages/spec/src/qa/testing.zod.ts +++ b/packages/spec/src/qa/testing.zod.ts @@ -85,3 +85,6 @@ export type TestScenario = z.input; export type TestStep = z.input; export type TestAction = z.input; export type TestAssertion = z.input; +export type TestActionType = z.input; +export type TestAssertionType = z.input; +export type TestContext = z.input; diff --git a/packages/spec/src/security/sharing.zod.ts b/packages/spec/src/security/sharing.zod.ts index d6a82bd457..cae637af85 100644 --- a/packages/spec/src/security/sharing.zod.ts +++ b/packages/spec/src/security/sharing.zod.ts @@ -239,6 +239,10 @@ export type SharingRuleParsed = z.infer; export type CriteriaSharingRule = z.input; /** Post-parse shape of {@link CriteriaSharingRule} — defaults applied, transforms run (ADR-0122). */ export type CriteriaSharingRuleParsed = z.infer; +export type OWDModel = z.input; +export type ShareRecipientType = z.input; +export type SharingLevel = z.input; +export type SharingRuleType = z.input; /** * Type-safe factory for a record sharing rule. Validates at authoring time via diff --git a/packages/spec/src/shared/connector-auth.zod.ts b/packages/spec/src/shared/connector-auth.zod.ts index a445f8f4b2..13a3b2f54d 100644 --- a/packages/spec/src/shared/connector-auth.zod.ts +++ b/packages/spec/src/shared/connector-auth.zod.ts @@ -103,6 +103,7 @@ export type ResolvedConnectorAuth = Extract< export const ConnectorInstanceNoAuthSchema = lazySchema(() => z.object({ type: z.literal('none'), })); +export type ConnectorInstanceNoAuth = z.input; /** Bearer-token auth; the token is resolved from `credentialRef` at boot. */ export const ConnectorInstanceBearerAuthSchema = lazySchema(() => z.object({ @@ -111,6 +112,7 @@ export const ConnectorInstanceBearerAuthSchema = lazySchema(() => z.object({ 'Secrets-layer reference (e.g. an env-var name in the open tier) resolved to the bearer token at materialization. Never an inline token.', ), })); +export type ConnectorInstanceBearerAuth = z.input; /** API-key auth; the key is resolved from `credentialRef` at boot. */ export const ConnectorInstanceAPIKeyAuthSchema = lazySchema(() => z.object({ @@ -121,6 +123,7 @@ export const ConnectorInstanceAPIKeyAuthSchema = lazySchema(() => z.object({ headerName: z.string().optional().describe('HTTP header carrying the key (default X-API-Key).'), paramName: z.string().optional().describe('Query parameter carrying the key (alternative to header).'), })); +export type ConnectorInstanceAPIKeyAuth = z.input; /** Basic auth; the password is resolved from `credentialRef` at boot. */ export const ConnectorInstanceBasicAuthSchema = lazySchema(() => z.object({ @@ -130,6 +133,7 @@ export const ConnectorInstanceBasicAuthSchema = lazySchema(() => z.object({ 'Secrets-layer reference resolved to the password at materialization. Never an inline password.', ), })); +export type ConnectorInstanceBasicAuth = z.input; /** * Declarative connector-instance auth: a discriminated union whose secret-bearing diff --git a/packages/spec/src/studio/index.ts b/packages/spec/src/studio/index.ts index 14a4c963c4..ada04e3af3 100644 --- a/packages/spec/src/studio/index.ts +++ b/packages/spec/src/studio/index.ts @@ -42,6 +42,7 @@ export { type ActionContributionLocation, type MetadataIconContribution, type PanelContribution, + type PanelLocation, type CommandContribution, type StudioPluginContributions, type StudioPluginManifest, diff --git a/packages/spec/src/studio/plugin.zod.ts b/packages/spec/src/studio/plugin.zod.ts index d08a74d4c3..61a3f084df 100644 --- a/packages/spec/src/studio/plugin.zod.ts +++ b/packages/spec/src/studio/plugin.zod.ts @@ -213,6 +213,7 @@ export type MetadataIconContribution = z.input z.enum(['bottom', 'right', 'modal'])); +export type PanelLocation = z.input; /** * Declares an auxiliary panel (like VS Code's Terminal, Problems, Output panels). diff --git a/packages/spec/src/system/core-services.zod.ts b/packages/spec/src/system/core-services.zod.ts index 246bc8d620..d63c18b51c 100644 --- a/packages/spec/src/system/core-services.zod.ts +++ b/packages/spec/src/system/core-services.zod.ts @@ -189,6 +189,7 @@ export const ServiceCriticalitySchema = lazySchema(() => z.enum([ 'core', // System warns if missing, functionality degraded (Warn) 'optional', // System ignores if missing, feature disabled (Info) ])); +export type ServiceCriticality = z.input; /** * Service Requirement Definition @@ -242,6 +243,7 @@ export const KernelServiceMapSchema = lazySchema(() => z.record( CoreServiceName, z.unknown().describe('Service Instance implementing the protocol interface') )); +export type KernelServiceMap = z.input; // ========================================== // Service Interfaces (Stub definitions) @@ -256,3 +258,4 @@ export const ServiceConfigSchema = lazySchema(() => z.object({ name: CoreServiceName, options: z.record(z.string(), z.unknown()).optional(), })); +export type ServiceConfig = z.input; diff --git a/packages/spec/src/system/metadata-persistence.zod.ts b/packages/spec/src/system/metadata-persistence.zod.ts index 239f9c44f6..913ed61e68 100644 --- a/packages/spec/src/system/metadata-persistence.zod.ts +++ b/packages/spec/src/system/metadata-persistence.zod.ts @@ -23,6 +23,7 @@ export const MetadataStateSchema = lazySchema(() => z.enum([ 'archived', // Soft deleted 'deprecated' // Running but flagged for removal ])); +export type MetadataState = z.input; /** * Unified Metadata Persistence Protocol diff --git a/packages/spec/src/system/migration.zod.ts b/packages/spec/src/system/migration.zod.ts index ec5720a0d9..636ecd13fa 100644 --- a/packages/spec/src/system/migration.zod.ts +++ b/packages/spec/src/system/migration.zod.ts @@ -36,12 +36,14 @@ export const ModifyFieldOperation = z.object({ fieldName: z.string().describe('Name of the field to modify'), changes: z.record(z.string(), z.unknown()).describe('Partial field definition updates') }).describe('Modify properties of an existing field'); +export type ModifyFieldOperation = z.input; export const RemoveFieldOperation = z.object({ type: z.literal('remove_field'), objectName: z.string().describe('Target object name'), fieldName: z.string().describe('Name of the field to remove') }).describe('Remove a field from an existing object'); +export type RemoveFieldOperation = z.input; export const CreateObjectOperation = z.object({ type: z.literal('create_object'), @@ -53,17 +55,20 @@ export const RenameObjectOperation = z.object({ oldName: z.string().describe('Current object name'), newName: z.string().describe('New object name') }).describe('Rename an existing object'); +export type RenameObjectOperation = z.input; export const DeleteObjectOperation = z.object({ type: z.literal('delete_object'), objectName: z.string().describe('Name of the object to delete') }).describe('Delete an existing object'); +export type DeleteObjectOperation = z.input; export const ExecuteSqlOperation = z.object({ type: z.literal('execute_sql'), sql: z.string().describe('Raw SQL statement to execute'), description: z.string().optional().describe('Human-readable description of the SQL') }).describe('Execute a raw SQL statement'); +export type ExecuteSqlOperation = z.input; // Union of all possible operations export const MigrationOperationSchema = lazySchema(() => z.discriminatedUnion('type', [ @@ -82,6 +87,7 @@ export const MigrationDependencySchema = lazySchema(() => z.object({ migrationId: z.string().describe('ID of the migration this depends on'), package: z.string().optional().describe('Package that owns the dependency migration') }).describe('Dependency reference to another migration that must run first')); +export type MigrationDependency = z.input; export const ChangeSetSchema = lazySchema(() => z.object({ id: z.string().uuid().describe('Unique identifier for this change set'), diff --git a/packages/spec/src/system/translation.zod.ts b/packages/spec/src/system/translation.zod.ts index 446194868f..32a8013d9e 100644 --- a/packages/spec/src/system/translation.zod.ts +++ b/packages/spec/src/system/translation.zod.ts @@ -10,6 +10,7 @@ import { lazySchema } from '../shared/lazy-schema'; import { strictObject } from '../shared/strict-object'; import { MetadataProtectionFields } from '../kernel/metadata-protection.zod'; export const LocaleSchema = lazySchema(() => z.string().describe('BCP-47 Language Tag (e.g. en-US, zh-CN)')); +export type Locale = z.input; /** * Shared history sentence for every shape in this file (#4001). diff --git a/packages/spec/src/type-alias-convention.pin.test.ts b/packages/spec/src/type-alias-convention.pin.test.ts index 5718ec5903..1e1dbf05d7 100644 --- a/packages/spec/src/type-alias-convention.pin.test.ts +++ b/packages/spec/src/type-alias-convention.pin.test.ts @@ -191,6 +191,17 @@ import type * as M113 from './shared/identifiers.zod.js'; import type * as M169 from './shared/mapping.zod.js'; import type * as M172 from './automation/builtin-node-config.zod.js'; import type * as M173 from './automation/schemaless-node-config.zod.js'; +// #4593's seven: files that had no bare alias needing an exemption until the +// documented-schema backfill gave one to a schema they already published. Same +// next-free-index rule as M169/M170/M172/M173 above — positional identifiers, so +// a new module appends rather than renumbering. +import type * as M174 from './api/endpoint.zod.js'; +import type * as M175 from './automation/flow.zod.js'; +import type * as M176 from './data/context-tokens.zod.js'; +import type * as M177 from './data/date-macros.zod.js'; +import type * as M178 from './data/field-value.zod.js'; +import type * as M179 from './data/mapping.zod.js'; +import type * as M180 from './security/sharing.zod.js'; import type * as M114 from './shared/metadata-types.zod.js'; import type * as M115 from './shared/protection.zod.js'; import type * as M116 from './stack.zod.js'; @@ -1382,6 +1393,154 @@ export type Iso753 = Assert, // automation/schemaless-node-config.zod.ts export type Iso754 = Assert, z.infer< typeof M173.DecisionConditionSchema > >>; + +// --------------------------------------------------------------------------- +// #4593 — the documented-schema type-alias backfill (2026-08-08). +// +// Every schema below already had a published JSON Schema and a reference page, +// and the page's `import type { X }` line was being dropped because no alias +// carried the name (`docs-import-surface.baseline.json`, "no type export"). +// The backfill declares the bare alias; each schema here measured isomorphic, so +// it takes a pin rather than an `XParsed` synonym — the (RISE) case, and the +// largest single rise this file has taken. +// --------------------------------------------------------------------------- + +// ai/conversation.zod.ts +export type Iso760 = Assert, z.infer< typeof M1.FileContentSchema > >>; +export type Iso761 = Assert, z.infer< typeof M1.TextContentSchema > >>; + +// api/analytics.zod.ts +export type Iso762 = Assert, z.infer< typeof M11.GetAnalyticsMetaRequestSchema > >>; + +// api/endpoint.zod.ts +export type Iso763 = Assert, z.infer< typeof M174.ApiMappingSchema > >>; + +// api/metadata.zod.ts +export type Iso764 = Assert, z.infer< typeof M24.MetadataBulkUnregisterRequestSchema > >>; +export type Iso765 = Assert, z.infer< typeof M24.MetadataValidateRequestSchema > >>; + +// api/realtime.zod.ts +export type Iso766 = Assert, z.infer< typeof M31.SubscriptionEventSchema > >>; + +// automation/approval.zod.ts +export type Iso767 = Assert, z.infer< typeof M37.ApproverType > >>; + +// automation/flow.zod.ts +export type Iso768 = Assert, z.infer< typeof M175.FlowNodeAction > >>; + +// automation/state-machine.zod.ts +export type Iso769 = Assert, z.infer< typeof M42.GuardRefSchema > >>; +export type Iso770 = Assert, z.infer< typeof M42.StateNodeSchema > >>; + +// data/analytics.zod.ts +export type Iso771 = Assert, z.infer< typeof M55.AggregationMetricType > >>; +export type Iso772 = Assert, z.infer< typeof M55.DimensionType > >>; +export type Iso773 = Assert, z.infer< typeof M55.TimeUpdateInterval > >>; + +// data/context-tokens.zod.ts +export type Iso774 = Assert, z.infer< typeof M176.ContextTokenPlaceholderSchema > >>; + +// data/data-engine.zod.ts +export type Iso775 = Assert, z.infer< typeof M56.DataEngineExecuteRequestSchema > >>; +export type Iso776 = Assert, z.infer< typeof M56.DataEngineInsertRequestSchema > >>; +export type Iso777 = Assert, z.infer< typeof M56.DataEngineVectorFindRequestSchema > >>; + +// data/datasource.zod.ts +export type Iso778 = Assert, z.infer< typeof M57.DriverType > >>; + +// data/date-macros.zod.ts +export type Iso779 = Assert, z.infer< typeof M177.DateMacroPlaceholderSchema > >>; + +// data/driver/common.zod.ts +export type Iso780 = Assert, z.infer< typeof M61.DriverSslToggleSchema > >>; + +// data/field-value.zod.ts +export type Iso781 = Assert, z.infer< typeof M178.AddressValueSchema > >>; +export type Iso782 = Assert, z.infer< typeof M178.CalendarDateValueSchema > >>; +export type Iso783 = Assert, z.infer< typeof M178.ClockTimeValueSchema > >>; +export type Iso784 = Assert, z.infer< typeof M178.FileLikeValueSchema > >>; +export type Iso785 = Assert, z.infer< typeof M178.FileReferenceIdValueSchema > >>; +export type Iso786 = Assert, z.infer< typeof M178.FileValueSchema > >>; +export type Iso787 = Assert, z.infer< typeof M178.InstantValueSchema > >>; +export type Iso788 = Assert, z.infer< typeof M178.LocationValueSchema > >>; +export type Iso789 = Assert, z.infer< typeof M178.ReferenceIdValueSchema > >>; + +// data/mapping.zod.ts +export type Iso790 = Assert, z.infer< typeof M179.TransformType > >>; + +// data/query.zod.ts +export type Iso791 = Assert, z.infer< typeof M71.AggregationFunction > >>; + +// integration/connector.zod.ts +export type Iso792 = Assert, z.infer< typeof M78.ConnectorActionSchema > >>; +export type Iso793 = Assert, z.infer< typeof M78.ConnectorTriggerSchema > >>; + +// qa/testing.zod.ts +export type Iso794 = Assert, z.infer< typeof M105.TestActionTypeSchema > >>; +export type Iso795 = Assert, z.infer< typeof M105.TestAssertionTypeSchema > >>; +export type Iso796 = Assert, z.infer< typeof M105.TestContextSchema > >>; + +// security/sharing.zod.ts +export type Iso797 = Assert, z.infer< typeof M180.OWDModel > >>; +export type Iso798 = Assert, z.infer< typeof M180.ShareRecipientType > >>; +export type Iso799 = Assert, z.infer< typeof M180.SharingLevel > >>; +export type Iso800 = Assert, z.infer< typeof M180.SharingRuleType > >>; + +// shared/connector-auth.zod.ts +export type Iso801 = Assert, z.infer< typeof M109.ConnectorInstanceAPIKeyAuthSchema > >>; +export type Iso802 = Assert, z.infer< typeof M109.ConnectorInstanceBasicAuthSchema > >>; +export type Iso803 = Assert, z.infer< typeof M109.ConnectorInstanceBearerAuthSchema > >>; +export type Iso804 = Assert, z.infer< typeof M109.ConnectorInstanceNoAuthSchema > >>; + +// studio/plugin.zod.ts +export type Iso805 = Assert, z.infer< typeof M119.PanelLocationSchema > >>; + +// system/core-services.zod.ts +export type Iso806 = Assert, z.infer< typeof M124.KernelServiceMapSchema > >>; +export type Iso807 = Assert, z.infer< typeof M124.ServiceConfigSchema > >>; +export type Iso808 = Assert, z.infer< typeof M124.ServiceCriticalitySchema > >>; + +// system/metadata-persistence.zod.ts +export type Iso809 = Assert, z.infer< typeof M138.MetadataStateSchema > >>; + +// system/migration.zod.ts +export type Iso810 = Assert, z.infer< typeof M140.DeleteObjectOperation > >>; +export type Iso811 = Assert, z.infer< typeof M140.ExecuteSqlOperation > >>; +export type Iso812 = Assert, z.infer< typeof M140.MigrationDependencySchema > >>; +export type Iso813 = Assert, z.infer< typeof M140.ModifyFieldOperation > >>; +export type Iso814 = Assert, z.infer< typeof M140.RemoveFieldOperation > >>; +export type Iso815 = Assert, z.infer< typeof M140.RenameObjectOperation > >>; + +// system/translation.zod.ts +export type Iso816 = Assert, z.infer< typeof M152.LocaleSchema > >>; + +// ui/action.zod.ts +export type Iso817 = Assert, z.infer< typeof M155.ActionType > >>; + +// ui/component.zod.ts +export type Iso818 = Assert, z.infer< typeof M170.ElementNumberPropsSchema > >>; +export type Iso819 = Assert, z.infer< typeof M170.ElementRecordPickerPropsSchema > >>; +export type Iso820 = Assert, z.infer< typeof M170.RecordHighlightsField > >>; +export type Iso821 = Assert, z.infer< typeof M170.RecordPathProps > >>; + +// ui/page.zod.ts +export type Iso822 = Assert, z.infer< typeof M163.PageComponentType > >>; + +// ui/report.zod.ts +export type Iso823 = Assert, z.infer< typeof M164.ReportType > >>; + +// ui/responsive.zod.ts +export type Iso824 = Assert, z.infer< typeof M165.BreakpointColumnMapSchema > >>; +export type Iso825 = Assert, z.infer< typeof M165.BreakpointOrderMapSchema > >>; + +// ui/view.zod.ts +export type Iso826 = Assert, z.infer< typeof M167.CalendarConfigSchema > >>; +export type Iso827 = Assert, z.infer< typeof M167.GanttConfigSchema > >>; +export type Iso828 = Assert, z.infer< typeof M167.GanttQuickFilterSchema > >>; +export type Iso829 = Assert, z.infer< typeof M167.KanbanConfigSchema > >>; +export type Iso830 = Assert, z.infer< typeof M167.NavigationModeSchema > >>; +export type Iso831 = Assert, z.infer< typeof M167.TreeConfigSchema > >>; +export type Iso832 = Assert, z.infer< typeof M167.ViewItemNameSchema > >>; // --------------------------------------------------------------------------- // Representative spot-checks on the phase-2 FLIP. // @@ -1536,9 +1695,44 @@ describe('ADR-0122 type-alias convention', () => { // landing — as 755 -> 756 against the pre-sweep count — and recomputed // here after the sweep's -7 merged in; the file, not the history, is the // operand.) + // + // 749 -> 822 is #4593's documented-schema alias backfill — the largest + // single RISE this file has taken, and the one where the arithmetic is most + // worth stating because the +73 is NOT "the gap the ratchet reports". + // `docs-import-surface.baseline.json` listed 136 documented schemas whose + // reference page could not spell an `import type` line. Four subtractions + // stand between that 136 and this 73, and each is a REASON, not a filter: + // + // -17 the alias already exists under a name the JSON Schema does not + // derive (`Discovery` is published as `DiscoveryResponse`, + // `SortDirectionEnum` as `SortDirection`, ...). Declaring the + // derived name too would mint exactly the permanent synonym + // ADR-0122 D3 forbids, so those lines STAY in the baseline. + // -40 `z.input` differs from `z.infer`, so the bare alias needs an + // `XParsed` sibling rather than a pin — a decision left open, see + // the issue. + // -5 host file was being edited concurrently (data/filter.zod.ts, + // api/protocol.zod.ts); deferred rather than raced. + // -1 `system/ServiceStatus`. Declaring it turned `check:dual-source- + // exports` red on the spot: `./api` already exports a DIFFERENT + // `ServiceStatus` (the discovery health enum in api/discovery.zod.ts), + // so the alias would have minted the #4411 trap the empty + // `dual-source-exports.baseline.json` exists to keep empty. One of + // the two names is wrong, and choosing which is a rename decision, + // not a backfill — the baseline line stays until it is made. + // + // 136 - 17 - 40 - 5 - 1 = 73, and 749 + 73 = 822. Isomorphism here was + // MEASURED — a probe file asserting `Eq< z.input, z.infer >` over all 114 + // non-synonym candidates, compiled by tsc — not inferred from "it is an + // enum". 40 of those 114 came back `false`, which is why the -40 above is a + // measurement rather than an estimate. The subtrahend moved once in flight: + // #5728 landed its +1 on `main` while this branch was open, so the 73 was + // re-added to 749 rather than to the 748 it was computed against — the same + // rebase discipline the -7 entry above records, applied in the other + // direction. const self = readFileSync(fileURLToPath(import.meta.url), 'utf8'); const pins = self.match(/^export type Iso\d+ = Assert { diff --git a/packages/spec/src/ui/action.zod.ts b/packages/spec/src/ui/action.zod.ts index 2cd4cdba9e..249a157be3 100644 --- a/packages/spec/src/ui/action.zod.ts +++ b/packages/spec/src/ui/action.zod.ts @@ -404,6 +404,7 @@ export const ActionParamSchema = lazySchema(() => z.object({ * Action type enum values. */ export const ActionType = z.enum(['script', 'url', 'modal', 'flow', 'api', 'form']); +export type ActionType = z.input; /** * Action types that require a `target` field. diff --git a/packages/spec/src/ui/component.zod.ts b/packages/spec/src/ui/component.zod.ts index e387580d54..e4caacb2de 100644 --- a/packages/spec/src/ui/component.zod.ts +++ b/packages/spec/src/ui/component.zod.ts @@ -421,6 +421,7 @@ export const RecordHighlightsField = z.union([ readonly: z.boolean().optional().describe('Render this chip read-only — suppresses inline editing on the highlight card. Use for hook/automation-maintained columns that must not be hand-edited from the record header.'), }), ]).describe('Highlight field: bare name, or {name,label?,icon?,type?,readonly?}'); +export type RecordHighlightsField = z.input; export const RecordHighlightsProps = z.object({ fields: z.array(RecordHighlightsField).min(1).max(7).describe('Key fields to highlight (1-7 fields max, typically displayed as prominent cards). Each item may be a bare field name or {name, label?, icon?, type?, readonly?} for inline overrides.'), @@ -490,6 +491,7 @@ export const RecordPathProps = z.object({ /** ARIA accessibility */ aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'), }); +export type RecordPathProps = z.input; export const PageAccordionProps = z.object({ items: z.array(z.object({ @@ -551,6 +553,7 @@ export const ElementNumberPropsSchema = lazySchema(() => z.object({ /** ARIA accessibility */ aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'), })); +export type ElementNumberProps = z.input; export const ElementImagePropsSchema = lazySchema(() => z.object({ src: z.string().describe('Image URL or attachment field'), @@ -718,6 +721,7 @@ export const ElementRecordPickerPropsSchema = lazySchema(() => z.object({ /** ARIA accessibility */ aria: AriaPropsSchema.optional().describe('ARIA accessibility attributes'), })); +export type ElementRecordPickerProps = z.input; /** * A single-line free-text input — the data-entry half of an SDUI page (Airtable diff --git a/packages/spec/src/ui/page.zod.ts b/packages/spec/src/ui/page.zod.ts index 68588b6095..ae94307432 100644 --- a/packages/spec/src/ui/page.zod.ts +++ b/packages/spec/src/ui/page.zod.ts @@ -570,3 +570,4 @@ export type ElementDataSource = z.input; export type InterfacePageConfig = z.input; /** Post-parse shape of {@link InterfacePageConfig} — defaults applied, transforms run (ADR-0122). */ export type InterfacePageConfigParsed = z.infer; +export type PageComponentType = z.input; diff --git a/packages/spec/src/ui/report.zod.ts b/packages/spec/src/ui/report.zod.ts index c15d609bce..0ee6b2b94a 100644 --- a/packages/spec/src/ui/report.zod.ts +++ b/packages/spec/src/ui/report.zod.ts @@ -421,6 +421,7 @@ export type ReportChartParsed = z.infer; export type ReportSort = z.input; /** Post-parse shape of {@link ReportSort} — defaults applied, transforms run (ADR-0122). */ export type ReportSortParsed = z.infer; +export type ReportType = z.input; /** * Report Factory Helper diff --git a/packages/spec/src/ui/responsive.zod.ts b/packages/spec/src/ui/responsive.zod.ts index b7870b620f..ad6c4a4347 100644 --- a/packages/spec/src/ui/responsive.zod.ts +++ b/packages/spec/src/ui/responsive.zod.ts @@ -120,6 +120,7 @@ export const BreakpointColumnMapSchema = lazySchema(() => strictObject( '2xl': z.number().min(1).max(12).optional(), }, ).describe('Grid columns per breakpoint (1-12)')); +export type BreakpointColumnMap = z.input; /** * Breakpoint Order Map Schema @@ -141,6 +142,7 @@ export const BreakpointOrderMapSchema = lazySchema(() => strictObject( '2xl': z.number().optional(), }, ).describe('Display order per breakpoint')); +export type BreakpointOrderMap = z.input; /** * A bare breakpoint name written at the `responsive` LEVEL rather than inside diff --git a/packages/spec/src/ui/view.zod.ts b/packages/spec/src/ui/view.zod.ts index ca31dc2359..5e90b1138f 100644 --- a/packages/spec/src/ui/view.zod.ts +++ b/packages/spec/src/ui/view.zod.ts @@ -2922,3 +2922,10 @@ export type UserFiltersParsed = z.infer; export type AddRecordConfig = z.input; /** Post-parse shape of {@link AddRecordConfig} — defaults applied, transforms run (ADR-0122). */ export type AddRecordConfigParsed = z.infer; +export type CalendarConfig = z.input; +export type GanttConfig = z.input; +export type GanttQuickFilter = z.input; +export type KanbanConfig = z.input; +export type NavigationMode = z.input; +export type TreeConfig = z.input; +export type ViewItemName = z.input;