@supernova-studio/client 1.96.6 → 1.96.7

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.
Files changed (349) hide show
  1. package/dist/index.d.mts +101177 -143251
  2. package/dist/index.d.ts +101177 -143251
  3. package/dist/index.js +408 -105
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +5542 -5239
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +20 -9
  8. package/src/api/client.ts +62 -0
  9. package/src/api/conversion/analytics/index.ts +3 -0
  10. package/src/api/conversion/analytics/page-visits-to-comparison-dto.ts +65 -0
  11. package/src/api/conversion/analytics/page-visits-to-dto.ts +68 -0
  12. package/src/api/conversion/analytics/page-visits-to-heatmap-dto.ts +49 -0
  13. package/src/api/conversion/documentation/documentation-group-v1-to-dto.ts +114 -0
  14. package/src/api/conversion/documentation/documentation-group-v2-to-dto.ts +91 -0
  15. package/src/api/conversion/documentation/documentation-item-configuration-v1-to-dto.ts +52 -0
  16. package/src/api/conversion/documentation/documentation-item-configuration-v2-to-dto.ts +34 -0
  17. package/src/api/conversion/documentation/documentation-page-to-dto-utils.ts +134 -0
  18. package/src/api/conversion/documentation/documentation-page-v1-to-dto.ts +69 -0
  19. package/src/api/conversion/documentation/documentation-page-v2-to-dto.ts +84 -0
  20. package/src/api/conversion/documentation/documentation-settings-to-dto.ts +14 -0
  21. package/src/api/conversion/documentation/index.ts +8 -0
  22. package/src/api/conversion/export/index.ts +1 -0
  23. package/src/api/conversion/export/pipeline.ts +27 -0
  24. package/src/api/conversion/index.ts +4 -0
  25. package/src/api/conversion/integrations/git.ts +37 -0
  26. package/src/api/conversion/integrations/index.ts +2 -0
  27. package/src/api/conversion/integrations/integration.ts +37 -0
  28. package/src/api/dto/access-tokens/access-token.ts +45 -0
  29. package/src/api/dto/access-tokens/index.ts +1 -0
  30. package/src/api/dto/aux/color.ts +7 -0
  31. package/src/api/dto/aux/index.ts +4 -0
  32. package/src/api/dto/aux/meta.ts +8 -0
  33. package/src/api/dto/aux/object-metadata.ts +29 -0
  34. package/src/api/dto/aux/pagination.ts +8 -0
  35. package/src/api/dto/bff/app-bootstrap-data.ts +20 -0
  36. package/src/api/dto/bff/index.ts +1 -0
  37. package/src/api/dto/collections/index.ts +1 -0
  38. package/src/api/dto/collections/token-collection.ts +32 -0
  39. package/src/api/dto/design-systems/brand.ts +44 -0
  40. package/src/api/dto/design-systems/code-component-usage.ts +52 -0
  41. package/src/api/dto/design-systems/code-component.ts +101 -0
  42. package/src/api/dto/design-systems/code-history.ts +43 -0
  43. package/src/api/dto/design-systems/code-scan.ts +29 -0
  44. package/src/api/dto/design-systems/code-snapshots.ts +46 -0
  45. package/src/api/dto/design-systems/component.ts +40 -0
  46. package/src/api/dto/design-systems/contact.ts +11 -0
  47. package/src/api/dto/design-systems/data-source.ts +216 -0
  48. package/src/api/dto/design-systems/design-system.ts +75 -0
  49. package/src/api/dto/design-systems/documentation-search.ts +31 -0
  50. package/src/api/dto/design-systems/elements-diff.ts +14 -0
  51. package/src/api/dto/design-systems/figma-variables.ts +122 -0
  52. package/src/api/dto/design-systems/file.ts +71 -0
  53. package/src/api/dto/design-systems/import-job.ts +62 -0
  54. package/src/api/dto/design-systems/index.ts +24 -0
  55. package/src/api/dto/design-systems/members.ts +52 -0
  56. package/src/api/dto/design-systems/redirects.ts +33 -0
  57. package/src/api/dto/design-systems/role.ts +11 -0
  58. package/src/api/dto/design-systems/stats.ts +20 -0
  59. package/src/api/dto/design-systems/storybook.ts +45 -0
  60. package/src/api/dto/design-systems/user-design-systems.ts +10 -0
  61. package/src/api/dto/design-systems/version-room.ts +12 -0
  62. package/src/api/dto/design-systems/version.ts +56 -0
  63. package/src/api/dto/design-systems/view.ts +45 -0
  64. package/src/api/dto/design-tokens/design-token.ts +78 -0
  65. package/src/api/dto/design-tokens/index.ts +1 -0
  66. package/src/api/dto/documentation/analytics-v2.ts +80 -0
  67. package/src/api/dto/documentation/analytics.ts +32 -0
  68. package/src/api/dto/documentation/anchor.ts +15 -0
  69. package/src/api/dto/documentation/approvals.ts +21 -0
  70. package/src/api/dto/documentation/block-definition.ts +28 -0
  71. package/src/api/dto/documentation/block.ts +6 -0
  72. package/src/api/dto/documentation/documentation-page-snapshot.ts +18 -0
  73. package/src/api/dto/documentation/documentation.ts +34 -0
  74. package/src/api/dto/documentation/index.ts +11 -0
  75. package/src/api/dto/documentation/link-preview.ts +23 -0
  76. package/src/api/dto/documentation/publish.ts +23 -0
  77. package/src/api/dto/documentation/room.ts +12 -0
  78. package/src/api/dto/elements/components/figma-component-group.ts +19 -0
  79. package/src/api/dto/elements/components/figma-component.ts +56 -0
  80. package/src/api/dto/elements/components/index.ts +2 -0
  81. package/src/api/dto/elements/documentation/configuration.ts +20 -0
  82. package/src/api/dto/elements/documentation/draft-state.ts +37 -0
  83. package/src/api/dto/elements/documentation/group-action.ts +108 -0
  84. package/src/api/dto/elements/documentation/group-v1.ts +35 -0
  85. package/src/api/dto/elements/documentation/group-v2.ts +117 -0
  86. package/src/api/dto/elements/documentation/hierarchy.ts +25 -0
  87. package/src/api/dto/elements/documentation/index.ts +16 -0
  88. package/src/api/dto/elements/documentation/item-configuration-v1.ts +24 -0
  89. package/src/api/dto/elements/documentation/item-configuration-v2.ts +14 -0
  90. package/src/api/dto/elements/documentation/metadata.ts +8 -0
  91. package/src/api/dto/elements/documentation/page-actions-v2.ts +138 -0
  92. package/src/api/dto/elements/documentation/page-content.ts +15 -0
  93. package/src/api/dto/elements/documentation/page-dependencies.ts +30 -0
  94. package/src/api/dto/elements/documentation/page-v1.ts +21 -0
  95. package/src/api/dto/elements/documentation/page-v2.ts +132 -0
  96. package/src/api/dto/elements/documentation/settings.ts +9 -0
  97. package/src/api/dto/elements/documentation/structure.ts +37 -0
  98. package/src/api/dto/elements/elements-action-v2.ts +125 -0
  99. package/src/api/dto/elements/figma-nodes/figma-node-structure.ts +27 -0
  100. package/src/api/dto/elements/figma-nodes/figma-node-v1.ts +32 -0
  101. package/src/api/dto/elements/figma-nodes/figma-node-v2.ts +32 -0
  102. package/src/api/dto/elements/figma-nodes/figma-node.ts +103 -0
  103. package/src/api/dto/elements/figma-nodes/index.ts +5 -0
  104. package/src/api/dto/elements/figma-nodes/node-actions-v2.ts +25 -0
  105. package/src/api/dto/elements/frame-node-structures/frame-node-structure.ts +17 -0
  106. package/src/api/dto/elements/frame-node-structures/index.ts +1 -0
  107. package/src/api/dto/elements/get-elements-v2.ts +27 -0
  108. package/src/api/dto/elements/index.ts +7 -0
  109. package/src/api/dto/elements/properties/index.ts +2 -0
  110. package/src/api/dto/elements/properties/property-definitions.ts +75 -0
  111. package/src/api/dto/elements/properties/property-values.ts +50 -0
  112. package/src/api/dto/events/forge-project.ts +51 -0
  113. package/src/api/dto/events/index.ts +2 -0
  114. package/src/api/dto/events/workspace.ts +81 -0
  115. package/src/api/dto/export/exporter-property.ts +114 -0
  116. package/src/api/dto/export/exporter.ts +115 -0
  117. package/src/api/dto/export/filter.ts +20 -0
  118. package/src/api/dto/export/index.ts +5 -0
  119. package/src/api/dto/export/job.ts +114 -0
  120. package/src/api/dto/export/pipeline.ts +60 -0
  121. package/src/api/dto/figma-components/assets/download.ts +30 -0
  122. package/src/api/dto/figma-components/assets/index.ts +1 -0
  123. package/src/api/dto/figma-components/index.ts +1 -0
  124. package/src/api/dto/figma-exporter/figma-node.ts +11 -0
  125. package/src/api/dto/figma-exporter/index.ts +1 -0
  126. package/src/api/dto/files/files.ts +94 -0
  127. package/src/api/dto/files/index.ts +1 -0
  128. package/src/api/dto/forge/agent.ts +38 -0
  129. package/src/api/dto/forge/artifact.ts +94 -0
  130. package/src/api/dto/forge/feature-messages.ts +551 -0
  131. package/src/api/dto/forge/feature-room.ts +12 -0
  132. package/src/api/dto/forge/figma-node.ts +117 -0
  133. package/src/api/dto/forge/index.ts +28 -0
  134. package/src/api/dto/forge/iteration-message-old.ts +43 -0
  135. package/src/api/dto/forge/knowledge-item.ts +67 -0
  136. package/src/api/dto/forge/memory.ts +67 -0
  137. package/src/api/dto/forge/participant.ts +44 -0
  138. package/src/api/dto/forge/project-action.ts +123 -0
  139. package/src/api/dto/forge/project-artifact-room.ts +12 -0
  140. package/src/api/dto/forge/project-artifact.ts +85 -0
  141. package/src/api/dto/forge/project-context-feedback.ts +141 -0
  142. package/src/api/dto/forge/project-context-override.ts +41 -0
  143. package/src/api/dto/forge/project-context-scope.ts +23 -0
  144. package/src/api/dto/forge/project-context-v2.ts +228 -0
  145. package/src/api/dto/forge/project-context.ts +72 -0
  146. package/src/api/dto/forge/project-feature.ts +86 -0
  147. package/src/api/dto/forge/project-figma-node.ts +9 -0
  148. package/src/api/dto/forge/project-file.ts +48 -0
  149. package/src/api/dto/forge/project-invitation.ts +46 -0
  150. package/src/api/dto/forge/project-iteration-old.ts +54 -0
  151. package/src/api/dto/forge/project-member.ts +67 -0
  152. package/src/api/dto/forge/project-room.ts +12 -0
  153. package/src/api/dto/forge/project-section.ts +37 -0
  154. package/src/api/dto/forge/project.ts +105 -0
  155. package/src/api/dto/forge/relation.ts +34 -0
  156. package/src/api/dto/forge/threads.ts +153 -0
  157. package/src/api/dto/index.ts +25 -0
  158. package/src/api/dto/liveblocks/auth-response.ts +7 -0
  159. package/src/api/dto/liveblocks/index.ts +1 -0
  160. package/src/api/dto/mcp/index.ts +1 -0
  161. package/src/api/dto/mcp/stream.ts +17 -0
  162. package/src/api/dto/notifications/index.ts +2 -0
  163. package/src/api/dto/notifications/notifications.ts +65 -0
  164. package/src/api/dto/notifications/settings.ts +10 -0
  165. package/src/api/dto/portal/index.ts +1 -0
  166. package/src/api/dto/portal/portal-settings.ts +45 -0
  167. package/src/api/dto/sandboxes/index.ts +1 -0
  168. package/src/api/dto/sandboxes/template.ts +143 -0
  169. package/src/api/dto/storybook-sites/index.ts +1 -0
  170. package/src/api/dto/storybook-sites/storybook-sites.ts +60 -0
  171. package/src/api/dto/themes/index.ts +2 -0
  172. package/src/api/dto/themes/override.ts +27 -0
  173. package/src/api/dto/themes/theme.ts +53 -0
  174. package/src/api/dto/threads/index.ts +1 -0
  175. package/src/api/dto/threads/threads.ts +280 -0
  176. package/src/api/dto/trail-events/index.ts +1 -0
  177. package/src/api/dto/trail-events/trail-events.ts +172 -0
  178. package/src/api/dto/users/authenticated-user.ts +92 -0
  179. package/src/api/dto/users/index.ts +2 -0
  180. package/src/api/dto/users/user.ts +27 -0
  181. package/src/api/dto/workspaces/billing.ts +156 -0
  182. package/src/api/dto/workspaces/enums.ts +13 -0
  183. package/src/api/dto/workspaces/git.ts +32 -0
  184. package/src/api/dto/workspaces/index.ts +15 -0
  185. package/src/api/dto/workspaces/integrations.ts +34 -0
  186. package/src/api/dto/workspaces/invitations.ts +47 -0
  187. package/src/api/dto/workspaces/ip-whitelist.ts +33 -0
  188. package/src/api/dto/workspaces/knowledge-items-search.ts +37 -0
  189. package/src/api/dto/workspaces/login-screen.ts +42 -0
  190. package/src/api/dto/workspaces/membership.ts +55 -0
  191. package/src/api/dto/workspaces/npm-registry.ts +62 -0
  192. package/src/api/dto/workspaces/products.ts +45 -0
  193. package/src/api/dto/workspaces/subscription.ts +170 -0
  194. package/src/api/dto/workspaces/transfer-ownership.ts +7 -0
  195. package/src/api/dto/workspaces/untyped-data.ts +35 -0
  196. package/src/api/dto/workspaces/workspace.ts +49 -0
  197. package/src/api/endpoints/auth-tokens.ts +28 -0
  198. package/src/api/endpoints/codegen/codegen.ts +16 -0
  199. package/src/api/endpoints/codegen/ds-pipelines.ts +37 -0
  200. package/src/api/endpoints/codegen/exporters.ts +54 -0
  201. package/src/api/endpoints/codegen/index.ts +5 -0
  202. package/src/api/endpoints/codegen/jobs.ts +15 -0
  203. package/src/api/endpoints/codegen/pipelines.ts +55 -0
  204. package/src/api/endpoints/design-system/analytics.ts +14 -0
  205. package/src/api/endpoints/design-system/bff.ts +13 -0
  206. package/src/api/endpoints/design-system/code-snapshots.ts +47 -0
  207. package/src/api/endpoints/design-system/contact.ts +12 -0
  208. package/src/api/endpoints/design-system/design-systems.ts +90 -0
  209. package/src/api/endpoints/design-system/figma-node-structures.ts +20 -0
  210. package/src/api/endpoints/design-system/index.ts +11 -0
  211. package/src/api/endpoints/design-system/members.ts +24 -0
  212. package/src/api/endpoints/design-system/redirects.ts +46 -0
  213. package/src/api/endpoints/design-system/sources.ts +80 -0
  214. package/src/api/endpoints/design-system/storybook.ts +28 -0
  215. package/src/api/endpoints/design-system/versions/brands.ts +45 -0
  216. package/src/api/endpoints/design-system/versions/documentation.ts +107 -0
  217. package/src/api/endpoints/design-system/versions/ds-components.ts +30 -0
  218. package/src/api/endpoints/design-system/versions/elements-action.ts +65 -0
  219. package/src/api/endpoints/design-system/versions/elements.ts +27 -0
  220. package/src/api/endpoints/design-system/versions/figma-component-groups.ts +13 -0
  221. package/src/api/endpoints/design-system/versions/figma-components.ts +15 -0
  222. package/src/api/endpoints/design-system/versions/figma-frame-structures.ts +13 -0
  223. package/src/api/endpoints/design-system/versions/files.ts +43 -0
  224. package/src/api/endpoints/design-system/versions/import-jobs.ts +13 -0
  225. package/src/api/endpoints/design-system/versions/index.ts +19 -0
  226. package/src/api/endpoints/design-system/versions/overrides.ts +17 -0
  227. package/src/api/endpoints/design-system/versions/property-definitions.ts +43 -0
  228. package/src/api/endpoints/design-system/versions/property-values.ts +25 -0
  229. package/src/api/endpoints/design-system/versions/stats.ts +12 -0
  230. package/src/api/endpoints/design-system/versions/themes.ts +35 -0
  231. package/src/api/endpoints/design-system/versions/token-collections.ts +13 -0
  232. package/src/api/endpoints/design-system/versions/token-groups.ts +30 -0
  233. package/src/api/endpoints/design-system/versions/tokens.ts +29 -0
  234. package/src/api/endpoints/design-system/versions/versions.ts +90 -0
  235. package/src/api/endpoints/feedback.ts +60 -0
  236. package/src/api/endpoints/files.ts +25 -0
  237. package/src/api/endpoints/forge/agents.ts +54 -0
  238. package/src/api/endpoints/forge/artifacts.ts +54 -0
  239. package/src/api/endpoints/forge/documents.ts +18 -0
  240. package/src/api/endpoints/forge/feature-artifacts.ts +39 -0
  241. package/src/api/endpoints/forge/feature-iterations.ts +49 -0
  242. package/src/api/endpoints/forge/feature-messages.ts +68 -0
  243. package/src/api/endpoints/forge/features.ts +63 -0
  244. package/src/api/endpoints/forge/forge.ts +38 -0
  245. package/src/api/endpoints/forge/index.ts +16 -0
  246. package/src/api/endpoints/forge/iteration-tags.ts +13 -0
  247. package/src/api/endpoints/forge/memory.ts +41 -0
  248. package/src/api/endpoints/forge/project-contexts.ts +49 -0
  249. package/src/api/endpoints/forge/project-files.ts +41 -0
  250. package/src/api/endpoints/forge/project-invitations.ts +39 -0
  251. package/src/api/endpoints/forge/project-iterations.ts +65 -0
  252. package/src/api/endpoints/forge/project-members.ts +55 -0
  253. package/src/api/endpoints/forge/projects.ts +56 -0
  254. package/src/api/endpoints/index.ts +13 -0
  255. package/src/api/endpoints/liveblocks.ts +14 -0
  256. package/src/api/endpoints/mcp/index.ts +1 -0
  257. package/src/api/endpoints/mcp/streams.ts +21 -0
  258. package/src/api/endpoints/sandboxes/builds.ts +30 -0
  259. package/src/api/endpoints/sandboxes/index.ts +3 -0
  260. package/src/api/endpoints/sandboxes/sandboxes.ts +13 -0
  261. package/src/api/endpoints/sandboxes/templates.ts +16 -0
  262. package/src/api/endpoints/storybook-sites.ts +42 -0
  263. package/src/api/endpoints/threads.ts +38 -0
  264. package/src/api/endpoints/users.ts +26 -0
  265. package/src/api/endpoints/workspaces/billing.ts +24 -0
  266. package/src/api/endpoints/workspaces/chat-threads.ts +95 -0
  267. package/src/api/endpoints/workspaces/index.ts +9 -0
  268. package/src/api/endpoints/workspaces/integrations.ts +15 -0
  269. package/src/api/endpoints/workspaces/invites.ts +34 -0
  270. package/src/api/endpoints/workspaces/knowledge-items.ts +59 -0
  271. package/src/api/endpoints/workspaces/members.ts +31 -0
  272. package/src/api/endpoints/workspaces/npm-register.ts +20 -0
  273. package/src/api/endpoints/workspaces/subscription.ts +31 -0
  274. package/src/api/endpoints/workspaces/workspaces.ts +84 -0
  275. package/src/api/index.ts +6 -0
  276. package/src/api/payloads/design-systems/code-snapshots.ts +27 -0
  277. package/src/api/payloads/design-systems/index.ts +3 -0
  278. package/src/api/payloads/design-systems/update-design-system.ts +42 -0
  279. package/src/api/payloads/design-systems/version.ts +29 -0
  280. package/src/api/payloads/documentation/analytics.ts +36 -0
  281. package/src/api/payloads/documentation/block-definitions.ts +18 -0
  282. package/src/api/payloads/documentation/design-data-doc-diff.ts +7 -0
  283. package/src/api/payloads/documentation/index.ts +3 -0
  284. package/src/api/payloads/export/index.ts +1 -0
  285. package/src/api/payloads/export/pipeline.ts +111 -0
  286. package/src/api/payloads/index.ts +6 -0
  287. package/src/api/payloads/liveblocks/auth.ts +7 -0
  288. package/src/api/payloads/liveblocks/index.ts +1 -0
  289. package/src/api/payloads/users/index.ts +1 -0
  290. package/src/api/payloads/users/notifications/index.ts +1 -0
  291. package/src/api/payloads/users/notifications/notification-settings.ts +17 -0
  292. package/src/api/payloads/workspaces/index.ts +2 -0
  293. package/src/api/payloads/workspaces/workspace-configuration.ts +62 -0
  294. package/src/api/payloads/workspaces/workspace-integrations.ts +35 -0
  295. package/src/api/transport/index.ts +2 -0
  296. package/src/api/transport/request-executor-error.ts +60 -0
  297. package/src/api/transport/request-executor.ts +94 -0
  298. package/src/events/design-system.ts +21 -0
  299. package/src/events/event.ts +6 -0
  300. package/src/events/index.ts +2 -0
  301. package/src/index.ts +5 -0
  302. package/src/sync/docs-local-action-executor.ts +412 -0
  303. package/src/sync/docs-structure-repo.ts +283 -0
  304. package/src/sync/index.ts +5 -0
  305. package/src/sync/project-content-repo.ts +215 -0
  306. package/src/sync/project-local-action-executor.ts +415 -0
  307. package/src/sync/types.ts +37 -0
  308. package/src/utils/figma.ts +72 -0
  309. package/src/utils/hash.ts +62 -0
  310. package/src/utils/index.ts +4 -0
  311. package/src/utils/query.ts +41 -0
  312. package/src/utils/redirect-validation.ts +76 -0
  313. package/src/yjs/design-system-content/documentation-hierarchy.ts +35 -0
  314. package/src/yjs/design-system-content/index.ts +2 -0
  315. package/src/yjs/design-system-content/item-configuration.ts +62 -0
  316. package/src/yjs/docs-editor/blocks-to-prosemirror.ts +764 -0
  317. package/src/yjs/docs-editor/index.ts +7 -0
  318. package/src/yjs/docs-editor/list-tree-builder.ts +127 -0
  319. package/src/yjs/docs-editor/mock.ts +2271 -0
  320. package/src/yjs/docs-editor/model/block.ts +8 -0
  321. package/src/yjs/docs-editor/model/index.ts +2 -0
  322. package/src/yjs/docs-editor/model/page.ts +8 -0
  323. package/src/yjs/docs-editor/prosemirror/index.ts +3 -0
  324. package/src/yjs/docs-editor/prosemirror/inner-editor-schema.ts +145 -0
  325. package/src/yjs/docs-editor/prosemirror/main-editor-schema.ts +577 -0
  326. package/src/yjs/docs-editor/prosemirror/types.ts +19 -0
  327. package/src/yjs/docs-editor/prosemirror-to-blocks.ts +986 -0
  328. package/src/yjs/docs-editor/utils.ts +115 -0
  329. package/src/yjs/feature-room/backend.ts +36 -0
  330. package/src/yjs/feature-room/base.ts +109 -0
  331. package/src/yjs/feature-room/frontend.ts +53 -0
  332. package/src/yjs/feature-room/index.ts +3 -0
  333. package/src/yjs/forge-project-room/backend.ts +59 -0
  334. package/src/yjs/forge-project-room/base.ts +190 -0
  335. package/src/yjs/forge-project-room/index.ts +2 -0
  336. package/src/yjs/index.ts +7 -0
  337. package/src/yjs/thread-room/backend.ts +32 -0
  338. package/src/yjs/thread-room/base.ts +71 -0
  339. package/src/yjs/thread-room/frontend.ts +39 -0
  340. package/src/yjs/thread-room/index.ts +3 -0
  341. package/src/yjs/utils/index.ts +1 -0
  342. package/src/yjs/utils/key-value-storage.ts +57 -0
  343. package/src/yjs/version-room/backend.ts +101 -0
  344. package/src/yjs/version-room/base.ts +323 -0
  345. package/src/yjs/version-room/compute-dto.ts +387 -0
  346. package/src/yjs/version-room/frontend.ts +76 -0
  347. package/src/yjs/version-room/index.ts +6 -0
  348. package/src/yjs/version-room/types.ts +31 -0
  349. package/src/yjs/version-room/utils.ts +109 -0
@@ -0,0 +1,80 @@
1
+ import { z } from "zod";
2
+
3
+ export const DTODocumentationAnalyticsTimeFrame = z.object({
4
+ start: z.coerce.date(),
5
+ end: z.coerce.date().optional(),
6
+ });
7
+
8
+ export type DTODocumentationAnalyticsTimeFrame = z.infer<typeof DTODocumentationAnalyticsTimeFrame>;
9
+
10
+ //
11
+ // Read
12
+ //
13
+
14
+ export const DTOPublishedDocVisitData = z.object({
15
+ timestamp: z.coerce.date(),
16
+ versionId: z.string(),
17
+ locale: z.string().optional(),
18
+ visits: z.number(),
19
+ sessions: z.number(),
20
+ });
21
+
22
+ export const DTOPublishedDocPageVisitData = DTOPublishedDocVisitData.extend({
23
+ pagePersistentId: z.string(),
24
+ });
25
+
26
+ /**
27
+ * Array of values per 2 hours (0, 2, 4, 6, etc)
28
+ */
29
+ const DTOPublishedDocVisitHeatMapDay = z.number().array().length(12);
30
+
31
+ export const DTOPublishedDocVisitHeatMapWeek = z.object({
32
+ /**
33
+ * For which timeframe it was calculated
34
+ */
35
+ timeFrame: DTODocumentationAnalyticsTimeFrame,
36
+
37
+ mon: DTOPublishedDocVisitHeatMapDay,
38
+ tue: DTOPublishedDocVisitHeatMapDay,
39
+ wed: DTOPublishedDocVisitHeatMapDay,
40
+ thu: DTOPublishedDocVisitHeatMapDay,
41
+ fri: DTOPublishedDocVisitHeatMapDay,
42
+ sat: DTOPublishedDocVisitHeatMapDay,
43
+ sun: DTOPublishedDocVisitHeatMapDay,
44
+ });
45
+
46
+ export const DTOPublishedDocAnalyticsComparisonData = z.object({
47
+ /**
48
+ * For which timeframe it was calculated
49
+ */
50
+ timeFrame: DTODocumentationAnalyticsTimeFrame,
51
+
52
+ priorVisitCount: z.number(),
53
+ priorSessionCount: z.number(),
54
+ currentVisitCount: z.number(),
55
+ currentSessionCount: z.number(),
56
+ });
57
+
58
+ export const DTOPublishedDocPageAnalyticsComparisonData = DTOPublishedDocAnalyticsComparisonData.extend({
59
+ pagePersistentId: z.string(),
60
+ });
61
+
62
+ export const DTODocumentationPageAnalyticsResponse = z.object({
63
+ globalAnalytics: DTOPublishedDocVisitData.array(),
64
+ pageAnalytics: DTOPublishedDocPageVisitData.array(),
65
+ heatMapData: DTOPublishedDocVisitHeatMapWeek.array(),
66
+ comparisonData: DTOPublishedDocAnalyticsComparisonData.array(),
67
+ pageComparisonData: DTOPublishedDocPageAnalyticsComparisonData.array(),
68
+ });
69
+
70
+ export const DTODocumentationAnalyticsRequest = z.object({
71
+ timeFrames: z.array(DTODocumentationAnalyticsTimeFrame),
72
+ });
73
+
74
+ export type DTOPublishedDocVisitHeatMapWeek = z.infer<typeof DTOPublishedDocVisitHeatMapWeek>;
75
+ export type DTOPublishedDocPageVisitData = z.infer<typeof DTOPublishedDocPageVisitData>;
76
+ export type DTOPublishedDocVisitData = z.infer<typeof DTOPublishedDocVisitData>;
77
+ export type DTOPublishedDocAnalyticsComparisonData = z.infer<typeof DTOPublishedDocAnalyticsComparisonData>;
78
+ export type DTOPublishedDocPageAnalyticsComparisonData = z.infer<typeof DTOPublishedDocPageAnalyticsComparisonData>;
79
+ export type DTODocumentationPageAnalyticsResponse = z.infer<typeof DTODocumentationPageAnalyticsResponse>;
80
+ export type DTODocumentationAnalyticsRequest = z.infer<typeof DTODocumentationAnalyticsRequest>;
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+
3
+ //
4
+ // Difference
5
+ //
6
+
7
+ /**
8
+ * @deprecated
9
+ */
10
+ export const DTODocumentationPageAnalyticsDifference = z.object({
11
+ startDate: z.coerce.date(),
12
+ endDate: z.coerce.date().optional(),
13
+ currentVisitCount: z.number(),
14
+ currentSessionCount: z.number(),
15
+ priorVisitCount: z.number(),
16
+ priorSessionCount: z.number(),
17
+ });
18
+
19
+ /**
20
+ * @deprecated
21
+ */
22
+ export const DTODocumentationPageIntervalDifferenceResponse = z.object({
23
+ differences: z.array(DTODocumentationPageAnalyticsDifference),
24
+ });
25
+
26
+ /**
27
+ * @deprecated
28
+ */
29
+ export type DTODocumentationPageAnalyticsDifference = z.infer<typeof DTODocumentationPageAnalyticsDifference>;
30
+ export type DTODocumentationPageIntervalDifferenceResponse = z.infer<
31
+ typeof DTODocumentationPageIntervalDifferenceResponse
32
+ >;
@@ -0,0 +1,15 @@
1
+ import { DocumentationPageAnchor } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+
4
+ //
5
+ // Read
6
+ //
7
+
8
+ export const DTODocumentationPageAnchor = DocumentationPageAnchor;
9
+
10
+ export const DTOGetDocumentationPageAnchorsResponse = z.object({
11
+ anchors: z.array(DTODocumentationPageAnchor),
12
+ });
13
+
14
+ export type DTODocumentationPageAnchor = z.infer<typeof DTODocumentationPageAnchor>;
15
+ export type DTOGetDocumentationPageAnchorsResponse = z.infer<typeof DTOGetDocumentationPageAnchorsResponse>;
@@ -0,0 +1,21 @@
1
+ import { DocumentationPageApprovalState } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+
4
+ export const DTODocumentationPageApprovalState = z.object({
5
+ approvalState: DocumentationPageApprovalState,
6
+ pagePersistentId: z.string(),
7
+ updatedByUserId: z.string(),
8
+ designSystemVersionId: z.string(),
9
+ updatedAt: z.coerce.date(),
10
+ createdAt: z.coerce.date(),
11
+ });
12
+
13
+ export const DTODocumentationGroupApprovalState = z.object({
14
+ persistentId: z.string(),
15
+ groupPersistentId: z.string(),
16
+ designSystemVersionId: z.string(),
17
+ approvalState: DocumentationPageApprovalState,
18
+ });
19
+
20
+ export type DTODocumentationPageApprovalState = z.infer<typeof DTODocumentationPageApprovalState>;
21
+ export type DTODocumentationGroupApprovalState = z.infer<typeof DTODocumentationGroupApprovalState>;
@@ -0,0 +1,28 @@
1
+ import {
2
+ PageBlockColorV2,
3
+ PageBlockDefinition,
4
+ PageBlockDefinitionBehavior,
5
+ PageBlockDefinitionItem,
6
+ PageBlockDefinitionLayout,
7
+ PageBlockDefinitionProperty,
8
+ PageBlockDefinitionVariant,
9
+ } from "@supernova-studio/model";
10
+ import { z } from "zod";
11
+
12
+ export const DTOPageBlockDefinitionBehavior = PageBlockDefinitionBehavior;
13
+ export const DTOPageBlockDefinitionItem = PageBlockDefinitionItem;
14
+ export const DTOPageBlockDefinitionLayout = PageBlockDefinitionLayout;
15
+ export const DTOPageBlockDefinitionVariant = PageBlockDefinitionVariant;
16
+ export const DTOPageBlockDefinitionProperty = PageBlockDefinitionProperty;
17
+ export const DTOPageBlockColorV2 = PageBlockColorV2;
18
+
19
+ export const DTOPageBlockDefinition = PageBlockDefinition;
20
+
21
+ export type DTOPageBlockDefinitionBehavior = z.infer<typeof DTOPageBlockDefinitionBehavior>;
22
+ export type DTOPageBlockDefinitionItem = z.infer<typeof DTOPageBlockDefinitionItem>;
23
+ export type DTOPageBlockDefinitionLayout = z.infer<typeof DTOPageBlockDefinitionLayout>;
24
+ export type DTOPageBlockDefinitionVariant = z.infer<typeof DTOPageBlockDefinitionVariant>;
25
+ export type DTOPageBlockDefinitionProperty = z.infer<typeof DTOPageBlockDefinitionProperty>;
26
+ export type DTOPageBlockColorV2 = z.infer<typeof DTOPageBlockColorV2>;
27
+
28
+ export type DTOPageBlockDefinition = z.infer<typeof DTOPageBlockDefinition>;
@@ -0,0 +1,6 @@
1
+ import { PageBlockItemV2 } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+
4
+ export const DTOPageBlockItemV2 = PageBlockItemV2;
5
+
6
+ export type DTOPageBlockItemV2 = z.infer<typeof DTOPageBlockItemV2>;
@@ -0,0 +1,18 @@
1
+ import { DesignElementSnapshotReason } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+ import { DTODocumentationPageV2 } from "../elements/documentation/page-v2";
4
+
5
+ export const DTODocumentationPageSnapshot = z.object({
6
+ id: z.string(),
7
+ designSystemVersionId: z.string(),
8
+
9
+ createdAt: z.string(),
10
+ updatedAt: z.string(),
11
+
12
+ documentationPage: DTODocumentationPageV2,
13
+ pageContentHash: z.string(),
14
+
15
+ reason: DesignElementSnapshotReason,
16
+ });
17
+
18
+ export type DTODocumentationPageSnapshot = z.infer<typeof DTODocumentationPageSnapshot>;
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+
3
+ export const DTODocumentationMinimalPage = z.object({
4
+ id: z.string(),
5
+ title: z.string(),
6
+ fullPath: z.string(),
7
+ description: z.string().optional(),
8
+ });
9
+
10
+ export const DTODocumentationContent = z.object({
11
+ id: z.string(),
12
+ markdown: z.string(),
13
+ });
14
+
15
+ export const DTODocumentationMinimalPageListResponse = z.object({
16
+ pages: z.array(DTODocumentationMinimalPage),
17
+ });
18
+
19
+ export const DTODocumentationContentResponse = z.object({
20
+ pageContents: z.array(DTODocumentationContent),
21
+ });
22
+
23
+ export const DTODocumentationContentQuery = z.object({
24
+ pageIds: z
25
+ .string()
26
+ .transform(value => value.split(","))
27
+ .pipe(z.string().trim().array()),
28
+ });
29
+
30
+ export type DTODocumentationMinimalPage = z.infer<typeof DTODocumentationMinimalPage>;
31
+ export type DTODocumentationMinimalPageListResponse = z.infer<typeof DTODocumentationMinimalPageListResponse>;
32
+ export type DTODocumentationContent = z.infer<typeof DTODocumentationContent>;
33
+ export type DTODocumentationContentResponse = z.infer<typeof DTODocumentationContentResponse>;
34
+ export type DTODocumentationContentQuery = z.infer<typeof DTODocumentationContentQuery>;
@@ -0,0 +1,11 @@
1
+ export * from "./analytics-v2";
2
+ export * from "./analytics";
3
+ export * from "./anchor";
4
+ export * from "./approvals";
5
+ export * from "./block-definition";
6
+ export * from "./block";
7
+ export * from "./documentation-page-snapshot";
8
+ export * from "./documentation";
9
+ export * from "./link-preview";
10
+ export * from "./publish";
11
+ export * from "./room";
@@ -0,0 +1,23 @@
1
+ import { DocumentationLinkPreview } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+
4
+ //
5
+ // Read
6
+ //
7
+
8
+ export const DTODocumentationLinkPreviewResponse = z.object({
9
+ linkPreview: DocumentationLinkPreview,
10
+ });
11
+
12
+ export type DTODocumentationLinkPreviewResponse = z.infer<typeof DTODocumentationLinkPreviewResponse>;
13
+
14
+ //
15
+ // Write
16
+ //
17
+
18
+ export const DTODocumentationLinkPreviewRequest = z.object({
19
+ url: z.string().optional(),
20
+ documentationItemPersistentId: z.string().optional(),
21
+ });
22
+
23
+ export type DTODocumentationLinkPreviewRequest = z.infer<typeof DTODocumentationLinkPreviewRequest>;
@@ -0,0 +1,23 @@
1
+ import { ExportJobDocumentationChanges, PublishedDocEnvironment } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+ import { DTOExportJob } from "../export";
4
+
5
+ export const DTOPublishDocumentationChanges = ExportJobDocumentationChanges;
6
+
7
+ export const DTOPublishDocumentationRequest = z.object({
8
+ environment: PublishedDocEnvironment,
9
+
10
+ /**
11
+ * If defined, this allows narrowing down what is published to a set of specific pages and groups
12
+ * If undefined, everything will be published.
13
+ */
14
+ changes: DTOPublishDocumentationChanges.optional(),
15
+ });
16
+
17
+ export const DTOPublishDocumentationResponse = z.object({
18
+ job: DTOExportJob,
19
+ });
20
+
21
+ export type DTOPublishDocumentationChanges = z.infer<typeof DTOPublishDocumentationChanges>;
22
+ export type DTOPublishDocumentationRequest = z.infer<typeof DTOPublishDocumentationRequest>;
23
+ export type DTOPublishDocumentationResponse = z.infer<typeof DTOPublishDocumentationResponse>;
@@ -0,0 +1,12 @@
1
+ import { z } from "zod";
2
+
3
+ export const DTODocumentationPageRoom = z.object({
4
+ id: z.string(),
5
+ });
6
+
7
+ export const DTODocumentationPageRoomResponse = z.object({
8
+ room: DTODocumentationPageRoom,
9
+ });
10
+
11
+ export type DTODocumentationPageRoom = z.infer<typeof DTODocumentationPageRoom>;
12
+ export type DTODocumentationPageRoomResponse = z.infer<typeof DTODocumentationPageRoomResponse>;
@@ -0,0 +1,19 @@
1
+ import z from "zod";
2
+ import { DTOObjectMeta } from "../../aux/meta";
3
+
4
+ export const DTOFigmaComponentGroup = z.object({
5
+ id: z.string(),
6
+ designSystemVersionId: z.string(),
7
+ persistentId: z.string(),
8
+ isRoot: z.boolean(),
9
+ brandId: z.string(),
10
+ meta: DTOObjectMeta,
11
+ childrenIds: z.string().array(),
12
+ });
13
+
14
+ export const DTOFigmaComponentGroupListResponse = z.object({
15
+ groups: DTOFigmaComponentGroup.array(),
16
+ });
17
+
18
+ export type DTOFigmaComponentGroup = z.infer<typeof DTOFigmaComponentGroup>;
19
+ export type DTOFigmaComponentGroupListResponse = z.infer<typeof DTOFigmaComponentGroupListResponse>;
@@ -0,0 +1,56 @@
1
+ import {
2
+ FigmaComponentBooleanProperty,
3
+ FigmaComponentInstanceSwapProperty,
4
+ FigmaComponentOrigin,
5
+ FigmaComponentProperty,
6
+ FigmaComponentTextProperty,
7
+ FigmaComponentVariantProperty,
8
+ ObjectMeta,
9
+ } from "@supernova-studio/model";
10
+ import { z } from "zod";
11
+
12
+ const DTOFigmaComponentBooleanProperty = FigmaComponentBooleanProperty;
13
+ const DTOFigmaComponentInstanceSwapProperty = FigmaComponentInstanceSwapProperty;
14
+ const DTOFigmaComponentTextProperty = FigmaComponentTextProperty;
15
+ const DTOFigmaComponentVariantProperty = FigmaComponentVariantProperty;
16
+ const DTOFigmaComponentProperty = FigmaComponentProperty;
17
+ const DTOFigmaComponentPropertyMap = z.record(DTOFigmaComponentProperty);
18
+
19
+ export const DTOFigmaComponent = z.object({
20
+ id: z.string(),
21
+ persistentId: z.string(),
22
+ designSystemVersionId: z.string(),
23
+ brandId: z.string(),
24
+ thumbnailUrl: z.string().optional(),
25
+ svgUrl: z.string().optional(),
26
+
27
+ exportProperties: z.object({
28
+ isAsset: z.boolean(),
29
+ }),
30
+
31
+ createdAt: z.coerce.date(),
32
+ updatedAt: z.coerce.date(),
33
+
34
+ meta: ObjectMeta,
35
+ originComponent: FigmaComponentOrigin.optional(),
36
+
37
+ parentComponentPersistentId: z.string().optional(),
38
+ childrenPersistentIds: z.string().array().optional(),
39
+
40
+ componentPropertyDefinitions: DTOFigmaComponentPropertyMap.optional(),
41
+ variantPropertyValues: z.record(z.string()).optional(),
42
+ });
43
+
44
+ export const DTOFigmaComponentListResponse = z.object({
45
+ components: DTOFigmaComponent.array(),
46
+ });
47
+
48
+ export type DTOFigmaComponentBooleanProperty = z.infer<typeof DTOFigmaComponentBooleanProperty>;
49
+ export type DTOFigmaComponentInstanceSwapProperty = z.infer<typeof DTOFigmaComponentInstanceSwapProperty>;
50
+ export type DTOFigmaComponentTextProperty = z.infer<typeof DTOFigmaComponentTextProperty>;
51
+ export type DTOFigmaComponentVariantProperty = z.infer<typeof DTOFigmaComponentVariantProperty>;
52
+ export type DTOFigmaComponentProperty = z.infer<typeof DTOFigmaComponentProperty>;
53
+ export type DTOFigmaComponentPropertyMap = z.infer<typeof DTOFigmaComponentPropertyMap>;
54
+
55
+ export type DTOFigmaComponent = z.infer<typeof DTOFigmaComponent>;
56
+ export type DTOFigmaComponentListResponse = z.infer<typeof DTOFigmaComponentListResponse>;
@@ -0,0 +1,2 @@
1
+ export * from "./figma-component-group";
2
+ export * from "./figma-component";
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+
3
+ export const DTODocumentationConfiguration = z.object({
4
+ tabbed: z.boolean(),
5
+ isPublic: z.boolean(),
6
+ selectedBrandId: z.string().nullish(),
7
+ storybookEmbedErrorMessage: z.string().nullish(),
8
+ renderCodePackageJson: z.string().nullish(),
9
+ });
10
+
11
+ export const DTODocumentationConfigurationResponse = z.object({
12
+ documentation: z.object({
13
+ designSystemId: z.string(),
14
+ designSystemVersionId: z.string(),
15
+ settings: DTODocumentationConfiguration,
16
+ }),
17
+ });
18
+
19
+ export type DTODocumentationConfiguration = z.infer<typeof DTODocumentationConfiguration>;
20
+ export type DTODocumentationConfigurationResponse = z.infer<typeof DTODocumentationConfigurationResponse>;
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ import { DTODocumentationItemConfigurationV2 } from "./item-configuration-v2";
3
+
4
+ export const DTODocumentationDraftChangeType = z.enum(["Created", "Updated", "Deleted"]);
5
+
6
+ export const DTODocumentationDraftStateCreated = z.object({
7
+ changeType: z.literal(DTODocumentationDraftChangeType.enum.Created),
8
+ });
9
+
10
+ export const DTODocumentationDraftStateUpdated = z.object({
11
+ changeType: z.literal(DTODocumentationDraftChangeType.enum.Updated),
12
+ changes: z.object({
13
+ previousTitle: z.string().optional(),
14
+ previousConfiguration: DTODocumentationItemConfigurationV2.optional(),
15
+ previousContentHash: z.string().optional(),
16
+ }),
17
+ });
18
+
19
+ export const DTODocumentationDraftStateDeleted = z.object({
20
+ changeType: z.literal(DTODocumentationDraftChangeType.enum.Deleted),
21
+ deletedAt: z.coerce.date(),
22
+ deletedByUserId: z.string(),
23
+ });
24
+
25
+ export const DTODocumentationDraftState = z.discriminatedUnion("changeType", [
26
+ DTODocumentationDraftStateCreated,
27
+ DTODocumentationDraftStateUpdated,
28
+ DTODocumentationDraftStateDeleted,
29
+ ]);
30
+
31
+ export type DTODocumentationDraftChangeType = z.infer<typeof DTODocumentationDraftChangeType>;
32
+
33
+ export type DTODocumentationDraftStateCreated = z.infer<typeof DTODocumentationDraftStateCreated>;
34
+ export type DTODocumentationDraftStateUpdated = z.infer<typeof DTODocumentationDraftStateUpdated>;
35
+ export type DTODocumentationDraftStateDeleted = z.infer<typeof DTODocumentationDraftStateDeleted>;
36
+
37
+ export type DTODocumentationDraftState = z.infer<typeof DTODocumentationDraftState>;
@@ -0,0 +1,108 @@
1
+ import { z } from "zod";
2
+ import {
3
+ DTOCreateDocumentationGroupInput,
4
+ DTOCreateDocumentationTabInput,
5
+ DTODeleteDocumentationGroupInput,
6
+ DTODeleteDocumentationTabGroupInput,
7
+ DTODuplicateDocumentationGroupInput,
8
+ DTOMoveDocumentationGroupInput,
9
+ DTOUpdateDocumentationGroupInput,
10
+ } from "./group-v2";
11
+
12
+ //
13
+ // Read
14
+ //
15
+
16
+ const SuccessPayload = z.object({
17
+ success: z.literal(true),
18
+ });
19
+
20
+ export const DTODocumentationGroupCreateActionOutputV2 = z.object({
21
+ type: z.literal("DocumentationGroupCreate"),
22
+ output: SuccessPayload,
23
+ });
24
+
25
+ export const DTODocumentationTabCreateActionOutputV2 = z.object({
26
+ type: z.literal("DocumentationTabCreate"),
27
+ output: SuccessPayload,
28
+ });
29
+
30
+ export const DTODocumentationGroupUpdateActionOutputV2 = z.object({
31
+ type: z.literal("DocumentationGroupUpdate"),
32
+ output: SuccessPayload,
33
+ });
34
+
35
+ export const DTODocumentationGroupMoveActionOutputV2 = z.object({
36
+ type: z.literal("DocumentationGroupMove"),
37
+ output: SuccessPayload,
38
+ });
39
+
40
+ export const DTODocumentationGroupDuplicateActionOutputV2 = z.object({
41
+ type: z.literal("DocumentationGroupDuplicate"),
42
+ output: SuccessPayload,
43
+ });
44
+
45
+ export const DTODocumentationGroupDeleteActionOutputV2 = z.object({
46
+ type: z.literal("DocumentationGroupDelete"),
47
+ output: SuccessPayload,
48
+ });
49
+
50
+ export const DTODocumentationTabGroupDeleteActionOutputV2 = z.object({
51
+ type: z.literal("DocumentationTabGroupDelete"),
52
+ output: SuccessPayload,
53
+ });
54
+
55
+ export type DTODocumentationGroupCreateActionOutputV2 = z.infer<typeof DTODocumentationGroupCreateActionOutputV2>;
56
+ export type DTODocumentationTabCreateActionOutputV2 = z.infer<typeof DTODocumentationTabCreateActionOutputV2>;
57
+ export type DTODocumentationGroupUpdateActionOutputV2 = z.infer<typeof DTODocumentationGroupUpdateActionOutputV2>;
58
+ export type DTODocumentationGroupMoveActionOutputV2 = z.infer<typeof DTODocumentationGroupMoveActionOutputV2>;
59
+ export type DTODocumentationGroupDuplicateActionOutputV2 = z.infer<typeof DTODocumentationGroupDuplicateActionOutputV2>;
60
+ export type DTODocumentationGroupDeleteActionOutputV2 = z.infer<typeof DTODocumentationGroupDeleteActionOutputV2>;
61
+ export type DTODocumentationTabGroupDeleteActionOutputV2 = z.infer<typeof DTODocumentationTabGroupDeleteActionOutputV2>;
62
+
63
+ //
64
+ // Write
65
+ //
66
+
67
+ export const DTODocumentationGroupCreateActionInputV2 = z.object({
68
+ type: z.literal("DocumentationGroupCreate"),
69
+ input: DTOCreateDocumentationGroupInput,
70
+ });
71
+
72
+ export const DTODocumentationTabCreateActionInputV2 = z.object({
73
+ type: z.literal("DocumentationTabCreate"),
74
+ input: DTOCreateDocumentationTabInput,
75
+ });
76
+
77
+ export const DTODocumentationGroupUpdateActionInputV2 = z.object({
78
+ type: z.literal("DocumentationGroupUpdate"),
79
+ input: DTOUpdateDocumentationGroupInput,
80
+ });
81
+
82
+ export const DTODocumentationGroupMoveActionInputV2 = z.object({
83
+ type: z.literal("DocumentationGroupMove"),
84
+ input: DTOMoveDocumentationGroupInput,
85
+ });
86
+
87
+ export const DTODocumentationGroupDuplicateActionInputV2 = z.object({
88
+ type: z.literal("DocumentationGroupDuplicate"),
89
+ input: DTODuplicateDocumentationGroupInput,
90
+ });
91
+
92
+ export const DTODocumentationGroupDeleteActionInputV2 = z.object({
93
+ type: z.literal("DocumentationGroupDelete"),
94
+ input: DTODeleteDocumentationGroupInput,
95
+ });
96
+
97
+ export const DTODocumentationTabGroupDeleteActionInputV2 = z.object({
98
+ type: z.literal("DocumentationTabGroupDelete"),
99
+ input: DTODeleteDocumentationTabGroupInput,
100
+ });
101
+
102
+ export type DTODocumentationGroupCreateActionInputV2 = z.infer<typeof DTODocumentationGroupCreateActionInputV2>;
103
+ export type DTODocumentationTabGroupCreateActionInputV2 = z.infer<typeof DTODocumentationTabCreateActionInputV2>;
104
+ export type DTODocumentationGroupUpdateActionInputV2 = z.infer<typeof DTODocumentationGroupUpdateActionInputV2>;
105
+ export type DTODocumentationGroupMoveActionInputV2 = z.infer<typeof DTODocumentationGroupMoveActionInputV2>;
106
+ export type DTODocumentationGroupDuplicateActionInputV2 = z.infer<typeof DTODocumentationGroupDuplicateActionInputV2>;
107
+ export type DTODocumentationGroupDeleteActionInputV2 = z.infer<typeof DTODocumentationGroupDeleteActionInputV2>;
108
+ export type DTODocumentationTabGroupDeleteActionInputV2 = z.infer<typeof DTODocumentationTabGroupDeleteActionInputV2>;
@@ -0,0 +1,35 @@
1
+ import { DocumentationGroupBehavior, ElementGroup } from "@supernova-studio/model";
2
+ import { z } from "zod";
3
+ import { DTODocumentationItemConfigurationV1 } from "./item-configuration-v1";
4
+
5
+ //
6
+ // Read
7
+ //
8
+
9
+ /**
10
+ * Structure DTO is element properties minus element data (in other words data required
11
+ * to display the element in the left panel)
12
+ */
13
+ export const DTODocumentationGroupStructureV1 = ElementGroup.omit({
14
+ sortOrder: true,
15
+ parentPersistentId: true,
16
+ brandPersistentId: true,
17
+ meta: true,
18
+ childType: true,
19
+ data: true,
20
+ shortPersistentId: true,
21
+ }).extend({
22
+ title: z.string(),
23
+ isRoot: z.boolean(),
24
+ childrenIds: z.array(z.string()),
25
+ groupBehavior: DocumentationGroupBehavior,
26
+ shortPersistentId: z.string(),
27
+ type: z.literal("Group"),
28
+ });
29
+
30
+ export const DTODocumentationGroupV1 = DTODocumentationGroupStructureV1.extend({
31
+ configuration: DTODocumentationItemConfigurationV1,
32
+ });
33
+
34
+ export type DTODocumentationGroupStructureV1 = z.infer<typeof DTODocumentationGroupStructureV1>;
35
+ export type DTODocumentationGroupV1 = z.infer<typeof DTODocumentationGroupV1>;