@inf-monkeys-tech/monkeys 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/lib/esm/contracts/index.mjs +4564 -0
- package/lib/esm/contracts/index.mjs.map +1 -0
- package/lib/esm/index.mjs +5868 -0
- package/lib/esm/index.mjs.map +1 -0
- package/lib/esm/runtime/index.mjs +5245 -0
- package/lib/esm/runtime/index.mjs.map +1 -0
- package/lib/esm/schemas/index.mjs +4601 -0
- package/lib/esm/schemas/index.mjs.map +1 -0
- package/lib/runtime/workflow-compiler.d.ts +1 -0
- package/lib/runtime/workflow-compiler.d.ts.map +1 -1
- package/lib/runtime/workflow-compiler.js +8 -2
- package/lib/runtime/workflow-compiler.js.map +1 -1
- package/lib/types/workflow.d.ts +0 -48
- package/lib/types/workflow.d.ts.map +1 -1
- package/lib/types/workflow.js +0 -2
- package/lib/types/workflow.js.map +1 -1
- package/package.json +11 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/contracts/artifact.ts","../../../src/contracts/common.ts","../../../src/contracts/capability.ts","../../../src/contracts/render.ts","../../../src/contracts/context.ts","../../../src/contracts/continuity.ts","../../../src/contracts/data.ts","../../../src/contracts/page.ts","../../../src/contracts/semantic.ts","../../../src/contracts/tenant.ts","../../../src/contracts/theme.ts","../../../src/theme-tokens/core.ts","../../../src/contracts/dtcg-format.schema.json","../../../src/contracts/trend.ts","../../../src/contracts/workflow-definition.ts","../../../src/schemas/index.ts"],"sourcesContent":["import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonValueSchema,\n Sha256Schema,\n} from './common';\n\nexport const StorageLocatorSchema = z\n .object({\n provider: ContractIdentifierSchema,\n bucket: ContractIdentifierSchema.optional(),\n key: ContractIdentifierSchema,\n region: ContractIdentifierSchema.optional(),\n url: z.string().url().optional(),\n expiresAt: IsoDateTimeSchema.optional(),\n })\n .strict();\n\nexport const ArtifactAccessSchema = z\n .object({\n tenantId: ContractIdentifierSchema.optional(),\n teamId: ContractIdentifierSchema.optional(),\n ownerRef: EntityRefSchema.optional(),\n visibility: z.enum(['private', 'team', 'tenant', 'public']),\n })\n .strict();\n\nexport const ArtifactManifestSchema = z\n .object({\n contract: z.literal('ArtifactManifest'),\n artifactId: ContractIdentifierSchema,\n kind: ContractIdentifierSchema,\n mimeType: z.string().trim().min(1),\n byteSize: z.number().int().nonnegative().optional(),\n sha256: Sha256Schema,\n storage: StorageLocatorSchema,\n sourceRef: EntityRefSchema.optional(),\n runRef: EntityRefSchema,\n outputRef: EntityRefSchema,\n producer: z\n .object({\n service: ContractIdentifierSchema,\n version: ContractIdentifierSchema,\n capabilityRef: EntityRefSchema.optional(),\n })\n .strict(),\n access: ArtifactAccessSchema,\n metadata: z.record(z.string(), JsonValueSchema).default({}),\n createdAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const OutputRecordSchema = z\n .object({\n contract: z.literal('OutputRecord'),\n outputId: ContractIdentifierSchema,\n runRef: EntityRefSchema,\n outputPort: ContractIdentifierSchema,\n value: JsonValueSchema.optional(),\n artifactRefs: z.array(EntityRefSchema).default([]),\n schemaRef: ContractIdentifierSchema.optional(),\n createdAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport type StorageLocator = z.infer<typeof StorageLocatorSchema>;\nexport type ArtifactAccess = z.infer<typeof ArtifactAccessSchema>;\nexport type ArtifactManifest = z.infer<typeof ArtifactManifestSchema>;\nexport type OutputRecord = z.infer<typeof OutputRecordSchema>;\n","import { z } from 'zod';\n\nexport type JsonPrimitive = string | number | boolean | null;\nexport type JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\n\nexport const JsonValueSchema: z.ZodType<JsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number().finite(),\n z.boolean(),\n z.null(),\n z.array(JsonValueSchema),\n z.record(z.string(), JsonValueSchema),\n ]),\n);\n\nexport const JsonObjectSchema = z.record(z.string(), JsonValueSchema);\nexport const ContractIdentifierSchema = z.string().trim().min(1).max(256);\nexport const ContractVersionSchema = z.number().int().positive();\nexport const IsoDateTimeSchema = z.string().datetime({ offset: true });\nexport const Sha256Schema = z.string().regex(/^[a-f0-9]{64}$/i, 'Expected a SHA-256 hex digest.');\n\nexport const LocaleIdentifierSchema = z\n .string()\n .regex(/^[a-z]{2,3}(?:-[A-Z][a-z]{3})?(?:-[A-Z]{2}|-\\d{3})?$/, 'Expected a BCP 47 locale identifier.');\n\nexport const LocalizedTextSchema = z.union([\n z.string().trim().min(1),\n z\n .record(LocaleIdentifierSchema, z.string().trim().min(1))\n .refine((value) => Object.keys(value).length > 0, 'Localized text must contain at least one locale.'),\n]);\n\nexport const ContractMetadataSchema = z\n .object({\n id: ContractIdentifierSchema,\n version: ContractVersionSchema,\n name: z.string().trim().min(1).optional(),\n description: z.string().optional(),\n labels: z.record(z.string(), z.string()).optional(),\n createdAt: IsoDateTimeSchema.optional(),\n updatedAt: IsoDateTimeSchema.optional(),\n })\n .strict();\n\nexport const EntityRefSchema = z\n .object({\n kind: ContractIdentifierSchema,\n id: ContractIdentifierSchema,\n version: z.union([ContractVersionSchema, z.string().trim().min(1)]).optional(),\n ownerRepo: ContractIdentifierSchema.optional(),\n })\n .strict();\n\nexport type ContractMetadata = z.infer<typeof ContractMetadataSchema>;\nexport type EntityRef = z.infer<typeof EntityRefSchema>;\nexport type LocalizedText = z.infer<typeof LocalizedTextSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n} from './common';\nimport { ProductContextSchema } from './render';\n\nexport const ContractPortSchema = z\n .object({\n name: ContractIdentifierSchema,\n schemaRef: ContractIdentifierSchema,\n required: z.boolean().default(false),\n multiple: z.boolean().default(false),\n description: z.string().optional(),\n })\n .strict();\n\nexport const CapabilityProviderBindingSchema = z\n .object({\n providerRef: EntityRefSchema,\n productContexts: z.array(ProductContextSchema).default([]),\n priority: z.number().int().default(0),\n })\n .strict();\n\nexport const CapabilityManifestSchema = z\n .object({\n contract: z.literal('CapabilityManifest'),\n id: ContractIdentifierSchema,\n capabilityVersion: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n kind: z.enum(['primitive', 'composite', 'view', 'professional-provider', 'tool', 'workflow']),\n displayName: z.string().trim().min(1),\n description: z.string().optional(),\n ports: z\n .object({\n inputs: z.array(ContractPortSchema).default([]),\n outputs: z.array(ContractPortSchema).default([]),\n })\n .strict(),\n runtime: z\n .object({\n providerBindings: z.array(CapabilityProviderBindingSchema).min(1),\n loading: z.enum(['eager', 'lazy', 'viewport', 'on-activation']),\n fallbackCapabilityRef: EntityRefSchema.optional(),\n stateOwner: z.enum(['host', 'provider', 'external']),\n stateSchemaRef: ContractIdentifierSchema.optional(),\n sideEffects: z\n .array(z.enum(['network', 'storage', 'navigation', 'worker', 'websocket']))\n .default([]),\n })\n .strict(),\n placement: z\n .object({\n surfaces: z.array(ContractIdentifierSchema).min(1),\n slots: z.array(ContractIdentifierSchema).default([]),\n variants: z.array(ContractIdentifierSchema).default([]),\n tokenRefs: z.array(ContractIdentifierSchema).default([]),\n })\n .strict(),\n accessibility: z\n .object({\n keyboardModel: ContractIdentifierSchema,\n focusModel: ContractIdentifierSchema,\n labelContract: ContractIdentifierSchema,\n })\n .strict(),\n observability: z\n .object({\n eventNamespace: ContractIdentifierSchema,\n metrics: z.array(ContractIdentifierSchema).default([]),\n evidenceRefs: z.array(ContractIdentifierSchema).default([]),\n performanceBudgetMs: z.number().positive().optional(),\n })\n .strict(),\n })\n .strict()\n .superRefine((manifest, context) => {\n const providerIds = new Set<string>();\n manifest.runtime.providerBindings.forEach((binding, index) => {\n const providerIdentity = `${binding.providerRef.kind}:${binding.providerRef.id}@${String(binding.providerRef.version)}:${binding.providerRef.ownerRepo ?? ''}`;\n if (providerIds.has(providerIdentity)) {\n context.addIssue({ code: 'custom', path: ['runtime', 'providerBindings', index], message: `Duplicate capability provider binding: ${providerIdentity}` });\n }\n providerIds.add(providerIdentity);\n if (!['view', 'professional-provider'].includes(manifest.kind)) return;\n if (binding.providerRef.kind !== 'view-provider') {\n context.addIssue({ code: 'custom', path: ['runtime', 'providerBindings', index, 'providerRef', 'kind'], message: 'View capabilities must resolve to view providers.' });\n }\n if (binding.providerRef.version === undefined) {\n context.addIssue({ code: 'custom', path: ['runtime', 'providerBindings', index, 'providerRef', 'version'], message: 'View capability providers must pin a provider version.' });\n }\n if (binding.providerRef.ownerRepo === undefined) {\n context.addIssue({ code: 'custom', path: ['runtime', 'providerBindings', index, 'providerRef', 'ownerRepo'], message: 'View capability providers must declare their owner repository.' });\n }\n });\n });\n\nexport const CapabilitySourceTypeSchema = z.enum([\n 'tool-manifest',\n 'plugin-manifest',\n 'openapi',\n 'workflow',\n 'comfyui',\n]);\n\nexport const CapabilityRegistrySourceSchema = z\n .object({\n sourceType: CapabilitySourceTypeSchema,\n sourceId: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n })\n .strict();\n\nexport const CapabilityRegistryEntrySchema = z\n .object({\n manifest: CapabilityManifestSchema,\n sources: z.array(CapabilityRegistrySourceSchema).min(1),\n })\n .strict();\n\nexport const CapabilityRegistryDocumentSchema = z\n .object({\n contract: z.literal('CapabilityRegistry'),\n entries: z.array(CapabilityRegistryEntrySchema),\n })\n .strict()\n .superRefine((registry, context) => {\n const ids = new Set<string>();\n registry.entries.forEach((entry, index) => {\n if (ids.has(entry.manifest.id)) {\n context.addIssue({\n code: 'custom',\n path: ['entries', index, 'manifest', 'id'],\n message: `Duplicate capability id: ${entry.manifest.id}`,\n });\n }\n ids.add(entry.manifest.id);\n });\n });\n\nexport type ContractPort = z.infer<typeof ContractPortSchema>;\nexport type CapabilityProviderBinding = z.infer<typeof CapabilityProviderBindingSchema>;\nexport type CapabilityManifest = z.infer<typeof CapabilityManifestSchema>;\nexport type CapabilitySourceType = z.infer<typeof CapabilitySourceTypeSchema>;\nexport type CapabilityRegistrySource = z.infer<typeof CapabilityRegistrySourceSchema>;\nexport type CapabilityRegistryEntry = z.infer<typeof CapabilityRegistryEntrySchema>;\nexport type CapabilityRegistryDocument = z.infer<typeof CapabilityRegistryDocumentSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n ContractVersionSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonObjectSchema,\n} from './common';\n\nexport const ProductContextSchema = z.enum(['studio', 'kernel', 'compute']);\n\nexport const RenderNodeStateSchema = z.enum([\n 'idle',\n 'loading',\n 'empty',\n 'error',\n 'success',\n 'disabled',\n 'selected',\n]);\n\nexport const RenderNodeKindSchema = z.enum([\n 'shell',\n 'page',\n 'navigation',\n 'view',\n 'record',\n 'control',\n 'detail',\n 'action',\n 'overlay',\n 'professional-provider',\n]);\n\nexport const RenderSurfaceSchema = z\n .object({\n frameOwner: z.enum(['host', 'provider', 'none']),\n tone: ContractIdentifierSchema.optional(),\n density: z.enum(['compact', 'default', 'comfortable']),\n })\n .strict();\n\nexport const RenderScrollSchema = z\n .object({\n owner: z.enum(['page', 'surface', 'provider']),\n axis: z.enum(['x', 'y', 'both', 'none']),\n restoreKey: ContractIdentifierSchema.optional(),\n virtualizationBoundary: z.boolean(),\n })\n .strict()\n .superRefine((scroll, context) => {\n if (scroll.owner === 'provider' && scroll.restoreKey) {\n context.addIssue({\n code: 'custom',\n path: ['restoreKey'],\n message: 'Provider-owned scroll state cannot declare a host restoreKey.',\n });\n }\n if (scroll.virtualizationBoundary && scroll.owner !== 'provider') {\n context.addIssue({\n code: 'custom',\n path: ['owner'],\n message: 'A virtualization boundary must keep scroll ownership in the provider.',\n });\n }\n });\n\nexport const RenderActivationSchema = z\n .object({\n activationId: ContractIdentifierSchema,\n mode: z.enum(['navigate', 'select', 'drawer', 'modal', 'fullscreen', 'inline']),\n targetPath: z.string().trim().regex(/^\\/(?!\\/)/, 'Expected an application-relative path.').optional(),\n history: z.enum(['push', 'replace']).optional(),\n })\n .strict()\n .superRefine((activation, context) => {\n if (activation.mode === 'navigate' && !activation.targetPath) {\n context.addIssue({ code: 'custom', path: ['targetPath'], message: 'Navigate activation requires an application-relative targetPath.' });\n }\n if (activation.mode !== 'navigate' && activation.targetPath) {\n context.addIssue({ code: 'custom', path: ['targetPath'], message: 'Only navigate activation may declare targetPath.' });\n }\n });\n\nexport const RenderLifecycleSchema = z\n .object({\n mountPolicy: z.enum(['always', 'when-visible', 'when-active']),\n queryPolicy: z.enum(['always', 'when-visible', 'when-active', 'manual']),\n retainOnDeactivate: z.boolean(),\n deepLink: z.boolean(),\n focusReturn: z.boolean(),\n })\n .strict();\n\nexport const RenderLayoutSchema = z\n .object({\n mode: z.enum(['contents', 'block', 'flex', 'grid', 'absolute']),\n direction: z.enum(['row', 'column']).optional(),\n columns: z.number().int().positive().optional(),\n align: z.enum(['start', 'center', 'end', 'stretch']).optional(),\n justify: z.enum(['start', 'center', 'end', 'between', 'around']).optional(),\n gapTokenRef: EntityRefSchema.optional(),\n })\n .strict()\n .superRefine((layout, context) => {\n if (layout.direction && layout.mode !== 'flex') {\n context.addIssue({ code: 'custom', path: ['direction'], message: 'direction is only valid for flex layout.' });\n }\n if (layout.columns && layout.mode !== 'grid') {\n context.addIssue({ code: 'custom', path: ['columns'], message: 'columns is only valid for grid layout.' });\n }\n if (layout.gapTokenRef && layout.gapTokenRef.kind !== 'design-token') {\n context.addIssue({ code: 'custom', path: ['gapTokenRef', 'kind'], message: 'gapTokenRef must reference design-token.' });\n }\n });\n\nexport const RenderResponsiveRuleSchema = z\n .object({\n minWidthPx: z.number().nonnegative().optional(),\n maxWidthPx: z.number().positive().optional(),\n layout: RenderLayoutSchema,\n })\n .strict()\n .superRefine((rule, context) => {\n if (rule.minWidthPx === undefined && rule.maxWidthPx === undefined) {\n context.addIssue({ code: 'custom', path: [], message: 'Responsive rule must declare minWidthPx or maxWidthPx.' });\n }\n if (rule.minWidthPx !== undefined && rule.maxWidthPx !== undefined && rule.minWidthPx > rule.maxWidthPx) {\n context.addIssue({ code: 'custom', path: ['maxWidthPx'], message: 'maxWidthPx must be greater than or equal to minWidthPx.' });\n }\n });\n\nconst requireRef = (\n reference: z.infer<typeof EntityRefSchema> | undefined,\n expectedKind: string,\n path: (string | number)[],\n context: z.RefinementCtx,\n) => {\n if (!reference) return;\n if (reference.kind !== expectedKind) {\n context.addIssue({\n code: 'custom',\n path: [...path, 'kind'],\n message: `${path.join('.')} must reference ${expectedKind}.`,\n });\n }\n};\n\nconst requirePinnedOwnedRef = (\n reference: z.infer<typeof EntityRefSchema> | undefined,\n expectedKind: string,\n path: (string | number)[],\n context: z.RefinementCtx,\n) => {\n requireRef(reference, expectedKind, path, context);\n if (!reference) return;\n if (reference.version === undefined) {\n context.addIssue({\n code: 'custom',\n path: [...path, 'version'],\n message: `${path.join('.')} must pin a version.`,\n });\n }\n if (reference.ownerRepo === undefined) {\n context.addIssue({\n code: 'custom',\n path: [...path, 'ownerRepo'],\n message: `${path.join('.')} must declare its owner repository.`,\n });\n }\n};\n\nexport const RenderNodeSchema = z\n .object({\n contract: z.literal('RenderNode'),\n nodeId: ContractIdentifierSchema,\n kind: RenderNodeKindSchema,\n version: ContractVersionSchema,\n ownerRepo: ContractIdentifierSchema,\n parentNodeId: ContractIdentifierSchema.optional(),\n children: z.array(ContractIdentifierSchema),\n slot: ContractIdentifierSchema.optional(),\n pageRef: EntityRefSchema,\n semanticRef: EntityRefSchema.optional(),\n dataContextRef: EntityRefSchema.optional(),\n capabilityRef: EntityRefSchema,\n providerRef: EntityRefSchema.optional(),\n stateRef: EntityRefSchema.optional(),\n surface: RenderSurfaceSchema,\n scroll: RenderScrollSchema,\n activation: RenderActivationSchema,\n lifecycle: RenderLifecycleSchema,\n layout: RenderLayoutSchema,\n responsive: z.array(RenderResponsiveRuleSchema),\n accessRef: EntityRefSchema.optional(),\n evidenceRef: EntityRefSchema.optional(),\n state: RenderNodeStateSchema,\n renderModel: JsonObjectSchema,\n })\n .strict()\n .superRefine((node, context) => {\n requireRef(node.pageRef, 'page', ['pageRef'], context);\n requirePinnedOwnedRef(node.capabilityRef, 'capability', ['capabilityRef'], context);\n requirePinnedOwnedRef(node.providerRef, 'view-provider', ['providerRef'], context);\n requireRef(node.accessRef, 'access-policy', ['accessRef'], context);\n requireRef(node.evidenceRef, 'evidence', ['evidenceRef'], context);\n if (node.parentNodeId === node.nodeId) {\n context.addIssue({\n code: 'custom',\n path: ['parentNodeId'],\n message: 'RenderNode cannot be its own parent.',\n });\n }\n if (new Set(node.children).size !== node.children.length) {\n context.addIssue({ code: 'custom', path: ['children'], message: 'RenderNode children must be unique.' });\n }\n if (node.children.includes(node.nodeId)) {\n context.addIssue({ code: 'custom', path: ['children'], message: 'RenderNode cannot be its own child.' });\n }\n if (node.surface.frameOwner === 'provider' && !node.providerRef) {\n context.addIssue({\n code: 'custom',\n path: ['providerRef'],\n message: 'Provider-owned surfaces require providerRef.',\n });\n }\n });\n\nexport const RenderTreeSchema = z\n .object({\n contract: z.literal('RenderTree'),\n treeId: ContractIdentifierSchema,\n product: ProductContextSchema,\n rootNodeId: ContractIdentifierSchema,\n nodes: z.array(RenderNodeSchema).min(1),\n })\n .strict();\n\nexport const OverlayZIndexLaneSchema = z.enum([\n 'popover',\n 'drawer',\n 'modal',\n 'fullscreen',\n 'system',\n]);\n\nexport const OverlayNodeSchema = z\n .object({\n contract: z.literal('OverlayNode'),\n overlayId: ContractIdentifierSchema,\n renderNode: RenderNodeSchema,\n presentation: z.enum(['drawer', 'modal', 'fullscreen']),\n zIndexLane: OverlayZIndexLaneSchema,\n url: z\n .object({\n parameter: ContractIdentifierSchema,\n value: ContractIdentifierSchema,\n openMode: z.enum(['push', 'replace']),\n closeMode: z.enum(['back', 'replace']),\n })\n .strict(),\n focus: z\n .object({\n initial: z.enum(['first-interactive', 'container', 'explicit']),\n trap: z.boolean(),\n })\n .strict(),\n close: z\n .object({\n escape: z.boolean(),\n backdrop: z.boolean(),\n })\n .strict(),\n })\n .strict()\n .superRefine((value, context) => {\n if (value.renderNode.kind !== 'overlay') {\n context.addIssue({\n code: 'custom',\n path: ['renderNode', 'kind'],\n message: 'OverlayNode renderNode.kind must be overlay.',\n });\n }\n if (value.renderNode.activation.mode !== value.presentation) {\n context.addIssue({\n code: 'custom',\n path: ['renderNode', 'activation', 'mode'],\n message: 'OverlayNode presentation must match the RenderNode activation mode.',\n });\n }\n if (value.presentation === 'drawer' && value.zIndexLane !== 'drawer') {\n context.addIssue({\n code: 'custom',\n path: ['zIndexLane'],\n message: 'Drawer overlays must use the drawer z-index lane.',\n });\n }\n if (value.presentation === 'modal' && value.zIndexLane !== 'modal') {\n context.addIssue({\n code: 'custom',\n path: ['zIndexLane'],\n message: 'Modal overlays must use the modal z-index lane.',\n });\n }\n if (value.presentation === 'fullscreen' && value.zIndexLane !== 'fullscreen' && value.zIndexLane !== 'system') {\n context.addIssue({\n code: 'custom',\n path: ['zIndexLane'],\n message: 'Fullscreen overlays must use the fullscreen or system z-index lane.',\n });\n }\n });\n\nconst ProductPathSchema = z\n .string()\n .trim()\n .regex(/^\\/(?!\\/)/, 'Expected an application-relative path.');\n\nexport const ApplicationHandoffEndpointSchema = z\n .object({\n product: ProductContextSchema,\n pageId: ContractIdentifierSchema,\n viewId: ContractIdentifierSchema.optional(),\n objectRef: EntityRefSchema.optional(),\n runtimeRef: EntityRefSchema.optional(),\n activationId: ContractIdentifierSchema.optional(),\n path: ProductPathSchema,\n })\n .strict();\n\nexport const ApplicationHandoffSchema = z\n .object({\n contract: z.literal('ApplicationHandoff'),\n handoffId: ContractIdentifierSchema,\n source: ApplicationHandoffEndpointSchema,\n target: ApplicationHandoffEndpointSchema,\n returnTarget: ApplicationHandoffEndpointSchema.optional(),\n traceId: ContractIdentifierSchema.optional(),\n createdAt: IsoDateTimeSchema,\n })\n .strict()\n .superRefine((value, context) => {\n if (value.source.product === value.target.product && value.source.pageId === value.target.pageId) {\n context.addIssue({\n code: 'custom',\n path: ['target'],\n message: 'ApplicationHandoff target must identify a different product page.',\n });\n }\n });\n\nexport const ViewProviderDescriptorSchema = z\n .object({\n contract: z.literal('ViewProviderDescriptor'),\n providerId: ContractIdentifierSchema,\n providerVersion: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n capabilityRef: EntityRefSchema,\n rendererKey: ContractIdentifierSchema,\n renderModelSchemaRef: ContractIdentifierSchema,\n intentSchemaRef: ContractIdentifierSchema.optional(),\n loading: z.enum(['eager', 'lazy', 'viewport', 'on-activation']),\n stateOwner: z.enum(['host', 'provider', 'external']),\n supportedPageTypes: z.array(ContractIdentifierSchema).min(1),\n supportedSurfaces: z\n .array(z.enum(['page', 'workspace', 'view', 'record', 'action', 'overlay', 'agent']))\n .min(1),\n frameOwner: z.enum(['host', 'provider', 'none']),\n sideEffects: z\n .array(z.enum(['network', 'storage', 'navigation', 'worker', 'websocket'])),\n sideEffectAdapterRef: EntityRefSchema.optional(),\n lifecycle: z\n .object({\n preserveMount: z.boolean(),\n preserveScroll: z.boolean(),\n focusModel: ContractIdentifierSchema,\n })\n .strict(),\n performance: z\n .object({\n lazy: z.boolean(),\n virtualized: z.boolean(),\n budgetMs: z.number().positive().optional(),\n })\n .strict(),\n accessRef: EntityRefSchema.optional(),\n evidenceRef: EntityRefSchema.optional(),\n })\n .strict()\n .superRefine((provider, context) => {\n requirePinnedOwnedRef(provider.capabilityRef, 'capability', ['capabilityRef'], context);\n requirePinnedOwnedRef(provider.sideEffectAdapterRef, 'side-effect-adapter', ['sideEffectAdapterRef'], context);\n requireRef(provider.accessRef, 'access-policy', ['accessRef'], context);\n requireRef(provider.evidenceRef, 'evidence', ['evidenceRef'], context);\n if (provider.capabilityRef.version === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['capabilityRef', 'version'],\n message: 'Provider capabilityRef must pin an active capability version.',\n });\n }\n if (provider.frameOwner === 'provider' && provider.stateOwner === 'host' && !provider.lifecycle.preserveMount) {\n context.addIssue({\n code: 'custom',\n path: ['lifecycle', 'preserveMount'],\n message: 'Host-owned state on a provider-owned frame must preserve the provider mount.',\n });\n }\n if (provider.sideEffects.length > 0 && !provider.sideEffectAdapterRef) {\n context.addIssue({ code: 'custom', path: ['sideEffectAdapterRef'], message: 'Providers with side effects require a pinned side-effect adapter.' });\n }\n if (provider.sideEffects.length === 0 && provider.sideEffectAdapterRef) {\n context.addIssue({ code: 'custom', path: ['sideEffectAdapterRef'], message: 'Pure providers cannot declare a side-effect adapter.' });\n }\n });\n\nexport type ProductContext = z.infer<typeof ProductContextSchema>;\nexport type RenderNodeState = z.infer<typeof RenderNodeStateSchema>;\nexport type RenderNodeKind = z.infer<typeof RenderNodeKindSchema>;\nexport type RenderSurface = z.infer<typeof RenderSurfaceSchema>;\nexport type RenderScroll = z.infer<typeof RenderScrollSchema>;\nexport type RenderActivation = z.infer<typeof RenderActivationSchema>;\nexport type RenderLifecycle = z.infer<typeof RenderLifecycleSchema>;\nexport type RenderLayout = z.infer<typeof RenderLayoutSchema>;\nexport type RenderResponsiveRule = z.infer<typeof RenderResponsiveRuleSchema>;\nexport type RenderNode = z.infer<typeof RenderNodeSchema>;\nexport type RenderTree = z.infer<typeof RenderTreeSchema>;\nexport type OverlayZIndexLane = z.infer<typeof OverlayZIndexLaneSchema>;\nexport type OverlayNode = z.infer<typeof OverlayNodeSchema>;\nexport type ApplicationHandoffEndpoint = z.infer<typeof ApplicationHandoffEndpointSchema>;\nexport type ApplicationHandoff = z.infer<typeof ApplicationHandoffSchema>;\nexport type ViewProviderDescriptor = z.infer<typeof ViewProviderDescriptorSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonValueSchema,\n} from './common';\n\nexport const ActorRefSchema = z\n .object({\n kind: z.enum(['human', 'agent', 'service', 'tenant', 'public']),\n id: ContractIdentifierSchema.optional(),\n userId: ContractIdentifierSchema.optional(),\n agentId: ContractIdentifierSchema.optional(),\n serviceId: ContractIdentifierSchema.optional(),\n })\n .strict();\n\nexport const AuthorityScopeSchema = z\n .object({\n resource: ContractIdentifierSchema,\n actions: z.array(ContractIdentifierSchema).min(1),\n constraints: z.record(z.string(), JsonValueSchema).optional(),\n })\n .strict();\n\nexport const RequestScopeSchema = z\n .object({\n contract: z.literal('RequestScope'),\n requestId: ContractIdentifierSchema,\n traceId: ContractIdentifierSchema.optional(),\n appId: ContractIdentifierSchema,\n tenantId: ContractIdentifierSchema.optional(),\n teamId: ContractIdentifierSchema.optional(),\n actor: ActorRefSchema,\n session: z\n .object({\n authType: ContractIdentifierSchema,\n authenticated: z.boolean(),\n membershipVerified: z.boolean(),\n })\n .strict(),\n permissionCodes: z.array(ContractIdentifierSchema).default([]),\n authority: z.array(AuthorityScopeSchema).default([]),\n issuedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const ExecutionLinkSchema = z\n .object({\n contract: z.literal('ExecutionLink'),\n requestId: ContractIdentifierSchema,\n traceId: ContractIdentifierSchema.optional(),\n correlationId: ContractIdentifierSchema.optional(),\n causationId: ContractIdentifierSchema.optional(),\n workflowRef: EntityRefSchema.optional(),\n runRef: EntityRefSchema,\n taskRef: EntityRefSchema.optional(),\n parentRunRef: EntityRefSchema.optional(),\n })\n .strict();\n\nexport const CompletionHeaderSchema = z\n .object({\n contract: z.literal('CompletionHeader'),\n eventId: ContractIdentifierSchema,\n runtimeEventId: ContractIdentifierSchema,\n idempotencyKey: ContractIdentifierSchema,\n sequence: z.number().int().nonnegative(),\n execution: ExecutionLinkSchema,\n producer: z\n .object({\n service: ContractIdentifierSchema,\n runtime: ContractIdentifierSchema,\n version: ContractIdentifierSchema,\n })\n .strict(),\n status: z.enum(['SUCCEEDED', 'FAILED', 'CANCELLED', 'TIMED_OUT']),\n occurredAt: IsoDateTimeSchema,\n payloadSchemaRef: ContractIdentifierSchema.optional(),\n })\n .strict();\n\nexport const CompletionEventSchema = z\n .object({\n header: CompletionHeaderSchema,\n payload: JsonValueSchema.optional(),\n })\n .strict();\n\nexport const AgentRuntimeEventSchema = z\n .object({\n contract: z.literal('AgentRuntimeEvent'),\n runtimeEventId: ContractIdentifierSchema,\n streamId: ContractIdentifierSchema,\n sequence: z.number().int().nonnegative(),\n requestId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n threadId: ContractIdentifierSchema.optional(),\n eventType: z.enum(['messages:append', 'messages:update', 'thread:update', 'tool-call:upsert']),\n payload: JsonValueSchema,\n occurredAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport type ActorRef = z.infer<typeof ActorRefSchema>;\nexport type AuthorityScope = z.infer<typeof AuthorityScopeSchema>;\nexport type RequestScope = z.infer<typeof RequestScopeSchema>;\nexport type ExecutionLink = z.infer<typeof ExecutionLinkSchema>;\nexport type CompletionHeader = z.infer<typeof CompletionHeaderSchema>;\nexport type CompletionEvent = z.infer<typeof CompletionEventSchema>;\nexport type AgentRuntimeEvent = z.infer<typeof AgentRuntimeEventSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n ContractVersionSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonObjectSchema,\n} from './common';\n\nexport const DataContinuityEnvelopeSchema = z\n .object({\n contract: z.literal('DataContinuityEnvelope'),\n tenantId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n sourceRef: EntityRefSchema.optional(),\n bodyRef: EntityRefSchema.optional(),\n runRef: EntityRefSchema.optional(),\n outputRef: EntityRefSchema.optional(),\n artifactRef: EntityRefSchema.optional(),\n requestId: ContractIdentifierSchema,\n actorRef: EntityRefSchema,\n schemaVersion: ContractVersionSchema,\n })\n .strict()\n .refine(\n value => Boolean(value.sourceRef || value.bodyRef || value.runRef || value.outputRef || value.artifactRef),\n 'At least one continuity ref is required.',\n );\n\nexport const BodyRelationRecordSchema = z\n .object({\n contract: z.literal('BodyRelationRecord'),\n relationId: ContractIdentifierSchema,\n relationKind: ContractIdentifierSchema,\n subjectRef: EntityRefSchema,\n objectRef: EntityRefSchema,\n ownerRepo: ContractIdentifierSchema,\n authorityScope: z.enum(['tenant', 'team', 'global']),\n properties: JsonObjectSchema.default({}),\n createdAt: IsoDateTimeSchema,\n updatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const ApplicationRunSchema = z\n .object({\n contract: z.literal('ApplicationRun'),\n runId: ContractIdentifierSchema,\n definitionRef: EntityRefSchema,\n runtimeLedgerRef: EntityRefSchema,\n requestId: ContractIdentifierSchema,\n actorRef: EntityRefSchema,\n status: z.enum(['PENDING', 'RUNNING', 'COMPLETED', 'FAILED', 'CANCELLED', 'EXPIRED']),\n inputRefs: z.array(EntityRefSchema).default([]),\n outputRefs: z.array(EntityRefSchema).default([]),\n startedAt: IsoDateTimeSchema.optional(),\n completedAt: IsoDateTimeSchema.optional(),\n expiresAt: IsoDateTimeSchema.optional(),\n metadata: JsonObjectSchema.default({}),\n })\n .strict();\n\nexport const ExpiringAccessGrantSchema = z\n .object({\n contract: z.literal('ExpiringAccessGrant'),\n grantId: ContractIdentifierSchema,\n subjectRef: EntityRefSchema,\n resourceRef: EntityRefSchema,\n permissions: z.array(ContractIdentifierSchema).min(1),\n issuedAt: IsoDateTimeSchema,\n expiresAt: IsoDateTimeSchema,\n revokedAt: IsoDateTimeSchema.optional(),\n })\n .strict()\n .refine(value => Date.parse(value.expiresAt) > Date.parse(value.issuedAt), 'expiresAt must be after issuedAt');\n\nexport type DataContinuityEnvelope = z.infer<typeof DataContinuityEnvelopeSchema>;\nexport type BodyRelationRecord = z.infer<typeof BodyRelationRecordSchema>;\nexport type ApplicationRun = z.infer<typeof ApplicationRunSchema>;\nexport type ExpiringAccessGrant = z.infer<typeof ExpiringAccessGrantSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonValueSchema,\n Sha256Schema,\n} from './common';\n\nexport const SourceRecordRefSchema = z\n .object({\n sourceId: ContractIdentifierSchema,\n recordId: ContractIdentifierSchema,\n recordVersion: z.union([z.number().int().nonnegative(), ContractIdentifierSchema]),\n hash: Sha256Schema,\n })\n .strict();\n\nexport const OntologyDefinitionSchema = z\n .object({\n contract: z.literal('OntologyDefinition'),\n ontologyId: ContractIdentifierSchema,\n dataSpaceId: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n bodySchemaRef: ContractIdentifierSchema,\n authority: z\n .object({\n service: ContractIdentifierSchema,\n storage: ContractIdentifierSchema,\n scope: z.enum(['tenant', 'team', 'user', 'global']),\n })\n .strict(),\n relationKinds: z.array(ContractIdentifierSchema).default([]),\n metricKinds: z.array(ContractIdentifierSchema).default([]),\n })\n .strict();\n\nexport const ProjectionSpecSchema = z\n .object({\n contract: z.literal('ProjectionSpec'),\n projectionId: ContractIdentifierSchema,\n ontologyIds: z.array(ContractIdentifierSchema).min(1),\n outputSchemaRef: ContractIdentifierSchema,\n operator: z\n .object({\n kind: z.enum(['query', 'aggregate', 'relationship', 'search', 'custom']),\n configuration: z.record(z.string(), JsonValueSchema).default({}),\n })\n .strict(),\n materialization: z.enum(['on-demand', 'event-driven', 'scheduled']),\n invalidationEvents: z.array(ContractIdentifierSchema).default([]),\n rebuildable: z.literal(true),\n lineagePolicy: z\n .object({\n sourceRecords: z.boolean(),\n bodyVersions: z.boolean(),\n runRefs: z.boolean(),\n actorRefs: z.boolean(),\n })\n .strict(),\n })\n .strict();\n\nexport const LineageRecordSchema = z\n .object({\n contract: z.literal('LineageRecord'),\n lineageId: ContractIdentifierSchema,\n subjectRef: EntityRefSchema,\n sourceRecords: z.array(SourceRecordRefSchema).default([]),\n bodyRefs: z.array(EntityRefSchema).default([]),\n runRefs: z.array(EntityRefSchema).default([]),\n outputRefs: z.array(EntityRefSchema).default([]),\n artifactRefs: z.array(EntityRefSchema).default([]),\n actorRefs: z.array(EntityRefSchema).default([]),\n evidenceRefs: z.array(EntityRefSchema).default([]),\n recordedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const DomainEventSchema = z\n .object({\n contract: z.literal('DomainEvent'),\n eventId: ContractIdentifierSchema,\n eventType: ContractIdentifierSchema,\n aggregateRef: EntityRefSchema,\n aggregateVersion: z.number().int().nonnegative(),\n requestId: ContractIdentifierSchema,\n actorRef: EntityRefSchema,\n payload: JsonValueSchema,\n occurredAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport type SourceRecordRef = z.infer<typeof SourceRecordRefSchema>;\nexport type OntologyDefinition = z.infer<typeof OntologyDefinitionSchema>;\nexport type ProjectionSpec = z.infer<typeof ProjectionSpecSchema>;\nexport type LineageRecord = z.infer<typeof LineageRecordSchema>;\nexport type DomainEvent = z.infer<typeof DomainEventSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n JsonObjectSchema,\n LocalizedTextSchema,\n} from './common';\n\nexport const PageTypeSchema = z.enum([\n 'page',\n 'workspace',\n 'view',\n 'record',\n 'action',\n 'overlay',\n 'agent',\n 'process',\n 'log',\n 'chat',\n 'preview',\n 'api',\n 'enhanced',\n 'agent-chat',\n 'agent-config',\n 'agent-log',\n 'design-board',\n 'global-design-board',\n 'iframe',\n]);\n\nexport const PageVisibilitySchema = z\n .object({\n authenticated: z.boolean().default(true),\n permissionAllOf: z.array(ContractIdentifierSchema).default([]),\n permissionAnyOf: z.array(ContractIdentifierSchema).default([]),\n featureFlags: z.array(ContractIdentifierSchema).default([]),\n productContexts: z.array(z.enum(['studio', 'kernel', 'compute'])).min(1),\n })\n .strict();\n\nexport const PageRoutePathSchema = z\n .string()\n .trim()\n .regex(/^\\/(?!\\/)/, 'Expected an application-relative route path.');\n\nconst requireCapabilityReference = (\n reference: z.infer<typeof EntityRefSchema>,\n path: (string | number)[],\n context: z.RefinementCtx,\n) => {\n if (reference.kind !== 'capability') {\n context.addIssue({\n code: 'custom',\n path: [...path, 'kind'],\n message: 'Page capability references must use kind capability.',\n });\n }\n if (reference.version === undefined) {\n context.addIssue({\n code: 'custom',\n path: [...path, 'version'],\n message: 'Page capability references must pin an active capability version.',\n });\n }\n if (reference.ownerRepo === undefined) {\n context.addIssue({\n code: 'custom',\n path: [...path, 'ownerRepo'],\n message: 'Page capability references must declare their owner repository.',\n });\n }\n};\n\nexport const PageDefinitionSchema = z\n .object({\n contract: z.literal('PageDefinition'),\n pageId: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n title: LocalizedTextSchema,\n pageType: PageTypeSchema,\n ownership: z.object({\n teamId: ContractIdentifierSchema.optional(),\n creatorRef: EntityRefSchema.optional(),\n studioId: ContractIdentifierSchema.optional(),\n builtIn: z.boolean(),\n }).strict(),\n record: z.object({\n createdTimestamp: z.number().int().nonnegative().optional(),\n updatedTimestamp: z.number().int().nonnegative().optional(),\n deleted: z.boolean().default(false),\n }).strict(),\n surface: z.enum(['page', 'workspace', 'view', 'record', 'action', 'overlay', 'agent']),\n routeId: ContractIdentifierSchema,\n routePath: PageRoutePathSchema,\n rendererKey: ContractIdentifierSchema,\n capabilityRef: EntityRefSchema,\n capabilityRefs: z.array(EntityRefSchema).default([]),\n workflowRef: EntityRefSchema.optional(),\n binding: z\n .object({\n sourceRef: ContractIdentifierSchema.optional(),\n ontologyId: ContractIdentifierSchema.optional(),\n projectionRef: ContractIdentifierSchema.optional(),\n stateRef: ContractIdentifierSchema.optional(),\n })\n .strict(),\n access: z.object({\n actions: z.array(z.enum(['read', 'write', 'execute', 'manage-permissions'])).default([]),\n }).strict(),\n rendererConfig: z.object({\n schemaRef: ContractIdentifierSchema,\n value: JsonObjectSchema,\n }).strict(),\n navigation: z\n .object({\n label: LocalizedTextSchema,\n iconRef: ContractIdentifierSchema.optional(),\n parentPageId: ContractIdentifierSchema.optional(),\n order: z.number().int().optional(),\n hidden: z.boolean().default(false),\n pinned: z.boolean().default(false),\n })\n .strict(),\n visibility: PageVisibilitySchema,\n })\n .strict()\n .superRefine((page, context) => {\n const capabilities = [page.capabilityRef, ...page.capabilityRefs];\n const capabilityIdentities = new Set<string>();\n capabilities.forEach((reference, index) => {\n const path = index === 0 ? ['capabilityRef'] : ['capabilityRefs', index - 1];\n requireCapabilityReference(reference, path, context);\n const identity = `${reference.id}@${String(reference.version)}:${reference.ownerRepo ?? ''}`;\n if (capabilityIdentities.has(identity)) {\n context.addIssue({\n code: 'custom',\n path,\n message: `Duplicate page capability reference: ${identity}`,\n });\n }\n capabilityIdentities.add(identity);\n });\n if (page.workflowRef && page.workflowRef.kind !== 'workflow') context.addIssue({ code: 'custom', path: ['workflowRef', 'kind'], message: 'workflowRef must reference a workflow.' });\n });\n\nexport const PageRuntimeDescriptorSchema = z\n .object({\n contract: z.literal('PageRuntimeDescriptor'),\n page: PageDefinitionSchema,\n nodeId: ContractIdentifierSchema,\n parentNodeId: ContractIdentifierSchema.optional(),\n slot: ContractIdentifierSchema.optional(),\n semanticRef: ContractIdentifierSchema.optional(),\n dataContextRef: ContractIdentifierSchema.optional(),\n providerRef: EntityRefSchema.optional(),\n surface: z\n .object({\n frameOwner: ContractIdentifierSchema,\n tone: ContractIdentifierSchema.optional(),\n density: z.enum(['compact', 'default', 'comfortable']).default('default'),\n })\n .strict(),\n scroll: z\n .object({\n owner: z.enum(['page', 'surface', 'provider']),\n axis: z.enum(['x', 'y', 'both', 'none']),\n restoreKey: ContractIdentifierSchema.optional(),\n virtualized: z.boolean().default(false),\n })\n .strict(),\n activation: z.enum(['navigate', 'select', 'drawer', 'modal', 'fullscreen']),\n lifecycle: z\n .object({\n mountPolicy: z.enum(['always', 'when-visible', 'when-active']),\n queryPolicy: z.enum(['always', 'when-visible', 'when-active', 'manual']),\n deepLink: z.boolean(),\n focusReturn: z.boolean(),\n })\n .strict(),\n })\n .strict();\n\nexport const PageRouteProjectionSchema = z.object({\n pageId: ContractIdentifierSchema,\n routeId: ContractIdentifierSchema,\n path: PageRoutePathSchema,\n}).strict();\n\nexport const PageNavigationProjectionSchema = z.object({\n pageId: ContractIdentifierSchema,\n routeId: ContractIdentifierSchema,\n path: PageRoutePathSchema,\n label: LocalizedTextSchema,\n iconRef: ContractIdentifierSchema.optional(),\n parentPageId: ContractIdentifierSchema.optional(),\n order: z.number().int().optional(),\n pinned: z.boolean(),\n}).strict();\n\nexport const PageGuardProjectionSchema = z.object({\n pageId: ContractIdentifierSchema,\n authenticated: z.boolean(),\n permissionAllOf: z.array(ContractIdentifierSchema),\n permissionAnyOf: z.array(ContractIdentifierSchema),\n featureFlags: z.array(ContractIdentifierSchema),\n actions: z.array(z.enum(['read', 'write', 'execute', 'manage-permissions'])),\n}).strict();\n\nexport const PageRendererProjectionSchema = z\n .object({\n pageId: ContractIdentifierSchema,\n surface: z.enum(['page', 'workspace', 'view', 'record', 'action', 'overlay', 'agent']),\n rendererKey: ContractIdentifierSchema,\n capabilityRef: EntityRefSchema,\n capabilityRefs: z.array(EntityRefSchema),\n providerRef: EntityRefSchema,\n binding: PageDefinitionSchema.shape.binding,\n rendererConfig: PageDefinitionSchema.shape.rendererConfig,\n workflowRef: EntityRefSchema.optional(),\n })\n .strict()\n .superRefine((renderer, context) => {\n requireCapabilityReference(renderer.capabilityRef, ['capabilityRef'], context);\n renderer.capabilityRefs.forEach((reference, index) => {\n requireCapabilityReference(reference, ['capabilityRefs', index], context);\n });\n if (renderer.providerRef.kind !== 'view-provider') {\n context.addIssue({\n code: 'custom',\n path: ['providerRef', 'kind'],\n message: 'Renderer providerRef must use kind view-provider.',\n });\n }\n if (renderer.providerRef.version === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['providerRef', 'version'],\n message: 'Renderer providerRef must pin a provider version.',\n });\n }\n if (renderer.providerRef.ownerRepo === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['providerRef', 'ownerRepo'],\n message: 'Renderer providerRef must declare its owner repository.',\n });\n }\n });\n\nconst duplicateProjectionIdentity = <T>(\n values: readonly T[],\n identity: (value: T) => string,\n): string | undefined => {\n const seen = new Set<string>();\n for (const value of values) {\n const key = identity(value);\n if (seen.has(key)) return key;\n seen.add(key);\n }\n return undefined;\n};\n\nexport const PageRuntimeProjectionSchema = z\n .object({\n contract: z.literal('PageRuntimeProjection'),\n product: z.enum(['studio', 'kernel', 'compute']),\n routes: z.array(PageRouteProjectionSchema),\n navigation: z.array(PageNavigationProjectionSchema),\n guards: z.array(PageGuardProjectionSchema),\n renderers: z.array(PageRendererProjectionSchema),\n })\n .strict()\n .superRefine((projection, context) => {\n const tables = [\n ['routes', projection.routes.map((value) => value.pageId)],\n ['navigation', projection.navigation.map((value) => value.pageId)],\n ['guards', projection.guards.map((value) => value.pageId)],\n ['renderers', projection.renderers.map((value) => value.pageId)],\n ] as const;\n for (const [table, values] of tables) {\n const duplicate = duplicateProjectionIdentity(values, (value) => value);\n if (duplicate) {\n context.addIssue({ code: 'custom', path: [table], message: `Duplicate ${table} pageId: ${duplicate}` });\n }\n }\n\n for (const identity of [\n ['routeId', duplicateProjectionIdentity(projection.routes, (route) => route.routeId)],\n ['path', duplicateProjectionIdentity(projection.routes, (route) => route.path)],\n ] as const) {\n if (identity[1]) {\n context.addIssue({ code: 'custom', path: ['routes'], message: `Duplicate route ${identity[0]}: ${identity[1]}` });\n }\n }\n\n const routesByPageId = new Map(projection.routes.map((route) => [route.pageId, route]));\n const guardPageIds = new Set(projection.guards.map((guard) => guard.pageId));\n const rendererPageIds = new Set(projection.renderers.map((renderer) => renderer.pageId));\n for (const route of projection.routes) {\n if (!guardPageIds.has(route.pageId)) {\n context.addIssue({ code: 'custom', path: ['guards'], message: `Missing guard projection for ${route.pageId}.` });\n }\n if (!rendererPageIds.has(route.pageId)) {\n context.addIssue({ code: 'custom', path: ['renderers'], message: `Missing renderer projection for ${route.pageId}.` });\n }\n }\n for (const guard of projection.guards) {\n if (!routesByPageId.has(guard.pageId)) {\n context.addIssue({ code: 'custom', path: ['guards'], message: `Guard references unknown page ${guard.pageId}.` });\n }\n }\n for (const renderer of projection.renderers) {\n if (!routesByPageId.has(renderer.pageId)) {\n context.addIssue({ code: 'custom', path: ['renderers'], message: `Renderer references unknown page ${renderer.pageId}.` });\n }\n }\n for (const navigation of projection.navigation) {\n const route = routesByPageId.get(navigation.pageId);\n if (!route || route.routeId !== navigation.routeId || route.path !== navigation.path) {\n context.addIssue({\n code: 'custom',\n path: ['navigation'],\n message: `Navigation route projection for ${navigation.pageId} does not match its route table entry.`,\n });\n }\n }\n });\n\nexport type PageVisibility = z.infer<typeof PageVisibilitySchema>;\nexport type PageType = z.infer<typeof PageTypeSchema>;\nexport type PageDefinition = z.infer<typeof PageDefinitionSchema>;\nexport type PageRuntimeDescriptor = z.infer<typeof PageRuntimeDescriptorSchema>;\nexport type PageRouteProjection = z.infer<typeof PageRouteProjectionSchema>;\nexport type PageNavigationProjection = z.infer<typeof PageNavigationProjectionSchema>;\nexport type PageGuardProjection = z.infer<typeof PageGuardProjectionSchema>;\nexport type PageRendererProjection = z.infer<typeof PageRendererProjectionSchema>;\nexport type PageRuntimeProjection = z.infer<typeof PageRuntimeProjectionSchema>;\n","import { z } from 'zod';\nimport { CapabilityManifestSchema } from './capability';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonObjectSchema,\n} from './common';\nimport { OntologyDefinitionSchema, ProjectionSpecSchema } from './data';\nimport { PageDefinitionSchema } from './page';\n\nexport const ConceptRelationshipSchema = z\n .object({\n kind: ContractIdentifierSchema,\n targetConceptId: ContractIdentifierSchema,\n cardinality: z.enum(['one', 'optional', 'many']),\n })\n .strict();\n\nexport const ConceptDefinitionSchema = z\n .object({\n contract: z.literal('ConceptDefinition'),\n conceptId: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n displayName: z.string().trim().min(1),\n description: z.string().optional(),\n schemaRef: ContractIdentifierSchema,\n ontologyId: ContractIdentifierSchema.optional(),\n capabilityIds: z.array(ContractIdentifierSchema).default([]),\n commandNames: z.array(ContractIdentifierSchema).default([]),\n relationships: z.array(ConceptRelationshipSchema).default([]),\n })\n .strict();\n\nexport const DomainCommandDefinitionSchema = z\n .object({\n contract: z.literal('DomainCommandDefinition'),\n commandName: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n displayName: z.string().trim().min(1),\n description: z.string().optional(),\n targetKinds: z.array(ContractIdentifierSchema).min(1),\n inputSchemaRef: ContractIdentifierSchema,\n outputSchemaRef: ContractIdentifierSchema.optional(),\n requiredPermissionCodes: z.array(ContractIdentifierSchema).default([]),\n handlerRef: EntityRefSchema,\n sideEffects: z\n .array(z.enum(['data-write', 'execution', 'navigation', 'notification', 'external-call']))\n .default([]),\n })\n .strict();\n\nexport const DomainCommandSchema = z\n .object({\n contract: z.literal('DomainCommand'),\n commandId: ContractIdentifierSchema,\n commandName: ContractIdentifierSchema,\n requestId: ContractIdentifierSchema,\n traceId: ContractIdentifierSchema,\n idempotencyKey: ContractIdentifierSchema,\n targetRef: EntityRefSchema,\n actorRef: EntityRefSchema,\n source: z\n .object({\n product: z.enum(['studio', 'kernel', 'compute', 'agent', 'mcp', 'service']),\n pageId: ContractIdentifierSchema.optional(),\n capabilityId: ContractIdentifierSchema.optional(),\n })\n .strict(),\n payload: JsonObjectSchema,\n issuedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const ProductDeclarationSchema = z\n .object({\n contract: z.literal('ProductDeclaration'),\n declarationId: ContractIdentifierSchema,\n ownerRepo: ContractIdentifierSchema,\n concepts: z.array(ConceptDefinitionSchema).default([]),\n ontologies: z.array(OntologyDefinitionSchema).default([]),\n projections: z.array(ProjectionSpecSchema).default([]),\n commands: z.array(DomainCommandDefinitionSchema).default([]),\n capabilities: z.array(CapabilityManifestSchema).default([]),\n pages: z.array(PageDefinitionSchema).default([]),\n })\n .strict();\n\nexport const DeclarationGraphEdgeSchema = z\n .object({\n from: EntityRefSchema,\n to: EntityRefSchema,\n relation: z.enum([\n 'uses-ontology',\n 'uses-projection',\n 'uses-capability',\n 'uses-command',\n 'relates-to-concept',\n ]),\n })\n .strict();\n\nexport const ChangeImpactSchema = z\n .object({\n changedRef: EntityRefSchema,\n affectedRefs: z.array(EntityRefSchema),\n reasons: z.array(ContractIdentifierSchema).min(1),\n })\n .strict();\n\nexport const ChangeImpactGraphSchema = z\n .object({\n contract: z.literal('ChangeImpactGraph'),\n declarationId: ContractIdentifierSchema,\n nodes: z.array(EntityRefSchema),\n edges: z.array(DeclarationGraphEdgeSchema),\n impacts: z.array(ChangeImpactSchema),\n generatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport type ConceptRelationship = z.infer<typeof ConceptRelationshipSchema>;\nexport type ConceptDefinition = z.infer<typeof ConceptDefinitionSchema>;\nexport type DomainCommandDefinition = z.infer<typeof DomainCommandDefinitionSchema>;\nexport type DomainCommand = z.infer<typeof DomainCommandSchema>;\nexport type ProductDeclaration = z.infer<typeof ProductDeclarationSchema>;\nexport type DeclarationGraphEdge = z.infer<typeof DeclarationGraphEdgeSchema>;\nexport type ChangeImpact = z.infer<typeof ChangeImpactSchema>;\nexport type ChangeImpactGraph = z.infer<typeof ChangeImpactGraphSchema>;\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n JsonObjectSchema,\n LocaleIdentifierSchema,\n LocalizedTextSchema,\n} from './common';\nimport { PageDefinitionSchema } from './page';\nimport { ResolvedThemeTokensSchema, ThemeTokensSchema } from './theme';\n\nconst DesignTokenFileSourceSchema = z\n .object({\n type: z.literal('file'),\n path: z.string().trim().min(1).superRefine((source, context) => {\n if (/^[a-z][a-z\\d+.-]*:/i.test(source)) {\n context.addIssue({\n code: 'custom',\n message: 'Design token file sources must use local file paths.',\n });\n }\n }),\n })\n .strict();\n\nconst DesignTokenUrlSourceSchema = z\n .object({\n type: z.literal('url'),\n url: z.string().trim().min(1).superRefine((source, context) => {\n if (!/^https?:\\/\\//i.test(source)) {\n context.addIssue({\n code: 'custom',\n message: 'Design token URL sources must use HTTP(S).',\n });\n }\n }),\n })\n .strict();\n\nconst DesignTokenInlineSourceSchema = z\n .object({\n type: z.literal('inline'),\n document: ThemeTokensSchema,\n })\n .strict();\n\n/** One explicitly ordered input to the tenant design-token release. */\nexport const DesignTokenSourceSchema = z.discriminatedUnion('type', [\n DesignTokenFileSourceSchema,\n DesignTokenUrlSourceSchema,\n DesignTokenInlineSourceSchema,\n]);\n\nexport const TenantDesignTokensConfigSchema = z\n .object({\n /** Ordered tenant overrides. The backend always applies the product default first. */\n tokenSources: z.array(DesignTokenSourceSchema),\n })\n .strict();\n\n/** Browser-safe reference to an authentication provider and its public policy. */\nexport const TenantAuthBindingSchema = z\n .object({\n kind: z.literal('auth-provider'),\n providerId: ContractIdentifierSchema,\n policyRef: ContractIdentifierSchema.optional(),\n })\n .strict();\n\n/** Browser-safe reference to a data provider or an owned projection. */\nexport const TenantDataBindingSchema = z\n .discriminatedUnion('kind', [\n z\n .object({\n kind: z.literal('data-provider'),\n providerId: ContractIdentifierSchema,\n domainRef: ContractIdentifierSchema.optional(),\n })\n .strict(),\n z\n .object({\n kind: z.literal('projection'),\n projectionRef: ContractIdentifierSchema,\n domainRef: ContractIdentifierSchema.optional(),\n })\n .strict(),\n ]);\n\nexport const TenantAuthBindingsSchema = z.record(\n ContractIdentifierSchema,\n TenantAuthBindingSchema,\n);\n\nexport const TenantDataBindingsSchema = z.record(\n ContractIdentifierSchema,\n TenantDataBindingSchema,\n);\n\nconst AssetVariantsSchema = z\n .object({\n light: z.string().optional(),\n dark: z.string().optional(),\n })\n .strict();\n\nconst ThemeHeadbarSchema = z\n .object({\n theme: z.enum(['fixed', 'card', 'glassy', 'ghost', 'bsd-blue']).optional(),\n navPosition: z.enum(['left', 'center', 'right']).optional(),\n actions: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]).optional(),\n profile: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]).optional(),\n showTeamQuota: z.boolean().optional(),\n })\n .strict();\n\nconst KernelHeadbarSchema = z\n .object({\n theme: z.literal('card').optional(),\n layoutMode: z.enum(['boxed', 'full-bleed']).optional(),\n heightPx: z.number().positive().optional(),\n navPosition: z.enum(['left', 'center', 'right']).optional(),\n brandTitle: z.string().optional(),\n menuRadius: z.enum(['default', 'none', 'sm', 'md', 'lg', 'xl', 'full']).optional(),\n })\n .strict();\n\nconst CustomIconSchema = z\n .object({\n color: z.string().optional(),\n url: z.string().optional(),\n type: z.enum(['svg', 'image']).optional(),\n hintTextColor: z.string().optional(),\n })\n .strict();\n\nconst WorkbenchCustomerToolSchema = z.object({\n id: ContractIdentifierSchema,\n label: z.union([z.string(), z.record(LocaleIdentifierSchema, z.string())]).optional(),\n fixed: z.boolean().optional(),\n}).strict();\n\nconst WorkbenchStudioOverrideSchema = z.object({\n studioName: z.string().trim().min(1),\n dropdownToolsDefault: z.array(ContractIdentifierSchema).optional(),\n existingToolsDefault: z.array(ContractIdentifierSchema).optional(),\n historyColumnsDefault: z.number().int().min(1).max(6).optional(),\n}).strict();\n\nexport const TenantWorkbenchPageContextSchema = z\n .object({\n workflow: JsonObjectSchema.optional(),\n agent: JsonObjectSchema.optional(),\n agentId: ContractIdentifierSchema.optional(),\n designProject: JsonObjectSchema.optional(),\n designMetadataId: ContractIdentifierSchema.optional(),\n iframeUrl: z.string().trim().min(1).optional(),\n info: z\n .object({\n displayName: LocalizedTextSchema.optional(),\n description: LocalizedTextSchema.optional(),\n iconUrl: z.string().trim().min(1).optional(),\n })\n .strict()\n .optional(),\n isBuiltinPinned: z.boolean().optional(),\n isBuiltinReadonly: z.boolean().optional(),\n })\n .strict();\n\n/**\n * Tenant-declared workbench pages use the same canonical declaration envelope\n * as server-owned pinned pages. Context is provider input only; renderer and\n * capability identity must live in the PageDefinition.\n */\nexport const TenantWorkbenchPageEnvelopeSchema = z\n .object({\n definition: PageDefinitionSchema,\n context: TenantWorkbenchPageContextSchema,\n })\n .strict()\n .superRefine(({ definition }, context) => {\n if (definition.surface !== 'view') {\n context.addIssue({\n code: 'custom',\n path: ['definition', 'surface'],\n message: 'Tenant workbench pages must render on the view surface.',\n });\n }\n if (!definition.ownership.builtIn) {\n context.addIssue({\n code: 'custom',\n path: ['definition', 'ownership', 'builtIn'],\n message: 'Tenant workbench pages must be declared as built-in pages.',\n });\n }\n if (!definition.navigation.pinned) {\n context.addIssue({\n code: 'custom',\n path: ['definition', 'navigation', 'pinned'],\n message: 'Tenant workbench pages must be pinned in workbench navigation.',\n });\n }\n if (!definition.visibility.productContexts.includes('studio')) {\n context.addIssue({\n code: 'custom',\n path: ['definition', 'visibility', 'productContexts'],\n message: 'Tenant workbench pages must include the studio product context.',\n });\n }\n });\n\nexport const TenantWorkbenchPageGroupSchema = z\n .object({\n id: ContractIdentifierSchema,\n pageIds: z.array(ContractIdentifierSchema),\n displayName: LocalizedTextSchema,\n isBuiltIn: z.boolean(),\n iconUrl: z.string().optional(),\n sortIndex: z.number().int().nullable().optional(),\n presetRelationId: ContractIdentifierSchema.optional(),\n relationKey: ContractIdentifierSchema.nullable().optional(),\n studioId: ContractIdentifierSchema.optional(),\n })\n .strict();\n\nexport const TenantWorkbenchConfigSchema = z.object({\n pages: z.array(TenantWorkbenchPageEnvelopeSchema),\n pageGroups: z.array(TenantWorkbenchPageGroupSchema),\n catalog: z.object({ enabled: z.boolean().optional(), defaultEntry: z.boolean().optional() }).strict().optional(),\n quickSwitcherMaxItems: z.number().int().nonnegative().optional(),\n defaultOrder: z.object({\n groups: z.array(ContractIdentifierSchema),\n pages: z.record(ContractIdentifierSchema, z.array(ContractIdentifierSchema)),\n }).strict().optional(),\n customers: z.object({\n dropdownToolsDefault: z.array(ContractIdentifierSchema).optional(),\n layoutManagerTools: z.array(WorkbenchCustomerToolSchema).optional(),\n studioTabsMode: z.enum(['dropdown', 'tabs']).optional(),\n historyWatermark: z.object({\n svgUrl: z.string().optional(),\n coverage: z.array(z.enum(['list', 'detail', 'download'])).optional(),\n maxLongEdgeRatio: z.number().positive().optional(),\n sizing: z.object({\n mode: ContractIdentifierSchema,\n heightRatio: z.number().positive().optional(),\n minHeightPx: z.number().nonnegative().optional(),\n maxHeightPx: z.number().nonnegative().optional(),\n }).strict().optional(),\n enhance: z.object({\n enabled: z.boolean().optional(),\n backgroundLumaThreshold: z.number().min(0).max(1).optional(),\n stroke: z.object({\n color: z.string().optional(), opacity: z.number().min(0).max(1).optional(), widthRatio: z.number().nonnegative().optional(), blurRatio: z.number().nonnegative().optional(), steps: z.number().int().positive().optional(),\n }).strict().optional(),\n }).strict().optional(),\n }).strict().optional(),\n layoutManagerEnabled: z.boolean().optional(),\n existingToolsDefault: z.array(ContractIdentifierSchema).optional(),\n historyColumnsDefault: z.number().int().min(1).max(6).optional(),\n studioOverrides: z.array(WorkbenchStudioOverrideSchema).optional(),\n }).strict().optional(),\n}).strict().superRefine(({ pages, pageGroups }, context) => {\n const pageIds = pages.map(({ definition }) => definition.pageId);\n const pageIdSet = new Set(pageIds);\n if (pageIdSet.size !== pageIds.length) {\n context.addIssue({ code: 'custom', path: ['pages'], message: 'Tenant workbench page ids must be unique.' });\n }\n\n const groupIds = pageGroups.map(({ id }) => id);\n if (new Set(groupIds).size !== groupIds.length) {\n context.addIssue({ code: 'custom', path: ['pageGroups'], message: 'Tenant workbench page group ids must be unique.' });\n }\n\n pageGroups.forEach((group, groupIndex) => {\n group.pageIds.forEach((pageId, pageIndex) => {\n if (!pageIdSet.has(pageId)) {\n context.addIssue({\n code: 'custom',\n path: ['pageGroups', groupIndex, 'pageIds', pageIndex],\n message: `Tenant workbench page group references undeclared page ${pageId}.`,\n });\n }\n });\n });\n});\n\nconst LoginPageSchema = z\n .object({\n background: z\n .object({ imageUrl: z.string().optional(), gradient: z.string().optional() })\n .strict()\n .optional(),\n logo: z\n .object({\n url: z.string().optional(),\n lightUrl: z.string().optional(),\n darkUrl: z.string().optional(),\n position: z.enum(['top', 'middle', 'bottom']).optional(),\n scale: z.number().positive().optional(),\n })\n .strict()\n .optional(),\n customCss: z.string().optional(),\n })\n .strict();\n\n/** Public, application-specific values that are intentionally safe for browser clients. */\nexport const TenantApplicationConfigSchema = z\n .object({\n theme: z\n .object({\n id: z.string().optional(),\n name: z.string().optional(),\n title: z.string().optional(),\n favicon: AssetVariantsSchema.optional(),\n logo: AssetVariantsSchema.optional(),\n pwaIcon: z.string().optional(),\n form: z.object({ variant: z.enum(['bento', 'ghost']) }).strict().optional(),\n toast: z\n .object({\n position: z.enum(['top-right', 'top-left', 'bottom-right', 'bottom-left', 'top-center', 'bottom-center']),\n })\n .strict()\n .optional(),\n icons: z.object({ error: CustomIconSchema.optional(), empty: CustomIconSchema.optional() }).strict().optional(),\n views: z\n .object({\n form: z\n .object({\n toast: z.object({ afterCreate: z.boolean(), afterDelete: z.boolean() }).strict(),\n progress: z.enum(['estimate', 'infinite']),\n onlyResult: z.boolean(),\n tabular: z.object({ theme: z.enum(['default', 'tentiary', 'primary']) }).strict(),\n })\n .strict(),\n })\n .strict()\n .optional(),\n loginPage: LoginPageSchema.optional(),\n extraLanguageURL: z.record(z.string(), z.string()).optional(),\n hideSpaceHeader: z.boolean().optional(),\n showSidebarTeamSelector: z.boolean().optional(),\n showWorkbenchSidebar: z.boolean().optional(),\n workbenchViewTheme: z.enum(['default', 'bsd-blue']).optional(),\n defaults: z\n .object({\n showFormInImageDetail: z.boolean().optional(),\n darkMode: z.enum(['light', 'dark', 'auto']).optional(),\n language: z.enum(['en-US', 'zh-CN', 'ja-JP']).optional(),\n showDarkModeToggle: z.boolean().optional(),\n showLanguageToggle: z.boolean().optional(),\n })\n .strict()\n .optional(),\n modules: z\n .object({\n monkeysSpaceSidebar: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]).optional(),\n monkeysSpaceHeadbar: z\n .union([\n z.literal('*'),\n z.array(\n z\n .object({\n id: ContractIdentifierSchema,\n extraInfo: z.boolean().optional(),\n displayName: z.union([z.string(), z.record(LocaleIdentifierSchema, z.string())]).optional(),\n visible: z.boolean().optional(),\n disabled: z.boolean().optional(),\n icon: z.string().optional(),\n showQuickSwitcher: z.boolean().optional(),\n showSidebar: z.boolean().optional(),\n })\n .strict(),\n ),\n ])\n .optional(),\n settingsSidebar: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]).optional(),\n })\n .strict()\n .optional(),\n headbar: ThemeHeadbarSchema.optional(),\n kernelLayout: z\n .object({\n navigationMode: z.enum(['sidebar', 'topbar']).optional(),\n allowNavigationModeSwitch: z.boolean().optional(),\n headbar: KernelHeadbarSchema.optional(),\n })\n .strict()\n .optional(),\n paginationPosition: z.enum(['left', 'right']).optional(),\n ugcViewIconOnlyMode: z.boolean().optional(),\n workflowPreviewExecutionGrid: z\n .object({\n selectionModeDisplayType: z.enum(['operation-button', 'dropdown-menu']).optional(),\n clickBehavior: z.enum(['preview', 'select', 'fill-form', 'none']).optional(),\n showErrorFilter: z.boolean().optional(),\n displayType: z.enum(['grid', 'masonry']).optional(),\n showDetailButton: z.boolean().optional(),\n })\n .strict()\n .optional(),\n workbenchSidebarDefaultOpen: z.boolean().optional(),\n workbenchSidebarMoreAction: z.boolean().optional(),\n workbenchSidebarApart: z.boolean().optional(),\n workbenchSidebarToggleGroupDetail: z.boolean().optional(),\n workbenchSidebarViewType: z.boolean().optional(),\n workbenchSidebarFormViewEmbed: z.boolean().optional(),\n workbenchSidebarModernMode: z.boolean().optional(),\n ugc: z.object({ onItemClick: z.boolean(), subtitle: z.boolean().optional() }).strict().optional(),\n uniImagePreview: z.boolean().optional(),\n imagePreviewStyle: z.union([z.literal(false), z.enum(['simple', 'normal', 'uni'])]).optional(),\n teamAsUser: z.boolean().optional(),\n themeMode: z.enum(['shadow', 'border']).optional(),\n density: z.enum(['compact', 'default', 'comfortable']).optional(),\n pageZoom: z.number().positive().optional(),\n miniMode: z.object({ showPreviewViewExecutionResultGrid: z.boolean() }).strict().optional(),\n workflow: z.object({ allowConcurrentRuns: z.boolean() }).strict().optional(),\n historyResult: z.object({ display: z.boolean() }).strict().optional(),\n uploader: z\n .object({\n orientation: z.enum(['vertical', 'horizontal']),\n pasteButton: z.boolean(),\n statusText: z.boolean(),\n })\n .strict()\n .optional(),\n designProjects: z\n .object({\n oneOnOne: z.boolean(),\n newTabOpenBoard: z.boolean(),\n defaultShowGrid: z.boolean().optional(),\n createDefaultFrame: z.boolean(),\n showPageMenu: z.boolean(),\n showMainMenu: z.boolean(),\n showStylePanel: z.boolean(),\n showToolbar: z.boolean(),\n toolbarPosition: z.enum(['bottom', 'left']).optional(),\n showContextMenu: z.boolean(),\n showActionsMenu: z.boolean(),\n showPageAndLayerSidebar: z.boolean().optional(),\n showBoardOperationSidebar: z.boolean().optional(),\n showMiniToolsToolbar: z.boolean().optional(),\n showRightSidebar: z.boolean().optional(),\n showRealtimeDrawing: z.boolean().optional(),\n showWorkflow: z.boolean().optional(),\n showVersionManager: z.boolean().optional(),\n showAgent: z.boolean().optional(),\n AgentTools: z.array(ContractIdentifierSchema).optional(),\n })\n .strict()\n .optional(),\n workbench: TenantWorkbenchConfigSchema.optional(),\n visionProWorkflows: z.array(ContractIdentifierSchema).optional(),\n initTeam: z.boolean().optional(),\n imageThumbnail: z.boolean().optional(),\n pages: z\n .object({\n allowPageKeys: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]),\n defaultPageKey: ContractIdentifierSchema.optional(),\n })\n .strict()\n .optional(),\n agent: z\n .object({\n brandDisplayMode: z.enum(['auto', 'logo-only', 'logo-name', 'name-only']).optional(),\n density: z.enum(['compact', 'default', 'comfortable']).optional(),\n })\n .strict()\n .optional(),\n })\n .strict(),\n auth: z\n .object({\n enabled: z.array(ContractIdentifierSchema).default([]),\n oidc: z\n .object({ buttonText: z.string().optional(), autoSignin: z.boolean().optional() })\n .strict()\n .optional(),\n password: z\n .object({ disableAutoRegister: z.boolean().optional() })\n .strict()\n .optional(),\n hideAuthToast: z.boolean().optional(),\n autoReload: z.boolean().optional(),\n defaultOtherTeam: z.boolean().optional(),\n })\n .strict(),\n endpoints: z.record(ContractIdentifierSchema, z.string()),\n module: z.union([z.literal('*'), z.array(ContractIdentifierSchema)]),\n behavior: z\n .object({\n clearWorkflowFormStorageAfterUpdate: z.boolean().optional(),\n autoApproveOAuth: z.boolean().optional(),\n rememberWorkflowModelSelection: z.boolean().optional(),\n })\n .strict(),\n dataManagement: z\n .object({\n favoriteBucketId: z.string().optional(),\n pairedBucketId: z.string().optional(),\n galleryBucketId: z.string().optional(),\n dataBrowserDefaultBucketId: z.string().optional(),\n workflowResultBucketId: z.string().optional(),\n homeAdvertisement: z.object({\n bucketId: ContractIdentifierSchema, viewId: ContractIdentifierSchema.optional(), viewType: z.enum(['filter', 'container', 'share_link']).optional(), teamId: ContractIdentifierSchema.optional(), teamOnly: z.boolean().optional(), pageSize: z.number().int().positive().optional(), sortBy: z.enum(['pin_order', 'asset_id', 'updated_timestamp', 'created_timestamp']).optional(), sortOrder: z.enum(['asc', 'desc']).optional(), fieldMap: z.record(z.string(), z.string()).optional(), columnIds: z.record(z.string(), z.string()).optional(),\n }).strict().optional(),\n homeTrendAssistant: z.object({\n bucketId: ContractIdentifierSchema.optional(), viewId: ContractIdentifierSchema.optional(), viewInstanceId: ContractIdentifierSchema.optional(), viewName: z.string().optional(), teamId: ContractIdentifierSchema.optional(), designOptionsWorkflowId: ContractIdentifierSchema.optional(),\n tep: z.object({ baseUrl: z.string().optional(), timeoutMs: z.number().int().positive().optional() }).strict().optional(),\n runtime: z.object({ appId: ContractIdentifierSchema, tepBaseUrlConfigured: z.boolean(), tepAuthorizationConfigured: z.boolean(), tepCookieConfigured: z.boolean() }).strict().optional(),\n }).strict().optional(),\n sharing: z.object({\n silentViewLinks: z.object({ enabled: z.boolean().optional(), placement: z.object({ mode: z.enum(['sourceBucket', 'bucket']).optional(), bucketId: ContractIdentifierSchema.optional(), parentId: ContractIdentifierSchema.optional(), navId: ContractIdentifierSchema.optional() }).strict().optional() }).strict().optional(),\n shareAccess: z.object({ publicLinksEnabled: z.boolean().optional(), passwordGateEnabled: z.boolean().optional(), passwordAccessTtlSeconds: z.number().int().positive().optional(), defaultViewTreeDelivery: z.enum(['manual', 'auto']).optional() }).strict().optional(),\n shareDialog: z.object({\n audience: z.object({ enabled: z.boolean().optional(), allowed: z.array(z.enum(['user', 'team', 'public'])).optional(), default: z.enum(['user', 'team', 'public']).optional() }).strict().optional(),\n accessLevel: z.object({ enabled: z.boolean().optional(), allowed: z.array(z.enum(['read', 'write'])).optional(), default: z.enum(['read', 'write']).optional() }).strict().optional(),\n viewTreeDelivery: z.object({ enabled: z.boolean().optional(), allowed: z.array(z.enum(['manual', 'auto'])).optional(), default: z.enum(['manual', 'auto']).optional() }).strict().optional(),\n }).strict().optional(),\n }).strict().optional(),\n })\n .strict()\n .optional(),\n compute: z\n .object({\n integrations: z\n .object({\n harbor: z.object({ endpoint: z.string().optional(), projectScopes: z.array(z.string()).optional(), authMode: z.string().optional(), principal: z.string().optional(), autoSync: z.boolean().optional(), proxyUrl: z.string().optional() }).strict().optional(),\n gitlab: z.object({ baseUrl: z.string().optional(), groupScopes: z.array(z.string()).optional(), tokenMode: z.string().optional(), deployProjectPath: z.string().optional(), deploymentReportsEnabled: z.boolean().optional(), proxyUrl: z.string().optional() }).strict().optional(),\n kubernetes: z.object({ accessMode: z.string().optional(), clusterAlias: z.string().optional(), agentProjectPath: z.string().optional(), agentName: z.string().optional(), namespaceScopes: z.array(z.string()).optional(), rolloutObserverEnabled: z.boolean().optional(), proxyUrl: z.string().optional() }).strict().optional(),\n })\n .strict()\n .optional(),\n })\n .strict()\n .optional(),\n data: z.object({}).strict().optional(),\n storage: z\n .object({\n presignMode: z.enum(['frontend', 'backend', 'both']).optional(),\n presign: z\n .object({\n expiresInSeconds: z.number().int().positive(),\n buckets: z.array(\n z\n .object({\n id: ContractIdentifierSchema,\n provider: ContractIdentifierSchema,\n preferredUrlPatternId: ContractIdentifierSchema,\n urlPatterns: z.array(\n z\n .object({\n id: ContractIdentifierSchema,\n type: z.enum(['bucket-hostname', 'provider-hostname']),\n hostname: z.string().trim().min(1),\n preferred: z.boolean().optional(),\n bucketSegment: z.string().optional(),\n })\n .strict(),\n ),\n })\n .strict(),\n ),\n })\n .strict()\n .optional(),\n })\n .strict()\n .optional(),\n monkeyData: z\n .object({ baseUrl: z.string().optional() })\n .strict()\n .optional(),\n })\n .strict();\n\nexport const TenantProductConfigSchema = z\n .object({\n contract: z.literal('TenantProductConfig'),\n tenantId: ContractIdentifierSchema,\n appId: ContractIdentifierSchema,\n environment: ContractIdentifierSchema,\n designTokens: TenantDesignTokensConfigSchema,\n moduleRefs: z.array(ContractIdentifierSchema).default([]),\n pageRefs: z.array(ContractIdentifierSchema).default([]),\n featureFlags: z.record(z.string(), z.boolean()).default({}),\n authBinding: TenantAuthBindingsSchema,\n dataBinding: TenantDataBindingsSchema,\n sourceMap: z.record(z.string(), ContractIdentifierSchema),\n warnings: z.array(z.string()).default([]),\n applicationConfig: TenantApplicationConfigSchema,\n })\n .strict();\n\n/** Browser-safe projection. tokenSources and all other server-only values are structurally impossible here. */\nexport const TenantRuntimeConfigSchema = z\n .object({\n contract: z.literal('TenantRuntimeConfig'),\n tenantId: ContractIdentifierSchema,\n appId: ContractIdentifierSchema,\n environment: ContractIdentifierSchema,\n designTokens: ResolvedThemeTokensSchema,\n moduleRefs: z.array(ContractIdentifierSchema).default([]),\n pageRefs: z.array(ContractIdentifierSchema).default([]),\n featureFlags: z.record(z.string(), z.boolean()).default({}),\n authBinding: TenantAuthBindingsSchema,\n dataBinding: TenantDataBindingsSchema,\n sourceMap: z.record(z.string(), ContractIdentifierSchema),\n warnings: z.array(z.string()).default([]),\n applicationConfig: TenantApplicationConfigSchema,\n })\n .strict();\n\nexport type TenantProductConfig = z.infer<typeof TenantProductConfigSchema>;\nexport type TenantRuntimeConfig = z.infer<typeof TenantRuntimeConfigSchema>;\nexport type TenantApplicationConfig = z.infer<typeof TenantApplicationConfigSchema>;\nexport type TenantWorkbenchConfig = z.infer<typeof TenantWorkbenchConfigSchema>;\nexport type TenantWorkbenchPageContext = z.infer<typeof TenantWorkbenchPageContextSchema>;\nexport type TenantWorkbenchPageEnvelope = z.infer<typeof TenantWorkbenchPageEnvelopeSchema>;\nexport type TenantWorkbenchPageGroup = z.infer<typeof TenantWorkbenchPageGroupSchema>;\nexport type DesignTokenSource = z.infer<typeof DesignTokenSourceSchema>;\nexport type TenantDesignTokensConfig = z.infer<typeof TenantDesignTokensConfigSchema>;\nexport type TenantAuthBinding = z.infer<typeof TenantAuthBindingSchema>;\nexport type TenantDataBinding = z.infer<typeof TenantDataBindingSchema>;\n","import { z } from 'zod';\nimport {\n THEME_TOKEN_TYPES,\n validateThemeTokensDocument,\n validateThemeTokensDocumentStructure,\n type ResolvedThemeToken,\n type ResolvedThemeTokens,\n type ThemeColorValue,\n type ThemeDimensionValue,\n type ThemeDurationValue,\n type ThemeToken,\n type ThemeTokenDeprecated,\n type ThemeTokenExtensions,\n type ThemeTokenGroup,\n type ThemeTokenReference,\n type ThemeTokens,\n type ThemeTokenType,\n type ThemeTokenValidationIssue,\n} from '../theme-tokens/core';\n\nexport const ThemeTokenTypeSchema = z.enum(THEME_TOKEN_TYPES);\n\nexport const ThemeTokenSchema = z.record(z.string(), z.unknown()).superRefine((input, context) => {\n const issues = validateThemeTokensDocumentStructure({ token: input });\n for (const issue of issues) {\n context.addIssue({ code: 'custom', message: `${issue.path} ${issue.message}` });\n }\n});\n\nexport const ThemeTokenGroupSchema = z.record(z.string(), z.unknown()).superRefine((input, context) => {\n const issues = validateThemeTokensDocumentStructure(input);\n for (const issue of issues) {\n context.addIssue({ code: 'custom', message: `${issue.path} ${issue.message}` });\n }\n});\n\n/**\n * A complete Design Tokens Community Group 2025.10 token document.\n *\n * The document root is the DTCG group/token tree itself. Tenant identity,\n * source paths, feature flags and runtime options deliberately live outside it.\n */\nexport const ThemeTokensSchema: z.ZodType<ThemeTokens> = z\n .record(z.string(), z.unknown())\n .superRefine((input, context) => {\n const issues = validateThemeTokensDocument(input);\n for (const issue of issues) {\n context.addIssue({ code: 'custom', message: `${issue.path} ${issue.message}` });\n }\n });\n\nconst unresolvedReference = /^\\{[^{}]+\\}$/;\n\n/** A browser-safe DTCG document whose aliases and JSON Pointer references have already been materialized. */\nexport const ResolvedThemeTokensSchema: z.ZodType<ThemeTokens> = ThemeTokensSchema.superRefine((input, context) => {\n const visit = (value: unknown, path: (string | number)[]): void => {\n if (typeof value === 'string' && unresolvedReference.test(value)) {\n context.addIssue({ code: 'custom', path, message: 'Resolved theme tokens cannot contain token aliases.' });\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((item, index) => visit(item, [...path, index]));\n return;\n }\n if (!value || typeof value !== 'object') return;\n for (const [key, child] of Object.entries(value as Record<string, unknown>)) {\n if (key === '$ref') context.addIssue({ code: 'custom', path: [...path, key], message: 'Resolved theme tokens cannot contain $ref.' });\n visit(child, [...path, key]);\n }\n };\n visit(input, []);\n});\n\nexport type {\n ResolvedThemeToken,\n ResolvedThemeTokens,\n ThemeColorValue,\n ThemeDimensionValue,\n ThemeDurationValue,\n ThemeToken,\n ThemeTokenDeprecated,\n ThemeTokenExtensions,\n ThemeTokenGroup,\n ThemeTokenReference,\n ThemeTokens,\n ThemeTokenType,\n ThemeTokenValidationIssue,\n};\n","import Ajv, { type ErrorObject, type ValidateFunction } from 'ajv';\nimport dtcgFormatSchema from '../contracts/dtcg-format.schema.json';\n\nexport const THEME_TOKEN_TYPES = [\n 'color',\n 'dimension',\n 'fontFamily',\n 'fontWeight',\n 'duration',\n 'cubicBezier',\n 'number',\n 'strokeStyle',\n 'border',\n 'transition',\n 'shadow',\n 'gradient',\n 'typography',\n] as const;\n\nexport type ThemeTokenType = (typeof THEME_TOKEN_TYPES)[number];\nexport type ThemeTokenDeprecated = boolean | string;\nexport type ThemeTokenExtensions = Record<string, unknown>;\n\nexport interface ThemeTokenReference {\n $ref: string;\n}\n\nexport interface ThemeToken {\n $value?: unknown;\n $ref?: string;\n $type?: ThemeTokenType;\n $description?: string;\n $deprecated?: ThemeTokenDeprecated;\n $extensions?: ThemeTokenExtensions;\n}\n\nexport interface ThemeTokenGroup {\n [name: string]: unknown;\n}\n\nexport type ThemeTokens = Record<string, unknown>;\n\nexport interface ThemeColorValue {\n colorSpace:\n | 'srgb'\n | 'srgb-linear'\n | 'hsl'\n | 'hwb'\n | 'lab'\n | 'lch'\n | 'oklab'\n | 'oklch'\n | 'display-p3'\n | 'a98-rgb'\n | 'prophoto-rgb'\n | 'rec2020'\n | 'xyz-d65'\n | 'xyz-d50';\n components: [number | 'none', number | 'none', number | 'none'];\n alpha?: number;\n hex?: string;\n}\n\nexport interface ThemeDimensionValue {\n value: number;\n unit: 'px' | 'rem';\n}\n\nexport interface ThemeDurationValue {\n value: number;\n unit: 'ms' | 's';\n}\n\nexport interface ResolvedThemeToken {\n path: string;\n type: ThemeTokenType;\n value: unknown;\n description?: string;\n deprecated?: ThemeTokenDeprecated;\n extensions?: ThemeTokenExtensions;\n}\n\nexport interface ResolvedThemeTokens {\n document: ThemeTokens;\n materializedDocument: ThemeTokens;\n resolvedDocument: ThemeTokens;\n tokens: ReadonlyMap<string, ResolvedThemeToken>;\n}\n\nexport interface ThemeTokenValidationIssue {\n path: string;\n message: string;\n}\n\nexport class ThemeTokenValidationError extends TypeError {\n public readonly issues: readonly ThemeTokenValidationIssue[];\n\n constructor(message: string, issues: ThemeTokenValidationIssue[] = []) {\n super(message);\n this.name = 'ThemeTokenValidationError';\n this.issues = issues;\n }\n}\n\nconst schema = dtcgFormatSchema as Record<string, unknown>;\nconst ajv = new Ajv({\n allErrors: true,\n strict: false,\n strictNumbers: true,\n validateFormats: false,\n});\n\nconst validateDtcgDocument = ajv.compile(schema) as ValidateFunction;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction hasOwn(value: Record<string, unknown>, key: string): boolean {\n return Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction isToken(value: unknown): value is ThemeToken & Record<string, unknown> {\n return isRecord(value) && (hasOwn(value, '$value') || hasOwn(value, '$ref'));\n}\n\nfunction isGroup(value: unknown): value is ThemeTokenGroup {\n return isRecord(value) && !isToken(value);\n}\n\nfunction cloneJson<T>(value: T): T {\n if (Array.isArray(value)) return value.map((item) => cloneJson(item)) as T;\n if (!isRecord(value)) return value;\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneJson(item)])) as T;\n}\n\nfunction formatAjvIssues(errors: ErrorObject[] | null | undefined): ThemeTokenValidationIssue[] {\n return (errors ?? []).map((error) => ({\n path: error.instancePath || '/',\n message: `${error.message ?? 'is invalid'}${\n error.params && Object.keys(error.params).length > 0 ? ` (${JSON.stringify(error.params)})` : ''\n }`,\n }));\n}\n\nexport function validateThemeTokensDocumentStructure(input: unknown): ThemeTokenValidationIssue[] {\n if (validateDtcgDocument(input)) return [];\n return formatAjvIssues(validateDtcgDocument.errors);\n}\n\nexport function assertThemeTokensDocumentStructure(input: unknown): asserts input is ThemeTokens {\n const issues = validateThemeTokensDocumentStructure(input);\n if (issues.length === 0) return;\n const summary = issues.slice(0, 5).map((issue) => `${issue.path} ${issue.message}`).join('; ');\n throw new ThemeTokenValidationError(`Invalid DTCG 2025.10 token document: ${summary}`, issues);\n}\n\nconst GROUP_META_KEYS = new Set(['$schema', '$type', '$description', '$deprecated', '$extensions']);\n\nfunction mergeGroups(\n base: ThemeTokenGroup,\n override: ThemeTokenGroup,\n path: string[],\n sourceMerge: boolean,\n): ThemeTokenGroup {\n const output = cloneJson(base);\n for (const [key, value] of Object.entries(override)) {\n if (key === '$extends') continue;\n if (key.startsWith('$') && key !== '$root') {\n output[key] = cloneJson(value);\n continue;\n }\n if (!hasOwn(output, key)) {\n output[key] = cloneJson(value);\n continue;\n }\n const existing = output[key];\n const existingKind = isToken(existing) ? 'token' : isGroup(existing) ? 'group' : 'metadata';\n const nextKind = isToken(value) ? 'token' : isGroup(value) ? 'group' : 'metadata';\n if (existingKind === 'group' && nextKind === 'group') {\n output[key] = mergeGroups(existing as ThemeTokenGroup, value as ThemeTokenGroup, [...path, key], sourceMerge);\n continue;\n }\n if (existingKind !== nextKind) {\n const reason = sourceMerge ? 'Token sources' : 'Extended groups';\n throw new ThemeTokenValidationError(\n `${reason} cannot change ${[...path, key].join('.')} from ${existingKind} to ${nextKind}.`,\n );\n }\n output[key] = cloneJson(value);\n }\n return output;\n}\n\nfunction decodeJsonPointer(reference: string): string[] {\n if (!reference.startsWith('#/')) {\n throw new ThemeTokenValidationError(`JSON Pointer reference must start with \"#/\": ${reference}`);\n }\n let decoded: string;\n try {\n decoded = decodeURIComponent(reference.slice(1));\n } catch {\n throw new ThemeTokenValidationError(`JSON Pointer contains invalid URI encoding: ${reference}`);\n }\n return decoded.slice(1).split('/').map((segment) => segment.replace(/~1/g, '/').replace(/~0/g, '~'));\n}\n\nfunction getAtSegments(document: unknown, segments: readonly string[], reference: string): unknown {\n let current = document;\n for (const segment of segments) {\n if (Array.isArray(current)) {\n if (!/^(0|[1-9]\\d*)$/.test(segment) || Number(segment) >= current.length) {\n throw new ThemeTokenValidationError(`Unresolved JSON Pointer reference: ${reference}`);\n }\n current = current[Number(segment)];\n continue;\n }\n if (!isRecord(current) || !hasOwn(current, segment)) {\n throw new ThemeTokenValidationError(`Unresolved JSON Pointer reference: ${reference}`);\n }\n current = current[segment];\n }\n return current;\n}\n\nfunction parseCurlyReference(reference: string): string[] | null {\n const match = reference.match(/^\\{([^{}]+)\\}$/);\n return match ? match[1].split('.') : null;\n}\n\nfunction getGroupReference(\n document: ThemeTokens,\n reference: string,\n): { group: ThemeTokenGroup; key: string; path: string[] } {\n const curlyPath = parseCurlyReference(reference);\n const path = curlyPath ?? decodeJsonPointer(reference);\n const target = getAtSegments(document, path, reference);\n if (!isGroup(target)) {\n throw new ThemeTokenValidationError(`Group $extends must reference a group: ${reference}`);\n }\n return { group: target, key: path.join('.'), path };\n}\n\nfunction materializeGroups(document: ThemeTokens): ThemeTokens {\n const resolveGroup = (\n group: ThemeTokenGroup,\n path: string[],\n extendsStack: readonly string[],\n ): ThemeTokenGroup => {\n let merged: ThemeTokenGroup = {};\n const extension = group.$extends;\n if (typeof extension === 'string') {\n const target = getGroupReference(document, extension);\n if (extendsStack.includes(target.key)) {\n throw new ThemeTokenValidationError(\n `Circular group $extends reference: ${[...extendsStack, target.key].join(' -> ')}`,\n );\n }\n const base = resolveGroup(target.group, target.path, [...extendsStack, target.key]);\n merged = mergeGroups(base, group, path, false);\n } else {\n merged = cloneJson(group);\n delete merged.$extends;\n }\n\n for (const [key, value] of Object.entries(merged)) {\n if (key.startsWith('$')) continue;\n if (isGroup(value)) {\n merged[key] = resolveGroup(value, [...path, key], extendsStack);\n }\n }\n return merged;\n };\n\n return resolveGroup(document, [], ['$root-document']) as ThemeTokens;\n}\n\ninterface CollectedToken {\n token: ThemeToken & Record<string, unknown>;\n inheritedType?: ThemeTokenType;\n inheritedDeprecated?: ThemeTokenDeprecated;\n}\n\nfunction collectTokens(document: ThemeTokens): Map<string, CollectedToken> {\n const tokens = new Map<string, CollectedToken>();\n const visitGroup = (\n group: ThemeTokenGroup,\n path: string[],\n inheritedType?: ThemeTokenType,\n inheritedDeprecated?: ThemeTokenDeprecated,\n ) => {\n const groupType = (group.$type as ThemeTokenType | undefined) ?? inheritedType;\n const groupDeprecated = (group.$deprecated as ThemeTokenDeprecated | undefined) ?? inheritedDeprecated;\n for (const [key, value] of Object.entries(group)) {\n if (GROUP_META_KEYS.has(key) || key === '$extends') continue;\n const tokenPath = [...path, key].join('.');\n if (isToken(value)) {\n tokens.set(tokenPath, {\n token: value,\n inheritedType: groupType,\n inheritedDeprecated: groupDeprecated,\n });\n } else if (isGroup(value)) {\n visitGroup(value, [...path, key], groupType, groupDeprecated);\n }\n }\n };\n visitGroup(document, []);\n return tokens;\n}\n\nfunction expectedChildType(parentType: ThemeTokenType | undefined, key: string): ThemeTokenType | undefined {\n switch (parentType) {\n case 'border':\n return ({ color: 'color', width: 'dimension', style: 'strokeStyle' } as const)[key];\n case 'transition':\n return ({ duration: 'duration', delay: 'duration', timingFunction: 'cubicBezier' } as const)[key];\n case 'shadow':\n return ({ color: 'color', offsetX: 'dimension', offsetY: 'dimension', blur: 'dimension', spread: 'dimension' } as const)[key];\n case 'gradient':\n return ({ color: 'color', position: 'number' } as const)[key];\n case 'typography':\n return ({\n fontFamily: 'fontFamily',\n fontSize: 'dimension',\n fontWeight: 'fontWeight',\n letterSpacing: 'dimension',\n lineHeight: 'number',\n } as const)[key];\n case 'strokeStyle':\n return key === 'dashArray' ? 'dimension' : undefined;\n case 'dimension':\n case 'duration':\n return key === 'value' ? 'number' : undefined;\n case 'color':\n return key === 'alpha' || key === 'components' ? 'number' : undefined;\n default:\n return undefined;\n }\n}\n\nfunction assertResolvedValueMatchesType(type: ThemeTokenType, value: unknown, path: string): void {\n const syntheticDocument = {\n token: {\n $type: type,\n $value: value,\n },\n };\n const issues = validateThemeTokensDocumentStructure(syntheticDocument);\n if (issues.length === 0) return;\n const mapped = issues.map((issue) => ({\n path: `${path}${issue.path.replace(/^\\/token(?:\\/\\$value)?/, '')}`,\n message: issue.message,\n }));\n const summary = mapped.slice(0, 5).map((issue) => `${issue.path} ${issue.message}`).join('; ');\n throw new ThemeTokenValidationError(`Token ${path} has an invalid ${type} value: ${summary}`, mapped);\n}\n\nexport function resolveThemeTokens(input: unknown): ResolvedThemeTokens {\n assertThemeTokensDocumentStructure(input);\n const document = cloneJson(input);\n const materializedDocument = materializeGroups(document);\n const collected = collectTokens(materializedDocument);\n const resolved = new Map<string, ResolvedThemeToken>();\n const resolvingTokens: string[] = [];\n\n const resolveToken = (path: string): ResolvedThemeToken => {\n const cached = resolved.get(path);\n if (cached) return cached;\n const entry = collected.get(path);\n if (!entry) throw new ThemeTokenValidationError(`Unknown token reference: ${path}`);\n if (resolvingTokens.includes(path)) {\n throw new ThemeTokenValidationError(`Circular token reference: ${[...resolvingTokens, path].join(' -> ')}`);\n }\n resolvingTokens.push(path);\n\n const token = entry.token;\n let tokenType = token.$type ?? entry.inheritedType;\n\n const inferReferenceType = (reference: string): ThemeTokenType | undefined => {\n const segments = decodeJsonPointer(reference);\n for (let length = segments.length; length > 0; length -= 1) {\n const candidate = segments.slice(0, length).join('.');\n if (!collected.has(candidate)) continue;\n const owner = resolveToken(candidate);\n if (length === segments.length || segments[length] === '$value') return owner.type;\n return undefined;\n }\n return undefined;\n };\n\n if (!tokenType && typeof token.$value === 'string') {\n const aliasPath = parseCurlyReference(token.$value)?.join('.');\n if (aliasPath) tokenType = resolveToken(aliasPath).type;\n }\n if (!tokenType && typeof token.$ref === 'string') tokenType = inferReferenceType(token.$ref);\n if (!tokenType) {\n resolvingTokens.pop();\n throw new ThemeTokenValidationError(\n `Token ${path} has no $type, does not inherit one, and cannot infer one from its reference.`,\n );\n }\n\n const resolvingPointers: string[] = [];\n const resolvePointer = (\n reference: string,\n expectedType: ThemeTokenType | undefined,\n location: string,\n ): unknown => {\n const marker = `${path}:${reference}`;\n if (resolvingPointers.includes(marker)) {\n throw new ThemeTokenValidationError(\n `Circular JSON Pointer reference at ${location}: ${[...resolvingPointers, marker].join(' -> ')}`,\n );\n }\n resolvingPointers.push(marker);\n const segments = decodeJsonPointer(reference);\n const target = getAtSegments(materializedDocument, segments, reference);\n let result: unknown;\n if (isToken(target)) {\n const targetPath = segments.join('.');\n const targetToken = resolveToken(targetPath);\n if (expectedType && targetToken.type !== expectedType) {\n throw new ThemeTokenValidationError(\n `Reference at ${location} expects ${expectedType} but ${targetPath} is ${targetToken.type}.`,\n );\n }\n result = targetToken.value;\n } else if (isGroup(target)) {\n throw new ThemeTokenValidationError(`JSON Pointer at ${location} references a group: ${reference}`);\n } else {\n result = resolveValue(target, expectedType, location);\n }\n resolvingPointers.pop();\n return result;\n };\n\n const resolveValue = (\n value: unknown,\n expectedType: ThemeTokenType | undefined,\n location: string,\n contextType: ThemeTokenType | undefined = expectedType,\n ): unknown => {\n if (typeof value === 'string') {\n const alias = parseCurlyReference(value);\n if (!alias) return value;\n const aliasPath = alias.join('.');\n const target = resolveToken(aliasPath);\n if (expectedType && target.type !== expectedType) {\n throw new ThemeTokenValidationError(\n `Reference at ${location} expects ${expectedType} but ${aliasPath} is ${target.type}.`,\n );\n }\n return cloneJson(target.value);\n }\n if (Array.isArray(value)) {\n return value.map((item, index) => {\n const childType = contextType === 'cubicBezier' ? 'number'\n : contextType === 'strokeStyle' ? 'dimension'\n : undefined;\n return resolveValue(item, childType, `${location}/${index}`, contextType);\n });\n }\n if (!isRecord(value)) return value;\n if (Object.keys(value).length === 1 && typeof value.$ref === 'string') {\n return resolvePointer(value.$ref, expectedType, location);\n }\n return Object.fromEntries(Object.entries(value).map(([key, child]) => {\n const childType = expectedChildType(contextType, key);\n return [key, resolveValue(child, childType, `${location}/${key}`, contextType)];\n }));\n };\n\n let value: unknown;\n if (typeof token.$ref === 'string') {\n value = resolvePointer(token.$ref, tokenType, path);\n } else {\n value = resolveValue(token.$value, tokenType, path);\n }\n assertResolvedValueMatchesType(tokenType, value, path);\n\n const result: ResolvedThemeToken = {\n path,\n type: tokenType,\n value,\n description: token.$description,\n deprecated: token.$deprecated ?? entry.inheritedDeprecated,\n extensions: token.$extensions,\n };\n resolvingTokens.pop();\n resolved.set(path, result);\n return result;\n };\n\n for (const path of collected.keys()) resolveToken(path);\n const resolvedDocument: ThemeTokens = {};\n for (const token of resolved.values()) {\n const segments = token.path.split('.');\n let parent = resolvedDocument as Record<string, unknown>;\n segments.forEach((segment, index) => {\n if (index === segments.length - 1) {\n parent[segment] = {\n $type: token.type,\n $value: cloneJson(token.value),\n ...(token.description !== undefined ? { $description: token.description } : {}),\n ...(token.deprecated !== undefined ? { $deprecated: cloneJson(token.deprecated) } : {}),\n ...(token.extensions !== undefined ? { $extensions: cloneJson(token.extensions) } : {}),\n };\n return;\n }\n const existing = parent[segment];\n if (!isRecord(existing)) parent[segment] = {};\n parent = parent[segment] as Record<string, unknown>;\n });\n }\n return {\n document,\n materializedDocument,\n resolvedDocument,\n tokens: resolved,\n };\n}\n\nexport function validateThemeTokensDocument(input: unknown): ThemeTokenValidationIssue[] {\n const structuralIssues = validateThemeTokensDocumentStructure(input);\n if (structuralIssues.length > 0) return structuralIssues;\n try {\n resolveThemeTokens(input);\n return [];\n } catch (error) {\n if (error instanceof ThemeTokenValidationError) {\n return error.issues.length > 0 ? [...error.issues] : [{ path: '/', message: error.message }];\n }\n return [{ path: '/', message: error instanceof Error ? error.message : String(error) }];\n }\n}\n\nexport function mergeThemeTokenDocuments(inputs: readonly unknown[]): ThemeTokens {\n if (inputs.length === 0) {\n throw new ThemeTokenValidationError('At least one DTCG token source is required.');\n }\n let merged: ThemeTokenGroup = {};\n for (const input of inputs) {\n assertThemeTokensDocumentStructure(input);\n merged = mergeGroups(merged, input, [], true);\n }\n resolveThemeTokens(merged);\n return merged as ThemeTokens;\n}\n\nconst REQUIRED_SEMANTIC_COLOR_PATHS = [\n 'background',\n 'foreground',\n 'card',\n 'card-foreground',\n 'popover',\n 'popover-foreground',\n 'primary',\n 'primary-foreground',\n 'secondary',\n 'secondary-foreground',\n 'muted',\n 'muted-foreground',\n 'accent',\n 'accent-foreground',\n 'destructive',\n 'destructive-foreground',\n 'success',\n 'success-foreground',\n 'warning',\n 'warning-foreground',\n 'border',\n 'input',\n 'ring',\n 'neocard',\n] as const;\n\n/** The complete semantic surface consumed by Studio, Kernel and Compute. */\nexport const MONKEYS_REQUIRED_THEME_TOKEN_PATHS: Readonly<Record<string, ThemeTokenType>> = Object.freeze({\n ...Object.fromEntries(\n REQUIRED_SEMANTIC_COLOR_PATHS.flatMap((name) => [\n [`semantic.color.${name}.light`, 'color'],\n [`semantic.color.${name}.dark`, 'color'],\n ]),\n ),\n 'semantic.radius.base': 'dimension',\n 'semantic.spacing.global.compact': 'dimension',\n 'semantic.spacing.global.default': 'dimension',\n 'semantic.spacing.global.comfortable': 'dimension',\n 'semantic.font.body': 'fontFamily',\n});\n\n/** Validate product completeness after all explicitly configured layers merge. */\nexport function assertMonkeysThemeTokensComplete(input: unknown): ThemeTokens {\n const resolved = resolveThemeTokens(input);\n const issues: ThemeTokenValidationIssue[] = [];\n for (const [path, expectedType] of Object.entries(MONKEYS_REQUIRED_THEME_TOKEN_PATHS)) {\n const token = resolved.tokens.get(path);\n if (!token) {\n issues.push({ path: `/${path.replace(/\\./g, '/')}`, message: 'Required Monkeys semantic token is missing.' });\n continue;\n }\n if (token.type !== expectedType) {\n issues.push({\n path: `/${path.replace(/\\./g, '/')}`,\n message: `Required Monkeys semantic token must use type ${expectedType}.`,\n });\n }\n }\n if (issues.length > 0) {\n throw new ThemeTokenValidationError('The merged design-token release is incomplete.', issues);\n }\n return resolved.document;\n}\n","{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format.json\",\n \"title\": \"DTCG Format Schema\",\n \"description\": \"JSON Schema for the Design Tokens Community Group (DTCG) Format specification.\",\n \"type\": \"object\",\n \"properties\": {\n \"$schema\": {\n \"type\": \"string\",\n \"format\": \"uri-reference\",\n \"description\": \"URI reference to this JSON schema.\",\n \"$comment\": \"$schema is not part of the official DTCG specification.\"\n },\n \"$type\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/tokenType.json\"\n },\n \"$description\": {\n \"type\": \"string\",\n \"description\": \"A plain text description of the group\"\n },\n \"$extensions\": {\n \"type\": \"object\",\n \"description\": \"Vendor-specific extensions\"\n },\n \"$extends\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/definitions/curlyBraceReference\"\n },\n {\n \"$ref\": \"#/definitions/jsonPointerReference\"\n }\n ],\n \"description\": \"Reference to another group to inherit tokens and properties from\"\n },\n \"$deprecated\": {\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"string\"\n }\n ],\n \"description\": \"Whether this group is deprecated\"\n },\n \"$root\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/token.json\"\n }\n },\n \"patternProperties\": {\n \"^[^${}.][^{}.]*$\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json\"\n }\n },\n \"additionalProperties\": false,\n \"definitions\": {\n \"tokenOrGroupName\": {\n \"title\": \"Token or Group Name\",\n \"type\": \"string\",\n \"pattern\": \"^[^${}.][^{}.]*$\",\n \"description\": \"Valid token/group names: must not start with $ and must not contain {, }, or .\"\n },\n \"curlyBraceReference\": {\n \"title\": \"Curly Brace Reference\",\n \"type\": \"string\",\n \"pattern\": \"^\\\\{[^${}.][^{}.]*(\\\\.[^${}.][^{}.]*)*\\\\}$\",\n \"description\": \"Curly brace reference (e.g., '{tokenName}' or '{group.nested.token}')\"\n },\n \"jsonPointerReference\": {\n \"title\": \"JSON Pointer Reference\",\n \"type\": \"string\",\n \"pattern\": \"^#/\",\n \"format\": \"json-pointer-uri-fragment\",\n \"description\": \"JSON Pointer reference (RFC 6901) to a location in the document (e.g., '#/path/to/target')\"\n },\n \"jsonPointerReferenceObject\": {\n \"title\": \"JSON Pointer Reference Object\",\n \"type\": \"object\",\n \"properties\": {\n \"$ref\": {\n \"$ref\": \"#/definitions/jsonPointerReference\"\n }\n },\n \"required\": [\"$ref\"],\n \"additionalProperties\": false,\n \"description\": \"Object containing a JSON Pointer reference for property-level references\"\n },\n \"tokenValueReference\": {\n \"title\": \"Token Value Reference\",\n \"oneOf\": [\n {\n \"$ref\": \"#/definitions/curlyBraceReference\"\n },\n {\n \"$ref\": \"#/definitions/jsonPointerReferenceObject\"\n }\n ],\n \"description\": \"A reference to a token value using either curly brace syntax or JSON Pointer syntax\"\n },\n \"https://www.designtokens.org/schemas/2025.10/format/tokenType.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/tokenType.json\",\n \"title\": \"TokenType\",\n \"description\": \"A token type in the DTCG specification\",\n \"type\": \"string\",\n \"enum\": [\n \"color\",\n \"dimension\",\n \"fontFamily\",\n \"fontWeight\",\n \"duration\",\n \"cubicBezier\",\n \"number\",\n \"strokeStyle\",\n \"border\",\n \"transition\",\n \"shadow\",\n \"gradient\",\n \"typography\"\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/token.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/token.json\",\n \"title\": \"Token\",\n \"description\": \"A token in the DTCG specification\",\n \"type\": \"object\",\n \"properties\": {\n \"$value\": {\n \"description\": \"The token's value - can be a direct value or a reference to another token using curly brace syntax (e.g., '{token.name}'). Mutually exclusive with $ref.\"\n },\n \"$type\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/tokenType.json\"\n },\n \"$ref\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReference\"\n },\n \"$description\": {\n \"type\": \"string\",\n \"description\": \"A plain text description of the token\"\n },\n \"$extensions\": {\n \"type\": \"object\",\n \"description\": \"Vendor-specific extensions\"\n },\n \"$deprecated\": {\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"string\"\n }\n ],\n \"description\": \"Whether this token is deprecated\"\n }\n },\n \"additionalProperties\": false,\n \"allOf\": [\n {\n \"description\": \"Tokens cannot define both $value and $ref; they must choose exactly one form of reference or direct value.\",\n \"if\": {\n \"required\": [\"$value\"],\n \"properties\": {\n \"$value\": true\n }\n },\n \"then\": {\n \"not\": {\n \"required\": [\"$ref\"],\n \"properties\": {\n \"$ref\": true\n }\n }\n },\n \"else\": {\n \"required\": [\"$ref\"],\n \"properties\": {\n \"$ref\": true\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"color\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"dimension\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"fontFamily\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"fontWeight\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"duration\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"cubicBezier\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"number\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/number.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"strokeStyle\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"border\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/border.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"transition\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/transition.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"shadow\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/shadow.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"gradient\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/gradient.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"required\": [\"$type\"],\n \"properties\": {\n \"$type\": {\n \"const\": \"typography\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/typography.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"allOf\": [\n {\n \"not\": {\n \"required\": [\"$type\"]\n }\n },\n {\n \"required\": [\"$value\"]\n },\n {\n \"properties\": {\n \"$value\": {\n \"not\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n }\n }\n }\n ]\n },\n \"then\": {\n \"properties\": {\n \"$value\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/border.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/transition.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/shadow.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/gradient.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/typography.json\"\n },\n {\n \"anyOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/number.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json\"\n }\n ]\n }\n ]\n }\n }\n }\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\",\n \"title\": \"Color Value\",\n \"description\": \"Value schema for color type tokens. Represents a color in a specific color space.\",\n \"type\": \"object\",\n \"properties\": {\n \"colorSpace\": {\n \"description\": \"The color space or color model used to represent the color\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"enum\": [\n \"srgb\",\n \"srgb-linear\",\n \"hsl\",\n \"hwb\",\n \"lab\",\n \"lch\",\n \"oklab\",\n \"oklch\",\n \"display-p3\",\n \"a98-rgb\",\n \"prophoto-rgb\",\n \"rec2020\",\n \"xyz-d65\",\n \"xyz-d50\"\n ]\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"components\": {\n \"description\": \"Array of color components. The number and meaning of components depend on the color space. Each component can be a number or the 'none' keyword.\",\n \"oneOf\": [\n {\n \"type\": \"array\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"alpha\": {\n \"description\": \"The alpha (transparency) value of the color. 0 is fully transparent, 1 is fully opaque. If omitted, defaults to 1.\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"hex\": {\n \"description\": \"Optional fallback value in 6-digit CSS hex color notation (e.g., '#ff00ff'). Must be 6 digits to avoid conflicts with the alpha value.\",\n \"$comment\": \"Only JSON Pointer references (not curly brace references) are allowed for hex because no string token type exists in the specification that could be referenced with curly braces.\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"pattern\": \"^#[0-9a-fA-F]{6}$\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n },\n \"required\": [\"colorSpace\", \"components\"],\n \"additionalProperties\": false,\n \"definitions\": {\n \"zeroToOneComponent\": {\n \"title\": \"Zero to One Component\",\n \"description\": \"A color component normalized to the range [0-1] (e.g., RGB values, XYZ values)\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n },\n {\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"hueComponent\": {\n \"title\": \"Hue Component\",\n \"description\": \"Hue angle from 0 up to (but not including) 360 degrees\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"exclusiveMaximum\": 360\n },\n {\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"percentageComponent\": {\n \"title\": \"Percentage Component\",\n \"description\": \"Percentage value from 0 to 100\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 100\n },\n {\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"chromaComponent\": {\n \"title\": \"Chroma Component\",\n \"description\": \"Chroma value from 0 to infinity\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0\n },\n {\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"unboundedComponent\": {\n \"title\": \"Unbounded Component\",\n \"description\": \"A color component with no numeric bounds (e.g., A and B in LAB/OKLAB color spaces)\",\n \"oneOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"type\": \"string\",\n \"const\": \"none\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"rgbComponents\": {\n \"title\": \"RGB Components\",\n \"description\": \"Array of RGB color components [Red, Green, Blue], each normalized to the range [0-1]\",\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n }\n ]\n },\n \"xyzComponents\": {\n \"title\": \"XYZ Components\",\n \"description\": \"Array of XYZ color components [X, Y, Z], each normalized to the range [0-1]\",\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n }\n ]\n }\n },\n \"allOf\": [\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"srgb\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"srgb-linear\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"display-p3\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"a98-rgb\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"prophoto-rgb\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"rec2020\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/rgbComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"xyz-d65\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/xyzComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"xyz-d50\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"$ref\": \"#/definitions/xyzComponents\"\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"hsl\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/hueComponent\"\n },\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n },\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"hwb\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/hueComponent\"\n },\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n },\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"lab\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n },\n {\n \"$ref\": \"#/definitions/unboundedComponent\"\n },\n {\n \"$ref\": \"#/definitions/unboundedComponent\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"lch\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/percentageComponent\"\n },\n {\n \"$ref\": \"#/definitions/chromaComponent\"\n },\n {\n \"$ref\": \"#/definitions/hueComponent\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"oklab\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/unboundedComponent\"\n },\n {\n \"$ref\": \"#/definitions/unboundedComponent\"\n }\n ]\n }\n }\n }\n },\n {\n \"if\": {\n \"properties\": {\n \"colorSpace\": {\n \"const\": \"oklch\"\n },\n \"components\": {\n \"type\": \"array\"\n }\n }\n },\n \"then\": {\n \"properties\": {\n \"components\": {\n \"type\": \"array\",\n \"minItems\": 3,\n \"maxItems\": 3,\n \"items\": [\n {\n \"$ref\": \"#/definitions/zeroToOneComponent\"\n },\n {\n \"$ref\": \"#/definitions/chromaComponent\"\n },\n {\n \"$ref\": \"#/definitions/hueComponent\"\n }\n ]\n }\n }\n }\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\",\n \"title\": \"Dimension Value\",\n \"description\": \"Value schema for dimension type tokens. Represents an amount of distance in a single dimension in the UI, such as a position, width, height, radius, or thickness.\",\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"description\": \"An integer or floating-point value representing the numeric value.\",\n \"oneOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"unit\": {\n \"description\": \"Unit of distance. Supported values: 'px' (idealized pixel, equivalent to dp on Android and pt on iOS), 'rem' (multiple of system's default font size).\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"enum\": [\"px\", \"rem\"]\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n },\n \"required\": [\"value\", \"unit\"],\n \"additionalProperties\": false\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json\",\n \"title\": \"Font Family Value\",\n \"description\": \"Value schema for fontFamily type tokens. Represents a font name or an array of font names (ordered from most to least preferred).\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"description\": \"A single font name\",\n \"not\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference\"\n }\n },\n {\n \"type\": \"array\",\n \"description\": \"An array of font names, ordered from most to least preferred\",\n \"items\": {\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"not\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference\"\n }\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"minItems\": 1\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json\",\n \"title\": \"Font Weight Value\",\n \"description\": \"Value schema for fontWeight type tokens. Represents a font weight as per the OpenType wght tag specification. Lower numbers represent lighter weights, higher numbers represent thicker weights.\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"description\": \"Numeric font weight value\",\n \"minimum\": 1,\n \"maximum\": 1000\n },\n {\n \"type\": \"string\",\n \"description\": \"Pre-defined font weight string value\",\n \"enum\": [\n \"thin\",\n \"hairline\",\n \"extra-light\",\n \"ultra-light\",\n \"light\",\n \"normal\",\n \"regular\",\n \"book\",\n \"medium\",\n \"semi-bold\",\n \"demi-bold\",\n \"bold\",\n \"extra-bold\",\n \"ultra-bold\",\n \"black\",\n \"heavy\",\n \"extra-black\",\n \"ultra-black\"\n ]\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\",\n \"title\": \"Duration Value\",\n \"description\": \"Value schema for duration type tokens. Represents the length of time in milliseconds an animation or animation cycle takes to complete.\",\n \"type\": \"object\",\n \"properties\": {\n \"value\": {\n \"description\": \"An integer or floating-point value representing the numeric value.\",\n \"oneOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"unit\": {\n \"description\": \"Unit of time. Supported values: 'ms' (millisecond), 's' (second).\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"enum\": [\"ms\", \"s\"]\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n },\n \"required\": [\"value\", \"unit\"],\n \"additionalProperties\": false\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json\",\n \"title\": \"Cubic Bezier Value\",\n \"description\": \"Value schema for cubicBezier type tokens. Represents how the value of an animated property progresses towards completion over the duration of an animation, effectively creating visual effects such as acceleration, deceleration, and bounce.\",\n \"type\": \"array\",\n \"items\": [\n {\n \"$ref\": \"#/definitions/xCoordinate\"\n },\n {\n \"$ref\": \"#/definitions/yCoordinate\"\n },\n {\n \"$ref\": \"#/definitions/xCoordinate\"\n },\n {\n \"$ref\": \"#/definitions/yCoordinate\"\n }\n ],\n \"additionalItems\": false,\n \"minItems\": 4,\n \"maxItems\": 4,\n \"definitions\": {\n \"xCoordinate\": {\n \"title\": \"X Coordinate\",\n \"description\": \"X coordinate of control point (must be between 0 and 1)\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"yCoordinate\": {\n \"title\": \"Y Coordinate\",\n \"description\": \"Y coordinate of control point (can be any real number)\",\n \"oneOf\": [\n {\n \"type\": \"number\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n }\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/number.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/number.json\",\n \"title\": \"Number Value\",\n \"description\": \"Value schema for number type tokens. Numbers can be positive, negative and have fractions. Example uses are gradient stop positions or unitless line heights.\",\n \"type\": \"number\"\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json\",\n \"title\": \"Stroke Style Value\",\n \"description\": \"Value schema for strokeStyle type tokens. Represents the style applied to lines or borders.\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"enum\": [\n \"solid\",\n \"dashed\",\n \"dotted\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"outset\",\n \"inset\"\n ],\n \"description\": \"Pre-defined stroke style values with the same meaning as CSS line style values\"\n },\n {\n \"type\": \"object\",\n \"properties\": {\n \"dashArray\": {\n \"description\": \"Array of dimension values specifying lengths of alternating dashes and gaps\",\n \"oneOf\": [\n {\n \"type\": \"array\",\n \"items\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"minItems\": 1\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n },\n \"lineCap\": {\n \"description\": \"Line cap style, same meaning as SVG stroke-linecap attribute\",\n \"oneOf\": [\n {\n \"type\": \"string\",\n \"enum\": [\"round\", \"butt\", \"square\"]\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n },\n \"required\": [\"dashArray\", \"lineCap\"],\n \"additionalProperties\": false\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/border.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/border.json\",\n \"title\": \"Border Value\",\n \"description\": \"Value schema for border type tokens. Represents a border style.\",\n \"type\": \"object\",\n \"properties\": {\n \"color\": {\n \"description\": \"The color of the border\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"width\": {\n \"description\": \"The width or thickness of the border\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"style\": {\n \"description\": \"The border's style\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/strokeStyle.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n },\n \"required\": [\"color\", \"width\", \"style\"],\n \"additionalProperties\": false\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/transition.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/transition.json\",\n \"title\": \"Transition Value\",\n \"description\": \"Value schema for transition type tokens. Represents an animated transition between two states.\",\n \"type\": \"object\",\n \"properties\": {\n \"duration\": {\n \"description\": \"The duration of the transition\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"delay\": {\n \"description\": \"The time to wait before the transition begins\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/duration.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"timingFunction\": {\n \"description\": \"The timing function of the transition\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/cubicBezier.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n },\n \"required\": [\"duration\", \"delay\", \"timingFunction\"],\n \"additionalProperties\": false\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/shadow.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/shadow.json\",\n \"title\": \"Shadow Value\",\n \"description\": \"Value schema for shadow type tokens. Represents a shadow style.\",\n \"oneOf\": [\n {\n \"$ref\": \"#/definitions/shadowObject\"\n },\n {\n \"type\": \"array\",\n \"description\": \"Array of shadow objects and/or references to shadow tokens\",\n \"items\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/definitions/shadowObject\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"minItems\": 1\n }\n ],\n \"definitions\": {\n \"shadowObject\": {\n \"title\": \"Shadow Object\",\n \"type\": \"object\",\n \"properties\": {\n \"color\": {\n \"description\": \"The color of the shadow\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"offsetX\": {\n \"description\": \"The horizontal offset that shadow has from the element it is applied to\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"offsetY\": {\n \"description\": \"The vertical offset that shadow has from the element it is applied to\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"blur\": {\n \"description\": \"The blur radius that is applied to the shadow\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"spread\": {\n \"description\": \"The amount by which to expand or contract the shadow\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"inset\": {\n \"description\": \"Whether this shadow is inside the containing shape (inner shadow) rather than a drop shadow (default: false)\",\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReferenceObject\"\n }\n ]\n }\n },\n \"required\": [\"color\", \"offsetX\", \"offsetY\", \"blur\", \"spread\"],\n \"additionalProperties\": false\n }\n }\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/gradient.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/gradient.json\",\n \"title\": \"Gradient Value\",\n \"description\": \"Value schema for gradient type tokens. Represents a color gradient.\",\n \"type\": \"array\",\n \"items\": {\n \"oneOf\": [\n {\n \"$ref\": \"#/definitions/gradientStop\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"minItems\": 1,\n \"definitions\": {\n \"gradientStop\": {\n \"title\": \"Gradient Stop\",\n \"type\": \"object\",\n \"properties\": {\n \"color\": {\n \"description\": \"The color value at the stop's position on the gradient\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/color.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"position\": {\n \"description\": \"The position of the stop along the gradient's axis (range [0, 1]). Values outside this range are clamped.\",\n \"oneOf\": [\n {\n \"type\": \"number\",\n \"minimum\": 0,\n \"maximum\": 1\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n },\n \"required\": [\"color\", \"position\"],\n \"additionalProperties\": false\n }\n }\n },\n \"https://www.designtokens.org/schemas/2025.10/format/values/typography.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/values/typography.json\",\n \"title\": \"Typography Value\",\n \"description\": \"Value schema for typography type tokens. Represents a typographic style.\",\n \"type\": \"object\",\n \"properties\": {\n \"fontFamily\": {\n \"description\": \"The typography's font\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontFamily.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"fontSize\": {\n \"description\": \"The size of the typography\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"fontWeight\": {\n \"description\": \"The weight of the typography\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/fontWeight.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"letterSpacing\": {\n \"description\": \"The horizontal spacing between characters\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/dimension.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n },\n \"lineHeight\": {\n \"description\": \"The vertical spacing between lines of typography (interpreted as a multiplier of fontSize)\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/values/number.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/tokenValueReference\"\n }\n ]\n }\n },\n \"required\": [\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"letterSpacing\",\n \"lineHeight\"\n ],\n \"additionalProperties\": false\n },\n \"https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json\",\n \"title\": \"Group or Token\",\n \"description\": \"A group or a token in the DTCG specification. A token is identified by the presence of a $value property, while a group is any object without a $value property.\",\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/group.json\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/token.json\"\n }\n ]\n },\n \"https://www.designtokens.org/schemas/2025.10/format/group.json\": {\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": \"https://www.designtokens.org/schemas/2025.10/format/group.json\",\n \"title\": \"Group\",\n \"description\": \"A group in the DTCG specification\",\n \"type\": \"object\",\n \"properties\": {\n \"$type\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/tokenType.json\"\n },\n \"$description\": {\n \"type\": \"string\",\n \"description\": \"A plain text description of the group\"\n },\n \"$extensions\": {\n \"type\": \"object\",\n \"description\": \"Vendor-specific extensions\"\n },\n \"$extends\": {\n \"oneOf\": [\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/curlyBraceReference\"\n },\n {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format.json#/definitions/jsonPointerReference\"\n }\n ],\n \"description\": \"Reference to another group to inherit tokens and properties from\"\n },\n \"$deprecated\": {\n \"oneOf\": [\n {\n \"type\": \"boolean\"\n },\n {\n \"type\": \"string\"\n }\n ],\n \"description\": \"Whether this group is deprecated\"\n },\n \"$root\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/token.json\"\n }\n },\n \"patternProperties\": {\n \"^[^${}.][^{}.]*$\": {\n \"$ref\": \"https://www.designtokens.org/schemas/2025.10/format/groupOrToken.json\"\n }\n },\n \"additionalProperties\": false\n }\n }\n}\n","import { z } from 'zod';\nimport {\n ContractIdentifierSchema,\n EntityRefSchema,\n IsoDateTimeSchema,\n JsonValueSchema,\n Sha256Schema,\n} from './common';\n\nexport const RadarDecisionMetricsSchema = z\n .object({\n currentSales: z.number().finite(),\n forecastSales: z.number().finite(),\n searchHeat: z.number().finite(),\n socialHeat: z.number().finite(),\n confidence: z.number().min(0).max(1),\n })\n .strict();\n\nexport const TrendSourceSchema = z\n .object({\n sourceId: ContractIdentifierSchema,\n provider: ContractIdentifierSchema,\n channel: z.enum(['trend', 'ecommerce', 'social', 'search', 'internal']),\n collectedAt: IsoDateTimeSchema,\n sourceUrl: z.string().url().optional(),\n evidenceRefs: z.array(EntityRefSchema).default([]),\n })\n .strict();\n\nexport const TrendIngestRunSchema = z\n .object({\n contract: z.literal('TrendIngestRun'),\n ingestRunId: ContractIdentifierSchema,\n sourceId: ContractIdentifierSchema,\n requestId: ContractIdentifierSchema,\n idempotencyKey: ContractIdentifierSchema,\n status: z.enum(['RUNNING', 'SUCCEEDED', 'FAILED', 'PARTIAL']),\n recordCount: z.number().int().nonnegative(),\n errorCount: z.number().int().nonnegative(),\n startedAt: IsoDateTimeSchema,\n completedAt: IsoDateTimeSchema.optional(),\n })\n .strict();\n\nexport const TrendSourceRecordSchema = z\n .object({\n contract: z.literal('TrendSourceRecord'),\n sourceRecordId: ContractIdentifierSchema,\n source: TrendSourceSchema,\n ingestRunRef: EntityRefSchema,\n recordVersion: z.number().int().positive(),\n contentHash: Sha256Schema,\n payload: JsonValueSchema,\n idempotencyKey: ContractIdentifierSchema,\n collectedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const HotwordBodySchema = z\n .object({\n contract: z.literal('HotwordBody'),\n hotwordId: ContractIdentifierSchema,\n label: z.string().trim().min(1),\n normalizedLabel: z.string().trim().min(1),\n categories: z.array(ContractIdentifierSchema).default([]),\n sourceRefs: z.array(TrendSourceSchema).min(1),\n relationRefs: z.array(EntityRefSchema).default([]),\n createdAt: IsoDateTimeSchema,\n updatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nconst CommerceBodyFieldsSchema = {\n displayName: z.string().trim().min(1),\n normalizedName: z.string().trim().min(1),\n categories: z.array(ContractIdentifierSchema).default([]),\n sourceRefs: z.array(EntityRefSchema).min(1),\n relationRefs: z.array(EntityRefSchema).default([]),\n createdAt: IsoDateTimeSchema,\n updatedAt: IsoDateTimeSchema,\n};\n\nexport const BrandBodySchema = z\n .object({\n contract: z.literal('BrandBody'),\n brandId: ContractIdentifierSchema,\n ...CommerceBodyFieldsSchema,\n })\n .strict();\n\nexport const ProductBodySchema = z\n .object({\n contract: z.literal('ProductBody'),\n productId: ContractIdentifierSchema,\n brandRef: EntityRefSchema.optional(),\n ...CommerceBodyFieldsSchema,\n })\n .strict();\n\nexport const TrendMetricSnapshotSchema = z\n .object({\n contract: z.literal('TrendMetricSnapshot'),\n snapshotId: ContractIdentifierSchema,\n subjectRef: EntityRefSchema,\n observedAt: IsoDateTimeSchema,\n metrics: z.record(z.string(), z.number().finite()),\n confidence: z.number().min(0).max(1),\n evidenceRefs: z.array(EntityRefSchema).min(1),\n })\n .strict();\n\nexport const RadarScoreModelBodySchema = z\n .object({\n contract: z.literal('RadarScoreModelBody'),\n modelId: ContractIdentifierSchema,\n version: z.number().int().positive(),\n weights: RadarDecisionMetricsSchema,\n thresholds: z.record(z.string(), z.number().finite()).default({}),\n explanationRules: z.record(z.string(), z.string().trim().min(1)).default({}),\n createdAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarScoreProjectionSchema = z\n .object({\n contract: z.literal('RadarScoreProjection'),\n projectionId: ContractIdentifierSchema,\n subjectRef: EntityRefSchema,\n modelRef: EntityRefSchema,\n totalScore: z.number().finite(),\n dimensions: RadarDecisionMetricsSchema,\n evidenceRefs: z.array(EntityRefSchema).min(1),\n freshnessAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarPanoramaNodeSchema = z\n .object({\n ref: EntityRefSchema,\n label: z.string().trim().min(1),\n categories: z.array(ContractIdentifierSchema).default([]),\n score: z.number().finite().optional(),\n freshnessAt: IsoDateTimeSchema.optional(),\n })\n .strict();\n\nexport const RadarPanoramaEdgeSchema = z\n .object({\n sourceRef: EntityRefSchema,\n targetRef: EntityRefSchema,\n relation: ContractIdentifierSchema,\n evidenceRefs: z.array(EntityRefSchema).default([]),\n })\n .strict();\n\nexport const RadarPanoramaSchema = z\n .object({\n contract: z.literal('RadarPanorama'),\n nodes: z.array(RadarPanoramaNodeSchema),\n edges: z.array(RadarPanoramaEdgeSchema),\n generatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const BrandGeneticsProfileSchema = z\n .object({\n contract: z.literal('BrandGeneticsProfile'),\n brandRef: EntityRefSchema,\n categories: z.array(ContractIdentifierSchema).default([]),\n signature: z.record(ContractIdentifierSchema, z.number().finite()),\n relatedRefs: z.array(EntityRefSchema).default([]),\n evidenceRefs: z.array(EntityRefSchema).default([]),\n computedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarOpportunityMatrixPointSchema = z\n .object({\n subjectRef: EntityRefSchema,\n label: z.string().trim().min(1),\n x: z.number().finite(),\n y: z.number().finite(),\n score: z.number().finite(),\n evidenceRefs: z.array(EntityRefSchema).default([]),\n })\n .strict();\n\nexport const RadarOpportunityMatrixSchema = z\n .object({\n contract: z.literal('RadarOpportunityMatrix'),\n xMetric: z.enum(['currentSales', 'forecastSales', 'searchHeat', 'socialHeat', 'confidence']),\n yMetric: z.enum(['currentSales', 'forecastSales', 'searchHeat', 'socialHeat', 'confidence']),\n points: z.array(RadarOpportunityMatrixPointSchema),\n computedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarQueryBodySchema = z\n .object({\n contract: z.literal('RadarQueryBody'),\n queryId: ContractIdentifierSchema,\n filters: z.record(z.string(), JsonValueSchema).default({}),\n sort: z\n .object({\n field: ContractIdentifierSchema,\n direction: z.enum(['asc', 'desc']),\n })\n .strict(),\n pageSize: z.number().int().min(1).max(200),\n updatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const SavedRadarQuerySchema = z\n .object({\n contract: z.literal('SavedRadarQuery'),\n savedQueryId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n ownerRef: EntityRefSchema,\n name: z.string().trim().min(1),\n queryRef: EntityRefSchema,\n expectedVersion: z.number().int().nonnegative(),\n updatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarSelectionSchema = z\n .object({\n contract: z.literal('RadarSelection'),\n selectionId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n ownerRef: EntityRefSchema,\n subjectRefs: z.array(EntityRefSchema),\n status: z.enum(['stashed', 'selected', 'rejected', 'archived']),\n note: z.string().optional(),\n expectedVersion: z.number().int().nonnegative(),\n updatedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarAnalysisRunSchema = z\n .object({\n contract: z.literal('RadarAnalysisRun'),\n runId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n selectionRef: EntityRefSchema,\n workflowRef: EntityRefSchema,\n executionRef: EntityRefSchema.optional(),\n designProjectRef: EntityRefSchema.optional(),\n replayedFromRef: EntityRefSchema.optional(),\n workflowDefinitionTeamId: ContractIdentifierSchema.optional(),\n workflowInput: z.record(z.string(), JsonValueSchema).default({}),\n createDesignProject: z.boolean().default(true),\n designProjectName: z.string().trim().min(1).max(200).optional(),\n modelRef: EntityRefSchema,\n requestId: ContractIdentifierSchema,\n idempotencyKey: ContractIdentifierSchema,\n status: z.enum(['QUEUED', 'RUNNING', 'SUCCEEDED', 'FAILED', 'CANCELLED', 'PARTIAL']),\n outputRefs: z.array(EntityRefSchema).default([]),\n error: z\n .object({\n code: ContractIdentifierSchema,\n message: z.string().trim().min(1),\n retryable: z.boolean(),\n })\n .strict()\n .optional(),\n startedAt: IsoDateTimeSchema.optional(),\n completedAt: IsoDateTimeSchema.optional(),\n createdAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarActionRecordSchema = z\n .object({\n contract: z.literal('RadarActionRecord'),\n actionId: ContractIdentifierSchema,\n teamId: ContractIdentifierSchema,\n actorRef: EntityRefSchema,\n action: z.enum(['stash', 'select', 'reject', 'archive', 'launch', 'retry', 'replay', 'rollback']),\n targetRef: EntityRefSchema,\n requestId: ContractIdentifierSchema,\n idempotencyKey: ContractIdentifierSchema,\n expectedVersion: z.number().int().nonnegative(),\n occurredAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport const RadarWritebackRecordSchema = z\n .object({\n contract: z.literal('RadarWritebackRecord'),\n writebackId: ContractIdentifierSchema,\n actionRef: EntityRefSchema,\n targetRef: EntityRefSchema,\n status: z.enum(['PENDING', 'APPLIED', 'FAILED']),\n resultingVersion: z.number().int().nonnegative().optional(),\n error: z.string().trim().min(1).optional(),\n recordedAt: IsoDateTimeSchema,\n })\n .strict();\n\nexport type TrendSource = z.infer<typeof TrendSourceSchema>;\nexport type TrendIngestRun = z.infer<typeof TrendIngestRunSchema>;\nexport type TrendSourceRecord = z.infer<typeof TrendSourceRecordSchema>;\nexport type HotwordBody = z.infer<typeof HotwordBodySchema>;\nexport type BrandBody = z.infer<typeof BrandBodySchema>;\nexport type ProductBody = z.infer<typeof ProductBodySchema>;\nexport type TrendMetricSnapshot = z.infer<typeof TrendMetricSnapshotSchema>;\nexport type RadarDecisionMetrics = z.infer<typeof RadarDecisionMetricsSchema>;\nexport type RadarScoreModelBody = z.infer<typeof RadarScoreModelBodySchema>;\nexport type RadarScoreProjection = z.infer<typeof RadarScoreProjectionSchema>;\nexport type RadarPanorama = z.infer<typeof RadarPanoramaSchema>;\nexport type BrandGeneticsProfile = z.infer<typeof BrandGeneticsProfileSchema>;\nexport type RadarOpportunityMatrix = z.infer<typeof RadarOpportunityMatrixSchema>;\nexport type RadarQueryBody = z.infer<typeof RadarQueryBodySchema>;\nexport type SavedRadarQuery = z.infer<typeof SavedRadarQuerySchema>;\nexport type RadarSelection = z.infer<typeof RadarSelectionSchema>;\nexport type RadarAnalysisRun = z.infer<typeof RadarAnalysisRunSchema>;\nexport type RadarActionRecord = z.infer<typeof RadarActionRecordSchema>;\nexport type RadarWritebackRecord = z.infer<typeof RadarWritebackRecordSchema>;\n","import { z } from 'zod';\nimport { ContractPortSchema } from './capability';\nimport {\n ContractIdentifierSchema,\n ContractMetadataSchema,\n EntityRefSchema,\n JsonValueSchema,\n LocalizedTextSchema,\n type JsonValue,\n type LocalizedText,\n} from './common';\n\nexport const ConductorTaskTypeSchema = z.enum([\n 'SIMPLE',\n 'DYNAMIC',\n 'FORK_JOIN',\n 'FORK_JOIN_DYNAMIC',\n 'DECISION',\n 'SWITCH',\n 'JOIN',\n 'DO_WHILE',\n 'SUB_WORKFLOW',\n 'START_WORKFLOW',\n 'EVENT',\n 'WAIT',\n 'HUMAN',\n 'USER_DEFINED',\n 'HTTP',\n 'LAMBDA',\n 'INLINE',\n 'EXCLUSIVE_JOIN',\n 'TERMINATE',\n 'KAFKA_PUBLISH',\n 'JSON_JQ_TRANSFORM',\n 'SET_VARIABLE',\n 'CALL_MCP_TOOL',\n 'GENERATE_AUDIO',\n 'GENERATE_IMAGE',\n 'GENERATE_PDF',\n 'GENERATE_VIDEO',\n 'LIST_MCP_TOOLS',\n 'LLM_CHAT_COMPLETE',\n 'LLM_GENERATE_EMBEDDINGS',\n 'LLM_INDEX_TEXT',\n 'LLM_SEARCH_INDEX',\n 'TITUS',\n 'USER_TASK',\n]);\n\nexport interface ConductorTaskDefinition {\n name: string;\n taskReferenceName: string;\n type: z.infer<typeof ConductorTaskTypeSchema>;\n inputParameters?: Record<string, JsonValue>;\n startDelay?: number;\n optional?: boolean;\n asyncComplete?: boolean;\n rateLimited?: boolean;\n retryCount?: number;\n taskDefinition?: Record<string, JsonValue>;\n loopCondition?: string;\n loopOver?: ConductorTaskDefinition[];\n sink?: string;\n forkTasks?: ConductorTaskDefinition[][];\n joinOn?: string[];\n defaultExclusiveJoinTask?: string[];\n dynamicForkTasksParam?: string;\n dynamicForkTasksInputParamName?: string;\n subWorkflowParam?: {\n $ref?: string;\n name: string;\n version?: number;\n taskToDomain?: Record<string, string>;\n workflowDefinition?: Record<string, JsonValue>;\n };\n decisionCases?: Record<string, ConductorTaskDefinition[]>;\n defaultCase?: ConductorTaskDefinition[];\n evaluatorType?: 'value-param' | 'javascript' | 'graaljs';\n expression?: string;\n __alias?: JsonValue;\n callbackFromWorker?: boolean;\n caseExpression?: JsonValue;\n caseValueParam?: string;\n dependencies?: JsonValue[];\n description?: string;\n dynamicTaskNameParam?: string;\n joinMode?: string;\n permissive?: boolean;\n joinTaskRef?: string;\n forkTaskRef?: string;\n}\n\nconst requiredTaskFields: Partial<Record<ConductorTaskDefinition['type'], readonly (keyof ConductorTaskDefinition)[]>> = {\n DO_WHILE: ['inputParameters', 'loopOver'],\n EVENT: ['sink'],\n FORK_JOIN: ['forkTasks'],\n FORK_JOIN_DYNAMIC: ['inputParameters', 'dynamicForkTasksParam', 'dynamicForkTasksInputParamName'],\n DYNAMIC: ['inputParameters'],\n JOIN: ['joinOn'],\n SUB_WORKFLOW: ['subWorkflowParam'],\n SWITCH: ['inputParameters', 'decisionCases', 'evaluatorType', 'expression'],\n DECISION: ['inputParameters', 'decisionCases'],\n WAIT: ['inputParameters'],\n TERMINATE: ['inputParameters'],\n};\n\nexport const ConductorTaskDefinitionSchema: z.ZodType<ConductorTaskDefinition> = z.lazy(() =>\n z\n .object({\n name: ContractIdentifierSchema,\n taskReferenceName: ContractIdentifierSchema,\n type: ConductorTaskTypeSchema,\n inputParameters: z.record(z.string(), JsonValueSchema).optional(),\n startDelay: z.number().int().nonnegative().optional(),\n optional: z.boolean().optional(),\n asyncComplete: z.boolean().optional(),\n rateLimited: z.boolean().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n taskDefinition: z.record(z.string(), JsonValueSchema).optional(),\n loopCondition: z.string().optional(),\n loopOver: z.array(ConductorTaskDefinitionSchema).optional(),\n sink: z.string().optional(),\n forkTasks: z.array(z.array(ConductorTaskDefinitionSchema)).optional(),\n joinOn: z.array(ContractIdentifierSchema).optional(),\n defaultExclusiveJoinTask: z.array(ContractIdentifierSchema).optional(),\n dynamicForkTasksParam: z.string().optional(),\n dynamicForkTasksInputParamName: z.string().optional(),\n subWorkflowParam: z\n .object({\n $ref: z.string().optional(),\n name: ContractIdentifierSchema,\n version: z.number().int().positive().optional(),\n taskToDomain: z.record(z.string(), z.string()).optional(),\n workflowDefinition: z.record(z.string(), JsonValueSchema).optional(),\n })\n .strict()\n .optional(),\n decisionCases: z.record(z.string(), z.array(ConductorTaskDefinitionSchema)).optional(),\n defaultCase: z.array(ConductorTaskDefinitionSchema).optional(),\n evaluatorType: z.enum(['value-param', 'javascript', 'graaljs']).optional(),\n expression: z.string().optional(),\n __alias: JsonValueSchema.optional(),\n callbackFromWorker: z.boolean().optional(),\n caseExpression: JsonValueSchema.optional(),\n caseValueParam: z.string().optional(),\n dependencies: z.array(JsonValueSchema).optional(),\n description: z.string().optional(),\n dynamicTaskNameParam: z.string().optional(),\n joinMode: z.string().optional(),\n permissive: z.boolean().optional(),\n joinTaskRef: ContractIdentifierSchema.optional(),\n forkTaskRef: ContractIdentifierSchema.optional(),\n })\n .strict()\n .superRefine((task, context) => {\n for (const field of requiredTaskFields[task.type] ?? []) {\n if (task[field] === undefined) {\n context.addIssue({ code: 'custom', path: [field], message: `${task.type} task requires ${String(field)}.` });\n }\n }\n if (\n task.type === 'DO_WHILE' &&\n (task.inputParameters?.mode === undefined || task.inputParameters.mode === 'expression') &&\n task.loopCondition === undefined &&\n task.inputParameters?.loopCondition === undefined\n ) {\n context.addIssue({ code: 'custom', path: ['loopCondition'], message: 'Expression DO_WHILE task requires loopCondition.' });\n }\n }),\n);\n\nexport const ConductorWorkflowDefinitionSchema = z.object({\n ownerApp: z.string().optional(),\n createTime: z.number().int().nonnegative().optional(),\n updateTime: z.number().int().nonnegative().optional(),\n createdBy: z.string().optional(),\n updatedBy: z.string().optional(),\n name: ContractIdentifierSchema,\n description: z.string().optional(),\n version: z.number().int().positive(),\n tasks: z.array(ConductorTaskDefinitionSchema),\n inputParameters: z.array(ContractIdentifierSchema),\n outputParameters: z.record(z.string(), JsonValueSchema).optional(),\n failureWorkflow: ContractIdentifierSchema.optional(),\n schemaVersion: z.number().int().positive().optional(),\n restartable: z.boolean().optional(),\n workflowStatusListenerEnabled: z.boolean().optional(),\n ownerEmail: z.string().email().optional(),\n timeoutPolicy: z.enum(['TIME_OUT_WF', 'ALERT_ONLY']).optional(),\n timeoutSeconds: z.number().int().nonnegative(),\n variables: z.record(z.string(), JsonValueSchema).optional(),\n inputTemplate: z.record(z.string(), JsonValueSchema).optional(),\n}).strict();\n\nexport const WorkflowParameterTypeSchema = z.enum([\n 'string',\n 'file',\n 'number',\n 'boolean',\n 'options',\n 'json',\n 'notice',\n 'canvas-assist',\n]);\n\nconst WorkflowConditionalStateSchema = z\n .object({\n conditions: z.array(\n z\n .object({\n field: z.string(),\n operator: z.enum(['is', 'isNot', 'isGreaterThan', 'isLessThan', 'isGreaterThanOrEqual', 'isLessThanOrEqual', 'in', 'notIn']),\n value: JsonValueSchema,\n })\n .strict(),\n ),\n logic: z.enum(['AND', 'OR']).optional(),\n })\n .strict();\n\nconst ImageSelectMappingAppearanceSchema = z\n .object({\n columns: z.number().int().min(1).max(4).optional(),\n cardSize: z.enum(['sm', 'md', 'lg']).optional(),\n imageAspectRatio: z.enum(['square', '4:5', '3:4', '16:9']).optional(),\n gap: z.enum(['sm', 'md', 'lg']).optional(),\n radius: z.enum(['sm', 'md', 'lg', 'xl']).optional(),\n borderStyle: z.enum(['none', 'soft', 'strong']).optional(),\n borderWidth: z.union([z.literal(0), z.literal(1), z.literal(2)]).optional(),\n enableScroll: z.boolean().optional(),\n maxHeight: z.number().int().min(160).max(1200).optional(),\n enableCollapse: z.boolean().optional(),\n visibleRows: z.number().int().min(1).max(6).optional(),\n hideLabel: z.boolean().optional(),\n hideDescription: z.boolean().optional(),\n hideValue: z.boolean().optional(),\n })\n .strict();\n\nconst ComfyWorkflowPortBindingSchema = z\n .object({\n node: z.union([z.string(), z.number()]),\n key: z.string().optional(),\n })\n .strict();\n\nconst WorkflowParameterTypeOptionsSchema = z\n .object({\n editor: z.enum(['code', 'codeNodeEditor', 'htmlEditor', 'sqlEditor', 'json']).optional(),\n editorLanguage: z.enum(['javaScript', 'json', 'python', 'sql']).optional(),\n maxValue: z.number().optional(), minValue: z.number().optional(), max: z.number().optional(), min: z.number().optional(),\n multipleValues: z.boolean().optional(), numberPrecision: z.number().nonnegative().optional(), password: z.boolean().optional(), rows: z.number().int().positive().optional(),\n assetType: z.string().optional(), accept: z.string().optional(), maxSize: z.number().positive().optional(), fileType: z.string().optional(),\n aiMultiShotMainImageField: z.string().optional(), aiMultiShotWorkflowAppId: z.string().optional(), aiMultiShotWorkflowId: z.string().optional(),\n allowCustomInput: z.boolean().optional(), allowUploadVideo: z.boolean().optional(), aspectRatioField: z.string().optional(), assemblyValueType: z.string().optional(),\n autoAnalyzeDesignImage: z.boolean().optional(), autoDetectAspectRatio: z.boolean().optional(), autoIncrementId: z.boolean().optional(), comfyOptions: ComfyWorkflowPortBindingSchema.optional(), comfyuiModelServerId: z.string().optional(), comfyuiModelTypeName: z.string().optional(),\n defaultCustomInput: JsonValueSchema.optional(), descriptionAlert: z.boolean().optional(), disabled: z.union([z.boolean(), WorkflowConditionalStateSchema]).optional(), editable: z.union([z.boolean(), WorkflowConditionalStateSchema]).optional(),\n enableAiMultiShot: z.boolean().optional(), enableBooleanSwitchMode: z.boolean().optional(), enableClear: z.boolean().optional(), enableExpand: z.boolean().optional(), enableImageMask: z.boolean().optional(), enableImageOverlay: z.boolean().optional(), enablePopupEditor: z.boolean().optional(), enablePromptFontSize: z.boolean().optional(), enableReset: z.boolean().optional(), enableSelectItemIcon: z.boolean().optional(), enableSelectList: z.boolean().optional(), enableSelectSearch: z.boolean().optional(), enableSliderEnterMode: z.boolean().optional(), enableVoice: z.boolean().optional(),\n expandButtonText: z.string().optional(), foldUp: z.boolean().optional(), hidden: z.boolean().optional(), hideRequiredDot: z.boolean().optional(), inlineTitleWithSelect: z.boolean().optional(), knowledgeGraphButtonText: z.string().optional(),\n identifyAttributeCount: z.union([z.number().nonnegative(), z.string().min(1), z.object({ min: z.number().nonnegative().optional(), max: z.number().nonnegative().optional() }).strict()]).optional(), identifyAttributes: z.array(JsonValueSchema).optional(), identifyMaxVariants: z.number().int().nonnegative().optional(), identifySourceField: z.string().optional(),\n imageOverlayBaseField: z.string().optional(), imageOverlayOverlayField: z.string().optional(), imageSelectMappingAppearance: ImageSelectMappingAppearanceSchema.optional(), imageSelectMappingColumns: z.number().int().min(1).max(4).optional(), imageSelectMappingEnableCustomUpload: z.boolean().optional(), imageSelectMappingHideLabel: z.boolean().optional(), imageSelectMappingHideLink: z.boolean().optional(), imageSelectMappingHideMeta: z.boolean().optional(), imageSelectMappingInlineUseLargeUploadBox: z.boolean().optional(), imageSelectMappingPromptField: z.string().optional(), imageSelectMappingTabOrder: z.enum(['template-first', 'upload-first']).optional(), imageSelectMappingTabWidthMode: z.enum(['content', 'fill']).optional(), imageSelectMappingTemplatePrompt: LocalizedTextSchema.optional(), imageSelectMappingTemplateTabTitle: LocalizedTextSchema.optional(), imageSelectMappingUploadMode: z.enum(['tabs', 'inline']).optional(), imageSelectMappingUploadPrompt: LocalizedTextSchema.optional(), imageSelectMappingUploadTabTitle: LocalizedTextSchema.optional(),\n endpoints: z.array(JsonValueSchema).optional(), examples: z.array(JsonValueSchema).optional(), extraData: JsonValueSchema.optional(), layer: JsonValueSchema.optional(), map: JsonValueSchema.optional(), multiline: z.boolean().optional(), options: z.array(JsonValueSchema).optional(), originalFiles: z.array(JsonValueSchema).optional(), placeholder: LocalizedTextSchema.optional(), preserveSelectListOrder: z.boolean().optional(), promptDictionary: JsonValueSchema.optional(), promptFontSize: z.number().optional(), promptModeToggle: JsonValueSchema.optional(), requireActiveSelectFilter: z.boolean().optional(), restoreDefaultOnEmptyEnter: z.boolean().optional(), search: z.boolean().optional(),\n selectButtonEnableCollapse: z.boolean().optional(), selectButtonVisibleRows: z.number().int().positive().optional(), selectList: z.array(JsonValueSchema).optional(), selectListDisplayMode: z.string().optional(), selectPromptField: z.string().optional(), showAddLocalFileButton: z.boolean().optional(), singleColumn: z.boolean().optional(), singleFrameForMultiple: z.boolean().optional(), textSingleLine: z.boolean().optional(), textareaMiniHeight: z.number().nonnegative().optional(), tips: LocalizedTextSchema.optional(), visibility: JsonValueSchema.optional(), voiceButtonText: z.string().optional(),\n designAnalysisFields: z.array(JsonValueSchema).optional(), designAnalysisFillStrategy: z.string().optional(), designAnalysisMaxFields: z.number().int().nonnegative().optional(), designAnalysisType: z.string().optional(),\n designAnalysisFieldPrefix: z.string().optional(),\n })\n .strict();\n\nexport interface WorkflowParameter {\n displayName: LocalizedText;\n name: string;\n type: z.infer<typeof WorkflowParameterTypeSchema>;\n typeOptions?: z.infer<typeof WorkflowParameterTypeOptionsSchema>;\n default?: JsonValue;\n description?: LocalizedText;\n hint?: string;\n displayOptions?: { hide?: Record<string, JsonValue[]>; show?: Record<string, JsonValue[]> };\n options?: Array<WorkflowParameterOption | WorkflowParameter | WorkflowParameterCollection>;\n placeholder?: LocalizedText;\n isNodeSetting?: boolean;\n noDataExpression?: boolean;\n required?: boolean;\n example?: string;\n extractValue?: { type: 'regex'; regex: string };\n properties?: WorkflowParameter[];\n assetType?: string;\n flag?: boolean;\n enableExpand?: boolean;\n enableVoice?: boolean;\n expandButtonText?: string;\n knowledgeGraphButtonText?: string;\n selectListDisplayMode?: string;\n voiceButtonText?: string;\n}\n\nexport interface WorkflowParameterOption {\n name: LocalizedText;\n value: string | number | boolean;\n action?: string;\n description?: LocalizedText;\n}\n\nexport interface WorkflowParameterCollection {\n displayName: string;\n name: string;\n values: WorkflowParameter[];\n}\n\nexport const WorkflowParameterSchema: z.ZodType<WorkflowParameter> = z.lazy(() =>\n z.object({\n displayName: LocalizedTextSchema,\n name: ContractIdentifierSchema,\n type: WorkflowParameterTypeSchema,\n typeOptions: WorkflowParameterTypeOptionsSchema.optional(),\n default: JsonValueSchema.optional(),\n description: LocalizedTextSchema.optional(),\n hint: z.string().optional(),\n displayOptions: z.object({\n hide: z.record(z.string(), z.array(JsonValueSchema)).optional(),\n show: z.record(z.string(), z.array(JsonValueSchema)).optional(),\n }).strict().optional(),\n options: z.array(z.union([\n z.object({ name: LocalizedTextSchema, value: z.union([z.string(), z.number(), z.boolean()]), action: z.string().optional(), description: LocalizedTextSchema.optional() }).strict(),\n WorkflowParameterSchema,\n z.object({ displayName: z.string(), name: ContractIdentifierSchema, values: z.array(WorkflowParameterSchema) }).strict(),\n ])).optional(),\n placeholder: LocalizedTextSchema.optional(),\n isNodeSetting: z.boolean().optional(), noDataExpression: z.boolean().optional(), required: z.boolean().optional(), example: z.string().optional(),\n extractValue: z.object({ type: z.literal('regex'), regex: z.string() }).strict().optional(),\n properties: z.array(WorkflowParameterSchema).optional(), assetType: z.string().optional(), flag: z.boolean().optional(),\n enableExpand: z.boolean().optional(), enableVoice: z.boolean().optional(), expandButtonText: z.string().optional(), knowledgeGraphButtonText: z.string().optional(), selectListDisplayMode: z.string().optional(), voiceButtonText: z.string().optional(),\n }).strict(),\n);\n\nexport const WorkflowOutputBindingSchema = z.object({ key: ContractIdentifierSchema, value: z.string() }).strict();\n\nexport const WorkflowNodeSchema = z\n .object({\n id: ContractIdentifierSchema,\n referenceName: ContractIdentifierSchema,\n capabilityRef: ContractIdentifierSchema,\n capabilityVersion: ContractIdentifierSchema.optional(),\n inputBindings: z.record(z.string(), JsonValueSchema).default({}),\n configuration: z.object({ executor: z.literal('conductor'), task: ConductorTaskDefinitionSchema }).strict(),\n })\n .strict()\n .superRefine((node, context) => {\n if (node.configuration.task.taskReferenceName !== node.referenceName) context.addIssue({ code: 'custom', path: ['configuration', 'task', 'taskReferenceName'], message: 'Conductor task reference must match node referenceName.' });\n if (node.configuration.task.name !== node.capabilityRef) context.addIssue({ code: 'custom', path: ['configuration', 'task', 'name'], message: 'Conductor task name must match node capabilityRef.' });\n if (JSON.stringify(node.configuration.task.inputParameters ?? {}) !== JSON.stringify(node.inputBindings)) context.addIssue({ code: 'custom', path: ['configuration', 'task', 'inputParameters'], message: 'Conductor task inputs must match node inputBindings.' });\n });\n\nexport const WorkflowEdgeSchema = z.object({\n from: ContractIdentifierSchema, to: ContractIdentifierSchema, outputPort: ContractIdentifierSchema.optional(), inputPort: ContractIdentifierSchema.optional(), condition: z.string().optional(),\n}).strict();\n\nexport const WorkflowTriggerSchema = z.object({\n id: ContractIdentifierSchema,\n type: z.enum(['manual', 'schedule', 'webhook', 'event', 'api']),\n enabled: z.boolean(),\n schedule: z.object({ cron: z.string().trim().min(1) }).strict().optional(),\n webhook: z.object({\n path: z.string().trim().min(1).optional(),\n method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD']),\n auth: z.enum(['NONE', 'BASIC', 'CUSTOM_HEADER']),\n basicAuth: z.object({ username: z.string(), password: z.string() }).strict().optional(),\n headerAuth: z.object({ name: z.string().trim().min(1), value: z.string() }).strict().optional(),\n responseUntil: z.enum(['WORKFLOW_STARTED', 'WORKFLOW_COMPLETED_OR_FINISHED']),\n }).strict().optional(),\n event: z.object({\n eventType: ContractIdentifierSchema,\n configuration: JsonValueSchema.optional(),\n }).strict().optional(),\n}).strict().superRefine((trigger, context) => {\n if (trigger.type === 'schedule' && !trigger.schedule) context.addIssue({ code: 'custom', path: ['schedule'], message: 'Schedule trigger requires schedule configuration.' });\n if (trigger.type === 'webhook' && !trigger.webhook) context.addIssue({ code: 'custom', path: ['webhook'], message: 'Webhook trigger requires webhook configuration.' });\n if (trigger.type === 'event' && !trigger.event) context.addIssue({ code: 'custom', path: ['event'], message: 'Event trigger requires event configuration.' });\n});\n\nexport const WorkflowValidationIssueSchema = z.object({\n taskReferenceName: ContractIdentifierSchema,\n issueType: z.enum(['ERROR', 'WARNING']),\n detailReason: z.object({ type: ContractIdentifierSchema, name: ContractIdentifierSchema, detailInformation: JsonValueSchema.optional() }).strict(),\n humanMessage: z.object({ en: z.string(), zh: z.string() }).strict(),\n}).strict();\n\nexport const WorkflowDefinitionSchema = z.object({\n contract: z.literal('WorkflowDefinition'),\n metadata: ContractMetadataSchema.omit({ name: true, description: true, labels: true }).extend({\n name: LocalizedTextSchema,\n description: LocalizedTextSchema.optional(),\n role: z.enum(['workflow', 'template']),\n teamId: ContractIdentifierSchema,\n creatorRef: EntityRefSchema,\n tags: z.array(ContractIdentifierSchema).default([]),\n }).strict(),\n revision: z.object({\n kind: z.enum(['release', 'backup']),\n recordVersion: z.number().int().positive(),\n sourceVersion: z.number().int().positive().optional(),\n }).strict().superRefine((revision, context) => {\n if (revision.kind === 'backup' && revision.sourceVersion === undefined) context.addIssue({ code: 'custom', path: ['sourceVersion'], message: 'Backup revisions require a sourceVersion.' });\n }),\n presentation: z.object({ iconUrl: z.string().optional(), thumbnail: z.string().optional() }).strict(),\n ports: z.object({ inputs: z.array(ContractPortSchema).default([]), outputs: z.array(ContractPortSchema).default([]) }).strict(),\n parameters: z.object({ variables: z.array(WorkflowParameterSchema).default([]), outputs: z.array(WorkflowOutputBindingSchema).default([]) }).strict(),\n graph: z.object({ nodes: z.array(WorkflowNodeSchema), edges: z.array(WorkflowEdgeSchema).default([]) }).strict(),\n execution: z.object({\n timeoutMs: z.number().int().positive().optional(), retries: z.number().int().nonnegative().default(0), concurrencyLimit: z.number().int().positive().optional(), idempotency: z.enum(['required', 'supported', 'none']),\n rateLimit: z.object({ enabled: z.boolean(), max: z.number().int().nonnegative(), windowMs: z.number().int().nonnegative() }).strict().superRefine((rateLimit, context) => {\n if (rateLimit.enabled && (rateLimit.max === 0 || rateLimit.windowMs === 0)) context.addIssue({ code: 'custom', message: 'Enabled rate limit requires positive max and windowMs.' });\n }).optional(),\n conductor: z.object({\n ownerApp: z.string().optional(), createTime: z.number().int().nonnegative().optional(), updateTime: z.number().int().nonnegative().optional(), createdBy: z.string().optional(), updatedBy: z.string().optional(),\n failureWorkflow: ContractIdentifierSchema.optional(), schemaVersion: z.number().int().positive().optional(), restartable: z.boolean().optional(), workflowStatusListenerEnabled: z.boolean().optional(), ownerEmail: z.string().email().optional(), timeoutPolicy: z.enum(['TIME_OUT_WF', 'ALERT_ONLY']).optional(),\n variables: z.record(z.string(), JsonValueSchema).optional(), inputTemplate: z.record(z.string(), JsonValueSchema).optional(),\n }).strict(),\n }).strict(),\n triggers: z.array(WorkflowTriggerSchema).default([]),\n views: z.array(z.object({ pageRef: ContractIdentifierSchema, placement: ContractIdentifierSchema.optional() }).strict()).default([]),\n dataContracts: z.object({ reads: z.array(ContractIdentifierSchema).default([]), writes: z.array(ContractIdentifierSchema).default([]), emits: z.array(ContractIdentifierSchema).default([]) }).strict(),\n governance: z.object({ activated: z.boolean(), validated: z.boolean(), validationIssues: z.array(WorkflowValidationIssueSchema).default([]), hidden: z.boolean().optional() }).strict(),\n interfaces: z.object({\n openai: z.object({ enabled: z.boolean(), modelName: z.string().trim().min(1).optional() }).strict(),\n shortcutRef: EntityRefSchema.optional(),\n preferredAppId: ContractIdentifierSchema.optional(),\n }).strict().superRefine((interfaces, context) => {\n if (interfaces.openai.enabled && !interfaces.openai.modelName) context.addIssue({ code: 'custom', path: ['openai', 'modelName'], message: 'Enabled OpenAI interface requires modelName.' });\n if (interfaces.shortcutRef && interfaces.shortcutRef.kind !== 'workflow') context.addIssue({ code: 'custom', path: ['shortcutRef', 'kind'], message: 'shortcutRef must reference a workflow.' });\n }),\n}).strict().superRefine((definition, context) => {\n const nodeIds = new Set(definition.graph.nodes.map((node) => node.id));\n const references = new Set(definition.graph.nodes.map((node) => node.referenceName));\n if (nodeIds.size !== definition.graph.nodes.length) context.addIssue({ code: 'custom', path: ['graph', 'nodes'], message: 'Workflow node ids must be unique.' });\n if (references.size !== definition.graph.nodes.length) context.addIssue({ code: 'custom', path: ['graph', 'nodes'], message: 'Workflow node reference names must be unique.' });\n definition.graph.edges.forEach((edge, index) => {\n if (!nodeIds.has(edge.from) || !nodeIds.has(edge.to)) context.addIssue({ code: 'custom', path: ['graph', 'edges', index], message: 'Workflow edges must reference existing node ids.' });\n });\n if (definition.revision.kind === 'release' && definition.metadata.version !== definition.revision.recordVersion) context.addIssue({ code: 'custom', path: ['revision', 'recordVersion'], message: 'Release recordVersion must equal metadata.version.' });\n});\n\nexport type ConductorTaskType = z.infer<typeof ConductorTaskTypeSchema>;\nexport type ConductorWorkflowDefinition = z.infer<typeof ConductorWorkflowDefinitionSchema>;\nexport type WorkflowNode = z.infer<typeof WorkflowNodeSchema>;\nexport type WorkflowEdge = z.infer<typeof WorkflowEdgeSchema>;\nexport type WorkflowTrigger = z.infer<typeof WorkflowTriggerSchema>;\nexport type WorkflowDefinitionValidationIssue = z.infer<typeof WorkflowValidationIssueSchema>;\nexport type WorkflowOutputBinding = z.infer<typeof WorkflowOutputBindingSchema>;\nexport type WorkflowDefinition = z.infer<typeof WorkflowDefinitionSchema>;\n","export {\n ArtifactManifestSchema,\n OutputRecordSchema,\n StorageLocatorSchema,\n} from '../contracts/artifact';\nexport {\n CapabilityRegistryDocumentSchema,\n CapabilityRegistryEntrySchema,\n CapabilityRegistrySourceSchema,\n CapabilitySourceTypeSchema,\n CapabilityManifestSchema,\n ContractPortSchema,\n} from '../contracts/capability';\nexport {\n ContractMetadataSchema,\n EntityRefSchema,\n JsonObjectSchema,\n JsonValueSchema,\n} from '../contracts/common';\nexport {\n AgentRuntimeEventSchema,\n CompletionEventSchema,\n CompletionHeaderSchema,\n ExecutionLinkSchema,\n RequestScopeSchema,\n} from '../contracts/context';\nexport {\n ApplicationRunSchema,\n BodyRelationRecordSchema,\n DataContinuityEnvelopeSchema,\n ExpiringAccessGrantSchema,\n} from '../contracts/continuity';\nexport {\n DomainEventSchema,\n LineageRecordSchema,\n OntologyDefinitionSchema,\n ProjectionSpecSchema,\n SourceRecordRefSchema,\n} from '../contracts/data';\nexport {\n PageDefinitionSchema,\n PageGuardProjectionSchema,\n PageNavigationProjectionSchema,\n PageRendererProjectionSchema,\n PageRouteProjectionSchema,\n PageRuntimeDescriptorSchema,\n PageRuntimeProjectionSchema,\n PageTypeSchema,\n PageVisibilitySchema,\n} from '../contracts/page';\nexport {\n ApplicationHandoffEndpointSchema,\n ApplicationHandoffSchema,\n OverlayNodeSchema,\n OverlayZIndexLaneSchema,\n ProductContextSchema,\n RenderActivationSchema,\n RenderLifecycleSchema,\n RenderLayoutSchema,\n RenderNodeKindSchema,\n RenderNodeSchema,\n RenderNodeStateSchema,\n RenderResponsiveRuleSchema,\n RenderScrollSchema,\n RenderSurfaceSchema,\n RenderTreeSchema,\n ViewProviderDescriptorSchema,\n} from '../contracts/render';\nexport {\n ChangeImpactGraphSchema,\n ConceptDefinitionSchema,\n DomainCommandDefinitionSchema,\n DomainCommandSchema,\n ProductDeclarationSchema,\n} from '../contracts/semantic';\nexport {\n TenantApplicationConfigSchema,\n TenantProductConfigSchema,\n TenantRuntimeConfigSchema,\n TenantWorkbenchConfigSchema,\n TenantWorkbenchPageContextSchema,\n TenantWorkbenchPageEnvelopeSchema,\n TenantWorkbenchPageGroupSchema,\n} from '../contracts/tenant';\nexport {\n ResolvedThemeTokensSchema,\n ThemeTokenGroupSchema,\n ThemeTokenTypeSchema,\n ThemeTokenSchema,\n ThemeTokensSchema,\n} from '../contracts/theme';\nexport {\n BrandGeneticsProfileSchema,\n BrandBodySchema,\n HotwordBodySchema,\n ProductBodySchema,\n RadarActionRecordSchema,\n RadarAnalysisRunSchema,\n RadarDecisionMetricsSchema,\n RadarOpportunityMatrixSchema,\n RadarOpportunityMatrixPointSchema,\n RadarPanoramaEdgeSchema,\n RadarPanoramaNodeSchema,\n RadarPanoramaSchema,\n RadarQueryBodySchema,\n RadarScoreModelBodySchema,\n RadarScoreProjectionSchema,\n RadarSelectionSchema,\n RadarWritebackRecordSchema,\n SavedRadarQuerySchema,\n TrendIngestRunSchema,\n TrendMetricSnapshotSchema,\n TrendSourceSchema,\n TrendSourceRecordSchema,\n} from '../contracts/trend';\nexport {\n ConductorTaskDefinitionSchema,\n ConductorTaskTypeSchema,\n ConductorWorkflowDefinitionSchema,\n WorkflowDefinitionSchema,\n WorkflowEdgeSchema,\n WorkflowNodeSchema,\n WorkflowOutputBindingSchema,\n WorkflowParameterSchema,\n WorkflowParameterTypeSchema,\n WorkflowTriggerSchema,\n WorkflowValidationIssueSchema,\n} from '../contracts/workflow-definition';\n\nimport { ArtifactManifestSchema, OutputRecordSchema } from '../contracts/artifact';\nimport { CapabilityManifestSchema, CapabilityRegistryDocumentSchema } from '../contracts/capability';\nimport {\n AgentRuntimeEventSchema,\n CompletionEventSchema,\n CompletionHeaderSchema,\n ExecutionLinkSchema,\n RequestScopeSchema,\n} from '../contracts/context';\nimport {\n ApplicationRunSchema,\n BodyRelationRecordSchema,\n DataContinuityEnvelopeSchema,\n ExpiringAccessGrantSchema,\n} from '../contracts/continuity';\nimport {\n DomainEventSchema,\n LineageRecordSchema,\n OntologyDefinitionSchema,\n ProjectionSpecSchema,\n} from '../contracts/data';\nimport { PageDefinitionSchema, PageRuntimeDescriptorSchema, PageRuntimeProjectionSchema } from '../contracts/page';\nimport {\n ApplicationHandoffSchema,\n OverlayNodeSchema,\n RenderNodeSchema,\n RenderTreeSchema,\n ViewProviderDescriptorSchema,\n} from '../contracts/render';\nimport { TenantProductConfigSchema, TenantRuntimeConfigSchema } from '../contracts/tenant';\nimport {\n ChangeImpactGraphSchema,\n ConceptDefinitionSchema,\n DomainCommandDefinitionSchema,\n DomainCommandSchema,\n ProductDeclarationSchema,\n} from '../contracts/semantic';\nimport { ThemeTokensSchema } from '../contracts/theme';\nimport {\n BrandGeneticsProfileSchema,\n BrandBodySchema,\n HotwordBodySchema,\n ProductBodySchema,\n RadarActionRecordSchema,\n RadarAnalysisRunSchema,\n RadarOpportunityMatrixSchema,\n RadarPanoramaSchema,\n RadarQueryBodySchema,\n RadarScoreModelBodySchema,\n RadarScoreProjectionSchema,\n RadarSelectionSchema,\n RadarWritebackRecordSchema,\n SavedRadarQuerySchema,\n TrendIngestRunSchema,\n TrendMetricSnapshotSchema,\n TrendSourceRecordSchema,\n} from '../contracts/trend';\nimport { ConductorWorkflowDefinitionSchema, WorkflowDefinitionSchema } from '../contracts/workflow-definition';\n\nexport const canonicalContractSchemas = {\n 'agent-runtime-event': AgentRuntimeEventSchema,\n 'application-run': ApplicationRunSchema,\n 'application-handoff': ApplicationHandoffSchema,\n 'artifact-manifest': ArtifactManifestSchema,\n 'brand-body': BrandBodySchema,\n 'body-relation-record': BodyRelationRecordSchema,\n 'brand-genetics-profile': BrandGeneticsProfileSchema,\n 'capability-manifest': CapabilityManifestSchema,\n 'capability-registry': CapabilityRegistryDocumentSchema,\n 'change-impact-graph': ChangeImpactGraphSchema,\n 'concept-definition': ConceptDefinitionSchema,\n 'completion-event': CompletionEventSchema,\n 'completion-header': CompletionHeaderSchema,\n 'conductor-workflow-definition': ConductorWorkflowDefinitionSchema,\n 'domain-event': DomainEventSchema,\n 'domain-command': DomainCommandSchema,\n 'domain-command-definition': DomainCommandDefinitionSchema,\n 'data-continuity-envelope': DataContinuityEnvelopeSchema,\n 'execution-link': ExecutionLinkSchema,\n 'expiring-access-grant': ExpiringAccessGrantSchema,\n 'hotword-body': HotwordBodySchema,\n 'lineage-record': LineageRecordSchema,\n 'ontology-definition': OntologyDefinitionSchema,\n 'overlay-node': OverlayNodeSchema,\n 'output-record': OutputRecordSchema,\n 'page-definition': PageDefinitionSchema,\n 'page-runtime-descriptor': PageRuntimeDescriptorSchema,\n 'page-runtime-projection': PageRuntimeProjectionSchema,\n 'projection-spec': ProjectionSpecSchema,\n 'product-declaration': ProductDeclarationSchema,\n 'product-body': ProductBodySchema,\n 'radar-action-record': RadarActionRecordSchema,\n 'radar-analysis-run': RadarAnalysisRunSchema,\n 'radar-opportunity-matrix': RadarOpportunityMatrixSchema,\n 'radar-panorama': RadarPanoramaSchema,\n 'radar-query-body': RadarQueryBodySchema,\n 'radar-score-model-body': RadarScoreModelBodySchema,\n 'radar-score-projection': RadarScoreProjectionSchema,\n 'radar-selection': RadarSelectionSchema,\n 'radar-writeback-record': RadarWritebackRecordSchema,\n 'request-scope': RequestScopeSchema,\n 'render-node': RenderNodeSchema,\n 'render-tree': RenderTreeSchema,\n 'saved-radar-query': SavedRadarQuerySchema,\n 'tenant-product-config': TenantProductConfigSchema,\n 'tenant-runtime-config': TenantRuntimeConfigSchema,\n 'theme-tokens': ThemeTokensSchema,\n 'trend-ingest-run': TrendIngestRunSchema,\n 'trend-metric-snapshot': TrendMetricSnapshotSchema,\n 'trend-source-record': TrendSourceRecordSchema,\n 'view-provider-descriptor': ViewProviderDescriptorSchema,\n 'workflow-definition': WorkflowDefinitionSchema,\n} as const;\n\nexport type CanonicalContractSchemaName = keyof typeof canonicalContractSchemas;\n"],"mappings":"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","names":["z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","z","result","value","z","z","z","z","z","z"]}
|