@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"],"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"],"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"]}
|