@supernova-studio/model 1.60.1 → 1.60.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/dist/index.d.mts +10 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/backend/backend/packages/model/dist/index.js","../src/asset-delete-schedule/asset-delete-schedule.ts","../src/auth/plugin-oauth-request.ts","../src/auth/request.ts","../src/auth/session.ts","../src/billing/card.ts","../src/billing/customer.ts","../src/helpers/db.ts","../src/helpers/nullish-to-optional.ts","../src/billing/features.ts","../src/billing/invoice.ts","../src/billing/portalSession.ts","../src/billing/price.ts","../src/billing/product.ts","../src/billing/subscription.ts","../src/chat-threads/chat-message.ts","../src/chat-threads/chat-thread.ts","../src/common/entity.ts","../src/common/object-meta.ts","../src/custom-domains/custom-domains.ts","../src/data-dumps/code-integration-dump.ts","../src/export/exporter.ts","../src/export/git-providers.ts","../src/export/pulsar.ts","../src/export/export-configuration.ts","../src/export/pipeline.ts","../src/export/export-destinations.ts","../src/dsm/assets/asset-dynamo-record.ts","../src/dsm/assets/asset-reference.ts","../src/dsm/assets/asset-value.ts","../src/dsm/assets/asset.ts","../src/dsm/code-components/code-component.ts","../src/dsm/components/asset-rendering.ts","../src/dsm/import/support/figma-files.ts","../src/dsm/import/support/import-context.ts","../src/dsm/data-sources/data-source.ts","../src/dsm/import/warning.ts","../src/dsm/data-sources/enums.ts","../src/dsm/data-sources/import-summary.ts","../src/dsm/elements/data/base.ts","../src/dsm/elements/data/blur.ts","../src/dsm/elements/data/dimension.ts","../src/dsm/elements/data/border-radius.ts","../src/dsm/elements/data/border-width.ts","../src/dsm/elements/data/border.ts","../src/dsm/elements/data/color.ts","../src/dsm/elements/data/opacity.ts","../src/dsm/elements/data/component.ts","../src/dsm/elements/component-properties.ts","../src/dsm/elements/data/documentation-block-v1.ts","../src/utils/errors.ts","../src/utils/common.ts","../src/utils/content-loader-instruction.ts","../src/utils/interop-pulsar-error.ts","../src/utils/naming.ts","../src/utils/short-persistent-id.ts","../src/utils/slugify.ts","../src/utils/validation.ts","../src/dsm/properties/property-definition.ts","../src/dsm/properties/property-value.ts","../src/dsm/elements/primitives/point.ts","../src/dsm/elements/primitives/size.ts","../src/dsm/elements/raw-element.ts","../src/dsm/elements/data/documentation-block-v2.ts","../src/dsm/documentation/block-definitions/item.ts","../src/dsm/documentation/block-definitions/aux.ts","../src/dsm/documentation/block-definitions/variant.ts","../src/dsm/elements/data/documentation-page-v1.ts","../src/dsm/elements/data/documentation-v1.ts","../src/dsm/elements/data/item-header-v1.ts","../src/dsm/elements/data/item-header.ts","../src/dsm/elements/data/documentation-page-v2.ts","../src/dsm/elements/data/documentation-v2.ts","../src/dsm/elements/data/item-header-v2.ts","../src/dsm/elements/data/documentation-section-v2.ts","../src/dsm/elements/page-block-v2.ts","../src/dsm/elements/base.ts","../src/dsm/elements/data/duration.ts","../src/dsm/elements/data/figma-file-structure.ts","../src/dsm/elements/data/figma-node-reference.ts","../src/dsm/elements/data/font-family.ts","../src/dsm/elements/data/font-size.ts","../src/dsm/elements/data/font-weight.ts","../src/dsm/elements/data/font.ts","../src/dsm/elements/data/gradient.ts","../src/dsm/elements/data/group.ts","../src/dsm/elements/data/letter-spacing.ts","../src/dsm/elements/data/line-height.ts","../src/dsm/elements/data/paragraph-indent.ts","../src/dsm/elements/data/paragraph-spacing.ts","../src/dsm/elements/data/product-copy.ts","../src/dsm/elements/data/safe-id.ts","../src/dsm/elements/data/shadow.ts","../src/dsm/elements/data/size.ts","../src/dsm/elements/data/space.ts","../src/dsm/elements/data/string.ts","../src/dsm/elements/data/text-case.ts","../src/dsm/elements/data/text-decoration.ts","../src/dsm/elements/data/typography.ts","../src/dsm/elements/data/visibility.ts","../src/dsm/elements/data/z-index.ts","../src/dsm/elements/documentation-page-v1.ts","../src/dsm/elements/group.ts","../src/dsm/elements/documentation-page-v2.ts","../src/dsm/elements/figma-component.ts","../src/dsm/elements/figma-file-structures.ts","../src/dsm/elements/figma-node-reference.ts","../src/dsm/elements/theme.ts","../src/dsm/elements/tokens.ts","../src/dsm/elements/utils.ts","../src/dsm/data-sources/figma.ts","../src/dsm/data-sources/import-job.ts","../src/dsm/import/support/import-model-collections.ts","../src/dsm/import/collection.ts","../src/dsm/collection.ts","../src/dsm/import/component.ts","../src/dsm/import/base.ts","../src/dsm/import/image.ts","../src/dsm/import/data-source.ts","../src/dsm/import/figma-frames.ts","../src/dsm/import/theme.ts","../src/dsm/import/tokens.ts","../src/dsm/documentation/approvals/approval-state.ts","../src/dsm/documentation/approvals/approval.ts","../src/dsm/documentation/block-definitions/definition.ts","../src/dsm/documentation/group.ts","../src/dsm/documentation/link-preview.ts","../src/dsm/documentation/page-anchor.ts","../src/dsm/documentation/page-content-backup.ts","../src/dsm/documentation/page-content.ts","../src/dsm/documentation/page-dependencies.ts","../src/dsm/documentation/page.ts","../src/dsm/documentation/redirects.ts","../src/dsm/documentation/settings.ts","../src/dsm/documentation/thread.ts","../src/dsm/element-snapshots/base.ts","../src/dsm/element-snapshots/documentation-page-snapshot.ts","../src/dsm/element-snapshots/group-snapshot.ts","../src/dsm/figma-exporter/figma-exporter.ts","../src/dsm/figma-node-renderer/renderer-payload.ts","../src/dsm/figma-node-structures/structure-data.ts","../src/dsm/figma-node-structures/structure.ts","../src/dsm/membership/design-system-membership.ts","../src/workspace/npm-registry-settings.ts","../src/workspace/sso-provider.ts","../src/workspace/untyped-data.ts","../src/workspace/user-invite.ts","../src/workspace/workspace-role.ts","../src/workspace/workspace-configuration.ts","../src/workspace/workspace.ts","../src/forge/agent.ts","../src/forge/artifact.ts","../src/forge/id.ts","../src/forge/iteration-message.ts","../src/forge/participant.ts","../src/users/linked-integrations.ts","../src/users/user-analytics-cleanup-schedule.ts","../src/users/user-identity.ts","../src/users/user-minified.ts","../src/users/user-notification-settings.ts","../src/users/user-profile.ts","../src/users/user-test.ts","../src/users/user.ts","../src/forge/project-artifact-content.ts","../src/forge/project-artifact.ts","../src/files/files.ts","../src/forge/project-section.ts","../src/forge/project-feature.ts","../src/forge/project-figma-node.ts","../src/forge/project-file.ts","../src/forge/project-invitation.ts","../src/forge/project-membership.ts","../src/forge/project-iteration.ts","../src/forge/project.ts","../src/forge/relation.ts","../src/workspace/workspace-context.ts","../src/workspace/workspace-create.ts","../src/workspace/workspace-invitations.ts","../src/workspace/workspace-membership.ts","../src/dsm/membership/ds-role.ts","../src/dsm/membership/invitations.ts","../src/dsm/views/column.ts","../src/dsm/views/view.ts","../src/dsm/brand.ts","../src/dsm/design-system.ts","../src/dsm/exporter-property-values-collection.ts","../src/dsm/published-doc-page-visits.ts","../src/dsm/published-doc-page.ts","../src/dsm/published-doc.ts","../src/dsm/storybook-entry.ts","../src/dsm/storybook-payload.ts","../src/dsm/version.ts","../src/data-dumps/design-system-dump.ts","../src/data-dumps/design-system-version-dump.ts","../src/liveblocks/rooms/design-system-version-room.ts","../src/liveblocks/rooms/documentation-page-room.ts","../src/liveblocks/rooms/forge-feature-room.ts","../src/liveblocks/rooms/forge-project-artifact-room.ts","../src/liveblocks/rooms/forge-project-room.ts","../src/liveblocks/rooms/room-type.ts","../src/liveblocks/rooms/workspace-room.ts","../src/data-dumps/published-docs-dump.ts","../src/data-dumps/user-data-dump.ts","../src/data-dumps/workspace-dump.ts","../src/integrations/integration.ts","../src/docs-server/session.ts","../src/emails/design-system-invite.ts","../src/emails/workspace-invite.ts","../src/events/base.ts","../src/events/data-source-imported.ts","../src/events/version-released.ts","../src/events/documentation-published.ts","../src/export/export-runner/export-context.ts","../src/export/export-runner/exporter-payload.ts","../src/export/export-jobs.ts","../src/export/exporter-list-query.ts","../src/export/exporter-workspace-membership-role.ts","../src/export/exporter-workspace-membership.ts","../src/feature-flags/feature-flags.ts","../src/integrations/external-oauth-request.ts","../src/integrations/oauth-providers.ts","../src/integrations/git.ts","../src/integrations/oauth-token.ts","../src/integrations/workspace-oauth-requests.ts","../src/npm/npm-package.ts","../src/npm/npm-proxy-token-payload.ts","../src/page-screenshot/page-screenshot.ts","../src/portal/portal-settings.ts","../src/sentry/headers.ts","../src/tokens/personal-access-token.ts"],"names":["z","GitProviderNames","rest","recursiveFigmaFileStructureToMap","RoomTypeEnum","OAuthProviderNames"],"mappings":"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;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;AAEmC;AAEC;AAEJ;AACa;AACT,EAAA;AACpC;AxDysCoC;AACA;AyDl0DX;AzDo0DW;AACA;A0Dx0DlB;AAIyB;AACA;AACF;AACGA;AAEpB;AAEc;AACpB,EAAA;AACjB;AAEY;AACE,EAAA;AACE,EAAA;AACE,EAAA;AAClB;AAE0C;AAC5B,EAAA;AACmB,EAAA;AACT,EAAA;AACR,EAAA;AACY,EAAA;AACL,EAAA;AAChB,EAAA;AACa,EAAA;AACF,EAAA;AACA,EAAA;AAClB;AAGkC;A1Di0DC;AACA;A2Dr2DlB;AAIoB;AACvB,EAAA;AACmB,EAAA;AACH,EAAA;AACH,EAAA;AACM,EAAA;AACA,EAAA;AACN,EAAA;AACC,EAAA;AACK,EAAA;AACjC;A3Do2DmC;AACA;A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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/backend/backend/packages/model/dist/index.js","sourcesContent":[null,"import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nconst AssetDeleteScheduleStatus = z.enum([\"InProgress\", \"Pending\"]);\nexport type AssetDeleteScheduleStatus = z.infer<typeof AssetDeleteScheduleStatus>;\n\n\nexport const AssetDeleteSchedule = z.object({\n id: z.string(),\n path: z.string(),\n createdAt: z.date(),\n deleteAt: z.date(),\n isFolder: z.boolean(),\n status: AssetDeleteScheduleStatus,\n});\n\nexport type AssetDeleteSchedule = z.infer<typeof AssetDeleteSchedule>;\n\nexport type AssetDeleteScheduleDbInput = DbCreateInputOmit<AssetDeleteSchedule>;\n\n","import { z } from \"zod\";\n\nexport const PluginOAuthRequestSchema = z.object({\n id: z.string(),\n codeChallenge: z.string(),\n readKey: z.string(),\n writeKey: z.string(),\n readKeyConsumed: z.boolean(),\n writeKeyConsumed: z.boolean(),\n oAuthCode: z.string().optional(),\n createdAt: z.coerce.date(),\n});\n\nexport type PluginOAuthRequest = z.infer<typeof PluginOAuthRequestSchema>;\n","import { z } from \"zod\";\n\nexport const AuthV2Request = z.object({\n state: z.string(),\n codeChallenge: z.string(),\n codeChallengeMethod: z.string(),\n redirectUri: z.string(),\n sessionId: z.string(),\n code: z.string().optional(),\n codeVerifier: z.string().optional(),\n});\n\nexport type AuthV2Request = z.infer<typeof AuthV2Request>;\n","import { z } from \"zod\";\n\nexport const AuthV2Session = z.object({\n id: z.string(),\n refreshToken: z.string(),\n expiresAt: z.coerce.date(),\n createdAt: z.coerce.date(),\n userId: z.string().optional(),\n});\n\nexport type AuthV2Session = z.infer<typeof AuthV2Session>;\n","import { z } from \"zod\";\n\nexport const CardSchema = z.object({\n cardId: z.string().nullish(),\n last4: z.string().length(4).nullish(),\n expiryMonth: z.string().nullish(),\n expiryYear: z.string().nullish(),\n brand: z.string().nullish(),\n name: z.string().nullish(),\n});\n\nexport type Card = z.infer<typeof CardSchema>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const Customer = z.object({\n id: z.string(),\n});\n\nexport const Address = z.object({\n street1: nullishToOptional(z.string()),\n street2: nullishToOptional(z.string()),\n city: nullishToOptional(z.string()),\n postal: nullishToOptional(z.string()),\n country: nullishToOptional(z.string()),\n state: nullishToOptional(z.string()),\n});\n\nexport const BillingDetails = z.object({\n address: nullishToOptional(Address),\n email: nullishToOptional(z.string()),\n companyName: nullishToOptional(z.string()),\n companyId: nullishToOptional(z.string()),\n notes: nullishToOptional(z.string()),\n vat: nullishToOptional(z.string()),\n poNumber: nullishToOptional(z.string()),\n});\n\nexport type Customer = z.infer<typeof Customer>;\nexport type Address = z.infer<typeof Address>;\nexport type BillingDetails = z.infer<typeof BillingDetails>;\n","import { OptionalToNullable } from \"../utils\";\n\nexport type DbCreateInputOmit<T> = Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">;\n\nexport type DbUpdateInputOmit<T> = Omit<T, \"createdAt\" | \"updatedAt\" | \"persistentId\">;\n\nexport type DbUpdate<T extends { id: string }> = Partial<OptionalToNullable<DbUpdateInputOmit<Omit<T, \"id\">>>> &\n Pick<T, \"id\">;\n\nexport function zodCreateInputOmit() {\n return {\n id: true,\n createdAt: true,\n updatedAt: true,\n } as const;\n}\n\nexport function zodUpdateInputOmit() {\n return {\n id: true,\n createdAt: true,\n updatedAt: true,\n persistentId: true,\n } as const;\n}\n","import { ZodType, ZodTypeDef } from \"zod\";\n\n/**\n * Allows both null and undefined as input values in addition to the actual value,\n * but coerces them both to undefined.\n */\nexport function nullishToOptional<I, O>(type: ZodType<I, ZodTypeDef, O>) {\n return type.nullish().transform(t => t ?? undefined);\n}\n\n/**\n * Converts null values to undefined only for properties that can actually be null.\n * Preserves exact types for all other properties.\n */\nexport type NullToUndefined<T> = {\n [K in keyof T]: null extends T[K] ? (T[K] extends null ? undefined : Exclude<T[K], null> | undefined) : T[K];\n};\n\nexport const nullsToUndefined = <T extends object>(obj: T): NullToUndefined<T> => {\n const result = {} as any;\n for (const [key, value] of Object.entries(obj)) {\n result[key] = value === null ? undefined : value;\n }\n return result;\n};\n","import { z } from \"zod\";\n\nconst featureLimitedSchema = z.object({\n max: z.number().optional(),\n errorMessage: z.string(),\n errorReason: z.string(),\n});\n\nconst featureToggleSchema = z.object({\n enabled: z.boolean(),\n errorMessage: z.string(),\n errorReason: z.string(),\n});\n\nconst featureWithImportJobsSchema = featureLimitedSchema.extend({\n noImportJobsErrorMessage: z.string(),\n noImportJobsErrorReason: z.string(),\n});\n\nexport const FeaturesSummary = z.object({\n designSystems: featureLimitedSchema,\n designSystemSources: featureWithImportJobsSchema,\n designSystemVersions: featureLimitedSchema,\n themes: featureLimitedSchema,\n brands: featureLimitedSchema,\n codegenSchedules: featureLimitedSchema,\n publicDocumentation: featureToggleSchema,\n customDocumentationUrl: featureToggleSchema,\n customDocumentationViewButton: featureToggleSchema,\n designSystemSourceAutoImport: featureToggleSchema,\n designSystemSlug: featureToggleSchema,\n ipWhitelisting: featureToggleSchema,\n npmRegistry: featureToggleSchema,\n sso: featureToggleSchema,\n workspacePaidSeats: featureLimitedSchema,\n workspaceViewers: featureLimitedSchema,\n customDocumentationExporter: featureToggleSchema,\n protectedPages: featureToggleSchema,\n approvals: featureToggleSchema,\n selectivePublishing: featureToggleSchema,\n designSystemAccessModes: featureToggleSchema,\n designSystemRoles: featureToggleSchema,\n documentationPageRedirects: featureToggleSchema,\n analytics: featureLimitedSchema,\n designSystemFileSize: featureLimitedSchema,\n forgeActiveProjects: featureLimitedSchema,\n forgeProjectFileSize: featureLimitedSchema,\n forgeActiveFeaturesPerProject: featureLimitedSchema,\n forgeActiveDocumentsPerProject: featureLimitedSchema,\n forgePrivateProjects: featureToggleSchema,\n forgeActiveProjectContexts: featureLimitedSchema,\n documentationPages: featureLimitedSchema,\n\n sandboxTemplates: featureToggleSchema,\n});\n\nexport type FeatureLimitedDetails = z.infer<typeof featureLimitedSchema>;\nexport type FeatureToggleDetails = z.infer<typeof featureToggleSchema>;\nexport type FeatureWithImportJobsDetails = z.infer<typeof featureWithImportJobsSchema>;\nexport type FeaturesSummary = z.infer<typeof FeaturesSummary>;\n","import { z } from \"zod\";\nimport { CardSchema } from \"./card\";\n\nexport const InvoiceSchema = z.object({\n id: z.string(),\n number: z.string(),\n amount_due: z.number(),\n date: z.coerce.date(),\n hostedUrl: z.string().url(),\n card: CardSchema.nullish(),\n});\n\nexport const PeriodSchema = z.object({\n start: z.coerce.date(),\n end: z.coerce.date(),\n});\n\nexport const InvoiceLineSchema = z.object({\n amount: z.number(),\n period: PeriodSchema,\n proration: z.boolean(),\n description: z.string(),\n type: z.string(),\n});\n\nexport const InvoiceCouponSchema = z.object({\n amount_off: z.number(),\n percent_off: z.number(),\n name: z.string(),\n});\n\nexport type Invoice = z.infer<typeof InvoiceSchema>;\nexport type InvoiceLine = z.infer<typeof InvoiceLineSchema>;\nexport type InvoiceCoupon = z.infer<typeof InvoiceCouponSchema>;\n","import { z } from \"zod\";\n\nexport const PostStripePortalUpdateSessionBodyInputSchema = z.object({\n priceId: z.string(),\n numberOfSeats: z.number().int(),\n});\nexport const PostStripePortalSessionBodyInputSchema = z.object({\n returnUrl: z.string().url(),\n update: PostStripePortalUpdateSessionBodyInputSchema.optional(),\n cancel: z.boolean().optional(),\n});\n\nexport const PostStripePortalSessionOutputSchema = z.object({\n id: z.string(),\n url: z.string().nullish(),\n});\n\nexport type StripePortalSessionInput = z.infer<typeof PostStripePortalSessionBodyInputSchema>;\nexport type StripePortalSessionOutput = z.infer<typeof PostStripePortalSessionOutputSchema>;\n","import { z } from \"zod\";\n\nexport const BillingIntervalSchema = z.enum([\"daily\", \"monthly\", \"yearly\"]);\n\nexport const PriceSchema = z.object({\n stripePriceId: z.string(),\n stripeProductId: z.string(),\n stripeProductName: z.string().optional(),\n stripeProductDescription: z.string().optional(),\n active: z.boolean(),\n amount: z.number(),\n interval: BillingIntervalSchema,\n isPricePerCreator: z.boolean().optional(),\n isTrial: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n minimumSeats: z.number().optional(),\n legacyVersion: z.string().optional(),\n featuresSet: z.string().optional(),\n stripeProductFeatures: z.array(z.string()).optional(),\n stripeProductAdditionalFeatures: z.array(z.string()).optional(),\n seatType: z.enum([\"Full\", \"Builder\"]).optional(),\n monthlyCreditGrant: z.number().optional(),\n});\n\nexport type BillingInterval = z.infer<typeof BillingIntervalSchema>;\nexport type Price = z.infer<typeof PriceSchema>;\n","import { z } from \"zod\";\n\nexport const ProductCodeSchema = z.enum([\"free\", \"team\", \"company\", \"enterprise\", \"pro\"]);\nexport type ProductCode = z.infer<typeof ProductCodeSchema>;\nexport const ProductCode = ProductCodeSchema.enum;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\nimport { CardSchema } from \"./card\";\nimport { BillingIntervalSchema } from \"./price\";\nimport { ProductCodeSchema } from \"./product\";\n\nexport const StripeSubscriptionStatusSchema = z.enum([\n \"trialing\",\n \"active\",\n \"past_due\",\n \"canceled\",\n \"unpaid\",\n \"incomplete_expired\",\n \"incomplete\",\n \"unknown\",\n]);\n\nexport const InternalStatusSchema = z.enum([\"active\", \"suspended\", \"gracePeriod\", \"cancelled\", \"downgraded_to_free\"]);\n\nexport const BillingTypeSchema = z.enum([\"Auto\", \"Invoice\"]);\n\nexport type StripeSubscriptionStatus = z.infer<typeof StripeSubscriptionStatusSchema>;\nexport type InternalStatus = z.infer<typeof InternalStatusSchema>;\nexport type BillingType = z.infer<typeof BillingTypeSchema>;\n\nexport const StripeSubscriptionStatus = StripeSubscriptionStatusSchema.enum;\nexport const InternalStatus = InternalStatusSchema.enum;\nexport const BillingType = BillingTypeSchema.enum;\n\nexport const Subscription = z.object({\n card: nullishToOptional(CardSchema),\n\n seats: z.number(),\n seatLimit: z.number(),\n\n monthlyCreditGrantAnchor: nullishToOptional(z.string()),\n monthlyCreditGrantAmount: nullishToOptional(z.number()),\n\n builderSeatLimit: nullishToOptional(z.number()),\n fullSeatLimit: nullishToOptional(z.number()),\n additionalCredits: nullishToOptional(z.number()),\n\n builderSeats: nullishToOptional(z.number()),\n fullSeats: nullishToOptional(z.number()),\n\n status: nullishToOptional(InternalStatusSchema),\n subscriptionStatus: nullishToOptional(StripeSubscriptionStatusSchema),\n internalStatus: nullishToOptional(InternalStatusSchema),\n\n stripeSubscriptionId: nullishToOptional(z.string()),\n stripeCustomerId: nullishToOptional(z.string()),\n stripeScheduleId: nullishToOptional(z.string()),\n\n product: ProductCodeSchema,\n planPriceId: z.string(),\n planInterval: BillingIntervalSchema,\n\n currentPeriodStart: nullishToOptional(z.string()),\n currentPeriodEnd: nullishToOptional(z.string()),\n cancelAt: nullishToOptional(z.string()),\n\n fullSeatPriceId: nullishToOptional(z.string()),\n builderSeatPriceId: nullishToOptional(z.string()),\n additionalCreditsPriceId: nullishToOptional(z.string()),\n\n subscriptionStatusUpdatedAt: nullishToOptional(z.string()),\n});\n\nexport type Subscription = z.infer<typeof Subscription>;\n","import { z } from \"zod\";\n\n/**\n * Base ChatMessage schema and ChatMessageSenderType enum\n * Used by message-related endpoints\n */\nexport const ForgeChatMessageSenderType = z.enum([\n \"User\",\n \"Agent\",\n \"Developer\",\n \"FunctionCallInput\",\n \"FunctionCallOutput\",\n]);\nexport type ForgeChatMessageSenderType = z.infer<typeof ForgeChatMessageSenderType>;\n\nexport const ForgeChatMessageSender = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.User), userId: z.string() }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.Agent), persona: z.literal(\"Amy\") }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.Developer) }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.FunctionCallInput) }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.FunctionCallOutput) }),\n]);\n\nexport const ForgeChatMessageUserScoreType = z.enum([\"Positive\", \"Negative\"]);\n\nexport const ForgeChatMessageUserScore = z.object({\n type: ForgeChatMessageUserScoreType,\n tags: z.string().array(),\n comment: z.string().optional(),\n});\n\nexport const ForgeChatMessage = z.object({\n id: z.string(),\n threadId: z.string(),\n payload: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n opikTraceId: z.string().optional(),\n sender: ForgeChatMessageSender,\n userScore: ForgeChatMessageUserScore.optional(),\n});\n\nexport type ForgeChatMessageSender = z.infer<typeof ForgeChatMessageSender>;\nexport type ForgeChatMessageUserScoreType = z.infer<typeof ForgeChatMessageUserScoreType>;\nexport type ForgeChatMessageUserScore = z.infer<typeof ForgeChatMessageUserScore>;\nexport type ForgeChatMessage = z.infer<typeof ForgeChatMessage>;\n","import { z } from \"zod\";\n\n/**\n * Base ChatThread schema used across multiple endpoints\n * Also used for DELETE /api/v1/workspaces/{wsId}/chat-threads/{threadId}\n * (DELETE endpoint returns { ok: boolean } but references this model)\n */\nexport const ForgeChatThread = z.object({\n id: z.string(),\n title: z.string(),\n workspaceId: z.string(),\n userId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type ForgeChatThread = z.infer<typeof ForgeChatThread>;\n","import { z } from \"zod\";\n\nexport const Entity = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type Entity = z.infer<typeof Entity>;\n","import { z } from \"zod\";\n\nexport const ObjectMeta = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\nexport type ObjectMeta = z.infer<typeof ObjectMeta>;\n","import { z } from \"zod\";\n\nexport type CustomDomainState =\n | \"Initial\"\n | \"DomainSetupInProgress\"\n | \"DomainSetupFailed\"\n | \"DomainSetupSuccess\"\n | \"SSLSetupInProgress\"\n | \"SSLSetupFailed\"\n | \"SSLSetupSuccess\";\n\nexport const CustomDomain = z.object({\n id: z.string(),\n designSystemId: z.string(),\n state: z.string(),\n\n supernovaDomain: z.string(),\n customerDomain: z.string().nullish(),\n\n error: z.string().nullish(),\n errorCode: z.string().nullish(),\n});\n\nexport type CustomDomain = z.infer<typeof CustomDomain>;\n","import { z } from \"zod\";\nimport { Exporter } from \"../export/exporter\";\nimport { Pipeline } from \"../export/pipeline\";\n\nexport const ExportJobDump = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n finishedAt: z.coerce.date(),\n exportArtefacts: z.string(),\n});\n\nexport const CodeIntegrationDump = z.object({\n exporters: Exporter.array(),\n pipelines: Pipeline.array(),\n exportJobs: ExportJobDump.array(),\n});\n\nexport type ExportJobDump = z.infer<typeof ExportJobDump>;\nexport type CodeIntegrationDump = z.infer<typeof CodeIntegrationDump>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\nimport { GitProvider } from \"./git-providers\";\nimport { PulsarContributionConfigurationProperty, PulsarContributionVariant, PulsarCustomBlock } from \"./pulsar\";\nimport { ExporterPropertyDefinition } from \"./export-configuration\";\n\nexport const ExporterType = z.enum([\"code\", \"documentation\"]);\nexport const ExporterSource = z.enum([\"git\", \"upload\"]);\nexport const ExporterTag = z.string();\n\nexport const ExporterPulsarDetails = z.object({\n description: z.string(),\n version: z.string(),\n routingVersion: nullishToOptional(z.string()),\n author: nullishToOptional(z.string()),\n organization: nullishToOptional(z.string()),\n homepage: nullishToOptional(z.string()),\n readme: nullishToOptional(z.string()),\n tags: nullishToOptional(z.array(ExporterTag)).default([]),\n packageId: nullishToOptional(z.string().max(255)),\n\n iconURL: nullishToOptional(z.string()),\n configurationProperties: nullishToOptional(z.array(PulsarContributionConfigurationProperty)).default([]),\n customBlocks: nullishToOptional(z.array(PulsarCustomBlock)).default([]),\n blockVariants: nullishToOptional(z.record(z.string(), z.array(PulsarContributionVariant))).default({}),\n properties: nullishToOptional(ExporterPropertyDefinition.array()),\n\n usesBrands: nullishToOptional(z.boolean()).default(false),\n usesThemes: nullishToOptional(z.boolean()).default(false),\n usesLocale: nullishToOptional(z.boolean()).default(false),\n});\n\nexport const ExporterDetails = ExporterPulsarDetails.extend({\n source: ExporterSource,\n\n gitProvider: nullishToOptional(GitProvider),\n gitUrl: nullishToOptional(z.string()),\n gitBranch: nullishToOptional(z.string()),\n gitDirectory: nullishToOptional(z.string()),\n});\n\nexport const Exporter = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n name: z.string(),\n isPrivate: z.boolean(),\n details: ExporterDetails,\n exporterType: nullishToOptional(ExporterType).default(\"code\"),\n storagePath: nullishToOptional(z.string()).default(\"\"),\n properties: nullishToOptional(ExporterPropertyDefinition.array()),\n isDeprecated: z.boolean().default(false),\n deprecationNote: nullishToOptional(z.string()),\n replacementExporterId: nullishToOptional(z.string()),\n});\n\nexport type ExporterType = z.infer<typeof ExporterType>;\nexport type ExporterSource = z.infer<typeof ExporterSource>;\nexport type ExporterTag = z.infer<typeof ExporterTag>;\nexport type ExporterPulsarDetails = z.infer<typeof ExporterPulsarDetails>;\nexport type ExporterDetails = z.infer<typeof ExporterDetails>;\nexport type Exporter = z.infer<typeof Exporter>;\n","import { z } from \"zod\";\n\nexport enum GitProviderNames {\n Azure = \"azure\",\n Github = \"github\",\n Gitlab = \"gitlab\",\n Bitbucket = \"bitbucket\",\n}\n\nexport const GitProvider = z.nativeEnum(GitProviderNames);\nexport type GitProvider = z.infer<typeof GitProvider>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\n//\n// Base\n//\n\nexport const PulsarPropertyType = z.enum([\n \"string\",\n \"number\",\n \"boolean\",\n \"image\",\n \"enum\",\n \"color\",\n \"typography\",\n \"component\",\n \"componentProperties\",\n \"tokenProperties\",\n \"tokenType\",\n]);\n\nexport const PulsarBaseProperty = z.object({\n label: z.string(),\n key: z.string(),\n description: z.string().nullish(),\n type: PulsarPropertyType,\n values: z.array(z.string()).nullish(),\n default: z.union([z.string(), z.boolean(), z.number()]).nullish(), // PulsarPropertyValueType //is optional?\n inputType: z.enum([\"code\", \"plain\"]).optional(), //is optional?\n isMultiline: z.boolean().nullish(),\n});\n\n//\n// Exporter custom properties\n//\n\nexport const PulsarContributionConfigurationProperty = PulsarBaseProperty.extend({\n category: z.string(),\n});\n\n//\n// Exporter custom blocks\n//\n\nexport const PulsarContributionVariant = z.object({\n key: z.string(),\n name: z.string(),\n isDefault: nullishToOptional(z.boolean()),\n description: nullishToOptional(z.string()),\n thumbnailURL: nullishToOptional(z.string()),\n});\n\nexport const PulsarCustomBlock = z.object({\n title: nullishToOptional(z.string()),\n key: z.string(),\n category: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n iconURL: nullishToOptional(z.string()),\n mode: nullishToOptional(z.enum([\"array\", \"block\"])),\n properties: nullishToOptional(z.array(PulsarBaseProperty)).transform(v => v ?? []),\n});\n\n//\n// Types\n//\n\nexport type PulsarContributionVariant = z.infer<typeof PulsarContributionVariant>;\nexport type PulsarPropertyType = z.infer<typeof PulsarPropertyType>;\nexport type PulsarBaseProperty = z.infer<typeof PulsarBaseProperty>;\nexport type PulsarCustomBlock = z.infer<typeof PulsarCustomBlock>;\nexport type PulsarContributionConfigurationProperty = z.infer<typeof PulsarContributionConfigurationProperty>;\n","import { z } from \"zod\";\n\n//\n// Primitives\n//\n\nconst PrimitiveValue = z.number().or(z.boolean()).or(z.string());\nconst ArrayValue = z.array(z.string());\nconst ObjectValue = z.record(z.string());\n\nexport const ExporterPropertyValue = PrimitiveValue.or(ArrayValue).or(ObjectValue);\nexport const ExporterPropertyType = z.enum([\"Enum\", \"Boolean\", \"String\", \"Number\", \"Array\", \"Object\", \"Code\"]);\n\nexport type ExporterPropertyDefinitionValue = z.infer<typeof ExporterPropertyValue>;\nexport type ExporterPropertyType = z.infer<typeof ExporterPropertyType>;\n\n//\n// Property\n//\n\nconst PropertyDefinitionBase = z.object({\n key: z.string(),\n title: z.string(),\n description: z.string(),\n category: z.string().optional(),\n dependsOn: z.record(z.boolean()).optional(),\n});\n\nexport const ExporterPropertyDefinitionEnumOption = z.object({\n label: z.string(),\n description: z.string(),\n});\n\nexport const ExporterPropertyDefinitionEnum = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Enum),\n options: z.record(ExporterPropertyDefinitionEnumOption),\n default: z.string(),\n});\n\nexport const ExporterPropertyDefinitionBoolean = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Boolean),\n default: z.boolean(),\n});\n\nexport const ExporterPropertyDefinitionString = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.String),\n default: z.string(),\n isMultiline: z.boolean().optional(),\n});\n\nexport const ExporterPropertyDefinitionNumber = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Number),\n default: z.number(),\n});\n\nexport const ExporterPropertyDefinitionArray = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Array),\n default: ArrayValue,\n});\n\nexport const ExporterPropertyDefinitionObject = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Object),\n default: ObjectValue,\n allowedKeys: z\n .object({\n options: z.string().array(),\n type: z.string(),\n })\n .optional(),\n allowedValues: z\n .object({\n type: z.string(),\n })\n .optional(),\n});\n\nexport const ExporterPropertyDefinitionCode = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Code),\n default: z.string(),\n language: z.string(),\n});\n\nexport const ExporterPropertyDefinition = z.discriminatedUnion(\"type\", [\n ExporterPropertyDefinitionEnum,\n ExporterPropertyDefinitionBoolean,\n ExporterPropertyDefinitionString,\n ExporterPropertyDefinitionNumber,\n ExporterPropertyDefinitionArray,\n ExporterPropertyDefinitionObject,\n ExporterPropertyDefinitionCode,\n]);\n\nexport type ExporterPropertyDefinitionEnum = z.infer<typeof ExporterPropertyDefinitionEnum>;\nexport type ExporterPropertyDefinitionBoolean = z.infer<typeof ExporterPropertyDefinitionBoolean>;\nexport type ExporterPropertyDefinitionString = z.infer<typeof ExporterPropertyDefinitionString>;\nexport type ExporterPropertyDefinitionNumber = z.infer<typeof ExporterPropertyDefinitionNumber>;\nexport type ExporterPropertyDefinitionArray = z.infer<typeof ExporterPropertyDefinitionArray>;\nexport type ExporterPropertyDefinitionObject = z.infer<typeof ExporterPropertyDefinitionObject>;\nexport type ExporterPropertyDefinition = z.infer<typeof ExporterPropertyDefinition>;\nexport type ExporterPropertyDefinitionEnumOption = z.infer<typeof ExporterPropertyDefinitionEnumOption>;\n\n//\n// Value\n//\n\nexport const ExporterPropertyValueMap = z.record(ExporterPropertyValue);\nexport type ExporterPropertyValueMap = z.infer<typeof ExporterPropertyValueMap>;\n","import { z } from \"zod\";\nimport { ExporterPropertyValueMap } from \"./export-configuration\";\nimport { ExportDestinationsMap } from \"./export-destinations\";\n\nexport const PipelineEventType = z.enum([\n \"OnVersionReleased\",\n \"OnHeadChanged\",\n \"OnSourceUpdated\",\n \"OnDocumentationPublished\",\n \"None\",\n]);\n\nexport const PipelineDestinationGitType = z.enum([\"Github\", \"Gitlab\", \"Bitbucket\", \"Azure\"]);\nexport const PipelineDestinationExtraType = z.enum([\"WebhookUrl\", \"S3\", \"Documentation\"]);\nexport const PipelineDestinationType = z.union([PipelineDestinationGitType, PipelineDestinationExtraType]);\n\nexport const Pipeline = z.object({\n id: z.string(),\n\n name: z.string(),\n eventType: PipelineEventType,\n isEnabled: z.boolean(),\n\n workspaceId: z.string(),\n designSystemId: z.string(),\n exporterId: z.string(),\n\n brandPersistentId: z.string().optional(),\n themePersistentId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n exporterPropertyValues: ExporterPropertyValueMap.optional(),\n\n isExporterDeprecated: z.boolean(),\n\n // Destinations\n ...ExportDestinationsMap.shape,\n});\n\nexport type PipelineEventType = z.infer<typeof PipelineEventType>;\nexport type PipelineDestinationGitType = z.infer<typeof PipelineDestinationGitType>;\nexport type PipelineDestinationExtraType = z.infer<typeof PipelineDestinationExtraType>;\nexport type PipelineDestinationType = z.infer<typeof PipelineDestinationType>;\n\nexport type Pipeline = z.infer<typeof Pipeline>;\n","import { z } from \"zod\";\nimport { PublishedDocEnvironment } from \"../dsm\";\nimport { nullishToOptional } from \"../helpers\";\n\nconst BITBUCKET_SLUG = /^[-a-zA-Z0-9~]*$/;\nconst BITBUCKET_MAX_LENGTH = 64;\n\nexport const ExportJobDocumentationChanges = z.object({\n pagePersistentIds: z.string().array(),\n groupPersistentIds: z.string().array(),\n selectivePublishing: z.boolean().optional(),\n});\n\nexport const ExporterDestinationDocs = z.object({\n environment: PublishedDocEnvironment,\n changes: nullishToOptional(ExportJobDocumentationChanges),\n});\n\nexport const GitCommonDestinationOptions = z.object({\n branch: z.string(),\n relativePath: nullishToOptional(z.string()),\n purgeDirectory: nullishToOptional(z.boolean()),\n commitAuthorName: nullishToOptional(z.string()),\n commitAuthorEmail: nullishToOptional(z.string()),\n commitMessage: nullishToOptional(z.string()),\n pullRequestTitle: nullishToOptional(z.string()),\n pullRequestDescription: nullishToOptional(z.string()),\n checkoutNoTags: nullishToOptional(z.boolean()),\n checkoutNoBlobs: nullishToOptional(z.boolean()),\n checkoutSparse: nullishToOptional(z.boolean()),\n});\n\nexport const ExporterDestinationS3 = z.object({});\n\nexport const ExporterDestinationGithub = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n url: z.string(),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationAzure = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n organizationId: z.string(),\n projectId: z.string(),\n repositoryId: z.string(),\n\n // Maybe not needed\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationGitlab = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n projectId: z.string(),\n\n // Maybe not needed\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationBitbucket = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n workspaceSlug: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n projectKey: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n repoSlug: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExportDestinationsMap = z.object({\n webhookUrl: z.string().optional(),\n destinationSnDocs: ExporterDestinationDocs.optional(),\n destinationS3: ExporterDestinationS3.optional(),\n destinationGithub: ExporterDestinationGithub.optional(),\n destinationAzure: ExporterDestinationAzure.optional(),\n destinationGitlab: ExporterDestinationGitlab.optional(),\n destinationBitbucket: ExporterDestinationBitbucket.optional(),\n});\n\nexport const ExportDestinationsMapUpdate = z.object({\n webhookUrl: z.string().nullish(),\n destinationSnDocs: ExporterDestinationDocs.nullish(),\n destinationS3: ExporterDestinationS3.nullish(),\n destinationGithub: ExporterDestinationGithub.nullish(),\n destinationAzure: ExporterDestinationAzure.nullish(),\n destinationGitlab: ExporterDestinationGitlab.nullish(),\n destinationBitbucket: ExporterDestinationBitbucket.nullish(),\n});\n\nexport type ExportJobDocumentationChanges = z.infer<typeof ExportJobDocumentationChanges>;\nexport type ExporterDestinationDocs = z.infer<typeof ExporterDestinationDocs>;\nexport type ExporterDestinationS3 = z.infer<typeof ExporterDestinationS3>;\nexport type ExporterDestinationGithub = z.infer<typeof ExporterDestinationGithub>;\nexport type ExporterDestinationAzure = z.infer<typeof ExporterDestinationAzure>;\nexport type ExporterDestinationGitlab = z.infer<typeof ExporterDestinationGitlab>;\nexport type ExporterDestinationBitbucket = z.infer<typeof ExporterDestinationBitbucket>;\nexport type ExportDestinationsMap = z.infer<typeof ExportDestinationsMap>;\nexport type ExportDestinationsMapUpdate = z.infer<typeof ExportDestinationsMapUpdate>;\n","import { z } from \"zod\";\n\nexport const AssetDynamoRecord = z.object({\n path: z.string(),\n id: z.string(),\n designSystemId: z.string(),\n expiresAt: z.number(),\n});\n\nexport type AssetDynamoRecord = z.infer<typeof AssetDynamoRecord>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../../helpers\";\n\nexport const AssetReference = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n assetId: z.string(),\n persistentId: z.string(),\n});\n\nexport type AssetReference = z.infer<typeof AssetReference>;\n\nexport type CreateAssetReference = DbCreateInputOmit<AssetReference>;\n\nexport type AssetReferenceDiff = {\n toCreate: CreateAssetReference[];\n toDelete: string[];\n};\n","import { z } from \"zod\";\n\nexport const AssetValue = z.object({});\n","import { z } from \"zod\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const AssetType = z.enum([\"Image\", \"Font\", \"Generic\"]);\nexport const AssetScope = z.enum([\n \"DocumentationFrame\",\n \"ComponentThumbnail\",\n \"DesignSystem\",\n \"Documentation\",\n \"DocumentationEmbed\",\n]);\n\nexport const AssetFontProperties = z.object({\n family: z.string(),\n subfamily: z.string(),\n});\n\nexport const AssetProperties = z.union([\n z.object({\n fontProperties: z.array(AssetFontProperties),\n }),\n z.object({\n width: z.number(),\n height: z.number(),\n }),\n]);\n\nexport const AssetOrigin = z.object({\n originKey: z.string(),\n});\n\nexport const Asset = z.object({\n id: z.string(),\n designSystemId: z.string().nullish(),\n type: AssetType,\n originalFileName: z.string().nullish(),\n filePath: z.string(),\n scope: AssetScope,\n properties: AssetProperties.nullish(),\n originKey: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n pendingUpload: z.boolean().optional(),\n size: z.number().int().positive().optional(),\n checksum: z.string().optional(),\n});\n\nexport const ResolvedAsset = Asset.extend({\n url: z.string(),\n});\n\nexport type AssetType = z.infer<typeof AssetType>;\nexport type AssetScope = z.infer<typeof AssetScope>;\nexport type AssetFontProperties = z.infer<typeof AssetFontProperties>;\nexport type AssetProperties = z.infer<typeof AssetProperties>;\nexport type AssetOrigin = z.infer<typeof AssetOrigin>;\nexport type Asset = z.infer<typeof Asset>;\nexport type ResolvedAsset = z.infer<typeof ResolvedAsset>;\n\nexport type ImportedAsset = OmitStrict<Asset, \"originKey\"> & {\n originKey: string;\n};\n\nexport function isImportedAsset(asset: Asset): asset is ImportedAsset {\n return !!asset.originKey;\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const CodeComponentResolvedTypeKind = z.enum([\n \"string\",\n \"number\",\n \"numberLiteral\",\n \"boolean\",\n \"booleanLiteral\",\n \"object\",\n \"function\",\n \"stringLiteral\",\n \"union\",\n \"slot\",\n \"null\",\n \"undefined\",\n \"any\",\n]);\n\nexport const CodeComponentResolvedType: z.ZodType = z.lazy(() =>\n z.object({\n kind: CodeComponentResolvedTypeKind,\n raw: z.string().optional(),\n types: z.array(CodeComponentResolvedType).optional(),\n isArray: z.boolean().optional(),\n })\n);\n\nexport const CodeComponentParentType = z.object({\n fileName: z.string(),\n name: z.string(),\n});\n\nexport const CodeComponentProperty = z.object({\n defaultValue: z.string().optional(),\n name: z.string(),\n required: z.boolean(),\n type: CodeComponentResolvedType,\n declarations: z.array(CodeComponentParentType).optional(),\n tags: z.record(z.string(), z.string()).optional(),\n description: z.string(),\n});\n\nexport const CodeComponent = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n exportName: z.string(),\n componentPath: z.string(),\n description: z.string(),\n properties: z.record(z.string(), CodeComponentProperty),\n tags: z.record(z.string(), z.string()).nullable(),\n});\n\nexport const CodeComponentUpsertResponse = z.object({\n created: z.number().nonnegative(),\n updated: z.number().nonnegative(),\n deleted: z.number().nonnegative(),\n});\n\nexport type CodeComponentResolvedType = z.infer<typeof CodeComponentResolvedType>;\nexport type CodeComponentParentType = z.infer<typeof CodeComponentParentType>;\nexport type CodeComponentProperty = z.infer<typeof CodeComponentProperty>;\nexport type CodeComponent = z.infer<typeof CodeComponent>;\n\nexport type CodeComponentCreate = DbCreateInputOmit<CodeComponent>;\nexport type CodeComponentUpdate = DbUpdate<CodeComponent>;\nexport type CodeComponentUpsert = OmitStrict<CodeComponentCreate, \"persistentId\" | \"designSystemVersionId\">;\nexport type CodeComponentUpsertResponse = z.infer<typeof CodeComponentUpsertResponse>;\n\n//\n// Analyze\n//\n\nexport const RegistryType = z.enum([\"Npm\", \"Github\", \"Artifactory\", \"Azure\", \"Custom\"]);\n\nexport const Registry = z.object({\n type: RegistryType,\n url: z.string().optional(),\n accessToken: z.string().optional(),\n scope: z.string(),\n authConfig: z.record(z.string()).optional(),\n});\n\nexport const DependencyDefinition = z.object({\n name: z.string(),\n version: z.string().optional(),\n});\n\nexport const AnalyzeCodeComponentsInPackage = z.object({\n designSystemId: z.string(),\n versionId: z.string(),\n mainPackage: DependencyDefinition,\n dependencies: z.array(DependencyDefinition).optional(),\n registries: Registry.array(),\n userAccessToken: z.string(),\n});\n\nexport type Registry = z.infer<typeof Registry>;\nexport type DependencyDefinition = z.infer<typeof DependencyDefinition>;\nexport type AnalyzeCodeComponentsInPackage = z.infer<typeof AnalyzeCodeComponentsInPackage>;\n","import { z } from \"zod\";\nimport { FigmaRenderFormat } from \"../import\";\n\nexport const AssetRenderConfiguration = z.object({\n prefix: z.string().optional(),\n suffix: z.string().optional(),\n scale: z.number(),\n format: FigmaRenderFormat,\n});\n\nexport const RenderedAssetFile = z.object({\n assetPersistentId: z.string(),\n assetName: z.string(),\n\n renderedImageFileName: z.string(),\n renderedImageUrl: z.string(),\n\n settings: AssetRenderConfiguration,\n});\n\nexport type AssetRenderConfiguration = z.infer<typeof AssetRenderConfiguration>;\nexport type RenderedAssetFile = z.infer<typeof RenderedAssetFile>;\n","import { z } from \"zod\";\n\nexport const FigmaFileDownloadScope = z.object({\n styles: z.boolean(),\n components: z.boolean(),\n componentSets: z.boolean(),\n currentVersion: z.literal(\"__latest__\").nullable(),\n publishedVersion: z.string().nullable(),\n downloadChunkSize: z.number().optional(),\n maxFileDepth: z.number().optional(),\n});\n\nexport const FigmaFileAccessData = z.object({\n accessToken: z.string(),\n accessTokenType: z.enum([\"OAuth2\", \"PAT\"]).default(\"OAuth2\"),\n});\n\nexport type FigmaFileDownloadScope = z.infer<typeof FigmaFileDownloadScope>;\nexport type FigmaFileAccessData = z.infer<typeof FigmaFileAccessData>;\n","import { z } from \"zod\";\nimport { DataSourceFigmaImportMetadata, DataSourceFigmaRemote } from \"../../data-sources\";\nimport { ImportWarning } from \"../warning\";\nimport { FigmaFileAccessData, FigmaFileDownloadScope } from \"./figma-files\";\n\n//\n// Importer payload\n//\n\nexport const ImportFunctionInput = z.object({\n importJobId: z.string(),\n importContextId: z.string(),\n designSystemId: z.string(),\n});\n\nexport type ImportFunctionInput = z.infer<typeof ImportFunctionInput>;\n\n//\n// Base context\n//\n\nexport const ImportedFigmaSourceData = z.object({\n sourceId: z.string(),\n figmaRemote: DataSourceFigmaRemote,\n});\n\nexport const FigmaImportBaseContext = z.object({\n designSystemId: z.string(),\n\n /**\n * Data required for accessing Figma files. This should contain access data for all file ids\n * mentioned in the `importedSourceDataBySourceId`\n *\n * fileId: file data\n */\n fileAccessByFileId: z.record(FigmaFileAccessData),\n\n /**\n * Figma source data for which import was requested\n *\n * sourceId: source data\n */\n importedSourceDataBySourceId: z.record(ImportedFigmaSourceData),\n\n /**\n * Array of warnings that will be written into the import result summary at the end\n * of import job execution and displayed by the client.\n */\n importWarnings: z.record(ImportWarning.array()).default({}),\n});\n\nexport type ImportedFigmaSourceData = z.infer<typeof ImportedFigmaSourceData>;\nexport type FigmaImportBaseContext = z.infer<typeof FigmaImportBaseContext>;\n\n//\n// Context with source state updates\n//\n\nexport const FeatureFlagsKeepAliases = z.object({\n isNonCompatibleTypeChangesEnabled: z.boolean().default(false),\n isTypographyUseFontStyleEnabled: z.boolean().default(false),\n});\nexport type FeatureFlagsKeepAliases = z.infer<typeof FeatureFlagsKeepAliases>;\n\nexport const FigmaImportContextWithSourcesState = FigmaImportBaseContext.extend({\n sourcesWithMissingAccess: z.array(z.string()).default([]),\n featureFlagsKeepAliases: FeatureFlagsKeepAliases.default({}),\n});\n\nexport type FigmaImportContextWithSourcesState = z.infer<typeof FigmaImportContextWithSourcesState>;\n\n//\n// Context with file download scope\n//\n\nexport const ChangedImportedFigmaSourceData = ImportedFigmaSourceData.extend({\n importMetadata: DataSourceFigmaImportMetadata,\n});\n\nexport const FigmaImportContextWithDownloadScopes = FigmaImportContextWithSourcesState.extend({\n /**\n * Describes what to download from each file, this should contain all file id mentioned in\n * importMetadataBySourceId.\n *\n * File id -> file download scope\n */\n fileDownloadScopesByFileId: z.record(FigmaFileDownloadScope),\n\n /**\n * Sources filtered down to the ones that have changed since last import and therefore need to be\n * imported again.\n *\n * Source id -> import metadata\n */\n changedImportedSourceDataBySourceId: z.record(ChangedImportedFigmaSourceData),\n});\n\nexport type ChangedImportedFigmaSourceData = z.infer<typeof ChangedImportedFigmaSourceData>;\nexport type FigmaImportContextWithDownloadScopes = z.infer<typeof FigmaImportContextWithDownloadScopes>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ImportWarning } from \"../import/warning\";\nimport {\n DataSourceAutoImportMode,\n DataSourceFigmaState,\n DataSourceRemoteType,\n DataSourceUploadRemoteSource,\n} from \"./enums\";\nimport { SourceImportStorybookSummary, SourceImportSummary } from \"./import-summary\";\n\n//\n// Aux\n//\n\nexport const DataSourceStats = z.object({\n tokens: zeroNumberByDefault(),\n components: zeroNumberByDefault(),\n assets: zeroNumberByDefault(),\n frames: zeroNumberByDefault(),\n});\n\nexport type DataSourceStats = z.infer<typeof DataSourceStats>;\n\n//\n// Figma\n//\n\nexport const DataSourceFigmaFileData = z.object({\n lastUpdatedAt: z.coerce.date(),\n});\n\nexport const DataSourceFigmaFileVersionData = z.object({\n id: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n createdAt: z.coerce.date(),\n});\n\nexport const DataSourceFigmaScope = z.object({\n assets: z.boolean(),\n components: z.boolean(),\n documentationFrames: z.boolean(),\n tokens: z.boolean(),\n themePersistentId: z.string().optional(),\n isUnpublishedContentFallbackEnabled: z.boolean(),\n});\n\nexport const DataSourceFigmaImportMetadata = z.object({\n fileData: DataSourceFigmaFileData.optional(),\n importedPublishedVersion: DataSourceFigmaFileVersionData.optional(),\n});\n\nexport const DataSourceFigmaRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.Figma),\n fileId: z.string(),\n preferredCredentialId: z.string().optional(),\n ownerId: z.string(), // todo remove or keep to reference who created data source\n ownerName: z.string(), // todo probably remove\n scope: DataSourceFigmaScope,\n state: DataSourceFigmaState,\n requiresSync: z\n .boolean()\n .optional()\n .transform(v => v ?? false),\n lastImportMetadata: DataSourceFigmaImportMetadata.optional(),\n downloadChunkSize: z.number().optional(),\n figmaRenderChunkSize: z.number().optional(),\n maxFileDepth: z.number().optional(),\n});\n\nexport type DataSourceFigmaFileData = z.infer<typeof DataSourceFigmaFileData>;\nexport type DataSourceFigmaFileVersionData = z.infer<typeof DataSourceFigmaFileVersionData>;\nexport type DataSourceFigmaScope = z.infer<typeof DataSourceFigmaScope>;\nexport type DataSourceFigmaImportMetadata = z.infer<typeof DataSourceFigmaImportMetadata>;\nexport type DataSourceFigmaRemote = z.infer<typeof DataSourceFigmaRemote>;\n\n//\n// Token Studio\n//\n\nexport const DataSourceTokenStudioRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.TokenStudio),\n});\n\nexport type DataSourceTokenStudioRemote = z.infer<typeof DataSourceTokenStudioRemote>;\n\n//\n// Figma Variables Plugin\n//\n\nexport const DataSourceUploadImportMetadata = z.record(z.any());\n\nexport const DataSourceUploadRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.FigmaVariablesPlugin),\n remoteId: z.string(),\n remoteSourceType: DataSourceUploadRemoteSource,\n lastImportMetadata: DataSourceUploadImportMetadata.optional(),\n warnings: nullishToOptional(ImportWarning.array()),\n isTokenTypeSplitEnabled: z.boolean(),\n isCollectionsMigrationCompleted: z.boolean(),\n});\n\nexport type DataSourceUploadImportMetadata = z.infer<typeof DataSourceUploadImportMetadata>;\nexport type DataSourceUploadRemote = z.infer<typeof DataSourceUploadRemote>;\n\n//\n// Storybook\n//\n\nexport const DataSourceStorybookRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.Storybook),\n indexUrl: z.string(),\n userUrl: z.string(),\n ownerId: z.string().optional(),\n lastImportedAt: z.coerce.date().optional(),\n lastImportedSuccessfully: z.coerce.date().optional(),\n lastImportedResult: SourceImportStorybookSummary.optional(),\n isFailed: z.boolean(),\n storiesCount: z.number(),\n docsCount: z.number(),\n description: z.string().optional(),\n isUsingVpn: z.boolean().optional(),\n});\n\nexport type DataSourceStorybookRemote = z.infer<typeof DataSourceStorybookRemote>;\n\n//\n// Base\n//\n\nexport const DataSourceRemote = z.discriminatedUnion(\"type\", [\n DataSourceFigmaRemote,\n DataSourceUploadRemote,\n DataSourceTokenStudioRemote,\n DataSourceStorybookRemote,\n]);\n\nexport const DataSource = z.object({\n id: z.string(),\n\n name: z.string(),\n thumbnailUrl: z.string().optional(),\n\n createdAt: z.coerce.date().optional(),\n\n lastImportedAt: z.coerce.date().optional(),\n lastImportSummary: SourceImportSummary.optional(),\n\n designSystemId: z.string(),\n brandPersistentId: z.string(),\n autoImportMode: DataSourceAutoImportMode,\n stats: DataSourceStats,\n\n remote: DataSourceRemote,\n\n sortOrder: z.number(),\n});\n\nexport const DataSourceVersion = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n label: z.string().nullish(),\n description: z.string().nullish(),\n});\n\nexport type DataSourceVersion = z.infer<typeof DataSourceVersion>;\n\nexport type DataSourceRemote = z.infer<typeof DataSourceRemote>;\nexport type DataSource = z.infer<typeof DataSource>;\nexport type DataSourceOfType<T extends DataSourceRemoteType> = DataSource & {\n remote: Extract<DataSourceRemote, { type: T }>;\n};\n\nexport function isDataSourceOfType<T extends DataSourceRemoteType>(\n dataSource: DataSource,\n type: T\n): dataSource is DataSourceOfType<T> {\n return dataSource.remote.type === type;\n}\n\nexport type CreateDataSource = OmitStrict<DbCreateInputOmit<DataSource>, \"sortOrder\">;\nexport type UpdateDataSource = OmitStrict<DbUpdate<DataSource>, \"brandPersistentId\" | \"designSystemId\">;\n\nfunction zeroNumberByDefault() {\n return z\n .number()\n .nullish()\n .transform(v => v ?? 0);\n}\n","import { z } from \"zod\";\n\nexport const ImportWarningType = z.enum([\n \"NoVersionFound\",\n\n \"UnsupportedFill\",\n \"UnsupportedStroke\",\n \"UnsupportedEffect\",\n\n \"NoPublishedElements\",\n \"NoPublishedStyles\",\n \"NoPublishedComponents\",\n \"NoPublishedAssets\",\n\n \"StyleNotApplied\",\n\n \"ComponentHasNoThumbnail\",\n\n \"DuplicateImportedStyleId\",\n \"DuplicateImportedStylePath\",\n\n \"NoUnpublishedStyles\",\n\n \"ReferenceResolutionFailed\",\n]);\n\nexport const ImportWarning = z.object({\n warningType: ImportWarningType,\n componentId: z.string().optional(),\n componentName: z.string().optional(),\n styleId: z.string().optional(),\n styleName: z.string().optional(),\n unsupportedStyleValueType: z.string().optional(),\n referenceId: z.string().optional(),\n});\n\nexport type ImportWarningType = z.infer<typeof ImportWarningType>;\nexport type ImportWarning = z.infer<typeof ImportWarning>;\n","import z from \"zod\";\n\nexport const DataSourceRemoteType = z.enum([\"Figma\", \"TokenStudio\", \"FigmaVariablesPlugin\", \"Storybook\"]);\nexport const DataSourceUploadRemoteSource = z.enum([\"TokenStudio\", \"FigmaVariablesPlugin\", \"Custom\"]);\nexport const DataSourceFigmaState = z.enum([\"Active\", \"MissingIntegration\", \"MissingFileAccess\", \"MissingFileOwner\"]);\nexport const DataSourceFigmaErrorType = z.enum([\"FigmaAPIRateLimit\", \"UnknownImportError\"]);\nexport const DataSourceAutoImportMode = z.enum([\"Never\", \"Hourly\"]);\n\nexport type DataSourceRemoteType = z.infer<typeof DataSourceRemoteType>;\nexport type DataSourceUploadRemoteSource = z.infer<typeof DataSourceUploadRemoteSource>;\nexport type DataSourceFigmaState = z.infer<typeof DataSourceFigmaState>;\nexport type DataSourceFigmaErrorType = z.infer<typeof DataSourceFigmaErrorType>;\nexport type DataSourceAutoImportMode = z.infer<typeof DataSourceAutoImportMode>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../helpers\";\nimport { DesignTokenType } from \"../elements\";\nimport { ImportWarning } from \"../import/warning\";\nimport { DataSourceFigmaErrorType, DataSourceFigmaState } from \"./enums\";\n\nexport const FileStructureStats = z.object({\n frames: zeroNumberByDefault(),\n components: zeroNumberByDefault(),\n componentSets: zeroNumberByDefault(),\n});\n\n// With backward compatibility\nconst SourceImportSummaryByTokenTypeKey = DesignTokenType.or(\n z.enum([\"Measure\", \"Radius\", \"GenericToken\", \"Font\", \"Text\"])\n);\n\nexport const SourceImportSummaryByTokenType = z.record(SourceImportSummaryByTokenTypeKey, z.number());\n\nexport const SourceImportTokenSummary = z.object({\n tokensCreated: zeroNumberByDefault(),\n tokensUpdated: zeroNumberByDefault(),\n tokensDeleted: zeroNumberByDefault(),\n tokensCreatedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n tokensUpdatedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n tokensDeletedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n});\n\nexport const SourceImportComponentSummary = z.object({\n componentsCreated: zeroNumberByDefault(),\n componentsUpdated: zeroNumberByDefault(),\n componentsDeleted: zeroNumberByDefault(),\n componentAssetsCreated: zeroNumberByDefault(),\n componentAssetsUpdated: zeroNumberByDefault(),\n componentAssetsDeleted: zeroNumberByDefault(),\n});\n\nexport const SourceImportStorybookSummary = z.object({\n created: zeroNumberByDefault(),\n updated: zeroNumberByDefault(),\n deleted: zeroNumberByDefault(),\n});\n\nexport const SourceImportFrameSummary = z.object({\n assetsInFile: nullishToOptional(FileStructureStats.optional()),\n invalidReferencesCount: nullishToOptional(z.number().optional()),\n});\n\nexport const SourceErrorRateLimitDetails = z.object({\n retryAfter: z.number().optional(),\n figmaPlanTier: z.string().optional(),\n rateLimitType: z.string().optional(),\n});\n\nexport const SourceError = z.object({\n /** @deprecated use error type instead */\n cloudState: DataSourceFigmaState,\n\n /**\n * @deprecated rely on additional properties like `rateLimitDetails` instead,\n * if consider adding more properties on the backend side\n */\n originalError: nullishToOptional(z.record(z.any())),\n\n errorType: DataSourceFigmaErrorType.optional(),\n rateLimitDetails: SourceErrorRateLimitDetails.optional(),\n});\n\nexport const SourceImportSummary = z.object({\n sourceId: nullishToOptional(z.string()),\n brandId: nullishToOptional(z.string()),\n versionId: nullishToOptional(z.string()),\n error: nullishToOptional(SourceError),\n isFailed: z.boolean(),\n warnings: z\n .array(ImportWarning)\n .nullish()\n .transform(v => v ?? []),\n\n ...SourceImportTokenSummary.shape,\n ...SourceImportComponentSummary.shape,\n ...FileStructureStats.shape,\n});\n\nexport type FileStructureStats = z.infer<typeof FileStructureStats>;\nexport type SourceImportSummaryByTokenType = z.infer<typeof SourceImportSummaryByTokenType>;\nexport type SourceImportTokenSummary = z.infer<typeof SourceImportTokenSummary>;\nexport type SourceImportComponentSummary = z.infer<typeof SourceImportComponentSummary>;\nexport type SourceErrorRateLimitDetails = z.infer<typeof SourceErrorRateLimitDetails>;\nexport type SourceError = z.infer<typeof SourceError>;\nexport type SourceImportFrameSummary = z.infer<typeof SourceImportFrameSummary>;\nexport type SourceImportSummary = z.infer<typeof SourceImportSummary>;\nexport type SourceImportStorybookSummary = z.infer<typeof SourceImportStorybookSummary>;\n\nfunction zeroNumberByDefault() {\n return z\n .number()\n .nullish()\n .transform(v => v ?? 0);\n}\n","import { ZodSchema, ZodTypeDef, z } from \"zod\";\n\nexport const TokenDataAliasSchema = z.object({\n aliasTo: z\n .string()\n .optional()\n .nullable()\n .transform(v => v ?? undefined),\n});\n\nexport function tokenAliasOrValue<I, O>(value: ZodSchema<I, ZodTypeDef, O>) {\n return TokenDataAliasSchema.extend({\n value: value\n .optional()\n .nullable()\n .transform(v => (v ?? undefined) as z.output<typeof value> | undefined),\n });\n}\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionTokenData } from \"./dimension\";\n\nexport const BlurType = z.enum([\"Layer\", \"Background\"]);\n\nexport const BlurValue = z.object({\n type: BlurType,\n radius: DimensionTokenData,\n});\n\nexport const BlurTokenData = tokenAliasOrValue(BlurValue);\n\nexport type BlurType = z.infer<typeof BlurType>;\nexport type BlurValue = z.infer<typeof BlurValue>;\nexport type BlurTokenData = z.infer<typeof BlurTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const DimensionUnit = z.enum([\"Pixels\", \"Percent\", \"Rem\", \"Ms\", \"Raw\", \"Points\"]);\n\nexport const DimensionValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const DimensionTokenData = tokenAliasOrValue(DimensionValue);\n\nexport type DimensionUnit = z.infer<typeof DimensionUnit>;\nexport type DimensionValue = z.infer<typeof DimensionValue>;\nexport type DimensionTokenData = z.infer<typeof DimensionTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const BorderRadiusUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const BorderRadiusValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const BorderRadiusTokenData = tokenAliasOrValue(BorderRadiusValue);\n\nexport type BorderRadiusUnit = z.infer<typeof BorderRadiusUnit>;\nexport type BorderRadiusValue = z.infer<typeof BorderRadiusValue>;\nexport type BorderRadiusTokenData = z.infer<typeof BorderRadiusTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const BorderWidthUnit = z.enum([\"Pixels\"]);\n\nexport const BorderWidthValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const BorderWidthTokenData = tokenAliasOrValue(BorderWidthValue);\n\nexport type BorderWidthUnit = z.infer<typeof BorderWidthUnit>;\nexport type BorderWidthValue = z.infer<typeof BorderWidthValue>;\nexport type BorderWidthTokenData = z.infer<typeof BorderWidthTokenData>;\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { BorderWidthTokenData } from \"./border-width\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const BorderPosition = z.enum([\"Inside\", \"Center\", \"Outside\"]);\nexport const BorderStyle = z.enum([\"Dashed\", \"Dotted\", \"Solid\", \"Groove\"]);\n\nexport const BorderValue = z.object({\n color: ColorTokenData,\n width: BorderWidthTokenData,\n position: BorderPosition,\n style: BorderStyle.optional(),\n});\n\nexport const BorderTokenData = tokenAliasOrValue(BorderValue);\n\nexport type BorderPosition = z.infer<typeof BorderPosition>;\nexport type BorderStyle = z.infer<typeof BorderStyle>;\nexport type BorderValue = z.infer<typeof BorderValue>;\nexport type BorderTokenData = z.infer<typeof BorderTokenData>;\n","import { z } from \"zod\";\nimport { TokenDataAliasSchema, tokenAliasOrValue } from \"./base\";\nimport { OpacityTokenData } from \"./opacity\";\n\nexport const ColorValue = z.object({\n opacity: OpacityTokenData,\n color: z.string().or(TokenDataAliasSchema),\n});\n\nexport const ColorTokenData = tokenAliasOrValue(ColorValue);\n\nexport type ColorValue = z.infer<typeof ColorValue>;\nexport type ColorTokenData = z.infer<typeof ColorTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const OpacityValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const OpacityTokenData = tokenAliasOrValue(OpacityValue);\n\nexport type OpacityValue = z.infer<typeof OpacityValue>;\nexport type OpacityTokenData = z.infer<typeof OpacityTokenData>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers/nullish-to-optional\";\nimport { FigmaComponentPropertyMap } from \"../component-properties\";\n\nexport const ComponentElementData = z.object({\n value: z.object({\n thumbnailImage: z.object({\n value: z.object({\n url: z.string(),\n assetId: z.string(),\n }),\n }),\n\n svg: z\n .object({\n value: z.object({\n url: z.string(),\n assetId: z.string(),\n }),\n })\n .optional(),\n\n parentComponentPersistentId: nullishToOptional(z.string()),\n componentPropertyDefinitions: nullishToOptional(FigmaComponentPropertyMap),\n variantPropertyValues: nullishToOptional(z.record(z.string())),\n renderNodeId: nullishToOptional(z.string()),\n }),\n});\n\nexport type ComponentElementData = z.infer<typeof ComponentElementData>;\n","import { z } from \"zod\";\n\nexport const FigmaComponentPropertyType = z.enum([\"Boolean\", \"InstanceSwap\", \"Variant\", \"Text\"]);\n\n//\n// Definitions\n//\n\nexport const FigmaComponentPropertyOrigin = z.object({\n id: z.string(),\n});\n\nconst FigmaComponentPropertyBase = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const FigmaComponentInstancePreview = z.object({\n componentName: z.string(),\n componentSetName: z.string().optional(),\n isRemote: z.boolean(),\n});\n\nexport const FigmaComponentBooleanProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Boolean),\n defaultValue: z.boolean(),\n});\n\nexport const FigmaComponentInstanceSwapProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.InstanceSwap),\n defaultValue: z.string(),\n defaultValuePreview: FigmaComponentInstancePreview.optional(),\n});\n\nexport const FigmaComponentVariantProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Variant),\n defaultValue: z.string(),\n options: z.array(z.string()),\n});\n\nexport const FigmaComponentTextProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Text),\n id: z.string(),\n defaultValue: z.string(),\n});\n\nexport const FigmaComponentProperty = z.discriminatedUnion(\"type\", [\n FigmaComponentBooleanProperty,\n FigmaComponentInstanceSwapProperty,\n FigmaComponentTextProperty,\n FigmaComponentVariantProperty,\n]);\n\nexport const FigmaComponentPropertyMap = z.record(z.string(), FigmaComponentProperty);\n\nexport type FigmaComponentInstancePreview = z.infer<typeof FigmaComponentInstancePreview>;\nexport type FigmaComponentPropertyType = z.infer<typeof FigmaComponentPropertyType>;\nexport type FigmaComponentBooleanProperty = z.infer<typeof FigmaComponentBooleanProperty>;\nexport type FigmaComponentInstanceSwapProperty = z.infer<typeof FigmaComponentInstanceSwapProperty>;\nexport type FigmaComponentVariantProperty = z.infer<typeof FigmaComponentVariantProperty>;\nexport type FigmaComponentTextProperty = z.infer<typeof FigmaComponentTextProperty>;\nexport type FigmaComponentProperty = z.infer<typeof FigmaComponentProperty>;\nexport type FigmaComponentPropertyMap = z.infer<typeof FigmaComponentPropertyMap>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { areShallowObjectsEqual, mapByUnique } from \"../../../utils\";\nimport { ColorTokenInlineData } from \"../../properties\";\nimport { Size } from \"../primitives\";\nimport { DesignTokenType } from \"../raw-element\";\nimport { DimensionTokenData } from \"./dimension\";\n\n//\n// Enums\n//\n\nexport const PageBlockCalloutType = z.enum([\"Info\", \"Primary\", \"Success\", \"Warning\", \"Error\"]);\n\nexport const PageBlockTypeV1 = z.enum([\n \"Text\",\n \"Heading\",\n \"Code\",\n \"UnorderedList\",\n \"OrderedList\",\n \"Quote\",\n \"Callout\",\n \"Divider\",\n \"Image\",\n \"Embed\",\n \"Link\",\n \"Shortcuts\",\n \"FigmaEmbed\",\n \"YoutubeEmbed\",\n \"StorybookEmbed\",\n \"Token\",\n \"TokenGroup\",\n \"TokenList\",\n \"Component\",\n \"ComponentGroup\",\n \"Theme\",\n \"ComponentSandbox\",\n \"Custom\",\n \"FigmaFrames\",\n \"ComponentAssets\",\n \"ComponentAssetGroup\",\n \"RenderCode\",\n \"Tabs\",\n \"TabItem\",\n \"Table\",\n \"TableRow\",\n \"TableCell\",\n \"Guidelines\",\n \"Guideline\",\n \"FigmaComponents\",\n \"FigmaComponentPropsTable\",\n \"Files\",\n]);\n\nexport const PageBlockCodeLanguage = z.enum([\n \"Angular\",\n \"Bash\",\n \"C\",\n \"Cpp\",\n \"Csharp\",\n \"CSS\",\n \"Dart\",\n \"Handlebars\",\n \"HTML\",\n \"Java\",\n \"Javascript\",\n \"JSON\",\n \"ReactJSX\",\n \"ReactTSX\",\n \"Kotlin\",\n \"Lua\",\n \"Markdown\",\n \"ObjectiveC\",\n \"PHP\",\n \"Plain\",\n \"Python\",\n \"Ruby\",\n \"Rust\",\n \"Sass\",\n \"SCSS\",\n \"Svetle\",\n \"Swift\",\n \"Twig\",\n \"Typescript\",\n \"Vue\",\n \"XML\",\n \"YAML\",\n]);\n\nexport const PageBlockAlignment = z.enum([\"Left\", \"Center\", \"Stretch\", \"Right\"]);\nexport const PageBlockThemeType = z.enum([\"Override\", \"Comparison\"]);\nexport const PageBlockTokenNameFormat = z.enum([\"Name\", \"GroupAndName\", \"FullPath\", \"CustomProperty\"]);\nexport const PageBlockAssetType = z.enum([\"image\", \"figmaFrame\"]);\n\nexport const PageBlockTilesAlignment = z.enum([\"Center\", \"FrameHeight\"]);\n\nexport const PageBlockTilesLayout = z.enum([\"C8\", \"C7\", \"C6\", \"C5\", \"C4\", \"C3\", \"C2\", \"C1\", \"C1_75\"]);\n\n//\n// Support types\n//\n\nexport const PageBlockTheme = z.object({\n themeIds: z.array(z.string()),\n type: PageBlockThemeType,\n});\n\nexport const PageBlockSwatch = z.object({\n id: z.string(),\n selectedThemeIds: z.string().array(),\n});\n\nexport const PageBlockUrlPreview = z.object({\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n thumbnailUrl: nullishToOptional(z.string()),\n});\n\nexport const PageBlockFrameOrigin = z.object({\n sourceFileName: nullishToOptional(z.string()),\n title: nullishToOptional(z.string()),\n previewUrl: nullishToOptional(z.string()),\n valid: nullishToOptional(z.boolean()),\n referenceId: nullishToOptional(z.string()),\n assetId: nullishToOptional(z.string()),\n assetScale: nullishToOptional(z.number()),\n width: nullishToOptional(z.number()),\n height: nullishToOptional(z.number()),\n});\n\nexport const PageBlockFrame = z.object({\n persistentId: z.string(),\n sourceId: z.string(),\n sourceFrameId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n origin: nullishToOptional(PageBlockFrameOrigin),\n});\n\nexport const PageBlockAsset = z.object({\n type: PageBlockAssetType,\n id: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n figmaFrame: nullishToOptional(PageBlockFrame),\n});\n\nexport const PageBlockLinkPreview = z.object({\n title: nullishToOptional(z.string()),\n valid: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockShortcut = z.object({\n persistentId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n asset: nullishToOptional(PageBlockAsset),\n documentationItemId: nullishToOptional(z.string()),\n pageHeadingId: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n openInNewTab: nullishToOptional(z.boolean()),\n urlPreview: nullishToOptional(PageBlockUrlPreview),\n documentationItemPreview: nullishToOptional(PageBlockLinkPreview),\n});\n\nexport const PageBlockCustomBlockPropertyImageValue = z.object({\n asset: nullishToOptional(PageBlockAsset),\n assetId: nullishToOptional(z.string()),\n assetUrl: nullishToOptional(z.string()),\n});\n\nexport const PageBlockCustomBlockPropertyValue = z.object({\n key: z.string(),\n value: z.any(),\n});\n\nexport const PageBlockFigmaFrameProperties = z.object({\n color: nullishToOptional(\n z.object({\n value: z.string(),\n })\n ),\n alignment: PageBlockTilesAlignment,\n previewContainerHeight: nullishToOptional(z.number()),\n layout: PageBlockTilesLayout,\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n showTitles: z.boolean(),\n});\n\nexport const PageBlockRenderCodeProperties = z.object({\n showCode: z.boolean(),\n showControls: z.boolean().optional(),\n});\n\nexport const PageBlockAssetComponent = z.object({\n persistentId: z.string(),\n componentAssetId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n});\n\nexport const PageBlockTableColumn = z.object({\n id: z.string(),\n width: DimensionTokenData,\n});\n\nexport const PageBlockTableProperties = z.object({\n showBorders: z.boolean(),\n showHeaderRow: z.boolean(),\n showHeaderColumn: z.boolean(),\n columns: z.array(PageBlockTableColumn),\n});\n\nexport const PageBlockFigmaComponentBlockConfig = z.object({\n showComponentName: nullishToOptional(z.boolean()),\n showComponentDescription: nullishToOptional(z.boolean()),\n showPropertyList: nullishToOptional(z.boolean()),\n previewOrderIds: nullishToOptional(z.array(z.string())),\n previewContainerSize: nullishToOptional(z.enum([\"Centered\", \"NaturalHeight\"])),\n previewContainerHeight: nullishToOptional(z.number()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n});\n\nexport const PageBlockTokenBlockConfig = z.object({\n tokenNameFormat: nullishToOptional(PageBlockTokenNameFormat),\n tokenNameCustomPropertyId: nullishToOptional(z.string()),\n});\n\nexport const PageBlockAssetBlockConfig = z.object({\n showSearch: nullishToOptional(z.boolean()),\n showAssetDescription: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockSelectedFigmaComponent = z.object({\n figmaComponentId: z.string(),\n selectedComponentProperties: z.string().array(),\n selectedComponentVariants: z.record(z.string().array()).optional(),\n});\n\nexport const PageBlockStorybookItem = z.object({\n entityId: z.string().optional(),\n embed: z\n .object({\n inputUrl: z.string(),\n embedUrl: z.string(),\n })\n .optional(),\n entityMeta: z\n .object({\n caption: z.string().optional(),\n height: z.number().optional(),\n hiddenProps: z.array(z.string()).optional(),\n propValues: z.record(z.unknown()).optional(),\n })\n .optional(),\n});\n\nexport const PageBlockStorybookBlockConfig = z.object({\n value: PageBlockStorybookItem.array(),\n\n showCode: z.boolean().optional(),\n showFooter: z.boolean().optional(),\n showProperties: z.boolean().optional(),\n showDescription: z.boolean().optional(),\n showDefaults: z.boolean().optional(),\n});\n\n//\n// Rich text\n//\n\nexport const PageBlockTextSpanAttributeType = z.enum([\"Bold\", \"Italic\", \"Link\", \"Strikethrough\", \"Code\", \"Comment\"]);\n\nexport const PageBlockTextSpanAttribute = z.object({\n type: PageBlockTextSpanAttributeType,\n\n // Link attributes\n link: nullishToOptional(z.string()),\n documentationItemId: nullishToOptional(z.string()),\n\n /** @deprecated use openInNewTab */\n openInNewWindow: nullishToOptional(z.boolean()),\n openInNewTab: nullishToOptional(z.boolean()),\n\n // Comment attributes\n commentHighlightId: nullishToOptional(z.string()),\n commentIsResolved: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockTextSpan = z.object({\n text: z.string(),\n attributes: z.array(PageBlockTextSpanAttribute),\n});\n\nexport const PageBlockText = z.object({\n spans: z.array(PageBlockTextSpan),\n});\n\nexport const PageBlockGuideline = z.object({\n description: nullishToOptional(z.string()),\n asset: nullishToOptional(PageBlockAsset),\n type: z.string(),\n imageAlt: nullishToOptional(z.string()),\n imageCaption: nullishToOptional(z.string()),\n imageAlignment: nullishToOptional(PageBlockAlignment),\n openLightbox: nullishToOptional(z.boolean()),\n isBordered: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockFile = z.object({\n entityId: z.string(),\n entityMeta: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n })\n .optional(),\n});\n\nexport type PageBlockCalloutType = z.infer<typeof PageBlockCalloutType>;\nexport type PageBlockCodeLanguage = z.infer<typeof PageBlockCodeLanguage>;\nexport type PageBlockAlignment = z.infer<typeof PageBlockAlignment>;\nexport type PageBlockThemeType = z.infer<typeof PageBlockThemeType>;\nexport type PageBlockAssetType = z.infer<typeof PageBlockAssetType>;\nexport type PageBlockTilesAlignment = z.infer<typeof PageBlockTilesAlignment>;\nexport type PageBlockTilesLayout = z.infer<typeof PageBlockTilesLayout>;\nexport type PageBlockTextSpanAttributeType = z.infer<typeof PageBlockTextSpanAttributeType>;\n\nexport type PageBlockTypeV1 = z.infer<typeof PageBlockTypeV1>;\nexport type PageBlockTextSpanAttribute = z.infer<typeof PageBlockTextSpanAttribute>;\nexport type PageBlockTextSpan = z.infer<typeof PageBlockTextSpan>;\nexport type PageBlockText = z.infer<typeof PageBlockText>;\nexport type PageBlockGuideline = z.infer<typeof PageBlockGuideline>;\nexport type PageBlockFrame = z.infer<typeof PageBlockFrame>;\nexport type PageBlockFrameOrigin = z.infer<typeof PageBlockFrameOrigin>;\nexport type PageBlockAsset = z.infer<typeof PageBlockAsset>;\nexport type PageBlockTableColumn = z.infer<typeof PageBlockTableColumn>;\nexport type PageBlockTheme = z.infer<typeof PageBlockTheme>;\nexport type PageBlockSwatch = z.infer<typeof PageBlockSwatch>;\nexport type PageBlockShortcut = z.infer<typeof PageBlockShortcut>;\nexport type PageBlockCustomBlockPropertyValue = z.infer<typeof PageBlockCustomBlockPropertyValue>;\nexport type PageBlockCustomBlockPropertyImageValue = z.infer<typeof PageBlockCustomBlockPropertyImageValue>;\nexport type PageBlockFigmaComponentBlockConfig = z.infer<typeof PageBlockFigmaComponentBlockConfig>;\nexport type PageBlockTokenNameFormat = z.infer<typeof PageBlockTokenNameFormat>;\n\n//\n// Block\n//\n\nexport const PageBlockBaseV1 = z.object({\n persistentId: z.string(),\n type: PageBlockTypeV1,\n\n // V2 generic attributes\n numberOfColumns: nullishToOptional(z.number()),\n itemBackgroundColor: nullishToOptional(ColorTokenInlineData),\n\n // Element linking\n designObjectId: nullishToOptional(z.string()),\n designObjectIds: nullishToOptional(z.array(z.string())),\n tokenType: nullishToOptional(DesignTokenType.or(z.literal(\"Font\"))),\n showNestedGroups: nullishToOptional(z.boolean()),\n brandId: nullishToOptional(z.string()),\n\n // Rich text\n text: nullishToOptional(PageBlockText),\n caption: nullishToOptional(z.string()),\n headingType: nullishToOptional(z.number().min(1).max(3)),\n codeLanguage: nullishToOptional(PageBlockCodeLanguage),\n calloutType: nullishToOptional(PageBlockCalloutType),\n urlInput: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n urlPreview: nullishToOptional(PageBlockUrlPreview),\n\n // Image\n asset: nullishToOptional(PageBlockAsset),\n alignment: nullishToOptional(PageBlockAlignment),\n imageAlt: nullishToOptional(z.string()),\n openLightbox: nullishToOptional(z.boolean()),\n isBordered: nullishToOptional(z.boolean()),\n\n // Shortcuts block\n shortcuts: nullishToOptional(z.array(PageBlockShortcut)),\n\n // Guidelines\n guideline: nullishToOptional(PageBlockGuideline),\n\n // Custom blocks\n customBlockKey: nullishToOptional(z.string()),\n customBlockProperties: nullishToOptional(z.array(PageBlockCustomBlockPropertyValue)),\n variantKey: nullishToOptional(z.string()),\n\n // Figma frames\n figmaFrameProperties: nullishToOptional(PageBlockFigmaFrameProperties),\n figmaFrames: nullishToOptional(z.array(PageBlockFrame)),\n\n // Generic\n size: nullishToOptional(Size),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n\n // Render code\n renderCodeProperties: nullishToOptional(PageBlockRenderCodeProperties),\n\n // Component assets\n componentAssets: nullishToOptional(z.array(PageBlockAssetComponent)),\n\n // Tables\n tableProperties: nullishToOptional(PageBlockTableProperties),\n columnId: nullishToOptional(z.string()),\n\n // Design tokens\n theme: nullishToOptional(PageBlockTheme),\n swatches: nullishToOptional(PageBlockSwatch.array()),\n blacklistedElementProperties: nullishToOptional(z.array(z.string())),\n tokenBlockConfig: nullishToOptional(PageBlockTokenBlockConfig),\n\n // (Vector) assets\n assetBlockConfig: nullishToOptional(PageBlockAssetBlockConfig),\n\n // Figma components\n figmaComponentsBlockConfig: nullishToOptional(PageBlockFigmaComponentBlockConfig),\n selectedFigmaComponent: nullishToOptional(PageBlockSelectedFigmaComponent),\n selectedFigmaComponents: nullishToOptional(PageBlockSelectedFigmaComponent.array()),\n\n // Arbitrary\n userMetadata: nullishToOptional(z.string()),\n\n // Storybook\n storybookBlockConfig: nullishToOptional(PageBlockStorybookBlockConfig),\n\n // Files\n files: nullishToOptional(PageBlockFile.array()),\n});\n\ntype PageBlockV1Input = z.input<typeof PageBlockBaseV1> & {\n children: PageBlockV1Input[] | null | undefined;\n};\n\nexport const PageBlockV1: z.ZodType<PageBlockV1, z.ZodTypeDef, PageBlockV1Input> = PageBlockBaseV1.extend({\n children: z.lazy(\n () =>\n PageBlockV1.array()\n .nullish()\n .transform(t => t ?? []) as z.ZodType<PageBlockV1[], z.ZodTypeDef, PageBlockV1Input[]>\n ),\n});\n\nexport type PageBlockV1 = z.infer<typeof PageBlockBaseV1> & {\n children: PageBlockV1[];\n};\n\n//\n// Utility methods\n//\n\nexport function traversePageBlocksV1(blocks: PageBlockV1[], action: (block: PageBlockV1) => void) {\n for (const block of blocks) {\n action(block);\n traversePageBlocksV1(block.children, action);\n }\n}\n\nexport function removeCommentSpans(text: PageBlockText): PageBlockText {\n const { spans, ...rest } = text;\n\n const newSpans = spans.map(s => {\n return {\n ...s,\n attributes: s.attributes.filter(a => a.type !== \"Comment\"),\n };\n });\n\n const updatedRichText = {\n ...rest,\n spans: newSpans,\n };\n\n return joinRepeatingSpans(updatedRichText);\n}\n\nexport function joinRepeatingSpans(text: PageBlockText): PageBlockText {\n if (text.spans.length < 2) return text;\n\n // Make sure spans are clean before comparing them\n text = sanitizeSpans(text);\n const { spans, ...rest } = text;\n\n let previousSpan = { ...spans[0] };\n const newSpans = [previousSpan];\n\n for (let i = 1; i < spans.length; i++) {\n const span = spans[i];\n if (areAttributesEqual(span.attributes, previousSpan.attributes)) {\n previousSpan.text += span.text;\n } else {\n previousSpan = { ...span };\n newSpans.push(previousSpan);\n }\n }\n\n return {\n ...rest,\n spans: newSpans,\n };\n}\n\nfunction areAttributesEqual(lhs: PageBlockTextSpanAttribute[], rhs: PageBlockTextSpanAttribute[]) {\n if (lhs.length !== rhs.length) return false;\n\n const lhsMap = mapByUnique(lhs, i => i.type);\n for (const rhsAttribute of rhs) {\n const lhsAttribute = lhsMap.get(rhsAttribute.type);\n if (!areShallowObjectsEqual(lhsAttribute, rhsAttribute)) return false;\n }\n\n return true;\n}\n\nfunction sanitizeSpans(text: PageBlockText): PageBlockText {\n const { spans, ...rest } = text;\n\n return {\n ...rest,\n spans: spans.map(s => {\n const { attributes, ...rest } = s;\n\n return {\n ...rest,\n attributes: attributes.map(sanitizeSpanAttribute),\n };\n }),\n };\n}\n\nfunction sanitizeSpanAttribute(attribute: PageBlockTextSpanAttribute): PageBlockTextSpanAttribute {\n switch (attribute.type) {\n case \"Bold\":\n return { type: \"Bold\" };\n case \"Code\":\n return { type: \"Code\" };\n case \"Strikethrough\":\n return { type: \"Strikethrough\" };\n case \"Italic\":\n return { type: \"Italic\" };\n case \"Comment\":\n const { commentHighlightId, commentIsResolved } = attribute;\n const isCommentIsResolvedDefined = commentIsResolved !== undefined && commentIsResolved !== null;\n\n return {\n type: \"Comment\",\n ...(isCommentIsResolvedDefined && { commentIsResolved }),\n ...(commentHighlightId && { commentHighlightId }),\n };\n case \"Link\":\n const { documentationItemId, link, openInNewTab, openInNewWindow } = attribute;\n const isOpenInNewTabDefined = openInNewTab !== undefined && openInNewTab !== null;\n const isOpenInNewWindowDefined = openInNewWindow !== undefined && openInNewWindow !== null;\n\n return {\n type: \"Link\",\n ...(isOpenInNewTabDefined && { openInNewTab }),\n ...(isOpenInNewWindowDefined && { openInNewWindow }),\n ...(documentationItemId && { documentationItemId }),\n ...(link && { link }),\n };\n }\n}\n","export type SupernovaExceptionType =\n | \"AccessDenied\"\n | \"ResourceNotFound\"\n | \"WrongFormat\"\n | \"TooMuchWork\"\n | \"Timeout\"\n | \"Conflict\"\n | \"NotImplemented\"\n | \"BadRequest\"\n | \"WrongActionOrder\"\n | \"InvalidOperation\"\n | \"UnexpectedError\"\n | \"IPRestricted\"\n | \"PlanRestricted\"\n | \"MissingWorkspacePermission\"\n | \"MissingExporterPermission\"\n | \"MissingIntegration\"\n | \"MissingIntegrationAccess\"\n | \"NoAccess\"\n | \"MissingCredentials\"\n | \"ValidationError\"\n | \"ThirdPartyError\"\n | \"UserDeactivated\";\n\nexport class SupernovaException extends Error {\n static wrongFormat(message?: string): SupernovaException {\n return new SupernovaException(\"WrongFormat\", message);\n }\n\n static validationError(message?: string): SupernovaException {\n return new SupernovaException(\"ValidationError\", message);\n }\n\n static accessDenied(message?: string): SupernovaException {\n return new SupernovaException(\"AccessDenied\", message);\n }\n\n static tooMuchWork(message?: string): SupernovaException {\n return new SupernovaException(\"TooMuchWork\", message);\n }\n\n static notFound(message?: string): SupernovaException {\n return new SupernovaException(\"ResourceNotFound\", message);\n }\n\n static timeout(message?: string): SupernovaException {\n return new SupernovaException(\"Timeout\", message);\n }\n\n static conflict(message?: string): SupernovaException {\n return new SupernovaException(\"Conflict\", message);\n }\n\n static notImplemented(message?: string): SupernovaException {\n return new SupernovaException(\"NotImplemented\", message);\n }\n\n static wrongActionOrder(message?: string): SupernovaException {\n return new SupernovaException(\"WrongActionOrder\", message);\n }\n\n static invalidOperation(message?: string): SupernovaException {\n return new SupernovaException(\"InvalidOperation\", message);\n }\n\n static shouldNotHappen(message?: string): SupernovaException {\n return new SupernovaException(\"UnexpectedError\", message);\n }\n\n static ipRestricted(message?: string): SupernovaException {\n return new SupernovaException(\"IPRestricted\", message);\n }\n\n static planRestricted(message?: string): SupernovaException {\n return new SupernovaException(\"PlanRestricted\", message);\n }\n\n static missingWorkspacePermission(message?: string): SupernovaException {\n return new SupernovaException(\"MissingWorkspacePermission\", message);\n }\n\n static missingExporterPermission(message?: string): SupernovaException {\n return new SupernovaException(\"MissingExporterPermission\", message);\n }\n\n static missingIntegration(message?: string): SupernovaException {\n return new SupernovaException(\"MissingIntegration\", message);\n }\n\n static missingIntegrationAccess(message?: string): SupernovaException {\n return new SupernovaException(\"MissingIntegrationAccess\", message);\n }\n\n static noAccess(message?: string): SupernovaException {\n return new SupernovaException(\"NoAccess\", message);\n }\n\n static missingCredentials(message?: string): SupernovaException {\n return new SupernovaException(\"MissingCredentials\", message);\n }\n\n static thirdPartyError(message?: string): SupernovaException {\n return new SupernovaException(\"ThirdPartyError\", message);\n }\n\n static userDeactivated(message?: string): SupernovaException {\n return new SupernovaException(\"UserDeactivated\", message);\n }\n\n //\n // To refactor\n //\n\n static badRequest(message?: string): SupernovaException {\n return new SupernovaException(\"BadRequest\", message);\n }\n\n //\n // Properties\n //\n\n constructor(readonly type: SupernovaExceptionType, message?: string) {\n const fullMessage = message || `${type}: something went wrong`;\n super(fullMessage);\n }\n}\n\nexport function errorToString(error: unknown) {\n if (error instanceof Error) {\n const errorAny = error as any;\n const stderr = (errorAny.result?.stderr ?? errorAny.stderr ?? \"\").trim();\n const stdout = (errorAny.result?.stdout ?? errorAny.stdout ?? \"\").trim();\n const output = [stderr, stdout].filter(Boolean).join(\"\\n\");\n\n return output ? `${error.message}\\n${output}` : error.message;\n }\n return String(error);\n}\n","import { SupernovaException } from \"./errors\";\n\nexport type OmitStrict<T, K extends keyof T> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n\nexport type Nullish<T> = T | null | undefined;\n\nexport type ExplicitPartial<T> = { [P in keyof T]: T[P] | undefined };\n\n// Magic as far as I'm concerned.\n// Taken from https://stackoverflow.com/a/50375286/3229534\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;\n\n// This utility lets T be indexed by any key\ntype Indexify<T> = T & { [str: string]: undefined };\n\n// To make a type where all values are undefined, so that in AllUnionKeys<T>\n// TS doesn't remove the keys whose values are incompatible, e.g. string & number\ntype UndefinedVals<T> = { [K in keyof T]: undefined };\n\n// This returns a union of all keys present across all members of the union T\ntype AllUnionKeys<T> = keyof UnionToIntersection<UndefinedVals<T>>;\n\n// Where the (rest of the) magic happens ✨\nexport type AllFields<T> = { [K in AllUnionKeys<T> & string]: Indexify<T>[K] };\n\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n\nexport type Defined<T> = T extends null | undefined ? never : T;\n\n// Makes specific properties in the type required\nexport type WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\ntype PickOptional<T> = {\n [P in keyof T as undefined extends T[P] ? P : never]: T[P];\n};\n\ntype PickNotOptional<T> = {\n [P in keyof T as undefined extends T[P] ? never : P]: T[P];\n};\n\nexport type OptionalToNullable<T> = {\n [K in keyof PickOptional<T>]-?: Exclude<T[K], undefined> | null;\n} & {\n [K in keyof PickNotOptional<T>]: T[K];\n};\n\nexport function forceUnwrapNullish<T>(value: Nullish<T>): T {\n if (value === null) throw new Error(\"Illegal null\");\n if (value === undefined) throw new Error(\"Illegal undefined\");\n return value;\n}\n\nexport function trimLeadingSlash(string: string): string {\n return string.startsWith(\"/\") ? string.substring(1) : string;\n}\n\nexport function trimTrailingSlash(string: string): string {\n return string.endsWith(\"/\") ? string.substring(0, string.length - 1) : string;\n}\n\nexport function tryParseUrl(url: string): URL | null {\n try {\n return parseUrl(url);\n } catch (e) {\n console.error(`Error parsing URL ${url}`);\n console.error(e);\n return null;\n }\n}\n\nexport function parseUrl(url: string): URL {\n return new URL(url.startsWith(\"https://\") || url.startsWith(\"http://\") ? url : `https://${url}`);\n}\n\nexport function mapByUnique<V, K>(items: Iterable<V>, keyFn: (item: V) => K): Map<K, V> {\n const result = new Map<K, V>();\n for (const item of items) {\n result.set(keyFn(item), item);\n }\n return result;\n}\n\nexport function groupBy<V, K>(items: V[], keyFn: (item: V) => K): Map<K, V[]> {\n const result = new Map<K, V[]>();\n\n for (const item of items) {\n const key = keyFn(item);\n const array = result.get(key);\n if (array) {\n array.push(item);\n } else {\n result.set(key, [item]);\n }\n }\n\n return result;\n}\n\nexport function filterNonNullish<T>(items: Nullish<T>[]): T[] {\n return items.filter(Boolean) as T[];\n}\n\nexport function nonNullishFilter<T>(item: Nullish<T>): item is T {\n return !!item;\n}\n\nexport function nonNullFilter<T>(item: T | null): item is T {\n return item !== null;\n}\n\nexport type ArrayElementType<T extends Default[], Default = any> = T extends (infer U)[] ? U : Default;\n\nexport function buildConstantEnum<Inferred extends ArrayElementType<Passed>[], Passed extends string[]>(\n values: Inferred\n): { [key in Inferred[number]]: key } {\n const constMap = values.reduce((acc, code) => ({ ...acc, [code]: code }), {});\n\n return constMap as { [key in Inferred[number]]: key };\n}\n\nexport async function promiseWithTimeout<T>(\n timeoutMs: number,\n promise: () => Promise<T>,\n onTimeout?: () => Error\n): Promise<T> {\n let timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeoutHandle = setTimeout(() => reject(onTimeout?.() ?? SupernovaException.timeout()), timeoutMs);\n });\n\n const result = await Promise.race([promise(), timeoutPromise]);\n\n clearTimeout(timeoutHandle);\n return result;\n}\n\nexport async function sleep(ms: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\nexport function uniqueBy<K, V>(items: V[], prop: (v: V) => K): V[] {\n return Array.from(mapByUnique(items, prop).values());\n}\n\nexport function areShallowObjectsEqual<T extends object>(lhs: T | undefined, rhs: T | undefined) {\n if ((lhs === undefined) !== (rhs === undefined)) return false;\n if (lhs === undefined || rhs === undefined) return true;\n\n if ((lhs === null) !== (rhs === null)) return false;\n if (lhs === null || rhs === null) return true;\n\n for (const key in lhs) {\n if (!(key in rhs) || lhs[key] !== rhs[key]) {\n return false;\n }\n }\n\n for (const key in rhs) {\n if (!(key in lhs)) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function isNotNullish<T>(value: T | null | undefined): value is T {\n return !isNullish(value);\n}\n\nexport function isNullish<T>(value: T | null | undefined): value is null | undefined {\n return value === null || value === undefined;\n}\n\nexport function hasProperty<K extends string>(prop: K) {\n return <T extends { [key in K]?: unknown }>(obj: T): obj is T & Required<Pick<T, K>> => {\n return obj[prop] !== null && obj[prop] !== undefined;\n };\n}\n\nexport function hasTruthyProperty<K extends string>(prop: K) {\n return <T extends Record<K, unknown>>(obj: T): obj is T & Record<K, NonNullable<T[K]>> => {\n return !!obj[prop];\n };\n}\n\nexport function chunkedArray<V>(array: V[], chunkSize: number): V[][] {\n const result: V[][] = [];\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize));\n }\n return result;\n}\n\nexport function recordToMap<V>(record: Record<string, V>): Map<string, V> {\n const map = new Map<string, V>();\n for (const [k, v] of Object.entries(record)) map.set(k, v);\n return map;\n}\n\n/**\n * Applies direct properties from `update` to `object`.\n *\n * - In case a property is not defined in `update`, it `object` will retain the current one\n * - In case a property is null in `update`, it will be removed from `object`\n *\n * @param object base object to perform updates on\n * @param update source of property updates\n * @returns object by merging updates from `update` into `object`\n */\nexport function applyShallowObjectUpdate<T>(object: T, update: Partial<OptionalToNullable<T>>): T {\n const objectShallowCopy = { ...object };\n\n for (const [key, value] of Object.entries(update)) {\n if (value === null) {\n // @ts-expect-error it's very hard to get typescript to believe that the types will match\n objectShallowCopy[key] = undefined;\n } else if (value !== undefined) {\n // @ts-expect-error it's very hard to get typescript to believe that the types will match\n objectShallowCopy[key] = value;\n }\n }\n\n return objectShallowCopy;\n}\n\nexport type Pagination = {\n skip?: number;\n take?: number;\n};\n\nexport type DefinedProps<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: Exclude<T[K], undefined>;\n};\n\n/**\n * Returns a shallow copy of the input object with only properties that are not `undefined`.\n *\n * @param obj - The input object whose properties may include `undefined` values.\n * @returns A new object containing only the properties from the original object that have defined (non-undefined) values.\n */\nexport function pickDefined<T extends object>(obj: T): Partial<DefinedProps<T>> {\n return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v !== undefined)) as Partial<DefinedProps<T>>;\n}\n","import { z } from \"zod\";\n\nexport const ContentLoadInstruction = z.object({\n from: z.string(),\n to: z.string(),\n authorizationHeaderKvsId: z.string().optional(),\n timeout: z.number().optional(),\n});\n\nexport type ContentLoadInstruction = z.infer<typeof ContentLoadInstruction>;\n\nexport const ContentLoaderPayload = z\n .object({\n type: z.literal(\"Single\"),\n instruction: ContentLoadInstruction,\n })\n .or(\n z.object({\n type: z.literal(\"Multiple\"),\n loadingChunkSize: z.number().optional(),\n instructions: z.array(ContentLoadInstruction),\n })\n )\n .or(\n z.object({\n type: z.literal(\"S3\"),\n location: z.string(),\n })\n );\n\nexport type ContentLoaderPayload = z.infer<typeof ContentLoaderPayload>;\n","import { z } from \"zod\";\n\nexport const GitInteropPulsarError = z.object({\n errorType: z.string(),\n errorMessage: z.string(),\n trace: z.array(z.string()),\n});\nexport type GitInteropPulsarError = z.infer<typeof GitInteropPulsarError>;\n","// this has been ported from the Dart cloud app\nexport function getCodenameFromText(name: string): string {\n // Turn all characters with diacritics into their simple form (ě -> e, ö -> o, etc.)\n let codeName = removeDiacritics(name);\n\n // Remove all invalid characters\n codeName = codeName.replace(/[^a-zA-Z0-9$_ ]+/g, \"\");\n // Remove all starting numbers\n codeName = codeName.replace(/^[0-9 ]+/g, \"\");\n // Change to CamelCase\n codeName = toCamelCase(codeName.toLowerCase());\n // Remove all spaces\n codeName = codeName.replace(/ /g, \"\");\n\n if (codeName) {\n // Lowercase the first letter\n codeName = codeName.charAt(0).toLowerCase() + codeName.slice(1);\n }\n\n return codeName;\n}\n\nfunction toCamelCase(str: string): string {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, function (match, index) {\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase();\n });\n}\n\nfunction removeDiacritics(str: string): string {\n const diacriticsMap = [\n {\n base: \"A\",\n letters:\n /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g,\n },\n { base: \"AA\", letters: /[\\uA732]/g },\n { base: \"AE\", letters: /[\\u00C6\\u01FC\\u01E2]/g },\n { base: \"AO\", letters: /[\\uA734]/g },\n { base: \"AU\", letters: /[\\uA736]/g },\n { base: \"AV\", letters: /[\\uA738\\uA73A]/g },\n { base: \"AY\", letters: /[\\uA73C]/g },\n {\n base: \"B\",\n letters: /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g,\n },\n {\n base: \"C\",\n letters: /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g,\n },\n /* ... */\n {\n base: \"Z\",\n letters: /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g,\n },\n {\n base: \"a\",\n letters:\n /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g,\n },\n /* ... */\n {\n base: \"z\",\n letters: /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g,\n },\n ];\n\n diacriticsMap.forEach(diacritic => {\n str = str.replace(diacritic.letters, diacritic.base);\n });\n\n return str;\n}\n","const shortPersistentIdLength = 8;\nconst alphanumeric = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\n\nexport function generateShortPersistentId() {\n return generateAlphanumericId(shortPersistentIdLength);\n}\n\nfunction generateAlphanumericId(length: number): string {\n let randomString = \"\";\n\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * alphanumeric.length);\n randomString += alphanumeric.charAt(randomIndex);\n }\n\n return randomString;\n}\n","import slugifyImplementation from \"@sindresorhus/slugify\";\n\nexport function slugify(str: string, options?: slugifyImplementation.Options): string {\n const slug = slugifyImplementation(str ?? \"\", options);\n return slug?.length > 0 ? slug : \"item\";\n}\n\nexport const RESERVED_SLUGS = [\n \"workspaces\",\n \"workspace\",\n \"api0\",\n \"api1\",\n \"api2\",\n \"custom\",\n \"x-sn-reserved\",\n // further elements copied from https://github.com/shouldbee/reserved-usernames/blob/master/reserved-usernames.json\n\n \"0\",\n \"about\",\n \"access\",\n \"account\",\n \"accounts\",\n \"activate\",\n \"activities\",\n \"activity\",\n \"ad\",\n \"add\",\n \"address\",\n \"adm\",\n \"admin\",\n \"administration\",\n \"administrator\",\n \"ads\",\n \"adult\",\n \"advertising\",\n \"affiliate\",\n \"affiliates\",\n \"ajax\",\n \"all\",\n \"alpha\",\n \"analysis\",\n \"analytics\",\n \"android\",\n \"anon\",\n \"anonymous\",\n \"api\",\n \"app\",\n \"apps\",\n \"archive\",\n \"archives\",\n \"article\",\n \"asct\",\n \"asset\",\n \"assets\",\n \"atom\",\n \"auth\",\n \"authentication\",\n \"avatar\",\n \"backup\",\n \"balancer-manager\",\n \"banner\",\n \"banners\",\n \"beta\",\n \"billing\",\n \"bin\",\n \"blog\",\n \"blogs\",\n \"board\",\n \"book\",\n \"bookmark\",\n \"bot\",\n \"bots\",\n \"bug\",\n \"business\",\n \"cache\",\n \"cadastro\",\n \"calendar\",\n \"call\",\n \"campaign\",\n \"cancel\",\n \"captcha\",\n \"career\",\n \"careers\",\n \"cart\",\n \"categories\",\n \"category\",\n \"cgi\",\n \"cgi-bin\",\n \"changelog\",\n \"chat\",\n \"check\",\n \"checking\",\n \"checkout\",\n \"client\",\n \"cliente\",\n \"clients\",\n \"code\",\n \"codereview\",\n \"comercial\",\n \"comment\",\n \"comments\",\n \"communities\",\n \"community\",\n \"company\",\n \"compare\",\n \"compras\",\n \"config\",\n \"configuration\",\n \"connect\",\n \"contact\",\n \"contact-us\",\n \"contact_us\",\n \"contactus\",\n \"contest\",\n \"contribute\",\n \"corp\",\n \"create\",\n \"css\",\n \"dashboard\",\n \"data\",\n \"db\",\n \"default\",\n \"delete\",\n \"demo\",\n \"design\",\n \"designer\",\n \"destroy\",\n \"dev\",\n \"devel\",\n \"developer\",\n \"developers\",\n \"diagram\",\n \"diary\",\n \"dict\",\n \"dictionary\",\n \"die\",\n \"dir\",\n \"direct_messages\",\n \"directory\",\n \"dist\",\n \"doc\",\n \"docs\",\n \"documentation\",\n \"domain\",\n \"download\",\n \"downloads\",\n \"ecommerce\",\n \"edit\",\n \"editor\",\n \"edu\",\n \"education\",\n \"email\",\n \"employment\",\n \"empty\",\n \"end\",\n \"enterprise\",\n \"entries\",\n \"entry\",\n \"error\",\n \"errors\",\n \"eval\",\n \"event\",\n \"exit\",\n \"explore\",\n \"facebook\",\n \"faq\",\n \"favorite\",\n \"favorites\",\n \"feature\",\n \"features\",\n \"feed\",\n \"feedback\",\n \"feeds\",\n \"file\",\n \"files\",\n \"first\",\n \"flash\",\n \"fleet\",\n \"fleets\",\n \"flog\",\n \"follow\",\n \"followers\",\n \"following\",\n \"forgot\",\n \"form\",\n \"forum\",\n \"forums\",\n \"founder\",\n \"free\",\n \"friend\",\n \"friends\",\n \"ftp\",\n \"gadget\",\n \"gadgets\",\n \"game\",\n \"games\",\n \"get\",\n \"ghost\",\n \"gift\",\n \"gifts\",\n \"gist\",\n \"github\",\n \"graph\",\n \"group\",\n \"groups\",\n \"guest\",\n \"guests\",\n \"help\",\n \"home\",\n \"homepage\",\n \"host\",\n \"hosting\",\n \"hostmaster\",\n \"hostname\",\n \"howto\",\n \"hpg\",\n \"html\",\n \"http\",\n \"httpd\",\n \"https\",\n \"i\",\n \"iamges\",\n \"icon\",\n \"icons\",\n \"id\",\n \"idea\",\n \"ideas\",\n \"image\",\n \"images\",\n \"imap\",\n \"img\",\n \"index\",\n \"indice\",\n \"info\",\n \"information\",\n \"inquiry\",\n \"instagram\",\n \"intranet\",\n \"invitations\",\n \"invite\",\n \"ipad\",\n \"iphone\",\n \"irc\",\n \"is\",\n \"issue\",\n \"issues\",\n \"it\",\n \"item\",\n \"items\",\n \"java\",\n \"javascript\",\n \"job\",\n \"jobs\",\n \"join\",\n \"js\",\n \"json\",\n \"jump\",\n \"knowledgebase\",\n \"language\",\n \"languages\",\n \"last\",\n \"ldap-status\",\n \"legal\",\n \"license\",\n \"link\",\n \"links\",\n \"linux\",\n \"list\",\n \"lists\",\n \"log\",\n \"log-in\",\n \"log-out\",\n \"log_in\",\n \"log_out\",\n \"login\",\n \"logout\",\n \"logs\",\n \"m\",\n \"mac\",\n \"mail\",\n \"mail1\",\n \"mail2\",\n \"mail3\",\n \"mail4\",\n \"mail5\",\n \"mailer\",\n \"mailing\",\n \"maintenance\",\n \"manager\",\n \"manual\",\n \"map\",\n \"maps\",\n \"marketing\",\n \"master\",\n \"me\",\n \"media\",\n \"member\",\n \"members\",\n \"message\",\n \"messages\",\n \"messenger\",\n \"microblog\",\n \"microblogs\",\n \"mine\",\n \"mis\",\n \"mob\",\n \"mobile\",\n \"movie\",\n \"movies\",\n \"mp3\",\n \"msg\",\n \"msn\",\n \"music\",\n \"musicas\",\n \"mx\",\n \"my\",\n \"mysql\",\n \"name\",\n \"named\",\n \"nan\",\n \"navi\",\n \"navigation\",\n \"net\",\n \"network\",\n \"new\",\n \"news\",\n \"newsletter\",\n \"nick\",\n \"nickname\",\n \"notes\",\n \"noticias\",\n \"notification\",\n \"notifications\",\n \"notify\",\n \"ns\",\n \"ns1\",\n \"ns10\",\n \"ns2\",\n \"ns3\",\n \"ns4\",\n \"ns5\",\n \"ns6\",\n \"ns7\",\n \"ns8\",\n \"ns9\",\n \"null\",\n \"oauth\",\n \"oauth_clients\",\n \"offer\",\n \"offers\",\n \"official\",\n \"old\",\n \"online\",\n \"openid\",\n \"operator\",\n \"order\",\n \"orders\",\n \"organization\",\n \"organizations\",\n \"overview\",\n \"owner\",\n \"owners\",\n \"page\",\n \"pager\",\n \"pages\",\n \"panel\",\n \"password\",\n \"payment\",\n \"perl\",\n \"phone\",\n \"photo\",\n \"photoalbum\",\n \"photos\",\n \"php\",\n \"phpmyadmin\",\n \"phppgadmin\",\n \"phpredisadmin\",\n \"pic\",\n \"pics\",\n \"ping\",\n \"plan\",\n \"plans\",\n \"plugin\",\n \"plugins\",\n \"policy\",\n \"pop\",\n \"pop3\",\n \"popular\",\n \"portal\",\n \"post\",\n \"postfix\",\n \"postmaster\",\n \"posts\",\n \"pr\",\n \"premium\",\n \"press\",\n \"price\",\n \"pricing\",\n \"privacy\",\n \"privacy-policy\",\n \"privacy_policy\",\n \"privacypolicy\",\n \"private\",\n \"product\",\n \"products\",\n \"profile\",\n \"project\",\n \"projects\",\n \"promo\",\n \"pub\",\n \"public\",\n \"purpose\",\n \"put\",\n \"python\",\n \"query\",\n \"random\",\n \"ranking\",\n \"read\",\n \"readme\",\n \"recent\",\n \"recruit\",\n \"recruitment\",\n \"register\",\n \"registration\",\n \"release\",\n \"remove\",\n \"replies\",\n \"report\",\n \"reports\",\n \"repositories\",\n \"repository\",\n \"req\",\n \"request\",\n \"requests\",\n \"reset\",\n \"roc\",\n \"root\",\n \"rss\",\n \"ruby\",\n \"rule\",\n \"sag\",\n \"sale\",\n \"sales\",\n \"sample\",\n \"samples\",\n \"save\",\n \"school\",\n \"script\",\n \"scripts\",\n \"search\",\n \"secure\",\n \"security\",\n \"self\",\n \"send\",\n \"server\",\n \"server-info\",\n \"server-status\",\n \"service\",\n \"services\",\n \"session\",\n \"sessions\",\n \"setting\",\n \"settings\",\n \"setup\",\n \"share\",\n \"shop\",\n \"show\",\n \"sign-in\",\n \"sign-up\",\n \"sign_in\",\n \"sign_up\",\n \"signin\",\n \"signout\",\n \"signup\",\n \"site\",\n \"sitemap\",\n \"sites\",\n \"smartphone\",\n \"smtp\",\n \"soporte\",\n \"source\",\n \"spec\",\n \"special\",\n \"sql\",\n \"src\",\n \"ssh\",\n \"ssl\",\n \"ssladmin\",\n \"ssladministrator\",\n \"sslwebmaster\",\n \"staff\",\n \"stage\",\n \"staging\",\n \"start\",\n \"stat\",\n \"state\",\n \"static\",\n \"stats\",\n \"status\",\n \"store\",\n \"stores\",\n \"stories\",\n \"style\",\n \"styleguide\",\n \"stylesheet\",\n \"stylesheets\",\n \"subdomain\",\n \"subscribe\",\n \"subscriptions\",\n \"suporte\",\n \"support\",\n \"svn\",\n \"swf\",\n \"sys\",\n \"sysadmin\",\n \"sysadministrator\",\n \"system\",\n \"tablet\",\n \"tablets\",\n \"tag\",\n \"talk\",\n \"task\",\n \"tasks\",\n \"team\",\n \"teams\",\n \"tech\",\n \"telnet\",\n \"term\",\n \"terms\",\n \"terms-of-service\",\n \"terms_of_service\",\n \"termsofservice\",\n \"test\",\n \"test1\",\n \"test2\",\n \"test3\",\n \"teste\",\n \"testing\",\n \"tests\",\n \"theme\",\n \"themes\",\n \"thread\",\n \"threads\",\n \"tmp\",\n \"todo\",\n \"tool\",\n \"tools\",\n \"top\",\n \"topic\",\n \"topics\",\n \"tos\",\n \"tour\",\n \"translations\",\n \"trends\",\n \"tutorial\",\n \"tux\",\n \"tv\",\n \"twitter\",\n \"undef\",\n \"unfollow\",\n \"unsubscribe\",\n \"update\",\n \"upload\",\n \"uploads\",\n \"url\",\n \"usage\",\n \"user\",\n \"username\",\n \"users\",\n \"usuario\",\n \"vendas\",\n \"ver\",\n \"version\",\n \"video\",\n \"videos\",\n \"visitor\",\n \"watch\",\n \"weather\",\n \"web\",\n \"webhook\",\n \"webhooks\",\n \"webmail\",\n \"webmaster\",\n \"website\",\n \"websites\",\n \"welcome\",\n \"widget\",\n \"widgets\",\n \"wiki\",\n \"win\",\n \"windows\",\n \"word\",\n \"work\",\n \"works\",\n \"workshop\",\n \"ww\",\n \"wws\",\n \"www\",\n \"www1\",\n \"www2\",\n \"www3\",\n \"www4\",\n \"www5\",\n \"www6\",\n \"www7\",\n \"wwws\",\n \"wwww\",\n \"xfn\",\n \"xml\",\n \"xmpp\",\n \"xpg\",\n \"xxx\",\n \"yaml\",\n \"year\",\n \"yml\",\n \"you\",\n \"yourdomain\",\n \"yourname\",\n \"yoursite\",\n \"yourusername\",\n \"latest\",\n \"live\",\n \"preview\",\n \"learn\",\n \"supernova\",\n \"super-nova\",\n];\n\nconst RESERVED_SLUGS_SET = new Set(RESERVED_SLUGS);\n\nexport const RESERVED_SLUG_PREFIX = \"x-sn-reserved-\";\n\nconst isSlugReservedInternal = (slug: string) => slug?.startsWith(RESERVED_SLUG_PREFIX);\nexport function isSlugReserved(slug: string) {\n return RESERVED_SLUGS_SET.has(slug) || isSlugReservedInternal(slug);\n}\n","// Consists of lowercased letters, digits and hyphens.\n// Can not start or end with hyphen.\n// Warning: does not forbid consecutive hyphens\nexport const slugRegex = /^[a-z0-9][a-z0-9-]*[a-z0-9]$/;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ElementPropertyTypeSchema = z.enum([\"Text\", \"Number\", \"Boolean\", \"Select\", \"Generic\", \"Link\", \"URL\"]);\nexport const ElementPropertyTargetType = z.enum([\"Token\", \"Component\", \"DocumentationPage\"]);\nexport const ElementPropertyLinkType = z.enum([\"FigmaComponent\", \"DocumentationPage\"]);\nexport const ElementPropertyImmutableType = z.enum([\"Collection\"]);\n\nconst CODE_NAME_REGEX = /^[a-zA-Z_$][a-zA-Z_$0-9]{1,99}$/;\n\nexport const ColorTokenInlineData = z.object({\n value: z.string(),\n});\n\nexport const ElementPropertyDefinitionOption = z.object({\n id: z.string(),\n name: z.string(),\n backgroundColor: ColorTokenInlineData.optional(),\n});\n\nexport const ElementPropertyDefinition = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n name: z.string(),\n codeName: z.string().regex(CODE_NAME_REGEX),\n description: z.string(),\n type: ElementPropertyTypeSchema,\n targetElementType: ElementPropertyTargetType,\n options: z.array(ElementPropertyDefinitionOption).optional(),\n linkElementType: ElementPropertyLinkType.optional(),\n});\n\nexport type ElementPropertyType = z.infer<typeof ElementPropertyTypeSchema>;\nexport const ElementPropertyType = ElementPropertyTypeSchema.enum;\n\nexport type ElementPropertyTargetType = z.infer<typeof ElementPropertyTargetType>;\nexport type ElementPropertyLinkType = z.infer<typeof ElementPropertyLinkType>;\nexport type ElementPropertyImmutableType = z.infer<typeof ElementPropertyImmutableType>;\nexport type ColorTokenInlineData = z.infer<typeof ColorTokenInlineData>;\nexport type ElementPropertyDefinitionOption = z.infer<typeof ElementPropertyDefinitionOption>;\nexport type ElementPropertyDefinition = z.infer<typeof ElementPropertyDefinition>;\n\nexport type CreateElementPropertyDefinition = DbCreateInputOmit<ElementPropertyDefinition> & {\n columnWidth?: number;\n};\n\nexport type UpdateElementPropertyDefinition = OmitStrict<\n DbUpdate<ElementPropertyDefinition>,\n \"designSystemVersionId\" | \"targetElementType\" | \"type\" | \"linkElementType\"\n>;\n\nexport type ElementPropertyDefinitionDiff = {\n toCreate: CreateElementPropertyDefinition[];\n toUpdate: UpdateElementPropertyDefinition[];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ElementPropertyValue = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n targetElementPersistentId: z.string(),\n definitionPersistentId: z.string(),\n stringValue: z.string().nullish(),\n numberValue: z.number().nullish(),\n booleanValue: z.boolean().nullish(),\n referenceValue: z.string().nullish(),\n referenceValuePreview: z.string().optional(),\n});\n\nexport type ElementPropertyValue = z.infer<typeof ElementPropertyValue>;\n\nexport type CreateElementPropertyValue = DbCreateInputOmit<ElementPropertyValue>;\nexport type UpdateElementPropertyValue = OmitStrict<\n DbUpdate<ElementPropertyValue>,\n \"designSystemVersionId\" | \"definitionPersistentId\" | \"targetElementPersistentId\"\n>;\n\nexport type ElementPropertyValueDiff = {\n toCreate: CreateElementPropertyValue[];\n toUpdate: UpdateElementPropertyValue[];\n toDelete: ElementPropertyValue[];\n};\n","import { z } from \"zod\";\n\nexport const Point2D = z.object({\n x: z.number(),\n y: z.number(),\n});\n\nexport type Point2D = z.infer<typeof Point2D>;\n","import { z } from \"zod\";\n\nconst nullSize = { height: -1, width: -1 };\n\nfunction isNullSize(size: Size): boolean {\n return size.height === nullSize.height && size.width === nullSize.width;\n}\n\nexport const Size = z.object({\n width: z\n .number()\n .nullish()\n .transform(v => v ?? nullSize.width),\n\n height: z\n .number()\n .nullish()\n .transform(v => v ?? nullSize.height),\n});\n\nexport const SizeOrUndefined = Size.optional().transform(v => {\n if (!v) return undefined;\n if (isNullSize(v)) return undefined;\n\n return v;\n});\n\nexport type Size = z.infer<typeof Size>;\n","import { z } from \"zod\";\nimport { ObjectMeta } from \"../../common\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport type CreateDesignElement = DbCreateInputOmit<DesignElement>;\nexport type UpdateDesignElement = OmitStrict<\n DbUpdate<DesignElement>,\n \"brandPersistentId\" | \"childType\" | \"designSystemVersionId\" | \"shortPersistentId\"\n>;\n\n//\n// Token types\n//\n\nexport const DesignTokenType = z.enum([\n \"Color\",\n \"Border\",\n \"Gradient\",\n \"Shadow\",\n \"Dimension\",\n \"Duration\",\n \"Size\",\n \"Space\",\n \"Opacity\",\n \"FontSize\",\n \"LineHeight\",\n \"LetterSpacing\",\n \"ParagraphSpacing\",\n \"BorderWidth\",\n \"BorderRadius\",\n \"ZIndex\",\n \"Image\",\n \"String\",\n \"ProductCopy\",\n \"FontFamily\",\n \"FontWeight\",\n \"TextDecoration\",\n \"TextCase\",\n \"Visibility\",\n \"Typography\",\n \"Blur\",\n \"Font\",\n]);\n\nexport const tokenElementTypes: DesignTokenType[] = [...DesignTokenType.options.filter(v => v !== \"Font\")];\n\nexport type DesignTokenType = z.infer<typeof DesignTokenType>;\n\n//\n// Non-token types\n//\n\nexport const DesignElementType = DesignTokenType.or(\n z.enum([\n \"Component\",\n \"Theme\",\n \"Documentation\",\n \"DocumentationPage\",\n \"DesignSystemComponent\",\n \"ElementGroup\",\n \"FigmaNodeStructure\",\n \"FigmaNodeReference\",\n \"PageBlock\",\n ])\n);\n\nexport type DesignElementType = z.infer<typeof DesignElementType>;\n\nexport function isTokenType(type: DesignElementType): type is DesignTokenType {\n return DesignTokenType.safeParse(type).success;\n}\n\nconst numberTokenTypes: Set<DesignTokenType> = new Set([\n \"Dimension\",\n \"Duration\",\n \"Size\",\n \"Space\",\n \"Opacity\",\n \"FontSize\",\n \"LineHeight\",\n \"LetterSpacing\",\n \"ParagraphSpacing\",\n \"BorderWidth\",\n \"BorderRadius\",\n \"ZIndex\",\n] satisfies DesignTokenType[]);\n\nconst stringTokenTypes: Set<DesignTokenType> = new Set([\n \"String\",\n \"ProductCopy\",\n \"FontFamily\",\n \"FontWeight\",\n] satisfies DesignTokenType[]);\n\nconst fallbackNumberValue = 14;\n\nexport function areTokenTypesCompatible(\n lhs: DesignTokenType,\n rhs: DesignTokenType,\n isNonCompatibleTypeChangesEnabled = false\n): boolean {\n if (lhs === rhs) return true;\n if (numberTokenTypes.has(lhs) && numberTokenTypes.has(rhs)) return true;\n if (stringTokenTypes.has(lhs) && stringTokenTypes.has(rhs)) return true;\n\n if (isNonCompatibleTypeChangesEnabled && stringTokenTypes.has(lhs) && numberTokenTypes.has(rhs)) return true;\n\n return false;\n}\n\nexport function castStringToDimensionValue(lhs: DesignTokenType, rhs: DesignTokenType, value?: unknown) {\n if (stringTokenTypes.has(lhs) && numberTokenTypes.has(rhs) && value) {\n const newValue = Number.parseFloat(value?.toString() ?? \"\");\n const measure = Number.isNaN(newValue) ? fallbackNumberValue : newValue;\n return { unit: \"Pixels\", measure };\n }\n\n return value;\n}\n\n//\n// Element category\n//\n\nexport const DesignElementCategory = z.enum([\n \"Token\",\n \"Component\",\n \"DesignSystemComponent\",\n \"DocumentationPage\",\n \"Theme\",\n \"PageBlock\",\n]);\n\nexport type DesignElementCategory = z.infer<typeof DesignElementCategory>;\n\n// Elements\n\nexport const DesignSystemElementExportProps = z.object({\n isAsset: z\n .boolean()\n .nullish()\n .transform(v => v ?? false),\n\n codeName: z.string().nullish(),\n});\n\nexport type DesignSystemElementExportProps = z.infer<typeof DesignSystemElementExportProps>;\n\nexport const ShallowDesignElement = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n type: DesignElementType,\n brandPersistentId: z.string().optional(),\n collectionPersistentId: z.string().optional(),\n parentPersistentId: z.string().optional(),\n shortPersistentId: z.string().optional(),\n childType: DesignElementType.optional(),\n sortOrder: z.number(),\n origin: z.record(z.any()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const DesignElement = ShallowDesignElement.extend({\n meta: ObjectMeta,\n slug: z.string().optional(),\n userSlug: z.string().optional(),\n exportProperties: DesignSystemElementExportProps.optional(),\n data: z.record(z.any()),\n origin: z.record(z.any()).optional(),\n});\n\nexport type ShallowDesignElement = z.infer<typeof ShallowDesignElement>;\nexport type DesignElement = z.infer<typeof DesignElement>;\n\nexport const HierarchicalElements = DesignTokenType.or(\n z.enum([\"Component\", \"DesignSystemComponent\", \"DocumentationPage\"])\n);\n\nexport type HierarchicalElements = z.infer<typeof HierarchicalElements>;\n","import { z } from \"zod\";\nimport { PageBlockDefinitionMultiRichTextPropertyStyle } from \"../../documentation/block-definitions/item\";\nimport { DesignTokenType } from \"../raw-element\";\nimport {\n PageBlockCalloutType,\n PageBlockCodeLanguage,\n PageBlockText,\n PageBlockTokenNameFormat,\n} from \"./documentation-block-v1\";\n\n//\n// Enums\n//\n\nexport const PageBlockLinkType = z.enum([\"DocumentationItem\", \"PageHeading\", \"Url\"]);\nexport const PageBlockImageType = z.enum([\"Resource\", \"FigmaNode\"]);\nexport const PageBlockImageAlignment = z.enum([\"Left\", \"Center\", \"Stretch\"]);\nexport const PageBlockTableCellAlignment = z.enum([\"Left\", \"Center\", \"Right\"]);\nexport const PageBlockPreviewContainerSize = z.enum([\"Centered\", \"NaturalHeight\"]);\nexport const PageBlockThemeDisplayMode = z.enum([\"Split\", \"Override\"]);\nexport const PageBlockTokenValueFormat = z.enum([\"ResolvedValue\", \"ReferenceName\", \"NoValue\"]);\n\nexport type PageBlockLinkType = z.infer<typeof PageBlockLinkType>;\nexport type PageBlockImageType = z.infer<typeof PageBlockImageType>;\nexport type PageBlockImageAlignment = z.infer<typeof PageBlockImageAlignment>;\nexport type PageBlockTableCellAlignment = z.infer<typeof PageBlockTableCellAlignment>;\nexport type PageBlockPreviewContainerSize = z.infer<typeof PageBlockPreviewContainerSize>;\nexport type PageBlockThemeDisplayMode = z.infer<typeof PageBlockThemeDisplayMode>;\nexport type PageBlockTokenValueFormat = z.infer<typeof PageBlockTokenValueFormat>;\n\n//\n// Definitions - Block\n//\n\nexport const PageBlockImageResourceReference = z.object({\n resourceId: z.string(),\n url: z.string(),\n});\n\nexport const PageBlockResourceFrameNodeReference = z.object({\n sourceId: z.string(),\n frameReferenceId: z.string(),\n});\n\nexport const PageBlockImageReference = z.object({\n type: PageBlockImageType,\n\n resource: PageBlockImageResourceReference.optional(),\n figmaNode: PageBlockResourceFrameNodeReference.optional(),\n});\n\nexport const PageBlockColorV2 = z.object({\n value: z.string(),\n referencedTokenId: z.string().optional(),\n});\n\nexport const PageBlockAssetEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n showNestedGroups: z.boolean().optional(),\n});\n\nexport const PageBlockFigmaComponentEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n selectedComponentProperties: z.array(z.string()).optional(),\n});\n\nexport const PageBlockFigmaNodeEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n});\n\nexport const PageBlockAppearanceV2 = z.object({\n itemBackgroundColor: PageBlockColorV2.optional(),\n numberOfColumns: z.number().optional(),\n});\n\nexport const PageBlockItemUntypedValue = z\n .object({\n value: z.any(),\n })\n .and(z.record(z.any()));\n\nexport const PageBlockLinkV2 = z.object({\n type: PageBlockLinkType,\n documentationItemId: z.string().optional(),\n pageHeadingId: z.string().optional(),\n url: z.string().optional(),\n openInNewTab: z.boolean().optional(),\n});\n\nexport const PageBlockItemV2 = z.object({\n id: z.string(),\n linksTo: PageBlockLinkV2.optional(),\n props: z.record(PageBlockItemUntypedValue),\n});\n\nexport const PageBlockDataV2 = z.object({\n packageId: z.string(),\n variantId: z.string().optional(),\n indentLevel: z.number(),\n appearance: PageBlockAppearanceV2.optional(),\n items: z.array(PageBlockItemV2),\n});\n\nexport type PageBlockImageResourceReference = z.infer<typeof PageBlockImageResourceReference>;\nexport type PageBlockResourceFrameNodeReference = z.infer<typeof PageBlockResourceFrameNodeReference>;\nexport type PageBlockImageReference = z.infer<typeof PageBlockImageReference>;\nexport type PageBlockColorV2 = z.infer<typeof PageBlockColorV2>;\nexport type PageBlockAssetEntityMeta = z.infer<typeof PageBlockAssetEntityMeta>;\nexport type PageBlockFigmaComponentEntityMeta = z.infer<typeof PageBlockFigmaComponentEntityMeta>;\nexport type PageBlockFigmaNodeEntityMeta = z.infer<typeof PageBlockFigmaNodeEntityMeta>;\nexport type PageBlockAppearanceV2 = z.infer<typeof PageBlockAppearanceV2>;\nexport type PageBlockItemUntypedValue = z.infer<typeof PageBlockItemUntypedValue>;\nexport type PageBlockLinkV2 = z.infer<typeof PageBlockLinkV2>;\nexport type PageBlockItemV2 = z.infer<typeof PageBlockItemV2>;\nexport type PageBlockDataV2 = z.infer<typeof PageBlockDataV2>;\n\n//\n// Definitions - Typed Values\n//\n\nexport const PageBlockItemAssetValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n showSearch: z.boolean().optional(),\n showAssetDescription: z.boolean().optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Asset\", \"AssetGroup\"]),\n entityMeta: PageBlockAssetEntityMeta.optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemAssetPropertyValue = z.object({\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemFigmaComponentValue = z.object({\n showComponentName: z.boolean().optional(),\n showComponentDescription: z.boolean().optional(),\n showPropertyList: z.boolean().optional(),\n previewOrderIds: z.array(z.string()).optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"FigmaComponent\"]),\n entityMeta: z\n .object({\n selectedComponentProperties: z.string().array().optional(),\n selectedComponentVariants: z.record(z.string().array()).optional(),\n })\n .optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemBooleanValue = z.object({\n value: z.boolean(),\n});\n\nexport const PageBlockItemCodeValue = z.object({\n format: PageBlockCodeLanguage.optional(),\n caption: z.string().optional(),\n value: z.string(),\n});\n\nexport const PageBlockItemSandboxValue = z.object({\n showCode: z.boolean().optional(),\n showControls: z.boolean().optional(),\n backgroundColor: z.string().optional(),\n alignPreview: z.enum([\"Left\", \"Center\"]).optional(),\n previewHeight: z.number().optional(),\n value: z.string(),\n});\n\nexport const PageBlockItemColorValue = z.record(z.any());\n\nexport const PageBlockItemComponentValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedBrandId: z.string().optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Component\", \"ComponentGroup\"]),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemComponentPropertyValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemDividerValue = z.object({});\n\nexport const PageBlockItemEmbedValue = z.object({\n value: z.string().optional(),\n caption: z.string().optional(),\n height: z.number().optional(),\n alt: z.string().optional(),\n openGraph: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n })\n .optional(),\n});\n\nexport const PageBlockItemFigmaNodeValue = z.object({\n showSearch: z.boolean().optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n showFrameDetails: z.boolean().optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityMeta: PageBlockFigmaNodeEntityMeta.optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemImageValue = z.object({\n alt: z.string().optional(),\n caption: z.string().optional(),\n alignment: PageBlockImageAlignment.optional(),\n openLightbox: z.boolean().optional(),\n isBordered: z.boolean().optional(),\n value: PageBlockImageReference.optional(),\n});\n\nexport const PageBlockItemMarkdownValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemMultiRichTextValue = z.object({\n value: PageBlockText.array(),\n});\n\nexport const PageBlockItemMultiSelectValue = z.object({\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemNumberValue = z.object({\n value: z.number(),\n});\n\nexport const PageBlockItemRichTextValue = z.object({\n value: PageBlockText,\n calloutType: PageBlockCalloutType.optional(),\n});\n\nexport const PageBlockItemSingleSelectValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemStorybookValueOld = z.object({\n value: z.string().optional(),\n caption: z.string().optional(),\n height: z.number().optional(),\n embedUrl: z.string().optional(),\n\n storyId: z.string().optional(),\n sourceId: z.string().optional(),\n});\n\nexport const PageBlockItemStorybookValue = z.object({\n value: z\n .array(\n z.object({\n entityId: z.string().optional(),\n embed: z\n .object({\n inputUrl: z.string(),\n embedUrl: z.string(),\n })\n .optional(),\n entityMeta: z\n .object({\n caption: z.string().optional(),\n height: z.number().optional(),\n hiddenProps: z.array(z.string()).optional(),\n propValues: z.record(z.unknown()).optional(),\n })\n .optional(),\n })\n )\n .optional(),\n showCode: z.boolean().optional(),\n showFooter: z.boolean().optional(),\n showProperties: z.boolean().optional(),\n showDescription: z.boolean().optional(),\n showDefaults: z.boolean().optional(),\n});\n\nexport const PageBlockItemTextValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemSwatch = z.object({\n id: z.string(),\n selectedThemeIds: z.string().array(),\n});\n\nexport const PageBlockItemTokenValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedThemeIds: z.array(z.string()).optional(),\n swatches: z.array(PageBlockItemSwatch).optional(),\n themeDisplayMode: PageBlockThemeDisplayMode.optional(),\n tokenNameFormat: PageBlockTokenNameFormat.optional(),\n tokenNameCustomPropertyId: z.string().optional(),\n tokenValueFormat: PageBlockTokenValueFormat.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Token\", \"TokenGroup\"]),\n entityMeta: z\n .object({\n showNestedGroups: z.boolean().optional(),\n })\n .optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemFileValue = z.object({\n value: z\n .object({\n entityId: z.string(),\n entityMeta: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n })\n .optional(),\n })\n .array(),\n});\n\nexport const PageBlockItemTokenPropertyValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedThemeIds: z.array(z.string()).optional(),\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemTokenTypeValue = z.object({\n value: z.array(DesignTokenType).default([]),\n});\n\nexport const PageBlockItemUrlValue = z.object({\n value: z.string(),\n});\n\nexport type PageBlockItemAssetValue = z.infer<typeof PageBlockItemAssetValue>;\nexport type PageBlockItemAssetPropertyValue = z.infer<typeof PageBlockItemAssetPropertyValue>;\nexport type PageBlockItemFigmaComponentValue = z.infer<typeof PageBlockItemFigmaComponentValue>;\nexport type PageBlockItemBooleanValue = z.infer<typeof PageBlockItemBooleanValue>;\nexport type PageBlockItemCodeValue = z.infer<typeof PageBlockItemCodeValue>;\nexport type PageBlockItemSandboxValue = z.infer<typeof PageBlockItemSandboxValue>;\nexport type PageBlockItemColorValue = z.infer<typeof PageBlockItemColorValue>;\nexport type PageBlockItemComponentValue = z.infer<typeof PageBlockItemComponentValue>;\nexport type PageBlockItemComponentPropertyValue = z.infer<typeof PageBlockItemComponentPropertyValue>;\nexport type PageBlockItemDividerValue = z.infer<typeof PageBlockItemDividerValue>;\nexport type PageBlockItemEmbedValue = z.infer<typeof PageBlockItemEmbedValue>;\nexport type PageBlockItemFigmaNodeValue = z.infer<typeof PageBlockItemFigmaNodeValue>;\nexport type PageBlockItemImageValue = z.infer<typeof PageBlockItemImageValue>;\nexport type PageBlockItemMarkdownValue = z.infer<typeof PageBlockItemMarkdownValue>;\nexport type PageBlockItemMultiRichTextValue = z.infer<typeof PageBlockItemMultiRichTextValue>;\nexport type PageBlockItemMultiSelectValue = z.infer<typeof PageBlockItemMultiSelectValue>;\nexport type PageBlockItemNumberValue = z.infer<typeof PageBlockItemNumberValue>;\nexport type PageBlockItemRichTextValue = z.infer<typeof PageBlockItemRichTextValue>;\nexport type PageBlockItemSingleSelectValue = z.infer<typeof PageBlockItemSingleSelectValue>;\nexport type PageBlockItemStorybookValueOld = z.infer<typeof PageBlockItemStorybookValueOld>;\nexport type PageBlockItemStorybookValue = z.infer<typeof PageBlockItemStorybookValue>;\nexport type PageBlockItemTextValue = z.infer<typeof PageBlockItemTextValue>;\nexport type PageBlockItemSwatch = z.infer<typeof PageBlockItemSwatch>;\nexport type PageBlockItemTokenValue = z.infer<typeof PageBlockItemTokenValue>;\nexport type PageBlockItemTokenPropertyValue = z.infer<typeof PageBlockItemTokenPropertyValue>;\nexport type PageBlockItemTokenTypeValue = z.infer<typeof PageBlockItemTokenTypeValue>;\nexport type PageBlockItemUrlValue = z.infer<typeof PageBlockItemUrlValue>;\nexport type PageBlockItemFileValue = z.infer<typeof PageBlockItemFileValue>;\n\n//\n// Definitions - Rich text editor value\n//\n\nexport const PageBlockItemRichTextEditorParagraphNode = z.object({\n type: z.literal(\"Paragraph\"),\n value: PageBlockItemRichTextValue.shape.value,\n});\n\nexport const PageBlockItemRichTextEditorListNode = z.object({\n type: z.literal(\"List\"),\n listType: PageBlockDefinitionMultiRichTextPropertyStyle,\n value: PageBlockItemMultiRichTextValue.shape.value,\n});\n\nexport const PageBlockItemRichTextEditorNode = z.discriminatedUnion(\"type\", [\n PageBlockItemRichTextEditorParagraphNode,\n PageBlockItemRichTextEditorListNode,\n]);\n\nexport const PageBlockItemRichTextEditorValue = z.object({\n value: PageBlockItemRichTextEditorNode.array(),\n});\n\nexport type PageBlockItemRichTextEditorParagraphNode = z.infer<typeof PageBlockItemRichTextEditorParagraphNode>;\nexport type PageBlockItemRichTextEditorListNode = z.infer<typeof PageBlockItemRichTextEditorListNode>;\nexport type PageBlockItemRichTextEditorNode = z.infer<typeof PageBlockItemRichTextEditorNode>;\nexport type PageBlockItemRichTextEditorValue = z.infer<typeof PageBlockItemRichTextEditorValue>;\n\n//\n// Definitions - Table Value\n//\n\nexport const PageBlockItemTableRichTextNode = z.object({\n type: z.literal(\"RichText\"),\n id: z.string(),\n value: PageBlockItemRichTextValue.shape.value,\n});\n\nexport const PageBlockItemTableImageNode = z.object({\n type: z.literal(\"Image\"),\n id: z.string(),\n caption: PageBlockItemImageValue.shape.caption,\n alt: PageBlockItemImageValue.shape.alt,\n value: PageBlockItemImageValue.shape.value,\n alignment: PageBlockItemImageValue.shape.alignment,\n openLightbox: PageBlockItemImageValue.shape.openLightbox,\n isBordered: PageBlockItemImageValue.shape.isBordered,\n});\n\nexport const PageBlockItemTableNode = z.discriminatedUnion(\"type\", [\n PageBlockItemTableRichTextNode,\n PageBlockItemTableImageNode,\n]);\n\nexport const PageBlockItemTableCell = z.object({\n id: z.string(),\n nodes: z.array(PageBlockItemTableNode),\n columnWidth: z.number().optional(),\n alignment: PageBlockTableCellAlignment,\n});\n\nexport const PageBlockItemTableRow = z.object({\n cells: z.array(PageBlockItemTableCell),\n});\n\nexport const PageBlockItemTableValue = z.object({\n highlightHeaderColumn: z.boolean().optional(),\n highlightHeaderRow: z.boolean().optional(),\n showBorder: z.boolean().optional(),\n value: z.array(PageBlockItemTableRow).default([]),\n});\n\nexport type PageBlockItemTableRichTextNode = z.infer<typeof PageBlockItemTableRichTextNode>;\nexport type PageBlockItemTableImageNode = z.infer<typeof PageBlockItemTableImageNode>;\nexport type PageBlockItemTableNode = z.infer<typeof PageBlockItemTableNode>;\nexport type PageBlockItemTableCell = z.infer<typeof PageBlockItemTableCell>;\nexport type PageBlockItemTableRow = z.infer<typeof PageBlockItemTableRow>;\nexport type PageBlockItemTableValue = z.infer<typeof PageBlockItemTableValue>;\n\n//\n// Definitions - Conversion\n//\n\nexport function storybookValueFromOldValue(oldValue: PageBlockItemStorybookValueOld): PageBlockItemStorybookValue {\n return {\n value: [\n {\n // URLs\n ...(oldValue.embedUrl &&\n oldValue.value && {\n embed: {\n embedUrl: oldValue.embedUrl,\n inputUrl: oldValue.value,\n },\n }),\n\n // Meta\n entityMeta: {\n caption: oldValue.caption,\n height: oldValue.height,\n },\n },\n ],\n };\n}\n","import { z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\nimport { PageBlockDefinitionVariant } from \"./variant\";\n\n//\n// Enums\n//\n\nexport const PageBlockDefinitionPropertyType = z.enum([\n \"RichText\",\n \"MultiRichText\",\n \"RichTextEditor\",\n \"Text\",\n \"Boolean\",\n \"Number\",\n \"SingleSelect\",\n \"MultiSelect\",\n \"Image\",\n \"Token\",\n \"TokenType\",\n \"TokenProperty\",\n \"Component\",\n \"ComponentProperty\",\n \"Asset\",\n \"AssetProperty\",\n \"FigmaNode\",\n \"EmbedURL\",\n \"URL\",\n \"Markdown\",\n \"Code\",\n \"CodeSandbox\",\n \"Table\",\n \"Divider\",\n \"Storybook\",\n \"Color\",\n \"FigmaComponent\",\n \"File\",\n]);\n\nexport const PageBlockDefinitionRichTextPropertyStyle = z.enum([\n \"Title1\",\n \"Title2\",\n \"Title3\",\n \"Title4\",\n \"Title5\",\n \"Quote\",\n \"Callout\",\n \"Default\",\n]);\n\nexport const PageBlockDefinitionMultiRichTextPropertyStyle = z.enum([\"OL\", \"UL\"]);\n\nexport const PageBlockDefinitionRichTextEditorPropertyStyle = z.enum([\n \"OL\",\n \"UL\",\n \"Bold\",\n \"Italic\",\n \"Link\",\n \"Strikethrough\",\n \"InlineCode\",\n]);\n\nexport const PageBlockDefinitionTextPropertyStyle = z.enum([\n \"Title1\",\n \"Title2\",\n \"Title3\",\n \"Title4\",\n \"Title5\",\n \"Default\",\n \"DefaultBold\",\n \"DefaultSemibold\",\n \"Small\",\n \"SmallBold\",\n \"SmallSemibold\",\n \"Custom\",\n]);\n\nexport const PageBlockDefinitionTextPropertyColor = z.enum([\"Neutral\", \"NeutralFaded\"]);\n\nexport const PageBlockDefinitionBooleanPropertyStyle = z.enum([\"SegmentedControl\", \"ToggleButton\", \"Checkbox\"]);\nexport const PageBlockDefinitionSingleSelectPropertyStyle = z.enum([\n \"SegmentedControl\",\n \"ToggleButton\",\n \"Select\",\n \"Checkbox\",\n]);\nexport const PageBlockDefinitionSingleSelectPropertyColor = z.enum([\n \"Green\",\n \"Red\",\n \"Yellow\",\n \"Blue\",\n \"Purple\",\n \"Orange\",\n \"Pink\",\n \"Teal\",\n \"Brown\",\n \"Grey\",\n \"LightGrey\",\n \"Cyan\",\n \"Fuchsia\",\n]);\n\nexport const IconSet = z.enum([\"CheckCircle\", \"CrossCircle\", \"Alert\"]);\n\nexport const PageBlockDefinitionMultiSelectPropertyStyle = z.enum([\"SegmentedControl\", \"Select\", \"Checkbox\"]);\n\nexport const PageBlockDefinitionImageAspectRatio = z.enum([\"Auto\", \"Square\", \"Landscape\", \"Portrait\", \"Wide\"]);\n\nexport const PageBlockDefinitionImageWidth = z.enum([\"Full\", \"Icon\", \"Small\", \"Medium\", \"Large\", \"Poster\"]);\n\nexport type PageBlockDefinitionPropertyType = z.infer<typeof PageBlockDefinitionPropertyType>;\nexport type PageBlockDefinitionRichTextPropertyStyle = z.infer<typeof PageBlockDefinitionRichTextPropertyStyle>;\nexport type PageBlockDefinitionMultiRichTextPropertyStyle = z.infer<\n typeof PageBlockDefinitionMultiRichTextPropertyStyle\n>;\nexport type PageBlockDefinitionTextPropertyStyle = z.infer<typeof PageBlockDefinitionTextPropertyStyle>;\nexport type PageBlockDefinitionTextPropertyColor = z.infer<typeof PageBlockDefinitionTextPropertyColor>;\nexport type PageBlockDefinitionBooleanPropertyStyle = z.infer<typeof PageBlockDefinitionBooleanPropertyStyle>;\nexport type PageBlockDefinitionSingleSelectPropertyStyle = z.infer<typeof PageBlockDefinitionSingleSelectPropertyStyle>;\nexport type PageBlockDefinitionMultiSelectPropertyStyle = z.infer<typeof PageBlockDefinitionMultiSelectPropertyStyle>;\nexport type PageBlockDefinitionImageAspectRatio = z.infer<typeof PageBlockDefinitionImageAspectRatio>;\nexport type PageBlockDefinitionImageWidth = z.infer<typeof PageBlockDefinitionImageWidth>;\n\n//\n// Aux\n//\n\nexport const PageBlockDefinitionSelectChoice = z.object({\n value: z.string(),\n name: z.string(),\n icon: IconSet.optional(),\n customIconUrl: z.string().optional(),\n color: PageBlockDefinitionSingleSelectPropertyColor.optional(),\n});\n\nexport type PageBlockDefinitionSelectChoice = z.infer<typeof PageBlockDefinitionSelectChoice>;\n\n//\n// Property options\n//\n\nexport const PageBlockDefinitionUntypedPropertyOptions = z.record(z.any());\n\nexport const PageBlockDefinitionRichTextOptions = z.object({\n richTextStyle: PageBlockDefinitionRichTextPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionMutiRichTextOptions = z.object({\n multiRichTextStyle: PageBlockDefinitionMultiRichTextPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionRichTextEditorOptions = z.object({\n placeholder: z.string().optional(),\n allowedInlineStyles: z.array(PageBlockDefinitionRichTextEditorPropertyStyle).optional(),\n});\n\nexport const PageBlockDefinitionTextOptions = z.object({\n placeholder: z.string().optional(),\n defaultValue: z.string().optional(),\n textStyle: PageBlockDefinitionTextPropertyStyle.optional(),\n color: PageBlockDefinitionTextPropertyColor.optional(),\n allowLineBreaks: z.boolean().optional(),\n});\n\nexport const PageBlockDefinitionSelectOptions = z.object({\n singleSelectStyle: PageBlockDefinitionSingleSelectPropertyStyle.optional(),\n defaultChoice: z.string(),\n choices: z.array(PageBlockDefinitionSelectChoice),\n});\n\nexport const PageBlockDefinitionImageOptions = z.object({\n width: PageBlockDefinitionImageWidth.optional(),\n aspectRatio: PageBlockDefinitionImageAspectRatio.optional(),\n allowCaption: z.boolean().optional(),\n recommendation: z.string().optional(),\n});\n\nexport const PageBlockDefinitionBooleanOptions = z.object({\n defaultvalue: z.boolean().optional(),\n booleanStyle: PageBlockDefinitionBooleanPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionNumberOptions = z.object({\n defaultValue: z.number(),\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n placeholder: z.string().optional(),\n});\n\nexport const PageBlockDefinitionComponentOptions = z.object({\n renderLayoutAs: z.enum([\"List\", \"Table\"]).optional(),\n allowPropertySelection: z.boolean().optional(),\n});\n\nexport const PageBlockDefinitionFigmaComponentOptions = z.object({\n renderLayoutAs: z.enum([\"Grid\", \"PropsTable\", \"Canvas\", \"Playground\"]),\n invertPropertySelection: z.boolean().optional(),\n});\n\nexport type PageBlockDefinitionUntypedPropertyOptions = z.infer<typeof PageBlockDefinitionUntypedPropertyOptions>;\nexport type PageBlockDefinitionRichTextOptions = z.infer<typeof PageBlockDefinitionRichTextOptions>;\nexport type PageBlockDefinitionMutiRichTextOptions = z.infer<typeof PageBlockDefinitionMutiRichTextOptions>;\nexport type PageBlockDefinitionRichTextEditorOptions = z.infer<typeof PageBlockDefinitionRichTextEditorOptions>;\nexport type PageBlockDefinitionTextOptions = z.infer<typeof PageBlockDefinitionTextOptions>;\nexport type PageBlockDefinitionSelectOptions = z.infer<typeof PageBlockDefinitionSelectOptions>;\nexport type PageBlockDefinitionImageOptions = z.infer<typeof PageBlockDefinitionImageOptions>;\nexport type PageBlockDefinitionBooleanOptions = z.infer<typeof PageBlockDefinitionBooleanOptions>;\nexport type PageBlockDefinitionNumberOptions = z.infer<typeof PageBlockDefinitionNumberOptions>;\nexport type PageBlockDefinitionComponentOptions = z.infer<typeof PageBlockDefinitionComponentOptions>;\nexport type PageBlockDefinitionFigmaComponentOptions = z.infer<typeof PageBlockDefinitionFigmaComponentOptions>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionProperty = z.object({\n id: z.string(),\n name: z.string(),\n type: PageBlockDefinitionPropertyType,\n description: z.string().optional(),\n options: PageBlockDefinitionUntypedPropertyOptions.optional(),\n variantOptions: z.record(PageBlockDefinitionUntypedPropertyOptions).optional(),\n});\n\nexport const PageBlockDefinitionItem = z.object({\n properties: z.array(PageBlockDefinitionProperty),\n appearance: PageBlockDefinitionAppearance.optional(),\n variants: z.array(PageBlockDefinitionVariant),\n defaultVariantKey: z.string(),\n});\n\nexport type PageBlockDefinitionProperty = z.infer<typeof PageBlockDefinitionProperty>;\nexport type PageBlockDefinitionItem = z.infer<typeof PageBlockDefinitionItem>;\n","import { z } from \"zod\";\n\nexport const PageBlockDefinitionAppearance = z.object({\n isBordered: z.boolean().optional(),\n hasBackground: z.boolean().optional(),\n isEditorPresentationDifferent: z.boolean().optional(),\n showBlockHeaderInEditor: z.boolean().optional(),\n});\n\nexport type PageBlockDefinitionAppearance = z.infer<typeof PageBlockDefinitionAppearance>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\n\n//\n// Enums\n//\n\nexport const PageBlockDefinitionLayoutType = z.enum([\"Column\", \"Row\"]);\nexport const PageBlockDefinitionLayoutGap = z.enum([\"Small\", \"Medium\", \"Large\", \"None\"]);\nexport const PageBlockDefinitionLayoutAlign = z.enum([\"Start\", \"Center\", \"End\"]);\nexport const PageBlockDefinitionLayoutResizing = z.enum([\"Fill\", \"Hug\"]);\n\nexport type PageBlockDefinitionLayoutType = z.infer<typeof PageBlockDefinitionLayoutType>;\nexport type PageBlockDefinitionLayoutGap = z.infer<typeof PageBlockDefinitionLayoutGap>;\nexport type PageBlockDefinitionLayoutAlign = z.infer<typeof PageBlockDefinitionLayoutAlign>;\nexport type PageBlockDefinitionLayoutResizing = z.infer<typeof PageBlockDefinitionLayoutResizing>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionLayoutBase = z.object({\n type: PageBlockDefinitionLayoutType,\n gap: PageBlockDefinitionLayoutGap.optional(),\n columnAlign: PageBlockDefinitionLayoutAlign.optional(),\n columnResizing: PageBlockDefinitionLayoutResizing.optional(),\n});\n\nexport const PageBlockDefinitionLayout: z.ZodType<PageBlockDefinitionLayout, ZodTypeDef, PageBlockDefinitionLayout> =\n PageBlockDefinitionLayoutBase.extend({\n children: z.lazy(() => z.array(PageBlockDefinitionLayout.or(z.string()))),\n });\n\nexport const PageBlockDefinitionVariant = z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n description: z.string().optional(),\n documentationLink: z.string().optional(),\n layout: PageBlockDefinitionLayout,\n maxColumns: z.number().optional(),\n defaultColumns: z.number().optional(),\n appearance: PageBlockDefinitionAppearance.optional(),\n});\n\nexport type PageBlockDefinitionVariant = z.infer<typeof PageBlockDefinitionVariant>;\nexport type PageBlockDefinitionLayout = z.infer<typeof PageBlockDefinitionLayoutBase> & {\n children: (PageBlockDefinitionLayout | string)[];\n};\n","import { z } from \"zod\";\nimport { DocumentationItemConfigurationV1 } from \"./documentation-v1\";\nimport { PageBlockV1 } from \"./documentation-block-v1\";\nimport { nullishToOptional } from \"../../../helpers\";\n\nexport const DocumentationPageDataV1 = z.object({\n blocks: z.array(PageBlockV1),\n configuration: nullishToOptional(DocumentationItemConfigurationV1),\n});\n","import { z } from \"zod\";\nimport { DocumentationItemHeaderV1, defaultDocumentationItemHeaderV1 } from \"./item-header-v1\";\n\nexport const DocumentationItemConfigurationV1 = z.object({\n showSidebar: z.boolean(),\n isPrivate: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n header: DocumentationItemHeaderV1,\n});\n\nexport type DocumentationItemConfigurationV1 = z.infer<typeof DocumentationItemConfigurationV1>;\n\nexport const defaultDocumentationItemConfigurationV1: DocumentationItemConfigurationV1 = {\n header: defaultDocumentationItemHeaderV1,\n showSidebar: true,\n};\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport {\n DocumentationItemHeaderAlignment,\n DocumentationItemHeaderAlignmentSchema,\n DocumentationItemHeaderImageScaleType,\n DocumentationItemHeaderImageScaleTypeSchema,\n} from \"./item-header\";\nimport { PageBlockAsset } from \"./documentation-block-v1\";\n\n//\n// Definitions\n//\n\nexport const DocumentationItemHeaderV1 = z.object({\n description: z.string(),\n alignment: DocumentationItemHeaderAlignmentSchema,\n foregroundColor: ColorTokenData.nullish(),\n backgroundColor: ColorTokenData.nullish(),\n backgroundImageAsset: PageBlockAsset.nullish(),\n backgroundImageScaleType: DocumentationItemHeaderImageScaleTypeSchema,\n showBackgroundOverlay: z.boolean(),\n showCoverText: z.boolean(),\n minHeight: z.number().nullish(),\n});\n\nexport type DocumentationItemHeaderV1 = z.infer<typeof DocumentationItemHeaderV1>;\n\nexport const defaultDocumentationItemHeaderV1: DocumentationItemHeaderV1 = {\n alignment: DocumentationItemHeaderAlignment.Left,\n backgroundImageScaleType: DocumentationItemHeaderImageScaleType.AspectFill,\n description: \"\",\n showBackgroundOverlay: false,\n showCoverText: true,\n};\n","//\n// Enums\n//\n\nimport { z } from \"zod\";\n\nexport const DocumentationItemHeaderAlignmentSchema = z.enum([\"Left\", \"Center\"]);\nexport const DocumentationItemHeaderImageScaleTypeSchema = z.enum([\"AspectFill\", \"AspectFit\"]);\n\nexport const DocumentationItemHeaderAlignment = DocumentationItemHeaderAlignmentSchema.enum;\nexport const DocumentationItemHeaderImageScaleType = DocumentationItemHeaderImageScaleTypeSchema.enum;\n\nexport type DocumentationItemHeaderImageScaleType = z.infer<typeof DocumentationItemHeaderImageScaleTypeSchema>;\nexport type DocumentationItemHeaderAlignment = z.infer<typeof DocumentationItemHeaderAlignmentSchema>;\n","import { z } from \"zod\";\nimport { DocumentationItemConfigurationV2 } from \"./documentation-v2\";\nimport { nullishToOptional } from \"../../../helpers\";\n\nexport const DocumentationPageDataV2 = z.object({\n configuration: nullishToOptional(DocumentationItemConfigurationV2),\n});\n","import { z } from \"zod\";\nimport { DocumentationItemHeaderV2, defaultDocumentationItemHeaderV2 } from \"./item-header-v2\";\n\nexport const DocumentationItemConfigurationV2 = z.object({\n showSidebar: z.boolean(),\n isPrivate: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n header: DocumentationItemHeaderV2,\n});\n\nexport type DocumentationItemConfigurationV2 = z.infer<typeof DocumentationItemConfigurationV2>;\n\nexport const defaultDocumentationItemConfigurationV2 = {\n header: defaultDocumentationItemHeaderV2,\n isHidden: false,\n isPrivate: false,\n showSidebar: true,\n} as const;\n","import { z } from \"zod\";\nimport {\n DocumentationItemHeaderAlignment,\n DocumentationItemHeaderAlignmentSchema,\n DocumentationItemHeaderImageScaleType,\n DocumentationItemHeaderImageScaleTypeSchema,\n} from \"./item-header\";\nimport { PageBlockColorV2, PageBlockImageReference } from \"./documentation-block-v2\";\n\n//\n// Definitions\n//\n\nexport const DocumentationItemHeaderV2 = z.object({\n description: z.string(),\n alignment: DocumentationItemHeaderAlignmentSchema,\n foregroundColor: PageBlockColorV2.nullish(),\n backgroundColor: PageBlockColorV2.nullish(),\n backgroundImageAsset: PageBlockImageReference.nullish(),\n backgroundImageScaleType: DocumentationItemHeaderImageScaleTypeSchema,\n showBackgroundOverlay: z.boolean(),\n showCoverText: z.boolean(),\n minHeight: z.number().nullish(),\n});\n\nexport type DocumentationItemHeaderV2 = z.infer<typeof DocumentationItemHeaderV2>;\n\nexport const defaultDocumentationItemHeaderV2: DocumentationItemHeaderV2 = {\n alignment: DocumentationItemHeaderAlignment.Left,\n backgroundImageScaleType: DocumentationItemHeaderImageScaleType.AspectFill,\n description: \"\",\n showBackgroundOverlay: false,\n showCoverText: true,\n};\n","import { z } from \"zod\";\nimport { PageBlockEditorModelV2 } from \"../page-block-v2\";\nimport { PageBlockColorV2 } from \"./documentation-block-v2\";\n\nexport const PageSectionTypeV2 = z.enum([\"Tabs\"]);\n\nexport const PageSectionColumnV2 = z.object({\n id: z.string(),\n blocks: z.array(PageBlockEditorModelV2),\n});\n\nexport const PageSectionItemV2 = z.object({\n id: z.string(),\n title: z.string(),\n columns: z.array(PageSectionColumnV2),\n});\n\nexport const PageSectionPaddingV2 = z.object({\n top: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n right: z.number().optional(),\n});\n\nexport const PageSectionAppearanceV2 = z.object({\n expandToEdges: z.boolean(),\n contentExpandToEdges: z.boolean(),\n backgroundColor: PageBlockColorV2.optional(),\n foregroundColor: PageBlockColorV2.optional(),\n padding: PageSectionPaddingV2.optional(),\n});\n\nexport const PageSectionEditorModelV2 = z.object({\n id: z.string(),\n type: z.literal(\"Section\"),\n variantId: z.string().optional(),\n sectionType: PageSectionTypeV2,\n appearance: PageSectionAppearanceV2,\n items: z.array(PageSectionItemV2),\n});\n\nexport type PageSectionTypeV2 = z.infer<typeof PageSectionTypeV2>;\nexport type PageSectionColumnV2 = z.infer<typeof PageSectionColumnV2>;\nexport type PageSectionItemV2 = z.infer<typeof PageSectionItemV2>;\nexport type PageSectionPaddingV2 = z.infer<typeof PageSectionPaddingV2>;\nexport type PageSectionAppearanceV2 = z.infer<typeof PageSectionAppearanceV2>;\nexport type PageSectionEditorModelV2 = z.infer<typeof PageSectionEditorModelV2>;\n","import { z } from \"zod\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart } from \"./base\";\nimport { PageBlockDataV2 } from \"./data\";\n\n//\n// Element\n//\n\nexport const PageBlockV2 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape).extend({\n data: PageBlockDataV2,\n});\n\nexport type PageBlockV2 = z.infer<typeof PageBlockV2>;\n\n//\n// Editor Model\n//\n\nexport const PageBlockEditorModelV2 = z.object({\n id: z.string(),\n type: z.literal(\"Block\"),\n data: PageBlockDataV2,\n});\n\nexport type PageBlockEditorModelV2 = z.infer<typeof PageBlockEditorModelV2>;\n","import { z } from \"zod\";\nimport { ObjectMeta } from \"../../common\";\n\nexport const DesignElementOrigin = z.object({\n id: z.string(),\n sourceId: z.string(),\n name: z.string(),\n});\n\nexport const DesignElementBase = z.object({\n id: z.string(),\n persistentId: z.string(),\n meta: ObjectMeta,\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const DesignElementImportedBase = DesignElementBase.extend({\n origin: DesignElementOrigin,\n});\n\nexport const DesignElementGroupablePart = z.object({\n parentPersistentId: z.string().optional(),\n sortOrder: z.number(),\n});\n\nexport const DesignElementGroupableBase = DesignElementBase.extend(DesignElementGroupablePart.shape);\n\nexport const DesignElementGroupableRequiredPart = DesignElementGroupablePart.extend({\n parentPersistentId: z.string(),\n});\n\nexport const DesignElementBrandedPart = z.object({\n brandPersistentId: z.string(),\n});\n\nexport const DesignElementSlugPart = z.object({\n slug: z.string().optional(),\n userSlug: z.string().optional(),\n});\n\nexport type DesignElementOrigin = z.infer<typeof DesignElementOrigin>;\nexport type DesignElementBase = z.infer<typeof DesignElementBase>;\nexport type DesignElementGroupablePart = z.infer<typeof DesignElementGroupablePart>;\nexport type DesignElementGroupableBase = z.infer<typeof DesignElementGroupableBase>;\nexport type DesignElementGroupableRequiredPart = z.infer<typeof DesignElementGroupableRequiredPart>;\nexport type DesignElementBrandedPart = z.infer<typeof DesignElementBrandedPart>;\nexport type DesignElementSlugPart = z.infer<typeof DesignElementSlugPart>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const DurationUnit = z.enum([\"Ms\"]);\n\nexport const DurationValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const DurationTokenData = tokenAliasOrValue(DurationValue);\n\nexport type DurationUnit = z.infer<typeof DurationUnit>;\nexport type DurationValue = z.infer<typeof DurationValue>;\nexport type DurationTokenData = z.infer<typeof DurationTokenData>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { Size, SizeOrUndefined } from \"../primitives/size\";\n\nexport const FigmaFileStructureNodeType = z.enum([\"DOCUMENT\", \"CANVAS\", \"FRAME\", \"COMPONENT\", \"COMPONENT_SET\"]);\n\nexport const FigmaFileStructureNodeBase = z.object({\n id: z.string(),\n name: z.string(),\n type: FigmaFileStructureNodeType,\n size: SizeOrUndefined,\n parentComponentSetId: z.string().optional(),\n});\n\nexport const FigmaFileStructureNode: z.ZodType<FigmaFileStructureNode, ZodTypeDef, FigmaFileStructureNodeBaseInput> =\n FigmaFileStructureNodeBase.extend({\n children: z.lazy(() => FigmaFileStructureNode.array()),\n });\n\ntype FigmaFileStructureNodeBaseInput = z.input<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeBaseInput[];\n};\n\nexport const FigmaFileStructureStatistics = z.object({\n frames: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n components: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n componentSets: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n});\n\nexport const FigmaFileStructureElementData = z.object({\n value: z.object({\n structure: FigmaFileStructureNode,\n assetsInFile: FigmaFileStructureStatistics,\n }),\n});\n\nexport type FigmaFileStructureNodeBase = z.infer<typeof FigmaFileStructureNodeBase>;\nexport type FigmaFileStructureNodeType = z.infer<typeof FigmaFileStructureStatistics>;\nexport type FigmaFileStructureNode = z.infer<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNode[];\n};\nexport type FigmaFileStructureStatistics = z.infer<typeof FigmaFileStructureStatistics>;\nexport type FigmaFileStructureElementData = z.infer<typeof FigmaFileStructureElementData>;\n\nexport function figmaFileStructureToMap(root: FigmaFileStructureNode): Map<string, FigmaFileStructureNode> {\n const map = new Map<string, FigmaFileStructureNode>();\n recursiveFigmaFileStructureToMap(root, map);\n return map;\n}\n\nfunction recursiveFigmaFileStructureToMap(node: FigmaFileStructureNode, map: Map<string, FigmaFileStructureNode>) {\n map.set(node.id, node);\n for (const child of node.children) recursiveFigmaFileStructureToMap(child, map);\n}\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers/nullish-to-optional\";\n\n//\n// Enums\n//\n\nexport const FigmaNodeRenderState = z.enum([\"InProgress\", \"Success\", \"Failed\"]);\nexport const FigmaNodeRenderFormat = z.enum([\"Png\", \"Svg\"]);\nexport const FigmaNodeRenderErrorType = z.enum([\"MissingIntegration\", \"NodeNotFound\", \"RenderError\"]);\n\nexport type FigmaNodeRenderState = z.infer<typeof FigmaNodeRenderState>;\nexport type FigmaNodeRenderFormat = z.infer<typeof FigmaNodeRenderFormat>;\nexport type FigmaNodeRenderErrorType = z.infer<typeof FigmaNodeRenderErrorType>;\n\n//\n// Definition\n//\n\nexport const FigmaNodeRelinkData = z.object({\n fileId: z.string(),\n});\n\nexport const FigmaNodeRenderedImage = z.object({\n resourceId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: nullishToOptional(z.number()),\n\n width: nullishToOptional(z.number()),\n height: nullishToOptional(z.number()),\n url: nullishToOptional(z.string()),\n originKey: nullishToOptional(z.string()),\n});\n\nexport const FigmaNodeRenderError = z.object({\n type: FigmaNodeRenderErrorType,\n});\n\nexport const FigmaNodeReferenceData = z.object({\n sceneNodeId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: nullishToOptional(z.number()),\n\n renderState: FigmaNodeRenderState,\n renderedImage: FigmaNodeRenderedImage.optional(),\n renderError: FigmaNodeRenderError.optional(),\n\n hasSource: z.boolean(),\n relinkData: FigmaNodeRelinkData.optional(),\n});\n\nexport type FigmaNodeRelinkData = z.infer<typeof FigmaNodeRelinkData>;\nexport type FigmaNodeRenderedImage = z.infer<typeof FigmaNodeRenderedImage>;\nexport type FigmaNodeRenderError = z.infer<typeof FigmaNodeRenderError>;\nexport type FigmaNodeReferenceData = z.infer<typeof FigmaNodeReferenceData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontFamilyValue = z.string();\nexport const FontFamilyTokenData = tokenAliasOrValue(FontFamilyValue);\n\nexport type FontFamilyValue = z.infer<typeof FontFamilyValue>;\nexport type FontFamilyTokenData = z.infer<typeof FontFamilyTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const FontSizeUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const FontSizeValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const FontSizeTokenData = tokenAliasOrValue(FontSizeValue);\n\nexport type FontSizeUnit = z.infer<typeof FontSizeUnit>;\nexport type FontSizeValue = z.infer<typeof FontSizeValue>;\nexport type FontSizeTokenData = z.infer<typeof FontSizeTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontWeightValue = z.string();\nexport const FontWeightTokenData = tokenAliasOrValue(FontWeightValue);\n\nexport type FontWeightValue = z.infer<typeof FontWeightValue>;\nexport type FontWeightTokenData = z.infer<typeof FontWeightTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontValue = z.unknown();\n\nexport const FontTokenData = tokenAliasOrValue(FontValue);\n\nexport type FontValue = z.infer<typeof FontValue>;\nexport type FontTokenData = z.infer<typeof FontTokenData>;\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { Point2D } from \"../primitives\";\n\nexport const GradientType = z.enum([\"Linear\", \"Radial\", \"Angular\"]);\n\nexport const GradientStop = z.object({\n position: z.number(),\n color: ColorTokenData,\n});\n\nexport const GradientLayerValue = z.object({\n from: Point2D,\n to: Point2D,\n type: GradientType,\n aspectRatio: nullishToOptional(z.number()), // z.number(),\n stops: z.array(GradientStop).min(2),\n});\n\nexport const GradientLayerData = tokenAliasOrValue(GradientLayerValue);\n\nexport const GradientTokenValue = z.array(GradientLayerData);\nexport const GradientTokenData = tokenAliasOrValue(GradientTokenValue);\n\nexport type GradientType = z.infer<typeof GradientType>;\nexport type GradientStop = z.infer<typeof GradientStop>;\nexport type GradientLayerValue = z.infer<typeof GradientLayerValue>;\nexport type GradientLayerData = z.infer<typeof GradientLayerData>;\nexport type GradientTokenValue = z.infer<typeof GradientTokenValue>;\nexport type GradientTokenData = z.infer<typeof GradientTokenData>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { DocumentationItemConfigurationV1 } from \"./documentation-v1\";\nimport { DocumentationItemConfigurationV2 } from \"./documentation-v2\";\n\nexport const DocumentationGroupBehavior = z.enum([\"Group\", \"Tabs\"]);\n\nexport const ElementGroupDataV1 = z.object({\n behavior: nullishToOptional(DocumentationGroupBehavior.optional()),\n configuration: nullishToOptional(DocumentationItemConfigurationV1),\n});\n\nexport const ElementGroupDataV2 = z.object({\n behavior: nullishToOptional(DocumentationGroupBehavior.optional()),\n configuration: nullishToOptional(DocumentationItemConfigurationV2),\n});\n\nexport type DocumentationGroupBehavior = z.infer<typeof DocumentationGroupBehavior>;\nexport type ElementGroupDataV1 = z.infer<typeof ElementGroupDataV1>;\nexport type ElementGroupDataV2 = z.infer<typeof ElementGroupDataV2>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const LetterSpacingUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const LetterSpacingValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const LetterSpacingTokenData = tokenAliasOrValue(LetterSpacingValue);\n\nexport type LetterSpacingUnit = z.infer<typeof LetterSpacingUnit>;\nexport type LetterSpacingValue = z.infer<typeof LetterSpacingValue>;\nexport type LetterSpacingTokenData = z.infer<typeof LetterSpacingTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const LineHeightUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\", \"Raw\"]);\n\nexport const LineHeightValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const LineHeightTokenData = tokenAliasOrValue(LineHeightValue);\n\nexport type LineHeightUnit = z.infer<typeof LineHeightUnit>;\nexport type LineHeightValue = z.infer<typeof LineHeightValue>;\nexport type LineHeightTokenData = z.infer<typeof LineHeightTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ParagraphIndentUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const ParagraphIndentValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ParagraphIndentTokenData = tokenAliasOrValue(ParagraphIndentValue);\n\nexport type ParagraphIndentUnit = z.infer<typeof ParagraphIndentUnit>;\nexport type ParagraphIndentValue = z.infer<typeof ParagraphIndentValue>;\nexport type ParagraphIndentTokenData = z.infer<typeof ParagraphIndentTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ParagraphSpacingUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const ParagraphSpacingValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ParagraphSpacingTokenData = tokenAliasOrValue(ParagraphSpacingValue);\n\nexport type ParagraphSpacingUnit = z.infer<typeof ParagraphSpacingUnit>;\nexport type ParagraphSpacingValue = z.infer<typeof ParagraphSpacingValue>;\nexport type ParagraphSpacingTokenData = z.infer<typeof ParagraphSpacingTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const ProductCopyValue = z.string();\nexport const ProductCopyTokenData = tokenAliasOrValue(ProductCopyValue);\n\nexport type ProductCopyValue = z.infer<typeof ProductCopyValue>;\nexport type ProductCopyTokenData = z.infer<typeof ProductCopyTokenData>;\n","import { z } from \"zod\";\n\nconst RESERVED_OBJECT_ID_PREFIX = \"x-sn-reserved-\";\n\n// Really only checks if the schema does not have the reserved prefix\nexport const SafeIdSchema = z.string().refine(\n value => {\n return !value.startsWith(RESERVED_OBJECT_ID_PREFIX);\n },\n {\n message: `ID value can't start with ${RESERVED_OBJECT_ID_PREFIX}`,\n }\n);\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { OpacityTokenData } from \"./opacity\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const ShadowType = z.enum([\"Drop\", \"Inner\"]);\n\nexport const ShadowLayerValue = z.object({\n color: ColorTokenData,\n x: z.number(),\n y: z.number(),\n radius: z.number(),\n spread: z.number(),\n opacity: OpacityTokenData.optional(),\n type: ShadowType,\n});\n\nconst ShadowTokenDataBase = tokenAliasOrValue(ShadowLayerValue);\nexport const ShadowValue = z.array(ShadowTokenDataBase);\nexport const ShadowTokenData = tokenAliasOrValue(z.array(ShadowTokenDataBase));\n\nexport type ShadowType = z.infer<typeof ShadowType>;\nexport type ShadowLayerValue = z.infer<typeof ShadowLayerValue>;\nexport type ShadowValue = z.infer<typeof ShadowValue>;\nexport type ShadowTokenData = z.infer<typeof ShadowTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const SizeUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const SizeValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const SizeTokenData = tokenAliasOrValue(SizeValue);\n\nexport type SizeUnit = z.infer<typeof SizeUnit>;\nexport type SizeValue = z.infer<typeof SizeValue>;\nexport type SizeTokenData = z.infer<typeof SizeTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const SpaceUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const SpaceValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const SpaceTokenData = tokenAliasOrValue(SpaceValue);\n\nexport type SpaceUnit = z.infer<typeof SpaceUnit>;\nexport type SpaceValue = z.infer<typeof SpaceValue>;\nexport type SpaceTokenData = z.infer<typeof SpaceTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const StringValue = z.string();\nexport const StringTokenData = tokenAliasOrValue(StringValue);\n\nexport type StringValue = z.infer<typeof StringValue>;\nexport type StringTokenData = z.infer<typeof StringTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TextCase = z.enum([\"Original\", \"Upper\", \"Lower\", \"Camel\", \"SmallCaps\"]);\nexport const TextCaseValue = TextCase;\nexport const TextCaseTokenData = tokenAliasOrValue(TextCaseValue);\n\nexport type TextCase = z.infer<typeof TextCase>;\nexport type TextCaseValue = z.infer<typeof TextCaseValue>;\nexport type TextCaseTokenData = z.infer<typeof TextCaseTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TextDecoration = z.enum([\"None\", \"Underline\", \"Strikethrough\"]);\nexport const TextDecorationValue = TextDecoration;\nexport const TextDecorationTokenData = tokenAliasOrValue(TextDecorationValue);\n\nexport type TextDecoration = z.infer<typeof TextDecoration>;\nexport type TextDecorationValue = z.infer<typeof TextDecorationValue>;\nexport type TextDecorationTokenData = z.infer<typeof TextDecorationTokenData>;\n","import { z } from \"zod\";\nimport { FontSizeTokenData } from \"./font-size\";\nimport { FontFamilyTokenData } from \"./font-family\";\nimport { FontWeightTokenData } from \"./font-weight\";\nimport { TextDecorationTokenData } from \"./text-decoration\";\nimport { TextCaseTokenData } from \"./text-case\";\nimport { LetterSpacingTokenData } from \"./letter-spacing\";\nimport { LineHeightTokenData } from \"./line-height\";\nimport { ParagraphIndentTokenData } from \"./paragraph-indent\";\nimport { ParagraphSpacingTokenData } from \"./paragraph-spacing\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TypographyValue = z.object({\n fontSize: FontSizeTokenData,\n fontFamily: FontFamilyTokenData,\n fontWeight: FontWeightTokenData,\n textDecoration: TextDecorationTokenData,\n textCase: TextCaseTokenData,\n letterSpacing: LetterSpacingTokenData.optional(),\n lineHeight: LineHeightTokenData.optional(),\n paragraphIndent: ParagraphIndentTokenData.optional(),\n paragraphSpacing: ParagraphSpacingTokenData.optional(),\n});\n\nexport const TypographyTokenData = tokenAliasOrValue(TypographyValue);\n\nexport type TypographyValue = z.infer<typeof TypographyValue>;\nexport type TypographyTokenData = z.infer<typeof TypographyTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const Visibility = z.enum([\"Hidden\", \"Visible\"]);\nexport const VisibilityValue = Visibility;\nexport const VisibilityTokenData = tokenAliasOrValue(VisibilityValue);\n\nexport type Visibility = z.infer<typeof Visibility>;\nexport type VisibilityValue = z.infer<typeof VisibilityValue>;\nexport type VisibilityTokenData = z.infer<typeof VisibilityTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ZIndexUnit = z.enum([\"Raw\"]);\n\nexport const ZIndexValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ZIndexTokenData = tokenAliasOrValue(ZIndexValue);\n\nexport type ZIndexUnit = z.infer<typeof ZIndexUnit>;\nexport type ZIndexValue = z.infer<typeof ZIndexValue>;\nexport type ZIndexTokenData = z.infer<typeof ZIndexTokenData>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart, DesignElementSlugPart } from \"./base\";\nimport { DocumentationPageDataV1, ElementGroupDataV1 } from \"./data\";\nimport { ElementGroup } from \"./group\";\n\n//\n// Documentation page\n//\n\nexport const DocumentationPageV1 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend({\n shortPersistentId: z.string(),\n data: DocumentationPageDataV1,\n });\n\nexport type DocumentationPageV1 = z.infer<typeof DocumentationPageV1>;\n\nexport type CreateDocumentationPageV1 = DbCreateInputOmit<DocumentationPageV1>;\nexport type UpdateDocumentationPageV1 = OmitStrict<DbUpdate<DocumentationPageV1>, \"designSystemVersionId\">;\n\n//\n// Documentation group (legacy)\n//\n\nexport const DocumentationGroupV1 = ElementGroup.omit({\n data: true,\n}).extend({\n data: ElementGroupDataV1.optional(),\n});\n\nexport type DocumentationGroupV1 = z.infer<typeof DocumentationGroupV1>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementBrandedPart, DesignElementGroupablePart, DesignElementSlugPart } from \"./base\";\nimport { ElementGroupDataV2 } from \"./data\";\nimport { DesignElementType } from \"./raw-element\";\n\nexport const ElementGroup = DesignElementBase.extend(DesignElementGroupablePart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend(DesignElementBrandedPart.partial().shape)\n .extend({\n shortPersistentId: z.string().optional(),\n childType: DesignElementType,\n data: ElementGroupDataV2.optional(),\n });\n\nexport const BrandedElementGroup = ElementGroup.extend(DesignElementBrandedPart.shape);\n\nexport type ElementGroup = z.infer<typeof ElementGroup>;\nexport type BrandedElementGroup = z.infer<typeof BrandedElementGroup>;\n\nexport type CreateElementGroup = OmitStrict<DbCreateInputOmit<ElementGroup>, \"parentPersistentId\"> & {\n parentPersistentId: string;\n};\n\nexport type UpdateElementGroup = DbUpdate<\n OmitStrict<ElementGroup, \"brandPersistentId\" | \"childType\" | \"designSystemVersionId\" | \"parentPersistentId\"> & {\n parentPersistentId: string;\n }\n>;\n\nexport type RestoreElementGroup = OmitStrict<ElementGroup, \"parentPersistentId\"> & {\n parentPersistentId: string;\n};\n\nexport type ElementGroupsDiff = {\n toCreate: CreateElementGroup[];\n toUpdate: UpdateElementGroup[];\n toDelete: ElementGroup[\"id\"][];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart, DesignElementSlugPart } from \"./base\";\nimport { PageBlockV1 } from \"./data\";\nimport { DocumentationPageDataV2 } from \"./data/documentation-page-v2\";\n\nexport const DocumentationPageV2 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend({\n shortPersistentId: z.string(),\n data: DocumentationPageDataV2.extend({\n oldBlocks: z.array(PageBlockV1).optional(),\n }),\n });\n\nexport type DocumentationPageV2 = z.infer<typeof DocumentationPageV2>;\n\nexport type CreateDocumentationPageV2 = DbCreateInputOmit<DocumentationPageV2>;\nexport type UpdateDocumentationPageV2 = OmitStrict<DbUpdate<DocumentationPageV2>, \"designSystemVersionId\">;\nexport type RestoreDocumentationPage = CreateDocumentationPageV2 & { id: string; createdAt: Date; updatedAt: Date };\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport {\n DesignElementBase,\n DesignElementBrandedPart,\n DesignElementGroupableRequiredPart,\n DesignElementOrigin,\n} from \"./base\";\nimport { FigmaComponentPropertyMap } from \"./component-properties\";\n\n//\n// Figma Component\n//\n\nexport const FigmaComponentOriginPart = z.object({\n nodeId: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n});\n\nconst FigmaComponentAsset = z.object({\n assetId: z.string(),\n assetPath: z.string(),\n});\n\nexport const FigmaComponentOrigin = DesignElementOrigin.extend(FigmaComponentOriginPart.shape);\n\nexport const FigmaComponent = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementBrandedPart.shape)\n .extend({\n origin: FigmaComponentOrigin.optional(),\n thumbnail: FigmaComponentAsset,\n componentPropertyDefinitions: FigmaComponentPropertyMap.optional(),\n variantPropertyValues: z.record(z.string()).optional(),\n\n svg: FigmaComponentAsset.optional(),\n isAsset: z.boolean(),\n parentComponentPersistentId: nullishToOptional(z.string()),\n renderNodeId: z.string().optional(),\n });\n\nexport type FigmaComponentAsset = z.infer<typeof FigmaComponentAsset>;\nexport type FigmaComponent = z.infer<typeof FigmaComponent>;\nexport type FigmaComponentOrigin = z.infer<typeof FigmaComponentOrigin>;\nexport type ImportedFigmaComponent = OmitStrict<FigmaComponent, \"origin\"> & { origin: FigmaComponentOrigin };\n\n//\n// Support types\n//\n\nexport type CreateFigmaComponent = DbCreateInputOmit<FigmaComponent>;\nexport type UpdateFigmaComponent = OmitStrict<DbUpdate<FigmaComponent>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type FigmaComponentDiff = {\n toCreate: CreateFigmaComponent[];\n toUpdate: UpdateFigmaComponent[];\n toDelete: FigmaComponent[\"id\"][];\n};\n\n//\n// Utils\n//\n\nexport function isImportedFigmaComponent(component: FigmaComponent): component is ImportedFigmaComponent {\n return !!component.origin;\n}\n","import { z } from \"zod\";\nimport { DesignElementBase } from \"./base\";\nimport { FigmaFileStructureNode, FigmaFileStructureStatistics } from \"./data/figma-file-structure\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const FigmaFileStructureOrigin = z.object({\n sourceId: z.string(),\n fileId: z.string().optional(),\n});\n\nexport const FigmaFileStructureData = z.object({\n rootNode: FigmaFileStructureNode,\n assetsInFile: FigmaFileStructureStatistics,\n});\n\nexport const FigmaFileStructure = DesignElementBase.extend({\n origin: FigmaFileStructureOrigin,\n data: FigmaFileStructureData,\n});\n\nexport type FigmaFileStructureOrigin = z.infer<typeof FigmaFileStructureOrigin>;\nexport type FigmaFileStructureData = z.infer<typeof FigmaFileStructureData>;\nexport type FigmaFileStructure = z.infer<typeof FigmaFileStructure>;\n\nexport type CreateFigmaFileStructure = DbCreateInputOmit<FigmaFileStructure>;\nexport type UpdateFigmaFileStructure = OmitStrict<DbUpdate<FigmaFileStructure>, \"designSystemVersionId\">;\n\nexport type FigmaFileStructureDiff = {\n toCreate: CreateFigmaFileStructure[];\n toUpdate: UpdateFigmaFileStructure[];\n};\n\nexport function traverseStructure(node: FigmaFileStructureNode, action: (node: FigmaFileStructureNode) => void) {\n action(node);\n\n for (const child of node.children) {\n traverseStructure(child, action);\n }\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase } from \"./base\";\nimport { FigmaNodeReferenceData } from \"./data/figma-node-reference\";\n\nexport const FigmaNodeReferenceOrigin = z.object({\n sourceId: z.string(),\n parentName: z.string().optional(),\n});\n\nexport const FigmaNodeReference = DesignElementBase.extend({\n data: FigmaNodeReferenceData,\n origin: FigmaNodeReferenceOrigin,\n});\n\nexport type FigmaNodeReferenceOrigin = z.infer<typeof FigmaNodeReferenceOrigin>;\nexport type FigmaNodeReference = z.infer<typeof FigmaNodeReference>;\n\nexport type CreateFigmaNodeReference = DbCreateInputOmit<FigmaNodeReference>;\nexport type UpdateFigmaNodeReference = OmitStrict<DbUpdate<FigmaNodeReference>, \"designSystemVersionId\">;\n\nexport type FigmaNodeReferenceDiff = {\n toUpdate: UpdateFigmaNodeReference[];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementBrandedPart } from \"./base\";\nimport { DesignTokenType } from \"./raw-element\";\nimport { DesignTokenOrigin, DesignTokenOriginPart, DesignTokenTypedData } from \"./tokens\";\n\n//\n// Overrides\n//\n\nexport const ThemeOverrideOriginPart = DesignTokenOriginPart;\nexport const ThemeOverrideOrigin = DesignTokenOrigin;\n\nexport const ThemeOverride = DesignTokenTypedData.and(\n z.object({\n tokenPersistentId: z.string(),\n origin: ThemeOverrideOrigin.optional()\n .nullable()\n .transform(v => v ?? undefined),\n })\n);\n\nexport type ThemeOverride = z.infer<typeof ThemeOverride>;\nexport type ThemeOverrideOfType<T extends DesignTokenType> = Extract<ThemeOverride, { type: T }>;\n\n//\n// Theme data\n//\n\nexport const ThemeElementData = z.object({\n value: z.object({\n overrides: z.array(ThemeOverride),\n }),\n});\n\nexport type ThemeElementData = z.infer<typeof ThemeElementData>;\n\n//\n// Theme\n//\n\nexport const ThemeOriginPart = z.object({});\n\nexport const ThemeOriginObject = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const ThemeOriginSource = z.object({\n sourceId: z.string(),\n sourceObjects: z.array(ThemeOriginObject),\n});\n\nexport const ThemeOrigin = z.object({\n sources: z.array(ThemeOriginSource),\n});\n\nexport const Theme = DesignElementBase.extend(DesignElementBrandedPart.shape).extend({\n origin: ThemeOrigin.optional(),\n overrides: z.array(ThemeOverride),\n codeName: z.string(),\n});\n\nexport type Theme = z.infer<typeof Theme>;\nexport type ThemeOrigin = z.infer<typeof ThemeOrigin>;\nexport type ThemeOriginSource = z.infer<typeof ThemeOriginSource>;\nexport type ThemeOriginObject = z.infer<typeof ThemeOriginObject>;\n\nexport type CreateTheme = DbCreateInputOmit<Theme>;\nexport type UpdateTheme = OmitStrict<DbUpdate<Theme>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type ThemeDiff = {\n toCreate: CreateTheme[];\n toUpdate: UpdateTheme[];\n};\n","import { z } from \"zod\";\nimport { DbUpdate, zodCreateInputOmit, zodUpdateInputOmit } from \"../../helpers\";\nimport { OmitStrict, SupernovaException } from \"../../utils\";\nimport {\n DesignElementBase,\n DesignElementBrandedPart,\n DesignElementGroupableRequiredPart,\n DesignElementOrigin,\n} from \"./base\";\nimport {\n BlurTokenData,\n BorderRadiusTokenData,\n BorderTokenData,\n BorderWidthTokenData,\n ColorTokenData,\n DimensionTokenData,\n DurationTokenData,\n FontFamilyTokenData,\n FontSizeTokenData,\n FontTokenData,\n FontWeightTokenData,\n GradientTokenData,\n LetterSpacingTokenData,\n LineHeightTokenData,\n OpacityTokenData,\n ParagraphSpacingTokenData,\n ProductCopyTokenData,\n ShadowTokenData,\n SizeTokenData,\n SpaceTokenData,\n StringTokenData,\n TextCaseTokenData,\n TextDecorationTokenData,\n TypographyTokenData,\n VisibilityTokenData,\n ZIndexTokenData,\n} from \"./data\";\nimport { areTokenTypesCompatible, castStringToDimensionValue, DesignTokenType } from \"./raw-element\";\n\n//\n// Base\n//\n\nexport const DesignTokenOriginPart = z.object({\n referenceOriginId: z.string().optional(),\n referenceOriginKey: z.string().optional(),\n referenceOriginName: z.string().optional(),\n referenceOriginRemote: z.boolean().optional(),\n referencePersistentId: z.string().optional(),\n referenceResolutionFailed: z.boolean().optional(),\n key: z.string().optional(),\n sortOrder: z.number().optional(),\n});\n\nexport const DesignTokenOrigin = DesignElementOrigin.extend(DesignTokenOriginPart.shape);\n\nconst DesignTokenBase = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementBrandedPart.shape)\n .extend({\n origin: DesignTokenOrigin.optional(),\n collectionPersistentId: z.string().optional(),\n });\n\nconst CreateDesignTokenBase = DesignTokenBase.omit(zodCreateInputOmit());\nconst UpdateDesignTokenBase = DesignTokenBase.omit({\n ...zodUpdateInputOmit(),\n brandPersistentId: true,\n designSystemVersionId: true,\n});\n\n//\n// Per type\n//\n\nconst BlurTokenTypedData = z.object({\n type: z.literal(\"Blur\"),\n data: BlurTokenData,\n});\n\nconst ColorTokenTypedData = z.object({\n type: z.literal(\"Color\"),\n data: ColorTokenData,\n});\n\nconst GradientTokenTypedData = z.object({\n type: z.literal(\"Gradient\"),\n data: GradientTokenData,\n});\n\nconst OpacityTokenTypedData = z.object({\n type: z.literal(\"Opacity\"),\n data: OpacityTokenData,\n});\n\nconst ShadowTokenTypedData = z.object({\n type: z.literal(\"Shadow\"),\n data: ShadowTokenData,\n});\n\nconst TypographyTokenTypedData = z.object({\n type: z.literal(\"Typography\"),\n data: TypographyTokenData,\n});\n\nconst StringTokenTypedData = z.object({\n type: z.literal(\"String\"),\n data: StringTokenData,\n});\n\nconst DimensionTokenTypedData = z.object({\n type: z.literal(\"Dimension\"),\n data: DimensionTokenData,\n});\n\nconst FontSizeTokenTypedData = z.object({\n type: z.literal(\"FontSize\"),\n data: FontSizeTokenData,\n});\n\nconst FontFamilyTokenTypedData = z.object({\n type: z.literal(\"FontFamily\"),\n data: FontFamilyTokenData,\n});\n\nconst FontWeightTokenTypedData = z.object({\n type: z.literal(\"FontWeight\"),\n data: FontWeightTokenData,\n});\n\nconst LetterSpacingTokenTypedData = z.object({\n type: z.literal(\"LetterSpacing\"),\n data: LetterSpacingTokenData,\n});\n\nconst LineHeightTokenTypedData = z.object({\n type: z.literal(\"LineHeight\"),\n data: LineHeightTokenData,\n});\n\nconst ParagraphSpacingTokenTypedData = z.object({\n type: z.literal(\"ParagraphSpacing\"),\n data: ParagraphSpacingTokenData,\n});\n\nconst TextCaseTokenTypedData = z.object({\n type: z.literal(\"TextCase\"),\n data: TextCaseTokenData,\n});\n\nconst TextDecorationTokenTypedData = z.object({\n type: z.literal(\"TextDecoration\"),\n data: TextDecorationTokenData,\n});\n\nconst BorderRadiusTokenTypedData = z.object({\n type: z.literal(\"BorderRadius\"),\n data: BorderRadiusTokenData,\n});\n\nconst BorderWidthTokenTypedData = z.object({\n type: z.literal(\"BorderWidth\"),\n data: BorderWidthTokenData,\n});\n\nconst BorderTypedData = z.object({\n type: z.literal(\"Border\"),\n data: BorderTokenData,\n});\n\nconst ProductCopyTypedData = z.object({\n type: z.literal(\"ProductCopy\"),\n data: ProductCopyTokenData,\n});\n\nconst SizeTypedData = z.object({\n type: z.literal(\"Size\"),\n data: SizeTokenData,\n});\n\nconst SpaceTypedData = z.object({\n type: z.literal(\"Space\"),\n data: SpaceTokenData,\n});\n\nconst VisibilityTypedData = z.object({\n type: z.literal(\"Visibility\"),\n data: VisibilityTokenData,\n});\n\nconst ZIndexTypedData = z.object({\n type: z.literal(\"ZIndex\"),\n data: ZIndexTokenData,\n});\n\nconst DurationTypedData = z.object({\n type: z.literal(\"Duration\"),\n data: DurationTokenData,\n});\n\nconst FontTypedData = z.object({\n type: z.literal(\"Font\"),\n data: FontTokenData,\n});\n\n//\n// Global types\n//\n\nexport const DesignTokenTypedData = z.discriminatedUnion(\"type\", [\n BlurTokenTypedData,\n BorderRadiusTokenTypedData,\n BorderWidthTokenTypedData,\n BorderTypedData,\n ColorTokenTypedData,\n\n DimensionTokenTypedData,\n DurationTypedData,\n FontSizeTokenTypedData,\n FontFamilyTokenTypedData,\n FontWeightTokenTypedData,\n\n GradientTokenTypedData,\n LetterSpacingTokenTypedData,\n LineHeightTokenTypedData,\n OpacityTokenTypedData,\n ParagraphSpacingTokenTypedData,\n\n ProductCopyTypedData,\n ShadowTokenTypedData,\n SizeTypedData,\n SpaceTypedData,\n StringTokenTypedData,\n\n TextCaseTokenTypedData,\n TextDecorationTokenTypedData,\n TypographyTokenTypedData,\n VisibilityTypedData,\n ZIndexTypedData,\n FontTypedData,\n]);\n\nexport type DesignTokenOriginPart = z.infer<typeof DesignTokenOriginPart>;\nexport type DesignTokenOrigin = z.infer<typeof DesignTokenOrigin>;\n\nexport type DesignTokenBase = z.infer<typeof DesignTokenBase>;\n\nexport const DesignToken = DesignTokenTypedData.and(DesignTokenBase);\nexport const CreateDesignToken = DesignTokenTypedData.and(CreateDesignTokenBase);\n\nexport type DesignTokenTypedData = z.infer<typeof DesignTokenTypedData>;\nexport type DesignTokenTypedDataOfType<T extends DesignTokenType> = Extract<DesignTokenTypedData, { type: T }>;\n\nexport type DesignToken = z.infer<typeof DesignToken>;\nexport type ImportedDesignToken = OmitStrict<DesignToken, \"origin\"> & { origin: DesignTokenOrigin };\n\nexport type DesignTokenOfType<T extends DesignTokenType> = Extract<DesignToken, { type: T }>;\nexport type ImportedDesignTokenOfType<T extends DesignTokenType> = Extract<ImportedDesignToken, { type: T }>;\n\nexport type CreateDesignToken = z.infer<typeof CreateDesignToken>;\nexport type UpdateDesignToken = OmitStrict<DbUpdate<DesignToken>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type DesignTokensDiff = {\n toCreate: CreateDesignToken[];\n toUpdate: UpdateDesignToken[];\n};\n\n//\n// Utilities\n//\n\nexport function extractTokenTypedData<T extends DesignTokenType, I extends DesignTokenTypedDataOfType<T>>(\n source: I\n): DesignTokenTypedDataOfType<T> {\n return {\n type: source.type,\n data: source.data,\n } as DesignTokenTypedDataOfType<T>;\n}\n\nexport function convertTokenTypedData<I extends DesignTokenType, O extends DesignTokenType>(\n source: DesignTokenTypedDataOfType<I>,\n type: O,\n isNonCompatibleTypeChangesEnabled: boolean\n): DesignTokenTypedDataOfType<O> {\n if (!areTokenTypesCompatible(source.type, type, isNonCompatibleTypeChangesEnabled)) {\n throw SupernovaException.invalidOperation(`Cannot convert token from ${source.type} to ${type}`);\n }\n\n const data = source.data;\n if (isNonCompatibleTypeChangesEnabled) {\n data.value = castStringToDimensionValue(source.type, type, source.data.value);\n }\n\n return {\n type,\n data,\n } as DesignTokenTypedDataOfType<O>;\n}\n\nexport function isImportedDesignToken<T extends DesignTokenType>(\n designToken: DesignTokenOfType<T>\n): designToken is ImportedDesignTokenOfType<T> {\n return !!designToken.origin;\n}\n\nexport function isDesignTokenOfType<T extends DesignTokenType>(\n designToken: DesignToken,\n type: T\n): designToken is DesignTokenOfType<T> {\n return designToken.type === type;\n}\n\nexport function designTokenTypeFilter<T extends DesignTokenType>(\n type: T\n): (designToken: DesignToken) => designToken is DesignTokenOfType<T> {\n return (designToken): designToken is DesignTokenOfType<T> => isDesignTokenOfType(designToken, type);\n}\n","import { DocumentationPageContentItem, PageBlockDefinition, PageBlockDefinitionProperty } from \"../documentation\";\nimport { PageBlockItemUntypedValue, PageBlockItemV2 } from \"./data\";\nimport { PageBlockEditorModelV2 } from \"./page-block-v2\";\n\n//\n// Traverse\n//\n\n/**\n * Pay attention to correct types!\n */\nexport function mapPageBlockItemValuesV2(\n pageItems: DocumentationPageContentItem[],\n definitionsMap: PageBlockDefinitionsMap,\n fn: (\n block: PageBlockEditorModelV2,\n item: PageBlockItemV2,\n property: PageBlockDefinitionProperty,\n value: PageBlockItemUntypedValue\n ) => PageBlockItemUntypedValue\n) {\n traversePageBlockItemsV2(pageItems, (block, item) => {\n Object.entries(item.props).forEach(([propKey, value]) => {\n const property = definitionsMap.getDefinitionProperty(block.data.packageId, propKey);\n if (!property) return;\n\n item.props[propKey] = fn(block, item, property, value);\n });\n });\n}\n\nexport function traversePageBlockItemValuesV2(\n pageItems: DocumentationPageContentItem[],\n definitionsMap: PageBlockDefinitionsMap,\n fn: (\n block: PageBlockEditorModelV2,\n item: PageBlockItemV2,\n property: PageBlockDefinitionProperty,\n value: PageBlockItemUntypedValue\n ) => void\n) {\n traversePageBlockItemsV2(pageItems, (block, item) => {\n Object.entries(item.props).forEach(([propKey, value]) => {\n const property = definitionsMap.getDefinitionProperty(block.data.packageId, propKey);\n if (!property) return;\n\n fn(block, item, property, value);\n });\n });\n}\n\nexport function traversePageBlockItemsV2(\n pageItems: DocumentationPageContentItem[],\n fn: (block: PageBlockEditorModelV2, item: PageBlockItemV2) => void\n) {\n traversePageItemsV2(pageItems, block => {\n block.data.items.forEach(item => {\n fn(block, item);\n });\n });\n}\n\nexport function traversePageItemsV2(\n pageItems: DocumentationPageContentItem[],\n fn: (item: PageBlockEditorModelV2) => void\n): void {\n for (const item of pageItems) {\n switch (item.type) {\n case \"Block\":\n fn(item);\n\n break;\n\n case \"Section\":\n item.items.forEach(i => {\n i.columns.forEach(c => {\n traversePageItemsV2(c.blocks, fn);\n });\n });\n\n break;\n }\n }\n}\n\n//\n// Definitions map\n//\n\nexport class PageBlockDefinitionsMap {\n private definitionsMap = new Map<string, PageBlockDefinition>();\n private propertiesMap = new Map<string, PageBlockDefinitionProperty>();\n\n constructor(definitions: PageBlockDefinition[]) {\n definitions.forEach(d => {\n this.definitionsMap.set(d.id, d);\n d.item.properties.forEach(p => {\n this.propertiesMap.set(this.propertyKey(d.id, p.id), p);\n });\n });\n }\n\n getDefinition(id: string): PageBlockDefinition | undefined {\n return this.definitionsMap.get(id);\n }\n\n getDefinitionProperty(defId: string, propId: string): PageBlockDefinitionProperty | undefined {\n return this.propertiesMap.get(this.propertyKey(defId, propId));\n }\n\n private propertyKey(defId: string, propId: string): string {\n return `${defId}.${propId}`;\n }\n}\n","import { z } from \"zod\";\n\nexport const FigmaFile = z.object({\n id: z.string(),\n name: z.string(),\n lastModifiedAt: z.coerce.date(),\n thumbnailUrl: z.string().optional(),\n});\n\nexport type FigmaFile = z.infer<typeof FigmaFile>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DataSourceRemoteType } from \"./enums\";\nimport { Entity } from \"../../common\";\n\nexport const ImportJobState = z.enum([\"PendingInput\", \"Queued\", \"InProgress\", \"Failed\", \"Success\"]);\nexport const ImportJobOperation = z.enum([\"Check\", \"Import\"]);\n\nexport const ImportJob = Entity.extend({\n designSystemId: z.string(),\n designSystemVersionId: z.string(),\n sourceIds: z.array(z.string()),\n state: ImportJobState,\n createdByUserId: z.string().optional(),\n importContextId: z.string(),\n error: z.string().optional(),\n sourceType: DataSourceRemoteType,\n importContextCleanedUp: z.boolean(),\n});\n\nexport type ImportJobState = z.infer<typeof ImportJobState>;\nexport type ImportJobOperation = z.infer<typeof ImportJobOperation>;\nexport type ImportJob = z.infer<typeof ImportJob>;\n\nexport type CreateImportJob = DbCreateInputOmit<ImportJob>;\nexport type UpdateImportJob = OmitStrict<\n DbUpdate<ImportJob>,\n \"designSystemId\" | \"createdByUserId\" | \"sourceIds\" | \"importContextId\"\n>;\n","import { z } from \"zod\";\nimport { CollectionImportModel, CollectionImportModelInput } from \"../collection\";\nimport { AssetImportModelInput, FigmaComponentImportModel, FigmaComponentImportModelInput } from \"../component\";\nimport { DataSourceImportModel } from \"../data-source\";\nimport { FigmaFileStructureImportModel, FigmaFileStructureImportModelInput } from \"../figma-frames\";\nimport { ThemeImportModel, ThemeImportModelInput, ThemeUpdateImportModel, ThemeUpdateImportModelInput } from \"../theme\";\nimport { DesignTokenImportModel, DesignTokenImportModelInput } from \"../tokens\";\n\n//\n// Collections\n//\n\nexport const ImportModelInputCollection = z.object({\n source: DataSourceImportModel,\n tokens: z.array(DesignTokenImportModelInput).default([]),\n components: z.array(FigmaComponentImportModelInput).default([]),\n assets: z.array(AssetImportModelInput).default([]),\n themeUpdates: z.array(ThemeUpdateImportModelInput).default([]),\n themes: z.array(ThemeImportModelInput).default([]),\n figmaFileStructure: FigmaFileStructureImportModelInput.optional(),\n collections: z.array(CollectionImportModelInput),\n});\n\nexport const ImportModelCollection = z.object({\n sources: z.array(DataSourceImportModel),\n tokens: z.array(DesignTokenImportModel).default([]),\n components: z.array(FigmaComponentImportModel).default([]),\n themeUpdates: z.array(ThemeUpdateImportModel).default([]),\n themes: z.array(ThemeImportModel).default([]),\n figmaFileStructures: z.array(FigmaFileStructureImportModel),\n collections: z.array(CollectionImportModel),\n});\n\nexport type ImportModelCollection = z.infer<typeof ImportModelCollection>;\nexport type ImportModelInputCollection = z.infer<typeof ImportModelInputCollection>;\n\nexport function addImportModelCollections(\n lhs: ImportModelCollection,\n rhs: ImportModelCollection\n): ImportModelCollection {\n return {\n sources: [...lhs.sources, ...rhs.sources],\n tokens: [...lhs.tokens, ...rhs.tokens],\n components: [...lhs.components, ...rhs.components],\n themeUpdates: [...lhs.themeUpdates, ...rhs.themeUpdates],\n themes: [...lhs.themes, ...rhs.themes],\n figmaFileStructures: [...lhs.figmaFileStructures, ...rhs.figmaFileStructures],\n collections: [...lhs.collections, ...rhs.collections],\n };\n}\n","import { z } from \"zod\";\nimport { CollectionOrigin } from \"../collection\";\n\nexport const CollectionImportModelInput = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const CollectionImportModel = z.object({\n id: z.string(),\n name: z.string(),\n origin: CollectionOrigin,\n});\n\nexport type CollectionImportModelInput = z.infer<typeof CollectionImportModelInput>;\nexport type CollectionImportModel = z.infer<typeof CollectionImportModel>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\nimport { ColorTokenInlineData } from \"./properties\";\n\nexport const CollectionOrigin = z.object({\n id: z.string(),\n sourceId: z.string(),\n});\n\nexport const Collection = z.object({\n id: z.string(),\n persistentId: z.string(),\n\n designSystemVersionId: z.string(),\n\n name: z.string(),\n description: z.string(),\n backgroundColor: ColorTokenInlineData.optional(),\n\n /**\n * ID of Select element property definition's option that corresponds to this collection.\n *\n * Each collection is represented by an option in a special kind of element property that\n * is present in each design system where a collections are present. The property is maintained\n * automatically and is not available to the user (see immutable element properties).\n *\n * Collections have an immutable element property that allows bridging places where element properites\n * can be selected (e.g. documentation blocks) with the concept of collection without having to add\n * specific logic for collection selection.\n */\n elementPropertyOptionId: z.string(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n\n sortOrder: z.string(),\n\n origin: CollectionOrigin.optional(),\n});\n\nexport type CollectionOrigin = z.infer<typeof CollectionOrigin>;\nexport type Collection = z.infer<typeof Collection>;\n\nexport type CreateCollection = OmitStrict<DbCreateInputOmit<Collection>, \"elementPropertyOptionId\">;\nexport type UpdateCollection = OmitStrict<\n DbUpdate<Collection>,\n \"designSystemVersionId\" | \"origin\" | \"elementPropertyOptionId\"\n> & {\n origin?: Partial<CollectionOrigin>;\n};\n","import { z } from \"zod\";\nimport { FigmaComponentOrigin, FigmaComponentOriginPart, FigmaComponentPropertyMap } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\nimport { FigmaSvgRenderImportModel, ImageImportModel } from \"./image\";\n\n//\n// Import model\n//\n\nconst FigmaComponentImportModelPart = z.object({\n thumbnail: ImageImportModel,\n parentComponentId: z.string().optional(),\n componentPropertyDefinitions: FigmaComponentPropertyMap.optional(),\n variantPropertyValues: z.record(z.string()).optional(),\n renderNodeId: z.string(),\n svg: FigmaSvgRenderImportModel.optional(),\n});\n\nexport const FigmaComponentImportModel = ImportModelBase.extend(FigmaComponentImportModelPart.shape).extend({\n origin: FigmaComponentOrigin,\n isAsset: z.boolean(),\n});\n\nexport type FigmaComponentImportModel = z.infer<typeof FigmaComponentImportModel>;\n\n//\n// Import model input\n//\n\nexport const FigmaComponentImportModelInput = ImportModelInputBase.extend(FigmaComponentImportModelPart.shape).extend({\n originMetadata: FigmaComponentOriginPart,\n isAsset: z.boolean().optional(),\n});\n\nexport const AssetImportModelInput = FigmaComponentImportModelInput;\n\nexport type FigmaComponentImportModelInput = z.infer<typeof FigmaComponentImportModelInput>;\nexport type AssetImportModelInput = z.infer<typeof AssetImportModelInput>;\n","import { z } from \"zod\";\nimport { DesignElementOrigin } from \"../elements\";\nimport { ObjectMeta } from \"../../common\";\n\nexport const ImportModelBase = z.object({\n id: z.string(),\n meta: ObjectMeta,\n origin: DesignElementOrigin,\n brandPersistentId: z.string(),\n sortOrder: z.number(),\n});\n\nexport type ImportModelBase = z.infer<typeof ImportModelBase>;\n\nexport const ImportModelInputBase = ImportModelBase.omit({\n brandPersistentId: true,\n origin: true,\n sortOrder: true,\n}).extend({\n originId: z.string(),\n originMetadata: z.record(z.any()),\n});\n\nexport type ImportModelInputBase = z.infer<typeof ImportModelInputBase>;\n","import { z } from \"zod\";\nimport { AssetScope } from \"../assets\";\n\n//\n// Abstract\n//\n\nexport const ImageImportModelType = z.enum([\"Url\", \"FigmaRender\"]);\nexport type ImageImportModelType = z.infer<typeof ImageImportModelType>;\n\nconst ImageImportModelBase = z.object({\n scope: AssetScope,\n});\n\n//\n// Url\n//\n\nexport const UrlImageImportModel = ImageImportModelBase.extend({\n type: z.literal(ImageImportModelType.enum.Url),\n url: z.string(),\n originKey: z.string(),\n extension: z.string(),\n});\n\nexport type UrlImageImportModel = z.infer<typeof UrlImageImportModel>;\n\n//\n// Figma Render\n//\n\nexport const FigmaRenderFormat = z.enum([\"Svg\", \"Png\", \"Pdf\"]);\n\nconst FigmaRenderBase = ImageImportModelBase.extend({\n type: z.literal(ImageImportModelType.enum.FigmaRender),\n fileId: z.string(),\n fileVersionId: z.string().optional(),\n nodeId: z.string(),\n originKey: z.string(),\n});\n\nexport const FigmaPngRenderImportModel = FigmaRenderBase.extend({\n format: z.literal(FigmaRenderFormat.enum.Png),\n scale: z.number(),\n});\n\nexport const FigmaSvgRenderImportModel = FigmaRenderBase.extend({\n format: z.literal(FigmaRenderFormat.enum.Svg),\n});\n\nexport const FigmaRenderImportModel = z.discriminatedUnion(\"format\", [\n FigmaPngRenderImportModel,\n FigmaSvgRenderImportModel,\n]);\n\n//\n// Union\n//\n\n// Unfortunately discriminated union doesn't support inserting another discriminated union\nexport const ImageImportModel = z.union([UrlImageImportModel, FigmaRenderImportModel]);\n\n//\n// Types\n//\n\nexport type FigmaRenderFormat = z.infer<typeof FigmaRenderFormat>;\nexport type FigmaRenderBase = z.infer<typeof FigmaRenderBase>;\nexport type FigmaPngRenderImportModel = z.infer<typeof FigmaPngRenderImportModel>;\nexport type FigmaSvgRenderImportModel = z.infer<typeof FigmaSvgRenderImportModel>;\nexport type FigmaRenderImportModel = z.infer<typeof FigmaRenderImportModel>;\nexport type ImageImportModel = z.infer<typeof ImageImportModel>;\n\n//\n// Utils\n//\n\nexport function getFigmaRenderFormatFileExtension(format: FigmaRenderFormat): string {\n switch (format) {\n case \"Pdf\":\n return \"pdf\";\n case \"Png\":\n return \"png\";\n case \"Svg\":\n return \"svg\";\n }\n}\n","import { z } from \"zod\";\n\nexport const DataSourceImportModel = z.object({\n id: z.string(),\n fileName: z.string().optional(),\n thumbnailUrl: z.string().optional(),\n});\n\nexport type DataSourceImportModel = z.infer<typeof DataSourceImportModel>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { FigmaFileStructureNodeBase, FigmaFileStructureOrigin, FigmaFileStructureStatistics } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\n\n//\n// Nodes Import Model\n//\n\nexport const FigmaFileStructureNodeImportModel: z.ZodType<\n FigmaFileStructureNodeImportModel,\n ZodTypeDef,\n FigmaFileStructureNodeImportModelBaseInput\n> = FigmaFileStructureNodeBase.extend({\n children: z.lazy(() => FigmaFileStructureNodeImportModel.array()),\n});\n\ntype FigmaFileStructureNodeImportModelBaseInput = z.input<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeImportModelBaseInput[];\n};\n\nexport type FigmaFileStructureNodeImportModel = z.infer<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeImportModel[];\n};\n\n//\n// Structure Import Model\n//\n\nconst FigmaFileStructureImportModelPart = z.object({\n data: z.object({\n rootNode: FigmaFileStructureNodeImportModel,\n assetsInFile: FigmaFileStructureStatistics,\n }),\n});\n\nexport const FigmaFileStructureImportModel = ImportModelBase.extend(FigmaFileStructureImportModelPart.shape).extend({\n origin: FigmaFileStructureOrigin,\n});\n\nexport type FigmaFileStructureImportModel = z.infer<typeof FigmaFileStructureImportModel>;\n\n//\n// Import model input\n//\n\nexport const FigmaFileStructureImportModelInput = ImportModelInputBase.extend(\n FigmaFileStructureImportModelPart.shape\n).extend({\n fileVersionId: z.string(),\n});\n\nexport type FigmaFileStructureImportModelInput = z.infer<typeof FigmaFileStructureImportModelInput>;\n\nexport function figmaFileStructureImportModelToMap(\n root: FigmaFileStructureNodeImportModel\n): Map<string, FigmaFileStructureNodeImportModel> {\n const map = new Map<string, FigmaFileStructureNodeImportModel>();\n recursiveFigmaFileStructureToMap(root, map);\n return map;\n}\n\nfunction recursiveFigmaFileStructureToMap(\n node: FigmaFileStructureNodeImportModel,\n map: Map<string, FigmaFileStructureNodeImportModel>\n) {\n map.set(node.id, node);\n for (const child of node.children) recursiveFigmaFileStructureToMap(child, map);\n}\n","import { z } from \"zod\";\nimport {\n DesignTokenTypedData,\n DesignTokenType,\n ThemeOriginObject,\n ThemeOriginSource,\n ThemeOverrideOrigin,\n ThemeOverrideOriginPart,\n} from \"../elements\";\nimport { ObjectMeta } from \"../../common\";\n\n//\n// Overrides\n//\n\nexport const ThemeOverrideImportModelBase = DesignTokenTypedData.and(\n z.object({\n id: z.string(),\n meta: ObjectMeta,\n })\n);\n\nexport const ThemeOverrideImportModel = ThemeOverrideImportModelBase.and(\n z.object({\n origin: ThemeOverrideOrigin,\n })\n);\n\nexport const ThemeOverrideImportModelInput = ThemeOverrideImportModelBase.and(\n z.object({\n originId: z.string(),\n originMetadata: ThemeOverrideOriginPart,\n })\n);\n\nexport type ThemeOverrideImportModel = z.infer<typeof ThemeOverrideImportModel>;\nexport type ThemeOverrideImportModelOfType<T extends DesignTokenType> = Extract<ThemeOverrideImportModel, { type: T }>;\n\nexport type ThemeOverrideImportModelInput = z.infer<typeof ThemeOverrideImportModelInput>;\nexport type ThemeOverrideImportModelInputOfType<T extends DesignTokenType> = Extract<\n ThemeOverrideImportModelInput,\n { type: T }\n>;\n\n//\n// Themes\n//\n\nexport const ThemeImportModel = z.object({\n meta: ObjectMeta,\n brandPersistentId: z.string(),\n originSource: ThemeOriginSource,\n overrides: z.array(ThemeOverrideImportModel),\n sortOrder: z.number(),\n});\n\nexport const ThemeImportModelInput = z.object({\n meta: ObjectMeta,\n originObjects: z.array(ThemeOriginObject),\n overrides: z.array(ThemeOverrideImportModelInput),\n});\n\nexport type ThemeImportModel = z.infer<typeof ThemeImportModel>;\nexport type ThemeImportModelInput = z.infer<typeof ThemeImportModelInput>;\n\n//\n// Theme Update\n//\n\nexport const ThemeUpdateImportModel = z.object({\n themePersistentId: z.string(),\n overrides: z.array(ThemeOverrideImportModel),\n});\n\nexport const ThemeUpdateImportModelInput = z.object({\n themePersistentId: z.string(),\n overrides: z.array(ThemeOverrideImportModelInput),\n});\n\nexport type ThemeUpdateImportModel = z.infer<typeof ThemeUpdateImportModel>;\nexport type ThemeUpdateImportModelInput = z.infer<typeof ThemeUpdateImportModelInput>;\n","import { z } from \"zod\";\nimport { DesignTokenOrigin, DesignTokenOriginPart, DesignTokenType, DesignTokenTypedData } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\n\n//\n// Base\n//\n\nconst DesignTokenImportModelPart = z.object({\n collectionId: z.string().optional(),\n codeSyntax: z.record(z.coerce.string()).optional(),\n scopes: z.array(z.string()).optional(),\n});\n\nexport const DesignTokenImportModelBase = ImportModelBase.extend(DesignTokenImportModelPart.shape).extend({\n origin: DesignTokenOrigin,\n});\n\nexport const DesignTokenImportModelInputBase = ImportModelInputBase.extend(DesignTokenImportModelPart.shape).extend({\n originMetadata: DesignTokenOriginPart,\n});\n\n//\n// Import models\n//\n\nexport const DesignTokenImportModel = DesignTokenTypedData.and(DesignTokenImportModelBase);\nexport const DesignTokenImportModelInput = DesignTokenTypedData.and(DesignTokenImportModelInputBase);\n\nexport type DesignTokenImportModelInputBase = z.infer<typeof DesignTokenImportModelInputBase>;\n\nexport type DesignTokenImportModel = z.infer<typeof DesignTokenImportModel>;\nexport type DesignTokenImportModelOfType<T extends DesignTokenType> = Extract<DesignTokenImportModel, { type: T }>;\n\nexport type DesignTokenImportModelInput = z.infer<typeof DesignTokenImportModelInput>;\nexport type DesignTokenImportModelInputOfType<T extends DesignTokenType> = Extract<DesignTokenImportModel, { type: T }>;\n\nexport function isDesignTokenImportModelOfType<T extends DesignTokenType>(\n designToken: DesignTokenImportModel,\n type: T\n): designToken is DesignTokenImportModelOfType<T> {\n return designToken.type === type;\n}\n\nexport function designTokenImportModelTypeFilter<T extends DesignTokenType>(\n type: T\n): (designToken: DesignTokenImportModel) => designToken is DesignTokenImportModelOfType<T> {\n return (designToken): designToken is DesignTokenImportModelOfType<T> =>\n isDesignTokenImportModelOfType(designToken, type);\n}\n","import { z } from \"zod\";\n\nexport const DocumentationPageApprovalState = z.enum([\"ReadyForReview\", \"ChangesRequested\", \"Approved\"]);\nexport type DocumentationPageApprovalState = z.infer<typeof DocumentationPageApprovalState>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../../../helpers/db\";\nimport { DocumentationPageApprovalState } from \"../approvals/approval-state\";\n\nexport const DocumentationPageApproval = z.object({\n id: z.string(),\n approvalState: DocumentationPageApprovalState,\n persistentId: z.string(),\n pageId: z.string(),\n pagePersistentId: z.string(),\n updatedByUserId: z.string(),\n designSystemVersionId: z.string(),\n updatedAt: z.coerce.date(),\n createdAt: z.coerce.date(),\n});\n\nexport type CreateDocumentationPageApproval = DbCreateInputOmit<DocumentationPageApproval>;\nexport type DocumentationPageApproval = z.infer<typeof DocumentationPageApproval>;\n","import { z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\nimport { PageBlockDefinitionItem } from \"./item\";\n\n//\n// Enums\n//\n\nexport const PageBlockCategory = z.enum([\n \"Text\",\n \"Layout\",\n \"Media\",\n \"Embed\",\n \"Figma\",\n \"Code\",\n \"Guidelines\",\n \"Tokens\",\n \"Components\",\n \"Assets\",\n \"Data\",\n \"Other\",\n]);\n\nexport const PageBlockBehaviorDataType = z.enum([\n \"Item\",\n \"Token\",\n \"Asset\",\n \"Component\",\n \"FigmaNode\",\n \"FigmaComponent\",\n \"File\",\n]);\n\nexport const PageBlockBehaviorSelectionType = z.enum([\"Entity\", \"Group\", \"EntityAndGroup\"]);\n\nexport type PageBlockCategory = z.infer<typeof PageBlockCategory>;\nexport type PageBlockBehaviorDataType = z.infer<typeof PageBlockBehaviorDataType>;\nexport type PageBlockBehaviorSelectionType = z.infer<typeof PageBlockBehaviorSelectionType>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionBehavior = z.object({\n dataType: PageBlockBehaviorDataType,\n items: z\n .object({\n numberOfItems: z.number(),\n allowLinks: z.boolean(),\n newItemLabel: z.string().optional(),\n })\n .optional(),\n entities: z\n .object({\n selectionType: PageBlockBehaviorSelectionType,\n maxSelected: z.number(),\n })\n .optional(),\n});\n\nexport const PageBlockDefinitionOnboarding = z.object({\n helpText: z.string(),\n documentationLink: z.string().optional(),\n});\n\nexport const PageBlockDefinition = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n category: PageBlockCategory,\n icon: z.string().optional(),\n documentationLink: z.string().optional(),\n searchKeywords: z.array(z.string()).optional(),\n item: PageBlockDefinitionItem,\n behavior: PageBlockDefinitionBehavior,\n editorOptions: z.object({\n onboarding: PageBlockDefinitionOnboarding.optional(),\n newItemLabel: z.string().optional(),\n }),\n appearance: PageBlockDefinitionAppearance.optional(),\n});\n\nexport type PageBlockDefinitionBehavior = z.infer<typeof PageBlockDefinitionBehavior>;\nexport type PageBlockDefinitionOnboarding = z.infer<typeof PageBlockDefinitionOnboarding>;\nexport type PageBlockDefinition = z.infer<typeof PageBlockDefinition>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageGroup = z.object({\n type: z.literal(\"ElementGroup\"),\n childType: z.literal(\"DocumentationPage\"),\n id: z.string(),\n persistentId: z.string(),\n shortPersistentId: z.string(),\n designSystemVersionId: z.string(),\n parentPersistentId: z.string().nullish(),\n sortOrder: z.number(),\n title: z.string(),\n slug: z.string(),\n userSlug: z.string().nullish(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationPageGroup = z.infer<typeof DocumentationPageGroup>;\n","import { z } from \"zod\";\nimport { PageBlockImageReference } from \"../elements\";\n\nexport const DocumentationLinkPreview = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n thumbnail: PageBlockImageReference.optional(),\n});\n\nexport type DocumentationLinkPreview = z.infer<typeof DocumentationLinkPreview>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageAnchor = z.object({\n blockId: z.string(),\n level: z.number(),\n text: z.string(),\n});\n\nexport type DocumentationPageAnchor = z.infer<typeof DocumentationPageAnchor>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageContentBackup = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n documentationPageName: z.string(),\n storagePath: z.string(),\n});\n\nexport type DocumentationPageContentBackup = z.infer<typeof DocumentationPageContentBackup>;\n","import { z } from \"zod\";\nimport { PageBlockEditorModelV2, PageSectionEditorModelV2 } from \"../elements\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageContentItem = z.discriminatedUnion(\"type\", [\n PageBlockEditorModelV2,\n PageSectionEditorModelV2,\n]);\n\nexport const DocumentationPageContentData = z.object({\n items: z.array(DocumentationPageContentItem),\n});\n\nexport const DocumentationPageContent = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n data: DocumentationPageContentData,\n});\n\nexport type DocumentationPageContentItem = z.infer<typeof DocumentationPageContentItem>;\nexport type DocumentationPageContentData = z.infer<typeof DocumentationPageContentData>;\nexport type DocumentationPageContent = z.infer<typeof DocumentationPageContent>;\n\nexport type CreateDocumentationPageContent = DbCreateInputOmit<DocumentationPageContent>;\nexport type UpdateDocumentationPageContent = OmitStrict<\n DbUpdate<DocumentationPageContent>,\n \"designSystemVersionId\" | \"documentationPageId\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageDependencies = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n\n tokenPersistentIds: z.set(z.string()),\n figmaComponentPersistentIds: z.set(z.string()),\n componentPersistentIds: z.set(z.string()),\n figmaNodePersistentIds: z.set(z.string()),\n groupPersistentIds: z.set(z.string()),\n propertyPersistentIds: z.set(z.string()),\n themePersistentIds: z.set(z.string()),\n documentationPagePersistentIds: z.set(z.string()),\n storybookEntriesStoryIds: z.array(z.string()),\n});\n\nexport type PageContentDependencies = {\n tokenPersistentIds: Set<string>;\n figmaComponentPersistentIds: Set<string>;\n componentPersistentIds: Set<string>;\n figmaNodePersistentIds: Set<string>;\n groupPersistentIds: Set<string>;\n propertyPersistentIds: Set<string>;\n themePersistentIds: Set<string>;\n documentationPagePersistentIds: Set<string>;\n storybookEntriesStoryIds: Array<string>;\n};\nexport type PagesContentDependencies = Map<string, PageContentDependencies>;\n\nexport type DocumentationPageDependencies = z.infer<typeof DocumentationPageDependencies>;\n\nexport type CreateDocumentationPageDependencies = DbCreateInputOmit<DocumentationPageDependencies>;\nexport type UpdateDocumentationPageDependencies = OmitStrict<\n DbUpdate<DocumentationPageDependencies>,\n \"designSystemVersionId\" | \"documentationPageId\"\n>;\n","import { z } from \"zod\";\n\nexport const DocumentationPage = z.object({\n type: z.literal(\"DocumentationPage\"),\n id: z.string(),\n persistentId: z.string(),\n shortPersistentId: z.string(),\n designSystemVersionId: z.string(),\n parentPersistentId: z.string().nullish(),\n sortOrder: z.number(),\n title: z.string(),\n slug: z.string(),\n userSlug: z.string().nullish(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationPage = z.infer<typeof DocumentationPage>;\n","import { z } from \"zod\";\n\nexport const PageRedirect = z.object({\n id: z.string(),\n pagePersistentId: z.string(),\n path: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n designSystemId: z.string(),\n});\n\nexport type PageRedirect = z.infer<typeof PageRedirect>;\n","import { z } from \"zod\";\n\nexport const DocumentationSettings = z.object({\n // Basic\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n\n // Configuration\n isTabbedLayoutEnabled: z.boolean(),\n storybookEmbedErrorMessage: z.string().optional(),\n renderCodePackageJson: z.string().optional(),\n selectedBrandPersistentId: z.string().optional(),\n serveDefaultVersionOnly: z.boolean(),\n isPublic: z.boolean(),\n});\n\nexport type DocumentationSettings = z.infer<typeof DocumentationSettings>;\n","import { z } from \"zod\";\n\nexport const DocumentationComment = z.object({\n id: z.string(),\n\n authorId: z.string(),\n threadId: z.string(),\n roomId: z.string(),\n\n createdAt: z.coerce.date(),\n editedAt: z.coerce.date().optional(),\n deletedAt: z.coerce.date().optional(),\n\n body: z.string(),\n});\n\nexport const DocumentationCommentThread = z.object({\n id: z.string(),\n\n roomId: z.string(),\n\n pagePersistentId: z.string(),\n brandId: z.string(),\n designSystemVersionId: z.string(),\n designSystemId: z.string(),\n\n blockId: z.string().optional(),\n resolved: z.boolean(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationComment = z.infer<typeof DocumentationComment>;\nexport type DocumentationCommentThread = z.infer<typeof DocumentationCommentThread>;\n","import { z } from \"zod\";\nimport { groupBy } from \"../../utils\";\n\nexport const DesignElementSnapshotReason = z.enum([\"Publish\", \"Deletion\"]);\n\nexport const DesignElementSnapshotBase = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n reason: DesignElementSnapshotReason,\n createdByUserId: z.string(),\n});\n\nexport type DesignElementSnapshotBase = z.infer<typeof DesignElementSnapshotBase>;\nexport type DesignElementSnapshotReason = z.infer<typeof DesignElementSnapshotReason>;\n\n//\n// Util functions\n//\n\nexport function pickLatestSnapshots<T extends DesignElementSnapshotBase>(\n snapshots: T[],\n getSnapshotElementId: (snapshot: T) => string\n): T[] {\n const groupedSnapshots = groupBy(snapshots, getSnapshotElementId);\n\n return Array.from(groupedSnapshots.entries()).map(([_, snapshots]) => {\n // Sort snapshots by created at date desc\n const sorted = snapshots.sort((lhs, rhs) => rhs.createdAt.getTime() - lhs.createdAt.getTime());\n return sorted[0];\n });\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DocumentationPageV2 } from \"../elements\";\nimport { DesignElementSnapshotBase, pickLatestSnapshots } from \"./base\";\n\n/**\n * Snapshot of a documentation page.\n *\n * Please note that existence of snapshot's references (including parent persistent id) is not guaranteed.\n */\nexport const DocumentationPageSnapshot = DesignElementSnapshotBase.extend({\n page: DocumentationPageV2,\n pageContentHash: z.string(),\n pageContentStorageKey: z.string(),\n});\n\nexport type DocumentationPageSnapshot = z.infer<typeof DocumentationPageSnapshot>;\n\nexport type CreateDocumentationPageSnapshot = DbCreateInputOmit<DocumentationPageSnapshot>;\nexport type UpdateDocumentationPageSnapshot = OmitStrict<DbUpdate<DocumentationPageSnapshot>, \"designSystemVersionId\">;\n\n//\n// Util functions\n//\n\nexport function pickLatestPageSnapshots(snapshots: DocumentationPageSnapshot[]): DocumentationPageSnapshot[] {\n return pickLatestSnapshots(snapshots, s => s.page.id);\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ElementGroup } from \"../elements\";\nimport { DesignElementSnapshotBase, pickLatestSnapshots } from \"./base\";\n\n/**\n * Snapshot of an element group.\n *\n * Please note that existence of snapshot's references (including parent persistent id) is not guaranteed.\n */\nexport const ElementGroupSnapshot = DesignElementSnapshotBase.extend({\n group: ElementGroup,\n});\n\nexport type ElementGroupSnapshot = z.infer<typeof ElementGroupSnapshot>;\n\nexport type CreateElementGroupSnapshot = DbCreateInputOmit<ElementGroupSnapshot>;\nexport type UpdateElementGroupSnapshot = OmitStrict<DbUpdate<ElementGroupSnapshot>, \"designSystemVersionId\">;\n\n//\n// Util functions\n//\n\nexport function pickLatestGroupSnapshots(snapshots: ElementGroupSnapshot[]): ElementGroupSnapshot[] {\n return pickLatestSnapshots(snapshots, s => s.group.id);\n}\n","import { z } from \"zod\";\n\nconst FigmaExporterProcessedStylesSchema = z.object({\n display: z\n .union([\n z.literal(\"block\"),\n z.literal(\"inline-block\"),\n z.literal(\"inline\"),\n z.literal(\"flex\"),\n z.literal(\"grid\"),\n z.literal(\"none\"),\n ])\n .optional(),\n position: z\n .union([z.literal(\"absolute\"), z.literal(\"relative\"), z.literal(\"fixed\"), z.literal(\"static\"), z.literal(\"sticky\")])\n .optional(),\n top: z.string().optional(),\n right: z.string().optional(),\n bottom: z.string().optional(),\n left: z.string().optional(),\n width: z.string().optional(),\n height: z.string().optional(),\n minWidth: z.string().optional(),\n minHeight: z.string().optional(),\n maxWidth: z.string().optional(),\n maxHeight: z.string().optional(),\n zIndex: z.number().optional(),\n overflow: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n overflowX: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n overflowY: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n aspectRatio: z.string().optional(),\n flexDirection: z\n .union([z.literal(\"row\"), z.literal(\"row-reverse\"), z.literal(\"column\"), z.literal(\"column-reverse\")])\n .optional(),\n justifyContent: z\n .union([\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"space-between\"),\n z.literal(\"space-around\"),\n z.literal(\"space-evenly\"),\n ])\n .optional(),\n alignItems: z\n .union([\n z.literal(\"stretch\"),\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"baseline\"),\n ])\n .optional(),\n alignSelf: z\n .union([\n z.literal(\"auto\"),\n z.literal(\"stretch\"),\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"baseline\"),\n ])\n .optional(),\n flexGrow: z.number().optional(),\n flexShrink: z.number().optional(),\n flexBasis: z.string().optional(),\n flexWrap: z.union([z.literal(\"nowrap\"), z.literal(\"wrap\"), z.literal(\"wrap-reverse\")]).optional(),\n gap: z.string().optional(),\n rowGap: z.string().optional(),\n columnGap: z.string().optional(),\n gridTemplateColumns: z.string().optional(),\n gridTemplateRows: z.string().optional(),\n gridColumn: z.string().optional(),\n gridRow: z.string().optional(),\n gridAutoFlow: z\n .union([\n z.literal(\"row\"),\n z.literal(\"column\"),\n z.literal(\"dense\"),\n z.literal(\"row dense\"),\n z.literal(\"column dense\"),\n ])\n .optional(),\n alignContent: z\n .union([\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"space-between\"),\n z.literal(\"space-around\"),\n z.literal(\"stretch\"),\n ])\n .optional(),\n padding: z.string().optional(),\n paddingTop: z.string().optional(),\n paddingRight: z.string().optional(),\n paddingBottom: z.string().optional(),\n paddingLeft: z.string().optional(),\n margin: z.string().optional(),\n marginTop: z.string().optional(),\n marginRight: z.string().optional(),\n marginBottom: z.string().optional(),\n marginLeft: z.string().optional(),\n border: z.string().optional(),\n borderWidth: z.string().optional(),\n borderStyle: z.string().optional(),\n borderColor: z.string().optional(),\n borderTop: z.string().optional(),\n borderRight: z.string().optional(),\n borderBottom: z.string().optional(),\n borderLeft: z.string().optional(),\n borderRadius: z.string().optional(),\n borderTopLeftRadius: z.string().optional(),\n borderTopRightRadius: z.string().optional(),\n borderBottomRightRadius: z.string().optional(),\n borderBottomLeftRadius: z.string().optional(),\n backgroundColor: z.string().optional(),\n backgroundImage: z.string().optional(),\n backgroundSize: z.string().optional(),\n backgroundPosition: z.string().optional(),\n backgroundRepeat: z.string().optional(),\n backgroundClip: z\n .union([z.literal(\"border-box\"), z.literal(\"padding-box\"), z.literal(\"content-box\"), z.literal(\"text\")])\n .optional(),\n backgroundOrigin: z.union([z.literal(\"border-box\"), z.literal(\"padding-box\"), z.literal(\"content-box\")]).optional(),\n opacity: z.number().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n backdropFilter: z.string().optional(),\n mixBlendMode: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"multiply\"),\n z.literal(\"screen\"),\n z.literal(\"overlay\"),\n z.literal(\"darken\"),\n z.literal(\"lighten\"),\n z.literal(\"color-dodge\"),\n z.literal(\"color-burn\"),\n z.literal(\"hard-light\"),\n z.literal(\"soft-light\"),\n z.literal(\"difference\"),\n z.literal(\"exclusion\"),\n z.literal(\"hue\"),\n z.literal(\"saturation\"),\n z.literal(\"color\"),\n z.literal(\"luminosity\"),\n z.literal(\"plus-lighter\"),\n ])\n .optional(),\n transform: z.string().optional(),\n transformOrigin: z.string().optional(),\n rotate: z.string().optional(),\n clipPath: z.string().optional(),\n color: z.string().optional(),\n fontFamily: z.string().optional(),\n fontSize: z.string().optional(),\n fontWeight: z.union([z.string(), z.number()]).optional(),\n fontStyle: z.union([z.literal(\"normal\"), z.literal(\"italic\"), z.literal(\"oblique\")]).optional(),\n fontStretch: z.string().optional(),\n fontVariantCaps: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"small-caps\"),\n z.literal(\"all-small-caps\"),\n z.literal(\"petite-caps\"),\n z.literal(\"all-petite-caps\"),\n z.literal(\"unicase\"),\n z.literal(\"titling-caps\"),\n ])\n .optional(),\n lineHeight: z.union([z.string(), z.number()]).optional(),\n letterSpacing: z.string().optional(),\n textAlign: z\n .union([\n z.literal(\"left\"),\n z.literal(\"center\"),\n z.literal(\"right\"),\n z.literal(\"justify\"),\n z.literal(\"start\"),\n z.literal(\"end\"),\n ])\n .optional(),\n textDecorationLine: z\n .union([z.literal(\"none\"), z.literal(\"underline\"), z.literal(\"overline\"), z.literal(\"line-through\")])\n .optional(),\n textDecorationColor: z.string().optional(),\n textDecorationStyle: z\n .union([z.literal(\"solid\"), z.literal(\"double\"), z.literal(\"dotted\"), z.literal(\"dashed\"), z.literal(\"wavy\")])\n .optional(),\n textDecorationThickness: z.string().optional(),\n textTransform: z\n .union([\n z.literal(\"none\"),\n z.literal(\"uppercase\"),\n z.literal(\"lowercase\"),\n z.literal(\"capitalize\"),\n z.literal(\"full-width\"),\n ])\n .optional(),\n whiteSpace: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"nowrap\"),\n z.literal(\"pre\"),\n z.literal(\"pre-wrap\"),\n z.literal(\"pre-line\"),\n z.literal(\"break-spaces\"),\n ])\n .optional(),\n wordBreak: z\n .union([z.literal(\"normal\"), z.literal(\"break-all\"), z.literal(\"keep-all\"), z.literal(\"break-word\")])\n .optional(),\n textOverflow: z.union([z.literal(\"clip\"), z.literal(\"ellipsis\")]).optional(),\n WebkitLineClamp: z.number().optional(),\n WebkitBoxOrient: z.literal(\"vertical\").optional(),\n fontFeatureSettings: z.string().optional(),\n fill: z.string().optional(),\n stroke: z.string().optional(),\n strokeWidth: z.string().optional(),\n strokeLinecap: z.union([z.literal(\"butt\"), z.literal(\"round\"), z.literal(\"square\")]).optional(),\n strokeLinejoin: z.union([z.literal(\"miter\"), z.literal(\"round\"), z.literal(\"bevel\")]).optional(),\n strokeDasharray: z.string().optional(),\n strokeDashoffset: z.string().optional(),\n transition: z.string().optional(),\n animation: z.string().optional(),\n cursor: z.string().optional(),\n userSelect: z.union([z.literal(\"auto\"), z.literal(\"none\"), z.literal(\"text\"), z.literal(\"all\")]).optional(),\n pointerEvents: z\n .union([\n z.literal(\"auto\"),\n z.literal(\"none\"),\n z.literal(\"visiblePainted\"),\n z.literal(\"visibleFill\"),\n z.literal(\"visibleStroke\"),\n z.literal(\"visible\"),\n z.literal(\"painted\"),\n z.literal(\"fill\"),\n z.literal(\"stroke\"),\n z.literal(\"all\"),\n z.literal(\"inherit\"),\n ])\n .optional(),\n visibility: z.union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"collapse\")]).optional(),\n});\n\ntype ProcessedStyles = z.infer<typeof FigmaExporterProcessedStylesSchema>;\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Schema Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst FigmaExporterDesignNodeTypeSchema = z.union([\n z.literal(\"FRAME\"),\n z.literal(\"TEXT\"),\n z.literal(\"SVG\"),\n z.literal(\"COMPONENT_INSTANCE\"),\n]);\n\n// Base schema without children for extension\nconst baseDesignNodeObjectSchema = z.object({\n id: z.string(),\n type: FigmaExporterDesignNodeTypeSchema,\n parentId: z.string().nullable(),\n styles: FigmaExporterProcessedStylesSchema.partial(),\n});\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Individual node schemas extending the base\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst frameNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"FRAME\"),\n});\n\nconst textNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"TEXT\"),\n characters: z.string(),\n});\n\nconst svgNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"SVG\"),\n svgString: z.string(),\n});\n\nconst componentInstanceObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"COMPONENT_INSTANCE\"),\n supernovaId: z.string(),\n componentSetName: z.string(),\n componentSetDescription: z.string(),\n componentName: z.string(),\n componentDescription: z.string(),\n props: z.record(z.string(), z.union([z.string(), z.boolean()])),\n});\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Final Node Types with children\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\ntype FrameNode = z.infer<typeof frameNodeObjectSchema> & {\n children: AnyDesignNode[];\n};\n\ntype TextNode = z.infer<typeof textNodeObjectSchema>;\n\ntype SvgNode = z.infer<typeof svgNodeObjectSchema>;\n\ntype ComponentInstanceNode = z.infer<typeof componentInstanceObjectSchema> & {\n children: AnyDesignNode[];\n};\n\ntype AnyDesignNode = FrameNode | TextNode | SvgNode | ComponentInstanceNode;\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Final Schemas with children\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst frameNodeSchema: z.ZodType<FrameNode> = z.lazy(() =>\n frameNodeObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\n// Text nodes don't have children\nconst textNodeSchema = textNodeObjectSchema;\n\nconst svgNodeSchema: z.ZodType<SvgNode> = z.lazy(() =>\n svgNodeObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\nconst componentInstanceNodeSchema: z.ZodType<ComponentInstanceNode> = z.lazy(() =>\n componentInstanceObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\nexport const FigmaExporterAnyDesignNodeSchema = z.union([\n frameNodeSchema,\n textNodeSchema,\n svgNodeSchema,\n componentInstanceNodeSchema,\n]);\n\n// Exported types - exported like this to avoid naming conflicts and unnecessarily long names\nexport type FigmaExporter = {\n AnyDesignNode: AnyDesignNode;\n FrameNode: FrameNode;\n TextNode: TextNode;\n SvgNode: SvgNode;\n ComponentInstanceNode: ComponentInstanceNode;\n ProcessedStyles: ProcessedStyles;\n};\n","import { z } from \"zod\";\n\nexport const FigmaNodeRendererPayload = z.object({\n designSystemId: z.string(),\n versionId: z.string(),\n figmaNodePersistentIds: z.string().array(),\n});\n\nexport type FigmaNodeRendererPayload = z.infer<typeof FigmaNodeRendererPayload>;\n","import { z } from \"zod\";\nimport { FigmaFileStructureNodeImportModel } from \"../import/figma-frames\";\n\nexport const FigmaNodeStructureDataV2 = z.object({\n rootNode: FigmaFileStructureNodeImportModel,\n assetsInFile: z.object({\n components: z.number(),\n componentSets: z.number(),\n frames: z.number(),\n }),\n});\n\nexport type FigmaNodeStructureDataV2 = z.infer<typeof FigmaNodeStructureDataV2>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const FigmaNodeStructureStateV2 = z.enum([\"InProgress\", \"Success\", \"Failed\"]);\n\nexport const FigmaNodeStructureV2 = z.object({\n id: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n storagePath: z.string().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n importState: FigmaNodeStructureStateV2,\n error: z.string().optional(),\n chunkSize: z.number().optional(),\n\n // TODO Artem: remove after migration\n isFromLegacyStorage: z.boolean(),\n});\n\nexport type FigmaNodeStructureStateV2 = z.infer<typeof FigmaNodeStructureStateV2>;\nexport type FigmaNodeStructureV2 = z.infer<typeof FigmaNodeStructureV2>;\n\nexport type CreateFigmaNodeStructureV2 = OmitStrict<DbCreateInputOmit<FigmaNodeStructureV2>, \"isFromLegacyStorage\">;\nexport type UpdateFigmaNodeStructureV2 = OmitStrict<\n DbUpdate<FigmaNodeStructureV2>,\n \"designSystemId\" | \"sourceId\" | \"isFromLegacyStorage\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { WorkspaceRoleSchema } from \"../../workspace\";\nimport { DesignSystemRole } from \"./ds-role\";\nimport { DesignSystemInvitation } from \"./invitations\";\n\nexport const DesignSystemMembership = z.object({\n id: z.string(),\n userId: z.string(),\n designSystemId: z.string(),\n designSystemRole: DesignSystemRole.optional(),\n workspaceMembershipId: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n isDeactivated: z.boolean(),\n});\n\nexport type DesignSystemMembership = z.infer<typeof DesignSystemMembership>;\n\nexport type CreateDesignSystemMembership = OmitStrict<DbCreateInputOmit<DesignSystemMembership>, \"isDeactivated\"> & {\n isDeactivated?: boolean;\n};\nexport type UpdateDesignSystemMembership = OmitStrict<\n DbUpdate<DesignSystemMembership>,\n \"designSystemId\" | \"userId\" | \"workspaceMembershipId\"\n>;\n\nexport const DesignSystemMembers = z.object({\n members: DesignSystemMembership.array(),\n invitations: DesignSystemInvitation.array(),\n});\n\nexport const DesignSystemPendingMemberInvitation = z.object({\n inviteId: z.string(),\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemUserInvitation = z.object({\n userId: z.string(),\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemInvite = z.object({\n email: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemMemberUpdate = z.object({\n userId: z.string(),\n designSystemRole: DesignSystemRole.nullable(),\n});\n\nexport const DesignSystemInviteUpdate = z.object({\n /**\n * Workspace invitation id\n */\n inviteId: z.string(),\n designSystemRole: DesignSystemRole.nullable(),\n});\n\nexport const DesignSystemMembershipUpdates = z.object({\n usersToInvite: DesignSystemUserInvitation.array().optional(),\n invitesToInvite: DesignSystemPendingMemberInvitation.array().optional(),\n emailsToInvite: DesignSystemInvite.array().optional(),\n\n usersToUpdate: DesignSystemMemberUpdate.array().optional(),\n invitesToUpdate: DesignSystemInviteUpdate.array().optional(),\n\n removeUserIds: z.string().array().optional(),\n deleteInvitationIds: z.string().array().optional(),\n});\n\nexport type DesignSystemMembers = z.infer<typeof DesignSystemMembers>;\nexport type DesignSystemInvite = z.infer<typeof DesignSystemInvite>;\nexport type DesignSystemMemberUpdate = z.infer<typeof DesignSystemMemberUpdate>;\nexport type DesignSystemInviteUpdate = z.infer<typeof DesignSystemInviteUpdate>;\nexport type DesignSystemPendingMemberInvite = z.infer<typeof DesignSystemPendingMemberInvitation>;\nexport type DesignSystemUserInvitation = z.infer<typeof DesignSystemUserInvitation>;\nexport type DesignSystemMembershipUpdates = z.infer<typeof DesignSystemMembershipUpdates>;\n","import { z } from \"zod\";\n\nexport const NpmRegistryAuthType = z.enum([\"Basic\", \"Bearer\", \"None\", \"Custom\"]);\nexport const NpmRegistryType = z.enum([\"NPMJS\", \"GitHub\", \"AzureDevOps\", \"Artifactory\", \"Custom\"]);\n\nexport const NpmRegistryBasicAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Basic),\n username: z.string(),\n password: z.string(),\n});\n\nexport const NpmRegistryBearerAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Bearer),\n accessToken: z.string(),\n});\n\nexport const NpmRegistryNoAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.None),\n});\n\nexport const NpmRegistrCustomAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Custom),\n authHeaderName: z.string(),\n authHeaderValue: z.string(),\n});\n\nexport const NpmRegistryAuthConfig = z.discriminatedUnion(\"authType\", [\n NpmRegistryBasicAuthConfig,\n NpmRegistryBearerAuthConfig,\n NpmRegistryNoAuthConfig,\n NpmRegistrCustomAuthConfig,\n]);\n\nconst NpmRegistryConfigBase = z.object({\n registryType: NpmRegistryType,\n enabledScopes: z.array(z.string()),\n customRegistryUrl: z.string().optional(),\n bypassProxy: z.boolean().default(false),\n npmProxyRegistryConfigId: z.string().optional(),\n npmProxyVersion: z.number().optional(),\n});\n\nexport const NpmRegistryConfig = NpmRegistryConfigBase.and(NpmRegistryAuthConfig);\n\nexport type NpmRegistryConfig = z.infer<typeof NpmRegistryConfig>;\n","import { z } from \"zod\";\nexport const SsoProvider = z.object({\n providerId: z.string(),\n defaultAutoInviteValue: z.boolean(),\n autoInviteDomains: z.record(z.string(), z.boolean()),\n skipDocsSupernovaLogin: z.boolean(),\n areInvitesDisabled: z.boolean(),\n isTestMode: z.boolean(),\n emailDomains: z.array(z.string()),\n metadataXml: z.string().nullish(),\n});\n\nexport type SsoProvider = z.infer<typeof SsoProvider>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const WorkspaceUntypedData = z.object({\n id: z.string(),\n workspaceId: z.string(),\n value: z.unknown(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type WorkspaceUntypedData = z.infer<typeof WorkspaceUntypedData>;\n\nexport type WorkspaceUntypedDataCreate = DbCreateInputOmit<WorkspaceUntypedData>;\nexport type WorkspaceUntypedDataUpdate = OmitStrict<DbUpdate<WorkspaceUntypedData>, \"id\" | \"workspaceId\">;\n","import { z } from \"zod\";\nimport { WorkspaceRoleSchema } from \"./workspace-role\";\n\nexport const MAX_MEMBERS_COUNT = 100;\n\nexport const UserInvite = z.object({\n email: z\n .string()\n .email()\n .trim()\n .transform(value => value.toLowerCase()),\n role: WorkspaceRoleSchema,\n});\n\nexport const UserInvites = z.array(UserInvite).max(MAX_MEMBERS_COUNT);\n\nexport type UserInvite = z.infer<typeof UserInvite>;\nexport type UserInvites = z.infer<typeof UserInvites>;\n","import { z } from \"zod\";\n\nexport const WorkspaceRoleSchema = z.enum([\"Owner\", \"Admin\", \"Creator\", \"Viewer\", \"Billing\", \"Guest\", \"Contributor\"]);\nexport const WorkspaceRole = WorkspaceRoleSchema.enum;\nexport const WorkspaceSeatType = z.enum([\"Full\", \"Builder\", \"None\"]);\n\nexport type WorkspaceRole = z.infer<typeof WorkspaceRoleSchema>;\nexport type WorkspaceSeatType = z.infer<typeof WorkspaceSeatType>;\n\nexport function deriveWorkspaceSeatTypeFromRole(role: WorkspaceRole): WorkspaceSeatType {\n switch (role) {\n case \"Owner\":\n case \"Admin\":\n case \"Creator\":\n case \"Contributor\":\n return \"Full\";\n\n case \"Viewer\":\n case \"Billing\":\n case \"Guest\":\n return \"None\";\n }\n}\n\nconst FULL_SEAT_ROLES = new Set<WorkspaceRole>([\n WorkspaceRole.Owner,\n WorkspaceRole.Admin,\n WorkspaceRole.Creator,\n WorkspaceRole.Contributor,\n]);\n\nconst BUILDER_SEAT_ROLES = new Set<WorkspaceRole>([WorkspaceRole.Owner, WorkspaceRole.Admin, WorkspaceRole.Creator]);\n\nconst NONE_SEAT_ROLES = new Set<WorkspaceRole>([WorkspaceRole.Viewer, WorkspaceRole.Billing]);\n\n/**\n * Check if the seat type is valid for the given role and return boolean.\n */\nexport function isValidRoleSeatPair(role: WorkspaceRole, seatType: WorkspaceSeatType): boolean {\n return getAllowedRolesSetForSeatType(seatType).has(role);\n}\n\nexport function getAllowedRolesForSeatType(seatType: WorkspaceSeatType): WorkspaceRole[] {\n return Array.from(getAllowedRolesSetForSeatType(seatType));\n}\n\nfunction getAllowedRolesSetForSeatType(seatType: WorkspaceSeatType): Set<WorkspaceRole> {\n switch (seatType) {\n case \"Full\":\n return FULL_SEAT_ROLES;\n case \"Builder\":\n return BUILDER_SEAT_ROLES;\n case \"None\":\n return NONE_SEAT_ROLES;\n }\n}\n","import { z } from \"zod\";\nimport { SsoProvider } from \"./sso-provider\";\nimport {\n WorkspaceDefaultProjectAccessMode,\n WorkspaceDefaultProjectRole,\n WorkspaceIpSettings,\n WorkspaceProfileUpdate,\n} from \"./workspace\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\n\nexport const WorkspaceConfigurationUpdate = z.object({\n id: z.string(),\n ipWhitelist: WorkspaceIpSettings.optional(),\n sso: SsoProvider.optional(),\n npmRegistrySettings: NpmRegistryConfig.optional(),\n profile: WorkspaceProfileUpdate.optional(),\n aiFeaturesEnabled: z.boolean().optional(),\n projectsEnabled: z.boolean().optional(),\n defaultProjectAccessMode: WorkspaceDefaultProjectAccessMode.optional(),\n defaultProjectRole: WorkspaceDefaultProjectRole.optional(),\n aiAskFeaturesEnabled: z.boolean().optional(),\n aiCustomInstruction: z.string().optional(),\n});\n\nexport type WorkspaceConfigurationUpdate = z.infer<typeof WorkspaceConfigurationUpdate>;\n","import IPCIDR from \"ip-cidr\";\nimport { z } from \"zod\";\nimport { BillingDetails, Subscription } from \"../billing\";\nimport { DesignSystem } from \"../dsm\";\nimport { DbCreateInputOmit, DbUpdateInputOmit, nullishToOptional } from \"../helpers\";\nimport { ForgeDefaultProjectRole, ForgeProjectAccessMode } from \"../forge\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\nimport { SsoProvider } from \"./sso-provider\";\n\nconst isValidCIDR = (value: string) => {\n return IPCIDR.isValidAddress(value);\n};\n\nexport const WorkspaceDefaultProjectAccessMode = ForgeProjectAccessMode;\nexport const WorkspaceDefaultProjectRole = ForgeDefaultProjectRole;\n\nexport const WorkspaceIpWhitelistEntry = z.object({\n isEnabled: z.boolean(),\n name: z.string(),\n range: z.string().refine(isValidCIDR, {\n message: \"Invalid IP CIDR\",\n }),\n});\n\nexport const WorkspaceIpSettings = z.object({\n isEnabledForCloud: z.boolean(),\n isEnabledForDocs: z.boolean(),\n entries: z.array(WorkspaceIpWhitelistEntry),\n});\n\nexport const WorkspaceProfile = z.object({\n name: z.string(),\n handle: z.string(),\n color: z.string(),\n avatar: nullishToOptional(z.string()),\n billingDetails: nullishToOptional(BillingDetails),\n});\n\nexport const WorkspaceProfileUpdate = WorkspaceProfile.omit({\n avatar: true,\n});\n\nexport type WorkspaceProfileUpdate = z.infer<typeof WorkspaceProfileUpdate>;\n\nexport const Workspace = z.object({\n id: z.string(),\n profile: WorkspaceProfile,\n subscription: Subscription,\n ipWhitelist: nullishToOptional(WorkspaceIpSettings),\n sso: nullishToOptional(SsoProvider),\n npmRegistrySettings: nullishToOptional(NpmRegistryConfig),\n aiFeaturesEnabled: z.boolean().default(false),\n projectsEnabled: z.boolean().default(false),\n defaultProjectAccessMode: WorkspaceDefaultProjectAccessMode,\n defaultProjectRole: WorkspaceDefaultProjectRole,\n aiAskFeaturesEnabled: z.boolean().default(false),\n aiCustomInstruction: z.string().optional(),\n hasOpenMeterSubject: z.boolean(),\n});\n\nexport const WorkspaceWithDesignSystems = z.object({\n workspace: Workspace,\n designSystems: z.array(DesignSystem),\n});\n\nexport type CreateWorkspaceDbInput = DbCreateInputOmit<Workspace>;\nexport type UpdateWorkspaceDbInput = DbUpdateInputOmit<Workspace>;\n\nexport type WorkspaceIpWhitelistEntry = z.infer<typeof WorkspaceIpWhitelistEntry>;\nexport type WorkspaceIpSettings = z.infer<typeof WorkspaceIpSettings>;\nexport type WorkspaceProfile = z.infer<typeof WorkspaceProfile>;\nexport type Workspace = z.infer<typeof Workspace>;\nexport type WorkspaceWithDesignSystems = z.infer<typeof WorkspaceWithDesignSystems>;\nexport type WorkspaceDefaultProjectAccessMode = z.infer<typeof WorkspaceDefaultProjectAccessMode>;\nexport type WorkspaceDefaultProjectRole = z.infer<typeof WorkspaceDefaultProjectRole>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\n\nexport const ForgeAvatarBuilder = z.object({\n headType: z.string(),\n hairType: z.string(),\n accessory1Type: z.string(),\n accessory2Type: z.string(),\n});\n\nexport const ForgeAgent = z.object({\n avatar: z.union([z.string(), ForgeAvatarBuilder]),\n avatarUrl: z.string().optional(),\n behavior: z.enum([\"Coder\", \"Writer\", \"Designer\"]),\n id: z.string(),\n name: z.string(),\n personality: z.enum([\"Neutral\", \"Assertive\", \"Crazy\"]),\n projectId: z.string(),\n});\n\nexport type ForgeAvatarBuilder = z.infer<typeof ForgeAvatarBuilder>;\nexport type ForgeAgent = z.infer<typeof ForgeAgent>;\nexport type CreateForgeAgent = Omit<DbCreateInputOmit<ForgeAgent>, \"projectId\">;\nexport type UpdateForgeAgent = Omit<DbUpdate<ForgeAgent>, \"projectId\">;\n","import { z } from \"zod\";\n\nconst Artifact = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n projectIterationId: z.string(),\n});\n\nexport const ForgeFileArtifact = Artifact.extend({\n type: z.enum([\"file/text\", \"file/pdf\", \"file/image\"]),\n fileName: z.string(),\n uploadedFileUrl: z.string(),\n});\n\nexport const ForgeFigmaArtifact = Artifact.extend({\n type: z.literal(\"figma/node\"),\n figmaFileUrl: z.string(),\n figmaNodeId: z.string(),\n figmaFileName: z.string().optional(),\n previewUrl: z.string().optional(),\n});\n\nexport const ForgeSpecArtifact = Artifact.extend({\n type: z.literal(\"spec\"),\n fileName: z.string(),\n yjsDocId: z.string(),\n markdownText: z.string(),\n});\n\nexport const ForgeBuildArtifactFiles = z.array(\n z.object({\n path: z.string(),\n content: z.string(),\n isVisibleToUser: z.boolean().optional(),\n })\n);\n\nexport const ForgeBuildArtifactEnvironment = z.object({\n dependencies: z.record(z.string()),\n});\n\nexport const ForgeBuildArtifact = Artifact.extend({\n type: z.literal(\"build\"),\n participantId: z.string(),\n files: ForgeBuildArtifactFiles,\n environment: ForgeBuildArtifactEnvironment,\n});\n\nexport const ForgeArtifact = z.union([ForgeBuildArtifact, ForgeSpecArtifact, ForgeFigmaArtifact, ForgeFileArtifact]);\n\n// TypeScript types\nexport type ForgeFileArtifact = z.infer<typeof ForgeFileArtifact>;\nexport type ForgeFigmaArtifact = z.infer<typeof ForgeFigmaArtifact>;\nexport type ForgeSpecArtifact = z.infer<typeof ForgeSpecArtifact>;\nexport type ForgeBuildArtifact = z.infer<typeof ForgeBuildArtifact>;\nexport type ForgeArtifact = z.infer<typeof ForgeArtifact>;\n","import { z } from \"zod\";\n\nexport const Id = z.string().uuid();\n","import { z } from \"zod\";\nimport { ForgeParticipant } from \"./participant\";\n\nexport const ForgeIterationMessageStep = z.object({\n name: z.string(),\n text: z.string(),\n status: z.enum([\"pending\", \"started\", \"completed\", \"error\"]),\n});\n\nexport const ForgeIterationMessage = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n participantId: z.string(),\n participant: ForgeParticipant,\n projectIterationId: z.string(),\n steps: z.array(ForgeIterationMessageStep).optional(),\n type: z.enum([\"Note\", \"Action\", \"Steps\"]),\n text: z.string(),\n});\n\nexport type ForgeIterationMessage = z.infer<typeof ForgeIterationMessage>;\n","import { z } from \"zod\";\nimport { User } from \"../users\";\nimport { ForgeAgent } from \"./agent\";\n\nexport const ForgeParticipant = z.object({\n id: z.string(),\n agentId: z.string().optional(),\n agent: ForgeAgent.optional(),\n projectIterationId: z.string(),\n role: z.enum([\"Editor\", \"Viewer\"]),\n type: z.enum([\"Agent\", \"User\"]),\n userId: z.string().optional(),\n user: User.optional(),\n});\n\nexport type ForgeParticipant = z.infer<typeof ForgeParticipant>;\n","import { z } from \"zod\";\n\nexport const IntegrationAuthType = z.union([z.literal(\"OAuth2\"), z.literal(\"PAT\")]);\n\nexport type IntegrationAuthType = z.infer<typeof IntegrationAuthType>;\n\nexport const ExternalServiceType = z.union([\n z.literal(\"figma\"),\n z.literal(\"github\"),\n z.literal(\"azure\"),\n z.literal(\"gitlab\"),\n z.literal(\"bitbucket\"),\n]);\n\nexport type ExternalServiceType = z.infer<typeof ExternalServiceType>;\n\nexport const IntegrationUserInfo = z.object({\n id: z.string(),\n handle: z.string().optional(),\n avatarUrl: z.string().optional(),\n email: z.string().optional(),\n authType: IntegrationAuthType.optional(),\n customUrl: z.string().optional(),\n});\n\nexport type IntegrationUserInfo = z.infer<typeof IntegrationUserInfo>;\n\nexport const UserLinkedIntegrations = z.object({\n figma: IntegrationUserInfo.optional(),\n github: IntegrationUserInfo.array().optional(),\n azure: IntegrationUserInfo.array().optional(),\n gitlab: IntegrationUserInfo.array().optional(),\n bitbucket: IntegrationUserInfo.array().optional(),\n});\n\nexport type UserLinkedIntegrations = z.infer<typeof UserLinkedIntegrations>;\n","import { z } from \"zod\";\n\nexport const UserAnalyticsCleanupSchedule = z.object({\n userId: z.string(),\n createdAt: z.coerce.date(),\n deleteAt: z.coerce.date(),\n});\n\nexport type UserAnalyticsCleanupSchedule = z.infer<typeof UserAnalyticsCleanupSchedule>;\n\nexport const UserAnalyticsCleanupScheduleDbInput = UserAnalyticsCleanupSchedule.omit({\n createdAt: true,\n});\n\nexport type UserAnalyticsCleanupScheduleDbInput = z.infer<typeof UserAnalyticsCleanupScheduleDbInput>;\n","import { z } from \"zod\";\n\nexport const UserIdentity = z.object({\n id: z.string(),\n userId: z.string(),\n});\n\nexport type UserIdentity = z.infer<typeof UserIdentity>;\n","import { z } from \"zod\";\n\nexport const UserMinified = z.object({\n id: z.string(),\n name: z.string(),\n email: z.string(),\n avatar: z.string().optional(),\n});\n\nexport type UserMinified = z.infer<typeof UserMinified>;\n","import { z } from \"zod\";\n\n/**\n * @deprecated It's recommended to use new, more granular notification settings. We keep this for backward compatibility.\n */\nexport const LiveblocksNotificationSettings = z.object({\n sendCommentNotificationEmails: z.boolean(),\n});\n\nexport const NotificationType = z.enum([\n \"DesignDocumentComment\",\n \"ChatMention\",\n \"ProjectDocumentComment\",\n \"ProjectInvitation\",\n]);\n\nexport const NotificationChannel = z.enum([\"Email\", \"InApp\"]);\n\nexport const NotificationSettingOptions = z.object({\n enabled: z.boolean(),\n email: z.boolean(),\n});\n\nexport const NotificationSettings = z.object({\n [NotificationType.enum.ChatMention]: NotificationSettingOptions,\n [NotificationType.enum.ProjectDocumentComment]: NotificationSettingOptions,\n [NotificationType.enum.ProjectInvitation]: NotificationSettingOptions,\n [NotificationType.enum.DesignDocumentComment]: NotificationSettingOptions.omit({\n enabled: true,\n }),\n});\n\nexport const UserNotificationSettings = NotificationSettings.merge(\n z.object({\n /**\n * @deprecated Use granular notification settings instead.\n */\n liveblocksNotificationSettings: LiveblocksNotificationSettings,\n })\n);\n\nexport type UserNotificationSettings = z.infer<typeof UserNotificationSettings>;\nexport type LiveblocksNotificationSettings = z.infer<typeof LiveblocksNotificationSettings>;\nexport type NotificationSettings = z.infer<typeof NotificationSettings>;\nexport type NotificationType = z.infer<typeof NotificationType>;\nexport type NotificationChannel = z.infer<typeof NotificationChannel>;\n\nexport const defaultNotificationSettings: UserNotificationSettings = {\n liveblocksNotificationSettings: {\n sendCommentNotificationEmails: true,\n },\n DesignDocumentComment: { email: true },\n ChatMention: { enabled: true, email: true },\n ProjectInvitation: { enabled: true, email: true },\n ProjectDocumentComment: { enabled: true, email: true },\n} as const;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const UserOnboardingDepartment = z.enum([\"Design\", \"Engineering\", \"Product\", \"Brand\", \"Other\"]);\nexport const UserOnboardingJobLevel = z.enum([\"Executive\", \"Manager\", \"IndividualContributor\", \"Other\"]);\n\nconst userThemePresets = [\n \"Custom\",\n \"Default\",\n \"HighContrast\",\n \"DefaultDark\",\n \"HighContrastDark\",\n \"SpaceBlue\",\n \"DarkGrey\",\n \"SystemPreference\",\n \"Sepia\",\n] as const;\n\nconst portalThemePresets = [...userThemePresets, \"DefaultPortal\"] as const;\n\nexport const PortalThemePreset = z.enum(portalThemePresets);\nexport const UserThemePreset = z.enum(userThemePresets);\n\nexport const BaseTheme = z.object({\n backgroundColor: z.string().optional(),\n accentColor: z.string().optional(),\n contrast: z.number().min(16).max(100).optional(),\n isSecondaryEnabled: z.boolean().optional(),\n secondaryBackgroundColor: z.string().optional(),\n secondaryContrast: z.number().min(16).max(100).optional(),\n isEditorWhite: z.boolean().optional(),\n});\n\nexport const UserTheme = BaseTheme.extend({\n preset: UserThemePreset.optional(),\n});\n\nexport const PortalTheme = BaseTheme.extend({\n preset: PortalThemePreset.optional(),\n});\n\nexport const UserOnboarding = z.object({\n companyName: z.string().optional(),\n numberOfPeopleInOrg: z.string().optional(),\n numberOfPeopleInDesignTeam: z.string().optional(),\n department: UserOnboardingDepartment.optional(),\n jobTitle: z.string().optional(),\n phase: z.string().optional(),\n jobLevel: UserOnboardingJobLevel.optional(),\n designSystemName: z.string().optional(),\n defaultDestination: z.string().optional(),\n figmaUrl: z.string().optional(),\n isPageDraftOnboardingFinished: z.boolean().optional(),\n isApprovalsOnboardingFinished: z.boolean().optional(),\n});\n\nexport const UserProfile = z.object({\n name: z.string(),\n avatar: nullishToOptional(z.string()),\n nickname: nullishToOptional(z.string()),\n onboarding: nullishToOptional(UserOnboarding),\n theme: nullishToOptional(UserTheme),\n portalTheme: nullishToOptional(PortalTheme),\n});\n\nexport type UserOnboardingDepartment = z.infer<typeof UserOnboardingDepartment>;\nexport type UserOnboardingJobLevel = z.infer<typeof UserOnboardingJobLevel>;\nexport type UserOnboarding = z.infer<typeof UserOnboarding>;\nexport type PortalThemePreset = z.infer<typeof PortalThemePreset>;\nexport type UserThemePreset = z.infer<typeof UserThemePreset>;\nexport type UserTheme = z.infer<typeof UserTheme>;\nexport type PortalTheme = z.infer<typeof PortalTheme>;\nexport type UserProfile = z.infer<typeof UserProfile>;\n","import { z } from \"zod\";\n\nexport const UserTest = z.object({\n id: z.string(),\n email: z.string(),\n});\n\nexport type UserTest = z.infer<typeof UserTest>;\n","import { z } from \"zod\";\nimport { UserProfile } from \"./user-profile\";\n\nexport const UserSource = z.enum([\"SignUp\", \"Invite\", \"SSO\", \"Google\"]);\nexport const UserEmailSettings = z.object({\n marketingEmails: z.boolean(),\n});\n\nexport const User = z.object({\n id: z.string(),\n email: z.string(),\n createdAt: z.coerce.date(),\n profile: UserProfile,\n loggedOutAt: z.coerce.date().optional(),\n isProtected: z.boolean(),\n source: UserSource.optional(),\n emailSettings: UserEmailSettings.optional(),\n});\n\nexport type UserSource = z.infer<typeof UserSource>;\nexport type UserEmailSettings = z.infer<typeof UserEmailSettings>;\nexport type User = z.infer<typeof User>;\n","import { z } from \"zod\";\nimport { DocumentationPageContentData } from \"../dsm\";\n\nexport const ForgeProjectArtifactContentData = DocumentationPageContentData;\n\nexport const ForgeProjectArtifactContent = z.object({\n id: z.string(),\n artifactId: z.string(),\n projectId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n data: ForgeProjectArtifactContentData,\n});\n\nexport type ForgeProjectArtifactContent = z.infer<typeof ForgeProjectArtifactContent>;\nexport type ForgeProjectArtifactContentData = z.infer<typeof ForgeProjectArtifactContentData>;\n","import { z } from \"zod\";\nimport { FileReference } from \"../files\";\nimport { Id } from \"./id\";\nimport { SortOrder } from \"./project-section\";\n\nexport const ForgeProjectArtifact = z.object({\n id: Id,\n projectId: z.string(),\n iterationId: z.string().nullish(),\n title: z.string(),\n previewUrl: z.string().nullish(),\n sortOrder: SortOrder.default(0),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n createdByUserId: z.string(),\n sectionId: Id.optional(),\n threadId: z.string().optional(),\n thumbnail: FileReference.optional(),\n\n // Default value here is important for backward compatibility for parsing artifacts\n // from project rooms!\n isArchived: z.boolean().default(false),\n});\n\nexport type ForgeProjectArtifact = z.infer<typeof ForgeProjectArtifact>;\n","import z from \"zod\";\n\nexport const FileFigmaRenderMode = z.enum([\"Image\", \"HTML\", \"JSON\"]);\n\nexport const FileSourceUpload = z.object({\n type: z.literal(\"UserUpload\"),\n userId: z.string(),\n});\n\nexport const FileSourceFigma = z.object({\n type: z.literal(\"Figma\"),\n renderMode: FileFigmaRenderMode,\n});\n\nexport const FileSource = z.discriminatedUnion(\"type\", [FileSourceUpload, FileSourceFigma]);\n\nexport const File = z.object({\n id: z.string(),\n name: z.string(),\n deduplicationKey: z.string(),\n pendingUpload: z.boolean().optional(),\n storagePath: z.string(),\n url: z.string(),\n size: z.number(),\n\n /**\n * Object describing where did the file come from. Undefined source indicates a file produced by the\n * system (e.g. thumbnails, etc)\n */\n source: FileSource.optional(),\n});\n\nexport const FileReference = File.pick({\n id: true,\n url: true,\n source: true,\n}).extend({\n name: File.shape.name.optional(),\n});\n\nexport type FileFigmaRenderMode = z.infer<typeof FileFigmaRenderMode>;\nexport type FileSourceUpload = z.infer<typeof FileSourceUpload>;\nexport type FileSourceFigma = z.infer<typeof FileSourceFigma>;\nexport type FileSource = z.infer<typeof FileSource>;\nexport type File = z.infer<typeof File>;\nexport type FileReference = z.infer<typeof FileReference>;\n","import { z } from \"zod\";\nimport { Id } from \"./id\";\n\nexport const ForgeProjectSectionChildType = z.enum([\"Artifact\", \"Feature\"]);\nexport const SortOrder = z.number().int();\n\nexport const ForgeSection = z.object({\n id: Id,\n projectId: z.string(),\n name: z.string(),\n sortOrder: SortOrder.default(0),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n childType: ForgeProjectSectionChildType,\n});\n\nexport type ForgeSection = z.infer<typeof ForgeSection>;\nexport type ForgeProjectSectionChildType = z.infer<typeof ForgeProjectSectionChildType>;\n","import { z } from \"zod\";\nimport { FileReference } from \"../files\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { Id } from \"./id\";\nimport { SortOrder } from \"./project-section\";\n\nexport const ProjectFeatureStatus = z.enum([\"Draft\", \"ReadyForDevelopment\"]);\nexport const FeaturePublishedStateVisibility = z.enum([\"Public\", \"WorkspaceMembers\"]);\n\nexport const FeaturePublishedState = z.object({\n userId: z.string().optional(),\n userName: z.string().optional(),\n lastPublishedAt: z.coerce.date(),\n iterationId: z.string().nullable(),\n hideSupernovaUI: z.boolean(),\n visibility: FeaturePublishedStateVisibility.default(\"Public\"),\n});\n\nexport const ProjectFeature = z.object({\n createdAt: z.coerce.date(),\n createdByUserId: z.string(),\n description: z.string(),\n id: Id,\n isArchived: z.boolean(),\n name: z.string(),\n projectId: z.string(),\n sectionId: Id.optional(),\n e2bTemplateId: z.string().nullish(),\n e2bIterationId: z.string().nullish(),\n sortOrder: SortOrder.default(0),\n status: ProjectFeatureStatus.default(\"Draft\"),\n updatedAt: z.coerce.date().optional(),\n numberOfIterations: z.number().min(0).default(0),\n numberOfBookmarkedIterations: z.number().min(0).default(0),\n lastReplyTimestamp: z.coerce.date().optional(),\n threadId: z.string().optional(),\n thumbnail: FileReference.optional(),\n publishedState: FeaturePublishedState.optional(),\n});\n\nexport type ProjectFeature = z.infer<typeof ProjectFeature>;\nexport type CreateProjectFeature = Omit<DbCreateInputOmit<ProjectFeature>, \"projectId\" | \"createdByUserId\">;\nexport type UpdateProjectFeature = DbUpdate<CreateProjectFeature & Pick<ProjectFeature, \"id\">>;\nexport type FeaturePublishedState = z.infer<typeof FeaturePublishedState>;\n","import { z } from \"zod\";\nimport { FigmaNodeRenderedImage, FigmaNodeRenderError, FigmaNodeRenderFormat, FigmaNodeRenderState } from \"../dsm\";\n\nexport const ForgeProjectFigmaNode = z.object({\n id: z.string().uuid(),\n projectId: z.string(),\n sceneNodeId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: z.number().optional(),\n renderState: FigmaNodeRenderState,\n renderedImage: FigmaNodeRenderedImage.optional(),\n renderError: FigmaNodeRenderError.optional(),\n});\n\nexport const ForgeProjectFigmaNodeRenderInput = z.object({\n url: z.string(),\n format: FigmaNodeRenderFormat,\n scale: z.number(),\n});\n\nexport type ForgeProjectFigmaNode = z.infer<typeof ForgeProjectFigmaNode>;\nexport type ForgeProjectFigmaNodeRenderInput = z.infer<typeof ForgeProjectFigmaNodeRenderInput>;\n","import { z } from \"zod\";\nimport { Id } from \"./id\";\n\nexport const ForgeProjectFile = z.object({\n id: z.string(),\n projectId: Id,\n name: z.string(),\n filePath: z.string(),\n createdAt: z.coerce.date().optional(),\n pendingUpload: z.boolean().optional(),\n size: z.number().int().positive().optional(),\n checksum: z.string(),\n});\n\nexport type ForgeProjectFile = z.infer<typeof ForgeProjectFile>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { ForgeProjectRole } from \"./project-membership\";\n\nexport const ForgeProjectInvitation = z.object({\n email: z.string().email(),\n forgeProjectId: z.string(),\n workspaceInvitationId: z.string(),\n role: ForgeProjectRole,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n createdById: z.string(),\n});\n\nexport type ForgeProjectInvitation = z.infer<typeof ForgeProjectInvitation>;\nexport type CreateForgeProjectInvitation = DbCreateInputOmit<ForgeProjectInvitation>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { WorkspaceRoleSchema } from \"../workspace\";\n\nexport const ForgeProjectRole = z.enum([\"Viewer\", \"Builder\", \"Admin\"]);\n\nexport const ForgeDefaultProjectRole = ForgeProjectRole.exclude([\"Admin\"]);\n\nexport const ForgeProjectMembership = z.object({\n userId: z.string(),\n forgeProjectId: z.string(),\n workspaceMembershipId: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n role: ForgeProjectRole,\n});\n\nexport type ForgeProjectRole = z.infer<typeof ForgeProjectRole>;\nexport type ForgeProjectMembership = z.infer<typeof ForgeProjectMembership>;\nexport type CreateForgeProjectMembership = DbCreateInputOmit<ForgeProjectMembership>;\n","import { z } from \"zod\";\nimport { ForgeIterationMessage } from \"./iteration-message\";\nimport { ForgeArtifact } from \"./artifact\";\n\nexport const ForgeProjectIterationMergeMeta = z.object({ mergeByUserId: z.string(), mergeAt: z.date() });\n\nexport const ForgeProjectIteration = z.object({\n branchId: z.string().optional(),\n buildArtifactId: z.string(),\n createdAt: z.coerce.date(),\n forgeProjectId: z.string(),\n id: z.string(),\n locked: z.boolean(),\n messages: z.array(ForgeIterationMessage),\n artifacts: z.array(ForgeArtifact),\n previousIterationId: z.string().optional(),\n mergeMeta: ForgeProjectIterationMergeMeta.optional(),\n});\n\nexport type ForgeProjectIteration = z.infer<typeof ForgeProjectIteration>;\n","import { z } from \"zod\";\n\nexport const ForgeProjectAccessMode = z.enum([\"InviteOnly\", \"Open\", \"Unlisted\"]);\n\nexport type ForgeProjectAccessMode = z.infer<typeof ForgeProjectAccessMode>;\n","import { z } from \"zod\";\n\nexport const ForgeRelationType = z.enum([\"Feature\", \"Document\"]);\n\nexport const ForgeRelation = z.object({\n id: z.string(),\n projectId: z.string(),\n sourceItemId: z.string().uuid(),\n sourceItemType: ForgeRelationType,\n targetItemId: z.string().uuid(),\n targetItemType: ForgeRelationType,\n createdAt: z.string(),\n});\n\nexport type ForgeRelationType = z.infer<typeof ForgeRelationType>;\nexport type ForgeRelation = z.infer<typeof ForgeRelation>;\n","import { z } from \"zod\";\nimport { ProductCodeSchema } from \"../billing\";\nimport { WorkspaceIpSettings } from \"./workspace\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const WorkspaceContext = z.object({\n workspaceId: z.string(),\n product: ProductCodeSchema,\n ipWhitelist: nullishToOptional(WorkspaceIpSettings),\n publicDesignSystem: z.boolean().optional(),\n});\n\nexport type WorkspaceContext = z.infer<typeof WorkspaceContext>;\n","import { z } from \"zod\";\nimport { UserInvites } from \"./user-invite\";\nimport { BillingIntervalSchema, CardSchema, InternalStatusSchema, ProductCodeSchema } from \"../billing\";\nimport { slugRegex } from \"../utils/validation\";\nimport { SsoProvider } from \"./sso-provider\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\nimport { WorkspaceIpSettings } from \"./workspace\";\n\nconst WORKSPACE_NAME_MIN_LENGTH: number = 2;\nconst WORKSPACE_NAME_MAX_LENGTH: number = 64;\nexport const HANDLE_MIN_LENGTH = 2;\nexport const HANDLE_MAX_LENGTH = 64;\n\nexport const CreateWorkspaceInput = z.object({\n name: z.string().min(WORKSPACE_NAME_MIN_LENGTH).max(WORKSPACE_NAME_MAX_LENGTH).trim(),\n handle: z\n .string()\n .regex(slugRegex)\n .min(HANDLE_MIN_LENGTH)\n .max(HANDLE_MAX_LENGTH)\n .refine(value => value?.length > 0)\n .optional(),\n});\n\nexport type CreateWorkspaceInput = z.infer<typeof CreateWorkspaceInput>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\nimport { WorkspaceRole, WorkspaceSeatType } from \"./workspace-role\";\n\nexport const WorkspaceInvitation = z.object({\n id: z.string(),\n email: z.string().email(),\n createdAt: z.coerce.date(),\n resentAt: z.coerce.date().nullish(),\n role: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType,\n workspaceId: z.string(),\n invitedBy: z.string(),\n});\n\nexport type WorkspaceInvitation = z.infer<typeof WorkspaceInvitation>;\n\nexport type CreateWorkspaceInvitation = OmitStrict<DbCreateInputOmit<WorkspaceInvitation>, \"seatType\"> & {\n seatType?: WorkspaceSeatType;\n};\nexport type UpdateWorkspaceInvitation = OmitStrict<\n DbUpdate<WorkspaceInvitation>,\n \"email\" | \"invitedBy\" | \"workspaceId\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { UserNotificationSettings } from \"../users\";\nimport { OmitStrict } from \"../utils\";\nimport { WorkspaceRole, WorkspaceSeatType } from \"./workspace-role\";\n\nexport const WorkspaceMembership = z.object({\n id: z.string(),\n userId: z.string(),\n workspaceId: z.string(),\n workspaceRole: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType,\n notificationSettings: UserNotificationSettings,\n isPrimaryOwner: z.boolean().nullish(),\n isDeactivated: z.boolean(),\n});\n\nexport type WorkspaceMembership = z.infer<typeof WorkspaceMembership>;\n\nexport type CreateWorkspaceMembership = OmitStrict<\n DbCreateInputOmit<WorkspaceMembership>,\n \"seatType\" | \"isDeactivated\"\n> & {\n seatType?: WorkspaceSeatType;\n isDeactivated?: boolean;\n};\n\nexport type UpdateWorkspaceMembership = OmitStrict<DbUpdate<WorkspaceMembership>, \"userId\" | \"workspaceId\">;\n\nexport const UpdateMembershipRolesInput = z.object({\n members: z.array(\n z.object({\n userId: z.string(),\n role: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType.optional(),\n isPrimaryOwner: z.boolean().optional(),\n })\n ),\n});\n\nexport type UpdateMembershipRolesInput = z.infer<typeof UpdateMembershipRolesInput>;\n","import { z } from \"zod\";\nimport { WorkspaceRole } from \"../../workspace\";\nimport { SupernovaException } from \"../../utils\";\n\nexport const DesignSystemRole = z.enum([\n WorkspaceRole.Admin,\n WorkspaceRole.Contributor,\n WorkspaceRole.Creator,\n WorkspaceRole.Viewer,\n]);\nexport type DesignSystemRole = z.infer<typeof DesignSystemRole>;\n\nexport function workspaceRoleToDesignSystemRole(role: WorkspaceRole): DesignSystemRole {\n switch (role) {\n case \"Owner\":\n case \"Admin\":\n return \"Admin\";\n case \"Creator\":\n return \"Creator\";\n case \"Contributor\":\n return \"Contributor\";\n case \"Billing\":\n case \"Viewer\":\n return \"Viewer\";\n case \"Guest\":\n throw SupernovaException.shouldNotHappen(`Illegal role ${role}`);\n }\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { WorkspaceRoleSchema } from \"../../workspace\";\nimport { DesignSystemRole } from \"./ds-role\";\n\nexport const DesignSystemInvitation = z.object({\n id: z.string(),\n designSystemId: z.string(),\n workspaceInvitationId: z.string(),\n designSystemRole: DesignSystemRole.optional(),\n workspaceRole: WorkspaceRoleSchema,\n});\n\nexport type DesignSystemInvitation = z.infer<typeof DesignSystemInvitation>;\n\nexport type CreateDesignSystemInvitation = DbCreateInputOmit<DesignSystemInvitation>;\nexport type UpdateDesignSystemInvitation = OmitStrict<\n DbUpdate<DesignSystemInvitation>,\n \"designSystemId\" | \"workspaceInvitationId\"\n>;\n","import { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { z } from \"zod\";\n\nexport const ElementViewBaseColumnType = z.enum([\"Name\", \"Description\", \"Value\", \"UpdatedAt\"]);\n\nexport const ElementViewColumnType = z.union([\n z.literal(\"BaseProperty\"),\n z.literal(\"PropertyDefinition\"),\n z.literal(\"Theme\"),\n]);\n\nexport const ElementViewColumnSharedAttributes = z.object({\n id: z.string(),\n persistentId: z.string(),\n elementDataViewId: z.string(),\n sortPosition: z.number(),\n width: z.number(),\n});\n\nexport const ElementViewBasePropertyColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"BaseProperty\"),\n basePropertyType: ElementViewBaseColumnType,\n});\n\nexport const ElementViewPropertyDefinitionColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"PropertyDefinition\"),\n propertyDefinitionId: z.string(),\n});\n\nexport const ElementViewThemeColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"Theme\"),\n themeId: z.string(),\n});\n\nexport const ElementViewColumn = z.discriminatedUnion(\"type\", [\n ElementViewBasePropertyColumn,\n ElementViewPropertyDefinitionColumn,\n ElementViewThemeColumn,\n]);\n\nexport type ElementViewBaseColumnType = z.infer<typeof ElementViewBaseColumnType>;\nexport type ElementViewBasePropertyColumn = z.infer<typeof ElementViewBasePropertyColumn>;\nexport type ElementViewPropertyDefinitionColumn = z.infer<typeof ElementViewPropertyDefinitionColumn>;\nexport type ElementViewThemeColumn = z.infer<typeof ElementViewThemeColumn>;\nexport type ElementViewColumn = z.infer<typeof ElementViewColumn>;\nexport type ElementViewColumnSharedAttributes = z.infer<typeof ElementViewColumnSharedAttributes>;\nexport type ElementViewColumnType = z.infer<typeof ElementViewColumn>[\"type\"];\n\nexport type CreateElementViewColumn =\n | DbCreateInputOmit<ElementViewBasePropertyColumn>\n | DbCreateInputOmit<ElementViewPropertyDefinitionColumn>\n | DbCreateInputOmit<ElementViewThemeColumn>;\n\nexport type UpdateElementViewColumn =\n | OmitStrict<DbUpdate<ElementViewBasePropertyColumn>, \"elementDataViewId\">\n | OmitStrict<DbUpdate<ElementViewPropertyDefinitionColumn>, \"elementDataViewId\">\n | OmitStrict<DbUpdate<ElementViewThemeColumn>, \"elementDataViewId\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ElementPropertyTargetType } from \"../properties\";\n\nexport const ElementView = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n name: z.string(),\n description: z.string(),\n targetElementType: ElementPropertyTargetType,\n isDefault: z.boolean(),\n});\n\nexport type ElementView = z.infer<typeof ElementView>;\n\nexport type CreateElementView = DbCreateInputOmit<ElementView>;\nexport type UpdateElementView = OmitStrict<DbUpdate<ElementView>, \"designSystemVersionId\" | \"targetElementType\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nexport const Brand = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n name: z.string(),\n description: z.string(),\n});\n\nexport type Brand = z.infer<typeof Brand>;\nexport type CreateBrand = DbCreateInputOmit<Brand>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\n//\n// Enums\n//\n\nexport const DesignSystemAccessMode = z.enum([\"Open\", \"InviteOnly\"]);\nexport type DesignSystemAccessMode = z.infer<typeof DesignSystemAccessMode>;\n\n//\n// Model\n//\n\nexport const DesignSystemSwitcher = z.object({\n isEnabled: z.boolean(),\n designSystemIds: z.array(z.string()),\n});\n\nexport const DesignSystem = z.object({\n id: z.string(),\n workspaceId: z.string(),\n name: z.string(),\n description: z.string(),\n docExporterId: nullishToOptional(z.string()),\n docSlug: z.string(),\n docUserSlug: nullishToOptional(z.string()),\n docSlugDeprecated: z.string(),\n isMultibrand: z.boolean(),\n docViewUrl: nullishToOptional(z.string()),\n basePrefixes: z.array(z.string()),\n designSystemSwitcher: nullishToOptional(DesignSystemSwitcher),\n isApprovalFeatureEnabled: z.boolean(),\n approvalRequiredForPublishing: z.boolean(),\n accessMode: DesignSystemAccessMode,\n membersGenerated: z.boolean(),\n sharedDraftId: z.string().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DesignSystemSwitcher = z.infer<typeof DesignSystemSwitcher>;\nexport type DesignSystem = z.infer<typeof DesignSystem>;\n\nexport type CreateDesignSystem = OmitStrict<DbCreateInputOmit<DesignSystem>, \"sharedDraftId\">;\nexport type UpdateDesignSystem = OmitStrict<\n DbUpdate<DesignSystem>,\n \"workspaceId\" | \"docSlug\" | \"docSlugDeprecated\" | \"sharedDraftId\"\n>;\n","import { z } from \"zod\";\nimport { ColorTokenData, PageBlockAsset, TypographyTokenData } from \"./elements\";\n\nexport const ExporterPropertyImageValue = z.object({\n asset: PageBlockAsset.optional(),\n assetId: z.string().optional(),\n assetUrl: z.string().optional(),\n});\n\nexport const ExporterConfigurationPropertyValue = z.object({\n key: z.string(),\n value: z.union([\n z.number(),\n z.string(),\n z.boolean(),\n ExporterPropertyImageValue,\n ColorTokenData,\n TypographyTokenData,\n ]),\n});\n\nexport const ExporterPropertyValuesCollection = z.object({\n id: z.string(),\n designSystemId: z.string(),\n exporterId: z.string(),\n values: z.array(ExporterConfigurationPropertyValue),\n});\n\nexport type ExporterPropertyImageValue = z.infer<typeof ExporterPropertyImageValue>;\nexport type ExporterConfigurationPropertyValue = z.infer<typeof ExporterConfigurationPropertyValue>;\nexport type ExporterPropertyValuesCollection = z.infer<typeof ExporterPropertyValuesCollection>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, nullishToOptional } from \"../helpers\";\n\nexport const PublishedDocPageVisitsEntry = z.object({\n id: z.string(),\n versionId: z.string(),\n pagePersistentId: z.string(),\n locale: z.string().optional(),\n timestamp: z.coerce.date(),\n visits: z.number(),\n userId: nullishToOptional(z.string()),\n anonymousId: nullishToOptional(z.string()),\n});\n\nexport type PublishedDocPageVisitsEntry = z.infer<typeof PublishedDocPageVisitsEntry>;\n\nexport type CreatePublishedDocPageVisitsEntry = DbCreateInputOmit<PublishedDocPageVisitsEntry>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const SHORT_PERSISTENT_ID_LENGTH = 8;\n\nexport function tryParseShortPersistentId(url = \"/\") {\n const lastUrlPart = url.split(\"/\").pop() || \"\";\n const shortPersistentId = lastUrlPart.split(\"-\").pop()?.replaceAll(\".html\", \"\") || null;\n\n return shortPersistentId?.length === SHORT_PERSISTENT_ID_LENGTH ? shortPersistentId : null;\n}\n\nexport const PublishedDocPage = z.object({\n id: z.string(),\n publishedDocId: z.string(),\n pageShortPersistentId: z.string(),\n pagePersistentId: z.string().optional(),\n pathV1: z.string(),\n pathV2: z.string(),\n storagePath: z.string(),\n locale: z.string().optional(),\n\n isPrivate: z.boolean(),\n isHidden: z.boolean(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type PublishedDocPage = z.infer<typeof PublishedDocPage>;\n\nexport type CreatePublishedDocPage = DbCreateInputOmit<PublishedDocPage> & {\n pagePersistentId: string;\n};\n\nexport type UpdatePublishedDocPage = DbUpdate<OmitStrict<PublishedDocPage, \"pageShortPersistentId\" | \"publishedDocId\">>;\n","import { z } from \"zod\";\n\nexport const publishedDocEnvironments = [\"Live\", \"Preview\"] as const;\nexport const PublishedDocEnvironment = z.enum(publishedDocEnvironments);\n\nexport const PublishedDocsChecksums = z.record(z.string());\n\nexport const PublishedDocRoutingVersion = z.enum([\"1\", \"2\"]);\n\nexport const PublishedDoc = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n lastPublishedAt: z.coerce.date(),\n isDefault: z.boolean(),\n isPublic: z.boolean(),\n environment: PublishedDocEnvironment,\n checksums: PublishedDocsChecksums,\n storagePath: z.string(),\n wasMigrated: z.boolean(),\n routingVersion: PublishedDocRoutingVersion,\n usesLocalizations: z.boolean(),\n wasPublishedWithLocalizations: z.boolean(),\n tokenCount: z.number(),\n assetCount: z.number(),\n});\n\nexport type PublishedDocEnvironment = z.infer<typeof PublishedDocEnvironment>;\nexport type PublishedDocsChecksums = z.infer<typeof PublishedDocsChecksums>;\nexport type PublishedDocRoutingVersion = z.infer<typeof PublishedDocRoutingVersion>;\nexport type PublishedDoc = z.infer<typeof PublishedDoc>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const StorybookEntryOrigin = z.object({\n id: z.string(),\n type: z.enum([\"story\", \"docs\"]),\n name: z.string(),\n title: z.string(), // Same as 'kind' for v3\n index: z.number().optional(),\n});\n\nexport const StorybookEntry = z.object({\n id: z.string(),\n storyId: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n aliases: z.array(z.string()).optional(),\n\n url: z.string(),\n isDeleted: z.boolean().optional(),\n\n origin: StorybookEntryOrigin,\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type StorybookEntry = z.infer<typeof StorybookEntry>;\nexport type StorybookEntryOrigin = z.infer<typeof StorybookEntryOrigin>;\nexport type CreateStorybookEntry = OmitStrict<DbCreateInputOmit<StorybookEntry>, \"storyId\">;\nexport type UpdateStorybookEntry = OmitStrict<\n DbUpdate<StorybookEntry>,\n \"sourceId\" | \"designSystemId\" | \"storyId\" | \"id\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const StorybookPayload = z.object({\n id: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n payload: z.any(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type StorybookPayload = z.infer<typeof StorybookPayload>;\nexport type CreateStorybookPayload = DbCreateInputOmit<StorybookPayload>;\nexport type UpdateStorybookPayload = OmitStrict<DbUpdate<StorybookPayload>, \"designSystemId\" | \"sourceId\" | \"id\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const DesignSystemVersion = z.object({\n id: z.string(),\n version: z.string(),\n createdAt: z.coerce.date(),\n designSystemId: z.string(),\n name: z.string(),\n comment: z.string(),\n isReadonly: z.boolean(),\n changeLog: z.string(),\n parentId: z.string().optional(),\n isDraftsFeatureAdopted: z.boolean(),\n});\n\nexport type DesignSystemVersion = z.infer<typeof DesignSystemVersion>;\n\nexport type CreateDesignSystemVersion = DbCreateInputOmit<DesignSystemVersion>;\n\nexport type UpdateDesignSystemVersion = OmitStrict<\n DbUpdate<DesignSystemVersion>,\n \"designSystemId\" | \"isReadonly\" | \"version\" | \"parentId\"\n>;\n\n// Jobs\nexport const VersionCreationJobStatus = z.enum([\"Success\", \"InProgress\", \"Error\"]);\n\nexport type VersionCreationJobStatus = z.infer<typeof VersionCreationJobStatus>;\n\nexport const VersionCreationJob = z.object({\n id: z.string(),\n version: z.string(),\n designSystemId: z.string(),\n designSystemVersionId: nullishToOptional(z.string()),\n status: VersionCreationJobStatus,\n errorMessage: nullishToOptional(z.string()),\n});\n\nexport type VersionCreationJob = z.infer<typeof VersionCreationJob>;\n","import { z } from \"zod\";\nimport { CustomDomain } from \"../custom-domains\";\nimport { Asset } from \"../dsm/assets/asset\";\nimport { DataSource } from \"../dsm/data-sources/data-source\";\nimport { DesignSystem } from \"../dsm/design-system\";\nimport { DesignSystemVersionDump } from \"./design-system-version-dump\";\n\nexport const DesignSystemDump = z.object({\n designSystem: DesignSystem,\n dataSources: DataSource.array(),\n versions: DesignSystemVersionDump.array(),\n customDomain: CustomDomain.optional(),\n files: Asset.array(),\n});\n\nexport type DesignSystemDump = z.infer<typeof DesignSystemDump>;\n","import { z } from \"zod\";\nimport { AssetReference } from \"../dsm/assets/asset-reference\";\nimport { Brand } from \"../dsm/brand\";\nimport { DocumentationPageContent } from \"../dsm/documentation/page-content\";\nimport { DocumentationComment, DocumentationCommentThread } from \"../dsm/documentation/thread\";\nimport { DesignElement } from \"../dsm/elements/raw-element\";\nimport { ElementPropertyDefinition } from \"../dsm/properties/property-definition\";\nimport { ElementPropertyValue } from \"../dsm/properties/property-value\";\nimport { DesignSystemVersion } from \"../dsm/version\";\nimport { ElementViewColumn } from \"../dsm/views/column\";\nimport { ElementView } from \"../dsm/views/view\";\nimport { DocumentationPageRoom } from \"../liveblocks\";\nimport { PublishedDocsDump } from \"./published-docs-dump\";\n\nexport const DocumentationThreadDump = z.object({\n thread: DocumentationCommentThread,\n comments: DocumentationComment.array(),\n});\n\nexport const DocumentationPageRoomDump = z.object({\n room: DocumentationPageRoom,\n threads: DocumentationThreadDump.array(),\n});\n\nexport const DesignSystemVersionMultiplayerDump = z.object({\n documentationPages: DocumentationPageRoomDump.array(),\n});\n\nexport const DesignSystemVersionDump = z.object({\n version: DesignSystemVersion,\n brands: Brand.array(),\n elements: DesignElement.array(),\n elementPropertyDefinitions: ElementPropertyDefinition.array(),\n elementPropertyValues: ElementPropertyValue.array(),\n elementViews: ElementView.array(),\n elementColumns: ElementViewColumn.array(),\n documentationPageContents: DocumentationPageContent.array(),\n documentationPageRooms: DocumentationPageRoomDump.array(),\n publishedDocumentations: PublishedDocsDump.array(),\n assetReferences: AssetReference.array(),\n});\n\nexport type DocumentationThreadDump = z.infer<typeof DocumentationThreadDump>;\nexport type DocumentationPageRoomDump = z.infer<typeof DocumentationPageRoomDump>;\nexport type DesignSystemVersionDump = z.infer<typeof DesignSystemVersionDump>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DocumentationPageApproval, DocumentationPageSnapshot, ElementGroupSnapshot } from \"../../dsm\";\nimport { DocumentationPageV2 } from \"../../dsm/elements/documentation-page-v2\";\nimport { ElementGroup } from \"../../dsm/elements/group\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\n\n//\n// Room\n//\n\nexport const DesignSystemVersionRoom = Entity.extend({\n designSystemVersionId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type DesignSystemVersionRoom = z.infer<typeof DesignSystemVersionRoom>;\n\nexport type CreateDesignSystemVersionRoom = DbCreateInputOmit<DesignSystemVersionRoom>;\nexport type UpdateDesignSystemVersionRoom = DbUpdate<DesignSystemVersionRoom>;\n\n//\n// Room state\n//\n\nexport const DesignSystemVersionRoomInternalSettings = z.object({\n routingVersion: z.string(),\n isDraftFeatureAdopted: z.boolean(),\n isApprovalFeatureEnabled: z.boolean(),\n approvalRequiredForPublishing: z.boolean(),\n});\n\nexport const DesignSystemVersionRoomInitialState = z.object({\n pages: z.array(DocumentationPageV2),\n groups: z.array(ElementGroup),\n\n pageSnapshots: z.array(DocumentationPageSnapshot),\n groupSnapshots: z.array(ElementGroupSnapshot),\n\n pageApprovals: z.array(DocumentationPageApproval),\n internalSettings: DesignSystemVersionRoomInternalSettings,\n\n pageHashes: z.record(z.string()).optional(),\n});\n\nexport const DesignSystemVersionRoomUpdate = z.object({\n pages: z.array(DocumentationPageV2),\n groups: z.array(ElementGroup),\n pageIdsToDelete: z.array(z.string()),\n groupIdsToDelete: z.array(z.string()),\n\n pageSnapshots: z.array(DocumentationPageSnapshot),\n groupSnapshots: z.array(ElementGroupSnapshot),\n pageSnapshotIdsToDelete: z.array(z.string()),\n groupSnapshotIdsToDelete: z.array(z.string()),\n pageHashesToUpdate: z.record(z.string(), z.string()),\n\n pageApprovals: z.array(DocumentationPageApproval),\n pageApprovalIdsToDelete: z.array(z.string()),\n executedTransactionIds: z.array(z.string()),\n});\n\nexport type DesignSystemVersionRoomInternalSettings = z.infer<typeof DesignSystemVersionRoomInternalSettings>;\nexport type DesignSystemVersionRoomInitialState = z.infer<typeof DesignSystemVersionRoomInitialState>;\nexport type DesignSystemVersionRoomUpdate = z.infer<typeof DesignSystemVersionRoomUpdate>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DocumentationPageContentData } from \"../../dsm\";\nimport { PageBlockDefinition } from \"../../dsm/documentation/block-definitions/definition\";\nimport { PageSectionEditorModelV2 } from \"../../dsm/elements/data/documentation-section-v2\";\nimport { DocumentationItemConfigurationV2 } from \"../../dsm/elements/data/documentation-v2\";\nimport { DocumentationPageV2 } from \"../../dsm/elements/documentation-page-v2\";\nimport { ElementGroup } from \"../../dsm/elements/group\";\nimport { PageBlockEditorModelV2 } from \"../../dsm/elements/page-block-v2\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageRoom = Entity.extend({\n designSystemVersionId: z.string(),\n documentationPageId: z.string(),\n liveblocksId: z.string(),\n isDirty: z.boolean(),\n});\n\nexport type DocumentationPageRoom = z.infer<typeof DocumentationPageRoom>;\n\nexport type CreateDocumentationPageRoom = DbCreateInputOmit<DocumentationPageRoom>;\nexport type UpdateDocumentationPageRoom = OmitStrict<\n DbUpdate<DocumentationPageRoom>,\n \"designSystemVersionId\" | \"documentationPageId\" | \"liveblocksId\"\n>;\n\n//\n// Room content\n//\n\nexport const DocumentationPageRoomState = z.object({\n pageItems: z.array(PageBlockEditorModelV2.or(PageSectionEditorModelV2)),\n});\n\nexport const DocumentationPageRoomRoomUpdate = z.object({\n page: DocumentationPageV2,\n pageParent: ElementGroup,\n});\n\nexport const DocumentationPageRoomInitialStateUpdate = DocumentationPageRoomRoomUpdate.extend({\n pageItems: z.array(PageBlockEditorModelV2.or(PageSectionEditorModelV2)),\n blockDefinitions: z.array(PageBlockDefinition),\n});\n\nexport const RestoredDocumentationPage = z.object({\n page: DocumentationPageV2,\n pageParent: ElementGroup,\n pageContent: DocumentationPageContentData,\n contentHash: z.string(),\n});\n\nexport const RestoredDocumentationGroup = z.object({\n group: ElementGroup,\n parent: ElementGroup,\n});\n\nexport type DocumentationPageRoomState = z.infer<typeof DocumentationPageRoomState>;\nexport type DocumentationPageRoomRoomUpdate = z.infer<typeof DocumentationPageRoomRoomUpdate>;\nexport type DocumentationPageRoomInitialStateUpdate = z.infer<typeof DocumentationPageRoomInitialStateUpdate>;\nexport type RestoredDocumentationPage = z.infer<typeof RestoredDocumentationPage>;\nexport type RestoredDocumentationGroup = z.infer<typeof RestoredDocumentationGroup>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeFeatureRoom = Entity.extend({\n featureId: z.string(),\n projectId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type ForgeFeatureRoom = z.infer<typeof ForgeFeatureRoom>;\n\nexport type CreateForgeFeatureRoom = DbCreateInputOmit<ForgeFeatureRoom>;\nexport type UpdateForgeFeatureRoom = OmitStrict<DbUpdate<ForgeFeatureRoom>, \"featureId\" | \"projectId\" | \"liveblocksId\">;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeProjectArtifactRoom = Entity.extend({\n artifactId: z.string(),\n projectId: z.string(),\n liveblocksId: z.string(),\n isDirty: z.boolean(),\n});\n\nexport type ForgeProjectArtifactRoom = z.infer<typeof ForgeProjectArtifactRoom>;\n\nexport type CreateForgeProjectArtifactRoom = DbCreateInputOmit<ForgeProjectArtifactRoom>;\nexport type UpdateForgeProjectArtifactRoom = OmitStrict<\n DbUpdate<ForgeProjectArtifactRoom>,\n \"artifactId\" | \"projectId\" | \"liveblocksId\"\n>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { ForgeProjectArtifact, ForgeSection, ProjectFeature, ForgeRelation } from \"../../forge\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeProjectRoom = Entity.extend({\n projectId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type ForgeProjectRoom = z.infer<typeof ForgeProjectRoom>;\n\nexport type CreateForgeProjectRoom = DbCreateInputOmit<ForgeProjectRoom>;\nexport type UpdateForgeProjectRoom = OmitStrict<DbUpdate<ForgeProjectRoom>, \"projectId\" | \"liveblocksId\">;\n\nexport const ForgeProjectRoomInitialState = z.object({\n artifacts: z.array(ForgeProjectArtifact),\n features: z.array(ProjectFeature),\n artifactSections: z.array(ForgeSection),\n featureSections: z.array(ForgeSection),\n relations: z.array(ForgeRelation),\n});\n\nexport const ForgeProjectRoomUpdate = z.object({\n artifacts: z.array(ForgeProjectArtifact).optional(),\n artifactIdsToDelete: z.array(z.string()).optional(),\n\n features: z.array(ProjectFeature).optional(),\n featureIdsToDelete: z.array(z.string()).optional(),\n\n artifactSections: z.array(ForgeSection).optional(),\n artifactSectionIdsToDelete: z.array(z.string()).optional(),\n\n featureSections: z.array(ForgeSection).optional(),\n featureSectionIdsToDelete: z.array(z.string()).optional(),\n\n relations: z.array(ForgeRelation).optional(),\n\n executedTransactionIds: z.string().array().optional(),\n});\n\nexport type ForgeProjectRoomInitialState = z.infer<typeof ForgeProjectRoomInitialState>;\nexport type ForgeProjectRoomUpdate = z.infer<typeof ForgeProjectRoomUpdate>;\n","import { z } from \"zod\";\n\nexport enum RoomTypeEnum {\n DocumentationPageOld = \"documentation-page\",\n DocumentationPage = \"doc-page\",\n DesignSystemVersion = \"design-system-version\",\n Workspace = \"workspace\",\n ForgeProject = \"forge-project\",\n ForgeProjectArtifact = \"forge-project-artifact\",\n ForgeProjectFeature = \"forge-project-feature\",\n}\n\nexport const RoomTypeSchema = z.nativeEnum(RoomTypeEnum);\n\nexport type RoomType = z.infer<typeof RoomTypeSchema>;\nexport const RoomType = RoomTypeSchema.enum;\n\n//\n// Room owners\n//\n\nexport type WorkspaceRoomOwner = {\n type: \"Workspace\";\n workspaceId: string;\n};\n\nexport type VersionRoomOwner = {\n type: \"DesignSystemVersion\";\n workspaceId: string;\n designSystemId: string;\n designSystemVersionId: string;\n};\n\nexport type ForgeProjectRoomOwner = {\n type: \"ForgeProject\";\n projectId: string;\n};\n\nexport type ForgeProjectArtifactRoomOwner = {\n type: \"ForgeProjectArtifact\";\n projectId: string;\n artifactId: string;\n};\n\nexport type ForgeFeatureRoomOwner = {\n type: \"ForgeFeature\";\n projectId: string;\n featureId: string;\n};\n\nexport type CoreRoomOwner = WorkspaceRoomOwner | VersionRoomOwner;\nexport type ForgeRoomOwner = ForgeProjectRoomOwner | ForgeProjectArtifactRoomOwner | ForgeFeatureRoomOwner;\nexport type RoomOwner = CoreRoomOwner | ForgeRoomOwner;\n\n//\n// Room ids\n//\n\nexport type WorkspaceParsedRoomId = {\n type: RoomTypeEnum.Workspace;\n raw: string;\n};\n\nexport type DesignSystemVersionParsedRoomId = {\n type: RoomTypeEnum.DesignSystemVersion;\n raw: string;\n};\n\nexport type DocumentationPageOldParsedRoomId = {\n type: RoomTypeEnum.DocumentationPageOld;\n raw: string;\n};\n\nexport type DocumentationPageParsedRoomId = {\n type: RoomTypeEnum.DocumentationPage;\n raw: string;\n\n /**\n * Id of DS version, cannot be a wildcard (always a specific ID)\n */\n designSystemVersionId: string;\n\n /**\n * Documentation page persistent ID or wildcard `*`\n */\n pagePersistentId: string;\n};\n\nexport type ForgeProjectParsedRoomId = {\n type: RoomTypeEnum.ForgeProject;\n raw: string;\n};\n\nexport type ForgeProjectArtifactParsedRoomId = {\n type: RoomTypeEnum.ForgeProjectArtifact;\n raw: string;\n projectId: string;\n documentId: string;\n};\n\nexport type ForgeFeatureParsedRoomId = {\n type: RoomTypeEnum.ForgeProjectFeature;\n raw: string;\n projectId: string;\n featureId: string;\n};\n\nexport type ParsedRoomId =\n | WorkspaceParsedRoomId\n | DesignSystemVersionParsedRoomId\n | DocumentationPageOldParsedRoomId\n | DocumentationPageParsedRoomId\n | ForgeProjectParsedRoomId\n | ForgeProjectArtifactParsedRoomId\n | ForgeFeatureParsedRoomId;\n","//\n// Room\n//\n\nimport { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers/db\";\n\nexport const WorkspaceRoom = Entity.extend({\n workspaceId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type WorkspaceRoom = z.infer<typeof WorkspaceRoom>;\nexport type CreateWorkspaceRoom = DbCreateInputOmit<WorkspaceRoom>;\nexport type UpdateWorkspaceRoom = DbUpdate<WorkspaceRoom>;\n","import { z } from \"zod\";\nimport { PublishedDoc } from \"../dsm/published-doc\";\nimport { PublishedDocPage } from \"../dsm/published-doc-page\";\n\nexport const PublishedDocsDump = z.object({\n documentation: PublishedDoc,\n pages: PublishedDocPage.array(),\n});\n\nexport type PublishedDocsDump = z.infer<typeof PublishedDocsDump>;\n","import { z } from \"zod\";\nimport { User } from \"../users\";\nimport { WorkspaceDump } from \"./workspace-dump\";\n\nexport const UserDump = z.object({\n user: User,\n workspaces: WorkspaceDump.array(),\n});\n\nexport type UserDump = z.infer<typeof UserDump>;\n","import { z } from \"zod\";\nimport { Integration } from \"../integrations/integration\";\nimport { Workspace } from \"../workspace/workspace\";\nimport { CodeIntegrationDump } from \"./code-integration-dump\";\nimport { DesignSystemDump } from \"./design-system-dump\";\n\nexport const WorkspaceDump = z.object({\n workspace: Workspace,\n designSystems: DesignSystemDump.array(),\n codeIntegration: CodeIntegrationDump,\n integrations: Integration.array(),\n});\n\nexport type WorkspaceDump = z.infer<typeof WorkspaceDump>;\n","import { z } from \"zod\";\nimport { DbUpdate, nullishToOptional } from \"../helpers\";\nimport { UserMinified } from \"../users/user-minified\";\nimport { OmitStrict, tryParseUrl } from \"../utils\";\n\nexport const IntegrationDesignSystem = z.object({\n designSystemId: z.string(),\n brandId: z.string(),\n title: z.string().optional(),\n userId: z.string().optional(),\n date: z.coerce.date().optional(),\n});\n\nexport type IntegrationDesignSystem = z.infer<typeof IntegrationDesignSystem>;\n\nexport const IntegrationCredentialsType = z.enum([\"OAuth2\", \"PAT\"]);\nexport type IntegrationCredentialsType = z.infer<typeof IntegrationCredentialsType>;\n\nexport const IntegrationCredentialsState = z.enum([\"Active\", \"Inactive\"]);\nexport type IntegrationCredentialsState = z.infer<typeof IntegrationCredentialsState>;\n\nexport const IntegrationCredentialsProfile = z.object({\n id: nullishToOptional(z.string()),\n email: nullishToOptional(z.string()),\n handle: nullishToOptional(z.string()),\n type: nullishToOptional(z.string()),\n avatarUrl: nullishToOptional(z.string()),\n organization: nullishToOptional(z.string()),\n collection: nullishToOptional(z.string()),\n});\n\nexport type IntegrationCredentialsProfile = z.infer<typeof IntegrationCredentialsProfile>;\n\nexport const IntegrationCredentials = z.object({\n id: z.string(),\n type: IntegrationCredentialsType,\n integrationId: z.string(),\n accessToken: z.string(),\n userId: z.string(),\n createdAt: z.coerce.date(),\n refreshToken: z.string().optional(),\n tokenName: z.string().optional(),\n expiresAt: z.coerce.date().optional(),\n refreshedAt: z.coerce.date().optional(),\n username: z.string().optional(),\n appInstallationId: z.string().optional(),\n profile: IntegrationCredentialsProfile.optional(),\n customUrl: z.string().optional(),\n state: IntegrationCredentialsState,\n\n user: UserMinified.optional(),\n});\n\nexport type IntegrationCredentials = z.infer<typeof IntegrationCredentials>;\n\nexport type UpdateIntegrationCredential = OmitStrict<\n DbUpdate<IntegrationCredentials>,\n \"id\" | \"integrationId\" | \"appInstallationId\" | \"type\"\n>;\n\nexport const ExtendedIntegrationType = z.enum([\n \"Figma\",\n \"Github\",\n \"Gitlab\",\n \"Bitbucket\",\n \"Azure\",\n \"TokenStudio\",\n \"FigmaVariablesPlugin\",\n]);\nexport type ExtendedIntegrationType = z.infer<typeof ExtendedIntegrationType>;\n\nexport const IntegrationType = ExtendedIntegrationType.exclude([\"TokenStudio\", \"FigmaVariablesPlugin\"]);\nexport type IntegrationType = z.infer<typeof IntegrationType>;\n\nexport const GitIntegrationType = IntegrationType.exclude([\"Figma\"]);\nexport type GitIntegrationType = z.infer<typeof GitIntegrationType>;\n\nexport const Integration = z.object({\n id: z.string(),\n workspaceId: z.string(),\n type: IntegrationType,\n createdAt: z.coerce.date(),\n integrationCredentials: z.array(IntegrationCredentials).optional(),\n});\nexport type Integration = z.infer<typeof Integration>;\nexport type ExtendedIntegration = Omit<Integration, \"type\"> & {\n type: ExtendedIntegrationType;\n integrationDesignSystems?: IntegrationDesignSystem[];\n};\n\nexport const IntegrationToken = z\n .object({\n access_token: z.string(),\n refresh_token: z.string().optional(),\n expires_in: z.union([z.number().optional(), z.string().optional()]),\n token_type: z.string().optional(),\n token_name: z.string().optional(),\n token_azure_organization_name: z.string().optional(), // Azure Cloud PAT only\n token_azure_collection_name: z.string().optional(), // Azure Server PAT only\n token_bitbucket_username: z.string().optional(), // Bitbucket only\n custom_url: z\n .string()\n .optional()\n .transform(value => {\n if (!value?.trim()) return undefined;\n return formatCustomUrl(value);\n }),\n })\n .refine(data => {\n return !data.custom_url || tryParseUrl(data.custom_url);\n }, \"Custom URL must be a valid URL\")\n .refine(data => {\n if (data.custom_url && data.token_azure_organization_name) {\n return false;\n }\n return true;\n }, \"Custom URL and Azure organization name cannot be present at the same time\")\n .transform(data => {\n return {\n accessToken: data.access_token,\n refreshToken: data.refresh_token,\n expiresIn: typeof data.expires_in === \"string\" ? Number(data.expires_in) : data.expires_in,\n tokenType: data.token_type,\n tokenName: data.token_name,\n tokenBitbucketUsername: data.token_bitbucket_username,\n tokenAzureOrganizationName: data.token_azure_organization_name,\n tokenAzureCollection: data.token_azure_collection_name,\n customUrl: data.custom_url,\n };\n });\n\nexport type IntegrationToken = z.infer<typeof IntegrationToken>;\n\n// Custom URL validation\nconst forbiddenCustomUrlDomainList = [\"github.com\", \"gitlab.com\", \"bitbucket.org\", \"figma.com\", \"dev.azure.com\"];\n\nfunction formatCustomUrl(url: string): string | undefined {\n let formattedUrl = url.trim().toLowerCase();\n if (!formattedUrl.startsWith(\"http://\") && !formattedUrl.startsWith(\"https://\")) {\n formattedUrl = \"https://\" + formattedUrl;\n }\n if (formattedUrl.endsWith(\"/\")) {\n formattedUrl = formattedUrl.slice(0, -1);\n }\n\n // do not store default urls that we incorrectly provided as custom urls\n return forbiddenCustomUrlDomainList.some(domain => formattedUrl.includes(domain)) ? undefined : formattedUrl;\n}\n","import { z } from \"zod\";\nimport { User } from \"../users\";\n\nexport const NpmProxyToken = z.object({\n access: z.string(),\n expiresAt: z.number(),\n});\n\nexport type NpmProxyToken = z.infer<typeof NpmProxyToken>;\n\nexport const SessionData = z.object({\n returnToUrl: z.string().optional(),\n npmProxyToken: NpmProxyToken.optional(),\n});\n\nexport type SessionData = z.infer<typeof SessionData>;\n\nexport const Session = z.object({\n id: z.string(),\n expiresAt: z.coerce.date(),\n userId: z.string().nullable(),\n anonymousId: z.string().nullable(),\n data: SessionData,\n});\n\nexport type Session = z.infer<typeof Session>;\n\nexport const AuthTokens = z.object({\n access: z.string(),\n refresh: z.string(),\n});\n\nexport type AuthTokens = z.infer<typeof AuthTokens>;\n\nexport const UserSession = z.object({\n session: Session,\n user: User.nullable(),\n});\n\nexport type UserSession = z.infer<typeof UserSession>;\n","import { z } from \"zod\";\nimport { DesignSystem } from \"../dsm/design-system\";\nimport { User } from \"../users/user\";\nimport { Workspace } from \"../workspace\";\nimport { WorkspaceRoleSchema } from \"../workspace/workspace-role\";\n\n/**\n * Object describing who is going to receive the email.\n *\n * Normally recepient is just an email, however in some cases email can be tailored\n * for who receives it. In this case the email has cutomization based on the role of the\n * recepient in the workspace (or design design system).\n */\nexport const DesignSystemInviteEmailRecipient = z.object({\n email: z.string(),\n role: WorkspaceRoleSchema,\n});\n\n/**\n * Object describing the necessary data to send an email notifying a user that\n * they've been added to a design system.\n */\nexport const DesignSystemInviteEmailData = z.object({\n workspace: Workspace,\n designSystem: DesignSystem,\n invitedBy: User,\n documentationDomain: z.string().optional(),\n});\n\nexport type DesignSystemInviteEmailRecipient = z.infer<typeof DesignSystemInviteEmailRecipient>;\nexport type DesignSystemInviteEmailData = z.infer<typeof DesignSystemInviteEmailData>;\n","import { z } from \"zod\";\nimport { User } from \"../users/user\";\nimport { Workspace } from \"../workspace/workspace\";\nimport { WorkspaceRoleSchema } from \"../workspace/workspace-role\";\n\n/**\n * Object describing who is going to receive the email.\n *\n * Normally recepient is just an email, however in some cases email can be tailored\n * for who receives it. In this case the email has cutomization based on the role of the\n * recepient in the workspace.\n */\nexport const WorkspaceInviteEmailRecipient = z.object({\n email: z.string(),\n role: WorkspaceRoleSchema,\n});\n\n/**\n * Object describing the necessary data to send an email notifying a user that\n * they've been added to a workspace.\n */\nexport const WorkspaceInviteEmailData = z.object({\n workspace: Workspace,\n invitedBy: User,\n documentationDomain: z.string().optional(),\n});\n\nexport type WorkspaceInviteEmailRecipient = z.infer<typeof WorkspaceInviteEmailRecipient>;\nexport type WorkspaceInviteEmailData = z.infer<typeof WorkspaceInviteEmailData>;\n","import { z } from \"zod\";\nimport { EventDataSourceImported } from \"./data-source-imported\";\nimport { EventVersionReleased } from \"./version-released\";\nimport { EventDocumentationPublished } from \"./documentation-published\";\n\nexport const Event = z.discriminatedUnion(\"type\", [\n EventVersionReleased,\n EventDataSourceImported,\n EventDocumentationPublished,\n]);\n\nexport type Event = z.infer<typeof Event>;\n","import { z } from \"zod\";\n\nexport const EventDataSourceImported = z.object({\n type: z.literal(\"DataSourceImported\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n});\n\nexport type EventDataSourceImported = z.infer<typeof EventDataSourceImported>;\n","import { z } from \"zod\";\n\nexport const EventVersionReleased = z.object({\n type: z.literal(\"DesignSystemVersionReleased\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n versionId: z.string(),\n});\n\nexport type EventVersionReleased = z.infer<typeof EventVersionReleased>;\n","import { z } from \"zod\";\n\nexport const EventDocumentationPublished = z.object({\n type: z.literal(\"DocumentationPublished\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n versionId: z.string(),\n});\n\nexport type EventDocumentationPublished = z.infer<typeof EventDocumentationPublished>;\n","import { z } from \"zod\";\nimport { ExporterConfigurationPropertyValue, PublishedDocEnvironment } from \"../../dsm\";\nimport { ExporterPropertyValueMap } from \"../export-configuration\";\n\nexport const ExportJobDocumentationContext = z.object({\n isSingleVersionDocs: z.boolean(),\n versionSlug: z.string(),\n environment: PublishedDocEnvironment,\n});\n\nexport const ExportJobDebugContext = z.object({\n debugMode: z.boolean().optional(),\n concurrency: z.number().optional(),\n preloadData: z.string().optional(),\n concurrencyMode: z.string().optional(),\n cacheSdk: z.string().optional(),\n logSdkNetwork: z.boolean().optional(),\n profilerMode: z.string().optional(),\n});\n\nexport const ExportJobContext = z.object({\n apiUrl: z.string(),\n accessToken: z.string(),\n\n designSystemId: z.string(),\n designSystemName: z.string(),\n exporterId: z.string(),\n versionId: z.string(),\n brandId: z.string().optional(),\n themeId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n previewMode: z.boolean().optional(),\n\n exporterName: z.string(),\n\n documentation: ExportJobDocumentationContext.optional(),\n debug: ExportJobDebugContext.optional(),\n});\n\nexport const ExportJobExporterConfiguration = z.object({\n exporterPackageUrl: z.string(),\n exporterPropertyValues: ExporterConfigurationPropertyValue.array(),\n exporterPropertyValuesV2: ExporterPropertyValueMap.optional(),\n});\n\nexport type ExportJobDocumentationContext = z.infer<typeof ExportJobDocumentationContext>;\nexport type ExportJobDebugContext = z.infer<typeof ExportJobDebugContext>;\nexport type ExportJobExporterConfiguration = z.infer<typeof ExportJobExporterConfiguration>;\nexport type ExportJobContext = z.infer<typeof ExportJobContext>;\n","import { z } from \"zod\";\n\nexport const ExporterFunctionPayload = z.object({\n exportJobId: z.string(),\n exportContextId: z.string(),\n designSystemId: z.string(),\n workspaceId: z.string(),\n exporterId: z.string(),\n});\n\nexport type ExporterFunctionPayload = z.infer<typeof ExporterFunctionPayload>;\n","import { z } from \"zod\";\nimport { PublishedDocEnvironment } from \"../dsm\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { ExporterPropertyValueMap } from \"./export-configuration\";\nimport { ExportDestinationsMap } from \"./export-destinations\";\n\n//\n// Enums\n//\n\nexport const ExportJobDestinationType = z.enum([\n \"s3\",\n \"webhookUrl\",\n \"github\",\n \"documentation\",\n \"azure\",\n \"gitlab\",\n \"bitbucket\",\n]);\nexport const ExportJobStatus = z.enum([\"InProgress\", \"Success\", \"Failed\", \"Timeout\"]);\nexport const ExportJobLogEntryType = z.enum([\"success\", \"info\", \"warning\", \"error\", \"user\"]);\n\nexport type ExportJobDestinationType = z.infer<typeof ExportJobDestinationType>;\nexport type ExportJobStatus = z.infer<typeof ExportJobStatus>;\nexport type ExportJobLogEntryType = z.infer<typeof ExportJobLogEntryType>;\n\n//\n// Results\n//\n\nexport const ExportJobLogEntry = z.object({\n id: z.string().optional(),\n time: z.coerce.date(),\n type: ExportJobLogEntryType,\n message: z.string(),\n});\n\nexport const ExportJobPullRequestDestinationResult = z.object({\n pullRequestUrl: z.string(),\n sparseCheckoutUsed: nullishToOptional(z.boolean()),\n});\n\nexport const ExportJobS3DestinationResult = z.object({\n bucket: z.string(),\n urlPrefix: z.string().optional(),\n path: z.string(),\n files: z.array(z.string()),\n\n url: nullishToOptional(z.string()),\n urls: nullishToOptional(z.string().array()),\n});\n\nexport const ExportJobDocsDestinationResult = z.object({\n url: z.string(),\n});\n\nexport const ExportJobResult = z.object({\n error: z.string().optional(),\n s3: nullishToOptional(ExportJobS3DestinationResult),\n github: nullishToOptional(ExportJobPullRequestDestinationResult),\n azure: nullishToOptional(ExportJobPullRequestDestinationResult),\n gitlab: nullishToOptional(ExportJobPullRequestDestinationResult),\n bitbucket: nullishToOptional(ExportJobPullRequestDestinationResult),\n sndocs: nullishToOptional(ExportJobDocsDestinationResult),\n logs: nullishToOptional(ExportJobLogEntry.array()),\n});\n\nexport type ExportJobLogEntry = z.infer<typeof ExportJobLogEntry>;\nexport type ExportJobPullRequestDestinationResult = z.infer<typeof ExportJobPullRequestDestinationResult>;\nexport type ExportJobS3DestinationResult = z.infer<typeof ExportJobS3DestinationResult>;\nexport type ExportJobDocsDestinationResult = z.infer<typeof ExportJobDocsDestinationResult>;\nexport type ExportJobResult = z.infer<typeof ExportJobResult>;\n\n//\n// Job\n//\n\nexport const ExportJob = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n finishedAt: z.coerce.date().optional(),\n designSystemId: z.string(),\n designSystemVersionId: z.string(),\n workspaceId: z.string(),\n scheduleId: z.string().nullish(),\n exporterId: z.string(),\n brandId: z.string().optional(),\n themeId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n estimatedExecutionTime: z.number().optional(),\n status: ExportJobStatus,\n result: ExportJobResult.optional(),\n createdByUserId: z.string().optional(),\n exporterPropertyValues: ExporterPropertyValueMap.optional(),\n previewMode: z.boolean().optional(),\n exportContextId: z.string().optional().nullable(),\n\n // Destinations\n ...ExportDestinationsMap.shape,\n});\n\nexport type ExportJob = z.infer<typeof ExportJob>;\n\nexport type CreateExportJob = DbCreateInputOmit<ExportJob>;\nexport type UpdateExportJob = Pick<DbUpdate<ExportJob>, \"id\" | \"status\" | \"result\" | \"finishedAt\">;\n\n//\n// Support\n//\n\nexport const ExportJobFindByFilter = ExportJob.pick({\n exporterId: true,\n designSystemVersionId: true,\n createdByUserId: true,\n status: true,\n scheduleId: true,\n designSystemId: true,\n themeId: true,\n brandId: true,\n})\n .extend({\n destinations: z.array(ExportJobDestinationType),\n docsEnvironment: PublishedDocEnvironment,\n selectivePublishing: z.boolean().optional(),\n })\n .partial();\n\nexport type ExportJobFindByFilter = z.infer<typeof ExportJobFindByFilter>;\n","import { z } from \"zod\";\n\nconst ExporterType = z.enum([\"documentation\", \"code\"]);\n\nexport const ListExporterQuery = z.object({\n limit: z.number().optional(),\n offset: z.number().optional(),\n type: ExporterType.optional(),\n search: z.string().optional(),\n});\n\nexport type ListExporterQuery = z.infer<typeof ListExporterQuery>;\n","import { z } from \"zod\";\n\nexport const ExporterWorkspaceMembershipRole = z.enum([\"Owner\", \"OwnerArchived\", \"User\"]);\nexport type ExporterWorkspaceMembershipRole = z.infer<typeof ExporterWorkspaceMembershipRole>;\n","import { z } from \"zod\";\nimport { ExporterWorkspaceMembershipRole } from \"./exporter-workspace-membership-role\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nexport const ExporterWorkspaceMembership = z.object({\n id: z.string(),\n workspaceId: z.string(),\n exporterId: z.string(),\n role: ExporterWorkspaceMembershipRole,\n});\n\nexport type ExporterWorkspaceMembership = z.infer<typeof ExporterWorkspaceMembership>;\n\nexport type CreateExporterMembership = DbCreateInputOmit<ExporterWorkspaceMembership>;\n","import { z } from \"zod\";\n\nexport const FlaggedFeature = z.enum([\n \"FigmaImporterV2\",\n \"DisableImporter\",\n \"VariablesOrder\",\n \"TypographyPropsKeepAliases\",\n \"GradientPropsKeepAliases\",\n \"ShadowPropsKeepAliases\",\n \"NonCompatibleTypeChanges\",\n \"TypographyUseFontStyle\",\n \"SparseCheckoutEnabled\",\n \"NoTagsNoBlobsCheckoutEnabled\",\n\n \"PulsarDebugMode\",\n \"PulsarLogSdkNetwork\",\n \"PulsarCacheSdk\",\n \"PulsarPreloadData\",\n \"PulsarConcurrencyMode\",\n \"PulsarConcurrency\",\n \"PulsarProfilerMode\",\n\n \"ForgeE2BTemplate\",\n \"ForgeOnDemandIterations\",\n \"ForgeAutoRetryOnErrors\",\n \"ForgeAiBackendMigrated\",\n \"CustomForgeTemplate\",\n]);\n\nexport const FeatureFlagDefaults = {\n DocumentationIgnoreSnapshotsOnPublish: \"route-bff+route-p3\" as string,\n} as const;\nexport type FeatureFlagWithDefaults = keyof typeof FeatureFlagDefaults;\nexport type FeatureFlagDefaultsTypes = {\n [K in FeatureFlagWithDefaults]: (typeof FeatureFlagDefaults)[K];\n};\n\nexport const FeatureFlagMap = z.record(FlaggedFeature, z.boolean());\nexport const FeatureFlag = z.object({\n id: z.string(),\n feature: FlaggedFeature,\n createdAt: z.coerce.date(),\n enabled: z.boolean(),\n designSystemId: z.string().optional(),\n data: z.record(z.any()).nullable().optional(),\n});\n\nexport type FlaggedFeature = z.infer<typeof FlaggedFeature>;\nexport type FeatureFlagMap = z.infer<typeof FeatureFlagMap>;\nexport type FeatureFlag = z.infer<typeof FeatureFlag>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const ExternalOAuthRequest = z.object({\n id: z.string(),\n provider: OAuthProviderSchema,\n userId: z.string(),\n state: z.string(),\n createdAt: z.coerce.date(),\n});\n\nexport type ExternalOAuthRequest = z.infer<typeof ExternalOAuthRequest>;\n","import { z } from \"zod\";\n\nexport enum OAuthProviderNames {\n Figma = \"figma\",\n Azure = \"azure\",\n Github = \"github\",\n Gitlab = \"gitlab\",\n Bitbucket = \"bitbucket\",\n}\n\nexport const OAuthProviderSchema = z.nativeEnum(OAuthProviderNames);\nexport type OAuthProvider = z.infer<typeof OAuthProviderSchema>;\nexport const OAuthProvider = OAuthProviderSchema.enum;\n","import { z } from \"zod\";\n\nexport const GitObjectsQuery = z.object({\n organization: z.string().optional(), // Azure Organization | Bitbucket Workspace slug | Gitlab Group | Github Account (User or Organization)\n project: z.string().optional(), // Only for Bitbucket and Azure\n repository: z.string().optional(), // For all providers. For Gitlab, it's called \"project\".\n branch: z.string().optional(), // For all providers.\n user: z.string().optional(), // Gitlab user\n});\n\nexport type GitObjectsQuery = z.infer<typeof GitObjectsQuery>;\n\nexport const GitOrganization = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n});\n\nexport const GitProject = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n});\n\nexport const GitRepository = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n\n /**\n * Can be undefined when:\n * - there are no branches in the repository yet\n * - Git provider doesn't expose this information on a repository via their API\n */\n defaultBranch: z.string().optional(),\n});\n\nexport const GitBranch = z.object({\n name: z.string(),\n lastCommitId: z.string(),\n});\n\nexport type GitOrganization = z.infer<typeof GitOrganization>;\nexport type GitProject = z.infer<typeof GitProject>;\nexport type GitRepository = z.infer<typeof GitRepository>;\nexport type GitBranch = z.infer<typeof GitBranch>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const IntegrationTokenSchemaOld = z.object({\n id: z.string(),\n provider: OAuthProviderSchema,\n scope: z.string(),\n userId: z.string(),\n accessToken: z.string(),\n refreshToken: z.string(),\n expiresAt: z.coerce.date(),\n externalUserId: z.string().nullish(),\n});\n\n// Renamed because will be deleted later after full migration / end of project\nexport type IntegrationTokenOld = z.infer<typeof IntegrationTokenSchemaOld>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const WorkspaceOAuthRequestSchema = z.object({\n id: z.string(),\n workspaceId: z.string(),\n provider: OAuthProviderSchema,\n userId: z.string(),\n createdAt: z.coerce.date(),\n});\n\nexport type WorkspaceOAuthRequest = z.infer<typeof WorkspaceOAuthRequestSchema>;\n","import { z } from \"zod\";\n\nconst AnyRecord = z.record(z.any());\n\nconst NpmPackageVersionDist = AnyRecord.and(\n z.object({\n tarball: z.string(),\n })\n);\n\nconst NpmPackageVersion = AnyRecord.and(\n z.object({\n dist: NpmPackageVersionDist,\n })\n);\n\nexport const NpmPackage = AnyRecord.and(\n z.object({\n _id: z.string(),\n name: z.string(),\n\n // e.g. \"latest\": \"1.2.3\"\n \"dist-tags\": z.record(z.string(), z.string()),\n\n // \"1.2.3\": {...}\n versions: z.record(NpmPackageVersion),\n })\n);\n\nexport type NpmPackage = z.infer<typeof NpmPackage>;\n","import { z } from \"zod\";\n\nexport const NpmProxyTokenPayload = z.object({\n npmProxyRegistryConfigId: z.string(),\n});\n\nexport type NpmProxyTokenPayload = z.infer<typeof NpmProxyTokenPayload>;\n","import { z } from \"zod\";\n\nexport const PageScreenshotInput = z.object({\n url: z.string().url(),\n elementSelector: z.string(),\n uploadUrl: z.string().url(),\n viewportSize: z\n .object({\n width: z.number().positive(),\n height: z.number().positive(),\n })\n .optional(),\n imageSize: z\n .object({\n width: z.number().positive(),\n height: z.number().positive(),\n })\n .optional(),\n supernovaAuth: z\n .object({\n accessToken: z.string(),\n })\n .optional(),\n trace: z\n .object({\n sentryTrace: z.string().optional(),\n baggage: z.string().optional(),\n })\n .optional(),\n});\n\nexport const PageScreenshotOutput = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n fileSize: z.number(),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n\nexport type PageScreenshotOutput = z.infer<typeof PageScreenshotOutput>;\nexport type PageScreenshotInput = z.infer<typeof PageScreenshotInput>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { UserTheme } from \"../users\";\nimport { OmitStrict } from \"../utils\";\n\nexport const PortalSettingsTheme = UserTheme;\n\nexport const PortalSettingsSidebarLink = z.object({\n name: z.string(),\n url: z.string(),\n emoji: z.string(),\n});\nexport const PortalSettingsSidebarSection = z.object({\n sectionName: z.string(),\n links: z.array(PortalSettingsSidebarLink),\n});\nexport const PortalSettingsSidebar = z.array(PortalSettingsSidebarSection);\n\nexport const PortalSettings = z.object({\n id: z.string(),\n workspaceId: z.string(),\n\n enabledDesignSystemIds: z.array(z.string()),\n enabledBrandPersistentIds: z.array(z.string()),\n\n theme: PortalSettingsTheme.nullish(),\n sidebar: PortalSettingsSidebar.nullish(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type PortalSettingsTheme = z.infer<typeof PortalSettingsTheme>;\nexport type PortalSettings = z.infer<typeof PortalSettings>;\nexport type PortalSettingsSidebarLink = z.infer<typeof PortalSettingsSidebarLink>;\nexport type PortalSettingsSidebarSection = z.infer<typeof PortalSettingsSidebarSection>;\nexport type PortalSettingsSidebar = z.infer<typeof PortalSettingsSidebar>;\nexport type CreatePortalSettings = DbCreateInputOmit<PortalSettings>;\nexport type UpdatePortalSettings = OmitStrict<DbUpdate<PortalSettings>, \"workspaceId\">;\n","import z from \"zod\";\n\nexport const SentryTraceHeaders = z.object({\n sentryTrace: z.string(),\n baggage: z.string(),\n});\n\nexport type SentryTraceHeaders = z.infer<typeof SentryTraceHeaders>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { WorkspaceRoleSchema } from \"../workspace\";\n\nexport const PersonalAccessToken = z.object({\n id: z.string(),\n userId: z.string(),\n\n workspaceId: z.string().optional(),\n designSystemId: z.string().optional(),\n workspaceRole: WorkspaceRoleSchema.optional(),\n\n name: z.string(),\n hidden: z.boolean(),\n\n token: z.string(),\n scope: z.string().optional(),\n\n createdAt: z.coerce.date(),\n expireAt: z.coerce.date().optional(),\n});\n\nexport type PersonalAccessToken = z.infer<typeof PersonalAccessToken>;\n\nexport type CreatePersonalAccessToken = DbCreateInputOmit<PersonalAccessToken>;\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/backend/backend/packages/model/dist/index.js","../src/asset-delete-schedule/asset-delete-schedule.ts","../src/auth/plugin-oauth-request.ts","../src/auth/request.ts","../src/auth/session.ts","../src/billing/card.ts","../src/billing/customer.ts","../src/helpers/db.ts","../src/helpers/nullish-to-optional.ts","../src/billing/features.ts","../src/billing/invoice.ts","../src/billing/portalSession.ts","../src/billing/price.ts","../src/billing/product.ts","../src/billing/subscription.ts","../src/chat-threads/chat-message.ts","../src/chat-threads/chat-thread.ts","../src/common/entity.ts","../src/common/object-meta.ts","../src/custom-domains/custom-domains.ts","../src/data-dumps/code-integration-dump.ts","../src/export/exporter.ts","../src/export/git-providers.ts","../src/export/pulsar.ts","../src/export/export-configuration.ts","../src/export/pipeline.ts","../src/export/export-destinations.ts","../src/dsm/assets/asset-dynamo-record.ts","../src/dsm/assets/asset-reference.ts","../src/dsm/assets/asset-value.ts","../src/dsm/assets/asset.ts","../src/dsm/code-components/code-component.ts","../src/dsm/components/asset-rendering.ts","../src/dsm/import/support/figma-files.ts","../src/dsm/import/support/import-context.ts","../src/dsm/data-sources/data-source.ts","../src/dsm/import/warning.ts","../src/dsm/data-sources/enums.ts","../src/dsm/data-sources/import-summary.ts","../src/dsm/elements/data/base.ts","../src/dsm/elements/data/blur.ts","../src/dsm/elements/data/dimension.ts","../src/dsm/elements/data/border-radius.ts","../src/dsm/elements/data/border-width.ts","../src/dsm/elements/data/border.ts","../src/dsm/elements/data/color.ts","../src/dsm/elements/data/opacity.ts","../src/dsm/elements/data/component.ts","../src/dsm/elements/component-properties.ts","../src/dsm/elements/data/documentation-block-v1.ts","../src/utils/errors.ts","../src/utils/common.ts","../src/utils/content-loader-instruction.ts","../src/utils/interop-pulsar-error.ts","../src/utils/naming.ts","../src/utils/short-persistent-id.ts","../src/utils/slugify.ts","../src/utils/validation.ts","../src/dsm/properties/property-definition.ts","../src/dsm/properties/property-value.ts","../src/dsm/elements/primitives/point.ts","../src/dsm/elements/primitives/size.ts","../src/dsm/elements/raw-element.ts","../src/dsm/elements/data/documentation-block-v2.ts","../src/dsm/documentation/block-definitions/item.ts","../src/dsm/documentation/block-definitions/aux.ts","../src/dsm/documentation/block-definitions/variant.ts","../src/dsm/elements/data/documentation-page-v1.ts","../src/dsm/elements/data/documentation-v1.ts","../src/dsm/elements/data/item-header-v1.ts","../src/dsm/elements/data/item-header.ts","../src/dsm/elements/data/documentation-page-v2.ts","../src/dsm/elements/data/documentation-v2.ts","../src/dsm/elements/data/item-header-v2.ts","../src/dsm/elements/data/documentation-section-v2.ts","../src/dsm/elements/page-block-v2.ts","../src/dsm/elements/base.ts","../src/dsm/elements/data/duration.ts","../src/dsm/elements/data/figma-file-structure.ts","../src/dsm/elements/data/figma-node-reference.ts","../src/dsm/elements/data/font-family.ts","../src/dsm/elements/data/font-size.ts","../src/dsm/elements/data/font-weight.ts","../src/dsm/elements/data/font.ts","../src/dsm/elements/data/gradient.ts","../src/dsm/elements/data/group.ts","../src/dsm/elements/data/letter-spacing.ts","../src/dsm/elements/data/line-height.ts","../src/dsm/elements/data/paragraph-indent.ts","../src/dsm/elements/data/paragraph-spacing.ts","../src/dsm/elements/data/product-copy.ts","../src/dsm/elements/data/safe-id.ts","../src/dsm/elements/data/shadow.ts","../src/dsm/elements/data/size.ts","../src/dsm/elements/data/space.ts","../src/dsm/elements/data/string.ts","../src/dsm/elements/data/text-case.ts","../src/dsm/elements/data/text-decoration.ts","../src/dsm/elements/data/typography.ts","../src/dsm/elements/data/visibility.ts","../src/dsm/elements/data/z-index.ts","../src/dsm/elements/documentation-page-v1.ts","../src/dsm/elements/group.ts","../src/dsm/elements/documentation-page-v2.ts","../src/dsm/elements/figma-component.ts","../src/dsm/elements/figma-file-structures.ts","../src/dsm/elements/figma-node-reference.ts","../src/dsm/elements/theme.ts","../src/dsm/elements/tokens.ts","../src/dsm/elements/utils.ts","../src/dsm/data-sources/figma.ts","../src/dsm/data-sources/import-job.ts","../src/dsm/import/support/import-model-collections.ts","../src/dsm/import/collection.ts","../src/dsm/collection.ts","../src/dsm/import/component.ts","../src/dsm/import/base.ts","../src/dsm/import/image.ts","../src/dsm/import/data-source.ts","../src/dsm/import/figma-frames.ts","../src/dsm/import/theme.ts","../src/dsm/import/tokens.ts","../src/dsm/documentation/approvals/approval-state.ts","../src/dsm/documentation/approvals/approval.ts","../src/dsm/documentation/block-definitions/definition.ts","../src/dsm/documentation/group.ts","../src/dsm/documentation/link-preview.ts","../src/dsm/documentation/page-anchor.ts","../src/dsm/documentation/page-content-backup.ts","../src/dsm/documentation/page-content.ts","../src/dsm/documentation/page-dependencies.ts","../src/dsm/documentation/page.ts","../src/dsm/documentation/redirects.ts","../src/dsm/documentation/settings.ts","../src/dsm/documentation/thread.ts","../src/dsm/element-snapshots/base.ts","../src/dsm/element-snapshots/documentation-page-snapshot.ts","../src/dsm/element-snapshots/group-snapshot.ts","../src/dsm/figma-exporter/figma-exporter.ts","../src/dsm/figma-node-renderer/renderer-payload.ts","../src/dsm/figma-node-structures/structure-data.ts","../src/dsm/figma-node-structures/structure.ts","../src/dsm/membership/design-system-membership.ts","../src/workspace/npm-registry-settings.ts","../src/workspace/sso-provider.ts","../src/workspace/untyped-data.ts","../src/workspace/user-invite.ts","../src/workspace/workspace-role.ts","../src/workspace/workspace-configuration.ts","../src/workspace/workspace.ts","../src/forge/agent.ts","../src/forge/artifact.ts","../src/forge/id.ts","../src/forge/iteration-message.ts","../src/forge/participant.ts","../src/users/linked-integrations.ts","../src/users/user-analytics-cleanup-schedule.ts","../src/users/user-identity.ts","../src/users/user-minified.ts","../src/users/user-notification-settings.ts","../src/users/user-profile.ts","../src/users/user-test.ts","../src/users/user.ts","../src/forge/project-artifact-content.ts","../src/forge/project-artifact.ts","../src/files/files.ts","../src/forge/project-section.ts","../src/forge/project-feature.ts","../src/forge/project-figma-node.ts","../src/forge/project-file.ts","../src/forge/project-invitation.ts","../src/forge/project-membership.ts","../src/forge/project-iteration.ts","../src/forge/project.ts","../src/forge/relation.ts","../src/workspace/workspace-context.ts","../src/workspace/workspace-create.ts","../src/workspace/workspace-invitations.ts","../src/workspace/workspace-membership.ts","../src/dsm/membership/ds-role.ts","../src/dsm/membership/invitations.ts","../src/dsm/views/column.ts","../src/dsm/views/view.ts","../src/dsm/brand.ts","../src/dsm/design-system.ts","../src/dsm/exporter-property-values-collection.ts","../src/dsm/published-doc-page-visits.ts","../src/dsm/published-doc-page.ts","../src/dsm/published-doc.ts","../src/dsm/storybook-entry.ts","../src/dsm/storybook-payload.ts","../src/dsm/version.ts","../src/data-dumps/design-system-dump.ts","../src/data-dumps/design-system-version-dump.ts","../src/liveblocks/rooms/design-system-version-room.ts","../src/liveblocks/rooms/documentation-page-room.ts","../src/liveblocks/rooms/forge-feature-room.ts","../src/liveblocks/rooms/forge-project-artifact-room.ts","../src/liveblocks/rooms/forge-project-room.ts","../src/liveblocks/rooms/room-type.ts","../src/liveblocks/rooms/workspace-room.ts","../src/data-dumps/published-docs-dump.ts","../src/data-dumps/user-data-dump.ts","../src/data-dumps/workspace-dump.ts","../src/integrations/integration.ts","../src/docs-server/session.ts","../src/emails/design-system-invite.ts","../src/emails/workspace-invite.ts","../src/events/base.ts","../src/events/data-source-imported.ts","../src/events/version-released.ts","../src/events/documentation-published.ts","../src/export/export-runner/export-context.ts","../src/export/export-runner/exporter-payload.ts","../src/export/export-jobs.ts","../src/export/exporter-list-query.ts","../src/export/exporter-workspace-membership-role.ts","../src/export/exporter-workspace-membership.ts","../src/feature-flags/feature-flags.ts","../src/integrations/external-oauth-request.ts","../src/integrations/oauth-providers.ts","../src/integrations/git.ts","../src/integrations/oauth-token.ts","../src/integrations/workspace-oauth-requests.ts","../src/npm/npm-package.ts","../src/npm/npm-proxy-token-payload.ts","../src/page-screenshot/page-screenshot.ts","../src/portal/portal-settings.ts","../src/sentry/headers.ts","../src/tokens/personal-access-token.ts"],"names":["z","GitProviderNames","rest","recursiveFigmaFileStructureToMap","RoomTypeEnum","OAuthProviderNames"],"mappings":"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;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACF;AAEmC;AAEC;AAEJ;AACa;AACT,EAAA;AACpC;AxDysCoC;AACA;AyDl0DX;AzDo0DW;AACA;A0Dx0DlB;AAIyB;AACA;AACF;AACGA;AAEpB;AAEc;AACpB,EAAA;AACjB;AAEY;AACE,EAAA;AACE,EAAA;AACE,EAAA;AAClB;AAE0C;AAC5B,EAAA;AACmB,EAAA;AACT,EAAA;AACR,EAAA;AACY,EAAA;AACL,EAAA;AAChB,EAAA;AACa,EAAA;AACF,EAAA;AACA,EAAA;AAClB;AAGkC;A1Di0DC;AACA;A2Dr2DlB;AAIoB;AACvB,EAAA;AACmB,EAAA;AACH,EAAA;AACH,EAAA;AACM,EAAA;AACA,EAAA;AACN,EAAA;AACC,EAAA;AACK,EAAA;AACjC;A3Do2DmC;AACA;A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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/backend/backend/packages/model/dist/index.js","sourcesContent":[null,"import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nconst AssetDeleteScheduleStatus = z.enum([\"InProgress\", \"Pending\"]);\nexport type AssetDeleteScheduleStatus = z.infer<typeof AssetDeleteScheduleStatus>;\n\n\nexport const AssetDeleteSchedule = z.object({\n id: z.string(),\n path: z.string(),\n createdAt: z.date(),\n deleteAt: z.date(),\n isFolder: z.boolean(),\n status: AssetDeleteScheduleStatus,\n});\n\nexport type AssetDeleteSchedule = z.infer<typeof AssetDeleteSchedule>;\n\nexport type AssetDeleteScheduleDbInput = DbCreateInputOmit<AssetDeleteSchedule>;\n\n","import { z } from \"zod\";\n\nexport const PluginOAuthRequestSchema = z.object({\n id: z.string(),\n codeChallenge: z.string(),\n readKey: z.string(),\n writeKey: z.string(),\n readKeyConsumed: z.boolean(),\n writeKeyConsumed: z.boolean(),\n oAuthCode: z.string().optional(),\n createdAt: z.coerce.date(),\n});\n\nexport type PluginOAuthRequest = z.infer<typeof PluginOAuthRequestSchema>;\n","import { z } from \"zod\";\n\nexport const AuthV2Request = z.object({\n state: z.string(),\n codeChallenge: z.string(),\n codeChallengeMethod: z.string(),\n redirectUri: z.string(),\n sessionId: z.string(),\n code: z.string().optional(),\n codeVerifier: z.string().optional(),\n});\n\nexport type AuthV2Request = z.infer<typeof AuthV2Request>;\n","import { z } from \"zod\";\n\nexport const AuthV2Session = z.object({\n id: z.string(),\n refreshToken: z.string(),\n expiresAt: z.coerce.date(),\n createdAt: z.coerce.date(),\n userId: z.string().optional(),\n});\n\nexport type AuthV2Session = z.infer<typeof AuthV2Session>;\n","import { z } from \"zod\";\n\nexport const CardSchema = z.object({\n cardId: z.string().nullish(),\n last4: z.string().length(4).nullish(),\n expiryMonth: z.string().nullish(),\n expiryYear: z.string().nullish(),\n brand: z.string().nullish(),\n name: z.string().nullish(),\n});\n\nexport type Card = z.infer<typeof CardSchema>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const Customer = z.object({\n id: z.string(),\n});\n\nexport const Address = z.object({\n street1: nullishToOptional(z.string()),\n street2: nullishToOptional(z.string()),\n city: nullishToOptional(z.string()),\n postal: nullishToOptional(z.string()),\n country: nullishToOptional(z.string()),\n state: nullishToOptional(z.string()),\n});\n\nexport const BillingDetails = z.object({\n address: nullishToOptional(Address),\n email: nullishToOptional(z.string()),\n companyName: nullishToOptional(z.string()),\n companyId: nullishToOptional(z.string()),\n notes: nullishToOptional(z.string()),\n vat: nullishToOptional(z.string()),\n poNumber: nullishToOptional(z.string()),\n});\n\nexport type Customer = z.infer<typeof Customer>;\nexport type Address = z.infer<typeof Address>;\nexport type BillingDetails = z.infer<typeof BillingDetails>;\n","import { OptionalToNullable } from \"../utils\";\n\nexport type DbCreateInputOmit<T> = Omit<T, \"id\" | \"createdAt\" | \"updatedAt\">;\n\nexport type DbUpdateInputOmit<T> = Omit<T, \"createdAt\" | \"updatedAt\" | \"persistentId\">;\n\nexport type DbUpdate<T extends { id: string }> = Partial<OptionalToNullable<DbUpdateInputOmit<Omit<T, \"id\">>>> &\n Pick<T, \"id\">;\n\nexport function zodCreateInputOmit() {\n return {\n id: true,\n createdAt: true,\n updatedAt: true,\n } as const;\n}\n\nexport function zodUpdateInputOmit() {\n return {\n id: true,\n createdAt: true,\n updatedAt: true,\n persistentId: true,\n } as const;\n}\n","import { ZodType, ZodTypeDef } from \"zod\";\n\n/**\n * Allows both null and undefined as input values in addition to the actual value,\n * but coerces them both to undefined.\n */\nexport function nullishToOptional<I, O>(type: ZodType<I, ZodTypeDef, O>) {\n return type.nullish().transform(t => t ?? undefined);\n}\n\n/**\n * Converts null values to undefined only for properties that can actually be null.\n * Preserves exact types for all other properties.\n */\nexport type NullToUndefined<T> = {\n [K in keyof T]: null extends T[K] ? (T[K] extends null ? undefined : Exclude<T[K], null> | undefined) : T[K];\n};\n\nexport const nullsToUndefined = <T extends object>(obj: T): NullToUndefined<T> => {\n const result = {} as any;\n for (const [key, value] of Object.entries(obj)) {\n result[key] = value === null ? undefined : value;\n }\n return result;\n};\n","import { z } from \"zod\";\n\nconst featureLimitedSchema = z.object({\n max: z.number().optional(),\n errorMessage: z.string(),\n errorReason: z.string(),\n});\n\nconst featureToggleSchema = z.object({\n enabled: z.boolean(),\n errorMessage: z.string(),\n errorReason: z.string(),\n});\n\nconst featureWithImportJobsSchema = featureLimitedSchema.extend({\n noImportJobsErrorMessage: z.string(),\n noImportJobsErrorReason: z.string(),\n});\n\nexport const FeaturesSummary = z.object({\n designSystems: featureLimitedSchema,\n designSystemSources: featureWithImportJobsSchema,\n designSystemVersions: featureLimitedSchema,\n themes: featureLimitedSchema,\n brands: featureLimitedSchema,\n codegenSchedules: featureLimitedSchema,\n publicDocumentation: featureToggleSchema,\n customDocumentationUrl: featureToggleSchema,\n customDocumentationViewButton: featureToggleSchema,\n designSystemSourceAutoImport: featureToggleSchema,\n designSystemSlug: featureToggleSchema,\n ipWhitelisting: featureToggleSchema,\n npmRegistry: featureToggleSchema,\n sso: featureToggleSchema,\n workspacePaidSeats: featureLimitedSchema,\n workspaceViewers: featureLimitedSchema,\n customDocumentationExporter: featureToggleSchema,\n protectedPages: featureToggleSchema,\n approvals: featureToggleSchema,\n selectivePublishing: featureToggleSchema,\n designSystemAccessModes: featureToggleSchema,\n designSystemRoles: featureToggleSchema,\n documentationPageRedirects: featureToggleSchema,\n analytics: featureLimitedSchema,\n designSystemFileSize: featureLimitedSchema,\n forgeActiveProjects: featureLimitedSchema,\n forgeProjectFileSize: featureLimitedSchema,\n forgeActiveFeaturesPerProject: featureLimitedSchema,\n forgeActiveDocumentsPerProject: featureLimitedSchema,\n forgePrivateProjects: featureToggleSchema,\n forgeActiveProjectContexts: featureLimitedSchema,\n documentationPages: featureLimitedSchema,\n\n sandboxTemplates: featureToggleSchema,\n});\n\nexport type FeatureLimitedDetails = z.infer<typeof featureLimitedSchema>;\nexport type FeatureToggleDetails = z.infer<typeof featureToggleSchema>;\nexport type FeatureWithImportJobsDetails = z.infer<typeof featureWithImportJobsSchema>;\nexport type FeaturesSummary = z.infer<typeof FeaturesSummary>;\n","import { z } from \"zod\";\nimport { CardSchema } from \"./card\";\n\nexport const InvoiceSchema = z.object({\n id: z.string(),\n number: z.string(),\n amount_due: z.number(),\n date: z.coerce.date(),\n hostedUrl: z.string().url(),\n card: CardSchema.nullish(),\n});\n\nexport const PeriodSchema = z.object({\n start: z.coerce.date(),\n end: z.coerce.date(),\n});\n\nexport const InvoiceLineSchema = z.object({\n amount: z.number(),\n period: PeriodSchema,\n proration: z.boolean(),\n description: z.string(),\n type: z.string(),\n});\n\nexport const InvoiceCouponSchema = z.object({\n amount_off: z.number(),\n percent_off: z.number(),\n name: z.string(),\n});\n\nexport type Invoice = z.infer<typeof InvoiceSchema>;\nexport type InvoiceLine = z.infer<typeof InvoiceLineSchema>;\nexport type InvoiceCoupon = z.infer<typeof InvoiceCouponSchema>;\n","import { z } from \"zod\";\n\nexport const PostStripePortalUpdateSessionBodyInputSchema = z.object({\n priceId: z.string(),\n numberOfSeats: z.number().int(),\n});\nexport const PostStripePortalSessionBodyInputSchema = z.object({\n returnUrl: z.string().url(),\n update: PostStripePortalUpdateSessionBodyInputSchema.optional(),\n cancel: z.boolean().optional(),\n});\n\nexport const PostStripePortalSessionOutputSchema = z.object({\n id: z.string(),\n url: z.string().nullish(),\n});\n\nexport type StripePortalSessionInput = z.infer<typeof PostStripePortalSessionBodyInputSchema>;\nexport type StripePortalSessionOutput = z.infer<typeof PostStripePortalSessionOutputSchema>;\n","import { z } from \"zod\";\n\nexport const BillingIntervalSchema = z.enum([\"daily\", \"monthly\", \"yearly\"]);\n\nexport const PriceSchema = z.object({\n stripePriceId: z.string(),\n stripeProductId: z.string(),\n stripeProductName: z.string().optional(),\n stripeProductDescription: z.string().optional(),\n active: z.boolean(),\n amount: z.number(),\n interval: BillingIntervalSchema,\n isPricePerCreator: z.boolean().optional(),\n isTrial: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n minimumSeats: z.number().optional(),\n legacyVersion: z.string().optional(),\n featuresSet: z.string().optional(),\n stripeProductFeatures: z.array(z.string()).optional(),\n stripeProductAdditionalFeatures: z.array(z.string()).optional(),\n seatType: z.enum([\"Full\", \"Builder\"]).optional(),\n monthlyCreditGrant: z.number().optional(),\n});\n\nexport type BillingInterval = z.infer<typeof BillingIntervalSchema>;\nexport type Price = z.infer<typeof PriceSchema>;\n","import { z } from \"zod\";\n\nexport const ProductCodeSchema = z.enum([\"free\", \"team\", \"company\", \"enterprise\", \"pro\"]);\nexport type ProductCode = z.infer<typeof ProductCodeSchema>;\nexport const ProductCode = ProductCodeSchema.enum;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\nimport { CardSchema } from \"./card\";\nimport { BillingIntervalSchema } from \"./price\";\nimport { ProductCodeSchema } from \"./product\";\n\nexport const StripeSubscriptionStatusSchema = z.enum([\n \"trialing\",\n \"active\",\n \"past_due\",\n \"canceled\",\n \"unpaid\",\n \"incomplete_expired\",\n \"incomplete\",\n \"unknown\",\n]);\n\nexport const InternalStatusSchema = z.enum([\"active\", \"suspended\", \"gracePeriod\", \"cancelled\", \"downgraded_to_free\"]);\n\nexport const BillingTypeSchema = z.enum([\"Auto\", \"Invoice\"]);\n\nexport type StripeSubscriptionStatus = z.infer<typeof StripeSubscriptionStatusSchema>;\nexport type InternalStatus = z.infer<typeof InternalStatusSchema>;\nexport type BillingType = z.infer<typeof BillingTypeSchema>;\n\nexport const StripeSubscriptionStatus = StripeSubscriptionStatusSchema.enum;\nexport const InternalStatus = InternalStatusSchema.enum;\nexport const BillingType = BillingTypeSchema.enum;\n\nexport const Subscription = z.object({\n card: nullishToOptional(CardSchema),\n\n seats: z.number(),\n seatLimit: z.number(),\n\n monthlyCreditGrantAnchor: nullishToOptional(z.string()),\n monthlyCreditGrantAmount: nullishToOptional(z.number()),\n\n builderSeatLimit: nullishToOptional(z.number()),\n fullSeatLimit: nullishToOptional(z.number()),\n additionalCredits: nullishToOptional(z.number()),\n\n builderSeats: nullishToOptional(z.number()),\n fullSeats: nullishToOptional(z.number()),\n\n status: nullishToOptional(InternalStatusSchema),\n subscriptionStatus: nullishToOptional(StripeSubscriptionStatusSchema),\n internalStatus: nullishToOptional(InternalStatusSchema),\n\n stripeSubscriptionId: nullishToOptional(z.string()),\n stripeCustomerId: nullishToOptional(z.string()),\n stripeScheduleId: nullishToOptional(z.string()),\n\n product: ProductCodeSchema,\n planPriceId: z.string(),\n planInterval: BillingIntervalSchema,\n\n currentPeriodStart: nullishToOptional(z.string()),\n currentPeriodEnd: nullishToOptional(z.string()),\n cancelAt: nullishToOptional(z.string()),\n\n fullSeatPriceId: nullishToOptional(z.string()),\n builderSeatPriceId: nullishToOptional(z.string()),\n additionalCreditsPriceId: nullishToOptional(z.string()),\n\n subscriptionStatusUpdatedAt: nullishToOptional(z.string()),\n});\n\nexport type Subscription = z.infer<typeof Subscription>;\n","import { z } from \"zod\";\n\n/**\n * Base ChatMessage schema and ChatMessageSenderType enum\n * Used by message-related endpoints\n */\nexport const ForgeChatMessageSenderType = z.enum([\n \"User\",\n \"Agent\",\n \"Developer\",\n \"FunctionCallInput\",\n \"FunctionCallOutput\",\n]);\nexport type ForgeChatMessageSenderType = z.infer<typeof ForgeChatMessageSenderType>;\n\nexport const ForgeChatMessageSender = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.User), userId: z.string() }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.Agent), persona: z.literal(\"Amy\") }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.Developer) }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.FunctionCallInput) }),\n z.object({ type: z.literal(ForgeChatMessageSenderType.Values.FunctionCallOutput) }),\n]);\n\nexport const ForgeChatMessageUserScoreType = z.enum([\"Positive\", \"Negative\"]);\n\nexport const ForgeChatMessageUserScore = z.object({\n type: ForgeChatMessageUserScoreType,\n tags: z.string().array(),\n comment: z.string().optional(),\n});\n\nexport const ForgeChatMessage = z.object({\n id: z.string(),\n threadId: z.string(),\n payload: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n opikTraceId: z.string().optional(),\n sender: ForgeChatMessageSender,\n userScore: ForgeChatMessageUserScore.optional(),\n});\n\nexport type ForgeChatMessageSender = z.infer<typeof ForgeChatMessageSender>;\nexport type ForgeChatMessageUserScoreType = z.infer<typeof ForgeChatMessageUserScoreType>;\nexport type ForgeChatMessageUserScore = z.infer<typeof ForgeChatMessageUserScore>;\nexport type ForgeChatMessage = z.infer<typeof ForgeChatMessage>;\n","import { z } from \"zod\";\n\n/**\n * Base ChatThread schema used across multiple endpoints\n * Also used for DELETE /api/v1/workspaces/{wsId}/chat-threads/{threadId}\n * (DELETE endpoint returns { ok: boolean } but references this model)\n */\nexport const ForgeChatThread = z.object({\n id: z.string(),\n title: z.string(),\n workspaceId: z.string(),\n userId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type ForgeChatThread = z.infer<typeof ForgeChatThread>;\n","import { z } from \"zod\";\n\nexport const Entity = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type Entity = z.infer<typeof Entity>;\n","import { z } from \"zod\";\n\nexport const ObjectMeta = z.object({\n name: z.string(),\n description: z.string().optional(),\n});\n\nexport type ObjectMeta = z.infer<typeof ObjectMeta>;\n","import { z } from \"zod\";\n\nexport type CustomDomainState =\n | \"Initial\"\n | \"DomainSetupInProgress\"\n | \"DomainSetupFailed\"\n | \"DomainSetupSuccess\"\n | \"SSLSetupInProgress\"\n | \"SSLSetupFailed\"\n | \"SSLSetupSuccess\";\n\nexport const CustomDomain = z.object({\n id: z.string(),\n designSystemId: z.string(),\n state: z.string(),\n\n supernovaDomain: z.string(),\n customerDomain: z.string().nullish(),\n\n error: z.string().nullish(),\n errorCode: z.string().nullish(),\n});\n\nexport type CustomDomain = z.infer<typeof CustomDomain>;\n","import { z } from \"zod\";\nimport { Exporter } from \"../export/exporter\";\nimport { Pipeline } from \"../export/pipeline\";\n\nexport const ExportJobDump = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n finishedAt: z.coerce.date(),\n exportArtefacts: z.string(),\n});\n\nexport const CodeIntegrationDump = z.object({\n exporters: Exporter.array(),\n pipelines: Pipeline.array(),\n exportJobs: ExportJobDump.array(),\n});\n\nexport type ExportJobDump = z.infer<typeof ExportJobDump>;\nexport type CodeIntegrationDump = z.infer<typeof CodeIntegrationDump>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\nimport { GitProvider } from \"./git-providers\";\nimport { PulsarContributionConfigurationProperty, PulsarContributionVariant, PulsarCustomBlock } from \"./pulsar\";\nimport { ExporterPropertyDefinition } from \"./export-configuration\";\n\nexport const ExporterType = z.enum([\"code\", \"documentation\"]);\nexport const ExporterSource = z.enum([\"git\", \"upload\"]);\nexport const ExporterTag = z.string();\n\nexport const ExporterPulsarDetails = z.object({\n description: z.string(),\n version: z.string(),\n routingVersion: nullishToOptional(z.string()),\n author: nullishToOptional(z.string()),\n organization: nullishToOptional(z.string()),\n homepage: nullishToOptional(z.string()),\n readme: nullishToOptional(z.string()),\n tags: nullishToOptional(z.array(ExporterTag)).default([]),\n packageId: nullishToOptional(z.string().max(255)),\n\n iconURL: nullishToOptional(z.string()),\n configurationProperties: nullishToOptional(z.array(PulsarContributionConfigurationProperty)).default([]),\n customBlocks: nullishToOptional(z.array(PulsarCustomBlock)).default([]),\n blockVariants: nullishToOptional(z.record(z.string(), z.array(PulsarContributionVariant))).default({}),\n properties: nullishToOptional(ExporterPropertyDefinition.array()),\n\n usesBrands: nullishToOptional(z.boolean()).default(false),\n usesThemes: nullishToOptional(z.boolean()).default(false),\n usesLocale: nullishToOptional(z.boolean()).default(false),\n});\n\nexport const ExporterDetails = ExporterPulsarDetails.extend({\n source: ExporterSource,\n\n gitProvider: nullishToOptional(GitProvider),\n gitUrl: nullishToOptional(z.string()),\n gitBranch: nullishToOptional(z.string()),\n gitDirectory: nullishToOptional(z.string()),\n});\n\nexport const Exporter = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n name: z.string(),\n isPrivate: z.boolean(),\n details: ExporterDetails,\n exporterType: nullishToOptional(ExporterType).default(\"code\"),\n storagePath: nullishToOptional(z.string()).default(\"\"),\n properties: nullishToOptional(ExporterPropertyDefinition.array()),\n isDeprecated: z.boolean().default(false),\n deprecationNote: nullishToOptional(z.string()),\n replacementExporterId: nullishToOptional(z.string()),\n});\n\nexport type ExporterType = z.infer<typeof ExporterType>;\nexport type ExporterSource = z.infer<typeof ExporterSource>;\nexport type ExporterTag = z.infer<typeof ExporterTag>;\nexport type ExporterPulsarDetails = z.infer<typeof ExporterPulsarDetails>;\nexport type ExporterDetails = z.infer<typeof ExporterDetails>;\nexport type Exporter = z.infer<typeof Exporter>;\n","import { z } from \"zod\";\n\nexport enum GitProviderNames {\n Azure = \"azure\",\n Github = \"github\",\n Gitlab = \"gitlab\",\n Bitbucket = \"bitbucket\",\n}\n\nexport const GitProvider = z.nativeEnum(GitProviderNames);\nexport type GitProvider = z.infer<typeof GitProvider>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\n//\n// Base\n//\n\nexport const PulsarPropertyType = z.enum([\n \"string\",\n \"number\",\n \"boolean\",\n \"image\",\n \"enum\",\n \"color\",\n \"typography\",\n \"component\",\n \"componentProperties\",\n \"tokenProperties\",\n \"tokenType\",\n]);\n\nexport const PulsarBaseProperty = z.object({\n label: z.string(),\n key: z.string(),\n description: z.string().nullish(),\n type: PulsarPropertyType,\n values: z.array(z.string()).nullish(),\n default: z.union([z.string(), z.boolean(), z.number()]).nullish(), // PulsarPropertyValueType //is optional?\n inputType: z.enum([\"code\", \"plain\"]).optional(), //is optional?\n isMultiline: z.boolean().nullish(),\n});\n\n//\n// Exporter custom properties\n//\n\nexport const PulsarContributionConfigurationProperty = PulsarBaseProperty.extend({\n category: z.string(),\n});\n\n//\n// Exporter custom blocks\n//\n\nexport const PulsarContributionVariant = z.object({\n key: z.string(),\n name: z.string(),\n isDefault: nullishToOptional(z.boolean()),\n description: nullishToOptional(z.string()),\n thumbnailURL: nullishToOptional(z.string()),\n});\n\nexport const PulsarCustomBlock = z.object({\n title: nullishToOptional(z.string()),\n key: z.string(),\n category: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n iconURL: nullishToOptional(z.string()),\n mode: nullishToOptional(z.enum([\"array\", \"block\"])),\n properties: nullishToOptional(z.array(PulsarBaseProperty)).transform(v => v ?? []),\n});\n\n//\n// Types\n//\n\nexport type PulsarContributionVariant = z.infer<typeof PulsarContributionVariant>;\nexport type PulsarPropertyType = z.infer<typeof PulsarPropertyType>;\nexport type PulsarBaseProperty = z.infer<typeof PulsarBaseProperty>;\nexport type PulsarCustomBlock = z.infer<typeof PulsarCustomBlock>;\nexport type PulsarContributionConfigurationProperty = z.infer<typeof PulsarContributionConfigurationProperty>;\n","import { z } from \"zod\";\n\n//\n// Primitives\n//\n\nconst PrimitiveValue = z.number().or(z.boolean()).or(z.string());\nconst ArrayValue = z.array(z.string());\nconst ObjectValue = z.record(z.string());\n\nexport const ExporterPropertyValue = PrimitiveValue.or(ArrayValue).or(ObjectValue);\nexport const ExporterPropertyType = z.enum([\"Enum\", \"Boolean\", \"String\", \"Number\", \"Array\", \"Object\", \"Code\"]);\n\nexport type ExporterPropertyDefinitionValue = z.infer<typeof ExporterPropertyValue>;\nexport type ExporterPropertyType = z.infer<typeof ExporterPropertyType>;\n\n//\n// Property\n//\n\nconst PropertyDefinitionBase = z.object({\n key: z.string(),\n title: z.string(),\n description: z.string(),\n category: z.string().optional(),\n dependsOn: z.record(z.boolean()).optional(),\n});\n\nexport const ExporterPropertyDefinitionEnumOption = z.object({\n label: z.string(),\n description: z.string(),\n});\n\nexport const ExporterPropertyDefinitionEnum = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Enum),\n options: z.record(ExporterPropertyDefinitionEnumOption),\n default: z.string(),\n});\n\nexport const ExporterPropertyDefinitionBoolean = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Boolean),\n default: z.boolean(),\n});\n\nexport const ExporterPropertyDefinitionString = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.String),\n default: z.string(),\n isMultiline: z.boolean().optional(),\n});\n\nexport const ExporterPropertyDefinitionNumber = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Number),\n default: z.number(),\n});\n\nexport const ExporterPropertyDefinitionArray = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Array),\n default: ArrayValue,\n});\n\nexport const ExporterPropertyDefinitionObject = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Object),\n default: ObjectValue,\n allowedKeys: z\n .object({\n options: z.string().array(),\n type: z.string(),\n })\n .optional(),\n allowedValues: z\n .object({\n type: z.string(),\n })\n .optional(),\n});\n\nexport const ExporterPropertyDefinitionCode = PropertyDefinitionBase.extend({\n type: z.literal(ExporterPropertyType.Enum.Code),\n default: z.string(),\n language: z.string(),\n});\n\nexport const ExporterPropertyDefinition = z.discriminatedUnion(\"type\", [\n ExporterPropertyDefinitionEnum,\n ExporterPropertyDefinitionBoolean,\n ExporterPropertyDefinitionString,\n ExporterPropertyDefinitionNumber,\n ExporterPropertyDefinitionArray,\n ExporterPropertyDefinitionObject,\n ExporterPropertyDefinitionCode,\n]);\n\nexport type ExporterPropertyDefinitionEnum = z.infer<typeof ExporterPropertyDefinitionEnum>;\nexport type ExporterPropertyDefinitionBoolean = z.infer<typeof ExporterPropertyDefinitionBoolean>;\nexport type ExporterPropertyDefinitionString = z.infer<typeof ExporterPropertyDefinitionString>;\nexport type ExporterPropertyDefinitionNumber = z.infer<typeof ExporterPropertyDefinitionNumber>;\nexport type ExporterPropertyDefinitionArray = z.infer<typeof ExporterPropertyDefinitionArray>;\nexport type ExporterPropertyDefinitionObject = z.infer<typeof ExporterPropertyDefinitionObject>;\nexport type ExporterPropertyDefinition = z.infer<typeof ExporterPropertyDefinition>;\nexport type ExporterPropertyDefinitionEnumOption = z.infer<typeof ExporterPropertyDefinitionEnumOption>;\n\n//\n// Value\n//\n\nexport const ExporterPropertyValueMap = z.record(ExporterPropertyValue);\nexport type ExporterPropertyValueMap = z.infer<typeof ExporterPropertyValueMap>;\n","import { z } from \"zod\";\nimport { ExporterPropertyValueMap } from \"./export-configuration\";\nimport { ExportDestinationsMap } from \"./export-destinations\";\n\nexport const PipelineEventType = z.enum([\n \"OnVersionReleased\",\n \"OnHeadChanged\",\n \"OnSourceUpdated\",\n \"OnDocumentationPublished\",\n \"None\",\n]);\n\nexport const PipelineDestinationGitType = z.enum([\"Github\", \"Gitlab\", \"Bitbucket\", \"Azure\"]);\nexport const PipelineDestinationExtraType = z.enum([\"WebhookUrl\", \"S3\", \"Documentation\"]);\nexport const PipelineDestinationType = z.union([PipelineDestinationGitType, PipelineDestinationExtraType]);\n\nexport const Pipeline = z.object({\n id: z.string(),\n\n name: z.string(),\n eventType: PipelineEventType,\n isEnabled: z.boolean(),\n\n workspaceId: z.string(),\n designSystemId: z.string(),\n exporterId: z.string(),\n\n brandPersistentId: z.string().optional(),\n themePersistentId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n exporterPropertyValues: ExporterPropertyValueMap.optional(),\n\n isExporterDeprecated: z.boolean(),\n\n // Destinations\n ...ExportDestinationsMap.shape,\n});\n\nexport type PipelineEventType = z.infer<typeof PipelineEventType>;\nexport type PipelineDestinationGitType = z.infer<typeof PipelineDestinationGitType>;\nexport type PipelineDestinationExtraType = z.infer<typeof PipelineDestinationExtraType>;\nexport type PipelineDestinationType = z.infer<typeof PipelineDestinationType>;\n\nexport type Pipeline = z.infer<typeof Pipeline>;\n","import { z } from \"zod\";\nimport { PublishedDocEnvironment } from \"../dsm\";\nimport { nullishToOptional } from \"../helpers\";\n\nconst BITBUCKET_SLUG = /^[-a-zA-Z0-9~]*$/;\nconst BITBUCKET_MAX_LENGTH = 64;\n\nexport const ExportJobDocumentationChanges = z.object({\n pagePersistentIds: z.string().array(),\n groupPersistentIds: z.string().array(),\n selectivePublishing: z.boolean().optional(),\n});\n\nexport const ExporterDestinationDocs = z.object({\n environment: PublishedDocEnvironment,\n changes: nullishToOptional(ExportJobDocumentationChanges),\n});\n\nexport const GitCommonDestinationOptions = z.object({\n branch: z.string(),\n relativePath: nullishToOptional(z.string()),\n purgeDirectory: nullishToOptional(z.boolean()),\n commitAuthorName: nullishToOptional(z.string()),\n commitAuthorEmail: nullishToOptional(z.string()),\n commitMessage: nullishToOptional(z.string()),\n pullRequestTitle: nullishToOptional(z.string()),\n pullRequestDescription: nullishToOptional(z.string()),\n checkoutNoTags: nullishToOptional(z.boolean()),\n checkoutNoBlobs: nullishToOptional(z.boolean()),\n checkoutSparse: nullishToOptional(z.boolean()),\n});\n\nexport const ExporterDestinationS3 = z.object({});\n\nexport const ExporterDestinationGithub = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n url: z.string(),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationAzure = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n organizationId: z.string(),\n projectId: z.string(),\n repositoryId: z.string(),\n\n // Maybe not needed\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationGitlab = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n projectId: z.string(),\n\n // Maybe not needed\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExporterDestinationBitbucket = z\n .object({\n credentialId: z.string().optional(),\n\n // Repository\n workspaceSlug: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n projectKey: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n repoSlug: z.string().max(BITBUCKET_MAX_LENGTH).regex(BITBUCKET_SLUG),\n\n url: nullishToOptional(z.string()),\n\n // Legacy deprecated fields. Use `credentialId` instead\n connectionId: nullishToOptional(z.string()),\n userId: nullishToOptional(z.number()),\n })\n .extend(GitCommonDestinationOptions.shape);\n\nexport const ExportDestinationsMap = z.object({\n webhookUrl: z.string().optional(),\n destinationSnDocs: ExporterDestinationDocs.optional(),\n destinationS3: ExporterDestinationS3.optional(),\n destinationGithub: ExporterDestinationGithub.optional(),\n destinationAzure: ExporterDestinationAzure.optional(),\n destinationGitlab: ExporterDestinationGitlab.optional(),\n destinationBitbucket: ExporterDestinationBitbucket.optional(),\n});\n\nexport const ExportDestinationsMapUpdate = z.object({\n webhookUrl: z.string().nullish(),\n destinationSnDocs: ExporterDestinationDocs.nullish(),\n destinationS3: ExporterDestinationS3.nullish(),\n destinationGithub: ExporterDestinationGithub.nullish(),\n destinationAzure: ExporterDestinationAzure.nullish(),\n destinationGitlab: ExporterDestinationGitlab.nullish(),\n destinationBitbucket: ExporterDestinationBitbucket.nullish(),\n});\n\nexport type ExportJobDocumentationChanges = z.infer<typeof ExportJobDocumentationChanges>;\nexport type ExporterDestinationDocs = z.infer<typeof ExporterDestinationDocs>;\nexport type ExporterDestinationS3 = z.infer<typeof ExporterDestinationS3>;\nexport type ExporterDestinationGithub = z.infer<typeof ExporterDestinationGithub>;\nexport type ExporterDestinationAzure = z.infer<typeof ExporterDestinationAzure>;\nexport type ExporterDestinationGitlab = z.infer<typeof ExporterDestinationGitlab>;\nexport type ExporterDestinationBitbucket = z.infer<typeof ExporterDestinationBitbucket>;\nexport type ExportDestinationsMap = z.infer<typeof ExportDestinationsMap>;\nexport type ExportDestinationsMapUpdate = z.infer<typeof ExportDestinationsMapUpdate>;\n","import { z } from \"zod\";\n\nexport const AssetDynamoRecord = z.object({\n path: z.string(),\n id: z.string(),\n designSystemId: z.string(),\n expiresAt: z.number(),\n});\n\nexport type AssetDynamoRecord = z.infer<typeof AssetDynamoRecord>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../../helpers\";\n\nexport const AssetReference = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n assetId: z.string(),\n persistentId: z.string(),\n});\n\nexport type AssetReference = z.infer<typeof AssetReference>;\n\nexport type CreateAssetReference = DbCreateInputOmit<AssetReference>;\n\nexport type AssetReferenceDiff = {\n toCreate: CreateAssetReference[];\n toDelete: string[];\n};\n","import { z } from \"zod\";\n\nexport const AssetValue = z.object({});\n","import { z } from \"zod\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const AssetType = z.enum([\"Image\", \"Font\", \"Generic\"]);\nexport const AssetScope = z.enum([\n \"DocumentationFrame\",\n \"ComponentThumbnail\",\n \"DesignSystem\",\n \"Documentation\",\n \"DocumentationEmbed\",\n]);\n\nexport const AssetFontProperties = z.object({\n family: z.string(),\n subfamily: z.string(),\n});\n\nexport const AssetProperties = z.union([\n z.object({\n fontProperties: z.array(AssetFontProperties),\n }),\n z.object({\n width: z.number(),\n height: z.number(),\n }),\n]);\n\nexport const AssetOrigin = z.object({\n originKey: z.string(),\n});\n\nexport const Asset = z.object({\n id: z.string(),\n designSystemId: z.string().nullish(),\n type: AssetType,\n originalFileName: z.string().nullish(),\n filePath: z.string(),\n scope: AssetScope,\n properties: AssetProperties.nullish(),\n originKey: z.string().optional(),\n createdAt: z.coerce.date().optional(),\n pendingUpload: z.boolean().optional(),\n size: z.number().int().positive().optional(),\n checksum: z.string().optional(),\n});\n\nexport const ResolvedAsset = Asset.extend({\n url: z.string(),\n});\n\nexport type AssetType = z.infer<typeof AssetType>;\nexport type AssetScope = z.infer<typeof AssetScope>;\nexport type AssetFontProperties = z.infer<typeof AssetFontProperties>;\nexport type AssetProperties = z.infer<typeof AssetProperties>;\nexport type AssetOrigin = z.infer<typeof AssetOrigin>;\nexport type Asset = z.infer<typeof Asset>;\nexport type ResolvedAsset = z.infer<typeof ResolvedAsset>;\n\nexport type ImportedAsset = OmitStrict<Asset, \"originKey\"> & {\n originKey: string;\n};\n\nexport function isImportedAsset(asset: Asset): asset is ImportedAsset {\n return !!asset.originKey;\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const CodeComponentResolvedTypeKind = z.enum([\n \"string\",\n \"number\",\n \"numberLiteral\",\n \"boolean\",\n \"booleanLiteral\",\n \"object\",\n \"function\",\n \"stringLiteral\",\n \"union\",\n \"slot\",\n \"null\",\n \"undefined\",\n \"any\",\n]);\n\nexport const CodeComponentResolvedType: z.ZodType = z.lazy(() =>\n z.object({\n kind: CodeComponentResolvedTypeKind,\n raw: z.string().optional(),\n types: z.array(CodeComponentResolvedType).optional(),\n isArray: z.boolean().optional(),\n })\n);\n\nexport const CodeComponentParentType = z.object({\n fileName: z.string(),\n name: z.string(),\n});\n\nexport const CodeComponentProperty = z.object({\n defaultValue: z.string().optional(),\n name: z.string(),\n required: z.boolean(),\n type: CodeComponentResolvedType,\n declarations: z.array(CodeComponentParentType).optional(),\n tags: z.record(z.string(), z.string()).optional(),\n description: z.string(),\n});\n\nexport const CodeComponent = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n exportName: z.string(),\n componentPath: z.string(),\n description: z.string(),\n properties: z.record(z.string(), CodeComponentProperty),\n tags: z.record(z.string(), z.string()).nullable(),\n});\n\nexport const CodeComponentUpsertResponse = z.object({\n created: z.number().nonnegative(),\n updated: z.number().nonnegative(),\n deleted: z.number().nonnegative(),\n});\n\nexport type CodeComponentResolvedType = z.infer<typeof CodeComponentResolvedType>;\nexport type CodeComponentParentType = z.infer<typeof CodeComponentParentType>;\nexport type CodeComponentProperty = z.infer<typeof CodeComponentProperty>;\nexport type CodeComponent = z.infer<typeof CodeComponent>;\n\nexport type CodeComponentCreate = DbCreateInputOmit<CodeComponent>;\nexport type CodeComponentUpdate = DbUpdate<CodeComponent>;\nexport type CodeComponentUpsert = OmitStrict<CodeComponentCreate, \"persistentId\" | \"designSystemVersionId\">;\nexport type CodeComponentUpsertResponse = z.infer<typeof CodeComponentUpsertResponse>;\n\n//\n// Analyze\n//\n\nexport const RegistryType = z.enum([\"Npm\", \"Github\", \"Artifactory\", \"Azure\", \"Custom\"]);\n\nexport const Registry = z.object({\n type: RegistryType,\n url: z.string().optional(),\n accessToken: z.string().optional(),\n scope: z.string(),\n authConfig: z.record(z.string()).optional(),\n});\n\nexport const DependencyDefinition = z.object({\n name: z.string(),\n version: z.string().optional(),\n});\n\nexport const AnalyzeCodeComponentsInPackage = z.object({\n designSystemId: z.string(),\n versionId: z.string(),\n mainPackage: DependencyDefinition,\n dependencies: z.array(DependencyDefinition).optional(),\n registries: Registry.array(),\n userAccessToken: z.string(),\n});\n\nexport type Registry = z.infer<typeof Registry>;\nexport type DependencyDefinition = z.infer<typeof DependencyDefinition>;\nexport type AnalyzeCodeComponentsInPackage = z.infer<typeof AnalyzeCodeComponentsInPackage>;\n","import { z } from \"zod\";\nimport { FigmaRenderFormat } from \"../import\";\n\nexport const AssetRenderConfiguration = z.object({\n prefix: z.string().optional(),\n suffix: z.string().optional(),\n scale: z.number(),\n format: FigmaRenderFormat,\n});\n\nexport const RenderedAssetFile = z.object({\n assetPersistentId: z.string(),\n assetName: z.string(),\n\n renderedImageFileName: z.string(),\n renderedImageUrl: z.string(),\n\n settings: AssetRenderConfiguration,\n});\n\nexport type AssetRenderConfiguration = z.infer<typeof AssetRenderConfiguration>;\nexport type RenderedAssetFile = z.infer<typeof RenderedAssetFile>;\n","import { z } from \"zod\";\n\nexport const FigmaFileDownloadScope = z.object({\n styles: z.boolean(),\n components: z.boolean(),\n componentSets: z.boolean(),\n currentVersion: z.literal(\"__latest__\").nullable(),\n publishedVersion: z.string().nullable(),\n downloadChunkSize: z.number().optional(),\n maxFileDepth: z.number().optional(),\n});\n\nexport const FigmaFileAccessData = z.object({\n accessToken: z.string(),\n accessTokenType: z.enum([\"OAuth2\", \"PAT\"]).default(\"OAuth2\"),\n});\n\nexport type FigmaFileDownloadScope = z.infer<typeof FigmaFileDownloadScope>;\nexport type FigmaFileAccessData = z.infer<typeof FigmaFileAccessData>;\n","import { z } from \"zod\";\nimport { DataSourceFigmaImportMetadata, DataSourceFigmaRemote } from \"../../data-sources\";\nimport { ImportWarning } from \"../warning\";\nimport { FigmaFileAccessData, FigmaFileDownloadScope } from \"./figma-files\";\n\n//\n// Importer payload\n//\n\nexport const ImportFunctionInput = z.object({\n importJobId: z.string(),\n importContextId: z.string(),\n designSystemId: z.string(),\n});\n\nexport type ImportFunctionInput = z.infer<typeof ImportFunctionInput>;\n\n//\n// Base context\n//\n\nexport const ImportedFigmaSourceData = z.object({\n sourceId: z.string(),\n figmaRemote: DataSourceFigmaRemote,\n});\n\nexport const FigmaImportBaseContext = z.object({\n designSystemId: z.string(),\n\n /**\n * Data required for accessing Figma files. This should contain access data for all file ids\n * mentioned in the `importedSourceDataBySourceId`\n *\n * fileId: file data\n */\n fileAccessByFileId: z.record(FigmaFileAccessData),\n\n /**\n * Figma source data for which import was requested\n *\n * sourceId: source data\n */\n importedSourceDataBySourceId: z.record(ImportedFigmaSourceData),\n\n /**\n * Array of warnings that will be written into the import result summary at the end\n * of import job execution and displayed by the client.\n */\n importWarnings: z.record(ImportWarning.array()).default({}),\n});\n\nexport type ImportedFigmaSourceData = z.infer<typeof ImportedFigmaSourceData>;\nexport type FigmaImportBaseContext = z.infer<typeof FigmaImportBaseContext>;\n\n//\n// Context with source state updates\n//\n\nexport const FeatureFlagsKeepAliases = z.object({\n isNonCompatibleTypeChangesEnabled: z.boolean().default(false),\n isTypographyUseFontStyleEnabled: z.boolean().default(false),\n});\nexport type FeatureFlagsKeepAliases = z.infer<typeof FeatureFlagsKeepAliases>;\n\nexport const FigmaImportContextWithSourcesState = FigmaImportBaseContext.extend({\n sourcesWithMissingAccess: z.array(z.string()).default([]),\n featureFlagsKeepAliases: FeatureFlagsKeepAliases.default({}),\n});\n\nexport type FigmaImportContextWithSourcesState = z.infer<typeof FigmaImportContextWithSourcesState>;\n\n//\n// Context with file download scope\n//\n\nexport const ChangedImportedFigmaSourceData = ImportedFigmaSourceData.extend({\n importMetadata: DataSourceFigmaImportMetadata,\n});\n\nexport const FigmaImportContextWithDownloadScopes = FigmaImportContextWithSourcesState.extend({\n /**\n * Describes what to download from each file, this should contain all file id mentioned in\n * importMetadataBySourceId.\n *\n * File id -> file download scope\n */\n fileDownloadScopesByFileId: z.record(FigmaFileDownloadScope),\n\n /**\n * Sources filtered down to the ones that have changed since last import and therefore need to be\n * imported again.\n *\n * Source id -> import metadata\n */\n changedImportedSourceDataBySourceId: z.record(ChangedImportedFigmaSourceData),\n});\n\nexport type ChangedImportedFigmaSourceData = z.infer<typeof ChangedImportedFigmaSourceData>;\nexport type FigmaImportContextWithDownloadScopes = z.infer<typeof FigmaImportContextWithDownloadScopes>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ImportWarning } from \"../import/warning\";\nimport {\n DataSourceAutoImportMode,\n DataSourceFigmaState,\n DataSourceRemoteType,\n DataSourceUploadRemoteSource,\n} from \"./enums\";\nimport { SourceImportStorybookSummary, SourceImportSummary } from \"./import-summary\";\n\n//\n// Aux\n//\n\nexport const DataSourceStats = z.object({\n tokens: zeroNumberByDefault(),\n components: zeroNumberByDefault(),\n assets: zeroNumberByDefault(),\n frames: zeroNumberByDefault(),\n});\n\nexport type DataSourceStats = z.infer<typeof DataSourceStats>;\n\n//\n// Figma\n//\n\nexport const DataSourceFigmaFileData = z.object({\n lastUpdatedAt: z.coerce.date(),\n});\n\nexport const DataSourceFigmaFileVersionData = z.object({\n id: z.string(),\n label: z.string().optional(),\n description: z.string().optional(),\n createdAt: z.coerce.date(),\n});\n\nexport const DataSourceFigmaScope = z.object({\n assets: z.boolean(),\n components: z.boolean(),\n documentationFrames: z.boolean(),\n tokens: z.boolean(),\n themePersistentId: z.string().optional(),\n isUnpublishedContentFallbackEnabled: z.boolean(),\n});\n\nexport const DataSourceFigmaImportMetadata = z.object({\n fileData: DataSourceFigmaFileData.optional(),\n importedPublishedVersion: DataSourceFigmaFileVersionData.optional(),\n});\n\nexport const DataSourceFigmaRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.Figma),\n fileId: z.string(),\n preferredCredentialId: z.string().optional(),\n ownerId: z.string(), // todo remove or keep to reference who created data source\n ownerName: z.string(), // todo probably remove\n scope: DataSourceFigmaScope,\n state: DataSourceFigmaState,\n requiresSync: z\n .boolean()\n .optional()\n .transform(v => v ?? false),\n lastImportMetadata: DataSourceFigmaImportMetadata.optional(),\n downloadChunkSize: z.number().optional(),\n figmaRenderChunkSize: z.number().optional(),\n maxFileDepth: z.number().optional(),\n});\n\nexport type DataSourceFigmaFileData = z.infer<typeof DataSourceFigmaFileData>;\nexport type DataSourceFigmaFileVersionData = z.infer<typeof DataSourceFigmaFileVersionData>;\nexport type DataSourceFigmaScope = z.infer<typeof DataSourceFigmaScope>;\nexport type DataSourceFigmaImportMetadata = z.infer<typeof DataSourceFigmaImportMetadata>;\nexport type DataSourceFigmaRemote = z.infer<typeof DataSourceFigmaRemote>;\n\n//\n// Token Studio\n//\n\nexport const DataSourceTokenStudioRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.TokenStudio),\n});\n\nexport type DataSourceTokenStudioRemote = z.infer<typeof DataSourceTokenStudioRemote>;\n\n//\n// Figma Variables Plugin\n//\n\nexport const DataSourceUploadImportMetadata = z.record(z.any());\n\nexport const DataSourceUploadRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.FigmaVariablesPlugin),\n remoteId: z.string(),\n remoteSourceType: DataSourceUploadRemoteSource,\n lastImportMetadata: DataSourceUploadImportMetadata.optional(),\n warnings: nullishToOptional(ImportWarning.array()),\n isTokenTypeSplitEnabled: z.boolean(),\n isCollectionsMigrationCompleted: z.boolean(),\n});\n\nexport type DataSourceUploadImportMetadata = z.infer<typeof DataSourceUploadImportMetadata>;\nexport type DataSourceUploadRemote = z.infer<typeof DataSourceUploadRemote>;\n\n//\n// Storybook\n//\n\nexport const DataSourceStorybookRemote = z.object({\n type: z.literal(DataSourceRemoteType.Enum.Storybook),\n indexUrl: z.string(),\n userUrl: z.string(),\n ownerId: z.string().optional(),\n lastImportedAt: z.coerce.date().optional(),\n lastImportedSuccessfully: z.coerce.date().optional(),\n lastImportedResult: SourceImportStorybookSummary.optional(),\n isFailed: z.boolean(),\n storiesCount: z.number(),\n docsCount: z.number(),\n description: z.string().optional(),\n isUsingVpn: z.boolean().optional(),\n});\n\nexport type DataSourceStorybookRemote = z.infer<typeof DataSourceStorybookRemote>;\n\n//\n// Base\n//\n\nexport const DataSourceRemote = z.discriminatedUnion(\"type\", [\n DataSourceFigmaRemote,\n DataSourceUploadRemote,\n DataSourceTokenStudioRemote,\n DataSourceStorybookRemote,\n]);\n\nexport const DataSource = z.object({\n id: z.string(),\n\n name: z.string(),\n thumbnailUrl: z.string().optional(),\n\n createdAt: z.coerce.date().optional(),\n\n lastImportedAt: z.coerce.date().optional(),\n lastImportSummary: SourceImportSummary.optional(),\n\n designSystemId: z.string(),\n brandPersistentId: z.string(),\n autoImportMode: DataSourceAutoImportMode,\n stats: DataSourceStats,\n\n remote: DataSourceRemote,\n\n sortOrder: z.number(),\n});\n\nexport const DataSourceVersion = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n label: z.string().nullish(),\n description: z.string().nullish(),\n});\n\nexport type DataSourceVersion = z.infer<typeof DataSourceVersion>;\n\nexport type DataSourceRemote = z.infer<typeof DataSourceRemote>;\nexport type DataSource = z.infer<typeof DataSource>;\nexport type DataSourceOfType<T extends DataSourceRemoteType> = DataSource & {\n remote: Extract<DataSourceRemote, { type: T }>;\n};\n\nexport function isDataSourceOfType<T extends DataSourceRemoteType>(\n dataSource: DataSource,\n type: T\n): dataSource is DataSourceOfType<T> {\n return dataSource.remote.type === type;\n}\n\nexport type CreateDataSource = OmitStrict<DbCreateInputOmit<DataSource>, \"sortOrder\">;\nexport type UpdateDataSource = OmitStrict<DbUpdate<DataSource>, \"brandPersistentId\" | \"designSystemId\">;\n\nfunction zeroNumberByDefault() {\n return z\n .number()\n .nullish()\n .transform(v => v ?? 0);\n}\n","import { z } from \"zod\";\n\nexport const ImportWarningType = z.enum([\n \"NoVersionFound\",\n\n \"UnsupportedFill\",\n \"UnsupportedStroke\",\n \"UnsupportedEffect\",\n\n \"NoPublishedElements\",\n \"NoPublishedStyles\",\n \"NoPublishedComponents\",\n \"NoPublishedAssets\",\n\n \"StyleNotApplied\",\n\n \"ComponentHasNoThumbnail\",\n\n \"DuplicateImportedStyleId\",\n \"DuplicateImportedStylePath\",\n\n \"NoUnpublishedStyles\",\n\n \"ReferenceResolutionFailed\",\n]);\n\nexport const ImportWarning = z.object({\n warningType: ImportWarningType,\n componentId: z.string().optional(),\n componentName: z.string().optional(),\n styleId: z.string().optional(),\n styleName: z.string().optional(),\n unsupportedStyleValueType: z.string().optional(),\n referenceId: z.string().optional(),\n});\n\nexport type ImportWarningType = z.infer<typeof ImportWarningType>;\nexport type ImportWarning = z.infer<typeof ImportWarning>;\n","import z from \"zod\";\n\nexport const DataSourceRemoteType = z.enum([\"Figma\", \"TokenStudio\", \"FigmaVariablesPlugin\", \"Storybook\"]);\nexport const DataSourceUploadRemoteSource = z.enum([\"TokenStudio\", \"FigmaVariablesPlugin\", \"Custom\"]);\nexport const DataSourceFigmaState = z.enum([\"Active\", \"MissingIntegration\", \"MissingFileAccess\", \"MissingFileOwner\"]);\nexport const DataSourceFigmaErrorType = z.enum([\"FigmaAPIRateLimit\", \"UnknownImportError\"]);\nexport const DataSourceAutoImportMode = z.enum([\"Never\", \"Hourly\"]);\n\nexport type DataSourceRemoteType = z.infer<typeof DataSourceRemoteType>;\nexport type DataSourceUploadRemoteSource = z.infer<typeof DataSourceUploadRemoteSource>;\nexport type DataSourceFigmaState = z.infer<typeof DataSourceFigmaState>;\nexport type DataSourceFigmaErrorType = z.infer<typeof DataSourceFigmaErrorType>;\nexport type DataSourceAutoImportMode = z.infer<typeof DataSourceAutoImportMode>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../helpers\";\nimport { DesignTokenType } from \"../elements\";\nimport { ImportWarning } from \"../import/warning\";\nimport { DataSourceFigmaErrorType, DataSourceFigmaState } from \"./enums\";\n\nexport const FileStructureStats = z.object({\n frames: zeroNumberByDefault(),\n components: zeroNumberByDefault(),\n componentSets: zeroNumberByDefault(),\n});\n\n// With backward compatibility\nconst SourceImportSummaryByTokenTypeKey = DesignTokenType.or(\n z.enum([\"Measure\", \"Radius\", \"GenericToken\", \"Font\", \"Text\"])\n);\n\nexport const SourceImportSummaryByTokenType = z.record(SourceImportSummaryByTokenTypeKey, z.number());\n\nexport const SourceImportTokenSummary = z.object({\n tokensCreated: zeroNumberByDefault(),\n tokensUpdated: zeroNumberByDefault(),\n tokensDeleted: zeroNumberByDefault(),\n tokensCreatedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n tokensUpdatedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n tokensDeletedPerType: SourceImportSummaryByTokenType.nullish().transform(v => v ?? {}),\n});\n\nexport const SourceImportComponentSummary = z.object({\n componentsCreated: zeroNumberByDefault(),\n componentsUpdated: zeroNumberByDefault(),\n componentsDeleted: zeroNumberByDefault(),\n componentAssetsCreated: zeroNumberByDefault(),\n componentAssetsUpdated: zeroNumberByDefault(),\n componentAssetsDeleted: zeroNumberByDefault(),\n});\n\nexport const SourceImportStorybookSummary = z.object({\n created: zeroNumberByDefault(),\n updated: zeroNumberByDefault(),\n deleted: zeroNumberByDefault(),\n});\n\nexport const SourceImportFrameSummary = z.object({\n assetsInFile: nullishToOptional(FileStructureStats.optional()),\n invalidReferencesCount: nullishToOptional(z.number().optional()),\n});\n\nexport const SourceErrorRateLimitDetails = z.object({\n retryAfter: z.number().optional(),\n figmaPlanTier: z.string().optional(),\n rateLimitType: z.string().optional(),\n});\n\nexport const SourceError = z.object({\n /** @deprecated use error type instead */\n cloudState: DataSourceFigmaState,\n\n /**\n * @deprecated rely on additional properties like `rateLimitDetails` instead,\n * if consider adding more properties on the backend side\n */\n originalError: nullishToOptional(z.record(z.any())),\n\n errorType: DataSourceFigmaErrorType.optional(),\n rateLimitDetails: SourceErrorRateLimitDetails.optional(),\n});\n\nexport const SourceImportSummary = z.object({\n sourceId: nullishToOptional(z.string()),\n brandId: nullishToOptional(z.string()),\n versionId: nullishToOptional(z.string()),\n error: nullishToOptional(SourceError),\n isFailed: z.boolean(),\n warnings: z\n .array(ImportWarning)\n .nullish()\n .transform(v => v ?? []),\n\n ...SourceImportTokenSummary.shape,\n ...SourceImportComponentSummary.shape,\n ...FileStructureStats.shape,\n});\n\nexport type FileStructureStats = z.infer<typeof FileStructureStats>;\nexport type SourceImportSummaryByTokenType = z.infer<typeof SourceImportSummaryByTokenType>;\nexport type SourceImportTokenSummary = z.infer<typeof SourceImportTokenSummary>;\nexport type SourceImportComponentSummary = z.infer<typeof SourceImportComponentSummary>;\nexport type SourceErrorRateLimitDetails = z.infer<typeof SourceErrorRateLimitDetails>;\nexport type SourceError = z.infer<typeof SourceError>;\nexport type SourceImportFrameSummary = z.infer<typeof SourceImportFrameSummary>;\nexport type SourceImportSummary = z.infer<typeof SourceImportSummary>;\nexport type SourceImportStorybookSummary = z.infer<typeof SourceImportStorybookSummary>;\n\nfunction zeroNumberByDefault() {\n return z\n .number()\n .nullish()\n .transform(v => v ?? 0);\n}\n","import { ZodSchema, ZodTypeDef, z } from \"zod\";\n\nexport const TokenDataAliasSchema = z.object({\n aliasTo: z\n .string()\n .optional()\n .nullable()\n .transform(v => v ?? undefined),\n});\n\nexport function tokenAliasOrValue<I, O>(value: ZodSchema<I, ZodTypeDef, O>) {\n return TokenDataAliasSchema.extend({\n value: value\n .optional()\n .nullable()\n .transform(v => (v ?? undefined) as z.output<typeof value> | undefined),\n });\n}\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionTokenData } from \"./dimension\";\n\nexport const BlurType = z.enum([\"Layer\", \"Background\"]);\n\nexport const BlurValue = z.object({\n type: BlurType,\n radius: DimensionTokenData,\n});\n\nexport const BlurTokenData = tokenAliasOrValue(BlurValue);\n\nexport type BlurType = z.infer<typeof BlurType>;\nexport type BlurValue = z.infer<typeof BlurValue>;\nexport type BlurTokenData = z.infer<typeof BlurTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const DimensionUnit = z.enum([\"Pixels\", \"Percent\", \"Rem\", \"Ms\", \"Raw\", \"Points\"]);\n\nexport const DimensionValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const DimensionTokenData = tokenAliasOrValue(DimensionValue);\n\nexport type DimensionUnit = z.infer<typeof DimensionUnit>;\nexport type DimensionValue = z.infer<typeof DimensionValue>;\nexport type DimensionTokenData = z.infer<typeof DimensionTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const BorderRadiusUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const BorderRadiusValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const BorderRadiusTokenData = tokenAliasOrValue(BorderRadiusValue);\n\nexport type BorderRadiusUnit = z.infer<typeof BorderRadiusUnit>;\nexport type BorderRadiusValue = z.infer<typeof BorderRadiusValue>;\nexport type BorderRadiusTokenData = z.infer<typeof BorderRadiusTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const BorderWidthUnit = z.enum([\"Pixels\"]);\n\nexport const BorderWidthValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const BorderWidthTokenData = tokenAliasOrValue(BorderWidthValue);\n\nexport type BorderWidthUnit = z.infer<typeof BorderWidthUnit>;\nexport type BorderWidthValue = z.infer<typeof BorderWidthValue>;\nexport type BorderWidthTokenData = z.infer<typeof BorderWidthTokenData>;\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { BorderWidthTokenData } from \"./border-width\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const BorderPosition = z.enum([\"Inside\", \"Center\", \"Outside\"]);\nexport const BorderStyle = z.enum([\"Dashed\", \"Dotted\", \"Solid\", \"Groove\"]);\n\nexport const BorderValue = z.object({\n color: ColorTokenData,\n width: BorderWidthTokenData,\n position: BorderPosition,\n style: BorderStyle.optional(),\n});\n\nexport const BorderTokenData = tokenAliasOrValue(BorderValue);\n\nexport type BorderPosition = z.infer<typeof BorderPosition>;\nexport type BorderStyle = z.infer<typeof BorderStyle>;\nexport type BorderValue = z.infer<typeof BorderValue>;\nexport type BorderTokenData = z.infer<typeof BorderTokenData>;\n","import { z } from \"zod\";\nimport { TokenDataAliasSchema, tokenAliasOrValue } from \"./base\";\nimport { OpacityTokenData } from \"./opacity\";\n\nexport const ColorValue = z.object({\n opacity: OpacityTokenData,\n color: z.string().or(TokenDataAliasSchema),\n});\n\nexport const ColorTokenData = tokenAliasOrValue(ColorValue);\n\nexport type ColorValue = z.infer<typeof ColorValue>;\nexport type ColorTokenData = z.infer<typeof ColorTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const OpacityValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const OpacityTokenData = tokenAliasOrValue(OpacityValue);\n\nexport type OpacityValue = z.infer<typeof OpacityValue>;\nexport type OpacityTokenData = z.infer<typeof OpacityTokenData>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers/nullish-to-optional\";\nimport { FigmaComponentPropertyMap } from \"../component-properties\";\n\nexport const ComponentElementData = z.object({\n value: z.object({\n thumbnailImage: z.object({\n value: z.object({\n url: z.string(),\n assetId: z.string(),\n }),\n }),\n\n svg: z\n .object({\n value: z.object({\n url: z.string(),\n assetId: z.string(),\n }),\n })\n .optional(),\n\n parentComponentPersistentId: nullishToOptional(z.string()),\n componentPropertyDefinitions: nullishToOptional(FigmaComponentPropertyMap),\n variantPropertyValues: nullishToOptional(z.record(z.string())),\n renderNodeId: nullishToOptional(z.string()),\n }),\n});\n\nexport type ComponentElementData = z.infer<typeof ComponentElementData>;\n","import { z } from \"zod\";\n\nexport const FigmaComponentPropertyType = z.enum([\"Boolean\", \"InstanceSwap\", \"Variant\", \"Text\"]);\n\n//\n// Definitions\n//\n\nexport const FigmaComponentPropertyOrigin = z.object({\n id: z.string(),\n});\n\nconst FigmaComponentPropertyBase = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const FigmaComponentInstancePreview = z.object({\n componentName: z.string(),\n componentSetName: z.string().optional(),\n isRemote: z.boolean(),\n});\n\nexport const FigmaComponentBooleanProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Boolean),\n defaultValue: z.boolean(),\n});\n\nexport const FigmaComponentInstanceSwapProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.InstanceSwap),\n defaultValue: z.string(),\n defaultValuePreview: FigmaComponentInstancePreview.optional(),\n});\n\nexport const FigmaComponentVariantProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Variant),\n defaultValue: z.string(),\n options: z.array(z.string()),\n});\n\nexport const FigmaComponentTextProperty = FigmaComponentPropertyBase.extend({\n type: z.literal(FigmaComponentPropertyType.enum.Text),\n id: z.string(),\n defaultValue: z.string(),\n});\n\nexport const FigmaComponentProperty = z.discriminatedUnion(\"type\", [\n FigmaComponentBooleanProperty,\n FigmaComponentInstanceSwapProperty,\n FigmaComponentTextProperty,\n FigmaComponentVariantProperty,\n]);\n\nexport const FigmaComponentPropertyMap = z.record(z.string(), FigmaComponentProperty);\n\nexport type FigmaComponentInstancePreview = z.infer<typeof FigmaComponentInstancePreview>;\nexport type FigmaComponentPropertyType = z.infer<typeof FigmaComponentPropertyType>;\nexport type FigmaComponentBooleanProperty = z.infer<typeof FigmaComponentBooleanProperty>;\nexport type FigmaComponentInstanceSwapProperty = z.infer<typeof FigmaComponentInstanceSwapProperty>;\nexport type FigmaComponentVariantProperty = z.infer<typeof FigmaComponentVariantProperty>;\nexport type FigmaComponentTextProperty = z.infer<typeof FigmaComponentTextProperty>;\nexport type FigmaComponentProperty = z.infer<typeof FigmaComponentProperty>;\nexport type FigmaComponentPropertyMap = z.infer<typeof FigmaComponentPropertyMap>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { areShallowObjectsEqual, mapByUnique } from \"../../../utils\";\nimport { ColorTokenInlineData } from \"../../properties\";\nimport { Size } from \"../primitives\";\nimport { DesignTokenType } from \"../raw-element\";\nimport { DimensionTokenData } from \"./dimension\";\n\n//\n// Enums\n//\n\nexport const PageBlockCalloutType = z.enum([\"Info\", \"Primary\", \"Success\", \"Warning\", \"Error\"]);\n\nexport const PageBlockTypeV1 = z.enum([\n \"Text\",\n \"Heading\",\n \"Code\",\n \"UnorderedList\",\n \"OrderedList\",\n \"Quote\",\n \"Callout\",\n \"Divider\",\n \"Image\",\n \"Embed\",\n \"Link\",\n \"Shortcuts\",\n \"FigmaEmbed\",\n \"YoutubeEmbed\",\n \"StorybookEmbed\",\n \"Token\",\n \"TokenGroup\",\n \"TokenList\",\n \"Component\",\n \"ComponentGroup\",\n \"Theme\",\n \"ComponentSandbox\",\n \"Custom\",\n \"FigmaFrames\",\n \"ComponentAssets\",\n \"ComponentAssetGroup\",\n \"RenderCode\",\n \"Tabs\",\n \"TabItem\",\n \"Table\",\n \"TableRow\",\n \"TableCell\",\n \"Guidelines\",\n \"Guideline\",\n \"FigmaComponents\",\n \"FigmaComponentPropsTable\",\n \"Files\",\n]);\n\nexport const PageBlockCodeLanguage = z.enum([\n \"Angular\",\n \"Bash\",\n \"C\",\n \"Cpp\",\n \"Csharp\",\n \"CSS\",\n \"Dart\",\n \"Handlebars\",\n \"HTML\",\n \"Java\",\n \"Javascript\",\n \"JSON\",\n \"ReactJSX\",\n \"ReactTSX\",\n \"Kotlin\",\n \"Lua\",\n \"Markdown\",\n \"ObjectiveC\",\n \"PHP\",\n \"Plain\",\n \"Python\",\n \"Ruby\",\n \"Rust\",\n \"Sass\",\n \"SCSS\",\n \"Svetle\",\n \"Swift\",\n \"Twig\",\n \"Typescript\",\n \"Vue\",\n \"XML\",\n \"YAML\",\n]);\n\nexport const PageBlockAlignment = z.enum([\"Left\", \"Center\", \"Stretch\", \"Right\"]);\nexport const PageBlockThemeType = z.enum([\"Override\", \"Comparison\"]);\nexport const PageBlockTokenNameFormat = z.enum([\"Name\", \"GroupAndName\", \"FullPath\", \"CustomProperty\"]);\nexport const PageBlockAssetType = z.enum([\"image\", \"figmaFrame\"]);\n\nexport const PageBlockTilesAlignment = z.enum([\"Center\", \"FrameHeight\"]);\n\nexport const PageBlockTilesLayout = z.enum([\"C8\", \"C7\", \"C6\", \"C5\", \"C4\", \"C3\", \"C2\", \"C1\", \"C1_75\"]);\n\n//\n// Support types\n//\n\nexport const PageBlockTheme = z.object({\n themeIds: z.array(z.string()),\n type: PageBlockThemeType,\n});\n\nexport const PageBlockSwatch = z.object({\n id: z.string(),\n selectedThemeIds: z.string().array(),\n});\n\nexport const PageBlockUrlPreview = z.object({\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n thumbnailUrl: nullishToOptional(z.string()),\n});\n\nexport const PageBlockFrameOrigin = z.object({\n sourceFileName: nullishToOptional(z.string()),\n title: nullishToOptional(z.string()),\n previewUrl: nullishToOptional(z.string()),\n valid: nullishToOptional(z.boolean()),\n referenceId: nullishToOptional(z.string()),\n assetId: nullishToOptional(z.string()),\n assetScale: nullishToOptional(z.number()),\n width: nullishToOptional(z.number()),\n height: nullishToOptional(z.number()),\n});\n\nexport const PageBlockFrame = z.object({\n persistentId: z.string(),\n sourceId: z.string(),\n sourceFrameId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n origin: nullishToOptional(PageBlockFrameOrigin),\n});\n\nexport const PageBlockAsset = z.object({\n type: PageBlockAssetType,\n id: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n figmaFrame: nullishToOptional(PageBlockFrame),\n});\n\nexport const PageBlockLinkPreview = z.object({\n title: nullishToOptional(z.string()),\n valid: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockShortcut = z.object({\n persistentId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n asset: nullishToOptional(PageBlockAsset),\n documentationItemId: nullishToOptional(z.string()),\n pageHeadingId: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n openInNewTab: nullishToOptional(z.boolean()),\n urlPreview: nullishToOptional(PageBlockUrlPreview),\n documentationItemPreview: nullishToOptional(PageBlockLinkPreview),\n});\n\nexport const PageBlockCustomBlockPropertyImageValue = z.object({\n asset: nullishToOptional(PageBlockAsset),\n assetId: nullishToOptional(z.string()),\n assetUrl: nullishToOptional(z.string()),\n});\n\nexport const PageBlockCustomBlockPropertyValue = z.object({\n key: z.string(),\n value: z.any(),\n});\n\nexport const PageBlockFigmaFrameProperties = z.object({\n color: nullishToOptional(\n z.object({\n value: z.string(),\n })\n ),\n alignment: PageBlockTilesAlignment,\n previewContainerHeight: nullishToOptional(z.number()),\n layout: PageBlockTilesLayout,\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n showTitles: z.boolean(),\n});\n\nexport const PageBlockRenderCodeProperties = z.object({\n showCode: z.boolean(),\n showControls: z.boolean().optional(),\n});\n\nexport const PageBlockAssetComponent = z.object({\n persistentId: z.string(),\n componentAssetId: z.string(),\n title: nullishToOptional(z.string()),\n description: nullishToOptional(z.string()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n});\n\nexport const PageBlockTableColumn = z.object({\n id: z.string(),\n width: DimensionTokenData,\n});\n\nexport const PageBlockTableProperties = z.object({\n showBorders: z.boolean(),\n showHeaderRow: z.boolean(),\n showHeaderColumn: z.boolean(),\n columns: z.array(PageBlockTableColumn),\n});\n\nexport const PageBlockFigmaComponentBlockConfig = z.object({\n showComponentName: nullishToOptional(z.boolean()),\n showComponentDescription: nullishToOptional(z.boolean()),\n showPropertyList: nullishToOptional(z.boolean()),\n previewOrderIds: nullishToOptional(z.array(z.string())),\n previewContainerSize: nullishToOptional(z.enum([\"Centered\", \"NaturalHeight\"])),\n previewContainerHeight: nullishToOptional(z.number()),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n});\n\nexport const PageBlockTokenBlockConfig = z.object({\n tokenNameFormat: nullishToOptional(PageBlockTokenNameFormat),\n tokenNameCustomPropertyId: nullishToOptional(z.string()),\n});\n\nexport const PageBlockAssetBlockConfig = z.object({\n showSearch: nullishToOptional(z.boolean()),\n showAssetDescription: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockSelectedFigmaComponent = z.object({\n figmaComponentId: z.string(),\n selectedComponentProperties: z.string().array(),\n selectedComponentVariants: z.record(z.string().array()).optional(),\n});\n\nexport const PageBlockStorybookItem = z.object({\n entityId: z.string().optional(),\n embed: z\n .object({\n inputUrl: z.string(),\n embedUrl: z.string(),\n })\n .optional(),\n entityMeta: z\n .object({\n caption: z.string().optional(),\n height: z.number().optional(),\n hiddenProps: z.array(z.string()).optional(),\n propValues: z.record(z.unknown()).optional(),\n })\n .optional(),\n});\n\nexport const PageBlockStorybookBlockConfig = z.object({\n value: PageBlockStorybookItem.array(),\n\n showCode: z.boolean().optional(),\n showFooter: z.boolean().optional(),\n showProperties: z.boolean().optional(),\n showDescription: z.boolean().optional(),\n showDefaults: z.boolean().optional(),\n});\n\n//\n// Rich text\n//\n\nexport const PageBlockTextSpanAttributeType = z.enum([\"Bold\", \"Italic\", \"Link\", \"Strikethrough\", \"Code\", \"Comment\"]);\n\nexport const PageBlockTextSpanAttribute = z.object({\n type: PageBlockTextSpanAttributeType,\n\n // Link attributes\n link: nullishToOptional(z.string()),\n documentationItemId: nullishToOptional(z.string()),\n\n /** @deprecated use openInNewTab */\n openInNewWindow: nullishToOptional(z.boolean()),\n openInNewTab: nullishToOptional(z.boolean()),\n\n // Comment attributes\n commentHighlightId: nullishToOptional(z.string()),\n commentIsResolved: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockTextSpan = z.object({\n text: z.string(),\n attributes: z.array(PageBlockTextSpanAttribute),\n});\n\nexport const PageBlockText = z.object({\n spans: z.array(PageBlockTextSpan),\n});\n\nexport const PageBlockGuideline = z.object({\n description: nullishToOptional(z.string()),\n asset: nullishToOptional(PageBlockAsset),\n type: z.string(),\n imageAlt: nullishToOptional(z.string()),\n imageCaption: nullishToOptional(z.string()),\n imageAlignment: nullishToOptional(PageBlockAlignment),\n openLightbox: nullishToOptional(z.boolean()),\n isBordered: nullishToOptional(z.boolean()),\n});\n\nexport const PageBlockFile = z.object({\n entityId: z.string(),\n entityMeta: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n })\n .optional(),\n});\n\nexport type PageBlockCalloutType = z.infer<typeof PageBlockCalloutType>;\nexport type PageBlockCodeLanguage = z.infer<typeof PageBlockCodeLanguage>;\nexport type PageBlockAlignment = z.infer<typeof PageBlockAlignment>;\nexport type PageBlockThemeType = z.infer<typeof PageBlockThemeType>;\nexport type PageBlockAssetType = z.infer<typeof PageBlockAssetType>;\nexport type PageBlockTilesAlignment = z.infer<typeof PageBlockTilesAlignment>;\nexport type PageBlockTilesLayout = z.infer<typeof PageBlockTilesLayout>;\nexport type PageBlockTextSpanAttributeType = z.infer<typeof PageBlockTextSpanAttributeType>;\n\nexport type PageBlockTypeV1 = z.infer<typeof PageBlockTypeV1>;\nexport type PageBlockTextSpanAttribute = z.infer<typeof PageBlockTextSpanAttribute>;\nexport type PageBlockTextSpan = z.infer<typeof PageBlockTextSpan>;\nexport type PageBlockText = z.infer<typeof PageBlockText>;\nexport type PageBlockGuideline = z.infer<typeof PageBlockGuideline>;\nexport type PageBlockFrame = z.infer<typeof PageBlockFrame>;\nexport type PageBlockFrameOrigin = z.infer<typeof PageBlockFrameOrigin>;\nexport type PageBlockAsset = z.infer<typeof PageBlockAsset>;\nexport type PageBlockTableColumn = z.infer<typeof PageBlockTableColumn>;\nexport type PageBlockTheme = z.infer<typeof PageBlockTheme>;\nexport type PageBlockSwatch = z.infer<typeof PageBlockSwatch>;\nexport type PageBlockShortcut = z.infer<typeof PageBlockShortcut>;\nexport type PageBlockCustomBlockPropertyValue = z.infer<typeof PageBlockCustomBlockPropertyValue>;\nexport type PageBlockCustomBlockPropertyImageValue = z.infer<typeof PageBlockCustomBlockPropertyImageValue>;\nexport type PageBlockFigmaComponentBlockConfig = z.infer<typeof PageBlockFigmaComponentBlockConfig>;\nexport type PageBlockTokenNameFormat = z.infer<typeof PageBlockTokenNameFormat>;\n\n//\n// Block\n//\n\nexport const PageBlockBaseV1 = z.object({\n persistentId: z.string(),\n type: PageBlockTypeV1,\n\n // V2 generic attributes\n numberOfColumns: nullishToOptional(z.number()),\n itemBackgroundColor: nullishToOptional(ColorTokenInlineData),\n\n // Element linking\n designObjectId: nullishToOptional(z.string()),\n designObjectIds: nullishToOptional(z.array(z.string())),\n tokenType: nullishToOptional(DesignTokenType.or(z.literal(\"Font\"))),\n showNestedGroups: nullishToOptional(z.boolean()),\n brandId: nullishToOptional(z.string()),\n\n // Rich text\n text: nullishToOptional(PageBlockText),\n caption: nullishToOptional(z.string()),\n headingType: nullishToOptional(z.number().min(1).max(3)),\n codeLanguage: nullishToOptional(PageBlockCodeLanguage),\n calloutType: nullishToOptional(PageBlockCalloutType),\n urlInput: nullishToOptional(z.string()),\n url: nullishToOptional(z.string()),\n urlPreview: nullishToOptional(PageBlockUrlPreview),\n\n // Image\n asset: nullishToOptional(PageBlockAsset),\n alignment: nullishToOptional(PageBlockAlignment),\n imageAlt: nullishToOptional(z.string()),\n openLightbox: nullishToOptional(z.boolean()),\n isBordered: nullishToOptional(z.boolean()),\n\n // Shortcuts block\n shortcuts: nullishToOptional(z.array(PageBlockShortcut)),\n\n // Guidelines\n guideline: nullishToOptional(PageBlockGuideline),\n\n // Custom blocks\n customBlockKey: nullishToOptional(z.string()),\n customBlockProperties: nullishToOptional(z.array(PageBlockCustomBlockPropertyValue)),\n variantKey: nullishToOptional(z.string()),\n\n // Figma frames\n figmaFrameProperties: nullishToOptional(PageBlockFigmaFrameProperties),\n figmaFrames: nullishToOptional(z.array(PageBlockFrame)),\n\n // Generic\n size: nullishToOptional(Size),\n backgroundColor: nullishToOptional(ColorTokenInlineData),\n\n // Render code\n renderCodeProperties: nullishToOptional(PageBlockRenderCodeProperties),\n\n // Component assets\n componentAssets: nullishToOptional(z.array(PageBlockAssetComponent)),\n\n // Tables\n tableProperties: nullishToOptional(PageBlockTableProperties),\n columnId: nullishToOptional(z.string()),\n\n // Design tokens\n theme: nullishToOptional(PageBlockTheme),\n swatches: nullishToOptional(PageBlockSwatch.array()),\n blacklistedElementProperties: nullishToOptional(z.array(z.string())),\n tokenBlockConfig: nullishToOptional(PageBlockTokenBlockConfig),\n\n // (Vector) assets\n assetBlockConfig: nullishToOptional(PageBlockAssetBlockConfig),\n\n // Figma components\n figmaComponentsBlockConfig: nullishToOptional(PageBlockFigmaComponentBlockConfig),\n selectedFigmaComponent: nullishToOptional(PageBlockSelectedFigmaComponent),\n selectedFigmaComponents: nullishToOptional(PageBlockSelectedFigmaComponent.array()),\n\n // Arbitrary\n userMetadata: nullishToOptional(z.string()),\n\n // Storybook\n storybookBlockConfig: nullishToOptional(PageBlockStorybookBlockConfig),\n\n // Files\n files: nullishToOptional(PageBlockFile.array()),\n});\n\ntype PageBlockV1Input = z.input<typeof PageBlockBaseV1> & {\n children: PageBlockV1Input[] | null | undefined;\n};\n\nexport const PageBlockV1: z.ZodType<PageBlockV1, z.ZodTypeDef, PageBlockV1Input> = PageBlockBaseV1.extend({\n children: z.lazy(\n () =>\n PageBlockV1.array()\n .nullish()\n .transform(t => t ?? []) as z.ZodType<PageBlockV1[], z.ZodTypeDef, PageBlockV1Input[]>\n ),\n});\n\nexport type PageBlockV1 = z.infer<typeof PageBlockBaseV1> & {\n children: PageBlockV1[];\n};\n\n//\n// Utility methods\n//\n\nexport function traversePageBlocksV1(blocks: PageBlockV1[], action: (block: PageBlockV1) => void) {\n for (const block of blocks) {\n action(block);\n traversePageBlocksV1(block.children, action);\n }\n}\n\nexport function removeCommentSpans(text: PageBlockText): PageBlockText {\n const { spans, ...rest } = text;\n\n const newSpans = spans.map(s => {\n return {\n ...s,\n attributes: s.attributes.filter(a => a.type !== \"Comment\"),\n };\n });\n\n const updatedRichText = {\n ...rest,\n spans: newSpans,\n };\n\n return joinRepeatingSpans(updatedRichText);\n}\n\nexport function joinRepeatingSpans(text: PageBlockText): PageBlockText {\n if (text.spans.length < 2) return text;\n\n // Make sure spans are clean before comparing them\n text = sanitizeSpans(text);\n const { spans, ...rest } = text;\n\n let previousSpan = { ...spans[0] };\n const newSpans = [previousSpan];\n\n for (let i = 1; i < spans.length; i++) {\n const span = spans[i];\n if (areAttributesEqual(span.attributes, previousSpan.attributes)) {\n previousSpan.text += span.text;\n } else {\n previousSpan = { ...span };\n newSpans.push(previousSpan);\n }\n }\n\n return {\n ...rest,\n spans: newSpans,\n };\n}\n\nfunction areAttributesEqual(lhs: PageBlockTextSpanAttribute[], rhs: PageBlockTextSpanAttribute[]) {\n if (lhs.length !== rhs.length) return false;\n\n const lhsMap = mapByUnique(lhs, i => i.type);\n for (const rhsAttribute of rhs) {\n const lhsAttribute = lhsMap.get(rhsAttribute.type);\n if (!areShallowObjectsEqual(lhsAttribute, rhsAttribute)) return false;\n }\n\n return true;\n}\n\nfunction sanitizeSpans(text: PageBlockText): PageBlockText {\n const { spans, ...rest } = text;\n\n return {\n ...rest,\n spans: spans.map(s => {\n const { attributes, ...rest } = s;\n\n return {\n ...rest,\n attributes: attributes.map(sanitizeSpanAttribute),\n };\n }),\n };\n}\n\nfunction sanitizeSpanAttribute(attribute: PageBlockTextSpanAttribute): PageBlockTextSpanAttribute {\n switch (attribute.type) {\n case \"Bold\":\n return { type: \"Bold\" };\n case \"Code\":\n return { type: \"Code\" };\n case \"Strikethrough\":\n return { type: \"Strikethrough\" };\n case \"Italic\":\n return { type: \"Italic\" };\n case \"Comment\":\n const { commentHighlightId, commentIsResolved } = attribute;\n const isCommentIsResolvedDefined = commentIsResolved !== undefined && commentIsResolved !== null;\n\n return {\n type: \"Comment\",\n ...(isCommentIsResolvedDefined && { commentIsResolved }),\n ...(commentHighlightId && { commentHighlightId }),\n };\n case \"Link\":\n const { documentationItemId, link, openInNewTab, openInNewWindow } = attribute;\n const isOpenInNewTabDefined = openInNewTab !== undefined && openInNewTab !== null;\n const isOpenInNewWindowDefined = openInNewWindow !== undefined && openInNewWindow !== null;\n\n return {\n type: \"Link\",\n ...(isOpenInNewTabDefined && { openInNewTab }),\n ...(isOpenInNewWindowDefined && { openInNewWindow }),\n ...(documentationItemId && { documentationItemId }),\n ...(link && { link }),\n };\n }\n}\n","export type SupernovaExceptionType =\n | \"AccessDenied\"\n | \"ResourceNotFound\"\n | \"WrongFormat\"\n | \"TooMuchWork\"\n | \"Timeout\"\n | \"Conflict\"\n | \"NotImplemented\"\n | \"BadRequest\"\n | \"WrongActionOrder\"\n | \"InvalidOperation\"\n | \"UnexpectedError\"\n | \"IPRestricted\"\n | \"PlanRestricted\"\n | \"MissingWorkspacePermission\"\n | \"MissingExporterPermission\"\n | \"MissingIntegration\"\n | \"MissingIntegrationAccess\"\n | \"NoAccess\"\n | \"MissingCredentials\"\n | \"ValidationError\"\n | \"ThirdPartyError\"\n | \"UserDeactivated\";\n\nexport class SupernovaException extends Error {\n static wrongFormat(message?: string): SupernovaException {\n return new SupernovaException(\"WrongFormat\", message);\n }\n\n static validationError(message?: string): SupernovaException {\n return new SupernovaException(\"ValidationError\", message);\n }\n\n static accessDenied(message?: string): SupernovaException {\n return new SupernovaException(\"AccessDenied\", message);\n }\n\n static tooMuchWork(message?: string): SupernovaException {\n return new SupernovaException(\"TooMuchWork\", message);\n }\n\n static notFound(message?: string): SupernovaException {\n return new SupernovaException(\"ResourceNotFound\", message);\n }\n\n static timeout(message?: string): SupernovaException {\n return new SupernovaException(\"Timeout\", message);\n }\n\n static conflict(message?: string): SupernovaException {\n return new SupernovaException(\"Conflict\", message);\n }\n\n static notImplemented(message?: string): SupernovaException {\n return new SupernovaException(\"NotImplemented\", message);\n }\n\n static wrongActionOrder(message?: string): SupernovaException {\n return new SupernovaException(\"WrongActionOrder\", message);\n }\n\n static invalidOperation(message?: string): SupernovaException {\n return new SupernovaException(\"InvalidOperation\", message);\n }\n\n static shouldNotHappen(message?: string): SupernovaException {\n return new SupernovaException(\"UnexpectedError\", message);\n }\n\n static ipRestricted(message?: string): SupernovaException {\n return new SupernovaException(\"IPRestricted\", message);\n }\n\n static planRestricted(message?: string): SupernovaException {\n return new SupernovaException(\"PlanRestricted\", message);\n }\n\n static missingWorkspacePermission(message?: string): SupernovaException {\n return new SupernovaException(\"MissingWorkspacePermission\", message);\n }\n\n static missingExporterPermission(message?: string): SupernovaException {\n return new SupernovaException(\"MissingExporterPermission\", message);\n }\n\n static missingIntegration(message?: string): SupernovaException {\n return new SupernovaException(\"MissingIntegration\", message);\n }\n\n static missingIntegrationAccess(message?: string): SupernovaException {\n return new SupernovaException(\"MissingIntegrationAccess\", message);\n }\n\n static noAccess(message?: string): SupernovaException {\n return new SupernovaException(\"NoAccess\", message);\n }\n\n static missingCredentials(message?: string): SupernovaException {\n return new SupernovaException(\"MissingCredentials\", message);\n }\n\n static thirdPartyError(message?: string): SupernovaException {\n return new SupernovaException(\"ThirdPartyError\", message);\n }\n\n static userDeactivated(message?: string): SupernovaException {\n return new SupernovaException(\"UserDeactivated\", message);\n }\n\n //\n // To refactor\n //\n\n static badRequest(message?: string): SupernovaException {\n return new SupernovaException(\"BadRequest\", message);\n }\n\n //\n // Properties\n //\n\n constructor(readonly type: SupernovaExceptionType, message?: string) {\n const fullMessage = message || `${type}: something went wrong`;\n super(fullMessage);\n }\n}\n\nexport function errorToString(error: unknown) {\n if (error instanceof Error) {\n const errorAny = error as any;\n const stderr = (errorAny.result?.stderr ?? errorAny.stderr ?? \"\").trim();\n const stdout = (errorAny.result?.stdout ?? errorAny.stdout ?? \"\").trim();\n const output = [stderr, stdout].filter(Boolean).join(\"\\n\");\n\n return output ? `${error.message}\\n${output}` : error.message;\n }\n return String(error);\n}\n","import { SupernovaException } from \"./errors\";\n\nexport type OmitStrict<T, K extends keyof T> = T extends any ? Pick<T, Exclude<keyof T, K>> : never;\n\nexport type Nullish<T> = T | null | undefined;\n\nexport type ExplicitPartial<T> = { [P in keyof T]: T[P] | undefined };\n\n// Magic as far as I'm concerned.\n// Taken from https://stackoverflow.com/a/50375286/3229534\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;\n\n// This utility lets T be indexed by any key\ntype Indexify<T> = T & { [str: string]: undefined };\n\n// To make a type where all values are undefined, so that in AllUnionKeys<T>\n// TS doesn't remove the keys whose values are incompatible, e.g. string & number\ntype UndefinedVals<T> = { [K in keyof T]: undefined };\n\n// This returns a union of all keys present across all members of the union T\ntype AllUnionKeys<T> = keyof UnionToIntersection<UndefinedVals<T>>;\n\n// Where the (rest of the) magic happens ✨\nexport type AllFields<T> = { [K in AllUnionKeys<T> & string]: Indexify<T>[K] };\n\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n\nexport type Defined<T> = T extends null | undefined ? never : T;\n\n// Makes specific properties in the type required\nexport type WithRequired<T, K extends keyof T> = T & { [P in K]-?: T[P] };\n\ntype PickOptional<T> = {\n [P in keyof T as undefined extends T[P] ? P : never]: T[P];\n};\n\ntype PickNotOptional<T> = {\n [P in keyof T as undefined extends T[P] ? never : P]: T[P];\n};\n\nexport type OptionalToNullable<T> = {\n [K in keyof PickOptional<T>]-?: Exclude<T[K], undefined> | null;\n} & {\n [K in keyof PickNotOptional<T>]: T[K];\n};\n\nexport function forceUnwrapNullish<T>(value: Nullish<T>): T {\n if (value === null) throw new Error(\"Illegal null\");\n if (value === undefined) throw new Error(\"Illegal undefined\");\n return value;\n}\n\nexport function trimLeadingSlash(string: string): string {\n return string.startsWith(\"/\") ? string.substring(1) : string;\n}\n\nexport function trimTrailingSlash(string: string): string {\n return string.endsWith(\"/\") ? string.substring(0, string.length - 1) : string;\n}\n\nexport function tryParseUrl(url: string): URL | null {\n try {\n return parseUrl(url);\n } catch (e) {\n console.error(`Error parsing URL ${url}`);\n console.error(e);\n return null;\n }\n}\n\nexport function parseUrl(url: string): URL {\n return new URL(url.startsWith(\"https://\") || url.startsWith(\"http://\") ? url : `https://${url}`);\n}\n\nexport function mapByUnique<V, K>(items: Iterable<V>, keyFn: (item: V) => K): Map<K, V> {\n const result = new Map<K, V>();\n for (const item of items) {\n result.set(keyFn(item), item);\n }\n return result;\n}\n\nexport function groupBy<V, K>(items: V[], keyFn: (item: V) => K): Map<K, V[]> {\n const result = new Map<K, V[]>();\n\n for (const item of items) {\n const key = keyFn(item);\n const array = result.get(key);\n if (array) {\n array.push(item);\n } else {\n result.set(key, [item]);\n }\n }\n\n return result;\n}\n\nexport function filterNonNullish<T>(items: Nullish<T>[]): T[] {\n return items.filter(Boolean) as T[];\n}\n\nexport function nonNullishFilter<T>(item: Nullish<T>): item is T {\n return !!item;\n}\n\nexport function nonNullFilter<T>(item: T | null): item is T {\n return item !== null;\n}\n\nexport type ArrayElementType<T extends Default[], Default = any> = T extends (infer U)[] ? U : Default;\n\nexport function buildConstantEnum<Inferred extends ArrayElementType<Passed>[], Passed extends string[]>(\n values: Inferred\n): { [key in Inferred[number]]: key } {\n const constMap = values.reduce((acc, code) => ({ ...acc, [code]: code }), {});\n\n return constMap as { [key in Inferred[number]]: key };\n}\n\nexport async function promiseWithTimeout<T>(\n timeoutMs: number,\n promise: () => Promise<T>,\n onTimeout?: () => Error\n): Promise<T> {\n let timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeoutHandle = setTimeout(() => reject(onTimeout?.() ?? SupernovaException.timeout()), timeoutMs);\n });\n\n const result = await Promise.race([promise(), timeoutPromise]);\n\n clearTimeout(timeoutHandle);\n return result;\n}\n\nexport async function sleep(ms: number): Promise<void> {\n return new Promise(resolve => {\n setTimeout(resolve, ms);\n });\n}\n\nexport function uniqueBy<K, V>(items: V[], prop: (v: V) => K): V[] {\n return Array.from(mapByUnique(items, prop).values());\n}\n\nexport function areShallowObjectsEqual<T extends object>(lhs: T | undefined, rhs: T | undefined) {\n if ((lhs === undefined) !== (rhs === undefined)) return false;\n if (lhs === undefined || rhs === undefined) return true;\n\n if ((lhs === null) !== (rhs === null)) return false;\n if (lhs === null || rhs === null) return true;\n\n for (const key in lhs) {\n if (!(key in rhs) || lhs[key] !== rhs[key]) {\n return false;\n }\n }\n\n for (const key in rhs) {\n if (!(key in lhs)) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function isNotNullish<T>(value: T | null | undefined): value is T {\n return !isNullish(value);\n}\n\nexport function isNullish<T>(value: T | null | undefined): value is null | undefined {\n return value === null || value === undefined;\n}\n\nexport function hasProperty<K extends string>(prop: K) {\n return <T extends { [key in K]?: unknown }>(obj: T): obj is T & Required<Pick<T, K>> => {\n return obj[prop] !== null && obj[prop] !== undefined;\n };\n}\n\nexport function hasTruthyProperty<K extends string>(prop: K) {\n return <T extends Record<K, unknown>>(obj: T): obj is T & Record<K, NonNullable<T[K]>> => {\n return !!obj[prop];\n };\n}\n\nexport function chunkedArray<V>(array: V[], chunkSize: number): V[][] {\n const result: V[][] = [];\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize));\n }\n return result;\n}\n\nexport function recordToMap<V>(record: Record<string, V>): Map<string, V> {\n const map = new Map<string, V>();\n for (const [k, v] of Object.entries(record)) map.set(k, v);\n return map;\n}\n\n/**\n * Applies direct properties from `update` to `object`.\n *\n * - In case a property is not defined in `update`, it `object` will retain the current one\n * - In case a property is null in `update`, it will be removed from `object`\n *\n * @param object base object to perform updates on\n * @param update source of property updates\n * @returns object by merging updates from `update` into `object`\n */\nexport function applyShallowObjectUpdate<T>(object: T, update: Partial<OptionalToNullable<T>>): T {\n const objectShallowCopy = { ...object };\n\n for (const [key, value] of Object.entries(update)) {\n if (value === null) {\n // @ts-expect-error it's very hard to get typescript to believe that the types will match\n objectShallowCopy[key] = undefined;\n } else if (value !== undefined) {\n // @ts-expect-error it's very hard to get typescript to believe that the types will match\n objectShallowCopy[key] = value;\n }\n }\n\n return objectShallowCopy;\n}\n\nexport type Pagination = {\n skip?: number;\n take?: number;\n};\n\nexport type DefinedProps<T> = {\n [K in keyof T as undefined extends T[K] ? never : K]: Exclude<T[K], undefined>;\n};\n\n/**\n * Returns a shallow copy of the input object with only properties that are not `undefined`.\n *\n * @param obj - The input object whose properties may include `undefined` values.\n * @returns A new object containing only the properties from the original object that have defined (non-undefined) values.\n */\nexport function pickDefined<T extends object>(obj: T): Partial<DefinedProps<T>> {\n return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v !== undefined)) as Partial<DefinedProps<T>>;\n}\n","import { z } from \"zod\";\n\nexport const ContentLoadInstruction = z.object({\n from: z.string(),\n to: z.string(),\n authorizationHeaderKvsId: z.string().optional(),\n timeout: z.number().optional(),\n});\n\nexport type ContentLoadInstruction = z.infer<typeof ContentLoadInstruction>;\n\nexport const ContentLoaderPayload = z\n .object({\n type: z.literal(\"Single\"),\n instruction: ContentLoadInstruction,\n })\n .or(\n z.object({\n type: z.literal(\"Multiple\"),\n loadingChunkSize: z.number().optional(),\n instructions: z.array(ContentLoadInstruction),\n })\n )\n .or(\n z.object({\n type: z.literal(\"S3\"),\n location: z.string(),\n })\n );\n\nexport type ContentLoaderPayload = z.infer<typeof ContentLoaderPayload>;\n","import { z } from \"zod\";\n\nexport const GitInteropPulsarError = z.object({\n errorType: z.string(),\n errorMessage: z.string(),\n trace: z.array(z.string()),\n});\nexport type GitInteropPulsarError = z.infer<typeof GitInteropPulsarError>;\n","// this has been ported from the Dart cloud app\nexport function getCodenameFromText(name: string): string {\n // Turn all characters with diacritics into their simple form (ě -> e, ö -> o, etc.)\n let codeName = removeDiacritics(name);\n\n // Remove all invalid characters\n codeName = codeName.replace(/[^a-zA-Z0-9$_ ]+/g, \"\");\n // Remove all starting numbers\n codeName = codeName.replace(/^[0-9 ]+/g, \"\");\n // Change to CamelCase\n codeName = toCamelCase(codeName.toLowerCase());\n // Remove all spaces\n codeName = codeName.replace(/ /g, \"\");\n\n if (codeName) {\n // Lowercase the first letter\n codeName = codeName.charAt(0).toLowerCase() + codeName.slice(1);\n }\n\n return codeName;\n}\n\nfunction toCamelCase(str: string): string {\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, function (match, index) {\n if (+match === 0) return \"\"; // or if (/\\s+/.test(match)) for white spaces\n return index === 0 ? match.toLowerCase() : match.toUpperCase();\n });\n}\n\nfunction removeDiacritics(str: string): string {\n const diacriticsMap = [\n {\n base: \"A\",\n letters:\n /[\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F]/g,\n },\n { base: \"AA\", letters: /[\\uA732]/g },\n { base: \"AE\", letters: /[\\u00C6\\u01FC\\u01E2]/g },\n { base: \"AO\", letters: /[\\uA734]/g },\n { base: \"AU\", letters: /[\\uA736]/g },\n { base: \"AV\", letters: /[\\uA738\\uA73A]/g },\n { base: \"AY\", letters: /[\\uA73C]/g },\n {\n base: \"B\",\n letters: /[\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181]/g,\n },\n {\n base: \"C\",\n letters: /[\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E]/g,\n },\n /* ... */\n {\n base: \"Z\",\n letters: /[\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762]/g,\n },\n {\n base: \"a\",\n letters:\n /[\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250]/g,\n },\n /* ... */\n {\n base: \"z\",\n letters: /[\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763]/g,\n },\n ];\n\n diacriticsMap.forEach(diacritic => {\n str = str.replace(diacritic.letters, diacritic.base);\n });\n\n return str;\n}\n","const shortPersistentIdLength = 8;\nconst alphanumeric = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\";\n\nexport function generateShortPersistentId() {\n return generateAlphanumericId(shortPersistentIdLength);\n}\n\nfunction generateAlphanumericId(length: number): string {\n let randomString = \"\";\n\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * alphanumeric.length);\n randomString += alphanumeric.charAt(randomIndex);\n }\n\n return randomString;\n}\n","import slugifyImplementation from \"@sindresorhus/slugify\";\n\nexport function slugify(str: string, options?: slugifyImplementation.Options): string {\n const slug = slugifyImplementation(str ?? \"\", options);\n return slug?.length > 0 ? slug : \"item\";\n}\n\nexport const RESERVED_SLUGS = [\n \"workspaces\",\n \"workspace\",\n \"api0\",\n \"api1\",\n \"api2\",\n \"custom\",\n \"x-sn-reserved\",\n // further elements copied from https://github.com/shouldbee/reserved-usernames/blob/master/reserved-usernames.json\n\n \"0\",\n \"about\",\n \"access\",\n \"account\",\n \"accounts\",\n \"activate\",\n \"activities\",\n \"activity\",\n \"ad\",\n \"add\",\n \"address\",\n \"adm\",\n \"admin\",\n \"administration\",\n \"administrator\",\n \"ads\",\n \"adult\",\n \"advertising\",\n \"affiliate\",\n \"affiliates\",\n \"ajax\",\n \"all\",\n \"alpha\",\n \"analysis\",\n \"analytics\",\n \"android\",\n \"anon\",\n \"anonymous\",\n \"api\",\n \"app\",\n \"apps\",\n \"archive\",\n \"archives\",\n \"article\",\n \"asct\",\n \"asset\",\n \"assets\",\n \"atom\",\n \"auth\",\n \"authentication\",\n \"avatar\",\n \"backup\",\n \"balancer-manager\",\n \"banner\",\n \"banners\",\n \"beta\",\n \"billing\",\n \"bin\",\n \"blog\",\n \"blogs\",\n \"board\",\n \"book\",\n \"bookmark\",\n \"bot\",\n \"bots\",\n \"bug\",\n \"business\",\n \"cache\",\n \"cadastro\",\n \"calendar\",\n \"call\",\n \"campaign\",\n \"cancel\",\n \"captcha\",\n \"career\",\n \"careers\",\n \"cart\",\n \"categories\",\n \"category\",\n \"cgi\",\n \"cgi-bin\",\n \"changelog\",\n \"chat\",\n \"check\",\n \"checking\",\n \"checkout\",\n \"client\",\n \"cliente\",\n \"clients\",\n \"code\",\n \"codereview\",\n \"comercial\",\n \"comment\",\n \"comments\",\n \"communities\",\n \"community\",\n \"company\",\n \"compare\",\n \"compras\",\n \"config\",\n \"configuration\",\n \"connect\",\n \"contact\",\n \"contact-us\",\n \"contact_us\",\n \"contactus\",\n \"contest\",\n \"contribute\",\n \"corp\",\n \"create\",\n \"css\",\n \"dashboard\",\n \"data\",\n \"db\",\n \"default\",\n \"delete\",\n \"demo\",\n \"design\",\n \"designer\",\n \"destroy\",\n \"dev\",\n \"devel\",\n \"developer\",\n \"developers\",\n \"diagram\",\n \"diary\",\n \"dict\",\n \"dictionary\",\n \"die\",\n \"dir\",\n \"direct_messages\",\n \"directory\",\n \"dist\",\n \"doc\",\n \"docs\",\n \"documentation\",\n \"domain\",\n \"download\",\n \"downloads\",\n \"ecommerce\",\n \"edit\",\n \"editor\",\n \"edu\",\n \"education\",\n \"email\",\n \"employment\",\n \"empty\",\n \"end\",\n \"enterprise\",\n \"entries\",\n \"entry\",\n \"error\",\n \"errors\",\n \"eval\",\n \"event\",\n \"exit\",\n \"explore\",\n \"facebook\",\n \"faq\",\n \"favorite\",\n \"favorites\",\n \"feature\",\n \"features\",\n \"feed\",\n \"feedback\",\n \"feeds\",\n \"file\",\n \"files\",\n \"first\",\n \"flash\",\n \"fleet\",\n \"fleets\",\n \"flog\",\n \"follow\",\n \"followers\",\n \"following\",\n \"forgot\",\n \"form\",\n \"forum\",\n \"forums\",\n \"founder\",\n \"free\",\n \"friend\",\n \"friends\",\n \"ftp\",\n \"gadget\",\n \"gadgets\",\n \"game\",\n \"games\",\n \"get\",\n \"ghost\",\n \"gift\",\n \"gifts\",\n \"gist\",\n \"github\",\n \"graph\",\n \"group\",\n \"groups\",\n \"guest\",\n \"guests\",\n \"help\",\n \"home\",\n \"homepage\",\n \"host\",\n \"hosting\",\n \"hostmaster\",\n \"hostname\",\n \"howto\",\n \"hpg\",\n \"html\",\n \"http\",\n \"httpd\",\n \"https\",\n \"i\",\n \"iamges\",\n \"icon\",\n \"icons\",\n \"id\",\n \"idea\",\n \"ideas\",\n \"image\",\n \"images\",\n \"imap\",\n \"img\",\n \"index\",\n \"indice\",\n \"info\",\n \"information\",\n \"inquiry\",\n \"instagram\",\n \"intranet\",\n \"invitations\",\n \"invite\",\n \"ipad\",\n \"iphone\",\n \"irc\",\n \"is\",\n \"issue\",\n \"issues\",\n \"it\",\n \"item\",\n \"items\",\n \"java\",\n \"javascript\",\n \"job\",\n \"jobs\",\n \"join\",\n \"js\",\n \"json\",\n \"jump\",\n \"knowledgebase\",\n \"language\",\n \"languages\",\n \"last\",\n \"ldap-status\",\n \"legal\",\n \"license\",\n \"link\",\n \"links\",\n \"linux\",\n \"list\",\n \"lists\",\n \"log\",\n \"log-in\",\n \"log-out\",\n \"log_in\",\n \"log_out\",\n \"login\",\n \"logout\",\n \"logs\",\n \"m\",\n \"mac\",\n \"mail\",\n \"mail1\",\n \"mail2\",\n \"mail3\",\n \"mail4\",\n \"mail5\",\n \"mailer\",\n \"mailing\",\n \"maintenance\",\n \"manager\",\n \"manual\",\n \"map\",\n \"maps\",\n \"marketing\",\n \"master\",\n \"me\",\n \"media\",\n \"member\",\n \"members\",\n \"message\",\n \"messages\",\n \"messenger\",\n \"microblog\",\n \"microblogs\",\n \"mine\",\n \"mis\",\n \"mob\",\n \"mobile\",\n \"movie\",\n \"movies\",\n \"mp3\",\n \"msg\",\n \"msn\",\n \"music\",\n \"musicas\",\n \"mx\",\n \"my\",\n \"mysql\",\n \"name\",\n \"named\",\n \"nan\",\n \"navi\",\n \"navigation\",\n \"net\",\n \"network\",\n \"new\",\n \"news\",\n \"newsletter\",\n \"nick\",\n \"nickname\",\n \"notes\",\n \"noticias\",\n \"notification\",\n \"notifications\",\n \"notify\",\n \"ns\",\n \"ns1\",\n \"ns10\",\n \"ns2\",\n \"ns3\",\n \"ns4\",\n \"ns5\",\n \"ns6\",\n \"ns7\",\n \"ns8\",\n \"ns9\",\n \"null\",\n \"oauth\",\n \"oauth_clients\",\n \"offer\",\n \"offers\",\n \"official\",\n \"old\",\n \"online\",\n \"openid\",\n \"operator\",\n \"order\",\n \"orders\",\n \"organization\",\n \"organizations\",\n \"overview\",\n \"owner\",\n \"owners\",\n \"page\",\n \"pager\",\n \"pages\",\n \"panel\",\n \"password\",\n \"payment\",\n \"perl\",\n \"phone\",\n \"photo\",\n \"photoalbum\",\n \"photos\",\n \"php\",\n \"phpmyadmin\",\n \"phppgadmin\",\n \"phpredisadmin\",\n \"pic\",\n \"pics\",\n \"ping\",\n \"plan\",\n \"plans\",\n \"plugin\",\n \"plugins\",\n \"policy\",\n \"pop\",\n \"pop3\",\n \"popular\",\n \"portal\",\n \"post\",\n \"postfix\",\n \"postmaster\",\n \"posts\",\n \"pr\",\n \"premium\",\n \"press\",\n \"price\",\n \"pricing\",\n \"privacy\",\n \"privacy-policy\",\n \"privacy_policy\",\n \"privacypolicy\",\n \"private\",\n \"product\",\n \"products\",\n \"profile\",\n \"project\",\n \"projects\",\n \"promo\",\n \"pub\",\n \"public\",\n \"purpose\",\n \"put\",\n \"python\",\n \"query\",\n \"random\",\n \"ranking\",\n \"read\",\n \"readme\",\n \"recent\",\n \"recruit\",\n \"recruitment\",\n \"register\",\n \"registration\",\n \"release\",\n \"remove\",\n \"replies\",\n \"report\",\n \"reports\",\n \"repositories\",\n \"repository\",\n \"req\",\n \"request\",\n \"requests\",\n \"reset\",\n \"roc\",\n \"root\",\n \"rss\",\n \"ruby\",\n \"rule\",\n \"sag\",\n \"sale\",\n \"sales\",\n \"sample\",\n \"samples\",\n \"save\",\n \"school\",\n \"script\",\n \"scripts\",\n \"search\",\n \"secure\",\n \"security\",\n \"self\",\n \"send\",\n \"server\",\n \"server-info\",\n \"server-status\",\n \"service\",\n \"services\",\n \"session\",\n \"sessions\",\n \"setting\",\n \"settings\",\n \"setup\",\n \"share\",\n \"shop\",\n \"show\",\n \"sign-in\",\n \"sign-up\",\n \"sign_in\",\n \"sign_up\",\n \"signin\",\n \"signout\",\n \"signup\",\n \"site\",\n \"sitemap\",\n \"sites\",\n \"smartphone\",\n \"smtp\",\n \"soporte\",\n \"source\",\n \"spec\",\n \"special\",\n \"sql\",\n \"src\",\n \"ssh\",\n \"ssl\",\n \"ssladmin\",\n \"ssladministrator\",\n \"sslwebmaster\",\n \"staff\",\n \"stage\",\n \"staging\",\n \"start\",\n \"stat\",\n \"state\",\n \"static\",\n \"stats\",\n \"status\",\n \"store\",\n \"stores\",\n \"stories\",\n \"style\",\n \"styleguide\",\n \"stylesheet\",\n \"stylesheets\",\n \"subdomain\",\n \"subscribe\",\n \"subscriptions\",\n \"suporte\",\n \"support\",\n \"svn\",\n \"swf\",\n \"sys\",\n \"sysadmin\",\n \"sysadministrator\",\n \"system\",\n \"tablet\",\n \"tablets\",\n \"tag\",\n \"talk\",\n \"task\",\n \"tasks\",\n \"team\",\n \"teams\",\n \"tech\",\n \"telnet\",\n \"term\",\n \"terms\",\n \"terms-of-service\",\n \"terms_of_service\",\n \"termsofservice\",\n \"test\",\n \"test1\",\n \"test2\",\n \"test3\",\n \"teste\",\n \"testing\",\n \"tests\",\n \"theme\",\n \"themes\",\n \"thread\",\n \"threads\",\n \"tmp\",\n \"todo\",\n \"tool\",\n \"tools\",\n \"top\",\n \"topic\",\n \"topics\",\n \"tos\",\n \"tour\",\n \"translations\",\n \"trends\",\n \"tutorial\",\n \"tux\",\n \"tv\",\n \"twitter\",\n \"undef\",\n \"unfollow\",\n \"unsubscribe\",\n \"update\",\n \"upload\",\n \"uploads\",\n \"url\",\n \"usage\",\n \"user\",\n \"username\",\n \"users\",\n \"usuario\",\n \"vendas\",\n \"ver\",\n \"version\",\n \"video\",\n \"videos\",\n \"visitor\",\n \"watch\",\n \"weather\",\n \"web\",\n \"webhook\",\n \"webhooks\",\n \"webmail\",\n \"webmaster\",\n \"website\",\n \"websites\",\n \"welcome\",\n \"widget\",\n \"widgets\",\n \"wiki\",\n \"win\",\n \"windows\",\n \"word\",\n \"work\",\n \"works\",\n \"workshop\",\n \"ww\",\n \"wws\",\n \"www\",\n \"www1\",\n \"www2\",\n \"www3\",\n \"www4\",\n \"www5\",\n \"www6\",\n \"www7\",\n \"wwws\",\n \"wwww\",\n \"xfn\",\n \"xml\",\n \"xmpp\",\n \"xpg\",\n \"xxx\",\n \"yaml\",\n \"year\",\n \"yml\",\n \"you\",\n \"yourdomain\",\n \"yourname\",\n \"yoursite\",\n \"yourusername\",\n \"latest\",\n \"live\",\n \"preview\",\n \"learn\",\n \"supernova\",\n \"super-nova\",\n];\n\nconst RESERVED_SLUGS_SET = new Set(RESERVED_SLUGS);\n\nexport const RESERVED_SLUG_PREFIX = \"x-sn-reserved-\";\n\nconst isSlugReservedInternal = (slug: string) => slug?.startsWith(RESERVED_SLUG_PREFIX);\nexport function isSlugReserved(slug: string) {\n return RESERVED_SLUGS_SET.has(slug) || isSlugReservedInternal(slug);\n}\n","// Consists of lowercased letters, digits and hyphens.\n// Can not start or end with hyphen.\n// Warning: does not forbid consecutive hyphens\nexport const slugRegex = /^[a-z0-9][a-z0-9-]*[a-z0-9]$/;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ElementPropertyTypeSchema = z.enum([\"Text\", \"Number\", \"Boolean\", \"Select\", \"Generic\", \"Link\", \"URL\"]);\nexport const ElementPropertyTargetType = z.enum([\"Token\", \"Component\", \"DocumentationPage\"]);\nexport const ElementPropertyLinkType = z.enum([\"FigmaComponent\", \"DocumentationPage\"]);\nexport const ElementPropertyImmutableType = z.enum([\"Collection\"]);\n\nconst CODE_NAME_REGEX = /^[a-zA-Z_$][a-zA-Z_$0-9]{1,99}$/;\n\nexport const ColorTokenInlineData = z.object({\n value: z.string(),\n});\n\nexport const ElementPropertyDefinitionOption = z.object({\n id: z.string(),\n name: z.string(),\n backgroundColor: ColorTokenInlineData.optional(),\n});\n\nexport const ElementPropertyDefinition = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n name: z.string(),\n codeName: z.string().regex(CODE_NAME_REGEX),\n description: z.string(),\n type: ElementPropertyTypeSchema,\n targetElementType: ElementPropertyTargetType,\n options: z.array(ElementPropertyDefinitionOption).optional(),\n linkElementType: ElementPropertyLinkType.optional(),\n});\n\nexport type ElementPropertyType = z.infer<typeof ElementPropertyTypeSchema>;\nexport const ElementPropertyType = ElementPropertyTypeSchema.enum;\n\nexport type ElementPropertyTargetType = z.infer<typeof ElementPropertyTargetType>;\nexport type ElementPropertyLinkType = z.infer<typeof ElementPropertyLinkType>;\nexport type ElementPropertyImmutableType = z.infer<typeof ElementPropertyImmutableType>;\nexport type ColorTokenInlineData = z.infer<typeof ColorTokenInlineData>;\nexport type ElementPropertyDefinitionOption = z.infer<typeof ElementPropertyDefinitionOption>;\nexport type ElementPropertyDefinition = z.infer<typeof ElementPropertyDefinition>;\n\nexport type CreateElementPropertyDefinition = DbCreateInputOmit<ElementPropertyDefinition> & {\n columnWidth?: number;\n};\n\nexport type UpdateElementPropertyDefinition = OmitStrict<\n DbUpdate<ElementPropertyDefinition>,\n \"designSystemVersionId\" | \"targetElementType\" | \"type\" | \"linkElementType\"\n>;\n\nexport type ElementPropertyDefinitionDiff = {\n toCreate: CreateElementPropertyDefinition[];\n toUpdate: UpdateElementPropertyDefinition[];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ElementPropertyValue = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n targetElementPersistentId: z.string(),\n definitionPersistentId: z.string(),\n stringValue: z.string().nullish(),\n numberValue: z.number().nullish(),\n booleanValue: z.boolean().nullish(),\n referenceValue: z.string().nullish(),\n referenceValuePreview: z.string().optional(),\n});\n\nexport type ElementPropertyValue = z.infer<typeof ElementPropertyValue>;\n\nexport type CreateElementPropertyValue = DbCreateInputOmit<ElementPropertyValue>;\nexport type UpdateElementPropertyValue = OmitStrict<\n DbUpdate<ElementPropertyValue>,\n \"designSystemVersionId\" | \"definitionPersistentId\" | \"targetElementPersistentId\"\n>;\n\nexport type ElementPropertyValueDiff = {\n toCreate: CreateElementPropertyValue[];\n toUpdate: UpdateElementPropertyValue[];\n toDelete: ElementPropertyValue[];\n};\n","import { z } from \"zod\";\n\nexport const Point2D = z.object({\n x: z.number(),\n y: z.number(),\n});\n\nexport type Point2D = z.infer<typeof Point2D>;\n","import { z } from \"zod\";\n\nconst nullSize = { height: -1, width: -1 };\n\nfunction isNullSize(size: Size): boolean {\n return size.height === nullSize.height && size.width === nullSize.width;\n}\n\nexport const Size = z.object({\n width: z\n .number()\n .nullish()\n .transform(v => v ?? nullSize.width),\n\n height: z\n .number()\n .nullish()\n .transform(v => v ?? nullSize.height),\n});\n\nexport const SizeOrUndefined = Size.optional().transform(v => {\n if (!v) return undefined;\n if (isNullSize(v)) return undefined;\n\n return v;\n});\n\nexport type Size = z.infer<typeof Size>;\n","import { z } from \"zod\";\nimport { ObjectMeta } from \"../../common\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport type CreateDesignElement = DbCreateInputOmit<DesignElement>;\nexport type UpdateDesignElement = OmitStrict<\n DbUpdate<DesignElement>,\n \"brandPersistentId\" | \"childType\" | \"designSystemVersionId\" | \"shortPersistentId\"\n>;\n\n//\n// Token types\n//\n\nexport const DesignTokenType = z.enum([\n \"Color\",\n \"Border\",\n \"Gradient\",\n \"Shadow\",\n \"Dimension\",\n \"Duration\",\n \"Size\",\n \"Space\",\n \"Opacity\",\n \"FontSize\",\n \"LineHeight\",\n \"LetterSpacing\",\n \"ParagraphSpacing\",\n \"BorderWidth\",\n \"BorderRadius\",\n \"ZIndex\",\n \"Image\",\n \"String\",\n \"ProductCopy\",\n \"FontFamily\",\n \"FontWeight\",\n \"TextDecoration\",\n \"TextCase\",\n \"Visibility\",\n \"Typography\",\n \"Blur\",\n \"Font\",\n]);\n\nexport const tokenElementTypes: DesignTokenType[] = [...DesignTokenType.options.filter(v => v !== \"Font\")];\n\nexport type DesignTokenType = z.infer<typeof DesignTokenType>;\n\n//\n// Non-token types\n//\n\nexport const DesignElementType = DesignTokenType.or(\n z.enum([\n \"Component\",\n \"Theme\",\n \"Documentation\",\n \"DocumentationPage\",\n \"DesignSystemComponent\",\n \"ElementGroup\",\n \"FigmaNodeStructure\",\n \"FigmaNodeReference\",\n \"PageBlock\",\n ])\n);\n\nexport type DesignElementType = z.infer<typeof DesignElementType>;\n\nexport function isTokenType(type: DesignElementType): type is DesignTokenType {\n return DesignTokenType.safeParse(type).success;\n}\n\nconst numberTokenTypes: Set<DesignTokenType> = new Set([\n \"Dimension\",\n \"Duration\",\n \"Size\",\n \"Space\",\n \"Opacity\",\n \"FontSize\",\n \"LineHeight\",\n \"LetterSpacing\",\n \"ParagraphSpacing\",\n \"BorderWidth\",\n \"BorderRadius\",\n \"ZIndex\",\n] satisfies DesignTokenType[]);\n\nconst stringTokenTypes: Set<DesignTokenType> = new Set([\n \"String\",\n \"ProductCopy\",\n \"FontFamily\",\n \"FontWeight\",\n] satisfies DesignTokenType[]);\n\nconst fallbackNumberValue = 14;\n\nexport function areTokenTypesCompatible(\n lhs: DesignTokenType,\n rhs: DesignTokenType,\n isNonCompatibleTypeChangesEnabled = false\n): boolean {\n if (lhs === rhs) return true;\n if (numberTokenTypes.has(lhs) && numberTokenTypes.has(rhs)) return true;\n if (stringTokenTypes.has(lhs) && stringTokenTypes.has(rhs)) return true;\n\n if (isNonCompatibleTypeChangesEnabled && stringTokenTypes.has(lhs) && numberTokenTypes.has(rhs)) return true;\n\n return false;\n}\n\nexport function castStringToDimensionValue(lhs: DesignTokenType, rhs: DesignTokenType, value?: unknown) {\n if (stringTokenTypes.has(lhs) && numberTokenTypes.has(rhs) && value) {\n const newValue = Number.parseFloat(value?.toString() ?? \"\");\n const measure = Number.isNaN(newValue) ? fallbackNumberValue : newValue;\n return { unit: \"Pixels\", measure };\n }\n\n return value;\n}\n\n//\n// Element category\n//\n\nexport const DesignElementCategory = z.enum([\n \"Token\",\n \"Component\",\n \"DesignSystemComponent\",\n \"DocumentationPage\",\n \"Theme\",\n \"PageBlock\",\n]);\n\nexport type DesignElementCategory = z.infer<typeof DesignElementCategory>;\n\n// Elements\n\nexport const DesignSystemElementExportProps = z.object({\n isAsset: z\n .boolean()\n .nullish()\n .transform(v => v ?? false),\n\n codeName: z.string().nullish(),\n});\n\nexport type DesignSystemElementExportProps = z.infer<typeof DesignSystemElementExportProps>;\n\nexport const ShallowDesignElement = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n type: DesignElementType,\n brandPersistentId: z.string().optional(),\n collectionPersistentId: z.string().optional(),\n parentPersistentId: z.string().optional(),\n shortPersistentId: z.string().optional(),\n childType: DesignElementType.optional(),\n sortOrder: z.number(),\n origin: z.record(z.any()).optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const DesignElement = ShallowDesignElement.extend({\n meta: ObjectMeta,\n slug: z.string().optional(),\n userSlug: z.string().optional(),\n exportProperties: DesignSystemElementExportProps.optional(),\n data: z.record(z.any()),\n origin: z.record(z.any()).optional(),\n});\n\nexport type ShallowDesignElement = z.infer<typeof ShallowDesignElement>;\nexport type DesignElement = z.infer<typeof DesignElement>;\n\nexport const HierarchicalElements = DesignTokenType.or(\n z.enum([\"Component\", \"DesignSystemComponent\", \"DocumentationPage\"])\n);\n\nexport type HierarchicalElements = z.infer<typeof HierarchicalElements>;\n","import { z } from \"zod\";\nimport { PageBlockDefinitionMultiRichTextPropertyStyle } from \"../../documentation/block-definitions/item\";\nimport { DesignTokenType } from \"../raw-element\";\nimport {\n PageBlockCalloutType,\n PageBlockCodeLanguage,\n PageBlockText,\n PageBlockTokenNameFormat,\n} from \"./documentation-block-v1\";\n\n//\n// Enums\n//\n\nexport const PageBlockLinkType = z.enum([\"DocumentationItem\", \"PageHeading\", \"Url\"]);\nexport const PageBlockImageType = z.enum([\"Resource\", \"FigmaNode\"]);\nexport const PageBlockImageAlignment = z.enum([\"Left\", \"Center\", \"Stretch\"]);\nexport const PageBlockTableCellAlignment = z.enum([\"Left\", \"Center\", \"Right\"]);\nexport const PageBlockPreviewContainerSize = z.enum([\"Centered\", \"NaturalHeight\"]);\nexport const PageBlockThemeDisplayMode = z.enum([\"Split\", \"Override\"]);\nexport const PageBlockTokenValueFormat = z.enum([\"ResolvedValue\", \"ReferenceName\", \"NoValue\"]);\n\nexport type PageBlockLinkType = z.infer<typeof PageBlockLinkType>;\nexport type PageBlockImageType = z.infer<typeof PageBlockImageType>;\nexport type PageBlockImageAlignment = z.infer<typeof PageBlockImageAlignment>;\nexport type PageBlockTableCellAlignment = z.infer<typeof PageBlockTableCellAlignment>;\nexport type PageBlockPreviewContainerSize = z.infer<typeof PageBlockPreviewContainerSize>;\nexport type PageBlockThemeDisplayMode = z.infer<typeof PageBlockThemeDisplayMode>;\nexport type PageBlockTokenValueFormat = z.infer<typeof PageBlockTokenValueFormat>;\n\n//\n// Definitions - Block\n//\n\nexport const PageBlockImageResourceReference = z.object({\n resourceId: z.string(),\n url: z.string(),\n});\n\nexport const PageBlockResourceFrameNodeReference = z.object({\n sourceId: z.string(),\n frameReferenceId: z.string(),\n});\n\nexport const PageBlockImageReference = z.object({\n type: PageBlockImageType,\n\n resource: PageBlockImageResourceReference.optional(),\n figmaNode: PageBlockResourceFrameNodeReference.optional(),\n});\n\nexport const PageBlockColorV2 = z.object({\n value: z.string(),\n referencedTokenId: z.string().optional(),\n});\n\nexport const PageBlockAssetEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n showNestedGroups: z.boolean().optional(),\n});\n\nexport const PageBlockFigmaComponentEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n selectedComponentProperties: z.array(z.string()).optional(),\n});\n\nexport const PageBlockFigmaNodeEntityMeta = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n});\n\nexport const PageBlockAppearanceV2 = z.object({\n itemBackgroundColor: PageBlockColorV2.optional(),\n numberOfColumns: z.number().optional(),\n});\n\nexport const PageBlockItemUntypedValue = z\n .object({\n value: z.any(),\n })\n .and(z.record(z.any()));\n\nexport const PageBlockLinkV2 = z.object({\n type: PageBlockLinkType,\n documentationItemId: z.string().optional(),\n pageHeadingId: z.string().optional(),\n url: z.string().optional(),\n openInNewTab: z.boolean().optional(),\n});\n\nexport const PageBlockItemV2 = z.object({\n id: z.string(),\n linksTo: PageBlockLinkV2.optional(),\n props: z.record(PageBlockItemUntypedValue),\n});\n\nexport const PageBlockDataV2 = z.object({\n packageId: z.string(),\n variantId: z.string().optional(),\n indentLevel: z.number(),\n appearance: PageBlockAppearanceV2.optional(),\n items: z.array(PageBlockItemV2),\n});\n\nexport type PageBlockImageResourceReference = z.infer<typeof PageBlockImageResourceReference>;\nexport type PageBlockResourceFrameNodeReference = z.infer<typeof PageBlockResourceFrameNodeReference>;\nexport type PageBlockImageReference = z.infer<typeof PageBlockImageReference>;\nexport type PageBlockColorV2 = z.infer<typeof PageBlockColorV2>;\nexport type PageBlockAssetEntityMeta = z.infer<typeof PageBlockAssetEntityMeta>;\nexport type PageBlockFigmaComponentEntityMeta = z.infer<typeof PageBlockFigmaComponentEntityMeta>;\nexport type PageBlockFigmaNodeEntityMeta = z.infer<typeof PageBlockFigmaNodeEntityMeta>;\nexport type PageBlockAppearanceV2 = z.infer<typeof PageBlockAppearanceV2>;\nexport type PageBlockItemUntypedValue = z.infer<typeof PageBlockItemUntypedValue>;\nexport type PageBlockLinkV2 = z.infer<typeof PageBlockLinkV2>;\nexport type PageBlockItemV2 = z.infer<typeof PageBlockItemV2>;\nexport type PageBlockDataV2 = z.infer<typeof PageBlockDataV2>;\n\n//\n// Definitions - Typed Values\n//\n\nexport const PageBlockItemAssetValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n showSearch: z.boolean().optional(),\n showAssetDescription: z.boolean().optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Asset\", \"AssetGroup\"]),\n entityMeta: PageBlockAssetEntityMeta.optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemAssetPropertyValue = z.object({\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemFigmaComponentValue = z.object({\n showComponentName: z.boolean().optional(),\n showComponentDescription: z.boolean().optional(),\n showPropertyList: z.boolean().optional(),\n previewOrderIds: z.array(z.string()).optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"FigmaComponent\"]),\n entityMeta: z\n .object({\n selectedComponentProperties: z.string().array().optional(),\n selectedComponentVariants: z.record(z.string().array()).optional(),\n })\n .optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemBooleanValue = z.object({\n value: z.boolean(),\n});\n\nexport const PageBlockItemCodeValue = z.object({\n format: PageBlockCodeLanguage.optional(),\n caption: z.string().optional(),\n value: z.string(),\n});\n\nexport const PageBlockItemSandboxValue = z.object({\n showCode: z.boolean().optional(),\n showControls: z.boolean().optional(),\n backgroundColor: z.string().optional(),\n alignPreview: z.enum([\"Left\", \"Center\"]).optional(),\n previewHeight: z.number().optional(),\n value: z.string(),\n});\n\nexport const PageBlockItemColorValue = z.record(z.any());\n\nexport const PageBlockItemComponentValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedBrandId: z.string().optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Component\", \"ComponentGroup\"]),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemComponentPropertyValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemDividerValue = z.object({});\n\nexport const PageBlockItemEmbedValue = z.object({\n value: z.string().optional(),\n caption: z.string().optional(),\n height: z.number().optional(),\n alt: z.string().optional(),\n openGraph: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n imageUrl: z.string().optional(),\n })\n .optional(),\n});\n\nexport const PageBlockItemFigmaNodeValue = z.object({\n showSearch: z.boolean().optional(),\n previewContainerSize: PageBlockPreviewContainerSize.optional(),\n previewContainerHeight: z.number().optional(),\n backgroundColor: PageBlockColorV2.optional(),\n showFrameDetails: z.boolean().optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityMeta: PageBlockFigmaNodeEntityMeta.optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemImageValue = z.object({\n alt: z.string().optional(),\n caption: z.string().optional(),\n alignment: PageBlockImageAlignment.optional(),\n openLightbox: z.boolean().optional(),\n isBordered: z.boolean().optional(),\n value: PageBlockImageReference.optional(),\n});\n\nexport const PageBlockItemMarkdownValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemMultiRichTextValue = z.object({\n value: PageBlockText.array(),\n});\n\nexport const PageBlockItemMultiSelectValue = z.object({\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemNumberValue = z.object({\n value: z.number(),\n});\n\nexport const PageBlockItemRichTextValue = z.object({\n value: PageBlockText,\n calloutType: PageBlockCalloutType.optional(),\n});\n\nexport const PageBlockItemSingleSelectValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemStorybookValueOld = z.object({\n value: z.string().optional(),\n caption: z.string().optional(),\n height: z.number().optional(),\n embedUrl: z.string().optional(),\n\n storyId: z.string().optional(),\n sourceId: z.string().optional(),\n});\n\nexport const PageBlockItemStorybookValue = z.object({\n value: z\n .array(\n z.object({\n entityId: z.string().optional(),\n embed: z\n .object({\n inputUrl: z.string(),\n embedUrl: z.string(),\n })\n .optional(),\n entityMeta: z\n .object({\n caption: z.string().optional(),\n height: z.number().optional(),\n hiddenProps: z.array(z.string()).optional(),\n propValues: z.record(z.unknown()).optional(),\n })\n .optional(),\n })\n )\n .optional(),\n showCode: z.boolean().optional(),\n showFooter: z.boolean().optional(),\n showProperties: z.boolean().optional(),\n showDescription: z.boolean().optional(),\n showDefaults: z.boolean().optional(),\n});\n\nexport const PageBlockItemTextValue = z.object({\n value: z.string(),\n});\n\nexport const PageBlockItemSwatch = z.object({\n id: z.string(),\n selectedThemeIds: z.string().array(),\n});\n\nexport const PageBlockItemTokenValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedThemeIds: z.array(z.string()).optional(),\n swatches: z.array(PageBlockItemSwatch).optional(),\n themeDisplayMode: PageBlockThemeDisplayMode.optional(),\n tokenNameFormat: PageBlockTokenNameFormat.optional(),\n tokenNameCustomPropertyId: z.string().optional(),\n tokenValueFormat: PageBlockTokenValueFormat.optional(),\n value: z\n .array(\n z.object({\n entityId: z.string(),\n entityType: z.enum([\"Token\", \"TokenGroup\"]),\n entityMeta: z\n .object({\n showNestedGroups: z.boolean().optional(),\n })\n .optional(),\n })\n )\n .default([]),\n});\n\nexport const PageBlockItemFileValue = z.object({\n value: z\n .object({\n entityId: z.string(),\n entityMeta: z\n .object({\n title: z.string().optional(),\n description: z.string().optional(),\n })\n .optional(),\n })\n .array(),\n});\n\nexport const PageBlockItemTokenPropertyValue = z.object({\n selectedPropertyIds: z.array(z.string()).optional(),\n selectedThemeIds: z.array(z.string()).optional(),\n value: z.array(z.string()).default([]),\n});\n\nexport const PageBlockItemTokenTypeValue = z.object({\n value: z.array(DesignTokenType).default([]),\n});\n\nexport const PageBlockItemUrlValue = z.object({\n value: z.string(),\n});\n\nexport type PageBlockItemAssetValue = z.infer<typeof PageBlockItemAssetValue>;\nexport type PageBlockItemAssetPropertyValue = z.infer<typeof PageBlockItemAssetPropertyValue>;\nexport type PageBlockItemFigmaComponentValue = z.infer<typeof PageBlockItemFigmaComponentValue>;\nexport type PageBlockItemBooleanValue = z.infer<typeof PageBlockItemBooleanValue>;\nexport type PageBlockItemCodeValue = z.infer<typeof PageBlockItemCodeValue>;\nexport type PageBlockItemSandboxValue = z.infer<typeof PageBlockItemSandboxValue>;\nexport type PageBlockItemColorValue = z.infer<typeof PageBlockItemColorValue>;\nexport type PageBlockItemComponentValue = z.infer<typeof PageBlockItemComponentValue>;\nexport type PageBlockItemComponentPropertyValue = z.infer<typeof PageBlockItemComponentPropertyValue>;\nexport type PageBlockItemDividerValue = z.infer<typeof PageBlockItemDividerValue>;\nexport type PageBlockItemEmbedValue = z.infer<typeof PageBlockItemEmbedValue>;\nexport type PageBlockItemFigmaNodeValue = z.infer<typeof PageBlockItemFigmaNodeValue>;\nexport type PageBlockItemImageValue = z.infer<typeof PageBlockItemImageValue>;\nexport type PageBlockItemMarkdownValue = z.infer<typeof PageBlockItemMarkdownValue>;\nexport type PageBlockItemMultiRichTextValue = z.infer<typeof PageBlockItemMultiRichTextValue>;\nexport type PageBlockItemMultiSelectValue = z.infer<typeof PageBlockItemMultiSelectValue>;\nexport type PageBlockItemNumberValue = z.infer<typeof PageBlockItemNumberValue>;\nexport type PageBlockItemRichTextValue = z.infer<typeof PageBlockItemRichTextValue>;\nexport type PageBlockItemSingleSelectValue = z.infer<typeof PageBlockItemSingleSelectValue>;\nexport type PageBlockItemStorybookValueOld = z.infer<typeof PageBlockItemStorybookValueOld>;\nexport type PageBlockItemStorybookValue = z.infer<typeof PageBlockItemStorybookValue>;\nexport type PageBlockItemTextValue = z.infer<typeof PageBlockItemTextValue>;\nexport type PageBlockItemSwatch = z.infer<typeof PageBlockItemSwatch>;\nexport type PageBlockItemTokenValue = z.infer<typeof PageBlockItemTokenValue>;\nexport type PageBlockItemTokenPropertyValue = z.infer<typeof PageBlockItemTokenPropertyValue>;\nexport type PageBlockItemTokenTypeValue = z.infer<typeof PageBlockItemTokenTypeValue>;\nexport type PageBlockItemUrlValue = z.infer<typeof PageBlockItemUrlValue>;\nexport type PageBlockItemFileValue = z.infer<typeof PageBlockItemFileValue>;\n\n//\n// Definitions - Rich text editor value\n//\n\nexport const PageBlockItemRichTextEditorParagraphNode = z.object({\n type: z.literal(\"Paragraph\"),\n value: PageBlockItemRichTextValue.shape.value,\n});\n\nexport const PageBlockItemRichTextEditorListNode = z.object({\n type: z.literal(\"List\"),\n listType: PageBlockDefinitionMultiRichTextPropertyStyle,\n value: PageBlockItemMultiRichTextValue.shape.value,\n});\n\nexport const PageBlockItemRichTextEditorNode = z.discriminatedUnion(\"type\", [\n PageBlockItemRichTextEditorParagraphNode,\n PageBlockItemRichTextEditorListNode,\n]);\n\nexport const PageBlockItemRichTextEditorValue = z.object({\n value: PageBlockItemRichTextEditorNode.array(),\n});\n\nexport type PageBlockItemRichTextEditorParagraphNode = z.infer<typeof PageBlockItemRichTextEditorParagraphNode>;\nexport type PageBlockItemRichTextEditorListNode = z.infer<typeof PageBlockItemRichTextEditorListNode>;\nexport type PageBlockItemRichTextEditorNode = z.infer<typeof PageBlockItemRichTextEditorNode>;\nexport type PageBlockItemRichTextEditorValue = z.infer<typeof PageBlockItemRichTextEditorValue>;\n\n//\n// Definitions - Table Value\n//\n\nexport const PageBlockItemTableRichTextNode = z.object({\n type: z.literal(\"RichText\"),\n id: z.string(),\n value: PageBlockItemRichTextValue.shape.value,\n});\n\nexport const PageBlockItemTableImageNode = z.object({\n type: z.literal(\"Image\"),\n id: z.string(),\n caption: PageBlockItemImageValue.shape.caption,\n alt: PageBlockItemImageValue.shape.alt,\n value: PageBlockItemImageValue.shape.value,\n alignment: PageBlockItemImageValue.shape.alignment,\n openLightbox: PageBlockItemImageValue.shape.openLightbox,\n isBordered: PageBlockItemImageValue.shape.isBordered,\n});\n\nexport const PageBlockItemTableNode = z.discriminatedUnion(\"type\", [\n PageBlockItemTableRichTextNode,\n PageBlockItemTableImageNode,\n]);\n\nexport const PageBlockItemTableCell = z.object({\n id: z.string(),\n nodes: z.array(PageBlockItemTableNode),\n columnWidth: z.number().optional(),\n alignment: PageBlockTableCellAlignment,\n});\n\nexport const PageBlockItemTableRow = z.object({\n cells: z.array(PageBlockItemTableCell),\n});\n\nexport const PageBlockItemTableValue = z.object({\n highlightHeaderColumn: z.boolean().optional(),\n highlightHeaderRow: z.boolean().optional(),\n showBorder: z.boolean().optional(),\n value: z.array(PageBlockItemTableRow).default([]),\n});\n\nexport type PageBlockItemTableRichTextNode = z.infer<typeof PageBlockItemTableRichTextNode>;\nexport type PageBlockItemTableImageNode = z.infer<typeof PageBlockItemTableImageNode>;\nexport type PageBlockItemTableNode = z.infer<typeof PageBlockItemTableNode>;\nexport type PageBlockItemTableCell = z.infer<typeof PageBlockItemTableCell>;\nexport type PageBlockItemTableRow = z.infer<typeof PageBlockItemTableRow>;\nexport type PageBlockItemTableValue = z.infer<typeof PageBlockItemTableValue>;\n\n//\n// Definitions - Conversion\n//\n\nexport function storybookValueFromOldValue(oldValue: PageBlockItemStorybookValueOld): PageBlockItemStorybookValue {\n return {\n value: [\n {\n // URLs\n ...(oldValue.embedUrl &&\n oldValue.value && {\n embed: {\n embedUrl: oldValue.embedUrl,\n inputUrl: oldValue.value,\n },\n }),\n\n // Meta\n entityMeta: {\n caption: oldValue.caption,\n height: oldValue.height,\n },\n },\n ],\n };\n}\n","import { z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\nimport { PageBlockDefinitionVariant } from \"./variant\";\n\n//\n// Enums\n//\n\nexport const PageBlockDefinitionPropertyType = z.enum([\n \"RichText\",\n \"MultiRichText\",\n \"RichTextEditor\",\n \"Text\",\n \"Boolean\",\n \"Number\",\n \"SingleSelect\",\n \"MultiSelect\",\n \"Image\",\n \"Token\",\n \"TokenType\",\n \"TokenProperty\",\n \"Component\",\n \"ComponentProperty\",\n \"Asset\",\n \"AssetProperty\",\n \"FigmaNode\",\n \"EmbedURL\",\n \"URL\",\n \"Markdown\",\n \"Code\",\n \"CodeSandbox\",\n \"Table\",\n \"Divider\",\n \"Storybook\",\n \"Color\",\n \"FigmaComponent\",\n \"File\",\n]);\n\nexport const PageBlockDefinitionRichTextPropertyStyle = z.enum([\n \"Title1\",\n \"Title2\",\n \"Title3\",\n \"Title4\",\n \"Title5\",\n \"Quote\",\n \"Callout\",\n \"Default\",\n]);\n\nexport const PageBlockDefinitionMultiRichTextPropertyStyle = z.enum([\"OL\", \"UL\"]);\n\nexport const PageBlockDefinitionRichTextEditorPropertyStyle = z.enum([\n \"OL\",\n \"UL\",\n \"Bold\",\n \"Italic\",\n \"Link\",\n \"Strikethrough\",\n \"InlineCode\",\n]);\n\nexport const PageBlockDefinitionTextPropertyStyle = z.enum([\n \"Title1\",\n \"Title2\",\n \"Title3\",\n \"Title4\",\n \"Title5\",\n \"Default\",\n \"DefaultBold\",\n \"DefaultSemibold\",\n \"Small\",\n \"SmallBold\",\n \"SmallSemibold\",\n \"Custom\",\n]);\n\nexport const PageBlockDefinitionTextPropertyColor = z.enum([\"Neutral\", \"NeutralFaded\"]);\n\nexport const PageBlockDefinitionBooleanPropertyStyle = z.enum([\"SegmentedControl\", \"ToggleButton\", \"Checkbox\"]);\nexport const PageBlockDefinitionSingleSelectPropertyStyle = z.enum([\n \"SegmentedControl\",\n \"ToggleButton\",\n \"Select\",\n \"Checkbox\",\n]);\nexport const PageBlockDefinitionSingleSelectPropertyColor = z.enum([\n \"Green\",\n \"Red\",\n \"Yellow\",\n \"Blue\",\n \"Purple\",\n \"Orange\",\n \"Pink\",\n \"Teal\",\n \"Brown\",\n \"Grey\",\n \"LightGrey\",\n \"Cyan\",\n \"Fuchsia\",\n]);\n\nexport const IconSet = z.enum([\"CheckCircle\", \"CrossCircle\", \"Alert\"]);\n\nexport const PageBlockDefinitionMultiSelectPropertyStyle = z.enum([\"SegmentedControl\", \"Select\", \"Checkbox\"]);\n\nexport const PageBlockDefinitionImageAspectRatio = z.enum([\"Auto\", \"Square\", \"Landscape\", \"Portrait\", \"Wide\"]);\n\nexport const PageBlockDefinitionImageWidth = z.enum([\"Full\", \"Icon\", \"Small\", \"Medium\", \"Large\", \"Poster\"]);\n\nexport type PageBlockDefinitionPropertyType = z.infer<typeof PageBlockDefinitionPropertyType>;\nexport type PageBlockDefinitionRichTextPropertyStyle = z.infer<typeof PageBlockDefinitionRichTextPropertyStyle>;\nexport type PageBlockDefinitionMultiRichTextPropertyStyle = z.infer<\n typeof PageBlockDefinitionMultiRichTextPropertyStyle\n>;\nexport type PageBlockDefinitionTextPropertyStyle = z.infer<typeof PageBlockDefinitionTextPropertyStyle>;\nexport type PageBlockDefinitionTextPropertyColor = z.infer<typeof PageBlockDefinitionTextPropertyColor>;\nexport type PageBlockDefinitionBooleanPropertyStyle = z.infer<typeof PageBlockDefinitionBooleanPropertyStyle>;\nexport type PageBlockDefinitionSingleSelectPropertyStyle = z.infer<typeof PageBlockDefinitionSingleSelectPropertyStyle>;\nexport type PageBlockDefinitionMultiSelectPropertyStyle = z.infer<typeof PageBlockDefinitionMultiSelectPropertyStyle>;\nexport type PageBlockDefinitionImageAspectRatio = z.infer<typeof PageBlockDefinitionImageAspectRatio>;\nexport type PageBlockDefinitionImageWidth = z.infer<typeof PageBlockDefinitionImageWidth>;\n\n//\n// Aux\n//\n\nexport const PageBlockDefinitionSelectChoice = z.object({\n value: z.string(),\n name: z.string(),\n icon: IconSet.optional(),\n customIconUrl: z.string().optional(),\n color: PageBlockDefinitionSingleSelectPropertyColor.optional(),\n});\n\nexport type PageBlockDefinitionSelectChoice = z.infer<typeof PageBlockDefinitionSelectChoice>;\n\n//\n// Property options\n//\n\nexport const PageBlockDefinitionUntypedPropertyOptions = z.record(z.any());\n\nexport const PageBlockDefinitionRichTextOptions = z.object({\n richTextStyle: PageBlockDefinitionRichTextPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionMutiRichTextOptions = z.object({\n multiRichTextStyle: PageBlockDefinitionMultiRichTextPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionRichTextEditorOptions = z.object({\n placeholder: z.string().optional(),\n allowedInlineStyles: z.array(PageBlockDefinitionRichTextEditorPropertyStyle).optional(),\n});\n\nexport const PageBlockDefinitionTextOptions = z.object({\n placeholder: z.string().optional(),\n defaultValue: z.string().optional(),\n textStyle: PageBlockDefinitionTextPropertyStyle.optional(),\n color: PageBlockDefinitionTextPropertyColor.optional(),\n allowLineBreaks: z.boolean().optional(),\n});\n\nexport const PageBlockDefinitionSelectOptions = z.object({\n singleSelectStyle: PageBlockDefinitionSingleSelectPropertyStyle.optional(),\n defaultChoice: z.string(),\n choices: z.array(PageBlockDefinitionSelectChoice),\n});\n\nexport const PageBlockDefinitionImageOptions = z.object({\n width: PageBlockDefinitionImageWidth.optional(),\n aspectRatio: PageBlockDefinitionImageAspectRatio.optional(),\n allowCaption: z.boolean().optional(),\n recommendation: z.string().optional(),\n});\n\nexport const PageBlockDefinitionBooleanOptions = z.object({\n defaultvalue: z.boolean().optional(),\n booleanStyle: PageBlockDefinitionBooleanPropertyStyle.optional(),\n});\n\nexport const PageBlockDefinitionNumberOptions = z.object({\n defaultValue: z.number(),\n min: z.number().optional(),\n max: z.number().optional(),\n step: z.number().optional(),\n placeholder: z.string().optional(),\n});\n\nexport const PageBlockDefinitionComponentOptions = z.object({\n renderLayoutAs: z.enum([\"List\", \"Table\"]).optional(),\n allowPropertySelection: z.boolean().optional(),\n});\n\nexport const PageBlockDefinitionFigmaComponentOptions = z.object({\n renderLayoutAs: z.enum([\"Grid\", \"PropsTable\", \"Canvas\", \"Playground\"]),\n invertPropertySelection: z.boolean().optional(),\n});\n\nexport type PageBlockDefinitionUntypedPropertyOptions = z.infer<typeof PageBlockDefinitionUntypedPropertyOptions>;\nexport type PageBlockDefinitionRichTextOptions = z.infer<typeof PageBlockDefinitionRichTextOptions>;\nexport type PageBlockDefinitionMutiRichTextOptions = z.infer<typeof PageBlockDefinitionMutiRichTextOptions>;\nexport type PageBlockDefinitionRichTextEditorOptions = z.infer<typeof PageBlockDefinitionRichTextEditorOptions>;\nexport type PageBlockDefinitionTextOptions = z.infer<typeof PageBlockDefinitionTextOptions>;\nexport type PageBlockDefinitionSelectOptions = z.infer<typeof PageBlockDefinitionSelectOptions>;\nexport type PageBlockDefinitionImageOptions = z.infer<typeof PageBlockDefinitionImageOptions>;\nexport type PageBlockDefinitionBooleanOptions = z.infer<typeof PageBlockDefinitionBooleanOptions>;\nexport type PageBlockDefinitionNumberOptions = z.infer<typeof PageBlockDefinitionNumberOptions>;\nexport type PageBlockDefinitionComponentOptions = z.infer<typeof PageBlockDefinitionComponentOptions>;\nexport type PageBlockDefinitionFigmaComponentOptions = z.infer<typeof PageBlockDefinitionFigmaComponentOptions>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionProperty = z.object({\n id: z.string(),\n name: z.string(),\n type: PageBlockDefinitionPropertyType,\n description: z.string().optional(),\n options: PageBlockDefinitionUntypedPropertyOptions.optional(),\n variantOptions: z.record(PageBlockDefinitionUntypedPropertyOptions).optional(),\n});\n\nexport const PageBlockDefinitionItem = z.object({\n properties: z.array(PageBlockDefinitionProperty),\n appearance: PageBlockDefinitionAppearance.optional(),\n variants: z.array(PageBlockDefinitionVariant),\n defaultVariantKey: z.string(),\n});\n\nexport type PageBlockDefinitionProperty = z.infer<typeof PageBlockDefinitionProperty>;\nexport type PageBlockDefinitionItem = z.infer<typeof PageBlockDefinitionItem>;\n","import { z } from \"zod\";\n\nexport const PageBlockDefinitionAppearance = z.object({\n isBordered: z.boolean().optional(),\n hasBackground: z.boolean().optional(),\n isEditorPresentationDifferent: z.boolean().optional(),\n showBlockHeaderInEditor: z.boolean().optional(),\n});\n\nexport type PageBlockDefinitionAppearance = z.infer<typeof PageBlockDefinitionAppearance>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\n\n//\n// Enums\n//\n\nexport const PageBlockDefinitionLayoutType = z.enum([\"Column\", \"Row\"]);\nexport const PageBlockDefinitionLayoutGap = z.enum([\"Small\", \"Medium\", \"Large\", \"None\"]);\nexport const PageBlockDefinitionLayoutAlign = z.enum([\"Start\", \"Center\", \"End\"]);\nexport const PageBlockDefinitionLayoutResizing = z.enum([\"Fill\", \"Hug\"]);\n\nexport type PageBlockDefinitionLayoutType = z.infer<typeof PageBlockDefinitionLayoutType>;\nexport type PageBlockDefinitionLayoutGap = z.infer<typeof PageBlockDefinitionLayoutGap>;\nexport type PageBlockDefinitionLayoutAlign = z.infer<typeof PageBlockDefinitionLayoutAlign>;\nexport type PageBlockDefinitionLayoutResizing = z.infer<typeof PageBlockDefinitionLayoutResizing>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionLayoutBase = z.object({\n type: PageBlockDefinitionLayoutType,\n gap: PageBlockDefinitionLayoutGap.optional(),\n columnAlign: PageBlockDefinitionLayoutAlign.optional(),\n columnResizing: PageBlockDefinitionLayoutResizing.optional(),\n});\n\nexport const PageBlockDefinitionLayout: z.ZodType<PageBlockDefinitionLayout, ZodTypeDef, PageBlockDefinitionLayout> =\n PageBlockDefinitionLayoutBase.extend({\n children: z.lazy(() => z.array(PageBlockDefinitionLayout.or(z.string()))),\n });\n\nexport const PageBlockDefinitionVariant = z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n description: z.string().optional(),\n documentationLink: z.string().optional(),\n layout: PageBlockDefinitionLayout,\n maxColumns: z.number().optional(),\n defaultColumns: z.number().optional(),\n appearance: PageBlockDefinitionAppearance.optional(),\n});\n\nexport type PageBlockDefinitionVariant = z.infer<typeof PageBlockDefinitionVariant>;\nexport type PageBlockDefinitionLayout = z.infer<typeof PageBlockDefinitionLayoutBase> & {\n children: (PageBlockDefinitionLayout | string)[];\n};\n","import { z } from \"zod\";\nimport { DocumentationItemConfigurationV1 } from \"./documentation-v1\";\nimport { PageBlockV1 } from \"./documentation-block-v1\";\nimport { nullishToOptional } from \"../../../helpers\";\n\nexport const DocumentationPageDataV1 = z.object({\n blocks: z.array(PageBlockV1),\n configuration: nullishToOptional(DocumentationItemConfigurationV1),\n});\n","import { z } from \"zod\";\nimport { DocumentationItemHeaderV1, defaultDocumentationItemHeaderV1 } from \"./item-header-v1\";\n\nexport const DocumentationItemConfigurationV1 = z.object({\n showSidebar: z.boolean(),\n isPrivate: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n header: DocumentationItemHeaderV1,\n});\n\nexport type DocumentationItemConfigurationV1 = z.infer<typeof DocumentationItemConfigurationV1>;\n\nexport const defaultDocumentationItemConfigurationV1: DocumentationItemConfigurationV1 = {\n header: defaultDocumentationItemHeaderV1,\n showSidebar: true,\n};\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport {\n DocumentationItemHeaderAlignment,\n DocumentationItemHeaderAlignmentSchema,\n DocumentationItemHeaderImageScaleType,\n DocumentationItemHeaderImageScaleTypeSchema,\n} from \"./item-header\";\nimport { PageBlockAsset } from \"./documentation-block-v1\";\n\n//\n// Definitions\n//\n\nexport const DocumentationItemHeaderV1 = z.object({\n description: z.string(),\n alignment: DocumentationItemHeaderAlignmentSchema,\n foregroundColor: ColorTokenData.nullish(),\n backgroundColor: ColorTokenData.nullish(),\n backgroundImageAsset: PageBlockAsset.nullish(),\n backgroundImageScaleType: DocumentationItemHeaderImageScaleTypeSchema,\n showBackgroundOverlay: z.boolean(),\n showCoverText: z.boolean(),\n minHeight: z.number().nullish(),\n});\n\nexport type DocumentationItemHeaderV1 = z.infer<typeof DocumentationItemHeaderV1>;\n\nexport const defaultDocumentationItemHeaderV1: DocumentationItemHeaderV1 = {\n alignment: DocumentationItemHeaderAlignment.Left,\n backgroundImageScaleType: DocumentationItemHeaderImageScaleType.AspectFill,\n description: \"\",\n showBackgroundOverlay: false,\n showCoverText: true,\n};\n","//\n// Enums\n//\n\nimport { z } from \"zod\";\n\nexport const DocumentationItemHeaderAlignmentSchema = z.enum([\"Left\", \"Center\"]);\nexport const DocumentationItemHeaderImageScaleTypeSchema = z.enum([\"AspectFill\", \"AspectFit\"]);\n\nexport const DocumentationItemHeaderAlignment = DocumentationItemHeaderAlignmentSchema.enum;\nexport const DocumentationItemHeaderImageScaleType = DocumentationItemHeaderImageScaleTypeSchema.enum;\n\nexport type DocumentationItemHeaderImageScaleType = z.infer<typeof DocumentationItemHeaderImageScaleTypeSchema>;\nexport type DocumentationItemHeaderAlignment = z.infer<typeof DocumentationItemHeaderAlignmentSchema>;\n","import { z } from \"zod\";\nimport { DocumentationItemConfigurationV2 } from \"./documentation-v2\";\nimport { nullishToOptional } from \"../../../helpers\";\n\nexport const DocumentationPageDataV2 = z.object({\n configuration: nullishToOptional(DocumentationItemConfigurationV2),\n});\n","import { z } from \"zod\";\nimport { DocumentationItemHeaderV2, defaultDocumentationItemHeaderV2 } from \"./item-header-v2\";\n\nexport const DocumentationItemConfigurationV2 = z.object({\n showSidebar: z.boolean(),\n isPrivate: z.boolean().optional(),\n isHidden: z.boolean().optional(),\n header: DocumentationItemHeaderV2,\n});\n\nexport type DocumentationItemConfigurationV2 = z.infer<typeof DocumentationItemConfigurationV2>;\n\nexport const defaultDocumentationItemConfigurationV2 = {\n header: defaultDocumentationItemHeaderV2,\n isHidden: false,\n isPrivate: false,\n showSidebar: true,\n} as const;\n","import { z } from \"zod\";\nimport {\n DocumentationItemHeaderAlignment,\n DocumentationItemHeaderAlignmentSchema,\n DocumentationItemHeaderImageScaleType,\n DocumentationItemHeaderImageScaleTypeSchema,\n} from \"./item-header\";\nimport { PageBlockColorV2, PageBlockImageReference } from \"./documentation-block-v2\";\n\n//\n// Definitions\n//\n\nexport const DocumentationItemHeaderV2 = z.object({\n description: z.string(),\n alignment: DocumentationItemHeaderAlignmentSchema,\n foregroundColor: PageBlockColorV2.nullish(),\n backgroundColor: PageBlockColorV2.nullish(),\n backgroundImageAsset: PageBlockImageReference.nullish(),\n backgroundImageScaleType: DocumentationItemHeaderImageScaleTypeSchema,\n showBackgroundOverlay: z.boolean(),\n showCoverText: z.boolean(),\n minHeight: z.number().nullish(),\n});\n\nexport type DocumentationItemHeaderV2 = z.infer<typeof DocumentationItemHeaderV2>;\n\nexport const defaultDocumentationItemHeaderV2: DocumentationItemHeaderV2 = {\n alignment: DocumentationItemHeaderAlignment.Left,\n backgroundImageScaleType: DocumentationItemHeaderImageScaleType.AspectFill,\n description: \"\",\n showBackgroundOverlay: false,\n showCoverText: true,\n};\n","import { z } from \"zod\";\nimport { PageBlockEditorModelV2 } from \"../page-block-v2\";\nimport { PageBlockColorV2 } from \"./documentation-block-v2\";\n\nexport const PageSectionTypeV2 = z.enum([\"Tabs\"]);\n\nexport const PageSectionColumnV2 = z.object({\n id: z.string(),\n blocks: z.array(PageBlockEditorModelV2),\n});\n\nexport const PageSectionItemV2 = z.object({\n id: z.string(),\n title: z.string(),\n columns: z.array(PageSectionColumnV2),\n});\n\nexport const PageSectionPaddingV2 = z.object({\n top: z.number().optional(),\n bottom: z.number().optional(),\n left: z.number().optional(),\n right: z.number().optional(),\n});\n\nexport const PageSectionAppearanceV2 = z.object({\n expandToEdges: z.boolean(),\n contentExpandToEdges: z.boolean(),\n backgroundColor: PageBlockColorV2.optional(),\n foregroundColor: PageBlockColorV2.optional(),\n padding: PageSectionPaddingV2.optional(),\n});\n\nexport const PageSectionEditorModelV2 = z.object({\n id: z.string(),\n type: z.literal(\"Section\"),\n variantId: z.string().optional(),\n sectionType: PageSectionTypeV2,\n appearance: PageSectionAppearanceV2,\n items: z.array(PageSectionItemV2),\n});\n\nexport type PageSectionTypeV2 = z.infer<typeof PageSectionTypeV2>;\nexport type PageSectionColumnV2 = z.infer<typeof PageSectionColumnV2>;\nexport type PageSectionItemV2 = z.infer<typeof PageSectionItemV2>;\nexport type PageSectionPaddingV2 = z.infer<typeof PageSectionPaddingV2>;\nexport type PageSectionAppearanceV2 = z.infer<typeof PageSectionAppearanceV2>;\nexport type PageSectionEditorModelV2 = z.infer<typeof PageSectionEditorModelV2>;\n","import { z } from \"zod\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart } from \"./base\";\nimport { PageBlockDataV2 } from \"./data\";\n\n//\n// Element\n//\n\nexport const PageBlockV2 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape).extend({\n data: PageBlockDataV2,\n});\n\nexport type PageBlockV2 = z.infer<typeof PageBlockV2>;\n\n//\n// Editor Model\n//\n\nexport const PageBlockEditorModelV2 = z.object({\n id: z.string(),\n type: z.literal(\"Block\"),\n data: PageBlockDataV2,\n});\n\nexport type PageBlockEditorModelV2 = z.infer<typeof PageBlockEditorModelV2>;\n","import { z } from \"zod\";\nimport { ObjectMeta } from \"../../common\";\n\nexport const DesignElementOrigin = z.object({\n id: z.string(),\n sourceId: z.string(),\n name: z.string(),\n});\n\nexport const DesignElementBase = z.object({\n id: z.string(),\n persistentId: z.string(),\n meta: ObjectMeta,\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport const DesignElementImportedBase = DesignElementBase.extend({\n origin: DesignElementOrigin,\n});\n\nexport const DesignElementGroupablePart = z.object({\n parentPersistentId: z.string().optional(),\n sortOrder: z.number(),\n});\n\nexport const DesignElementGroupableBase = DesignElementBase.extend(DesignElementGroupablePart.shape);\n\nexport const DesignElementGroupableRequiredPart = DesignElementGroupablePart.extend({\n parentPersistentId: z.string(),\n});\n\nexport const DesignElementBrandedPart = z.object({\n brandPersistentId: z.string(),\n});\n\nexport const DesignElementSlugPart = z.object({\n slug: z.string().optional(),\n userSlug: z.string().optional(),\n});\n\nexport type DesignElementOrigin = z.infer<typeof DesignElementOrigin>;\nexport type DesignElementBase = z.infer<typeof DesignElementBase>;\nexport type DesignElementGroupablePart = z.infer<typeof DesignElementGroupablePart>;\nexport type DesignElementGroupableBase = z.infer<typeof DesignElementGroupableBase>;\nexport type DesignElementGroupableRequiredPart = z.infer<typeof DesignElementGroupableRequiredPart>;\nexport type DesignElementBrandedPart = z.infer<typeof DesignElementBrandedPart>;\nexport type DesignElementSlugPart = z.infer<typeof DesignElementSlugPart>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const DurationUnit = z.enum([\"Ms\"]);\n\nexport const DurationValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const DurationTokenData = tokenAliasOrValue(DurationValue);\n\nexport type DurationUnit = z.infer<typeof DurationUnit>;\nexport type DurationValue = z.infer<typeof DurationValue>;\nexport type DurationTokenData = z.infer<typeof DurationTokenData>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { Size, SizeOrUndefined } from \"../primitives/size\";\n\nexport const FigmaFileStructureNodeType = z.enum([\"DOCUMENT\", \"CANVAS\", \"FRAME\", \"COMPONENT\", \"COMPONENT_SET\"]);\n\nexport const FigmaFileStructureNodeBase = z.object({\n id: z.string(),\n name: z.string(),\n type: FigmaFileStructureNodeType,\n size: SizeOrUndefined,\n parentComponentSetId: z.string().optional(),\n});\n\nexport const FigmaFileStructureNode: z.ZodType<FigmaFileStructureNode, ZodTypeDef, FigmaFileStructureNodeBaseInput> =\n FigmaFileStructureNodeBase.extend({\n children: z.lazy(() => FigmaFileStructureNode.array()),\n });\n\ntype FigmaFileStructureNodeBaseInput = z.input<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeBaseInput[];\n};\n\nexport const FigmaFileStructureStatistics = z.object({\n frames: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n components: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n componentSets: z\n .number()\n .nullable()\n .optional()\n .transform(v => v ?? 0),\n});\n\nexport const FigmaFileStructureElementData = z.object({\n value: z.object({\n structure: FigmaFileStructureNode,\n assetsInFile: FigmaFileStructureStatistics,\n }),\n});\n\nexport type FigmaFileStructureNodeBase = z.infer<typeof FigmaFileStructureNodeBase>;\nexport type FigmaFileStructureNodeType = z.infer<typeof FigmaFileStructureStatistics>;\nexport type FigmaFileStructureNode = z.infer<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNode[];\n};\nexport type FigmaFileStructureStatistics = z.infer<typeof FigmaFileStructureStatistics>;\nexport type FigmaFileStructureElementData = z.infer<typeof FigmaFileStructureElementData>;\n\nexport function figmaFileStructureToMap(root: FigmaFileStructureNode): Map<string, FigmaFileStructureNode> {\n const map = new Map<string, FigmaFileStructureNode>();\n recursiveFigmaFileStructureToMap(root, map);\n return map;\n}\n\nfunction recursiveFigmaFileStructureToMap(node: FigmaFileStructureNode, map: Map<string, FigmaFileStructureNode>) {\n map.set(node.id, node);\n for (const child of node.children) recursiveFigmaFileStructureToMap(child, map);\n}\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers/nullish-to-optional\";\n\n//\n// Enums\n//\n\nexport const FigmaNodeRenderState = z.enum([\"InProgress\", \"Success\", \"Failed\"]);\nexport const FigmaNodeRenderFormat = z.enum([\"Png\", \"Svg\"]);\nexport const FigmaNodeRenderErrorType = z.enum([\"MissingIntegration\", \"NodeNotFound\", \"RenderError\"]);\n\nexport type FigmaNodeRenderState = z.infer<typeof FigmaNodeRenderState>;\nexport type FigmaNodeRenderFormat = z.infer<typeof FigmaNodeRenderFormat>;\nexport type FigmaNodeRenderErrorType = z.infer<typeof FigmaNodeRenderErrorType>;\n\n//\n// Definition\n//\n\nexport const FigmaNodeRelinkData = z.object({\n fileId: z.string(),\n});\n\nexport const FigmaNodeRenderedImage = z.object({\n resourceId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: nullishToOptional(z.number()),\n\n width: nullishToOptional(z.number()),\n height: nullishToOptional(z.number()),\n url: nullishToOptional(z.string()),\n originKey: nullishToOptional(z.string()),\n});\n\nexport const FigmaNodeRenderError = z.object({\n type: FigmaNodeRenderErrorType,\n});\n\nexport const FigmaNodeReferenceData = z.object({\n sceneNodeId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: nullishToOptional(z.number()),\n\n renderState: FigmaNodeRenderState,\n renderedImage: FigmaNodeRenderedImage.optional(),\n renderError: FigmaNodeRenderError.optional(),\n\n hasSource: z.boolean(),\n relinkData: FigmaNodeRelinkData.optional(),\n});\n\nexport type FigmaNodeRelinkData = z.infer<typeof FigmaNodeRelinkData>;\nexport type FigmaNodeRenderedImage = z.infer<typeof FigmaNodeRenderedImage>;\nexport type FigmaNodeRenderError = z.infer<typeof FigmaNodeRenderError>;\nexport type FigmaNodeReferenceData = z.infer<typeof FigmaNodeReferenceData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontFamilyValue = z.string();\nexport const FontFamilyTokenData = tokenAliasOrValue(FontFamilyValue);\n\nexport type FontFamilyValue = z.infer<typeof FontFamilyValue>;\nexport type FontFamilyTokenData = z.infer<typeof FontFamilyTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const FontSizeUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const FontSizeValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const FontSizeTokenData = tokenAliasOrValue(FontSizeValue);\n\nexport type FontSizeUnit = z.infer<typeof FontSizeUnit>;\nexport type FontSizeValue = z.infer<typeof FontSizeValue>;\nexport type FontSizeTokenData = z.infer<typeof FontSizeTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontWeightValue = z.string();\nexport const FontWeightTokenData = tokenAliasOrValue(FontWeightValue);\n\nexport type FontWeightValue = z.infer<typeof FontWeightValue>;\nexport type FontWeightTokenData = z.infer<typeof FontWeightTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const FontValue = z.unknown();\n\nexport const FontTokenData = tokenAliasOrValue(FontValue);\n\nexport type FontValue = z.infer<typeof FontValue>;\nexport type FontTokenData = z.infer<typeof FontTokenData>;\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { Point2D } from \"../primitives\";\n\nexport const GradientType = z.enum([\"Linear\", \"Radial\", \"Angular\"]);\n\nexport const GradientStop = z.object({\n position: z.number(),\n color: ColorTokenData,\n});\n\nexport const GradientLayerValue = z.object({\n from: Point2D,\n to: Point2D,\n type: GradientType,\n aspectRatio: nullishToOptional(z.number()), // z.number(),\n stops: z.array(GradientStop).min(2),\n});\n\nexport const GradientLayerData = tokenAliasOrValue(GradientLayerValue);\n\nexport const GradientTokenValue = z.array(GradientLayerData);\nexport const GradientTokenData = tokenAliasOrValue(GradientTokenValue);\n\nexport type GradientType = z.infer<typeof GradientType>;\nexport type GradientStop = z.infer<typeof GradientStop>;\nexport type GradientLayerValue = z.infer<typeof GradientLayerValue>;\nexport type GradientLayerData = z.infer<typeof GradientLayerData>;\nexport type GradientTokenValue = z.infer<typeof GradientTokenValue>;\nexport type GradientTokenData = z.infer<typeof GradientTokenData>;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../../../helpers\";\nimport { DocumentationItemConfigurationV1 } from \"./documentation-v1\";\nimport { DocumentationItemConfigurationV2 } from \"./documentation-v2\";\n\nexport const DocumentationGroupBehavior = z.enum([\"Group\", \"Tabs\"]);\n\nexport const ElementGroupDataV1 = z.object({\n behavior: nullishToOptional(DocumentationGroupBehavior.optional()),\n configuration: nullishToOptional(DocumentationItemConfigurationV1),\n});\n\nexport const ElementGroupDataV2 = z.object({\n behavior: nullishToOptional(DocumentationGroupBehavior.optional()),\n configuration: nullishToOptional(DocumentationItemConfigurationV2),\n});\n\nexport type DocumentationGroupBehavior = z.infer<typeof DocumentationGroupBehavior>;\nexport type ElementGroupDataV1 = z.infer<typeof ElementGroupDataV1>;\nexport type ElementGroupDataV2 = z.infer<typeof ElementGroupDataV2>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const LetterSpacingUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const LetterSpacingValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const LetterSpacingTokenData = tokenAliasOrValue(LetterSpacingValue);\n\nexport type LetterSpacingUnit = z.infer<typeof LetterSpacingUnit>;\nexport type LetterSpacingValue = z.infer<typeof LetterSpacingValue>;\nexport type LetterSpacingTokenData = z.infer<typeof LetterSpacingTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const LineHeightUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\", \"Raw\"]);\n\nexport const LineHeightValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const LineHeightTokenData = tokenAliasOrValue(LineHeightValue);\n\nexport type LineHeightUnit = z.infer<typeof LineHeightUnit>;\nexport type LineHeightValue = z.infer<typeof LineHeightValue>;\nexport type LineHeightTokenData = z.infer<typeof LineHeightTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ParagraphIndentUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const ParagraphIndentValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ParagraphIndentTokenData = tokenAliasOrValue(ParagraphIndentValue);\n\nexport type ParagraphIndentUnit = z.infer<typeof ParagraphIndentUnit>;\nexport type ParagraphIndentValue = z.infer<typeof ParagraphIndentValue>;\nexport type ParagraphIndentTokenData = z.infer<typeof ParagraphIndentTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ParagraphSpacingUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const ParagraphSpacingValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ParagraphSpacingTokenData = tokenAliasOrValue(ParagraphSpacingValue);\n\nexport type ParagraphSpacingUnit = z.infer<typeof ParagraphSpacingUnit>;\nexport type ParagraphSpacingValue = z.infer<typeof ParagraphSpacingValue>;\nexport type ParagraphSpacingTokenData = z.infer<typeof ParagraphSpacingTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const ProductCopyValue = z.string();\nexport const ProductCopyTokenData = tokenAliasOrValue(ProductCopyValue);\n\nexport type ProductCopyValue = z.infer<typeof ProductCopyValue>;\nexport type ProductCopyTokenData = z.infer<typeof ProductCopyTokenData>;\n","import { z } from \"zod\";\n\nconst RESERVED_OBJECT_ID_PREFIX = \"x-sn-reserved-\";\n\n// Really only checks if the schema does not have the reserved prefix\nexport const SafeIdSchema = z.string().refine(\n value => {\n return !value.startsWith(RESERVED_OBJECT_ID_PREFIX);\n },\n {\n message: `ID value can't start with ${RESERVED_OBJECT_ID_PREFIX}`,\n }\n);\n","import { z } from \"zod\";\nimport { ColorTokenData } from \"./color\";\nimport { OpacityTokenData } from \"./opacity\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const ShadowType = z.enum([\"Drop\", \"Inner\"]);\n\nexport const ShadowLayerValue = z.object({\n color: ColorTokenData,\n x: z.number(),\n y: z.number(),\n radius: z.number(),\n spread: z.number(),\n opacity: OpacityTokenData.optional(),\n type: ShadowType,\n});\n\nconst ShadowTokenDataBase = tokenAliasOrValue(ShadowLayerValue);\nexport const ShadowValue = z.array(ShadowTokenDataBase);\nexport const ShadowTokenData = tokenAliasOrValue(z.array(ShadowTokenDataBase));\n\nexport type ShadowType = z.infer<typeof ShadowType>;\nexport type ShadowLayerValue = z.infer<typeof ShadowLayerValue>;\nexport type ShadowValue = z.infer<typeof ShadowValue>;\nexport type ShadowTokenData = z.infer<typeof ShadowTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const SizeUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const SizeValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const SizeTokenData = tokenAliasOrValue(SizeValue);\n\nexport type SizeUnit = z.infer<typeof SizeUnit>;\nexport type SizeValue = z.infer<typeof SizeValue>;\nexport type SizeTokenData = z.infer<typeof SizeTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const SpaceUnit = z.enum([\"Pixels\", \"Rem\", \"Percent\"]);\n\nexport const SpaceValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const SpaceTokenData = tokenAliasOrValue(SpaceValue);\n\nexport type SpaceUnit = z.infer<typeof SpaceUnit>;\nexport type SpaceValue = z.infer<typeof SpaceValue>;\nexport type SpaceTokenData = z.infer<typeof SpaceTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const StringValue = z.string();\nexport const StringTokenData = tokenAliasOrValue(StringValue);\n\nexport type StringValue = z.infer<typeof StringValue>;\nexport type StringTokenData = z.infer<typeof StringTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TextCase = z.enum([\"Original\", \"Upper\", \"Lower\", \"Camel\", \"SmallCaps\"]);\nexport const TextCaseValue = TextCase;\nexport const TextCaseTokenData = tokenAliasOrValue(TextCaseValue);\n\nexport type TextCase = z.infer<typeof TextCase>;\nexport type TextCaseValue = z.infer<typeof TextCaseValue>;\nexport type TextCaseTokenData = z.infer<typeof TextCaseTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TextDecoration = z.enum([\"None\", \"Underline\", \"Strikethrough\"]);\nexport const TextDecorationValue = TextDecoration;\nexport const TextDecorationTokenData = tokenAliasOrValue(TextDecorationValue);\n\nexport type TextDecoration = z.infer<typeof TextDecoration>;\nexport type TextDecorationValue = z.infer<typeof TextDecorationValue>;\nexport type TextDecorationTokenData = z.infer<typeof TextDecorationTokenData>;\n","import { z } from \"zod\";\nimport { FontSizeTokenData } from \"./font-size\";\nimport { FontFamilyTokenData } from \"./font-family\";\nimport { FontWeightTokenData } from \"./font-weight\";\nimport { TextDecorationTokenData } from \"./text-decoration\";\nimport { TextCaseTokenData } from \"./text-case\";\nimport { LetterSpacingTokenData } from \"./letter-spacing\";\nimport { LineHeightTokenData } from \"./line-height\";\nimport { ParagraphIndentTokenData } from \"./paragraph-indent\";\nimport { ParagraphSpacingTokenData } from \"./paragraph-spacing\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const TypographyValue = z.object({\n fontSize: FontSizeTokenData,\n fontFamily: FontFamilyTokenData,\n fontWeight: FontWeightTokenData,\n textDecoration: TextDecorationTokenData,\n textCase: TextCaseTokenData,\n letterSpacing: LetterSpacingTokenData.optional(),\n lineHeight: LineHeightTokenData.optional(),\n paragraphIndent: ParagraphIndentTokenData.optional(),\n paragraphSpacing: ParagraphSpacingTokenData.optional(),\n});\n\nexport const TypographyTokenData = tokenAliasOrValue(TypographyValue);\n\nexport type TypographyValue = z.infer<typeof TypographyValue>;\nexport type TypographyTokenData = z.infer<typeof TypographyTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\n\nexport const Visibility = z.enum([\"Hidden\", \"Visible\"]);\nexport const VisibilityValue = Visibility;\nexport const VisibilityTokenData = tokenAliasOrValue(VisibilityValue);\n\nexport type Visibility = z.infer<typeof Visibility>;\nexport type VisibilityValue = z.infer<typeof VisibilityValue>;\nexport type VisibilityTokenData = z.infer<typeof VisibilityTokenData>;\n","import { z } from \"zod\";\nimport { tokenAliasOrValue } from \"./base\";\nimport { DimensionUnit } from \"./dimension\";\n\nexport const ZIndexUnit = z.enum([\"Raw\"]);\n\nexport const ZIndexValue = z.object({\n unit: DimensionUnit,\n measure: z.number(),\n});\n\nexport const ZIndexTokenData = tokenAliasOrValue(ZIndexValue);\n\nexport type ZIndexUnit = z.infer<typeof ZIndexUnit>;\nexport type ZIndexValue = z.infer<typeof ZIndexValue>;\nexport type ZIndexTokenData = z.infer<typeof ZIndexTokenData>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart, DesignElementSlugPart } from \"./base\";\nimport { DocumentationPageDataV1, ElementGroupDataV1 } from \"./data\";\nimport { ElementGroup } from \"./group\";\n\n//\n// Documentation page\n//\n\nexport const DocumentationPageV1 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend({\n shortPersistentId: z.string(),\n data: DocumentationPageDataV1,\n });\n\nexport type DocumentationPageV1 = z.infer<typeof DocumentationPageV1>;\n\nexport type CreateDocumentationPageV1 = DbCreateInputOmit<DocumentationPageV1>;\nexport type UpdateDocumentationPageV1 = OmitStrict<DbUpdate<DocumentationPageV1>, \"designSystemVersionId\">;\n\n//\n// Documentation group (legacy)\n//\n\nexport const DocumentationGroupV1 = ElementGroup.omit({\n data: true,\n}).extend({\n data: ElementGroupDataV1.optional(),\n});\n\nexport type DocumentationGroupV1 = z.infer<typeof DocumentationGroupV1>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementBrandedPart, DesignElementGroupablePart, DesignElementSlugPart } from \"./base\";\nimport { ElementGroupDataV2 } from \"./data\";\nimport { DesignElementType } from \"./raw-element\";\n\nexport const ElementGroup = DesignElementBase.extend(DesignElementGroupablePart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend(DesignElementBrandedPart.partial().shape)\n .extend({\n shortPersistentId: z.string().optional(),\n childType: DesignElementType,\n data: ElementGroupDataV2.optional(),\n });\n\nexport const BrandedElementGroup = ElementGroup.extend(DesignElementBrandedPart.shape);\n\nexport type ElementGroup = z.infer<typeof ElementGroup>;\nexport type BrandedElementGroup = z.infer<typeof BrandedElementGroup>;\n\nexport type CreateElementGroup = OmitStrict<DbCreateInputOmit<ElementGroup>, \"parentPersistentId\"> & {\n parentPersistentId: string;\n};\n\nexport type UpdateElementGroup = DbUpdate<\n OmitStrict<ElementGroup, \"brandPersistentId\" | \"childType\" | \"designSystemVersionId\" | \"parentPersistentId\"> & {\n parentPersistentId: string;\n }\n>;\n\nexport type RestoreElementGroup = OmitStrict<ElementGroup, \"parentPersistentId\"> & {\n parentPersistentId: string;\n};\n\nexport type ElementGroupsDiff = {\n toCreate: CreateElementGroup[];\n toUpdate: UpdateElementGroup[];\n toDelete: ElementGroup[\"id\"][];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase, DesignElementGroupableRequiredPart, DesignElementSlugPart } from \"./base\";\nimport { PageBlockV1 } from \"./data\";\nimport { DocumentationPageDataV2 } from \"./data/documentation-page-v2\";\n\nexport const DocumentationPageV2 = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementSlugPart.shape)\n .extend({\n shortPersistentId: z.string(),\n data: DocumentationPageDataV2.extend({\n oldBlocks: z.array(PageBlockV1).optional(),\n }),\n });\n\nexport type DocumentationPageV2 = z.infer<typeof DocumentationPageV2>;\n\nexport type CreateDocumentationPageV2 = DbCreateInputOmit<DocumentationPageV2>;\nexport type UpdateDocumentationPageV2 = OmitStrict<DbUpdate<DocumentationPageV2>, \"designSystemVersionId\">;\nexport type RestoreDocumentationPage = CreateDocumentationPageV2 & { id: string; createdAt: Date; updatedAt: Date };\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport {\n DesignElementBase,\n DesignElementBrandedPart,\n DesignElementGroupableRequiredPart,\n DesignElementOrigin,\n} from \"./base\";\nimport { FigmaComponentPropertyMap } from \"./component-properties\";\n\n//\n// Figma Component\n//\n\nexport const FigmaComponentOriginPart = z.object({\n nodeId: z.string().optional(),\n width: z.number().optional(),\n height: z.number().optional(),\n});\n\nconst FigmaComponentAsset = z.object({\n assetId: z.string(),\n assetPath: z.string(),\n});\n\nexport const FigmaComponentOrigin = DesignElementOrigin.extend(FigmaComponentOriginPart.shape);\n\nexport const FigmaComponent = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementBrandedPart.shape)\n .extend({\n origin: FigmaComponentOrigin.optional(),\n thumbnail: FigmaComponentAsset,\n componentPropertyDefinitions: FigmaComponentPropertyMap.optional(),\n variantPropertyValues: z.record(z.string()).optional(),\n\n svg: FigmaComponentAsset.optional(),\n isAsset: z.boolean(),\n parentComponentPersistentId: nullishToOptional(z.string()),\n renderNodeId: z.string().optional(),\n });\n\nexport type FigmaComponentAsset = z.infer<typeof FigmaComponentAsset>;\nexport type FigmaComponent = z.infer<typeof FigmaComponent>;\nexport type FigmaComponentOrigin = z.infer<typeof FigmaComponentOrigin>;\nexport type ImportedFigmaComponent = OmitStrict<FigmaComponent, \"origin\"> & { origin: FigmaComponentOrigin };\n\n//\n// Support types\n//\n\nexport type CreateFigmaComponent = DbCreateInputOmit<FigmaComponent>;\nexport type UpdateFigmaComponent = OmitStrict<DbUpdate<FigmaComponent>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type FigmaComponentDiff = {\n toCreate: CreateFigmaComponent[];\n toUpdate: UpdateFigmaComponent[];\n toDelete: FigmaComponent[\"id\"][];\n};\n\n//\n// Utils\n//\n\nexport function isImportedFigmaComponent(component: FigmaComponent): component is ImportedFigmaComponent {\n return !!component.origin;\n}\n","import { z } from \"zod\";\nimport { DesignElementBase } from \"./base\";\nimport { FigmaFileStructureNode, FigmaFileStructureStatistics } from \"./data/figma-file-structure\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const FigmaFileStructureOrigin = z.object({\n sourceId: z.string(),\n fileId: z.string().optional(),\n});\n\nexport const FigmaFileStructureData = z.object({\n rootNode: FigmaFileStructureNode,\n assetsInFile: FigmaFileStructureStatistics,\n});\n\nexport const FigmaFileStructure = DesignElementBase.extend({\n origin: FigmaFileStructureOrigin,\n data: FigmaFileStructureData,\n});\n\nexport type FigmaFileStructureOrigin = z.infer<typeof FigmaFileStructureOrigin>;\nexport type FigmaFileStructureData = z.infer<typeof FigmaFileStructureData>;\nexport type FigmaFileStructure = z.infer<typeof FigmaFileStructure>;\n\nexport type CreateFigmaFileStructure = DbCreateInputOmit<FigmaFileStructure>;\nexport type UpdateFigmaFileStructure = OmitStrict<DbUpdate<FigmaFileStructure>, \"designSystemVersionId\">;\n\nexport type FigmaFileStructureDiff = {\n toCreate: CreateFigmaFileStructure[];\n toUpdate: UpdateFigmaFileStructure[];\n};\n\nexport function traverseStructure(node: FigmaFileStructureNode, action: (node: FigmaFileStructureNode) => void) {\n action(node);\n\n for (const child of node.children) {\n traverseStructure(child, action);\n }\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBase } from \"./base\";\nimport { FigmaNodeReferenceData } from \"./data/figma-node-reference\";\n\nexport const FigmaNodeReferenceOrigin = z.object({\n sourceId: z.string(),\n parentName: z.string().optional(),\n});\n\nexport const FigmaNodeReference = DesignElementBase.extend({\n data: FigmaNodeReferenceData,\n origin: FigmaNodeReferenceOrigin,\n});\n\nexport type FigmaNodeReferenceOrigin = z.infer<typeof FigmaNodeReferenceOrigin>;\nexport type FigmaNodeReference = z.infer<typeof FigmaNodeReference>;\n\nexport type CreateFigmaNodeReference = DbCreateInputOmit<FigmaNodeReference>;\nexport type UpdateFigmaNodeReference = OmitStrict<DbUpdate<FigmaNodeReference>, \"designSystemVersionId\">;\n\nexport type FigmaNodeReferenceDiff = {\n toUpdate: UpdateFigmaNodeReference[];\n};\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DesignElementBrandedPart, DesignElementGroupableBase } from \"./base\";\nimport { DesignTokenType } from \"./raw-element\";\nimport { DesignTokenOrigin, DesignTokenOriginPart, DesignTokenTypedData } from \"./tokens\";\n\n//\n// Overrides\n//\n\nexport const ThemeOverrideOriginPart = DesignTokenOriginPart;\nexport const ThemeOverrideOrigin = DesignTokenOrigin;\n\nexport const ThemeOverride = DesignTokenTypedData.and(\n z.object({\n tokenPersistentId: z.string(),\n origin: ThemeOverrideOrigin.optional()\n .nullable()\n .transform(v => v ?? undefined),\n })\n);\n\nexport type ThemeOverride = z.infer<typeof ThemeOverride>;\nexport type ThemeOverrideOfType<T extends DesignTokenType> = Extract<ThemeOverride, { type: T }>;\n\n//\n// Theme data\n//\n\nexport const ThemeElementData = z.object({\n value: z.object({\n overrides: z.array(ThemeOverride),\n }),\n});\n\nexport type ThemeElementData = z.infer<typeof ThemeElementData>;\n\n//\n// Theme\n//\n\nexport const ThemeOriginPart = z.object({});\n\nexport const ThemeOriginObject = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const ThemeOriginSource = z.object({\n sourceId: z.string(),\n sourceObjects: z.array(ThemeOriginObject),\n});\n\nexport const ThemeOrigin = z.object({\n sources: z.array(ThemeOriginSource),\n});\n\nexport const Theme = DesignElementGroupableBase.extend(DesignElementBrandedPart.shape).extend({\n origin: ThemeOrigin.optional(),\n overrides: z.array(ThemeOverride),\n codeName: z.string(),\n});\n\nexport type Theme = z.infer<typeof Theme>;\nexport type ThemeOrigin = z.infer<typeof ThemeOrigin>;\nexport type ThemeOriginSource = z.infer<typeof ThemeOriginSource>;\nexport type ThemeOriginObject = z.infer<typeof ThemeOriginObject>;\n\nexport type CreateTheme = DbCreateInputOmit<Theme>;\nexport type UpdateTheme = OmitStrict<DbUpdate<Theme>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type ThemeDiff = {\n toCreate: CreateTheme[];\n toUpdate: UpdateTheme[];\n};\n","import { z } from \"zod\";\nimport { DbUpdate, zodCreateInputOmit, zodUpdateInputOmit } from \"../../helpers\";\nimport { OmitStrict, SupernovaException } from \"../../utils\";\nimport {\n DesignElementBase,\n DesignElementBrandedPart,\n DesignElementGroupableRequiredPart,\n DesignElementOrigin,\n} from \"./base\";\nimport {\n BlurTokenData,\n BorderRadiusTokenData,\n BorderTokenData,\n BorderWidthTokenData,\n ColorTokenData,\n DimensionTokenData,\n DurationTokenData,\n FontFamilyTokenData,\n FontSizeTokenData,\n FontTokenData,\n FontWeightTokenData,\n GradientTokenData,\n LetterSpacingTokenData,\n LineHeightTokenData,\n OpacityTokenData,\n ParagraphSpacingTokenData,\n ProductCopyTokenData,\n ShadowTokenData,\n SizeTokenData,\n SpaceTokenData,\n StringTokenData,\n TextCaseTokenData,\n TextDecorationTokenData,\n TypographyTokenData,\n VisibilityTokenData,\n ZIndexTokenData,\n} from \"./data\";\nimport { areTokenTypesCompatible, castStringToDimensionValue, DesignTokenType } from \"./raw-element\";\n\n//\n// Base\n//\n\nexport const DesignTokenOriginPart = z.object({\n referenceOriginId: z.string().optional(),\n referenceOriginKey: z.string().optional(),\n referenceOriginName: z.string().optional(),\n referenceOriginRemote: z.boolean().optional(),\n referencePersistentId: z.string().optional(),\n referenceResolutionFailed: z.boolean().optional(),\n key: z.string().optional(),\n sortOrder: z.number().optional(),\n});\n\nexport const DesignTokenOrigin = DesignElementOrigin.extend(DesignTokenOriginPart.shape);\n\nconst DesignTokenBase = DesignElementBase.extend(DesignElementGroupableRequiredPart.shape)\n .extend(DesignElementBrandedPart.shape)\n .extend({\n origin: DesignTokenOrigin.optional(),\n collectionPersistentId: z.string().optional(),\n });\n\nconst CreateDesignTokenBase = DesignTokenBase.omit(zodCreateInputOmit());\nconst UpdateDesignTokenBase = DesignTokenBase.omit({\n ...zodUpdateInputOmit(),\n brandPersistentId: true,\n designSystemVersionId: true,\n});\n\n//\n// Per type\n//\n\nconst BlurTokenTypedData = z.object({\n type: z.literal(\"Blur\"),\n data: BlurTokenData,\n});\n\nconst ColorTokenTypedData = z.object({\n type: z.literal(\"Color\"),\n data: ColorTokenData,\n});\n\nconst GradientTokenTypedData = z.object({\n type: z.literal(\"Gradient\"),\n data: GradientTokenData,\n});\n\nconst OpacityTokenTypedData = z.object({\n type: z.literal(\"Opacity\"),\n data: OpacityTokenData,\n});\n\nconst ShadowTokenTypedData = z.object({\n type: z.literal(\"Shadow\"),\n data: ShadowTokenData,\n});\n\nconst TypographyTokenTypedData = z.object({\n type: z.literal(\"Typography\"),\n data: TypographyTokenData,\n});\n\nconst StringTokenTypedData = z.object({\n type: z.literal(\"String\"),\n data: StringTokenData,\n});\n\nconst DimensionTokenTypedData = z.object({\n type: z.literal(\"Dimension\"),\n data: DimensionTokenData,\n});\n\nconst FontSizeTokenTypedData = z.object({\n type: z.literal(\"FontSize\"),\n data: FontSizeTokenData,\n});\n\nconst FontFamilyTokenTypedData = z.object({\n type: z.literal(\"FontFamily\"),\n data: FontFamilyTokenData,\n});\n\nconst FontWeightTokenTypedData = z.object({\n type: z.literal(\"FontWeight\"),\n data: FontWeightTokenData,\n});\n\nconst LetterSpacingTokenTypedData = z.object({\n type: z.literal(\"LetterSpacing\"),\n data: LetterSpacingTokenData,\n});\n\nconst LineHeightTokenTypedData = z.object({\n type: z.literal(\"LineHeight\"),\n data: LineHeightTokenData,\n});\n\nconst ParagraphSpacingTokenTypedData = z.object({\n type: z.literal(\"ParagraphSpacing\"),\n data: ParagraphSpacingTokenData,\n});\n\nconst TextCaseTokenTypedData = z.object({\n type: z.literal(\"TextCase\"),\n data: TextCaseTokenData,\n});\n\nconst TextDecorationTokenTypedData = z.object({\n type: z.literal(\"TextDecoration\"),\n data: TextDecorationTokenData,\n});\n\nconst BorderRadiusTokenTypedData = z.object({\n type: z.literal(\"BorderRadius\"),\n data: BorderRadiusTokenData,\n});\n\nconst BorderWidthTokenTypedData = z.object({\n type: z.literal(\"BorderWidth\"),\n data: BorderWidthTokenData,\n});\n\nconst BorderTypedData = z.object({\n type: z.literal(\"Border\"),\n data: BorderTokenData,\n});\n\nconst ProductCopyTypedData = z.object({\n type: z.literal(\"ProductCopy\"),\n data: ProductCopyTokenData,\n});\n\nconst SizeTypedData = z.object({\n type: z.literal(\"Size\"),\n data: SizeTokenData,\n});\n\nconst SpaceTypedData = z.object({\n type: z.literal(\"Space\"),\n data: SpaceTokenData,\n});\n\nconst VisibilityTypedData = z.object({\n type: z.literal(\"Visibility\"),\n data: VisibilityTokenData,\n});\n\nconst ZIndexTypedData = z.object({\n type: z.literal(\"ZIndex\"),\n data: ZIndexTokenData,\n});\n\nconst DurationTypedData = z.object({\n type: z.literal(\"Duration\"),\n data: DurationTokenData,\n});\n\nconst FontTypedData = z.object({\n type: z.literal(\"Font\"),\n data: FontTokenData,\n});\n\n//\n// Global types\n//\n\nexport const DesignTokenTypedData = z.discriminatedUnion(\"type\", [\n BlurTokenTypedData,\n BorderRadiusTokenTypedData,\n BorderWidthTokenTypedData,\n BorderTypedData,\n ColorTokenTypedData,\n\n DimensionTokenTypedData,\n DurationTypedData,\n FontSizeTokenTypedData,\n FontFamilyTokenTypedData,\n FontWeightTokenTypedData,\n\n GradientTokenTypedData,\n LetterSpacingTokenTypedData,\n LineHeightTokenTypedData,\n OpacityTokenTypedData,\n ParagraphSpacingTokenTypedData,\n\n ProductCopyTypedData,\n ShadowTokenTypedData,\n SizeTypedData,\n SpaceTypedData,\n StringTokenTypedData,\n\n TextCaseTokenTypedData,\n TextDecorationTokenTypedData,\n TypographyTokenTypedData,\n VisibilityTypedData,\n ZIndexTypedData,\n FontTypedData,\n]);\n\nexport type DesignTokenOriginPart = z.infer<typeof DesignTokenOriginPart>;\nexport type DesignTokenOrigin = z.infer<typeof DesignTokenOrigin>;\n\nexport type DesignTokenBase = z.infer<typeof DesignTokenBase>;\n\nexport const DesignToken = DesignTokenTypedData.and(DesignTokenBase);\nexport const CreateDesignToken = DesignTokenTypedData.and(CreateDesignTokenBase);\n\nexport type DesignTokenTypedData = z.infer<typeof DesignTokenTypedData>;\nexport type DesignTokenTypedDataOfType<T extends DesignTokenType> = Extract<DesignTokenTypedData, { type: T }>;\n\nexport type DesignToken = z.infer<typeof DesignToken>;\nexport type ImportedDesignToken = OmitStrict<DesignToken, \"origin\"> & { origin: DesignTokenOrigin };\n\nexport type DesignTokenOfType<T extends DesignTokenType> = Extract<DesignToken, { type: T }>;\nexport type ImportedDesignTokenOfType<T extends DesignTokenType> = Extract<ImportedDesignToken, { type: T }>;\n\nexport type CreateDesignToken = z.infer<typeof CreateDesignToken>;\nexport type UpdateDesignToken = OmitStrict<DbUpdate<DesignToken>, \"brandPersistentId\" | \"designSystemVersionId\">;\n\nexport type DesignTokensDiff = {\n toCreate: CreateDesignToken[];\n toUpdate: UpdateDesignToken[];\n};\n\n//\n// Utilities\n//\n\nexport function extractTokenTypedData<T extends DesignTokenType, I extends DesignTokenTypedDataOfType<T>>(\n source: I\n): DesignTokenTypedDataOfType<T> {\n return {\n type: source.type,\n data: source.data,\n } as DesignTokenTypedDataOfType<T>;\n}\n\nexport function convertTokenTypedData<I extends DesignTokenType, O extends DesignTokenType>(\n source: DesignTokenTypedDataOfType<I>,\n type: O,\n isNonCompatibleTypeChangesEnabled: boolean\n): DesignTokenTypedDataOfType<O> {\n if (!areTokenTypesCompatible(source.type, type, isNonCompatibleTypeChangesEnabled)) {\n throw SupernovaException.invalidOperation(`Cannot convert token from ${source.type} to ${type}`);\n }\n\n const data = source.data;\n if (isNonCompatibleTypeChangesEnabled) {\n data.value = castStringToDimensionValue(source.type, type, source.data.value);\n }\n\n return {\n type,\n data,\n } as DesignTokenTypedDataOfType<O>;\n}\n\nexport function isImportedDesignToken<T extends DesignTokenType>(\n designToken: DesignTokenOfType<T>\n): designToken is ImportedDesignTokenOfType<T> {\n return !!designToken.origin;\n}\n\nexport function isDesignTokenOfType<T extends DesignTokenType>(\n designToken: DesignToken,\n type: T\n): designToken is DesignTokenOfType<T> {\n return designToken.type === type;\n}\n\nexport function designTokenTypeFilter<T extends DesignTokenType>(\n type: T\n): (designToken: DesignToken) => designToken is DesignTokenOfType<T> {\n return (designToken): designToken is DesignTokenOfType<T> => isDesignTokenOfType(designToken, type);\n}\n","import { DocumentationPageContentItem, PageBlockDefinition, PageBlockDefinitionProperty } from \"../documentation\";\nimport { PageBlockItemUntypedValue, PageBlockItemV2 } from \"./data\";\nimport { PageBlockEditorModelV2 } from \"./page-block-v2\";\n\n//\n// Traverse\n//\n\n/**\n * Pay attention to correct types!\n */\nexport function mapPageBlockItemValuesV2(\n pageItems: DocumentationPageContentItem[],\n definitionsMap: PageBlockDefinitionsMap,\n fn: (\n block: PageBlockEditorModelV2,\n item: PageBlockItemV2,\n property: PageBlockDefinitionProperty,\n value: PageBlockItemUntypedValue\n ) => PageBlockItemUntypedValue\n) {\n traversePageBlockItemsV2(pageItems, (block, item) => {\n Object.entries(item.props).forEach(([propKey, value]) => {\n const property = definitionsMap.getDefinitionProperty(block.data.packageId, propKey);\n if (!property) return;\n\n item.props[propKey] = fn(block, item, property, value);\n });\n });\n}\n\nexport function traversePageBlockItemValuesV2(\n pageItems: DocumentationPageContentItem[],\n definitionsMap: PageBlockDefinitionsMap,\n fn: (\n block: PageBlockEditorModelV2,\n item: PageBlockItemV2,\n property: PageBlockDefinitionProperty,\n value: PageBlockItemUntypedValue\n ) => void\n) {\n traversePageBlockItemsV2(pageItems, (block, item) => {\n Object.entries(item.props).forEach(([propKey, value]) => {\n const property = definitionsMap.getDefinitionProperty(block.data.packageId, propKey);\n if (!property) return;\n\n fn(block, item, property, value);\n });\n });\n}\n\nexport function traversePageBlockItemsV2(\n pageItems: DocumentationPageContentItem[],\n fn: (block: PageBlockEditorModelV2, item: PageBlockItemV2) => void\n) {\n traversePageItemsV2(pageItems, block => {\n block.data.items.forEach(item => {\n fn(block, item);\n });\n });\n}\n\nexport function traversePageItemsV2(\n pageItems: DocumentationPageContentItem[],\n fn: (item: PageBlockEditorModelV2) => void\n): void {\n for (const item of pageItems) {\n switch (item.type) {\n case \"Block\":\n fn(item);\n\n break;\n\n case \"Section\":\n item.items.forEach(i => {\n i.columns.forEach(c => {\n traversePageItemsV2(c.blocks, fn);\n });\n });\n\n break;\n }\n }\n}\n\n//\n// Definitions map\n//\n\nexport class PageBlockDefinitionsMap {\n private definitionsMap = new Map<string, PageBlockDefinition>();\n private propertiesMap = new Map<string, PageBlockDefinitionProperty>();\n\n constructor(definitions: PageBlockDefinition[]) {\n definitions.forEach(d => {\n this.definitionsMap.set(d.id, d);\n d.item.properties.forEach(p => {\n this.propertiesMap.set(this.propertyKey(d.id, p.id), p);\n });\n });\n }\n\n getDefinition(id: string): PageBlockDefinition | undefined {\n return this.definitionsMap.get(id);\n }\n\n getDefinitionProperty(defId: string, propId: string): PageBlockDefinitionProperty | undefined {\n return this.propertiesMap.get(this.propertyKey(defId, propId));\n }\n\n private propertyKey(defId: string, propId: string): string {\n return `${defId}.${propId}`;\n }\n}\n","import { z } from \"zod\";\n\nexport const FigmaFile = z.object({\n id: z.string(),\n name: z.string(),\n lastModifiedAt: z.coerce.date(),\n thumbnailUrl: z.string().optional(),\n});\n\nexport type FigmaFile = z.infer<typeof FigmaFile>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DataSourceRemoteType } from \"./enums\";\nimport { Entity } from \"../../common\";\n\nexport const ImportJobState = z.enum([\"PendingInput\", \"Queued\", \"InProgress\", \"Failed\", \"Success\"]);\nexport const ImportJobOperation = z.enum([\"Check\", \"Import\"]);\n\nexport const ImportJob = Entity.extend({\n designSystemId: z.string(),\n designSystemVersionId: z.string(),\n sourceIds: z.array(z.string()),\n state: ImportJobState,\n createdByUserId: z.string().optional(),\n importContextId: z.string(),\n error: z.string().optional(),\n sourceType: DataSourceRemoteType,\n importContextCleanedUp: z.boolean(),\n});\n\nexport type ImportJobState = z.infer<typeof ImportJobState>;\nexport type ImportJobOperation = z.infer<typeof ImportJobOperation>;\nexport type ImportJob = z.infer<typeof ImportJob>;\n\nexport type CreateImportJob = DbCreateInputOmit<ImportJob>;\nexport type UpdateImportJob = OmitStrict<\n DbUpdate<ImportJob>,\n \"designSystemId\" | \"createdByUserId\" | \"sourceIds\" | \"importContextId\"\n>;\n","import { z } from \"zod\";\nimport { CollectionImportModel, CollectionImportModelInput } from \"../collection\";\nimport { AssetImportModelInput, FigmaComponentImportModel, FigmaComponentImportModelInput } from \"../component\";\nimport { DataSourceImportModel } from \"../data-source\";\nimport { FigmaFileStructureImportModel, FigmaFileStructureImportModelInput } from \"../figma-frames\";\nimport { ThemeImportModel, ThemeImportModelInput, ThemeUpdateImportModel, ThemeUpdateImportModelInput } from \"../theme\";\nimport { DesignTokenImportModel, DesignTokenImportModelInput } from \"../tokens\";\n\n//\n// Collections\n//\n\nexport const ImportModelInputCollection = z.object({\n source: DataSourceImportModel,\n tokens: z.array(DesignTokenImportModelInput).default([]),\n components: z.array(FigmaComponentImportModelInput).default([]),\n assets: z.array(AssetImportModelInput).default([]),\n themeUpdates: z.array(ThemeUpdateImportModelInput).default([]),\n themes: z.array(ThemeImportModelInput).default([]),\n figmaFileStructure: FigmaFileStructureImportModelInput.optional(),\n collections: z.array(CollectionImportModelInput),\n});\n\nexport const ImportModelCollection = z.object({\n sources: z.array(DataSourceImportModel),\n tokens: z.array(DesignTokenImportModel).default([]),\n components: z.array(FigmaComponentImportModel).default([]),\n themeUpdates: z.array(ThemeUpdateImportModel).default([]),\n themes: z.array(ThemeImportModel).default([]),\n figmaFileStructures: z.array(FigmaFileStructureImportModel),\n collections: z.array(CollectionImportModel),\n});\n\nexport type ImportModelCollection = z.infer<typeof ImportModelCollection>;\nexport type ImportModelInputCollection = z.infer<typeof ImportModelInputCollection>;\n\nexport function addImportModelCollections(\n lhs: ImportModelCollection,\n rhs: ImportModelCollection\n): ImportModelCollection {\n return {\n sources: [...lhs.sources, ...rhs.sources],\n tokens: [...lhs.tokens, ...rhs.tokens],\n components: [...lhs.components, ...rhs.components],\n themeUpdates: [...lhs.themeUpdates, ...rhs.themeUpdates],\n themes: [...lhs.themes, ...rhs.themes],\n figmaFileStructures: [...lhs.figmaFileStructures, ...rhs.figmaFileStructures],\n collections: [...lhs.collections, ...rhs.collections],\n };\n}\n","import { z } from \"zod\";\nimport { CollectionOrigin } from \"../collection\";\n\nexport const CollectionImportModelInput = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport const CollectionImportModel = z.object({\n id: z.string(),\n name: z.string(),\n origin: CollectionOrigin,\n});\n\nexport type CollectionImportModelInput = z.infer<typeof CollectionImportModelInput>;\nexport type CollectionImportModel = z.infer<typeof CollectionImportModel>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\nimport { ColorTokenInlineData } from \"./properties\";\n\nexport const CollectionOrigin = z.object({\n id: z.string(),\n sourceId: z.string(),\n});\n\nexport const Collection = z.object({\n id: z.string(),\n persistentId: z.string(),\n\n designSystemVersionId: z.string(),\n\n name: z.string(),\n description: z.string(),\n backgroundColor: ColorTokenInlineData.optional(),\n\n parentPersistentId: z.string().optional(),\n\n /**\n * ID of Select element property definition's option that corresponds to this collection.\n *\n * Each collection is represented by an option in a special kind of element property that\n * is present in each design system where a collections are present. The property is maintained\n * automatically and is not available to the user (see immutable element properties).\n *\n * Collections have an immutable element property that allows bridging places where element properites\n * can be selected (e.g. documentation blocks) with the concept of collection without having to add\n * specific logic for collection selection.\n */\n elementPropertyOptionId: z.string(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n\n sortOrder: z.string(),\n\n origin: CollectionOrigin.optional(),\n});\n\nexport type CollectionOrigin = z.infer<typeof CollectionOrigin>;\nexport type Collection = z.infer<typeof Collection>;\n\nexport type CreateCollection = OmitStrict<DbCreateInputOmit<Collection>, \"elementPropertyOptionId\">;\nexport type UpdateCollection = OmitStrict<\n DbUpdate<Collection>,\n \"designSystemVersionId\" | \"origin\" | \"elementPropertyOptionId\"\n> & {\n origin?: Partial<CollectionOrigin>;\n};\n","import { z } from \"zod\";\nimport { FigmaComponentOrigin, FigmaComponentOriginPart, FigmaComponentPropertyMap } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\nimport { FigmaSvgRenderImportModel, ImageImportModel } from \"./image\";\n\n//\n// Import model\n//\n\nconst FigmaComponentImportModelPart = z.object({\n thumbnail: ImageImportModel,\n parentComponentId: z.string().optional(),\n componentPropertyDefinitions: FigmaComponentPropertyMap.optional(),\n variantPropertyValues: z.record(z.string()).optional(),\n renderNodeId: z.string(),\n svg: FigmaSvgRenderImportModel.optional(),\n});\n\nexport const FigmaComponentImportModel = ImportModelBase.extend(FigmaComponentImportModelPart.shape).extend({\n origin: FigmaComponentOrigin,\n isAsset: z.boolean(),\n});\n\nexport type FigmaComponentImportModel = z.infer<typeof FigmaComponentImportModel>;\n\n//\n// Import model input\n//\n\nexport const FigmaComponentImportModelInput = ImportModelInputBase.extend(FigmaComponentImportModelPart.shape).extend({\n originMetadata: FigmaComponentOriginPart,\n isAsset: z.boolean().optional(),\n});\n\nexport const AssetImportModelInput = FigmaComponentImportModelInput;\n\nexport type FigmaComponentImportModelInput = z.infer<typeof FigmaComponentImportModelInput>;\nexport type AssetImportModelInput = z.infer<typeof AssetImportModelInput>;\n","import { z } from \"zod\";\nimport { DesignElementOrigin } from \"../elements\";\nimport { ObjectMeta } from \"../../common\";\n\nexport const ImportModelBase = z.object({\n id: z.string(),\n meta: ObjectMeta,\n origin: DesignElementOrigin,\n brandPersistentId: z.string(),\n sortOrder: z.number(),\n});\n\nexport type ImportModelBase = z.infer<typeof ImportModelBase>;\n\nexport const ImportModelInputBase = ImportModelBase.omit({\n brandPersistentId: true,\n origin: true,\n sortOrder: true,\n}).extend({\n originId: z.string(),\n originMetadata: z.record(z.any()),\n});\n\nexport type ImportModelInputBase = z.infer<typeof ImportModelInputBase>;\n","import { z } from \"zod\";\nimport { AssetScope } from \"../assets\";\n\n//\n// Abstract\n//\n\nexport const ImageImportModelType = z.enum([\"Url\", \"FigmaRender\"]);\nexport type ImageImportModelType = z.infer<typeof ImageImportModelType>;\n\nconst ImageImportModelBase = z.object({\n scope: AssetScope,\n});\n\n//\n// Url\n//\n\nexport const UrlImageImportModel = ImageImportModelBase.extend({\n type: z.literal(ImageImportModelType.enum.Url),\n url: z.string(),\n originKey: z.string(),\n extension: z.string(),\n});\n\nexport type UrlImageImportModel = z.infer<typeof UrlImageImportModel>;\n\n//\n// Figma Render\n//\n\nexport const FigmaRenderFormat = z.enum([\"Svg\", \"Png\", \"Pdf\"]);\n\nconst FigmaRenderBase = ImageImportModelBase.extend({\n type: z.literal(ImageImportModelType.enum.FigmaRender),\n fileId: z.string(),\n fileVersionId: z.string().optional(),\n nodeId: z.string(),\n originKey: z.string(),\n});\n\nexport const FigmaPngRenderImportModel = FigmaRenderBase.extend({\n format: z.literal(FigmaRenderFormat.enum.Png),\n scale: z.number(),\n});\n\nexport const FigmaSvgRenderImportModel = FigmaRenderBase.extend({\n format: z.literal(FigmaRenderFormat.enum.Svg),\n});\n\nexport const FigmaRenderImportModel = z.discriminatedUnion(\"format\", [\n FigmaPngRenderImportModel,\n FigmaSvgRenderImportModel,\n]);\n\n//\n// Union\n//\n\n// Unfortunately discriminated union doesn't support inserting another discriminated union\nexport const ImageImportModel = z.union([UrlImageImportModel, FigmaRenderImportModel]);\n\n//\n// Types\n//\n\nexport type FigmaRenderFormat = z.infer<typeof FigmaRenderFormat>;\nexport type FigmaRenderBase = z.infer<typeof FigmaRenderBase>;\nexport type FigmaPngRenderImportModel = z.infer<typeof FigmaPngRenderImportModel>;\nexport type FigmaSvgRenderImportModel = z.infer<typeof FigmaSvgRenderImportModel>;\nexport type FigmaRenderImportModel = z.infer<typeof FigmaRenderImportModel>;\nexport type ImageImportModel = z.infer<typeof ImageImportModel>;\n\n//\n// Utils\n//\n\nexport function getFigmaRenderFormatFileExtension(format: FigmaRenderFormat): string {\n switch (format) {\n case \"Pdf\":\n return \"pdf\";\n case \"Png\":\n return \"png\";\n case \"Svg\":\n return \"svg\";\n }\n}\n","import { z } from \"zod\";\n\nexport const DataSourceImportModel = z.object({\n id: z.string(),\n fileName: z.string().optional(),\n thumbnailUrl: z.string().optional(),\n});\n\nexport type DataSourceImportModel = z.infer<typeof DataSourceImportModel>;\n","import { ZodTypeDef, z } from \"zod\";\nimport { FigmaFileStructureNodeBase, FigmaFileStructureOrigin, FigmaFileStructureStatistics } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\n\n//\n// Nodes Import Model\n//\n\nexport const FigmaFileStructureNodeImportModel: z.ZodType<\n FigmaFileStructureNodeImportModel,\n ZodTypeDef,\n FigmaFileStructureNodeImportModelBaseInput\n> = FigmaFileStructureNodeBase.extend({\n children: z.lazy(() => FigmaFileStructureNodeImportModel.array()),\n});\n\ntype FigmaFileStructureNodeImportModelBaseInput = z.input<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeImportModelBaseInput[];\n};\n\nexport type FigmaFileStructureNodeImportModel = z.infer<typeof FigmaFileStructureNodeBase> & {\n children: FigmaFileStructureNodeImportModel[];\n};\n\n//\n// Structure Import Model\n//\n\nconst FigmaFileStructureImportModelPart = z.object({\n data: z.object({\n rootNode: FigmaFileStructureNodeImportModel,\n assetsInFile: FigmaFileStructureStatistics,\n }),\n});\n\nexport const FigmaFileStructureImportModel = ImportModelBase.extend(FigmaFileStructureImportModelPart.shape).extend({\n origin: FigmaFileStructureOrigin,\n});\n\nexport type FigmaFileStructureImportModel = z.infer<typeof FigmaFileStructureImportModel>;\n\n//\n// Import model input\n//\n\nexport const FigmaFileStructureImportModelInput = ImportModelInputBase.extend(\n FigmaFileStructureImportModelPart.shape\n).extend({\n fileVersionId: z.string(),\n});\n\nexport type FigmaFileStructureImportModelInput = z.infer<typeof FigmaFileStructureImportModelInput>;\n\nexport function figmaFileStructureImportModelToMap(\n root: FigmaFileStructureNodeImportModel\n): Map<string, FigmaFileStructureNodeImportModel> {\n const map = new Map<string, FigmaFileStructureNodeImportModel>();\n recursiveFigmaFileStructureToMap(root, map);\n return map;\n}\n\nfunction recursiveFigmaFileStructureToMap(\n node: FigmaFileStructureNodeImportModel,\n map: Map<string, FigmaFileStructureNodeImportModel>\n) {\n map.set(node.id, node);\n for (const child of node.children) recursiveFigmaFileStructureToMap(child, map);\n}\n","import { z } from \"zod\";\nimport {\n DesignTokenTypedData,\n DesignTokenType,\n ThemeOriginObject,\n ThemeOriginSource,\n ThemeOverrideOrigin,\n ThemeOverrideOriginPart,\n} from \"../elements\";\nimport { ObjectMeta } from \"../../common\";\n\n//\n// Overrides\n//\n\nexport const ThemeOverrideImportModelBase = DesignTokenTypedData.and(\n z.object({\n id: z.string(),\n meta: ObjectMeta,\n })\n);\n\nexport const ThemeOverrideImportModel = ThemeOverrideImportModelBase.and(\n z.object({\n origin: ThemeOverrideOrigin,\n })\n);\n\nexport const ThemeOverrideImportModelInput = ThemeOverrideImportModelBase.and(\n z.object({\n originId: z.string(),\n originMetadata: ThemeOverrideOriginPart,\n })\n);\n\nexport type ThemeOverrideImportModel = z.infer<typeof ThemeOverrideImportModel>;\nexport type ThemeOverrideImportModelOfType<T extends DesignTokenType> = Extract<ThemeOverrideImportModel, { type: T }>;\n\nexport type ThemeOverrideImportModelInput = z.infer<typeof ThemeOverrideImportModelInput>;\nexport type ThemeOverrideImportModelInputOfType<T extends DesignTokenType> = Extract<\n ThemeOverrideImportModelInput,\n { type: T }\n>;\n\n//\n// Themes\n//\n\nexport const ThemeImportModel = z.object({\n meta: ObjectMeta,\n brandPersistentId: z.string(),\n originSource: ThemeOriginSource,\n overrides: z.array(ThemeOverrideImportModel),\n sortOrder: z.number(),\n});\n\nexport const ThemeImportModelInput = z.object({\n meta: ObjectMeta,\n originObjects: z.array(ThemeOriginObject),\n overrides: z.array(ThemeOverrideImportModelInput),\n});\n\nexport type ThemeImportModel = z.infer<typeof ThemeImportModel>;\nexport type ThemeImportModelInput = z.infer<typeof ThemeImportModelInput>;\n\n//\n// Theme Update\n//\n\nexport const ThemeUpdateImportModel = z.object({\n themePersistentId: z.string(),\n overrides: z.array(ThemeOverrideImportModel),\n});\n\nexport const ThemeUpdateImportModelInput = z.object({\n themePersistentId: z.string(),\n overrides: z.array(ThemeOverrideImportModelInput),\n});\n\nexport type ThemeUpdateImportModel = z.infer<typeof ThemeUpdateImportModel>;\nexport type ThemeUpdateImportModelInput = z.infer<typeof ThemeUpdateImportModelInput>;\n","import { z } from \"zod\";\nimport { DesignTokenOrigin, DesignTokenOriginPart, DesignTokenType, DesignTokenTypedData } from \"../elements\";\nimport { ImportModelBase, ImportModelInputBase } from \"./base\";\n\n//\n// Base\n//\n\nconst DesignTokenImportModelPart = z.object({\n collectionId: z.string().optional(),\n codeSyntax: z.record(z.coerce.string()).optional(),\n scopes: z.array(z.string()).optional(),\n});\n\nexport const DesignTokenImportModelBase = ImportModelBase.extend(DesignTokenImportModelPart.shape).extend({\n origin: DesignTokenOrigin,\n});\n\nexport const DesignTokenImportModelInputBase = ImportModelInputBase.extend(DesignTokenImportModelPart.shape).extend({\n originMetadata: DesignTokenOriginPart,\n});\n\n//\n// Import models\n//\n\nexport const DesignTokenImportModel = DesignTokenTypedData.and(DesignTokenImportModelBase);\nexport const DesignTokenImportModelInput = DesignTokenTypedData.and(DesignTokenImportModelInputBase);\n\nexport type DesignTokenImportModelInputBase = z.infer<typeof DesignTokenImportModelInputBase>;\n\nexport type DesignTokenImportModel = z.infer<typeof DesignTokenImportModel>;\nexport type DesignTokenImportModelOfType<T extends DesignTokenType> = Extract<DesignTokenImportModel, { type: T }>;\n\nexport type DesignTokenImportModelInput = z.infer<typeof DesignTokenImportModelInput>;\nexport type DesignTokenImportModelInputOfType<T extends DesignTokenType> = Extract<DesignTokenImportModel, { type: T }>;\n\nexport function isDesignTokenImportModelOfType<T extends DesignTokenType>(\n designToken: DesignTokenImportModel,\n type: T\n): designToken is DesignTokenImportModelOfType<T> {\n return designToken.type === type;\n}\n\nexport function designTokenImportModelTypeFilter<T extends DesignTokenType>(\n type: T\n): (designToken: DesignTokenImportModel) => designToken is DesignTokenImportModelOfType<T> {\n return (designToken): designToken is DesignTokenImportModelOfType<T> =>\n isDesignTokenImportModelOfType(designToken, type);\n}\n","import { z } from \"zod\";\n\nexport const DocumentationPageApprovalState = z.enum([\"ReadyForReview\", \"ChangesRequested\", \"Approved\"]);\nexport type DocumentationPageApprovalState = z.infer<typeof DocumentationPageApprovalState>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../../../helpers/db\";\nimport { DocumentationPageApprovalState } from \"../approvals/approval-state\";\n\nexport const DocumentationPageApproval = z.object({\n id: z.string(),\n approvalState: DocumentationPageApprovalState,\n persistentId: z.string(),\n pageId: z.string(),\n pagePersistentId: z.string(),\n updatedByUserId: z.string(),\n designSystemVersionId: z.string(),\n updatedAt: z.coerce.date(),\n createdAt: z.coerce.date(),\n});\n\nexport type CreateDocumentationPageApproval = DbCreateInputOmit<DocumentationPageApproval>;\nexport type DocumentationPageApproval = z.infer<typeof DocumentationPageApproval>;\n","import { z } from \"zod\";\nimport { PageBlockDefinitionAppearance } from \"./aux\";\nimport { PageBlockDefinitionItem } from \"./item\";\n\n//\n// Enums\n//\n\nexport const PageBlockCategory = z.enum([\n \"Text\",\n \"Layout\",\n \"Media\",\n \"Embed\",\n \"Figma\",\n \"Code\",\n \"Guidelines\",\n \"Tokens\",\n \"Components\",\n \"Assets\",\n \"Data\",\n \"Other\",\n]);\n\nexport const PageBlockBehaviorDataType = z.enum([\n \"Item\",\n \"Token\",\n \"Asset\",\n \"Component\",\n \"FigmaNode\",\n \"FigmaComponent\",\n \"File\",\n]);\n\nexport const PageBlockBehaviorSelectionType = z.enum([\"Entity\", \"Group\", \"EntityAndGroup\"]);\n\nexport type PageBlockCategory = z.infer<typeof PageBlockCategory>;\nexport type PageBlockBehaviorDataType = z.infer<typeof PageBlockBehaviorDataType>;\nexport type PageBlockBehaviorSelectionType = z.infer<typeof PageBlockBehaviorSelectionType>;\n\n//\n// Definitions\n//\n\nexport const PageBlockDefinitionBehavior = z.object({\n dataType: PageBlockBehaviorDataType,\n items: z\n .object({\n numberOfItems: z.number(),\n allowLinks: z.boolean(),\n newItemLabel: z.string().optional(),\n })\n .optional(),\n entities: z\n .object({\n selectionType: PageBlockBehaviorSelectionType,\n maxSelected: z.number(),\n })\n .optional(),\n});\n\nexport const PageBlockDefinitionOnboarding = z.object({\n helpText: z.string(),\n documentationLink: z.string().optional(),\n});\n\nexport const PageBlockDefinition = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string(),\n category: PageBlockCategory,\n icon: z.string().optional(),\n documentationLink: z.string().optional(),\n searchKeywords: z.array(z.string()).optional(),\n item: PageBlockDefinitionItem,\n behavior: PageBlockDefinitionBehavior,\n editorOptions: z.object({\n onboarding: PageBlockDefinitionOnboarding.optional(),\n newItemLabel: z.string().optional(),\n }),\n appearance: PageBlockDefinitionAppearance.optional(),\n});\n\nexport type PageBlockDefinitionBehavior = z.infer<typeof PageBlockDefinitionBehavior>;\nexport type PageBlockDefinitionOnboarding = z.infer<typeof PageBlockDefinitionOnboarding>;\nexport type PageBlockDefinition = z.infer<typeof PageBlockDefinition>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageGroup = z.object({\n type: z.literal(\"ElementGroup\"),\n childType: z.literal(\"DocumentationPage\"),\n id: z.string(),\n persistentId: z.string(),\n shortPersistentId: z.string(),\n designSystemVersionId: z.string(),\n parentPersistentId: z.string().nullish(),\n sortOrder: z.number(),\n title: z.string(),\n slug: z.string(),\n userSlug: z.string().nullish(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationPageGroup = z.infer<typeof DocumentationPageGroup>;\n","import { z } from \"zod\";\nimport { PageBlockImageReference } from \"../elements\";\n\nexport const DocumentationLinkPreview = z.object({\n title: z.string().optional(),\n description: z.string().optional(),\n thumbnail: PageBlockImageReference.optional(),\n});\n\nexport type DocumentationLinkPreview = z.infer<typeof DocumentationLinkPreview>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageAnchor = z.object({\n blockId: z.string(),\n level: z.number(),\n text: z.string(),\n});\n\nexport type DocumentationPageAnchor = z.infer<typeof DocumentationPageAnchor>;\n","import { z } from \"zod\";\n\nexport const DocumentationPageContentBackup = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n documentationPageName: z.string(),\n storagePath: z.string(),\n});\n\nexport type DocumentationPageContentBackup = z.infer<typeof DocumentationPageContentBackup>;\n","import { z } from \"zod\";\nimport { PageBlockEditorModelV2, PageSectionEditorModelV2 } from \"../elements\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageContentItem = z.discriminatedUnion(\"type\", [\n PageBlockEditorModelV2,\n PageSectionEditorModelV2,\n]);\n\nexport const DocumentationPageContentData = z.object({\n items: z.array(DocumentationPageContentItem),\n});\n\nexport const DocumentationPageContent = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n data: DocumentationPageContentData,\n});\n\nexport type DocumentationPageContentItem = z.infer<typeof DocumentationPageContentItem>;\nexport type DocumentationPageContentData = z.infer<typeof DocumentationPageContentData>;\nexport type DocumentationPageContent = z.infer<typeof DocumentationPageContent>;\n\nexport type CreateDocumentationPageContent = DbCreateInputOmit<DocumentationPageContent>;\nexport type UpdateDocumentationPageContent = OmitStrict<\n DbUpdate<DocumentationPageContent>,\n \"designSystemVersionId\" | \"documentationPageId\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageDependencies = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n documentationPageId: z.string(),\n\n tokenPersistentIds: z.set(z.string()),\n figmaComponentPersistentIds: z.set(z.string()),\n componentPersistentIds: z.set(z.string()),\n figmaNodePersistentIds: z.set(z.string()),\n groupPersistentIds: z.set(z.string()),\n propertyPersistentIds: z.set(z.string()),\n themePersistentIds: z.set(z.string()),\n documentationPagePersistentIds: z.set(z.string()),\n storybookEntriesStoryIds: z.array(z.string()),\n});\n\nexport type PageContentDependencies = {\n tokenPersistentIds: Set<string>;\n figmaComponentPersistentIds: Set<string>;\n componentPersistentIds: Set<string>;\n figmaNodePersistentIds: Set<string>;\n groupPersistentIds: Set<string>;\n propertyPersistentIds: Set<string>;\n themePersistentIds: Set<string>;\n documentationPagePersistentIds: Set<string>;\n storybookEntriesStoryIds: Array<string>;\n};\nexport type PagesContentDependencies = Map<string, PageContentDependencies>;\n\nexport type DocumentationPageDependencies = z.infer<typeof DocumentationPageDependencies>;\n\nexport type CreateDocumentationPageDependencies = DbCreateInputOmit<DocumentationPageDependencies>;\nexport type UpdateDocumentationPageDependencies = OmitStrict<\n DbUpdate<DocumentationPageDependencies>,\n \"designSystemVersionId\" | \"documentationPageId\"\n>;\n","import { z } from \"zod\";\n\nexport const DocumentationPage = z.object({\n type: z.literal(\"DocumentationPage\"),\n id: z.string(),\n persistentId: z.string(),\n shortPersistentId: z.string(),\n designSystemVersionId: z.string(),\n parentPersistentId: z.string().nullish(),\n sortOrder: z.number(),\n title: z.string(),\n slug: z.string(),\n userSlug: z.string().nullish(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationPage = z.infer<typeof DocumentationPage>;\n","import { z } from \"zod\";\n\nexport const PageRedirect = z.object({\n id: z.string(),\n pagePersistentId: z.string(),\n path: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n designSystemId: z.string(),\n});\n\nexport type PageRedirect = z.infer<typeof PageRedirect>;\n","import { z } from \"zod\";\n\nexport const DocumentationSettings = z.object({\n // Basic\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n\n // Configuration\n isTabbedLayoutEnabled: z.boolean(),\n storybookEmbedErrorMessage: z.string().optional(),\n renderCodePackageJson: z.string().optional(),\n selectedBrandPersistentId: z.string().optional(),\n serveDefaultVersionOnly: z.boolean(),\n isPublic: z.boolean(),\n});\n\nexport type DocumentationSettings = z.infer<typeof DocumentationSettings>;\n","import { z } from \"zod\";\n\nexport const DocumentationComment = z.object({\n id: z.string(),\n\n authorId: z.string(),\n threadId: z.string(),\n roomId: z.string(),\n\n createdAt: z.coerce.date(),\n editedAt: z.coerce.date().optional(),\n deletedAt: z.coerce.date().optional(),\n\n body: z.string(),\n});\n\nexport const DocumentationCommentThread = z.object({\n id: z.string(),\n\n roomId: z.string(),\n\n pagePersistentId: z.string(),\n brandId: z.string(),\n designSystemVersionId: z.string(),\n designSystemId: z.string(),\n\n blockId: z.string().optional(),\n resolved: z.boolean(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DocumentationComment = z.infer<typeof DocumentationComment>;\nexport type DocumentationCommentThread = z.infer<typeof DocumentationCommentThread>;\n","import { z } from \"zod\";\nimport { groupBy } from \"../../utils\";\n\nexport const DesignElementSnapshotReason = z.enum([\"Publish\", \"Deletion\"]);\n\nexport const DesignElementSnapshotBase = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n reason: DesignElementSnapshotReason,\n createdByUserId: z.string(),\n});\n\nexport type DesignElementSnapshotBase = z.infer<typeof DesignElementSnapshotBase>;\nexport type DesignElementSnapshotReason = z.infer<typeof DesignElementSnapshotReason>;\n\n//\n// Util functions\n//\n\nexport function pickLatestSnapshots<T extends DesignElementSnapshotBase>(\n snapshots: T[],\n getSnapshotElementId: (snapshot: T) => string\n): T[] {\n const groupedSnapshots = groupBy(snapshots, getSnapshotElementId);\n\n return Array.from(groupedSnapshots.entries()).map(([_, snapshots]) => {\n // Sort snapshots by created at date desc\n const sorted = snapshots.sort((lhs, rhs) => rhs.createdAt.getTime() - lhs.createdAt.getTime());\n return sorted[0];\n });\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { DocumentationPageV2 } from \"../elements\";\nimport { DesignElementSnapshotBase, pickLatestSnapshots } from \"./base\";\n\n/**\n * Snapshot of a documentation page.\n *\n * Please note that existence of snapshot's references (including parent persistent id) is not guaranteed.\n */\nexport const DocumentationPageSnapshot = DesignElementSnapshotBase.extend({\n page: DocumentationPageV2,\n pageContentHash: z.string(),\n pageContentStorageKey: z.string(),\n});\n\nexport type DocumentationPageSnapshot = z.infer<typeof DocumentationPageSnapshot>;\n\nexport type CreateDocumentationPageSnapshot = DbCreateInputOmit<DocumentationPageSnapshot>;\nexport type UpdateDocumentationPageSnapshot = OmitStrict<DbUpdate<DocumentationPageSnapshot>, \"designSystemVersionId\">;\n\n//\n// Util functions\n//\n\nexport function pickLatestPageSnapshots(snapshots: DocumentationPageSnapshot[]): DocumentationPageSnapshot[] {\n return pickLatestSnapshots(snapshots, s => s.page.id);\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ElementGroup } from \"../elements\";\nimport { DesignElementSnapshotBase, pickLatestSnapshots } from \"./base\";\n\n/**\n * Snapshot of an element group.\n *\n * Please note that existence of snapshot's references (including parent persistent id) is not guaranteed.\n */\nexport const ElementGroupSnapshot = DesignElementSnapshotBase.extend({\n group: ElementGroup,\n});\n\nexport type ElementGroupSnapshot = z.infer<typeof ElementGroupSnapshot>;\n\nexport type CreateElementGroupSnapshot = DbCreateInputOmit<ElementGroupSnapshot>;\nexport type UpdateElementGroupSnapshot = OmitStrict<DbUpdate<ElementGroupSnapshot>, \"designSystemVersionId\">;\n\n//\n// Util functions\n//\n\nexport function pickLatestGroupSnapshots(snapshots: ElementGroupSnapshot[]): ElementGroupSnapshot[] {\n return pickLatestSnapshots(snapshots, s => s.group.id);\n}\n","import { z } from \"zod\";\n\nconst FigmaExporterProcessedStylesSchema = z.object({\n display: z\n .union([\n z.literal(\"block\"),\n z.literal(\"inline-block\"),\n z.literal(\"inline\"),\n z.literal(\"flex\"),\n z.literal(\"grid\"),\n z.literal(\"none\"),\n ])\n .optional(),\n position: z\n .union([z.literal(\"absolute\"), z.literal(\"relative\"), z.literal(\"fixed\"), z.literal(\"static\"), z.literal(\"sticky\")])\n .optional(),\n top: z.string().optional(),\n right: z.string().optional(),\n bottom: z.string().optional(),\n left: z.string().optional(),\n width: z.string().optional(),\n height: z.string().optional(),\n minWidth: z.string().optional(),\n minHeight: z.string().optional(),\n maxWidth: z.string().optional(),\n maxHeight: z.string().optional(),\n zIndex: z.number().optional(),\n overflow: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n overflowX: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n overflowY: z\n .union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"scroll\"), z.literal(\"auto\"), z.literal(\"clip\")])\n .optional(),\n aspectRatio: z.string().optional(),\n flexDirection: z\n .union([z.literal(\"row\"), z.literal(\"row-reverse\"), z.literal(\"column\"), z.literal(\"column-reverse\")])\n .optional(),\n justifyContent: z\n .union([\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"space-between\"),\n z.literal(\"space-around\"),\n z.literal(\"space-evenly\"),\n ])\n .optional(),\n alignItems: z\n .union([\n z.literal(\"stretch\"),\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"baseline\"),\n ])\n .optional(),\n alignSelf: z\n .union([\n z.literal(\"auto\"),\n z.literal(\"stretch\"),\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"baseline\"),\n ])\n .optional(),\n flexGrow: z.number().optional(),\n flexShrink: z.number().optional(),\n flexBasis: z.string().optional(),\n flexWrap: z.union([z.literal(\"nowrap\"), z.literal(\"wrap\"), z.literal(\"wrap-reverse\")]).optional(),\n gap: z.string().optional(),\n rowGap: z.string().optional(),\n columnGap: z.string().optional(),\n gridTemplateColumns: z.string().optional(),\n gridTemplateRows: z.string().optional(),\n gridColumn: z.string().optional(),\n gridRow: z.string().optional(),\n gridAutoFlow: z\n .union([\n z.literal(\"row\"),\n z.literal(\"column\"),\n z.literal(\"dense\"),\n z.literal(\"row dense\"),\n z.literal(\"column dense\"),\n ])\n .optional(),\n alignContent: z\n .union([\n z.literal(\"flex-start\"),\n z.literal(\"flex-end\"),\n z.literal(\"center\"),\n z.literal(\"space-between\"),\n z.literal(\"space-around\"),\n z.literal(\"stretch\"),\n ])\n .optional(),\n padding: z.string().optional(),\n paddingTop: z.string().optional(),\n paddingRight: z.string().optional(),\n paddingBottom: z.string().optional(),\n paddingLeft: z.string().optional(),\n margin: z.string().optional(),\n marginTop: z.string().optional(),\n marginRight: z.string().optional(),\n marginBottom: z.string().optional(),\n marginLeft: z.string().optional(),\n border: z.string().optional(),\n borderWidth: z.string().optional(),\n borderStyle: z.string().optional(),\n borderColor: z.string().optional(),\n borderTop: z.string().optional(),\n borderRight: z.string().optional(),\n borderBottom: z.string().optional(),\n borderLeft: z.string().optional(),\n borderRadius: z.string().optional(),\n borderTopLeftRadius: z.string().optional(),\n borderTopRightRadius: z.string().optional(),\n borderBottomRightRadius: z.string().optional(),\n borderBottomLeftRadius: z.string().optional(),\n backgroundColor: z.string().optional(),\n backgroundImage: z.string().optional(),\n backgroundSize: z.string().optional(),\n backgroundPosition: z.string().optional(),\n backgroundRepeat: z.string().optional(),\n backgroundClip: z\n .union([z.literal(\"border-box\"), z.literal(\"padding-box\"), z.literal(\"content-box\"), z.literal(\"text\")])\n .optional(),\n backgroundOrigin: z.union([z.literal(\"border-box\"), z.literal(\"padding-box\"), z.literal(\"content-box\")]).optional(),\n opacity: z.number().optional(),\n boxShadow: z.string().optional(),\n filter: z.string().optional(),\n backdropFilter: z.string().optional(),\n mixBlendMode: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"multiply\"),\n z.literal(\"screen\"),\n z.literal(\"overlay\"),\n z.literal(\"darken\"),\n z.literal(\"lighten\"),\n z.literal(\"color-dodge\"),\n z.literal(\"color-burn\"),\n z.literal(\"hard-light\"),\n z.literal(\"soft-light\"),\n z.literal(\"difference\"),\n z.literal(\"exclusion\"),\n z.literal(\"hue\"),\n z.literal(\"saturation\"),\n z.literal(\"color\"),\n z.literal(\"luminosity\"),\n z.literal(\"plus-lighter\"),\n ])\n .optional(),\n transform: z.string().optional(),\n transformOrigin: z.string().optional(),\n rotate: z.string().optional(),\n clipPath: z.string().optional(),\n color: z.string().optional(),\n fontFamily: z.string().optional(),\n fontSize: z.string().optional(),\n fontWeight: z.union([z.string(), z.number()]).optional(),\n fontStyle: z.union([z.literal(\"normal\"), z.literal(\"italic\"), z.literal(\"oblique\")]).optional(),\n fontStretch: z.string().optional(),\n fontVariantCaps: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"small-caps\"),\n z.literal(\"all-small-caps\"),\n z.literal(\"petite-caps\"),\n z.literal(\"all-petite-caps\"),\n z.literal(\"unicase\"),\n z.literal(\"titling-caps\"),\n ])\n .optional(),\n lineHeight: z.union([z.string(), z.number()]).optional(),\n letterSpacing: z.string().optional(),\n textAlign: z\n .union([\n z.literal(\"left\"),\n z.literal(\"center\"),\n z.literal(\"right\"),\n z.literal(\"justify\"),\n z.literal(\"start\"),\n z.literal(\"end\"),\n ])\n .optional(),\n textDecorationLine: z\n .union([z.literal(\"none\"), z.literal(\"underline\"), z.literal(\"overline\"), z.literal(\"line-through\")])\n .optional(),\n textDecorationColor: z.string().optional(),\n textDecorationStyle: z\n .union([z.literal(\"solid\"), z.literal(\"double\"), z.literal(\"dotted\"), z.literal(\"dashed\"), z.literal(\"wavy\")])\n .optional(),\n textDecorationThickness: z.string().optional(),\n textTransform: z\n .union([\n z.literal(\"none\"),\n z.literal(\"uppercase\"),\n z.literal(\"lowercase\"),\n z.literal(\"capitalize\"),\n z.literal(\"full-width\"),\n ])\n .optional(),\n whiteSpace: z\n .union([\n z.literal(\"normal\"),\n z.literal(\"nowrap\"),\n z.literal(\"pre\"),\n z.literal(\"pre-wrap\"),\n z.literal(\"pre-line\"),\n z.literal(\"break-spaces\"),\n ])\n .optional(),\n wordBreak: z\n .union([z.literal(\"normal\"), z.literal(\"break-all\"), z.literal(\"keep-all\"), z.literal(\"break-word\")])\n .optional(),\n textOverflow: z.union([z.literal(\"clip\"), z.literal(\"ellipsis\")]).optional(),\n WebkitLineClamp: z.number().optional(),\n WebkitBoxOrient: z.literal(\"vertical\").optional(),\n fontFeatureSettings: z.string().optional(),\n fill: z.string().optional(),\n stroke: z.string().optional(),\n strokeWidth: z.string().optional(),\n strokeLinecap: z.union([z.literal(\"butt\"), z.literal(\"round\"), z.literal(\"square\")]).optional(),\n strokeLinejoin: z.union([z.literal(\"miter\"), z.literal(\"round\"), z.literal(\"bevel\")]).optional(),\n strokeDasharray: z.string().optional(),\n strokeDashoffset: z.string().optional(),\n transition: z.string().optional(),\n animation: z.string().optional(),\n cursor: z.string().optional(),\n userSelect: z.union([z.literal(\"auto\"), z.literal(\"none\"), z.literal(\"text\"), z.literal(\"all\")]).optional(),\n pointerEvents: z\n .union([\n z.literal(\"auto\"),\n z.literal(\"none\"),\n z.literal(\"visiblePainted\"),\n z.literal(\"visibleFill\"),\n z.literal(\"visibleStroke\"),\n z.literal(\"visible\"),\n z.literal(\"painted\"),\n z.literal(\"fill\"),\n z.literal(\"stroke\"),\n z.literal(\"all\"),\n z.literal(\"inherit\"),\n ])\n .optional(),\n visibility: z.union([z.literal(\"visible\"), z.literal(\"hidden\"), z.literal(\"collapse\")]).optional(),\n});\n\ntype ProcessedStyles = z.infer<typeof FigmaExporterProcessedStylesSchema>;\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Schema Definitions\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst FigmaExporterDesignNodeTypeSchema = z.union([\n z.literal(\"FRAME\"),\n z.literal(\"TEXT\"),\n z.literal(\"SVG\"),\n z.literal(\"COMPONENT_INSTANCE\"),\n]);\n\n// Base schema without children for extension\nconst baseDesignNodeObjectSchema = z.object({\n id: z.string(),\n type: FigmaExporterDesignNodeTypeSchema,\n parentId: z.string().nullable(),\n styles: FigmaExporterProcessedStylesSchema.partial(),\n});\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Individual node schemas extending the base\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst frameNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"FRAME\"),\n});\n\nconst textNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"TEXT\"),\n characters: z.string(),\n});\n\nconst svgNodeObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"SVG\"),\n svgString: z.string(),\n});\n\nconst componentInstanceObjectSchema = baseDesignNodeObjectSchema.extend({\n type: z.literal(\"COMPONENT_INSTANCE\"),\n supernovaId: z.string(),\n componentSetName: z.string(),\n componentSetDescription: z.string(),\n componentName: z.string(),\n componentDescription: z.string(),\n props: z.record(z.string(), z.union([z.string(), z.boolean()])),\n});\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Final Node Types with children\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\ntype FrameNode = z.infer<typeof frameNodeObjectSchema> & {\n children: AnyDesignNode[];\n};\n\ntype TextNode = z.infer<typeof textNodeObjectSchema>;\n\ntype SvgNode = z.infer<typeof svgNodeObjectSchema>;\n\ntype ComponentInstanceNode = z.infer<typeof componentInstanceObjectSchema> & {\n children: AnyDesignNode[];\n};\n\ntype AnyDesignNode = FrameNode | TextNode | SvgNode | ComponentInstanceNode;\n\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n// MARK: - Final Schemas with children\n// --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n\nconst frameNodeSchema: z.ZodType<FrameNode> = z.lazy(() =>\n frameNodeObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\n// Text nodes don't have children\nconst textNodeSchema = textNodeObjectSchema;\n\nconst svgNodeSchema: z.ZodType<SvgNode> = z.lazy(() =>\n svgNodeObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\nconst componentInstanceNodeSchema: z.ZodType<ComponentInstanceNode> = z.lazy(() =>\n componentInstanceObjectSchema.extend({\n children: FigmaExporterAnyDesignNodeSchema.array(),\n })\n);\n\nexport const FigmaExporterAnyDesignNodeSchema = z.union([\n frameNodeSchema,\n textNodeSchema,\n svgNodeSchema,\n componentInstanceNodeSchema,\n]);\n\n// Exported types - exported like this to avoid naming conflicts and unnecessarily long names\nexport type FigmaExporter = {\n AnyDesignNode: AnyDesignNode;\n FrameNode: FrameNode;\n TextNode: TextNode;\n SvgNode: SvgNode;\n ComponentInstanceNode: ComponentInstanceNode;\n ProcessedStyles: ProcessedStyles;\n};\n","import { z } from \"zod\";\n\nexport const FigmaNodeRendererPayload = z.object({\n designSystemId: z.string(),\n versionId: z.string(),\n figmaNodePersistentIds: z.string().array(),\n});\n\nexport type FigmaNodeRendererPayload = z.infer<typeof FigmaNodeRendererPayload>;\n","import { z } from \"zod\";\nimport { FigmaFileStructureNodeImportModel } from \"../import/figma-frames\";\n\nexport const FigmaNodeStructureDataV2 = z.object({\n rootNode: FigmaFileStructureNodeImportModel,\n assetsInFile: z.object({\n components: z.number(),\n componentSets: z.number(),\n frames: z.number(),\n }),\n});\n\nexport type FigmaNodeStructureDataV2 = z.infer<typeof FigmaNodeStructureDataV2>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const FigmaNodeStructureStateV2 = z.enum([\"InProgress\", \"Success\", \"Failed\"]);\n\nexport const FigmaNodeStructureV2 = z.object({\n id: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n storagePath: z.string().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n importState: FigmaNodeStructureStateV2,\n error: z.string().optional(),\n chunkSize: z.number().optional(),\n\n // TODO Artem: remove after migration\n isFromLegacyStorage: z.boolean(),\n});\n\nexport type FigmaNodeStructureStateV2 = z.infer<typeof FigmaNodeStructureStateV2>;\nexport type FigmaNodeStructureV2 = z.infer<typeof FigmaNodeStructureV2>;\n\nexport type CreateFigmaNodeStructureV2 = OmitStrict<DbCreateInputOmit<FigmaNodeStructureV2>, \"isFromLegacyStorage\">;\nexport type UpdateFigmaNodeStructureV2 = OmitStrict<\n DbUpdate<FigmaNodeStructureV2>,\n \"designSystemId\" | \"sourceId\" | \"isFromLegacyStorage\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { WorkspaceRoleSchema } from \"../../workspace\";\nimport { DesignSystemRole } from \"./ds-role\";\nimport { DesignSystemInvitation } from \"./invitations\";\n\nexport const DesignSystemMembership = z.object({\n id: z.string(),\n userId: z.string(),\n designSystemId: z.string(),\n designSystemRole: DesignSystemRole.optional(),\n workspaceMembershipId: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n isDeactivated: z.boolean(),\n});\n\nexport type DesignSystemMembership = z.infer<typeof DesignSystemMembership>;\n\nexport type CreateDesignSystemMembership = OmitStrict<DbCreateInputOmit<DesignSystemMembership>, \"isDeactivated\"> & {\n isDeactivated?: boolean;\n};\nexport type UpdateDesignSystemMembership = OmitStrict<\n DbUpdate<DesignSystemMembership>,\n \"designSystemId\" | \"userId\" | \"workspaceMembershipId\"\n>;\n\nexport const DesignSystemMembers = z.object({\n members: DesignSystemMembership.array(),\n invitations: DesignSystemInvitation.array(),\n});\n\nexport const DesignSystemPendingMemberInvitation = z.object({\n inviteId: z.string(),\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemUserInvitation = z.object({\n userId: z.string(),\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemInvite = z.object({\n email: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n\n /**\n * Role that the user will have in the design system, undefined\n * if it should be inherited from the workspace\n */\n designSystemRole: DesignSystemRole.optional(),\n});\n\nexport const DesignSystemMemberUpdate = z.object({\n userId: z.string(),\n designSystemRole: DesignSystemRole.nullable(),\n});\n\nexport const DesignSystemInviteUpdate = z.object({\n /**\n * Workspace invitation id\n */\n inviteId: z.string(),\n designSystemRole: DesignSystemRole.nullable(),\n});\n\nexport const DesignSystemMembershipUpdates = z.object({\n usersToInvite: DesignSystemUserInvitation.array().optional(),\n invitesToInvite: DesignSystemPendingMemberInvitation.array().optional(),\n emailsToInvite: DesignSystemInvite.array().optional(),\n\n usersToUpdate: DesignSystemMemberUpdate.array().optional(),\n invitesToUpdate: DesignSystemInviteUpdate.array().optional(),\n\n removeUserIds: z.string().array().optional(),\n deleteInvitationIds: z.string().array().optional(),\n});\n\nexport type DesignSystemMembers = z.infer<typeof DesignSystemMembers>;\nexport type DesignSystemInvite = z.infer<typeof DesignSystemInvite>;\nexport type DesignSystemMemberUpdate = z.infer<typeof DesignSystemMemberUpdate>;\nexport type DesignSystemInviteUpdate = z.infer<typeof DesignSystemInviteUpdate>;\nexport type DesignSystemPendingMemberInvite = z.infer<typeof DesignSystemPendingMemberInvitation>;\nexport type DesignSystemUserInvitation = z.infer<typeof DesignSystemUserInvitation>;\nexport type DesignSystemMembershipUpdates = z.infer<typeof DesignSystemMembershipUpdates>;\n","import { z } from \"zod\";\n\nexport const NpmRegistryAuthType = z.enum([\"Basic\", \"Bearer\", \"None\", \"Custom\"]);\nexport const NpmRegistryType = z.enum([\"NPMJS\", \"GitHub\", \"AzureDevOps\", \"Artifactory\", \"Custom\"]);\n\nexport const NpmRegistryBasicAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Basic),\n username: z.string(),\n password: z.string(),\n});\n\nexport const NpmRegistryBearerAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Bearer),\n accessToken: z.string(),\n});\n\nexport const NpmRegistryNoAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.None),\n});\n\nexport const NpmRegistrCustomAuthConfig = z.object({\n authType: z.literal(NpmRegistryAuthType.Enum.Custom),\n authHeaderName: z.string(),\n authHeaderValue: z.string(),\n});\n\nexport const NpmRegistryAuthConfig = z.discriminatedUnion(\"authType\", [\n NpmRegistryBasicAuthConfig,\n NpmRegistryBearerAuthConfig,\n NpmRegistryNoAuthConfig,\n NpmRegistrCustomAuthConfig,\n]);\n\nconst NpmRegistryConfigBase = z.object({\n registryType: NpmRegistryType,\n enabledScopes: z.array(z.string()),\n customRegistryUrl: z.string().optional(),\n bypassProxy: z.boolean().default(false),\n npmProxyRegistryConfigId: z.string().optional(),\n npmProxyVersion: z.number().optional(),\n});\n\nexport const NpmRegistryConfig = NpmRegistryConfigBase.and(NpmRegistryAuthConfig);\n\nexport type NpmRegistryConfig = z.infer<typeof NpmRegistryConfig>;\n","import { z } from \"zod\";\nexport const SsoProvider = z.object({\n providerId: z.string(),\n defaultAutoInviteValue: z.boolean(),\n autoInviteDomains: z.record(z.string(), z.boolean()),\n skipDocsSupernovaLogin: z.boolean(),\n areInvitesDisabled: z.boolean(),\n isTestMode: z.boolean(),\n emailDomains: z.array(z.string()),\n metadataXml: z.string().nullish(),\n});\n\nexport type SsoProvider = z.infer<typeof SsoProvider>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const WorkspaceUntypedData = z.object({\n id: z.string(),\n workspaceId: z.string(),\n value: z.unknown(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type WorkspaceUntypedData = z.infer<typeof WorkspaceUntypedData>;\n\nexport type WorkspaceUntypedDataCreate = DbCreateInputOmit<WorkspaceUntypedData>;\nexport type WorkspaceUntypedDataUpdate = OmitStrict<DbUpdate<WorkspaceUntypedData>, \"id\" | \"workspaceId\">;\n","import { z } from \"zod\";\nimport { WorkspaceRoleSchema } from \"./workspace-role\";\n\nexport const MAX_MEMBERS_COUNT = 100;\n\nexport const UserInvite = z.object({\n email: z\n .string()\n .email()\n .trim()\n .transform(value => value.toLowerCase()),\n role: WorkspaceRoleSchema,\n});\n\nexport const UserInvites = z.array(UserInvite).max(MAX_MEMBERS_COUNT);\n\nexport type UserInvite = z.infer<typeof UserInvite>;\nexport type UserInvites = z.infer<typeof UserInvites>;\n","import { z } from \"zod\";\n\nexport const WorkspaceRoleSchema = z.enum([\"Owner\", \"Admin\", \"Creator\", \"Viewer\", \"Billing\", \"Guest\", \"Contributor\"]);\nexport const WorkspaceRole = WorkspaceRoleSchema.enum;\nexport const WorkspaceSeatType = z.enum([\"Full\", \"Builder\", \"None\"]);\n\nexport type WorkspaceRole = z.infer<typeof WorkspaceRoleSchema>;\nexport type WorkspaceSeatType = z.infer<typeof WorkspaceSeatType>;\n\nexport function deriveWorkspaceSeatTypeFromRole(role: WorkspaceRole): WorkspaceSeatType {\n switch (role) {\n case \"Owner\":\n case \"Admin\":\n case \"Creator\":\n case \"Contributor\":\n return \"Full\";\n\n case \"Viewer\":\n case \"Billing\":\n case \"Guest\":\n return \"None\";\n }\n}\n\nconst FULL_SEAT_ROLES = new Set<WorkspaceRole>([\n WorkspaceRole.Owner,\n WorkspaceRole.Admin,\n WorkspaceRole.Creator,\n WorkspaceRole.Contributor,\n]);\n\nconst BUILDER_SEAT_ROLES = new Set<WorkspaceRole>([WorkspaceRole.Owner, WorkspaceRole.Admin, WorkspaceRole.Creator]);\n\nconst NONE_SEAT_ROLES = new Set<WorkspaceRole>([WorkspaceRole.Viewer, WorkspaceRole.Billing]);\n\n/**\n * Check if the seat type is valid for the given role and return boolean.\n */\nexport function isValidRoleSeatPair(role: WorkspaceRole, seatType: WorkspaceSeatType): boolean {\n return getAllowedRolesSetForSeatType(seatType).has(role);\n}\n\nexport function getAllowedRolesForSeatType(seatType: WorkspaceSeatType): WorkspaceRole[] {\n return Array.from(getAllowedRolesSetForSeatType(seatType));\n}\n\nfunction getAllowedRolesSetForSeatType(seatType: WorkspaceSeatType): Set<WorkspaceRole> {\n switch (seatType) {\n case \"Full\":\n return FULL_SEAT_ROLES;\n case \"Builder\":\n return BUILDER_SEAT_ROLES;\n case \"None\":\n return NONE_SEAT_ROLES;\n }\n}\n","import { z } from \"zod\";\nimport { SsoProvider } from \"./sso-provider\";\nimport {\n WorkspaceDefaultProjectAccessMode,\n WorkspaceDefaultProjectRole,\n WorkspaceIpSettings,\n WorkspaceProfileUpdate,\n} from \"./workspace\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\n\nexport const WorkspaceConfigurationUpdate = z.object({\n id: z.string(),\n ipWhitelist: WorkspaceIpSettings.optional(),\n sso: SsoProvider.optional(),\n npmRegistrySettings: NpmRegistryConfig.optional(),\n profile: WorkspaceProfileUpdate.optional(),\n aiFeaturesEnabled: z.boolean().optional(),\n projectsEnabled: z.boolean().optional(),\n defaultProjectAccessMode: WorkspaceDefaultProjectAccessMode.optional(),\n defaultProjectRole: WorkspaceDefaultProjectRole.optional(),\n aiAskFeaturesEnabled: z.boolean().optional(),\n aiCustomInstruction: z.string().optional(),\n});\n\nexport type WorkspaceConfigurationUpdate = z.infer<typeof WorkspaceConfigurationUpdate>;\n","import IPCIDR from \"ip-cidr\";\nimport { z } from \"zod\";\nimport { BillingDetails, Subscription } from \"../billing\";\nimport { DesignSystem } from \"../dsm\";\nimport { DbCreateInputOmit, DbUpdateInputOmit, nullishToOptional } from \"../helpers\";\nimport { ForgeDefaultProjectRole, ForgeProjectAccessMode } from \"../forge\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\nimport { SsoProvider } from \"./sso-provider\";\n\nconst isValidCIDR = (value: string) => {\n return IPCIDR.isValidAddress(value);\n};\n\nexport const WorkspaceDefaultProjectAccessMode = ForgeProjectAccessMode;\nexport const WorkspaceDefaultProjectRole = ForgeDefaultProjectRole;\n\nexport const WorkspaceIpWhitelistEntry = z.object({\n isEnabled: z.boolean(),\n name: z.string(),\n range: z.string().refine(isValidCIDR, {\n message: \"Invalid IP CIDR\",\n }),\n});\n\nexport const WorkspaceIpSettings = z.object({\n isEnabledForCloud: z.boolean(),\n isEnabledForDocs: z.boolean(),\n entries: z.array(WorkspaceIpWhitelistEntry),\n});\n\nexport const WorkspaceProfile = z.object({\n name: z.string(),\n handle: z.string(),\n color: z.string(),\n avatar: nullishToOptional(z.string()),\n billingDetails: nullishToOptional(BillingDetails),\n});\n\nexport const WorkspaceProfileUpdate = WorkspaceProfile.omit({\n avatar: true,\n});\n\nexport type WorkspaceProfileUpdate = z.infer<typeof WorkspaceProfileUpdate>;\n\nexport const Workspace = z.object({\n id: z.string(),\n profile: WorkspaceProfile,\n subscription: Subscription,\n ipWhitelist: nullishToOptional(WorkspaceIpSettings),\n sso: nullishToOptional(SsoProvider),\n npmRegistrySettings: nullishToOptional(NpmRegistryConfig),\n aiFeaturesEnabled: z.boolean().default(false),\n projectsEnabled: z.boolean().default(false),\n defaultProjectAccessMode: WorkspaceDefaultProjectAccessMode,\n defaultProjectRole: WorkspaceDefaultProjectRole,\n aiAskFeaturesEnabled: z.boolean().default(false),\n aiCustomInstruction: z.string().optional(),\n hasOpenMeterSubject: z.boolean(),\n});\n\nexport const WorkspaceWithDesignSystems = z.object({\n workspace: Workspace,\n designSystems: z.array(DesignSystem),\n});\n\nexport type CreateWorkspaceDbInput = DbCreateInputOmit<Workspace>;\nexport type UpdateWorkspaceDbInput = DbUpdateInputOmit<Workspace>;\n\nexport type WorkspaceIpWhitelistEntry = z.infer<typeof WorkspaceIpWhitelistEntry>;\nexport type WorkspaceIpSettings = z.infer<typeof WorkspaceIpSettings>;\nexport type WorkspaceProfile = z.infer<typeof WorkspaceProfile>;\nexport type Workspace = z.infer<typeof Workspace>;\nexport type WorkspaceWithDesignSystems = z.infer<typeof WorkspaceWithDesignSystems>;\nexport type WorkspaceDefaultProjectAccessMode = z.infer<typeof WorkspaceDefaultProjectAccessMode>;\nexport type WorkspaceDefaultProjectRole = z.infer<typeof WorkspaceDefaultProjectRole>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\n\nexport const ForgeAvatarBuilder = z.object({\n headType: z.string(),\n hairType: z.string(),\n accessory1Type: z.string(),\n accessory2Type: z.string(),\n});\n\nexport const ForgeAgent = z.object({\n avatar: z.union([z.string(), ForgeAvatarBuilder]),\n avatarUrl: z.string().optional(),\n behavior: z.enum([\"Coder\", \"Writer\", \"Designer\"]),\n id: z.string(),\n name: z.string(),\n personality: z.enum([\"Neutral\", \"Assertive\", \"Crazy\"]),\n projectId: z.string(),\n});\n\nexport type ForgeAvatarBuilder = z.infer<typeof ForgeAvatarBuilder>;\nexport type ForgeAgent = z.infer<typeof ForgeAgent>;\nexport type CreateForgeAgent = Omit<DbCreateInputOmit<ForgeAgent>, \"projectId\">;\nexport type UpdateForgeAgent = Omit<DbUpdate<ForgeAgent>, \"projectId\">;\n","import { z } from \"zod\";\n\nconst Artifact = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n projectIterationId: z.string(),\n});\n\nexport const ForgeFileArtifact = Artifact.extend({\n type: z.enum([\"file/text\", \"file/pdf\", \"file/image\"]),\n fileName: z.string(),\n uploadedFileUrl: z.string(),\n});\n\nexport const ForgeFigmaArtifact = Artifact.extend({\n type: z.literal(\"figma/node\"),\n figmaFileUrl: z.string(),\n figmaNodeId: z.string(),\n figmaFileName: z.string().optional(),\n previewUrl: z.string().optional(),\n});\n\nexport const ForgeSpecArtifact = Artifact.extend({\n type: z.literal(\"spec\"),\n fileName: z.string(),\n yjsDocId: z.string(),\n markdownText: z.string(),\n});\n\nexport const ForgeBuildArtifactFiles = z.array(\n z.object({\n path: z.string(),\n content: z.string(),\n isVisibleToUser: z.boolean().optional(),\n })\n);\n\nexport const ForgeBuildArtifactEnvironment = z.object({\n dependencies: z.record(z.string()),\n});\n\nexport const ForgeBuildArtifact = Artifact.extend({\n type: z.literal(\"build\"),\n participantId: z.string(),\n files: ForgeBuildArtifactFiles,\n environment: ForgeBuildArtifactEnvironment,\n});\n\nexport const ForgeArtifact = z.union([ForgeBuildArtifact, ForgeSpecArtifact, ForgeFigmaArtifact, ForgeFileArtifact]);\n\n// TypeScript types\nexport type ForgeFileArtifact = z.infer<typeof ForgeFileArtifact>;\nexport type ForgeFigmaArtifact = z.infer<typeof ForgeFigmaArtifact>;\nexport type ForgeSpecArtifact = z.infer<typeof ForgeSpecArtifact>;\nexport type ForgeBuildArtifact = z.infer<typeof ForgeBuildArtifact>;\nexport type ForgeArtifact = z.infer<typeof ForgeArtifact>;\n","import { z } from \"zod\";\n\nexport const Id = z.string().uuid();\n","import { z } from \"zod\";\nimport { ForgeParticipant } from \"./participant\";\n\nexport const ForgeIterationMessageStep = z.object({\n name: z.string(),\n text: z.string(),\n status: z.enum([\"pending\", \"started\", \"completed\", \"error\"]),\n});\n\nexport const ForgeIterationMessage = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n participantId: z.string(),\n participant: ForgeParticipant,\n projectIterationId: z.string(),\n steps: z.array(ForgeIterationMessageStep).optional(),\n type: z.enum([\"Note\", \"Action\", \"Steps\"]),\n text: z.string(),\n});\n\nexport type ForgeIterationMessage = z.infer<typeof ForgeIterationMessage>;\n","import { z } from \"zod\";\nimport { User } from \"../users\";\nimport { ForgeAgent } from \"./agent\";\n\nexport const ForgeParticipant = z.object({\n id: z.string(),\n agentId: z.string().optional(),\n agent: ForgeAgent.optional(),\n projectIterationId: z.string(),\n role: z.enum([\"Editor\", \"Viewer\"]),\n type: z.enum([\"Agent\", \"User\"]),\n userId: z.string().optional(),\n user: User.optional(),\n});\n\nexport type ForgeParticipant = z.infer<typeof ForgeParticipant>;\n","import { z } from \"zod\";\n\nexport const IntegrationAuthType = z.union([z.literal(\"OAuth2\"), z.literal(\"PAT\")]);\n\nexport type IntegrationAuthType = z.infer<typeof IntegrationAuthType>;\n\nexport const ExternalServiceType = z.union([\n z.literal(\"figma\"),\n z.literal(\"github\"),\n z.literal(\"azure\"),\n z.literal(\"gitlab\"),\n z.literal(\"bitbucket\"),\n]);\n\nexport type ExternalServiceType = z.infer<typeof ExternalServiceType>;\n\nexport const IntegrationUserInfo = z.object({\n id: z.string(),\n handle: z.string().optional(),\n avatarUrl: z.string().optional(),\n email: z.string().optional(),\n authType: IntegrationAuthType.optional(),\n customUrl: z.string().optional(),\n});\n\nexport type IntegrationUserInfo = z.infer<typeof IntegrationUserInfo>;\n\nexport const UserLinkedIntegrations = z.object({\n figma: IntegrationUserInfo.optional(),\n github: IntegrationUserInfo.array().optional(),\n azure: IntegrationUserInfo.array().optional(),\n gitlab: IntegrationUserInfo.array().optional(),\n bitbucket: IntegrationUserInfo.array().optional(),\n});\n\nexport type UserLinkedIntegrations = z.infer<typeof UserLinkedIntegrations>;\n","import { z } from \"zod\";\n\nexport const UserAnalyticsCleanupSchedule = z.object({\n userId: z.string(),\n createdAt: z.coerce.date(),\n deleteAt: z.coerce.date(),\n});\n\nexport type UserAnalyticsCleanupSchedule = z.infer<typeof UserAnalyticsCleanupSchedule>;\n\nexport const UserAnalyticsCleanupScheduleDbInput = UserAnalyticsCleanupSchedule.omit({\n createdAt: true,\n});\n\nexport type UserAnalyticsCleanupScheduleDbInput = z.infer<typeof UserAnalyticsCleanupScheduleDbInput>;\n","import { z } from \"zod\";\n\nexport const UserIdentity = z.object({\n id: z.string(),\n userId: z.string(),\n});\n\nexport type UserIdentity = z.infer<typeof UserIdentity>;\n","import { z } from \"zod\";\n\nexport const UserMinified = z.object({\n id: z.string(),\n name: z.string(),\n email: z.string(),\n avatar: z.string().optional(),\n});\n\nexport type UserMinified = z.infer<typeof UserMinified>;\n","import { z } from \"zod\";\n\n/**\n * @deprecated It's recommended to use new, more granular notification settings. We keep this for backward compatibility.\n */\nexport const LiveblocksNotificationSettings = z.object({\n sendCommentNotificationEmails: z.boolean(),\n});\n\nexport const NotificationType = z.enum([\n \"DesignDocumentComment\",\n \"ChatMention\",\n \"ProjectDocumentComment\",\n \"ProjectInvitation\",\n]);\n\nexport const NotificationChannel = z.enum([\"Email\", \"InApp\"]);\n\nexport const NotificationSettingOptions = z.object({\n enabled: z.boolean(),\n email: z.boolean(),\n});\n\nexport const NotificationSettings = z.object({\n [NotificationType.enum.ChatMention]: NotificationSettingOptions,\n [NotificationType.enum.ProjectDocumentComment]: NotificationSettingOptions,\n [NotificationType.enum.ProjectInvitation]: NotificationSettingOptions,\n [NotificationType.enum.DesignDocumentComment]: NotificationSettingOptions.omit({\n enabled: true,\n }),\n});\n\nexport const UserNotificationSettings = NotificationSettings.merge(\n z.object({\n /**\n * @deprecated Use granular notification settings instead.\n */\n liveblocksNotificationSettings: LiveblocksNotificationSettings,\n })\n);\n\nexport type UserNotificationSettings = z.infer<typeof UserNotificationSettings>;\nexport type LiveblocksNotificationSettings = z.infer<typeof LiveblocksNotificationSettings>;\nexport type NotificationSettings = z.infer<typeof NotificationSettings>;\nexport type NotificationType = z.infer<typeof NotificationType>;\nexport type NotificationChannel = z.infer<typeof NotificationChannel>;\n\nexport const defaultNotificationSettings: UserNotificationSettings = {\n liveblocksNotificationSettings: {\n sendCommentNotificationEmails: true,\n },\n DesignDocumentComment: { email: true },\n ChatMention: { enabled: true, email: true },\n ProjectInvitation: { enabled: true, email: true },\n ProjectDocumentComment: { enabled: true, email: true },\n} as const;\n","import { z } from \"zod\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const UserOnboardingDepartment = z.enum([\"Design\", \"Engineering\", \"Product\", \"Brand\", \"Other\"]);\nexport const UserOnboardingJobLevel = z.enum([\"Executive\", \"Manager\", \"IndividualContributor\", \"Other\"]);\n\nconst userThemePresets = [\n \"Custom\",\n \"Default\",\n \"HighContrast\",\n \"DefaultDark\",\n \"HighContrastDark\",\n \"SpaceBlue\",\n \"DarkGrey\",\n \"SystemPreference\",\n \"Sepia\",\n] as const;\n\nconst portalThemePresets = [...userThemePresets, \"DefaultPortal\"] as const;\n\nexport const PortalThemePreset = z.enum(portalThemePresets);\nexport const UserThemePreset = z.enum(userThemePresets);\n\nexport const BaseTheme = z.object({\n backgroundColor: z.string().optional(),\n accentColor: z.string().optional(),\n contrast: z.number().min(16).max(100).optional(),\n isSecondaryEnabled: z.boolean().optional(),\n secondaryBackgroundColor: z.string().optional(),\n secondaryContrast: z.number().min(16).max(100).optional(),\n isEditorWhite: z.boolean().optional(),\n});\n\nexport const UserTheme = BaseTheme.extend({\n preset: UserThemePreset.optional(),\n});\n\nexport const PortalTheme = BaseTheme.extend({\n preset: PortalThemePreset.optional(),\n});\n\nexport const UserOnboarding = z.object({\n companyName: z.string().optional(),\n numberOfPeopleInOrg: z.string().optional(),\n numberOfPeopleInDesignTeam: z.string().optional(),\n department: UserOnboardingDepartment.optional(),\n jobTitle: z.string().optional(),\n phase: z.string().optional(),\n jobLevel: UserOnboardingJobLevel.optional(),\n designSystemName: z.string().optional(),\n defaultDestination: z.string().optional(),\n figmaUrl: z.string().optional(),\n isPageDraftOnboardingFinished: z.boolean().optional(),\n isApprovalsOnboardingFinished: z.boolean().optional(),\n});\n\nexport const UserProfile = z.object({\n name: z.string(),\n avatar: nullishToOptional(z.string()),\n nickname: nullishToOptional(z.string()),\n onboarding: nullishToOptional(UserOnboarding),\n theme: nullishToOptional(UserTheme),\n portalTheme: nullishToOptional(PortalTheme),\n});\n\nexport type UserOnboardingDepartment = z.infer<typeof UserOnboardingDepartment>;\nexport type UserOnboardingJobLevel = z.infer<typeof UserOnboardingJobLevel>;\nexport type UserOnboarding = z.infer<typeof UserOnboarding>;\nexport type PortalThemePreset = z.infer<typeof PortalThemePreset>;\nexport type UserThemePreset = z.infer<typeof UserThemePreset>;\nexport type UserTheme = z.infer<typeof UserTheme>;\nexport type PortalTheme = z.infer<typeof PortalTheme>;\nexport type UserProfile = z.infer<typeof UserProfile>;\n","import { z } from \"zod\";\n\nexport const UserTest = z.object({\n id: z.string(),\n email: z.string(),\n});\n\nexport type UserTest = z.infer<typeof UserTest>;\n","import { z } from \"zod\";\nimport { UserProfile } from \"./user-profile\";\n\nexport const UserSource = z.enum([\"SignUp\", \"Invite\", \"SSO\", \"Google\"]);\nexport const UserEmailSettings = z.object({\n marketingEmails: z.boolean(),\n});\n\nexport const User = z.object({\n id: z.string(),\n email: z.string(),\n createdAt: z.coerce.date(),\n profile: UserProfile,\n loggedOutAt: z.coerce.date().optional(),\n isProtected: z.boolean(),\n source: UserSource.optional(),\n emailSettings: UserEmailSettings.optional(),\n});\n\nexport type UserSource = z.infer<typeof UserSource>;\nexport type UserEmailSettings = z.infer<typeof UserEmailSettings>;\nexport type User = z.infer<typeof User>;\n","import { z } from \"zod\";\nimport { DocumentationPageContentData } from \"../dsm\";\n\nexport const ForgeProjectArtifactContentData = DocumentationPageContentData;\n\nexport const ForgeProjectArtifactContent = z.object({\n id: z.string(),\n artifactId: z.string(),\n projectId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n data: ForgeProjectArtifactContentData,\n});\n\nexport type ForgeProjectArtifactContent = z.infer<typeof ForgeProjectArtifactContent>;\nexport type ForgeProjectArtifactContentData = z.infer<typeof ForgeProjectArtifactContentData>;\n","import { z } from \"zod\";\nimport { FileReference } from \"../files\";\nimport { Id } from \"./id\";\nimport { SortOrder } from \"./project-section\";\n\nexport const ForgeProjectArtifact = z.object({\n id: Id,\n projectId: z.string(),\n iterationId: z.string().nullish(),\n title: z.string(),\n previewUrl: z.string().nullish(),\n sortOrder: SortOrder.default(0),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n createdByUserId: z.string(),\n sectionId: Id.optional(),\n threadId: z.string().optional(),\n thumbnail: FileReference.optional(),\n\n // Default value here is important for backward compatibility for parsing artifacts\n // from project rooms!\n isArchived: z.boolean().default(false),\n});\n\nexport type ForgeProjectArtifact = z.infer<typeof ForgeProjectArtifact>;\n","import z from \"zod\";\n\nexport const FileFigmaRenderMode = z.enum([\"Image\", \"HTML\", \"JSON\"]);\n\nexport const FileSourceUpload = z.object({\n type: z.literal(\"UserUpload\"),\n userId: z.string(),\n});\n\nexport const FileSourceFigma = z.object({\n type: z.literal(\"Figma\"),\n renderMode: FileFigmaRenderMode,\n});\n\nexport const FileSource = z.discriminatedUnion(\"type\", [FileSourceUpload, FileSourceFigma]);\n\nexport const File = z.object({\n id: z.string(),\n name: z.string(),\n deduplicationKey: z.string(),\n pendingUpload: z.boolean().optional(),\n storagePath: z.string(),\n url: z.string(),\n size: z.number(),\n\n /**\n * Object describing where did the file come from. Undefined source indicates a file produced by the\n * system (e.g. thumbnails, etc)\n */\n source: FileSource.optional(),\n});\n\nexport const FileReference = File.pick({\n id: true,\n url: true,\n source: true,\n}).extend({\n name: File.shape.name.optional(),\n});\n\nexport type FileFigmaRenderMode = z.infer<typeof FileFigmaRenderMode>;\nexport type FileSourceUpload = z.infer<typeof FileSourceUpload>;\nexport type FileSourceFigma = z.infer<typeof FileSourceFigma>;\nexport type FileSource = z.infer<typeof FileSource>;\nexport type File = z.infer<typeof File>;\nexport type FileReference = z.infer<typeof FileReference>;\n","import { z } from \"zod\";\nimport { Id } from \"./id\";\n\nexport const ForgeProjectSectionChildType = z.enum([\"Artifact\", \"Feature\"]);\nexport const SortOrder = z.number().int();\n\nexport const ForgeSection = z.object({\n id: Id,\n projectId: z.string(),\n name: z.string(),\n sortOrder: SortOrder.default(0),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n childType: ForgeProjectSectionChildType,\n});\n\nexport type ForgeSection = z.infer<typeof ForgeSection>;\nexport type ForgeProjectSectionChildType = z.infer<typeof ForgeProjectSectionChildType>;\n","import { z } from \"zod\";\nimport { FileReference } from \"../files\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { Id } from \"./id\";\nimport { SortOrder } from \"./project-section\";\n\nexport const ProjectFeatureStatus = z.enum([\"Draft\", \"ReadyForDevelopment\"]);\nexport const FeaturePublishedStateVisibility = z.enum([\"Public\", \"WorkspaceMembers\"]);\n\nexport const FeaturePublishedState = z.object({\n userId: z.string().optional(),\n userName: z.string().optional(),\n lastPublishedAt: z.coerce.date(),\n iterationId: z.string().nullable(),\n hideSupernovaUI: z.boolean(),\n visibility: FeaturePublishedStateVisibility.default(\"Public\"),\n});\n\nexport const ProjectFeature = z.object({\n createdAt: z.coerce.date(),\n createdByUserId: z.string(),\n description: z.string(),\n id: Id,\n isArchived: z.boolean(),\n name: z.string(),\n projectId: z.string(),\n sectionId: Id.optional(),\n e2bTemplateId: z.string().nullish(),\n e2bIterationId: z.string().nullish(),\n sortOrder: SortOrder.default(0),\n status: ProjectFeatureStatus.default(\"Draft\"),\n updatedAt: z.coerce.date().optional(),\n numberOfIterations: z.number().min(0).default(0),\n numberOfBookmarkedIterations: z.number().min(0).default(0),\n lastReplyTimestamp: z.coerce.date().optional(),\n threadId: z.string().optional(),\n thumbnail: FileReference.optional(),\n publishedState: FeaturePublishedState.optional(),\n});\n\nexport type ProjectFeature = z.infer<typeof ProjectFeature>;\nexport type CreateProjectFeature = Omit<DbCreateInputOmit<ProjectFeature>, \"projectId\" | \"createdByUserId\">;\nexport type UpdateProjectFeature = DbUpdate<CreateProjectFeature & Pick<ProjectFeature, \"id\">>;\nexport type FeaturePublishedState = z.infer<typeof FeaturePublishedState>;\n","import { z } from \"zod\";\nimport { FigmaNodeRenderedImage, FigmaNodeRenderError, FigmaNodeRenderFormat, FigmaNodeRenderState } from \"../dsm\";\n\nexport const ForgeProjectFigmaNode = z.object({\n id: z.string().uuid(),\n projectId: z.string(),\n sceneNodeId: z.string(),\n format: FigmaNodeRenderFormat,\n scale: z.number().optional(),\n renderState: FigmaNodeRenderState,\n renderedImage: FigmaNodeRenderedImage.optional(),\n renderError: FigmaNodeRenderError.optional(),\n});\n\nexport const ForgeProjectFigmaNodeRenderInput = z.object({\n url: z.string(),\n format: FigmaNodeRenderFormat,\n scale: z.number(),\n});\n\nexport type ForgeProjectFigmaNode = z.infer<typeof ForgeProjectFigmaNode>;\nexport type ForgeProjectFigmaNodeRenderInput = z.infer<typeof ForgeProjectFigmaNodeRenderInput>;\n","import { z } from \"zod\";\nimport { Id } from \"./id\";\n\nexport const ForgeProjectFile = z.object({\n id: z.string(),\n projectId: Id,\n name: z.string(),\n filePath: z.string(),\n createdAt: z.coerce.date().optional(),\n pendingUpload: z.boolean().optional(),\n size: z.number().int().positive().optional(),\n checksum: z.string(),\n});\n\nexport type ForgeProjectFile = z.infer<typeof ForgeProjectFile>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { ForgeProjectRole } from \"./project-membership\";\n\nexport const ForgeProjectInvitation = z.object({\n email: z.string().email(),\n forgeProjectId: z.string(),\n workspaceInvitationId: z.string(),\n role: ForgeProjectRole,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n createdById: z.string(),\n});\n\nexport type ForgeProjectInvitation = z.infer<typeof ForgeProjectInvitation>;\nexport type CreateForgeProjectInvitation = DbCreateInputOmit<ForgeProjectInvitation>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { WorkspaceRoleSchema } from \"../workspace\";\n\nexport const ForgeProjectRole = z.enum([\"Viewer\", \"Builder\", \"Admin\"]);\n\nexport const ForgeDefaultProjectRole = ForgeProjectRole.exclude([\"Admin\"]);\n\nexport const ForgeProjectMembership = z.object({\n userId: z.string(),\n forgeProjectId: z.string(),\n workspaceMembershipId: z.string(),\n workspaceRole: WorkspaceRoleSchema,\n role: ForgeProjectRole,\n});\n\nexport type ForgeProjectRole = z.infer<typeof ForgeProjectRole>;\nexport type ForgeProjectMembership = z.infer<typeof ForgeProjectMembership>;\nexport type CreateForgeProjectMembership = DbCreateInputOmit<ForgeProjectMembership>;\n","import { z } from \"zod\";\nimport { ForgeIterationMessage } from \"./iteration-message\";\nimport { ForgeArtifact } from \"./artifact\";\n\nexport const ForgeProjectIterationMergeMeta = z.object({ mergeByUserId: z.string(), mergeAt: z.date() });\n\nexport const ForgeProjectIteration = z.object({\n branchId: z.string().optional(),\n buildArtifactId: z.string(),\n createdAt: z.coerce.date(),\n forgeProjectId: z.string(),\n id: z.string(),\n locked: z.boolean(),\n messages: z.array(ForgeIterationMessage),\n artifacts: z.array(ForgeArtifact),\n previousIterationId: z.string().optional(),\n mergeMeta: ForgeProjectIterationMergeMeta.optional(),\n});\n\nexport type ForgeProjectIteration = z.infer<typeof ForgeProjectIteration>;\n","import { z } from \"zod\";\n\nexport const ForgeProjectAccessMode = z.enum([\"InviteOnly\", \"Open\", \"Unlisted\"]);\n\nexport type ForgeProjectAccessMode = z.infer<typeof ForgeProjectAccessMode>;\n","import { z } from \"zod\";\n\nexport const ForgeRelationType = z.enum([\"Feature\", \"Document\"]);\n\nexport const ForgeRelation = z.object({\n id: z.string(),\n projectId: z.string(),\n sourceItemId: z.string().uuid(),\n sourceItemType: ForgeRelationType,\n targetItemId: z.string().uuid(),\n targetItemType: ForgeRelationType,\n createdAt: z.string(),\n});\n\nexport type ForgeRelationType = z.infer<typeof ForgeRelationType>;\nexport type ForgeRelation = z.infer<typeof ForgeRelation>;\n","import { z } from \"zod\";\nimport { ProductCodeSchema } from \"../billing\";\nimport { WorkspaceIpSettings } from \"./workspace\";\nimport { nullishToOptional } from \"../helpers\";\n\nexport const WorkspaceContext = z.object({\n workspaceId: z.string(),\n product: ProductCodeSchema,\n ipWhitelist: nullishToOptional(WorkspaceIpSettings),\n publicDesignSystem: z.boolean().optional(),\n});\n\nexport type WorkspaceContext = z.infer<typeof WorkspaceContext>;\n","import { z } from \"zod\";\nimport { UserInvites } from \"./user-invite\";\nimport { BillingIntervalSchema, CardSchema, InternalStatusSchema, ProductCodeSchema } from \"../billing\";\nimport { slugRegex } from \"../utils/validation\";\nimport { SsoProvider } from \"./sso-provider\";\nimport { NpmRegistryConfig } from \"./npm-registry-settings\";\nimport { WorkspaceIpSettings } from \"./workspace\";\n\nconst WORKSPACE_NAME_MIN_LENGTH: number = 2;\nconst WORKSPACE_NAME_MAX_LENGTH: number = 64;\nexport const HANDLE_MIN_LENGTH = 2;\nexport const HANDLE_MAX_LENGTH = 64;\n\nexport const CreateWorkspaceInput = z.object({\n name: z.string().min(WORKSPACE_NAME_MIN_LENGTH).max(WORKSPACE_NAME_MAX_LENGTH).trim(),\n handle: z\n .string()\n .regex(slugRegex)\n .min(HANDLE_MIN_LENGTH)\n .max(HANDLE_MAX_LENGTH)\n .refine(value => value?.length > 0)\n .optional(),\n});\n\nexport type CreateWorkspaceInput = z.infer<typeof CreateWorkspaceInput>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\nimport { WorkspaceRole, WorkspaceSeatType } from \"./workspace-role\";\n\nexport const WorkspaceInvitation = z.object({\n id: z.string(),\n email: z.string().email(),\n createdAt: z.coerce.date(),\n resentAt: z.coerce.date().nullish(),\n role: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType,\n workspaceId: z.string(),\n invitedBy: z.string(),\n});\n\nexport type WorkspaceInvitation = z.infer<typeof WorkspaceInvitation>;\n\nexport type CreateWorkspaceInvitation = OmitStrict<DbCreateInputOmit<WorkspaceInvitation>, \"seatType\"> & {\n seatType?: WorkspaceSeatType;\n};\nexport type UpdateWorkspaceInvitation = OmitStrict<\n DbUpdate<WorkspaceInvitation>,\n \"email\" | \"invitedBy\" | \"workspaceId\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { UserNotificationSettings } from \"../users\";\nimport { OmitStrict } from \"../utils\";\nimport { WorkspaceRole, WorkspaceSeatType } from \"./workspace-role\";\n\nexport const WorkspaceMembership = z.object({\n id: z.string(),\n userId: z.string(),\n workspaceId: z.string(),\n workspaceRole: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType,\n notificationSettings: UserNotificationSettings,\n isPrimaryOwner: z.boolean().nullish(),\n isDeactivated: z.boolean(),\n});\n\nexport type WorkspaceMembership = z.infer<typeof WorkspaceMembership>;\n\nexport type CreateWorkspaceMembership = OmitStrict<\n DbCreateInputOmit<WorkspaceMembership>,\n \"seatType\" | \"isDeactivated\"\n> & {\n seatType?: WorkspaceSeatType;\n isDeactivated?: boolean;\n};\n\nexport type UpdateWorkspaceMembership = OmitStrict<DbUpdate<WorkspaceMembership>, \"userId\" | \"workspaceId\">;\n\nexport const UpdateMembershipRolesInput = z.object({\n members: z.array(\n z.object({\n userId: z.string(),\n role: z.nativeEnum(WorkspaceRole),\n seatType: WorkspaceSeatType.optional(),\n isPrimaryOwner: z.boolean().optional(),\n })\n ),\n});\n\nexport type UpdateMembershipRolesInput = z.infer<typeof UpdateMembershipRolesInput>;\n","import { z } from \"zod\";\nimport { WorkspaceRole } from \"../../workspace\";\nimport { SupernovaException } from \"../../utils\";\n\nexport const DesignSystemRole = z.enum([\n WorkspaceRole.Admin,\n WorkspaceRole.Contributor,\n WorkspaceRole.Creator,\n WorkspaceRole.Viewer,\n]);\nexport type DesignSystemRole = z.infer<typeof DesignSystemRole>;\n\nexport function workspaceRoleToDesignSystemRole(role: WorkspaceRole): DesignSystemRole {\n switch (role) {\n case \"Owner\":\n case \"Admin\":\n return \"Admin\";\n case \"Creator\":\n return \"Creator\";\n case \"Contributor\":\n return \"Contributor\";\n case \"Billing\":\n case \"Viewer\":\n return \"Viewer\";\n case \"Guest\":\n throw SupernovaException.shouldNotHappen(`Illegal role ${role}`);\n }\n}\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { WorkspaceRoleSchema } from \"../../workspace\";\nimport { DesignSystemRole } from \"./ds-role\";\n\nexport const DesignSystemInvitation = z.object({\n id: z.string(),\n designSystemId: z.string(),\n workspaceInvitationId: z.string(),\n designSystemRole: DesignSystemRole.optional(),\n workspaceRole: WorkspaceRoleSchema,\n});\n\nexport type DesignSystemInvitation = z.infer<typeof DesignSystemInvitation>;\n\nexport type CreateDesignSystemInvitation = DbCreateInputOmit<DesignSystemInvitation>;\nexport type UpdateDesignSystemInvitation = OmitStrict<\n DbUpdate<DesignSystemInvitation>,\n \"designSystemId\" | \"workspaceInvitationId\"\n>;\n","import { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { z } from \"zod\";\n\nexport const ElementViewBaseColumnType = z.enum([\"Name\", \"Description\", \"Value\", \"UpdatedAt\"]);\n\nexport const ElementViewColumnType = z.union([\n z.literal(\"BaseProperty\"),\n z.literal(\"PropertyDefinition\"),\n z.literal(\"Theme\"),\n]);\n\nexport const ElementViewColumnSharedAttributes = z.object({\n id: z.string(),\n persistentId: z.string(),\n elementDataViewId: z.string(),\n sortPosition: z.number(),\n width: z.number(),\n});\n\nexport const ElementViewBasePropertyColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"BaseProperty\"),\n basePropertyType: ElementViewBaseColumnType,\n});\n\nexport const ElementViewPropertyDefinitionColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"PropertyDefinition\"),\n propertyDefinitionId: z.string(),\n});\n\nexport const ElementViewThemeColumn = ElementViewColumnSharedAttributes.extend({\n type: z.literal(\"Theme\"),\n themeId: z.string(),\n});\n\nexport const ElementViewColumn = z.discriminatedUnion(\"type\", [\n ElementViewBasePropertyColumn,\n ElementViewPropertyDefinitionColumn,\n ElementViewThemeColumn,\n]);\n\nexport type ElementViewBaseColumnType = z.infer<typeof ElementViewBaseColumnType>;\nexport type ElementViewBasePropertyColumn = z.infer<typeof ElementViewBasePropertyColumn>;\nexport type ElementViewPropertyDefinitionColumn = z.infer<typeof ElementViewPropertyDefinitionColumn>;\nexport type ElementViewThemeColumn = z.infer<typeof ElementViewThemeColumn>;\nexport type ElementViewColumn = z.infer<typeof ElementViewColumn>;\nexport type ElementViewColumnSharedAttributes = z.infer<typeof ElementViewColumnSharedAttributes>;\nexport type ElementViewColumnType = z.infer<typeof ElementViewColumn>[\"type\"];\n\nexport type CreateElementViewColumn =\n | DbCreateInputOmit<ElementViewBasePropertyColumn>\n | DbCreateInputOmit<ElementViewPropertyDefinitionColumn>\n | DbCreateInputOmit<ElementViewThemeColumn>;\n\nexport type UpdateElementViewColumn =\n | OmitStrict<DbUpdate<ElementViewBasePropertyColumn>, \"elementDataViewId\">\n | OmitStrict<DbUpdate<ElementViewPropertyDefinitionColumn>, \"elementDataViewId\">\n | OmitStrict<DbUpdate<ElementViewThemeColumn>, \"elementDataViewId\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\nimport { ElementPropertyTargetType } from \"../properties\";\n\nexport const ElementView = z.object({\n id: z.string(),\n persistentId: z.string(),\n designSystemVersionId: z.string(),\n name: z.string(),\n description: z.string(),\n targetElementType: ElementPropertyTargetType,\n isDefault: z.boolean(),\n});\n\nexport type ElementView = z.infer<typeof ElementView>;\n\nexport type CreateElementView = DbCreateInputOmit<ElementView>;\nexport type UpdateElementView = OmitStrict<DbUpdate<ElementView>, \"designSystemVersionId\" | \"targetElementType\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nexport const Brand = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n persistentId: z.string(),\n name: z.string(),\n description: z.string(),\n});\n\nexport type Brand = z.infer<typeof Brand>;\nexport type CreateBrand = DbCreateInputOmit<Brand>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\n//\n// Enums\n//\n\nexport const DesignSystemAccessMode = z.enum([\"Open\", \"InviteOnly\"]);\nexport type DesignSystemAccessMode = z.infer<typeof DesignSystemAccessMode>;\n\n//\n// Model\n//\n\nexport const DesignSystemSwitcher = z.object({\n isEnabled: z.boolean(),\n designSystemIds: z.array(z.string()),\n});\n\nexport const DesignSystem = z.object({\n id: z.string(),\n workspaceId: z.string(),\n name: z.string(),\n description: z.string(),\n docExporterId: nullishToOptional(z.string()),\n docSlug: z.string(),\n docUserSlug: nullishToOptional(z.string()),\n docSlugDeprecated: z.string(),\n isMultibrand: z.boolean(),\n docViewUrl: nullishToOptional(z.string()),\n basePrefixes: z.array(z.string()),\n designSystemSwitcher: nullishToOptional(DesignSystemSwitcher),\n isApprovalFeatureEnabled: z.boolean(),\n approvalRequiredForPublishing: z.boolean(),\n accessMode: DesignSystemAccessMode,\n membersGenerated: z.boolean(),\n sharedDraftId: z.string().optional(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type DesignSystemSwitcher = z.infer<typeof DesignSystemSwitcher>;\nexport type DesignSystem = z.infer<typeof DesignSystem>;\n\nexport type CreateDesignSystem = OmitStrict<DbCreateInputOmit<DesignSystem>, \"sharedDraftId\">;\nexport type UpdateDesignSystem = OmitStrict<\n DbUpdate<DesignSystem>,\n \"workspaceId\" | \"docSlug\" | \"docSlugDeprecated\" | \"sharedDraftId\"\n>;\n","import { z } from \"zod\";\nimport { ColorTokenData, PageBlockAsset, TypographyTokenData } from \"./elements\";\n\nexport const ExporterPropertyImageValue = z.object({\n asset: PageBlockAsset.optional(),\n assetId: z.string().optional(),\n assetUrl: z.string().optional(),\n});\n\nexport const ExporterConfigurationPropertyValue = z.object({\n key: z.string(),\n value: z.union([\n z.number(),\n z.string(),\n z.boolean(),\n ExporterPropertyImageValue,\n ColorTokenData,\n TypographyTokenData,\n ]),\n});\n\nexport const ExporterPropertyValuesCollection = z.object({\n id: z.string(),\n designSystemId: z.string(),\n exporterId: z.string(),\n values: z.array(ExporterConfigurationPropertyValue),\n});\n\nexport type ExporterPropertyImageValue = z.infer<typeof ExporterPropertyImageValue>;\nexport type ExporterConfigurationPropertyValue = z.infer<typeof ExporterConfigurationPropertyValue>;\nexport type ExporterPropertyValuesCollection = z.infer<typeof ExporterPropertyValuesCollection>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, nullishToOptional } from \"../helpers\";\n\nexport const PublishedDocPageVisitsEntry = z.object({\n id: z.string(),\n versionId: z.string(),\n pagePersistentId: z.string(),\n locale: z.string().optional(),\n timestamp: z.coerce.date(),\n visits: z.number(),\n userId: nullishToOptional(z.string()),\n anonymousId: nullishToOptional(z.string()),\n});\n\nexport type PublishedDocPageVisitsEntry = z.infer<typeof PublishedDocPageVisitsEntry>;\n\nexport type CreatePublishedDocPageVisitsEntry = DbCreateInputOmit<PublishedDocPageVisitsEntry>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const SHORT_PERSISTENT_ID_LENGTH = 8;\n\nexport function tryParseShortPersistentId(url = \"/\") {\n const lastUrlPart = url.split(\"/\").pop() || \"\";\n const shortPersistentId = lastUrlPart.split(\"-\").pop()?.replaceAll(\".html\", \"\") || null;\n\n return shortPersistentId?.length === SHORT_PERSISTENT_ID_LENGTH ? shortPersistentId : null;\n}\n\nexport const PublishedDocPage = z.object({\n id: z.string(),\n publishedDocId: z.string(),\n pageShortPersistentId: z.string(),\n pagePersistentId: z.string().optional(),\n pathV1: z.string(),\n pathV2: z.string(),\n storagePath: z.string(),\n locale: z.string().optional(),\n\n isPrivate: z.boolean(),\n isHidden: z.boolean(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type PublishedDocPage = z.infer<typeof PublishedDocPage>;\n\nexport type CreatePublishedDocPage = DbCreateInputOmit<PublishedDocPage> & {\n pagePersistentId: string;\n};\n\nexport type UpdatePublishedDocPage = DbUpdate<OmitStrict<PublishedDocPage, \"pageShortPersistentId\" | \"publishedDocId\">>;\n","import { z } from \"zod\";\n\nexport const publishedDocEnvironments = [\"Live\", \"Preview\"] as const;\nexport const PublishedDocEnvironment = z.enum(publishedDocEnvironments);\n\nexport const PublishedDocsChecksums = z.record(z.string());\n\nexport const PublishedDocRoutingVersion = z.enum([\"1\", \"2\"]);\n\nexport const PublishedDoc = z.object({\n id: z.string(),\n designSystemVersionId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n lastPublishedAt: z.coerce.date(),\n isDefault: z.boolean(),\n isPublic: z.boolean(),\n environment: PublishedDocEnvironment,\n checksums: PublishedDocsChecksums,\n storagePath: z.string(),\n wasMigrated: z.boolean(),\n routingVersion: PublishedDocRoutingVersion,\n usesLocalizations: z.boolean(),\n wasPublishedWithLocalizations: z.boolean(),\n tokenCount: z.number(),\n assetCount: z.number(),\n});\n\nexport type PublishedDocEnvironment = z.infer<typeof PublishedDocEnvironment>;\nexport type PublishedDocsChecksums = z.infer<typeof PublishedDocsChecksums>;\nexport type PublishedDocRoutingVersion = z.infer<typeof PublishedDocRoutingVersion>;\nexport type PublishedDoc = z.infer<typeof PublishedDoc>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const StorybookEntryOrigin = z.object({\n id: z.string(),\n type: z.enum([\"story\", \"docs\"]),\n name: z.string(),\n title: z.string(), // Same as 'kind' for v3\n index: z.number().optional(),\n});\n\nexport const StorybookEntry = z.object({\n id: z.string(),\n storyId: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n aliases: z.array(z.string()).optional(),\n\n url: z.string(),\n isDeleted: z.boolean().optional(),\n\n origin: StorybookEntryOrigin,\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type StorybookEntry = z.infer<typeof StorybookEntry>;\nexport type StorybookEntryOrigin = z.infer<typeof StorybookEntryOrigin>;\nexport type CreateStorybookEntry = OmitStrict<DbCreateInputOmit<StorybookEntry>, \"storyId\">;\nexport type UpdateStorybookEntry = OmitStrict<\n DbUpdate<StorybookEntry>,\n \"sourceId\" | \"designSystemId\" | \"storyId\" | \"id\"\n>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const StorybookPayload = z.object({\n id: z.string(),\n designSystemId: z.string(),\n sourceId: z.string(),\n payload: z.any(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type StorybookPayload = z.infer<typeof StorybookPayload>;\nexport type CreateStorybookPayload = DbCreateInputOmit<StorybookPayload>;\nexport type UpdateStorybookPayload = OmitStrict<DbUpdate<StorybookPayload>, \"designSystemId\" | \"sourceId\" | \"id\">;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { OmitStrict } from \"../utils\";\n\nexport const DesignSystemVersion = z.object({\n id: z.string(),\n version: z.string(),\n createdAt: z.coerce.date(),\n designSystemId: z.string(),\n name: z.string(),\n comment: z.string(),\n isReadonly: z.boolean(),\n changeLog: z.string(),\n parentId: z.string().optional(),\n isDraftsFeatureAdopted: z.boolean(),\n});\n\nexport type DesignSystemVersion = z.infer<typeof DesignSystemVersion>;\n\nexport type CreateDesignSystemVersion = DbCreateInputOmit<DesignSystemVersion>;\n\nexport type UpdateDesignSystemVersion = OmitStrict<\n DbUpdate<DesignSystemVersion>,\n \"designSystemId\" | \"isReadonly\" | \"version\" | \"parentId\"\n>;\n\n// Jobs\nexport const VersionCreationJobStatus = z.enum([\"Success\", \"InProgress\", \"Error\"]);\n\nexport type VersionCreationJobStatus = z.infer<typeof VersionCreationJobStatus>;\n\nexport const VersionCreationJob = z.object({\n id: z.string(),\n version: z.string(),\n designSystemId: z.string(),\n designSystemVersionId: nullishToOptional(z.string()),\n status: VersionCreationJobStatus,\n errorMessage: nullishToOptional(z.string()),\n});\n\nexport type VersionCreationJob = z.infer<typeof VersionCreationJob>;\n","import { z } from \"zod\";\nimport { CustomDomain } from \"../custom-domains\";\nimport { Asset } from \"../dsm/assets/asset\";\nimport { DataSource } from \"../dsm/data-sources/data-source\";\nimport { DesignSystem } from \"../dsm/design-system\";\nimport { DesignSystemVersionDump } from \"./design-system-version-dump\";\n\nexport const DesignSystemDump = z.object({\n designSystem: DesignSystem,\n dataSources: DataSource.array(),\n versions: DesignSystemVersionDump.array(),\n customDomain: CustomDomain.optional(),\n files: Asset.array(),\n});\n\nexport type DesignSystemDump = z.infer<typeof DesignSystemDump>;\n","import { z } from \"zod\";\nimport { AssetReference } from \"../dsm/assets/asset-reference\";\nimport { Brand } from \"../dsm/brand\";\nimport { DocumentationPageContent } from \"../dsm/documentation/page-content\";\nimport { DocumentationComment, DocumentationCommentThread } from \"../dsm/documentation/thread\";\nimport { DesignElement } from \"../dsm/elements/raw-element\";\nimport { ElementPropertyDefinition } from \"../dsm/properties/property-definition\";\nimport { ElementPropertyValue } from \"../dsm/properties/property-value\";\nimport { DesignSystemVersion } from \"../dsm/version\";\nimport { ElementViewColumn } from \"../dsm/views/column\";\nimport { ElementView } from \"../dsm/views/view\";\nimport { DocumentationPageRoom } from \"../liveblocks\";\nimport { PublishedDocsDump } from \"./published-docs-dump\";\n\nexport const DocumentationThreadDump = z.object({\n thread: DocumentationCommentThread,\n comments: DocumentationComment.array(),\n});\n\nexport const DocumentationPageRoomDump = z.object({\n room: DocumentationPageRoom,\n threads: DocumentationThreadDump.array(),\n});\n\nexport const DesignSystemVersionMultiplayerDump = z.object({\n documentationPages: DocumentationPageRoomDump.array(),\n});\n\nexport const DesignSystemVersionDump = z.object({\n version: DesignSystemVersion,\n brands: Brand.array(),\n elements: DesignElement.array(),\n elementPropertyDefinitions: ElementPropertyDefinition.array(),\n elementPropertyValues: ElementPropertyValue.array(),\n elementViews: ElementView.array(),\n elementColumns: ElementViewColumn.array(),\n documentationPageContents: DocumentationPageContent.array(),\n documentationPageRooms: DocumentationPageRoomDump.array(),\n publishedDocumentations: PublishedDocsDump.array(),\n assetReferences: AssetReference.array(),\n});\n\nexport type DocumentationThreadDump = z.infer<typeof DocumentationThreadDump>;\nexport type DocumentationPageRoomDump = z.infer<typeof DocumentationPageRoomDump>;\nexport type DesignSystemVersionDump = z.infer<typeof DesignSystemVersionDump>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DocumentationPageApproval, DocumentationPageSnapshot, ElementGroupSnapshot } from \"../../dsm\";\nimport { DocumentationPageV2 } from \"../../dsm/elements/documentation-page-v2\";\nimport { ElementGroup } from \"../../dsm/elements/group\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\n\n//\n// Room\n//\n\nexport const DesignSystemVersionRoom = Entity.extend({\n designSystemVersionId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type DesignSystemVersionRoom = z.infer<typeof DesignSystemVersionRoom>;\n\nexport type CreateDesignSystemVersionRoom = DbCreateInputOmit<DesignSystemVersionRoom>;\nexport type UpdateDesignSystemVersionRoom = DbUpdate<DesignSystemVersionRoom>;\n\n//\n// Room state\n//\n\nexport const DesignSystemVersionRoomInternalSettings = z.object({\n routingVersion: z.string(),\n isDraftFeatureAdopted: z.boolean(),\n isApprovalFeatureEnabled: z.boolean(),\n approvalRequiredForPublishing: z.boolean(),\n});\n\nexport const DesignSystemVersionRoomInitialState = z.object({\n pages: z.array(DocumentationPageV2),\n groups: z.array(ElementGroup),\n\n pageSnapshots: z.array(DocumentationPageSnapshot),\n groupSnapshots: z.array(ElementGroupSnapshot),\n\n pageApprovals: z.array(DocumentationPageApproval),\n internalSettings: DesignSystemVersionRoomInternalSettings,\n\n pageHashes: z.record(z.string()).optional(),\n});\n\nexport const DesignSystemVersionRoomUpdate = z.object({\n pages: z.array(DocumentationPageV2),\n groups: z.array(ElementGroup),\n pageIdsToDelete: z.array(z.string()),\n groupIdsToDelete: z.array(z.string()),\n\n pageSnapshots: z.array(DocumentationPageSnapshot),\n groupSnapshots: z.array(ElementGroupSnapshot),\n pageSnapshotIdsToDelete: z.array(z.string()),\n groupSnapshotIdsToDelete: z.array(z.string()),\n pageHashesToUpdate: z.record(z.string(), z.string()),\n\n pageApprovals: z.array(DocumentationPageApproval),\n pageApprovalIdsToDelete: z.array(z.string()),\n executedTransactionIds: z.array(z.string()),\n});\n\nexport type DesignSystemVersionRoomInternalSettings = z.infer<typeof DesignSystemVersionRoomInternalSettings>;\nexport type DesignSystemVersionRoomInitialState = z.infer<typeof DesignSystemVersionRoomInitialState>;\nexport type DesignSystemVersionRoomUpdate = z.infer<typeof DesignSystemVersionRoomUpdate>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DocumentationPageContentData } from \"../../dsm\";\nimport { PageBlockDefinition } from \"../../dsm/documentation/block-definitions/definition\";\nimport { PageSectionEditorModelV2 } from \"../../dsm/elements/data/documentation-section-v2\";\nimport { DocumentationItemConfigurationV2 } from \"../../dsm/elements/data/documentation-v2\";\nimport { DocumentationPageV2 } from \"../../dsm/elements/documentation-page-v2\";\nimport { ElementGroup } from \"../../dsm/elements/group\";\nimport { PageBlockEditorModelV2 } from \"../../dsm/elements/page-block-v2\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const DocumentationPageRoom = Entity.extend({\n designSystemVersionId: z.string(),\n documentationPageId: z.string(),\n liveblocksId: z.string(),\n isDirty: z.boolean(),\n});\n\nexport type DocumentationPageRoom = z.infer<typeof DocumentationPageRoom>;\n\nexport type CreateDocumentationPageRoom = DbCreateInputOmit<DocumentationPageRoom>;\nexport type UpdateDocumentationPageRoom = OmitStrict<\n DbUpdate<DocumentationPageRoom>,\n \"designSystemVersionId\" | \"documentationPageId\" | \"liveblocksId\"\n>;\n\n//\n// Room content\n//\n\nexport const DocumentationPageRoomState = z.object({\n pageItems: z.array(PageBlockEditorModelV2.or(PageSectionEditorModelV2)),\n});\n\nexport const DocumentationPageRoomRoomUpdate = z.object({\n page: DocumentationPageV2,\n pageParent: ElementGroup,\n});\n\nexport const DocumentationPageRoomInitialStateUpdate = DocumentationPageRoomRoomUpdate.extend({\n pageItems: z.array(PageBlockEditorModelV2.or(PageSectionEditorModelV2)),\n blockDefinitions: z.array(PageBlockDefinition),\n});\n\nexport const RestoredDocumentationPage = z.object({\n page: DocumentationPageV2,\n pageParent: ElementGroup,\n pageContent: DocumentationPageContentData,\n contentHash: z.string(),\n});\n\nexport const RestoredDocumentationGroup = z.object({\n group: ElementGroup,\n parent: ElementGroup,\n});\n\nexport type DocumentationPageRoomState = z.infer<typeof DocumentationPageRoomState>;\nexport type DocumentationPageRoomRoomUpdate = z.infer<typeof DocumentationPageRoomRoomUpdate>;\nexport type DocumentationPageRoomInitialStateUpdate = z.infer<typeof DocumentationPageRoomInitialStateUpdate>;\nexport type RestoredDocumentationPage = z.infer<typeof RestoredDocumentationPage>;\nexport type RestoredDocumentationGroup = z.infer<typeof RestoredDocumentationGroup>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeFeatureRoom = Entity.extend({\n featureId: z.string(),\n projectId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type ForgeFeatureRoom = z.infer<typeof ForgeFeatureRoom>;\n\nexport type CreateForgeFeatureRoom = DbCreateInputOmit<ForgeFeatureRoom>;\nexport type UpdateForgeFeatureRoom = OmitStrict<DbUpdate<ForgeFeatureRoom>, \"featureId\" | \"projectId\" | \"liveblocksId\">;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeProjectArtifactRoom = Entity.extend({\n artifactId: z.string(),\n projectId: z.string(),\n liveblocksId: z.string(),\n isDirty: z.boolean(),\n});\n\nexport type ForgeProjectArtifactRoom = z.infer<typeof ForgeProjectArtifactRoom>;\n\nexport type CreateForgeProjectArtifactRoom = DbCreateInputOmit<ForgeProjectArtifactRoom>;\nexport type UpdateForgeProjectArtifactRoom = OmitStrict<\n DbUpdate<ForgeProjectArtifactRoom>,\n \"artifactId\" | \"projectId\" | \"liveblocksId\"\n>;\n","import { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { ForgeProjectArtifact, ForgeSection, ProjectFeature, ForgeRelation } from \"../../forge\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers\";\nimport { OmitStrict } from \"../../utils\";\n\nexport const ForgeProjectRoom = Entity.extend({\n projectId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type ForgeProjectRoom = z.infer<typeof ForgeProjectRoom>;\n\nexport type CreateForgeProjectRoom = DbCreateInputOmit<ForgeProjectRoom>;\nexport type UpdateForgeProjectRoom = OmitStrict<DbUpdate<ForgeProjectRoom>, \"projectId\" | \"liveblocksId\">;\n\nexport const ForgeProjectRoomInitialState = z.object({\n artifacts: z.array(ForgeProjectArtifact),\n features: z.array(ProjectFeature),\n artifactSections: z.array(ForgeSection),\n featureSections: z.array(ForgeSection),\n relations: z.array(ForgeRelation),\n});\n\nexport const ForgeProjectRoomUpdate = z.object({\n artifacts: z.array(ForgeProjectArtifact).optional(),\n artifactIdsToDelete: z.array(z.string()).optional(),\n\n features: z.array(ProjectFeature).optional(),\n featureIdsToDelete: z.array(z.string()).optional(),\n\n artifactSections: z.array(ForgeSection).optional(),\n artifactSectionIdsToDelete: z.array(z.string()).optional(),\n\n featureSections: z.array(ForgeSection).optional(),\n featureSectionIdsToDelete: z.array(z.string()).optional(),\n\n relations: z.array(ForgeRelation).optional(),\n\n executedTransactionIds: z.string().array().optional(),\n});\n\nexport type ForgeProjectRoomInitialState = z.infer<typeof ForgeProjectRoomInitialState>;\nexport type ForgeProjectRoomUpdate = z.infer<typeof ForgeProjectRoomUpdate>;\n","import { z } from \"zod\";\n\nexport enum RoomTypeEnum {\n DocumentationPageOld = \"documentation-page\",\n DocumentationPage = \"doc-page\",\n DesignSystemVersion = \"design-system-version\",\n Workspace = \"workspace\",\n ForgeProject = \"forge-project\",\n ForgeProjectArtifact = \"forge-project-artifact\",\n ForgeProjectFeature = \"forge-project-feature\",\n}\n\nexport const RoomTypeSchema = z.nativeEnum(RoomTypeEnum);\n\nexport type RoomType = z.infer<typeof RoomTypeSchema>;\nexport const RoomType = RoomTypeSchema.enum;\n\n//\n// Room owners\n//\n\nexport type WorkspaceRoomOwner = {\n type: \"Workspace\";\n workspaceId: string;\n};\n\nexport type VersionRoomOwner = {\n type: \"DesignSystemVersion\";\n workspaceId: string;\n designSystemId: string;\n designSystemVersionId: string;\n};\n\nexport type ForgeProjectRoomOwner = {\n type: \"ForgeProject\";\n projectId: string;\n};\n\nexport type ForgeProjectArtifactRoomOwner = {\n type: \"ForgeProjectArtifact\";\n projectId: string;\n artifactId: string;\n};\n\nexport type ForgeFeatureRoomOwner = {\n type: \"ForgeFeature\";\n projectId: string;\n featureId: string;\n};\n\nexport type CoreRoomOwner = WorkspaceRoomOwner | VersionRoomOwner;\nexport type ForgeRoomOwner = ForgeProjectRoomOwner | ForgeProjectArtifactRoomOwner | ForgeFeatureRoomOwner;\nexport type RoomOwner = CoreRoomOwner | ForgeRoomOwner;\n\n//\n// Room ids\n//\n\nexport type WorkspaceParsedRoomId = {\n type: RoomTypeEnum.Workspace;\n raw: string;\n};\n\nexport type DesignSystemVersionParsedRoomId = {\n type: RoomTypeEnum.DesignSystemVersion;\n raw: string;\n};\n\nexport type DocumentationPageOldParsedRoomId = {\n type: RoomTypeEnum.DocumentationPageOld;\n raw: string;\n};\n\nexport type DocumentationPageParsedRoomId = {\n type: RoomTypeEnum.DocumentationPage;\n raw: string;\n\n /**\n * Id of DS version, cannot be a wildcard (always a specific ID)\n */\n designSystemVersionId: string;\n\n /**\n * Documentation page persistent ID or wildcard `*`\n */\n pagePersistentId: string;\n};\n\nexport type ForgeProjectParsedRoomId = {\n type: RoomTypeEnum.ForgeProject;\n raw: string;\n};\n\nexport type ForgeProjectArtifactParsedRoomId = {\n type: RoomTypeEnum.ForgeProjectArtifact;\n raw: string;\n projectId: string;\n documentId: string;\n};\n\nexport type ForgeFeatureParsedRoomId = {\n type: RoomTypeEnum.ForgeProjectFeature;\n raw: string;\n projectId: string;\n featureId: string;\n};\n\nexport type ParsedRoomId =\n | WorkspaceParsedRoomId\n | DesignSystemVersionParsedRoomId\n | DocumentationPageOldParsedRoomId\n | DocumentationPageParsedRoomId\n | ForgeProjectParsedRoomId\n | ForgeProjectArtifactParsedRoomId\n | ForgeFeatureParsedRoomId;\n","//\n// Room\n//\n\nimport { z } from \"zod\";\nimport { Entity } from \"../../common/entity\";\nimport { DbCreateInputOmit, DbUpdate } from \"../../helpers/db\";\n\nexport const WorkspaceRoom = Entity.extend({\n workspaceId: z.string(),\n liveblocksId: z.string(),\n});\n\nexport type WorkspaceRoom = z.infer<typeof WorkspaceRoom>;\nexport type CreateWorkspaceRoom = DbCreateInputOmit<WorkspaceRoom>;\nexport type UpdateWorkspaceRoom = DbUpdate<WorkspaceRoom>;\n","import { z } from \"zod\";\nimport { PublishedDoc } from \"../dsm/published-doc\";\nimport { PublishedDocPage } from \"../dsm/published-doc-page\";\n\nexport const PublishedDocsDump = z.object({\n documentation: PublishedDoc,\n pages: PublishedDocPage.array(),\n});\n\nexport type PublishedDocsDump = z.infer<typeof PublishedDocsDump>;\n","import { z } from \"zod\";\nimport { User } from \"../users\";\nimport { WorkspaceDump } from \"./workspace-dump\";\n\nexport const UserDump = z.object({\n user: User,\n workspaces: WorkspaceDump.array(),\n});\n\nexport type UserDump = z.infer<typeof UserDump>;\n","import { z } from \"zod\";\nimport { Integration } from \"../integrations/integration\";\nimport { Workspace } from \"../workspace/workspace\";\nimport { CodeIntegrationDump } from \"./code-integration-dump\";\nimport { DesignSystemDump } from \"./design-system-dump\";\n\nexport const WorkspaceDump = z.object({\n workspace: Workspace,\n designSystems: DesignSystemDump.array(),\n codeIntegration: CodeIntegrationDump,\n integrations: Integration.array(),\n});\n\nexport type WorkspaceDump = z.infer<typeof WorkspaceDump>;\n","import { z } from \"zod\";\nimport { DbUpdate, nullishToOptional } from \"../helpers\";\nimport { UserMinified } from \"../users/user-minified\";\nimport { OmitStrict, tryParseUrl } from \"../utils\";\n\nexport const IntegrationDesignSystem = z.object({\n designSystemId: z.string(),\n brandId: z.string(),\n title: z.string().optional(),\n userId: z.string().optional(),\n date: z.coerce.date().optional(),\n});\n\nexport type IntegrationDesignSystem = z.infer<typeof IntegrationDesignSystem>;\n\nexport const IntegrationCredentialsType = z.enum([\"OAuth2\", \"PAT\"]);\nexport type IntegrationCredentialsType = z.infer<typeof IntegrationCredentialsType>;\n\nexport const IntegrationCredentialsState = z.enum([\"Active\", \"Inactive\"]);\nexport type IntegrationCredentialsState = z.infer<typeof IntegrationCredentialsState>;\n\nexport const IntegrationCredentialsProfile = z.object({\n id: nullishToOptional(z.string()),\n email: nullishToOptional(z.string()),\n handle: nullishToOptional(z.string()),\n type: nullishToOptional(z.string()),\n avatarUrl: nullishToOptional(z.string()),\n organization: nullishToOptional(z.string()),\n collection: nullishToOptional(z.string()),\n});\n\nexport type IntegrationCredentialsProfile = z.infer<typeof IntegrationCredentialsProfile>;\n\nexport const IntegrationCredentials = z.object({\n id: z.string(),\n type: IntegrationCredentialsType,\n integrationId: z.string(),\n accessToken: z.string(),\n userId: z.string(),\n createdAt: z.coerce.date(),\n refreshToken: z.string().optional(),\n tokenName: z.string().optional(),\n expiresAt: z.coerce.date().optional(),\n refreshedAt: z.coerce.date().optional(),\n username: z.string().optional(),\n appInstallationId: z.string().optional(),\n profile: IntegrationCredentialsProfile.optional(),\n customUrl: z.string().optional(),\n state: IntegrationCredentialsState,\n\n user: UserMinified.optional(),\n});\n\nexport type IntegrationCredentials = z.infer<typeof IntegrationCredentials>;\n\nexport type UpdateIntegrationCredential = OmitStrict<\n DbUpdate<IntegrationCredentials>,\n \"id\" | \"integrationId\" | \"appInstallationId\" | \"type\"\n>;\n\nexport const ExtendedIntegrationType = z.enum([\n \"Figma\",\n \"Github\",\n \"Gitlab\",\n \"Bitbucket\",\n \"Azure\",\n \"TokenStudio\",\n \"FigmaVariablesPlugin\",\n]);\nexport type ExtendedIntegrationType = z.infer<typeof ExtendedIntegrationType>;\n\nexport const IntegrationType = ExtendedIntegrationType.exclude([\"TokenStudio\", \"FigmaVariablesPlugin\"]);\nexport type IntegrationType = z.infer<typeof IntegrationType>;\n\nexport const GitIntegrationType = IntegrationType.exclude([\"Figma\"]);\nexport type GitIntegrationType = z.infer<typeof GitIntegrationType>;\n\nexport const Integration = z.object({\n id: z.string(),\n workspaceId: z.string(),\n type: IntegrationType,\n createdAt: z.coerce.date(),\n integrationCredentials: z.array(IntegrationCredentials).optional(),\n});\nexport type Integration = z.infer<typeof Integration>;\nexport type ExtendedIntegration = Omit<Integration, \"type\"> & {\n type: ExtendedIntegrationType;\n integrationDesignSystems?: IntegrationDesignSystem[];\n};\n\nexport const IntegrationToken = z\n .object({\n access_token: z.string(),\n refresh_token: z.string().optional(),\n expires_in: z.union([z.number().optional(), z.string().optional()]),\n token_type: z.string().optional(),\n token_name: z.string().optional(),\n token_azure_organization_name: z.string().optional(), // Azure Cloud PAT only\n token_azure_collection_name: z.string().optional(), // Azure Server PAT only\n token_bitbucket_username: z.string().optional(), // Bitbucket only\n custom_url: z\n .string()\n .optional()\n .transform(value => {\n if (!value?.trim()) return undefined;\n return formatCustomUrl(value);\n }),\n })\n .refine(data => {\n return !data.custom_url || tryParseUrl(data.custom_url);\n }, \"Custom URL must be a valid URL\")\n .refine(data => {\n if (data.custom_url && data.token_azure_organization_name) {\n return false;\n }\n return true;\n }, \"Custom URL and Azure organization name cannot be present at the same time\")\n .transform(data => {\n return {\n accessToken: data.access_token,\n refreshToken: data.refresh_token,\n expiresIn: typeof data.expires_in === \"string\" ? Number(data.expires_in) : data.expires_in,\n tokenType: data.token_type,\n tokenName: data.token_name,\n tokenBitbucketUsername: data.token_bitbucket_username,\n tokenAzureOrganizationName: data.token_azure_organization_name,\n tokenAzureCollection: data.token_azure_collection_name,\n customUrl: data.custom_url,\n };\n });\n\nexport type IntegrationToken = z.infer<typeof IntegrationToken>;\n\n// Custom URL validation\nconst forbiddenCustomUrlDomainList = [\"github.com\", \"gitlab.com\", \"bitbucket.org\", \"figma.com\", \"dev.azure.com\"];\n\nfunction formatCustomUrl(url: string): string | undefined {\n let formattedUrl = url.trim().toLowerCase();\n if (!formattedUrl.startsWith(\"http://\") && !formattedUrl.startsWith(\"https://\")) {\n formattedUrl = \"https://\" + formattedUrl;\n }\n if (formattedUrl.endsWith(\"/\")) {\n formattedUrl = formattedUrl.slice(0, -1);\n }\n\n // do not store default urls that we incorrectly provided as custom urls\n return forbiddenCustomUrlDomainList.some(domain => formattedUrl.includes(domain)) ? undefined : formattedUrl;\n}\n","import { z } from \"zod\";\nimport { User } from \"../users\";\n\nexport const NpmProxyToken = z.object({\n access: z.string(),\n expiresAt: z.number(),\n});\n\nexport type NpmProxyToken = z.infer<typeof NpmProxyToken>;\n\nexport const SessionData = z.object({\n returnToUrl: z.string().optional(),\n npmProxyToken: NpmProxyToken.optional(),\n});\n\nexport type SessionData = z.infer<typeof SessionData>;\n\nexport const Session = z.object({\n id: z.string(),\n expiresAt: z.coerce.date(),\n userId: z.string().nullable(),\n anonymousId: z.string().nullable(),\n data: SessionData,\n});\n\nexport type Session = z.infer<typeof Session>;\n\nexport const AuthTokens = z.object({\n access: z.string(),\n refresh: z.string(),\n});\n\nexport type AuthTokens = z.infer<typeof AuthTokens>;\n\nexport const UserSession = z.object({\n session: Session,\n user: User.nullable(),\n});\n\nexport type UserSession = z.infer<typeof UserSession>;\n","import { z } from \"zod\";\nimport { DesignSystem } from \"../dsm/design-system\";\nimport { User } from \"../users/user\";\nimport { Workspace } from \"../workspace\";\nimport { WorkspaceRoleSchema } from \"../workspace/workspace-role\";\n\n/**\n * Object describing who is going to receive the email.\n *\n * Normally recepient is just an email, however in some cases email can be tailored\n * for who receives it. In this case the email has cutomization based on the role of the\n * recepient in the workspace (or design design system).\n */\nexport const DesignSystemInviteEmailRecipient = z.object({\n email: z.string(),\n role: WorkspaceRoleSchema,\n});\n\n/**\n * Object describing the necessary data to send an email notifying a user that\n * they've been added to a design system.\n */\nexport const DesignSystemInviteEmailData = z.object({\n workspace: Workspace,\n designSystem: DesignSystem,\n invitedBy: User,\n documentationDomain: z.string().optional(),\n});\n\nexport type DesignSystemInviteEmailRecipient = z.infer<typeof DesignSystemInviteEmailRecipient>;\nexport type DesignSystemInviteEmailData = z.infer<typeof DesignSystemInviteEmailData>;\n","import { z } from \"zod\";\nimport { User } from \"../users/user\";\nimport { Workspace } from \"../workspace/workspace\";\nimport { WorkspaceRoleSchema } from \"../workspace/workspace-role\";\n\n/**\n * Object describing who is going to receive the email.\n *\n * Normally recepient is just an email, however in some cases email can be tailored\n * for who receives it. In this case the email has cutomization based on the role of the\n * recepient in the workspace.\n */\nexport const WorkspaceInviteEmailRecipient = z.object({\n email: z.string(),\n role: WorkspaceRoleSchema,\n});\n\n/**\n * Object describing the necessary data to send an email notifying a user that\n * they've been added to a workspace.\n */\nexport const WorkspaceInviteEmailData = z.object({\n workspace: Workspace,\n invitedBy: User,\n documentationDomain: z.string().optional(),\n});\n\nexport type WorkspaceInviteEmailRecipient = z.infer<typeof WorkspaceInviteEmailRecipient>;\nexport type WorkspaceInviteEmailData = z.infer<typeof WorkspaceInviteEmailData>;\n","import { z } from \"zod\";\nimport { EventDataSourceImported } from \"./data-source-imported\";\nimport { EventVersionReleased } from \"./version-released\";\nimport { EventDocumentationPublished } from \"./documentation-published\";\n\nexport const Event = z.discriminatedUnion(\"type\", [\n EventVersionReleased,\n EventDataSourceImported,\n EventDocumentationPublished,\n]);\n\nexport type Event = z.infer<typeof Event>;\n","import { z } from \"zod\";\n\nexport const EventDataSourceImported = z.object({\n type: z.literal(\"DataSourceImported\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n});\n\nexport type EventDataSourceImported = z.infer<typeof EventDataSourceImported>;\n","import { z } from \"zod\";\n\nexport const EventVersionReleased = z.object({\n type: z.literal(\"DesignSystemVersionReleased\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n versionId: z.string(),\n});\n\nexport type EventVersionReleased = z.infer<typeof EventVersionReleased>;\n","import { z } from \"zod\";\n\nexport const EventDocumentationPublished = z.object({\n type: z.literal(\"DocumentationPublished\"),\n workspaceId: z.string(),\n designSystemId: z.string(),\n versionId: z.string(),\n});\n\nexport type EventDocumentationPublished = z.infer<typeof EventDocumentationPublished>;\n","import { z } from \"zod\";\nimport { ExporterConfigurationPropertyValue, PublishedDocEnvironment } from \"../../dsm\";\nimport { ExporterPropertyValueMap } from \"../export-configuration\";\n\nexport const ExportJobDocumentationContext = z.object({\n isSingleVersionDocs: z.boolean(),\n versionSlug: z.string(),\n environment: PublishedDocEnvironment,\n});\n\nexport const ExportJobDebugContext = z.object({\n debugMode: z.boolean().optional(),\n concurrency: z.number().optional(),\n preloadData: z.string().optional(),\n concurrencyMode: z.string().optional(),\n cacheSdk: z.string().optional(),\n logSdkNetwork: z.boolean().optional(),\n profilerMode: z.string().optional(),\n});\n\nexport const ExportJobContext = z.object({\n apiUrl: z.string(),\n accessToken: z.string(),\n\n designSystemId: z.string(),\n designSystemName: z.string(),\n exporterId: z.string(),\n versionId: z.string(),\n brandId: z.string().optional(),\n themeId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n previewMode: z.boolean().optional(),\n\n exporterName: z.string(),\n\n documentation: ExportJobDocumentationContext.optional(),\n debug: ExportJobDebugContext.optional(),\n});\n\nexport const ExportJobExporterConfiguration = z.object({\n exporterPackageUrl: z.string(),\n exporterPropertyValues: ExporterConfigurationPropertyValue.array(),\n exporterPropertyValuesV2: ExporterPropertyValueMap.optional(),\n});\n\nexport type ExportJobDocumentationContext = z.infer<typeof ExportJobDocumentationContext>;\nexport type ExportJobDebugContext = z.infer<typeof ExportJobDebugContext>;\nexport type ExportJobExporterConfiguration = z.infer<typeof ExportJobExporterConfiguration>;\nexport type ExportJobContext = z.infer<typeof ExportJobContext>;\n","import { z } from \"zod\";\n\nexport const ExporterFunctionPayload = z.object({\n exportJobId: z.string(),\n exportContextId: z.string(),\n designSystemId: z.string(),\n workspaceId: z.string(),\n exporterId: z.string(),\n});\n\nexport type ExporterFunctionPayload = z.infer<typeof ExporterFunctionPayload>;\n","import { z } from \"zod\";\nimport { PublishedDocEnvironment } from \"../dsm\";\nimport { DbCreateInputOmit, DbUpdate, nullishToOptional } from \"../helpers\";\nimport { ExporterPropertyValueMap } from \"./export-configuration\";\nimport { ExportDestinationsMap } from \"./export-destinations\";\n\n//\n// Enums\n//\n\nexport const ExportJobDestinationType = z.enum([\n \"s3\",\n \"webhookUrl\",\n \"github\",\n \"documentation\",\n \"azure\",\n \"gitlab\",\n \"bitbucket\",\n]);\nexport const ExportJobStatus = z.enum([\"InProgress\", \"Success\", \"Failed\", \"Timeout\"]);\nexport const ExportJobLogEntryType = z.enum([\"success\", \"info\", \"warning\", \"error\", \"user\"]);\n\nexport type ExportJobDestinationType = z.infer<typeof ExportJobDestinationType>;\nexport type ExportJobStatus = z.infer<typeof ExportJobStatus>;\nexport type ExportJobLogEntryType = z.infer<typeof ExportJobLogEntryType>;\n\n//\n// Results\n//\n\nexport const ExportJobLogEntry = z.object({\n id: z.string().optional(),\n time: z.coerce.date(),\n type: ExportJobLogEntryType,\n message: z.string(),\n});\n\nexport const ExportJobPullRequestDestinationResult = z.object({\n pullRequestUrl: z.string(),\n sparseCheckoutUsed: nullishToOptional(z.boolean()),\n});\n\nexport const ExportJobS3DestinationResult = z.object({\n bucket: z.string(),\n urlPrefix: z.string().optional(),\n path: z.string(),\n files: z.array(z.string()),\n\n url: nullishToOptional(z.string()),\n urls: nullishToOptional(z.string().array()),\n});\n\nexport const ExportJobDocsDestinationResult = z.object({\n url: z.string(),\n});\n\nexport const ExportJobResult = z.object({\n error: z.string().optional(),\n s3: nullishToOptional(ExportJobS3DestinationResult),\n github: nullishToOptional(ExportJobPullRequestDestinationResult),\n azure: nullishToOptional(ExportJobPullRequestDestinationResult),\n gitlab: nullishToOptional(ExportJobPullRequestDestinationResult),\n bitbucket: nullishToOptional(ExportJobPullRequestDestinationResult),\n sndocs: nullishToOptional(ExportJobDocsDestinationResult),\n logs: nullishToOptional(ExportJobLogEntry.array()),\n});\n\nexport type ExportJobLogEntry = z.infer<typeof ExportJobLogEntry>;\nexport type ExportJobPullRequestDestinationResult = z.infer<typeof ExportJobPullRequestDestinationResult>;\nexport type ExportJobS3DestinationResult = z.infer<typeof ExportJobS3DestinationResult>;\nexport type ExportJobDocsDestinationResult = z.infer<typeof ExportJobDocsDestinationResult>;\nexport type ExportJobResult = z.infer<typeof ExportJobResult>;\n\n//\n// Job\n//\n\nexport const ExportJob = z.object({\n id: z.string(),\n createdAt: z.coerce.date(),\n finishedAt: z.coerce.date().optional(),\n designSystemId: z.string(),\n designSystemVersionId: z.string(),\n workspaceId: z.string(),\n scheduleId: z.string().nullish(),\n exporterId: z.string(),\n brandId: z.string().optional(),\n themeId: z.string().optional(),\n themePersistentIds: z.string().array().optional(),\n estimatedExecutionTime: z.number().optional(),\n status: ExportJobStatus,\n result: ExportJobResult.optional(),\n createdByUserId: z.string().optional(),\n exporterPropertyValues: ExporterPropertyValueMap.optional(),\n previewMode: z.boolean().optional(),\n exportContextId: z.string().optional().nullable(),\n\n // Destinations\n ...ExportDestinationsMap.shape,\n});\n\nexport type ExportJob = z.infer<typeof ExportJob>;\n\nexport type CreateExportJob = DbCreateInputOmit<ExportJob>;\nexport type UpdateExportJob = Pick<DbUpdate<ExportJob>, \"id\" | \"status\" | \"result\" | \"finishedAt\">;\n\n//\n// Support\n//\n\nexport const ExportJobFindByFilter = ExportJob.pick({\n exporterId: true,\n designSystemVersionId: true,\n createdByUserId: true,\n status: true,\n scheduleId: true,\n designSystemId: true,\n themeId: true,\n brandId: true,\n})\n .extend({\n destinations: z.array(ExportJobDestinationType),\n docsEnvironment: PublishedDocEnvironment,\n selectivePublishing: z.boolean().optional(),\n })\n .partial();\n\nexport type ExportJobFindByFilter = z.infer<typeof ExportJobFindByFilter>;\n","import { z } from \"zod\";\n\nconst ExporterType = z.enum([\"documentation\", \"code\"]);\n\nexport const ListExporterQuery = z.object({\n limit: z.number().optional(),\n offset: z.number().optional(),\n type: ExporterType.optional(),\n search: z.string().optional(),\n});\n\nexport type ListExporterQuery = z.infer<typeof ListExporterQuery>;\n","import { z } from \"zod\";\n\nexport const ExporterWorkspaceMembershipRole = z.enum([\"Owner\", \"OwnerArchived\", \"User\"]);\nexport type ExporterWorkspaceMembershipRole = z.infer<typeof ExporterWorkspaceMembershipRole>;\n","import { z } from \"zod\";\nimport { ExporterWorkspaceMembershipRole } from \"./exporter-workspace-membership-role\";\nimport { DbCreateInputOmit } from \"../helpers\";\n\nexport const ExporterWorkspaceMembership = z.object({\n id: z.string(),\n workspaceId: z.string(),\n exporterId: z.string(),\n role: ExporterWorkspaceMembershipRole,\n});\n\nexport type ExporterWorkspaceMembership = z.infer<typeof ExporterWorkspaceMembership>;\n\nexport type CreateExporterMembership = DbCreateInputOmit<ExporterWorkspaceMembership>;\n","import { z } from \"zod\";\n\nexport const FlaggedFeature = z.enum([\n \"FigmaImporterV2\",\n \"DisableImporter\",\n \"VariablesOrder\",\n \"TypographyPropsKeepAliases\",\n \"GradientPropsKeepAliases\",\n \"ShadowPropsKeepAliases\",\n \"NonCompatibleTypeChanges\",\n \"TypographyUseFontStyle\",\n \"SparseCheckoutEnabled\",\n \"NoTagsNoBlobsCheckoutEnabled\",\n\n \"PulsarDebugMode\",\n \"PulsarLogSdkNetwork\",\n \"PulsarCacheSdk\",\n \"PulsarPreloadData\",\n \"PulsarConcurrencyMode\",\n \"PulsarConcurrency\",\n \"PulsarProfilerMode\",\n\n \"ForgeE2BTemplate\",\n \"ForgeOnDemandIterations\",\n \"ForgeAutoRetryOnErrors\",\n \"ForgeAiBackendMigrated\",\n \"CustomForgeTemplate\",\n]);\n\nexport const FeatureFlagDefaults = {\n DocumentationIgnoreSnapshotsOnPublish: \"route-bff+route-p3\" as string,\n} as const;\nexport type FeatureFlagWithDefaults = keyof typeof FeatureFlagDefaults;\nexport type FeatureFlagDefaultsTypes = {\n [K in FeatureFlagWithDefaults]: (typeof FeatureFlagDefaults)[K];\n};\n\nexport const FeatureFlagMap = z.record(FlaggedFeature, z.boolean());\nexport const FeatureFlag = z.object({\n id: z.string(),\n feature: FlaggedFeature,\n createdAt: z.coerce.date(),\n enabled: z.boolean(),\n designSystemId: z.string().optional(),\n data: z.record(z.any()).nullable().optional(),\n});\n\nexport type FlaggedFeature = z.infer<typeof FlaggedFeature>;\nexport type FeatureFlagMap = z.infer<typeof FeatureFlagMap>;\nexport type FeatureFlag = z.infer<typeof FeatureFlag>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const ExternalOAuthRequest = z.object({\n id: z.string(),\n provider: OAuthProviderSchema,\n userId: z.string(),\n state: z.string(),\n createdAt: z.coerce.date(),\n});\n\nexport type ExternalOAuthRequest = z.infer<typeof ExternalOAuthRequest>;\n","import { z } from \"zod\";\n\nexport enum OAuthProviderNames {\n Figma = \"figma\",\n Azure = \"azure\",\n Github = \"github\",\n Gitlab = \"gitlab\",\n Bitbucket = \"bitbucket\",\n}\n\nexport const OAuthProviderSchema = z.nativeEnum(OAuthProviderNames);\nexport type OAuthProvider = z.infer<typeof OAuthProviderSchema>;\nexport const OAuthProvider = OAuthProviderSchema.enum;\n","import { z } from \"zod\";\n\nexport const GitObjectsQuery = z.object({\n organization: z.string().optional(), // Azure Organization | Bitbucket Workspace slug | Gitlab Group | Github Account (User or Organization)\n project: z.string().optional(), // Only for Bitbucket and Azure\n repository: z.string().optional(), // For all providers. For Gitlab, it's called \"project\".\n branch: z.string().optional(), // For all providers.\n user: z.string().optional(), // Gitlab user\n});\n\nexport type GitObjectsQuery = z.infer<typeof GitObjectsQuery>;\n\nexport const GitOrganization = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n});\n\nexport const GitProject = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n});\n\nexport const GitRepository = z.object({\n id: z.string(),\n name: z.string(),\n url: z.string(),\n slug: z.string(),\n\n /**\n * Can be undefined when:\n * - there are no branches in the repository yet\n * - Git provider doesn't expose this information on a repository via their API\n */\n defaultBranch: z.string().optional(),\n});\n\nexport const GitBranch = z.object({\n name: z.string(),\n lastCommitId: z.string(),\n});\n\nexport type GitOrganization = z.infer<typeof GitOrganization>;\nexport type GitProject = z.infer<typeof GitProject>;\nexport type GitRepository = z.infer<typeof GitRepository>;\nexport type GitBranch = z.infer<typeof GitBranch>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const IntegrationTokenSchemaOld = z.object({\n id: z.string(),\n provider: OAuthProviderSchema,\n scope: z.string(),\n userId: z.string(),\n accessToken: z.string(),\n refreshToken: z.string(),\n expiresAt: z.coerce.date(),\n externalUserId: z.string().nullish(),\n});\n\n// Renamed because will be deleted later after full migration / end of project\nexport type IntegrationTokenOld = z.infer<typeof IntegrationTokenSchemaOld>;\n","import { z } from \"zod\";\nimport { OAuthProviderSchema } from \"./oauth-providers\";\n\nexport const WorkspaceOAuthRequestSchema = z.object({\n id: z.string(),\n workspaceId: z.string(),\n provider: OAuthProviderSchema,\n userId: z.string(),\n createdAt: z.coerce.date(),\n});\n\nexport type WorkspaceOAuthRequest = z.infer<typeof WorkspaceOAuthRequestSchema>;\n","import { z } from \"zod\";\n\nconst AnyRecord = z.record(z.any());\n\nconst NpmPackageVersionDist = AnyRecord.and(\n z.object({\n tarball: z.string(),\n })\n);\n\nconst NpmPackageVersion = AnyRecord.and(\n z.object({\n dist: NpmPackageVersionDist,\n })\n);\n\nexport const NpmPackage = AnyRecord.and(\n z.object({\n _id: z.string(),\n name: z.string(),\n\n // e.g. \"latest\": \"1.2.3\"\n \"dist-tags\": z.record(z.string(), z.string()),\n\n // \"1.2.3\": {...}\n versions: z.record(NpmPackageVersion),\n })\n);\n\nexport type NpmPackage = z.infer<typeof NpmPackage>;\n","import { z } from \"zod\";\n\nexport const NpmProxyTokenPayload = z.object({\n npmProxyRegistryConfigId: z.string(),\n});\n\nexport type NpmProxyTokenPayload = z.infer<typeof NpmProxyTokenPayload>;\n","import { z } from \"zod\";\n\nexport const PageScreenshotInput = z.object({\n url: z.string().url(),\n elementSelector: z.string(),\n uploadUrl: z.string().url(),\n viewportSize: z\n .object({\n width: z.number().positive(),\n height: z.number().positive(),\n })\n .optional(),\n imageSize: z\n .object({\n width: z.number().positive(),\n height: z.number().positive(),\n })\n .optional(),\n supernovaAuth: z\n .object({\n accessToken: z.string(),\n })\n .optional(),\n trace: z\n .object({\n sentryTrace: z.string().optional(),\n baggage: z.string().optional(),\n })\n .optional(),\n});\n\nexport const PageScreenshotOutput = z.discriminatedUnion(\"success\", [\n z.object({\n success: z.literal(true),\n fileSize: z.number(),\n }),\n z.object({\n success: z.literal(false),\n error: z.string(),\n }),\n]);\n\nexport type PageScreenshotOutput = z.infer<typeof PageScreenshotOutput>;\nexport type PageScreenshotInput = z.infer<typeof PageScreenshotInput>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit, DbUpdate } from \"../helpers\";\nimport { UserTheme } from \"../users\";\nimport { OmitStrict } from \"../utils\";\n\nexport const PortalSettingsTheme = UserTheme;\n\nexport const PortalSettingsSidebarLink = z.object({\n name: z.string(),\n url: z.string(),\n emoji: z.string(),\n});\nexport const PortalSettingsSidebarSection = z.object({\n sectionName: z.string(),\n links: z.array(PortalSettingsSidebarLink),\n});\nexport const PortalSettingsSidebar = z.array(PortalSettingsSidebarSection);\n\nexport const PortalSettings = z.object({\n id: z.string(),\n workspaceId: z.string(),\n\n enabledDesignSystemIds: z.array(z.string()),\n enabledBrandPersistentIds: z.array(z.string()),\n\n theme: PortalSettingsTheme.nullish(),\n sidebar: PortalSettingsSidebar.nullish(),\n\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n});\n\nexport type PortalSettingsTheme = z.infer<typeof PortalSettingsTheme>;\nexport type PortalSettings = z.infer<typeof PortalSettings>;\nexport type PortalSettingsSidebarLink = z.infer<typeof PortalSettingsSidebarLink>;\nexport type PortalSettingsSidebarSection = z.infer<typeof PortalSettingsSidebarSection>;\nexport type PortalSettingsSidebar = z.infer<typeof PortalSettingsSidebar>;\nexport type CreatePortalSettings = DbCreateInputOmit<PortalSettings>;\nexport type UpdatePortalSettings = OmitStrict<DbUpdate<PortalSettings>, \"workspaceId\">;\n","import z from \"zod\";\n\nexport const SentryTraceHeaders = z.object({\n sentryTrace: z.string(),\n baggage: z.string(),\n});\n\nexport type SentryTraceHeaders = z.infer<typeof SentryTraceHeaders>;\n","import { z } from \"zod\";\nimport { DbCreateInputOmit } from \"../helpers\";\nimport { WorkspaceRoleSchema } from \"../workspace\";\n\nexport const PersonalAccessToken = z.object({\n id: z.string(),\n userId: z.string(),\n\n workspaceId: z.string().optional(),\n designSystemId: z.string().optional(),\n workspaceRole: WorkspaceRoleSchema.optional(),\n\n name: z.string(),\n hidden: z.boolean(),\n\n token: z.string(),\n scope: z.string().optional(),\n\n createdAt: z.coerce.date(),\n expireAt: z.coerce.date().optional(),\n});\n\nexport type PersonalAccessToken = z.infer<typeof PersonalAccessToken>;\n\nexport type CreatePersonalAccessToken = DbCreateInputOmit<PersonalAccessToken>;\n"]}
|