@figulus/schema 0.4.0-alpha-dev → 0.5.0-alpha-dev-2

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 (192) hide show
  1. package/.openapi-meta/index.ts +12 -0
  2. package/dist/core/entities/figspec.d.ts +659 -0
  3. package/dist/core/entities/figspec.d.ts.map +1 -0
  4. package/dist/core/entities/figspec.js +73 -0
  5. package/dist/core/entities/figspec.js.map +1 -0
  6. package/dist/core/entities/figstack.d.ts +139 -0
  7. package/dist/core/entities/figstack.d.ts.map +1 -0
  8. package/dist/core/entities/figstack.js +79 -0
  9. package/dist/core/entities/figstack.js.map +1 -0
  10. package/dist/core/entities/index.d.ts +3 -0
  11. package/dist/core/entities/index.d.ts.map +1 -0
  12. package/dist/core/entities/index.js +3 -0
  13. package/dist/core/entities/index.js.map +1 -0
  14. package/dist/core/execute.d.ts +64 -0
  15. package/dist/core/execute.d.ts.map +1 -0
  16. package/dist/core/execute.js +45 -0
  17. package/dist/core/execute.js.map +1 -0
  18. package/dist/core/generic.d.ts +35 -0
  19. package/dist/core/generic.d.ts.map +1 -0
  20. package/dist/core/generic.js +28 -0
  21. package/dist/core/generic.js.map +1 -0
  22. package/dist/core/index.d.ts +6 -0
  23. package/dist/core/index.d.ts.map +1 -0
  24. package/dist/core/index.js +6 -0
  25. package/dist/core/index.js.map +1 -0
  26. package/dist/core/primitives.d.ts +3 -0
  27. package/dist/core/primitives.d.ts.map +1 -0
  28. package/dist/core/primitives.js +11 -0
  29. package/dist/core/primitives.js.map +1 -0
  30. package/dist/core/volumes.d.ts +160 -0
  31. package/dist/core/volumes.d.ts.map +1 -0
  32. package/dist/core/volumes.js +100 -0
  33. package/dist/core/volumes.js.map +1 -0
  34. package/dist/engine/deprecated/index.d.ts +2 -0
  35. package/dist/engine/deprecated/index.d.ts.map +1 -0
  36. package/dist/engine/deprecated/index.js +2 -0
  37. package/dist/engine/deprecated/index.js.map +1 -0
  38. package/dist/engine/deprecated/run-request.d.ts +73 -0
  39. package/dist/engine/deprecated/run-request.d.ts.map +1 -0
  40. package/dist/engine/deprecated/run-request.js +47 -0
  41. package/dist/engine/deprecated/run-request.js.map +1 -0
  42. package/dist/engine/dry-run.d.ts +15 -0
  43. package/dist/engine/dry-run.d.ts.map +1 -0
  44. package/dist/engine/dry-run.js +12 -0
  45. package/dist/engine/dry-run.js.map +1 -0
  46. package/dist/engine/health.d.ts +11 -0
  47. package/dist/engine/health.d.ts.map +1 -0
  48. package/dist/engine/health.js +9 -0
  49. package/dist/engine/health.js.map +1 -0
  50. package/dist/engine/images.d.ts +49 -0
  51. package/dist/engine/images.d.ts.map +1 -0
  52. package/dist/engine/images.js +44 -0
  53. package/dist/engine/images.js.map +1 -0
  54. package/dist/engine/index.d.ts +9 -0
  55. package/dist/engine/index.d.ts.map +1 -0
  56. package/dist/engine/index.js +9 -0
  57. package/dist/engine/index.js.map +1 -0
  58. package/dist/engine/paths/containers.d.ts +8 -0
  59. package/dist/engine/paths/containers.d.ts.map +1 -0
  60. package/dist/engine/paths/containers.js +297 -0
  61. package/dist/engine/paths/containers.js.map +1 -0
  62. package/dist/engine/paths/dry-run.d.ts +3 -0
  63. package/dist/engine/paths/dry-run.d.ts.map +1 -0
  64. package/dist/engine/paths/dry-run.js +43 -0
  65. package/dist/engine/paths/dry-run.js.map +1 -0
  66. package/dist/engine/paths/health.d.ts +3 -0
  67. package/dist/engine/paths/health.d.ts.map +1 -0
  68. package/dist/engine/paths/health.js +36 -0
  69. package/dist/engine/paths/health.js.map +1 -0
  70. package/dist/engine/paths/images.d.ts +5 -0
  71. package/dist/engine/paths/images.d.ts.map +1 -0
  72. package/dist/engine/paths/images.js +144 -0
  73. package/dist/engine/paths/images.js.map +1 -0
  74. package/dist/engine/paths/index.d.ts +8 -0
  75. package/dist/engine/paths/index.d.ts.map +1 -0
  76. package/dist/engine/paths/index.js +8 -0
  77. package/dist/engine/paths/index.js.map +1 -0
  78. package/dist/engine/paths/sessions.d.ts +10 -0
  79. package/dist/engine/paths/sessions.d.ts.map +1 -0
  80. package/dist/engine/paths/sessions.js +484 -0
  81. package/dist/engine/paths/sessions.js.map +1 -0
  82. package/dist/engine/paths/stacks.d.ts +6 -0
  83. package/dist/engine/paths/stacks.d.ts.map +1 -0
  84. package/dist/engine/paths/stacks.js +175 -0
  85. package/dist/engine/paths/stacks.js.map +1 -0
  86. package/dist/engine/paths/volumes.d.ts +6 -0
  87. package/dist/engine/paths/volumes.d.ts.map +1 -0
  88. package/dist/engine/paths/volumes.js +164 -0
  89. package/dist/engine/paths/volumes.js.map +1 -0
  90. package/dist/engine/response.d.ts +8 -0
  91. package/dist/engine/response.d.ts.map +1 -0
  92. package/dist/engine/response.js +9 -0
  93. package/dist/engine/response.js.map +1 -0
  94. package/dist/engine/sessions.d.ts +343 -0
  95. package/dist/engine/sessions.d.ts.map +1 -0
  96. package/dist/engine/sessions.js +118 -0
  97. package/dist/engine/sessions.js.map +1 -0
  98. package/dist/engine/volumes.d.ts +52 -0
  99. package/dist/engine/volumes.d.ts.map +1 -0
  100. package/dist/engine/volumes.js +39 -0
  101. package/dist/engine/volumes.js.map +1 -0
  102. package/dist/index.d.ts +2 -8
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +2 -8
  105. package/dist/index.js.map +1 -1
  106. package/dist/registry/index.d.ts +3 -0
  107. package/dist/registry/index.d.ts.map +1 -0
  108. package/dist/registry/index.js +3 -0
  109. package/dist/registry/index.js.map +1 -0
  110. package/dist/registry/json-schema.d.ts +82 -0
  111. package/dist/registry/json-schema.d.ts.map +1 -0
  112. package/dist/registry/json-schema.js +149 -0
  113. package/dist/registry/json-schema.js.map +1 -0
  114. package/dist/registry/metadata.d.ts +216 -0
  115. package/dist/registry/metadata.d.ts.map +1 -0
  116. package/dist/registry/metadata.js +143 -0
  117. package/dist/registry/metadata.js.map +1 -0
  118. package/package.json +12 -4
  119. package/scripts/fix-openapi-3.1.ts +183 -0
  120. package/scripts/generate-openapi-data.ts +51 -0
  121. package/scripts/generate-openapi-meta.ts +540 -0
  122. package/src/core/entities/figspec.ts +94 -0
  123. package/src/core/entities/figstack.ts +101 -0
  124. package/src/core/entities/index.ts +2 -0
  125. package/src/core/execute.ts +66 -0
  126. package/src/core/generic.ts +38 -0
  127. package/src/core/index.ts +5 -0
  128. package/src/core/primitives.ts +12 -0
  129. package/src/core/volumes.ts +124 -0
  130. package/src/engine/deprecated/index.ts +1 -0
  131. package/src/engine/deprecated/run-request.ts +53 -0
  132. package/src/engine/dry-run.ts +14 -0
  133. package/src/engine/health.ts +11 -0
  134. package/src/engine/images.ts +58 -0
  135. package/src/engine/index.ts +8 -0
  136. package/src/engine/paths/containers.ts +304 -0
  137. package/src/engine/paths/dry-run.ts +44 -0
  138. package/src/engine/paths/health.ts +37 -0
  139. package/src/engine/paths/images.ts +148 -0
  140. package/src/engine/paths/index.ts +7 -0
  141. package/src/engine/paths/sessions.ts +493 -0
  142. package/src/engine/paths/stacks.ts +179 -0
  143. package/src/engine/paths/volumes.ts +168 -0
  144. package/src/engine/response.ts +11 -0
  145. package/src/engine/sessions.ts +146 -0
  146. package/src/engine/volumes.ts +53 -0
  147. package/src/index.ts +3 -8
  148. package/src/registry/index.ts +2 -0
  149. package/src/registry/json-schema.ts +178 -0
  150. package/src/registry/metadata.ts +181 -0
  151. package/tests/figspec.test.ts +1 -1
  152. package/tests/schemas.test.ts +31 -31
  153. package/dist/figspec.d.ts +0 -4394
  154. package/dist/figspec.d.ts.map +0 -1
  155. package/dist/figspec.js +0 -214
  156. package/dist/figspec.js.map +0 -1
  157. package/dist/figstack.d.ts +0 -419
  158. package/dist/figstack.d.ts.map +0 -1
  159. package/dist/figstack.js +0 -72
  160. package/dist/figstack.js.map +0 -1
  161. package/dist/health.d.ts +0 -16
  162. package/dist/health.d.ts.map +0 -1
  163. package/dist/health.js +0 -7
  164. package/dist/health.js.map +0 -1
  165. package/dist/image.d.ts +0 -115
  166. package/dist/image.d.ts.map +0 -1
  167. package/dist/image.js +0 -42
  168. package/dist/image.js.map +0 -1
  169. package/dist/run-request.d.ts +0 -244
  170. package/dist/run-request.d.ts.map +0 -1
  171. package/dist/run-request.js +0 -43
  172. package/dist/run-request.js.map +0 -1
  173. package/dist/session.d.ts +0 -447
  174. package/dist/session.d.ts.map +0 -1
  175. package/dist/session.js +0 -78
  176. package/dist/session.js.map +0 -1
  177. package/dist/shared.d.ts +0 -90
  178. package/dist/shared.d.ts.map +0 -1
  179. package/dist/shared.js +0 -41
  180. package/dist/shared.js.map +0 -1
  181. package/dist/volume.d.ts +0 -140
  182. package/dist/volume.d.ts.map +0 -1
  183. package/dist/volume.js +0 -37
  184. package/dist/volume.js.map +0 -1
  185. package/src/figspec.ts +0 -279
  186. package/src/figstack.ts +0 -92
  187. package/src/health.ts +0 -8
  188. package/src/image.ts +0 -55
  189. package/src/run-request.ts +0 -55
  190. package/src/session.ts +0 -101
  191. package/src/shared.ts +0 -56
  192. package/src/volume.ts +0 -50
@@ -0,0 +1,216 @@
1
+ import z from "zod";
2
+ export declare const namespaceMetadataEditorEntrySchema: z.ZodObject<{
3
+ username: z.ZodString;
4
+ pushLimit: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
5
+ unit: z.ZodLiteral<"daily">;
6
+ value: z.ZodInt;
7
+ }, z.core.$strip>, z.ZodObject<{
8
+ unit: z.ZodLiteral<"weekly">;
9
+ value: z.ZodInt;
10
+ }, z.core.$strip>], "unit">>;
11
+ }, z.core.$strip>;
12
+ export type NamespaceMetadataEditorEntry = z.infer<typeof namespaceMetadataEditorEntrySchema>;
13
+ export declare const namespaceMetadataSchema: z.ZodObject<{
14
+ owner: z.ZodObject<{
15
+ username: z.ZodString;
16
+ }, z.core.$strip>;
17
+ editors: z.ZodArray<z.ZodObject<{
18
+ username: z.ZodString;
19
+ pushLimit: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
20
+ unit: z.ZodLiteral<"daily">;
21
+ value: z.ZodInt;
22
+ }, z.core.$strip>, z.ZodObject<{
23
+ unit: z.ZodLiteral<"weekly">;
24
+ value: z.ZodInt;
25
+ }, z.core.$strip>], "unit">>;
26
+ }, z.core.$strip>>;
27
+ }, z.core.$strip>;
28
+ export type NamespaceMetadata = z.infer<typeof namespaceMetadataSchema>;
29
+ export declare const namespaceVerificationsSchema: z.ZodArray<z.ZodObject<{
30
+ namespace: z.ZodString;
31
+ verification: z.ZodEnum<{
32
+ "figulus-official": "figulus-official";
33
+ "software-official": "software-official";
34
+ }>;
35
+ }, z.core.$strip>>;
36
+ export type NamespaceVerifications = z.infer<typeof namespaceVerificationsSchema>;
37
+ export declare const pushLimitOverridesSchema: z.ZodArray<z.ZodObject<{
38
+ namespace: z.ZodString;
39
+ pushLimit: z.ZodDiscriminatedUnion<[z.ZodObject<{
40
+ unit: z.ZodLiteral<"daily">;
41
+ value: z.ZodInt;
42
+ }, z.core.$strip>, z.ZodObject<{
43
+ unit: z.ZodLiteral<"weekly">;
44
+ value: z.ZodInt;
45
+ }, z.core.$strip>], "unit">;
46
+ }, z.core.$strip>>;
47
+ export type PushLimitOverrides = z.infer<typeof pushLimitOverridesSchema>;
48
+ export declare const figEntityMetadataBaseSchema: z.ZodObject<{
49
+ title: z.ZodString;
50
+ description: z.ZodString;
51
+ icon: z.ZodOptional<z.ZodObject<{
52
+ svg: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
53
+ emojiFallback: z.ZodOptional<z.ZodEmoji>;
54
+ aspectRatio: z.ZodOptional<z.ZodObject<{
55
+ w: z.ZodNumber;
56
+ h: z.ZodNumber;
57
+ }, z.core.$strip>>;
58
+ }, z.core.$strip>>;
59
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
60
+ author: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
61
+ type: z.ZodEnum<{
62
+ "software-author": "software-author";
63
+ "software-maintainer": "software-maintainer";
64
+ "fig-author": "fig-author";
65
+ "fig-maintainer": "fig-maintainer";
66
+ }>;
67
+ name: z.ZodString;
68
+ url: z.ZodOptional<z.ZodURL>;
69
+ }, z.core.$strip>>]>;
70
+ license: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<"0BSD" | "3D-Slicer-1.0" | "AAL" | "Abstyles" | "AdaCore-doc" | "Adobe-2006" | "Adobe-Display-PostScript" | "Adobe-Glyph" | "Adobe-Utopia" | "ADSL" | "Advanced-Cryptics-Dictionary" | "AFL-1.1" | "AFL-1.2" | "AFL-2.0" | "AFL-2.1" | "AFL-3.0" | "Afmparse" | "AGPL-1.0" | "AGPL-1.0-only" | "AGPL-1.0-or-later" | "AGPL-3.0" | "AGPL-3.0-only" | "AGPL-3.0-or-later" | "Aladdin" | "ALGLIB-Documentation" | "AMD-newlib" | "AMDPLPA" | "AML" | "AML-glslang" | "AMPAS" | "ANTLR-PD" | "ANTLR-PD-fallback" | "any-OSI" | "any-OSI-perl-modules" | "Apache-1.0" | "Apache-1.1" | "Apache-2.0" | "APAFML" | "APL-1.0" | "App-s2p" | "APSL-1.0" | "APSL-1.1" | "APSL-1.2" | "APSL-2.0" | "Arphic-1999" | "Artistic-1.0" | "Artistic-1.0-cl8" | "Artistic-1.0-Perl" | "Artistic-2.0" | "Artistic-dist" | "Aspell-RU" | "ASWF-Digital-Assets-1.0" | "ASWF-Digital-Assets-1.1" | "Baekmuk" | "Bahyph" | "Barr" | "bcrypt-Solar-Designer" | "Beerware" | "Bitstream-Charter" | "Bitstream-Vera" | "BitTorrent-1.0" | "BitTorrent-1.1" | "blessing" | "BlueOak-1.0.0" | "Boehm-GC" | "Boehm-GC-without-fee" | "BOLA-1.1" | "Borceux" | "Brian-Gladman-2-Clause" | "Brian-Gladman-3-Clause" | "BSD-1-Clause" | "BSD-2-Clause" | "BSD-2-Clause-Darwin" | "BSD-2-Clause-first-lines" | "BSD-2-Clause-FreeBSD" | "BSD-2-Clause-NetBSD" | "BSD-2-Clause-Patent" | "BSD-2-Clause-pkgconf-disclaimer" | "BSD-2-Clause-Views" | "BSD-3-Clause" | "BSD-3-Clause-acpica" | "BSD-3-Clause-Attribution" | "BSD-3-Clause-Clear" | "BSD-3-Clause-flex" | "BSD-3-Clause-HP" | "BSD-3-Clause-LBNL" | "BSD-3-Clause-Modification" | "BSD-3-Clause-No-Military-License" | "BSD-3-Clause-No-Nuclear-License" | "BSD-3-Clause-No-Nuclear-License-2014" | "BSD-3-Clause-No-Nuclear-Warranty" | "BSD-3-Clause-Open-MPI" | "BSD-3-Clause-Sun" | "BSD-3-Clause-Tso" | "BSD-4-Clause" | "BSD-4-Clause-Shortened" | "BSD-4-Clause-UC" | "BSD-4.3RENO" | "BSD-4.3TAHOE" | "BSD-Advertising-Acknowledgement" | "BSD-Attribution-HPND-disclaimer" | "BSD-Inferno-Nettverk" | "BSD-Mark-Modifications" | "BSD-Protection" | "BSD-Source-beginning-file" | "BSD-Source-Code" | "BSD-Systemics" | "BSD-Systemics-W3Works" | "BSL-1.0" | "Buddy" | "BUSL-1.1" | "bzip2-1.0.5" | "bzip2-1.0.6" | "C-UDA-1.0" | "CAL-1.0" | "CAL-1.0-Combined-Work-Exception" | "Caldera" | "Caldera-no-preamble" | "CAPEC-tou" | "Catharon" | "CATOSL-1.1" | "CC-BY-1.0" | "CC-BY-2.0" | "CC-BY-2.5" | "CC-BY-2.5-AU" | "CC-BY-3.0" | "CC-BY-3.0-AT" | "CC-BY-3.0-AU" | "CC-BY-3.0-DE" | "CC-BY-3.0-IGO" | "CC-BY-3.0-NL" | "CC-BY-3.0-US" | "CC-BY-4.0" | "CC-BY-NC-1.0" | "CC-BY-NC-2.0" | "CC-BY-NC-2.5" | "CC-BY-NC-3.0" | "CC-BY-NC-3.0-DE" | "CC-BY-NC-4.0" | "CC-BY-NC-ND-1.0" | "CC-BY-NC-ND-2.0" | "CC-BY-NC-ND-2.5" | "CC-BY-NC-ND-3.0" | "CC-BY-NC-ND-3.0-DE" | "CC-BY-NC-ND-3.0-IGO" | "CC-BY-NC-ND-4.0" | "CC-BY-NC-SA-1.0" | "CC-BY-NC-SA-2.0" | "CC-BY-NC-SA-2.0-DE" | "CC-BY-NC-SA-2.0-FR" | "CC-BY-NC-SA-2.0-UK" | "CC-BY-NC-SA-2.5" | "CC-BY-NC-SA-3.0" | "CC-BY-NC-SA-3.0-DE" | "CC-BY-NC-SA-3.0-IGO" | "CC-BY-NC-SA-4.0" | "CC-BY-ND-1.0" | "CC-BY-ND-2.0" | "CC-BY-ND-2.5" | "CC-BY-ND-3.0" | "CC-BY-ND-3.0-DE" | "CC-BY-ND-4.0" | "CC-BY-SA-1.0" | "CC-BY-SA-2.0" | "CC-BY-SA-2.0-UK" | "CC-BY-SA-2.1-JP" | "CC-BY-SA-2.5" | "CC-BY-SA-3.0" | "CC-BY-SA-3.0-AT" | "CC-BY-SA-3.0-DE" | "CC-BY-SA-3.0-IGO" | "CC-BY-SA-4.0" | "CC-PDDC" | "CC-PDM-1.0" | "CC-SA-1.0" | "CC0-1.0" | "CDDL-1.0" | "CDDL-1.1" | "CDL-1.0" | "CDLA-Permissive-1.0" | "CDLA-Permissive-2.0" | "CDLA-Sharing-1.0" | "CECILL-1.0" | "CECILL-1.1" | "CECILL-2.0" | "CECILL-2.1" | "CECILL-B" | "CECILL-C" | "CERN-OHL-1.1" | "CERN-OHL-1.2" | "CERN-OHL-P-2.0" | "CERN-OHL-S-2.0" | "CERN-OHL-W-2.0" | "CFITSIO" | "check-cvs" | "checkmk" | "ClArtistic" | "Clips" | "CMU-Mach" | "CMU-Mach-nodoc" | "CNRI-Jython" | "CNRI-Python" | "CNRI-Python-GPL-Compatible" | "COIL-1.0" | "Community-Spec-1.0" | "Condor-1.1" | "copyleft-next-0.3.0" | "copyleft-next-0.3.1" | "Cornell-Lossless-JPEG" | "CPAL-1.0" | "CPL-1.0" | "CPOL-1.02" | "Cronyx" | "Crossword" | "CryptoSwift" | "CrystalStacker" | "CUA-OPL-1.0" | "Cube" | "curl" | "cve-tou" | "D-FSL-1.0" | "DEC-3-Clause" | "diffmark" | "DL-DE-BY-2.0" | "DL-DE-ZERO-2.0" | "DOC" | "DocBook-DTD" | "DocBook-Schema" | "DocBook-Stylesheet" | "DocBook-XML" | "Dotseqn" | "DRL-1.0" | "DRL-1.1" | "DSDP" | "dtoa" | "dvipdfm" | "ECL-1.0" | "ECL-2.0" | "eCos-2.0" | "EFL-1.0" | "EFL-2.0" | "eGenix" | "Elastic-2.0" | "Entessa" | "EPICS" | "EPL-1.0" | "EPL-2.0" | "ErlPL-1.1" | "ESA-PL-permissive-2.4" | "ESA-PL-strong-copyleft-2.4" | "ESA-PL-weak-copyleft-2.4" | "etalab-2.0" | "EUDatagrid" | "EUPL-1.0" | "EUPL-1.1" | "EUPL-1.2" | "Eurosym" | "Fair" | "FBM" | "FDK-AAC" | "Ferguson-Twofish" | "Frameworx-1.0" | "FreeBSD-DOC" | "FreeImage" | "FSFAP" | "FSFAP-no-warranty-disclaimer" | "FSFUL" | "FSFULLR" | "FSFULLRSD" | "FSFULLRWD" | "FSL-1.1-ALv2" | "FSL-1.1-MIT" | "FTL" | "Furuseth" | "fwlw" | "Game-Programming-Gems" | "GCR-docs" | "GD" | "generic-xts" | "GFDL-1.1" | "GFDL-1.1-invariants-only" | "GFDL-1.1-invariants-or-later" | "GFDL-1.1-no-invariants-only" | "GFDL-1.1-no-invariants-or-later" | "GFDL-1.1-only" | "GFDL-1.1-or-later" | "GFDL-1.2" | "GFDL-1.2-invariants-only" | "GFDL-1.2-invariants-or-later" | "GFDL-1.2-no-invariants-only" | "GFDL-1.2-no-invariants-or-later" | "GFDL-1.2-only" | "GFDL-1.2-or-later" | "GFDL-1.3" | "GFDL-1.3-invariants-only" | "GFDL-1.3-invariants-or-later" | "GFDL-1.3-no-invariants-only" | "GFDL-1.3-no-invariants-or-later" | "GFDL-1.3-only" | "GFDL-1.3-or-later" | "Giftware" | "GL2PS" | "Glide" | "Glulxe" | "GLWTPL" | "gnuplot" | "GPL-1.0" | "GPL-1.0-only" | "GPL-1.0-or-later" | "GPL-1.0+" | "GPL-2.0" | "GPL-2.0-only" | "GPL-2.0-or-later" | "GPL-2.0-with-autoconf-exception" | "GPL-2.0-with-bison-exception" | "GPL-2.0-with-classpath-exception" | "GPL-2.0-with-font-exception" | "GPL-2.0-with-GCC-exception" | "GPL-2.0+" | "GPL-3.0" | "GPL-3.0-only" | "GPL-3.0-or-later" | "GPL-3.0-with-autoconf-exception" | "GPL-3.0-with-GCC-exception" | "GPL-3.0+" | "Graphics-Gems" | "gSOAP-1.3b" | "gtkbook" | "Gutmann" | "HaskellReport" | "HDF5" | "hdparm" | "HIDAPI" | "Hippocratic-2.1" | "HP-1986" | "HP-1989" | "HPND" | "HPND-DEC" | "HPND-doc" | "HPND-doc-sell" | "HPND-export-US" | "HPND-export-US-acknowledgement" | "HPND-export-US-modify" | "HPND-export2-US" | "HPND-Fenneberg-Livingston" | "HPND-INRIA-IMAG" | "HPND-Intel" | "HPND-Kevlin-Henney" | "HPND-Markus-Kuhn" | "HPND-merchantability-variant" | "HPND-MIT-disclaimer" | "HPND-Netrek" | "HPND-Pbmplus" | "HPND-sell-MIT-disclaimer-xserver" | "HPND-sell-regexpr" | "HPND-sell-variant" | "HPND-sell-variant-critical-systems" | "HPND-sell-variant-MIT-disclaimer" | "HPND-sell-variant-MIT-disclaimer-rev" | "HPND-SMC" | "HPND-UC" | "HPND-UC-export-US" | "HTMLTIDY" | "hyphen-bulgarian" | "IBM-pibs" | "ICU" | "IEC-Code-Components-EULA" | "IJG" | "IJG-short" | "ImageMagick" | "iMatix" | "Imlib2" | "Info-ZIP" | "Inner-Net-2.0" | "InnoSetup" | "Intel" | "Intel-ACPI" | "Interbase-1.0" | "IPA" | "IPL-1.0" | "ISC" | "ISC-Veillard" | "ISO-permission" | "Jam" | "JasPer-2.0" | "jove" | "JPL-image" | "JPNIC" | "JSON" | "Kastrup" | "Kazlib" | "Knuth-CTAN" | "LAL-1.2" | "LAL-1.3" | "Latex2e" | "Latex2e-translated-notice" | "Leptonica" | "LGPL-2.0" | "LGPL-2.0-only" | "LGPL-2.0-or-later" | "LGPL-2.0+" | "LGPL-2.1" | "LGPL-2.1-only" | "LGPL-2.1-or-later" | "LGPL-2.1+" | "LGPL-3.0" | "LGPL-3.0-only" | "LGPL-3.0-or-later" | "LGPL-3.0+" | "LGPLLR" | "Libpng" | "libpng-1.6.35" | "libpng-2.0" | "libselinux-1.0" | "libtiff" | "libutil-David-Nugent" | "LiLiQ-P-1.1" | "LiLiQ-R-1.1" | "LiLiQ-Rplus-1.1" | "Linux-man-pages-1-para" | "Linux-man-pages-copyleft" | "Linux-man-pages-copyleft-2-para" | "Linux-man-pages-copyleft-var" | "Linux-OpenIB" | "LOOP" | "LPD-document" | "LPL-1.0" | "LPL-1.02" | "LPPL-1.0" | "LPPL-1.1" | "LPPL-1.2" | "LPPL-1.3a" | "LPPL-1.3c" | "lsof" | "Lucida-Bitmap-Fonts" | "LZMA-SDK-9.11-to-9.20" | "LZMA-SDK-9.22" | "Mackerras-3-Clause" | "Mackerras-3-Clause-acknowledgment" | "magaz" | "mailprio" | "MakeIndex" | "man2html" | "Martin-Birgmeier" | "McPhee-slideshow" | "metamail" | "Minpack" | "MIPS" | "MirOS" | "MIT" | "MIT-0" | "MIT-advertising" | "MIT-Click" | "MIT-CMU" | "MIT-enna" | "MIT-feh" | "MIT-Festival" | "MIT-Khronos-old" | "MIT-Modern-Variant" | "MIT-open-group" | "MIT-STK" | "MIT-testregex" | "MIT-Wu" | "MITNFA" | "MMIXware" | "MMPL-1.0.1" | "Motosoto" | "MPEG-SSG" | "mpi-permissive" | "mpich2" | "MPL-1.0" | "MPL-1.1" | "MPL-2.0" | "MPL-2.0-no-copyleft-exception" | "mplus" | "MS-LPL" | "MS-PL" | "MS-RL" | "MTLL" | "MulanPSL-1.0" | "MulanPSL-2.0" | "Multics" | "Mup" | "NAIST-2003" | "NASA-1.3" | "Naumen" | "NBPL-1.0" | "NCBI-PD" | "NCGL-UK-2.0" | "NCL" | "NCSA" | "Net-SNMP" | "NetCDF" | "Newsletr" | "NGPL" | "ngrep" | "NICTA-1.0" | "NIST-PD" | "NIST-PD-fallback" | "NIST-PD-TNT" | "NIST-Software" | "NLOD-1.0" | "NLOD-2.0" | "NLPL" | "Nokia" | "NOSL" | "Noweb" | "NPL-1.0" | "NPL-1.1" | "NPOSL-3.0" | "NRL" | "NTIA-PD" | "NTP" | "NTP-0" | "Nunit" | "O-UDA-1.0" | "OAR" | "OCCT-PL" | "OCLC-2.0" | "ODbL-1.0" | "ODC-By-1.0" | "OFFIS" | "OFL-1.0" | "OFL-1.0-no-RFN" | "OFL-1.0-RFN" | "OFL-1.1" | "OFL-1.1-no-RFN" | "OFL-1.1-RFN" | "OGC-1.0" | "OGDL-Taiwan-1.0" | "OGL-Canada-2.0" | "OGL-UK-1.0" | "OGL-UK-2.0" | "OGL-UK-3.0" | "OGTSL" | "OLDAP-1.1" | "OLDAP-1.2" | "OLDAP-1.3" | "OLDAP-1.4" | "OLDAP-2.0" | "OLDAP-2.0.1" | "OLDAP-2.1" | "OLDAP-2.2" | "OLDAP-2.2.1" | "OLDAP-2.2.2" | "OLDAP-2.3" | "OLDAP-2.4" | "OLDAP-2.5" | "OLDAP-2.6" | "OLDAP-2.7" | "OLDAP-2.8" | "OLFL-1.3" | "OML" | "OpenMDW-1.0" | "OpenPBS-2.3" | "OpenSSL" | "OpenSSL-standalone" | "OpenVision" | "OPL-1.0" | "OPL-UK-3.0" | "OPUBL-1.0" | "OSC-1.0" | "OSET-PL-2.1" | "OSL-1.0" | "OSL-1.1" | "OSL-2.0" | "OSL-2.1" | "OSL-3.0" | "OSSP" | "PADL" | "ParaType-Free-Font-1.3" | "Parity-6.0.0" | "Parity-7.0.0" | "PDDL-1.0" | "PHP-3.0" | "PHP-3.01" | "Pixar" | "pkgconf" | "Plexus" | "pnmstitch" | "PolyForm-Noncommercial-1.0.0" | "PolyForm-Small-Business-1.0.0" | "PostgreSQL" | "PPL" | "PSF-2.0" | "psfrag" | "psutils" | "Python-2.0" | "Python-2.0.1" | "python-ldap" | "Qhull" | "QPL-1.0" | "QPL-1.0-INRIA-2004" | "radvd" | "Rdisc" | "RHeCos-1.1" | "RPL-1.1" | "RPL-1.5" | "RPSL-1.0" | "RSA-MD" | "RSCPL" | "Ruby" | "Ruby-pty" | "SAX-PD" | "SAX-PD-2.0" | "Saxpath" | "SCEA" | "SchemeReport" | "Sendmail" | "Sendmail-8.23" | "Sendmail-Open-Source-1.1" | "SGI-B-1.0" | "SGI-B-1.1" | "SGI-B-2.0" | "SGI-OpenGL" | "SGMLUG-PM" | "SGP4" | "SHL-0.5" | "SHL-0.51" | "SimPL-2.0" | "SISSL" | "SISSL-1.2" | "SL" | "Sleepycat" | "SMAIL-GPL" | "SMLNJ" | "SMPPL" | "SNIA" | "snprintf" | "SOFA" | "softSurfer" | "Soundex" | "Spencer-86" | "Spencer-94" | "Spencer-99" | "SPL-1.0" | "ssh-keyscan" | "SSH-OpenSSH" | "SSH-short" | "SSLeay-standalone" | "SSPL-1.0" | "StandardML-NJ" | "SugarCRM-1.1.3" | "SUL-1.0" | "Sun-PPP" | "Sun-PPP-2000" | "SunPro" | "SWL" | "swrule" | "Symlinks" | "TAPR-OHL-1.0" | "TCL" | "TCP-wrappers" | "TekHVC" | "TermReadKey" | "TGPPL-1.0" | "ThirdEye" | "threeparttable" | "TMate" | "TORQUE-1.1" | "TOSL" | "TPDL" | "TPL-1.0" | "TrustedQSL" | "TTWL" | "TTYP0" | "TU-Berlin-1.0" | "TU-Berlin-2.0" | "Ubuntu-font-1.0" | "UCAR" | "UCL-1.0" | "ulem" | "UMich-Merit" | "Unicode-3.0" | "Unicode-DFS-2015" | "Unicode-DFS-2016" | "Unicode-TOU" | "UnixCrypt" | "Unlicense" | "Unlicense-libtelnet" | "Unlicense-libwhirlpool" | "UnRAR" | "UPL-1.0" | "URT-RLE" | "Vim" | "Vixie-Cron" | "VOSTROM" | "VSL-1.0" | "W3C" | "W3C-19980720" | "W3C-20150513" | "w3m" | "Watcom-1.0" | "Widget-Workshop" | "WordNet" | "Wsuipa" | "WTFNMFPL" | "WTFPL" | "wwl" | "wxWindows" | "X11" | "X11-distribute-modifications-variant" | "X11-no-permit-persons" | "X11-swapped" | "Xdebug-1.03" | "Xerox" | "Xfig" | "XFree86-1.1" | "xinetd" | "xkeyboard-config-Zinoviev" | "xlock" | "Xnet" | "xpp" | "XSkat" | "xzoom" | "YPL-1.0" | "YPL-1.1" | "Zed" | "Zeeff" | "Zend-2.0" | "Zimbra-1.3" | "Zimbra-1.4" | "Zlib" | "zlib-acknowledgement" | "ZPL-1.1" | "ZPL-2.0" | "ZPL-2.1", string>>, z.ZodObject<{
71
+ name: z.ZodString;
72
+ url: z.ZodOptional<z.ZodURL>;
73
+ }, z.core.$strip>]>;
74
+ softwareSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodArray<z.ZodURL>]>>;
75
+ }, z.core.$strip>;
76
+ export declare const blobSchema: z.ZodObject<{
77
+ contentHash: z.ZodString;
78
+ ipfsCid: z.ZodOptional<z.ZodString>;
79
+ }, z.core.$strip>;
80
+ export declare const variantSchema: z.ZodObject<{
81
+ blob: z.ZodObject<{
82
+ contentHash: z.ZodString;
83
+ ipfsCid: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strip>;
85
+ tag: z.ZodOptional<z.ZodString>;
86
+ createdAt: z.ZodDefault<z.ZodISODateTime>;
87
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
88
+ }, z.core.$strip>;
89
+ export declare const parserVariantSchema: z.ZodObject<{
90
+ blob: z.ZodObject<{
91
+ contentHash: z.ZodString;
92
+ ipfsCid: z.ZodOptional<z.ZodString>;
93
+ }, z.core.$strip>;
94
+ tag: z.ZodOptional<z.ZodString>;
95
+ createdAt: z.ZodDefault<z.ZodISODateTime>;
96
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
97
+ parsedShape: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodBoolean]>>;
98
+ }, z.core.$strip>;
99
+ export declare const figParserMetadataSchema: z.ZodObject<{
100
+ title: z.ZodString;
101
+ description: z.ZodString;
102
+ icon: z.ZodOptional<z.ZodObject<{
103
+ svg: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
104
+ emojiFallback: z.ZodOptional<z.ZodEmoji>;
105
+ aspectRatio: z.ZodOptional<z.ZodObject<{
106
+ w: z.ZodNumber;
107
+ h: z.ZodNumber;
108
+ }, z.core.$strip>>;
109
+ }, z.core.$strip>>;
110
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
111
+ author: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
112
+ type: z.ZodEnum<{
113
+ "software-author": "software-author";
114
+ "software-maintainer": "software-maintainer";
115
+ "fig-author": "fig-author";
116
+ "fig-maintainer": "fig-maintainer";
117
+ }>;
118
+ name: z.ZodString;
119
+ url: z.ZodOptional<z.ZodURL>;
120
+ }, z.core.$strip>>]>;
121
+ license: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<"0BSD" | "3D-Slicer-1.0" | "AAL" | "Abstyles" | "AdaCore-doc" | "Adobe-2006" | "Adobe-Display-PostScript" | "Adobe-Glyph" | "Adobe-Utopia" | "ADSL" | "Advanced-Cryptics-Dictionary" | "AFL-1.1" | "AFL-1.2" | "AFL-2.0" | "AFL-2.1" | "AFL-3.0" | "Afmparse" | "AGPL-1.0" | "AGPL-1.0-only" | "AGPL-1.0-or-later" | "AGPL-3.0" | "AGPL-3.0-only" | "AGPL-3.0-or-later" | "Aladdin" | "ALGLIB-Documentation" | "AMD-newlib" | "AMDPLPA" | "AML" | "AML-glslang" | "AMPAS" | "ANTLR-PD" | "ANTLR-PD-fallback" | "any-OSI" | "any-OSI-perl-modules" | "Apache-1.0" | "Apache-1.1" | "Apache-2.0" | "APAFML" | "APL-1.0" | "App-s2p" | "APSL-1.0" | "APSL-1.1" | "APSL-1.2" | "APSL-2.0" | "Arphic-1999" | "Artistic-1.0" | "Artistic-1.0-cl8" | "Artistic-1.0-Perl" | "Artistic-2.0" | "Artistic-dist" | "Aspell-RU" | "ASWF-Digital-Assets-1.0" | "ASWF-Digital-Assets-1.1" | "Baekmuk" | "Bahyph" | "Barr" | "bcrypt-Solar-Designer" | "Beerware" | "Bitstream-Charter" | "Bitstream-Vera" | "BitTorrent-1.0" | "BitTorrent-1.1" | "blessing" | "BlueOak-1.0.0" | "Boehm-GC" | "Boehm-GC-without-fee" | "BOLA-1.1" | "Borceux" | "Brian-Gladman-2-Clause" | "Brian-Gladman-3-Clause" | "BSD-1-Clause" | "BSD-2-Clause" | "BSD-2-Clause-Darwin" | "BSD-2-Clause-first-lines" | "BSD-2-Clause-FreeBSD" | "BSD-2-Clause-NetBSD" | "BSD-2-Clause-Patent" | "BSD-2-Clause-pkgconf-disclaimer" | "BSD-2-Clause-Views" | "BSD-3-Clause" | "BSD-3-Clause-acpica" | "BSD-3-Clause-Attribution" | "BSD-3-Clause-Clear" | "BSD-3-Clause-flex" | "BSD-3-Clause-HP" | "BSD-3-Clause-LBNL" | "BSD-3-Clause-Modification" | "BSD-3-Clause-No-Military-License" | "BSD-3-Clause-No-Nuclear-License" | "BSD-3-Clause-No-Nuclear-License-2014" | "BSD-3-Clause-No-Nuclear-Warranty" | "BSD-3-Clause-Open-MPI" | "BSD-3-Clause-Sun" | "BSD-3-Clause-Tso" | "BSD-4-Clause" | "BSD-4-Clause-Shortened" | "BSD-4-Clause-UC" | "BSD-4.3RENO" | "BSD-4.3TAHOE" | "BSD-Advertising-Acknowledgement" | "BSD-Attribution-HPND-disclaimer" | "BSD-Inferno-Nettverk" | "BSD-Mark-Modifications" | "BSD-Protection" | "BSD-Source-beginning-file" | "BSD-Source-Code" | "BSD-Systemics" | "BSD-Systemics-W3Works" | "BSL-1.0" | "Buddy" | "BUSL-1.1" | "bzip2-1.0.5" | "bzip2-1.0.6" | "C-UDA-1.0" | "CAL-1.0" | "CAL-1.0-Combined-Work-Exception" | "Caldera" | "Caldera-no-preamble" | "CAPEC-tou" | "Catharon" | "CATOSL-1.1" | "CC-BY-1.0" | "CC-BY-2.0" | "CC-BY-2.5" | "CC-BY-2.5-AU" | "CC-BY-3.0" | "CC-BY-3.0-AT" | "CC-BY-3.0-AU" | "CC-BY-3.0-DE" | "CC-BY-3.0-IGO" | "CC-BY-3.0-NL" | "CC-BY-3.0-US" | "CC-BY-4.0" | "CC-BY-NC-1.0" | "CC-BY-NC-2.0" | "CC-BY-NC-2.5" | "CC-BY-NC-3.0" | "CC-BY-NC-3.0-DE" | "CC-BY-NC-4.0" | "CC-BY-NC-ND-1.0" | "CC-BY-NC-ND-2.0" | "CC-BY-NC-ND-2.5" | "CC-BY-NC-ND-3.0" | "CC-BY-NC-ND-3.0-DE" | "CC-BY-NC-ND-3.0-IGO" | "CC-BY-NC-ND-4.0" | "CC-BY-NC-SA-1.0" | "CC-BY-NC-SA-2.0" | "CC-BY-NC-SA-2.0-DE" | "CC-BY-NC-SA-2.0-FR" | "CC-BY-NC-SA-2.0-UK" | "CC-BY-NC-SA-2.5" | "CC-BY-NC-SA-3.0" | "CC-BY-NC-SA-3.0-DE" | "CC-BY-NC-SA-3.0-IGO" | "CC-BY-NC-SA-4.0" | "CC-BY-ND-1.0" | "CC-BY-ND-2.0" | "CC-BY-ND-2.5" | "CC-BY-ND-3.0" | "CC-BY-ND-3.0-DE" | "CC-BY-ND-4.0" | "CC-BY-SA-1.0" | "CC-BY-SA-2.0" | "CC-BY-SA-2.0-UK" | "CC-BY-SA-2.1-JP" | "CC-BY-SA-2.5" | "CC-BY-SA-3.0" | "CC-BY-SA-3.0-AT" | "CC-BY-SA-3.0-DE" | "CC-BY-SA-3.0-IGO" | "CC-BY-SA-4.0" | "CC-PDDC" | "CC-PDM-1.0" | "CC-SA-1.0" | "CC0-1.0" | "CDDL-1.0" | "CDDL-1.1" | "CDL-1.0" | "CDLA-Permissive-1.0" | "CDLA-Permissive-2.0" | "CDLA-Sharing-1.0" | "CECILL-1.0" | "CECILL-1.1" | "CECILL-2.0" | "CECILL-2.1" | "CECILL-B" | "CECILL-C" | "CERN-OHL-1.1" | "CERN-OHL-1.2" | "CERN-OHL-P-2.0" | "CERN-OHL-S-2.0" | "CERN-OHL-W-2.0" | "CFITSIO" | "check-cvs" | "checkmk" | "ClArtistic" | "Clips" | "CMU-Mach" | "CMU-Mach-nodoc" | "CNRI-Jython" | "CNRI-Python" | "CNRI-Python-GPL-Compatible" | "COIL-1.0" | "Community-Spec-1.0" | "Condor-1.1" | "copyleft-next-0.3.0" | "copyleft-next-0.3.1" | "Cornell-Lossless-JPEG" | "CPAL-1.0" | "CPL-1.0" | "CPOL-1.02" | "Cronyx" | "Crossword" | "CryptoSwift" | "CrystalStacker" | "CUA-OPL-1.0" | "Cube" | "curl" | "cve-tou" | "D-FSL-1.0" | "DEC-3-Clause" | "diffmark" | "DL-DE-BY-2.0" | "DL-DE-ZERO-2.0" | "DOC" | "DocBook-DTD" | "DocBook-Schema" | "DocBook-Stylesheet" | "DocBook-XML" | "Dotseqn" | "DRL-1.0" | "DRL-1.1" | "DSDP" | "dtoa" | "dvipdfm" | "ECL-1.0" | "ECL-2.0" | "eCos-2.0" | "EFL-1.0" | "EFL-2.0" | "eGenix" | "Elastic-2.0" | "Entessa" | "EPICS" | "EPL-1.0" | "EPL-2.0" | "ErlPL-1.1" | "ESA-PL-permissive-2.4" | "ESA-PL-strong-copyleft-2.4" | "ESA-PL-weak-copyleft-2.4" | "etalab-2.0" | "EUDatagrid" | "EUPL-1.0" | "EUPL-1.1" | "EUPL-1.2" | "Eurosym" | "Fair" | "FBM" | "FDK-AAC" | "Ferguson-Twofish" | "Frameworx-1.0" | "FreeBSD-DOC" | "FreeImage" | "FSFAP" | "FSFAP-no-warranty-disclaimer" | "FSFUL" | "FSFULLR" | "FSFULLRSD" | "FSFULLRWD" | "FSL-1.1-ALv2" | "FSL-1.1-MIT" | "FTL" | "Furuseth" | "fwlw" | "Game-Programming-Gems" | "GCR-docs" | "GD" | "generic-xts" | "GFDL-1.1" | "GFDL-1.1-invariants-only" | "GFDL-1.1-invariants-or-later" | "GFDL-1.1-no-invariants-only" | "GFDL-1.1-no-invariants-or-later" | "GFDL-1.1-only" | "GFDL-1.1-or-later" | "GFDL-1.2" | "GFDL-1.2-invariants-only" | "GFDL-1.2-invariants-or-later" | "GFDL-1.2-no-invariants-only" | "GFDL-1.2-no-invariants-or-later" | "GFDL-1.2-only" | "GFDL-1.2-or-later" | "GFDL-1.3" | "GFDL-1.3-invariants-only" | "GFDL-1.3-invariants-or-later" | "GFDL-1.3-no-invariants-only" | "GFDL-1.3-no-invariants-or-later" | "GFDL-1.3-only" | "GFDL-1.3-or-later" | "Giftware" | "GL2PS" | "Glide" | "Glulxe" | "GLWTPL" | "gnuplot" | "GPL-1.0" | "GPL-1.0-only" | "GPL-1.0-or-later" | "GPL-1.0+" | "GPL-2.0" | "GPL-2.0-only" | "GPL-2.0-or-later" | "GPL-2.0-with-autoconf-exception" | "GPL-2.0-with-bison-exception" | "GPL-2.0-with-classpath-exception" | "GPL-2.0-with-font-exception" | "GPL-2.0-with-GCC-exception" | "GPL-2.0+" | "GPL-3.0" | "GPL-3.0-only" | "GPL-3.0-or-later" | "GPL-3.0-with-autoconf-exception" | "GPL-3.0-with-GCC-exception" | "GPL-3.0+" | "Graphics-Gems" | "gSOAP-1.3b" | "gtkbook" | "Gutmann" | "HaskellReport" | "HDF5" | "hdparm" | "HIDAPI" | "Hippocratic-2.1" | "HP-1986" | "HP-1989" | "HPND" | "HPND-DEC" | "HPND-doc" | "HPND-doc-sell" | "HPND-export-US" | "HPND-export-US-acknowledgement" | "HPND-export-US-modify" | "HPND-export2-US" | "HPND-Fenneberg-Livingston" | "HPND-INRIA-IMAG" | "HPND-Intel" | "HPND-Kevlin-Henney" | "HPND-Markus-Kuhn" | "HPND-merchantability-variant" | "HPND-MIT-disclaimer" | "HPND-Netrek" | "HPND-Pbmplus" | "HPND-sell-MIT-disclaimer-xserver" | "HPND-sell-regexpr" | "HPND-sell-variant" | "HPND-sell-variant-critical-systems" | "HPND-sell-variant-MIT-disclaimer" | "HPND-sell-variant-MIT-disclaimer-rev" | "HPND-SMC" | "HPND-UC" | "HPND-UC-export-US" | "HTMLTIDY" | "hyphen-bulgarian" | "IBM-pibs" | "ICU" | "IEC-Code-Components-EULA" | "IJG" | "IJG-short" | "ImageMagick" | "iMatix" | "Imlib2" | "Info-ZIP" | "Inner-Net-2.0" | "InnoSetup" | "Intel" | "Intel-ACPI" | "Interbase-1.0" | "IPA" | "IPL-1.0" | "ISC" | "ISC-Veillard" | "ISO-permission" | "Jam" | "JasPer-2.0" | "jove" | "JPL-image" | "JPNIC" | "JSON" | "Kastrup" | "Kazlib" | "Knuth-CTAN" | "LAL-1.2" | "LAL-1.3" | "Latex2e" | "Latex2e-translated-notice" | "Leptonica" | "LGPL-2.0" | "LGPL-2.0-only" | "LGPL-2.0-or-later" | "LGPL-2.0+" | "LGPL-2.1" | "LGPL-2.1-only" | "LGPL-2.1-or-later" | "LGPL-2.1+" | "LGPL-3.0" | "LGPL-3.0-only" | "LGPL-3.0-or-later" | "LGPL-3.0+" | "LGPLLR" | "Libpng" | "libpng-1.6.35" | "libpng-2.0" | "libselinux-1.0" | "libtiff" | "libutil-David-Nugent" | "LiLiQ-P-1.1" | "LiLiQ-R-1.1" | "LiLiQ-Rplus-1.1" | "Linux-man-pages-1-para" | "Linux-man-pages-copyleft" | "Linux-man-pages-copyleft-2-para" | "Linux-man-pages-copyleft-var" | "Linux-OpenIB" | "LOOP" | "LPD-document" | "LPL-1.0" | "LPL-1.02" | "LPPL-1.0" | "LPPL-1.1" | "LPPL-1.2" | "LPPL-1.3a" | "LPPL-1.3c" | "lsof" | "Lucida-Bitmap-Fonts" | "LZMA-SDK-9.11-to-9.20" | "LZMA-SDK-9.22" | "Mackerras-3-Clause" | "Mackerras-3-Clause-acknowledgment" | "magaz" | "mailprio" | "MakeIndex" | "man2html" | "Martin-Birgmeier" | "McPhee-slideshow" | "metamail" | "Minpack" | "MIPS" | "MirOS" | "MIT" | "MIT-0" | "MIT-advertising" | "MIT-Click" | "MIT-CMU" | "MIT-enna" | "MIT-feh" | "MIT-Festival" | "MIT-Khronos-old" | "MIT-Modern-Variant" | "MIT-open-group" | "MIT-STK" | "MIT-testregex" | "MIT-Wu" | "MITNFA" | "MMIXware" | "MMPL-1.0.1" | "Motosoto" | "MPEG-SSG" | "mpi-permissive" | "mpich2" | "MPL-1.0" | "MPL-1.1" | "MPL-2.0" | "MPL-2.0-no-copyleft-exception" | "mplus" | "MS-LPL" | "MS-PL" | "MS-RL" | "MTLL" | "MulanPSL-1.0" | "MulanPSL-2.0" | "Multics" | "Mup" | "NAIST-2003" | "NASA-1.3" | "Naumen" | "NBPL-1.0" | "NCBI-PD" | "NCGL-UK-2.0" | "NCL" | "NCSA" | "Net-SNMP" | "NetCDF" | "Newsletr" | "NGPL" | "ngrep" | "NICTA-1.0" | "NIST-PD" | "NIST-PD-fallback" | "NIST-PD-TNT" | "NIST-Software" | "NLOD-1.0" | "NLOD-2.0" | "NLPL" | "Nokia" | "NOSL" | "Noweb" | "NPL-1.0" | "NPL-1.1" | "NPOSL-3.0" | "NRL" | "NTIA-PD" | "NTP" | "NTP-0" | "Nunit" | "O-UDA-1.0" | "OAR" | "OCCT-PL" | "OCLC-2.0" | "ODbL-1.0" | "ODC-By-1.0" | "OFFIS" | "OFL-1.0" | "OFL-1.0-no-RFN" | "OFL-1.0-RFN" | "OFL-1.1" | "OFL-1.1-no-RFN" | "OFL-1.1-RFN" | "OGC-1.0" | "OGDL-Taiwan-1.0" | "OGL-Canada-2.0" | "OGL-UK-1.0" | "OGL-UK-2.0" | "OGL-UK-3.0" | "OGTSL" | "OLDAP-1.1" | "OLDAP-1.2" | "OLDAP-1.3" | "OLDAP-1.4" | "OLDAP-2.0" | "OLDAP-2.0.1" | "OLDAP-2.1" | "OLDAP-2.2" | "OLDAP-2.2.1" | "OLDAP-2.2.2" | "OLDAP-2.3" | "OLDAP-2.4" | "OLDAP-2.5" | "OLDAP-2.6" | "OLDAP-2.7" | "OLDAP-2.8" | "OLFL-1.3" | "OML" | "OpenMDW-1.0" | "OpenPBS-2.3" | "OpenSSL" | "OpenSSL-standalone" | "OpenVision" | "OPL-1.0" | "OPL-UK-3.0" | "OPUBL-1.0" | "OSC-1.0" | "OSET-PL-2.1" | "OSL-1.0" | "OSL-1.1" | "OSL-2.0" | "OSL-2.1" | "OSL-3.0" | "OSSP" | "PADL" | "ParaType-Free-Font-1.3" | "Parity-6.0.0" | "Parity-7.0.0" | "PDDL-1.0" | "PHP-3.0" | "PHP-3.01" | "Pixar" | "pkgconf" | "Plexus" | "pnmstitch" | "PolyForm-Noncommercial-1.0.0" | "PolyForm-Small-Business-1.0.0" | "PostgreSQL" | "PPL" | "PSF-2.0" | "psfrag" | "psutils" | "Python-2.0" | "Python-2.0.1" | "python-ldap" | "Qhull" | "QPL-1.0" | "QPL-1.0-INRIA-2004" | "radvd" | "Rdisc" | "RHeCos-1.1" | "RPL-1.1" | "RPL-1.5" | "RPSL-1.0" | "RSA-MD" | "RSCPL" | "Ruby" | "Ruby-pty" | "SAX-PD" | "SAX-PD-2.0" | "Saxpath" | "SCEA" | "SchemeReport" | "Sendmail" | "Sendmail-8.23" | "Sendmail-Open-Source-1.1" | "SGI-B-1.0" | "SGI-B-1.1" | "SGI-B-2.0" | "SGI-OpenGL" | "SGMLUG-PM" | "SGP4" | "SHL-0.5" | "SHL-0.51" | "SimPL-2.0" | "SISSL" | "SISSL-1.2" | "SL" | "Sleepycat" | "SMAIL-GPL" | "SMLNJ" | "SMPPL" | "SNIA" | "snprintf" | "SOFA" | "softSurfer" | "Soundex" | "Spencer-86" | "Spencer-94" | "Spencer-99" | "SPL-1.0" | "ssh-keyscan" | "SSH-OpenSSH" | "SSH-short" | "SSLeay-standalone" | "SSPL-1.0" | "StandardML-NJ" | "SugarCRM-1.1.3" | "SUL-1.0" | "Sun-PPP" | "Sun-PPP-2000" | "SunPro" | "SWL" | "swrule" | "Symlinks" | "TAPR-OHL-1.0" | "TCL" | "TCP-wrappers" | "TekHVC" | "TermReadKey" | "TGPPL-1.0" | "ThirdEye" | "threeparttable" | "TMate" | "TORQUE-1.1" | "TOSL" | "TPDL" | "TPL-1.0" | "TrustedQSL" | "TTWL" | "TTYP0" | "TU-Berlin-1.0" | "TU-Berlin-2.0" | "Ubuntu-font-1.0" | "UCAR" | "UCL-1.0" | "ulem" | "UMich-Merit" | "Unicode-3.0" | "Unicode-DFS-2015" | "Unicode-DFS-2016" | "Unicode-TOU" | "UnixCrypt" | "Unlicense" | "Unlicense-libtelnet" | "Unlicense-libwhirlpool" | "UnRAR" | "UPL-1.0" | "URT-RLE" | "Vim" | "Vixie-Cron" | "VOSTROM" | "VSL-1.0" | "W3C" | "W3C-19980720" | "W3C-20150513" | "w3m" | "Watcom-1.0" | "Widget-Workshop" | "WordNet" | "Wsuipa" | "WTFNMFPL" | "WTFPL" | "wwl" | "wxWindows" | "X11" | "X11-distribute-modifications-variant" | "X11-no-permit-persons" | "X11-swapped" | "Xdebug-1.03" | "Xerox" | "Xfig" | "XFree86-1.1" | "xinetd" | "xkeyboard-config-Zinoviev" | "xlock" | "Xnet" | "xpp" | "XSkat" | "xzoom" | "YPL-1.0" | "YPL-1.1" | "Zed" | "Zeeff" | "Zend-2.0" | "Zimbra-1.3" | "Zimbra-1.4" | "Zlib" | "zlib-acknowledgement" | "ZPL-1.1" | "ZPL-2.0" | "ZPL-2.1", string>>, z.ZodObject<{
122
+ name: z.ZodString;
123
+ url: z.ZodOptional<z.ZodURL>;
124
+ }, z.core.$strip>]>;
125
+ softwareSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodArray<z.ZodURL>]>>;
126
+ variants: z.ZodArray<z.ZodObject<{
127
+ blob: z.ZodObject<{
128
+ contentHash: z.ZodString;
129
+ ipfsCid: z.ZodOptional<z.ZodString>;
130
+ }, z.core.$strip>;
131
+ tag: z.ZodOptional<z.ZodString>;
132
+ createdAt: z.ZodDefault<z.ZodISODateTime>;
133
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
134
+ parsedShape: z.ZodOptional<z.ZodUnion<readonly [z.ZodRecord<z.ZodString, z.ZodAny>, z.ZodBoolean]>>;
135
+ }, z.core.$strip>>;
136
+ }, z.core.$strip>;
137
+ export type FigParserMetadata = z.infer<typeof figParserMetadataSchema>;
138
+ export declare const figSpecMetadataSchema: z.ZodObject<{
139
+ title: z.ZodString;
140
+ description: z.ZodString;
141
+ icon: z.ZodOptional<z.ZodObject<{
142
+ svg: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
143
+ emojiFallback: z.ZodOptional<z.ZodEmoji>;
144
+ aspectRatio: z.ZodOptional<z.ZodObject<{
145
+ w: z.ZodNumber;
146
+ h: z.ZodNumber;
147
+ }, z.core.$strip>>;
148
+ }, z.core.$strip>>;
149
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
150
+ author: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
151
+ type: z.ZodEnum<{
152
+ "software-author": "software-author";
153
+ "software-maintainer": "software-maintainer";
154
+ "fig-author": "fig-author";
155
+ "fig-maintainer": "fig-maintainer";
156
+ }>;
157
+ name: z.ZodString;
158
+ url: z.ZodOptional<z.ZodURL>;
159
+ }, z.core.$strip>>]>;
160
+ license: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<"0BSD" | "3D-Slicer-1.0" | "AAL" | "Abstyles" | "AdaCore-doc" | "Adobe-2006" | "Adobe-Display-PostScript" | "Adobe-Glyph" | "Adobe-Utopia" | "ADSL" | "Advanced-Cryptics-Dictionary" | "AFL-1.1" | "AFL-1.2" | "AFL-2.0" | "AFL-2.1" | "AFL-3.0" | "Afmparse" | "AGPL-1.0" | "AGPL-1.0-only" | "AGPL-1.0-or-later" | "AGPL-3.0" | "AGPL-3.0-only" | "AGPL-3.0-or-later" | "Aladdin" | "ALGLIB-Documentation" | "AMD-newlib" | "AMDPLPA" | "AML" | "AML-glslang" | "AMPAS" | "ANTLR-PD" | "ANTLR-PD-fallback" | "any-OSI" | "any-OSI-perl-modules" | "Apache-1.0" | "Apache-1.1" | "Apache-2.0" | "APAFML" | "APL-1.0" | "App-s2p" | "APSL-1.0" | "APSL-1.1" | "APSL-1.2" | "APSL-2.0" | "Arphic-1999" | "Artistic-1.0" | "Artistic-1.0-cl8" | "Artistic-1.0-Perl" | "Artistic-2.0" | "Artistic-dist" | "Aspell-RU" | "ASWF-Digital-Assets-1.0" | "ASWF-Digital-Assets-1.1" | "Baekmuk" | "Bahyph" | "Barr" | "bcrypt-Solar-Designer" | "Beerware" | "Bitstream-Charter" | "Bitstream-Vera" | "BitTorrent-1.0" | "BitTorrent-1.1" | "blessing" | "BlueOak-1.0.0" | "Boehm-GC" | "Boehm-GC-without-fee" | "BOLA-1.1" | "Borceux" | "Brian-Gladman-2-Clause" | "Brian-Gladman-3-Clause" | "BSD-1-Clause" | "BSD-2-Clause" | "BSD-2-Clause-Darwin" | "BSD-2-Clause-first-lines" | "BSD-2-Clause-FreeBSD" | "BSD-2-Clause-NetBSD" | "BSD-2-Clause-Patent" | "BSD-2-Clause-pkgconf-disclaimer" | "BSD-2-Clause-Views" | "BSD-3-Clause" | "BSD-3-Clause-acpica" | "BSD-3-Clause-Attribution" | "BSD-3-Clause-Clear" | "BSD-3-Clause-flex" | "BSD-3-Clause-HP" | "BSD-3-Clause-LBNL" | "BSD-3-Clause-Modification" | "BSD-3-Clause-No-Military-License" | "BSD-3-Clause-No-Nuclear-License" | "BSD-3-Clause-No-Nuclear-License-2014" | "BSD-3-Clause-No-Nuclear-Warranty" | "BSD-3-Clause-Open-MPI" | "BSD-3-Clause-Sun" | "BSD-3-Clause-Tso" | "BSD-4-Clause" | "BSD-4-Clause-Shortened" | "BSD-4-Clause-UC" | "BSD-4.3RENO" | "BSD-4.3TAHOE" | "BSD-Advertising-Acknowledgement" | "BSD-Attribution-HPND-disclaimer" | "BSD-Inferno-Nettverk" | "BSD-Mark-Modifications" | "BSD-Protection" | "BSD-Source-beginning-file" | "BSD-Source-Code" | "BSD-Systemics" | "BSD-Systemics-W3Works" | "BSL-1.0" | "Buddy" | "BUSL-1.1" | "bzip2-1.0.5" | "bzip2-1.0.6" | "C-UDA-1.0" | "CAL-1.0" | "CAL-1.0-Combined-Work-Exception" | "Caldera" | "Caldera-no-preamble" | "CAPEC-tou" | "Catharon" | "CATOSL-1.1" | "CC-BY-1.0" | "CC-BY-2.0" | "CC-BY-2.5" | "CC-BY-2.5-AU" | "CC-BY-3.0" | "CC-BY-3.0-AT" | "CC-BY-3.0-AU" | "CC-BY-3.0-DE" | "CC-BY-3.0-IGO" | "CC-BY-3.0-NL" | "CC-BY-3.0-US" | "CC-BY-4.0" | "CC-BY-NC-1.0" | "CC-BY-NC-2.0" | "CC-BY-NC-2.5" | "CC-BY-NC-3.0" | "CC-BY-NC-3.0-DE" | "CC-BY-NC-4.0" | "CC-BY-NC-ND-1.0" | "CC-BY-NC-ND-2.0" | "CC-BY-NC-ND-2.5" | "CC-BY-NC-ND-3.0" | "CC-BY-NC-ND-3.0-DE" | "CC-BY-NC-ND-3.0-IGO" | "CC-BY-NC-ND-4.0" | "CC-BY-NC-SA-1.0" | "CC-BY-NC-SA-2.0" | "CC-BY-NC-SA-2.0-DE" | "CC-BY-NC-SA-2.0-FR" | "CC-BY-NC-SA-2.0-UK" | "CC-BY-NC-SA-2.5" | "CC-BY-NC-SA-3.0" | "CC-BY-NC-SA-3.0-DE" | "CC-BY-NC-SA-3.0-IGO" | "CC-BY-NC-SA-4.0" | "CC-BY-ND-1.0" | "CC-BY-ND-2.0" | "CC-BY-ND-2.5" | "CC-BY-ND-3.0" | "CC-BY-ND-3.0-DE" | "CC-BY-ND-4.0" | "CC-BY-SA-1.0" | "CC-BY-SA-2.0" | "CC-BY-SA-2.0-UK" | "CC-BY-SA-2.1-JP" | "CC-BY-SA-2.5" | "CC-BY-SA-3.0" | "CC-BY-SA-3.0-AT" | "CC-BY-SA-3.0-DE" | "CC-BY-SA-3.0-IGO" | "CC-BY-SA-4.0" | "CC-PDDC" | "CC-PDM-1.0" | "CC-SA-1.0" | "CC0-1.0" | "CDDL-1.0" | "CDDL-1.1" | "CDL-1.0" | "CDLA-Permissive-1.0" | "CDLA-Permissive-2.0" | "CDLA-Sharing-1.0" | "CECILL-1.0" | "CECILL-1.1" | "CECILL-2.0" | "CECILL-2.1" | "CECILL-B" | "CECILL-C" | "CERN-OHL-1.1" | "CERN-OHL-1.2" | "CERN-OHL-P-2.0" | "CERN-OHL-S-2.0" | "CERN-OHL-W-2.0" | "CFITSIO" | "check-cvs" | "checkmk" | "ClArtistic" | "Clips" | "CMU-Mach" | "CMU-Mach-nodoc" | "CNRI-Jython" | "CNRI-Python" | "CNRI-Python-GPL-Compatible" | "COIL-1.0" | "Community-Spec-1.0" | "Condor-1.1" | "copyleft-next-0.3.0" | "copyleft-next-0.3.1" | "Cornell-Lossless-JPEG" | "CPAL-1.0" | "CPL-1.0" | "CPOL-1.02" | "Cronyx" | "Crossword" | "CryptoSwift" | "CrystalStacker" | "CUA-OPL-1.0" | "Cube" | "curl" | "cve-tou" | "D-FSL-1.0" | "DEC-3-Clause" | "diffmark" | "DL-DE-BY-2.0" | "DL-DE-ZERO-2.0" | "DOC" | "DocBook-DTD" | "DocBook-Schema" | "DocBook-Stylesheet" | "DocBook-XML" | "Dotseqn" | "DRL-1.0" | "DRL-1.1" | "DSDP" | "dtoa" | "dvipdfm" | "ECL-1.0" | "ECL-2.0" | "eCos-2.0" | "EFL-1.0" | "EFL-2.0" | "eGenix" | "Elastic-2.0" | "Entessa" | "EPICS" | "EPL-1.0" | "EPL-2.0" | "ErlPL-1.1" | "ESA-PL-permissive-2.4" | "ESA-PL-strong-copyleft-2.4" | "ESA-PL-weak-copyleft-2.4" | "etalab-2.0" | "EUDatagrid" | "EUPL-1.0" | "EUPL-1.1" | "EUPL-1.2" | "Eurosym" | "Fair" | "FBM" | "FDK-AAC" | "Ferguson-Twofish" | "Frameworx-1.0" | "FreeBSD-DOC" | "FreeImage" | "FSFAP" | "FSFAP-no-warranty-disclaimer" | "FSFUL" | "FSFULLR" | "FSFULLRSD" | "FSFULLRWD" | "FSL-1.1-ALv2" | "FSL-1.1-MIT" | "FTL" | "Furuseth" | "fwlw" | "Game-Programming-Gems" | "GCR-docs" | "GD" | "generic-xts" | "GFDL-1.1" | "GFDL-1.1-invariants-only" | "GFDL-1.1-invariants-or-later" | "GFDL-1.1-no-invariants-only" | "GFDL-1.1-no-invariants-or-later" | "GFDL-1.1-only" | "GFDL-1.1-or-later" | "GFDL-1.2" | "GFDL-1.2-invariants-only" | "GFDL-1.2-invariants-or-later" | "GFDL-1.2-no-invariants-only" | "GFDL-1.2-no-invariants-or-later" | "GFDL-1.2-only" | "GFDL-1.2-or-later" | "GFDL-1.3" | "GFDL-1.3-invariants-only" | "GFDL-1.3-invariants-or-later" | "GFDL-1.3-no-invariants-only" | "GFDL-1.3-no-invariants-or-later" | "GFDL-1.3-only" | "GFDL-1.3-or-later" | "Giftware" | "GL2PS" | "Glide" | "Glulxe" | "GLWTPL" | "gnuplot" | "GPL-1.0" | "GPL-1.0-only" | "GPL-1.0-or-later" | "GPL-1.0+" | "GPL-2.0" | "GPL-2.0-only" | "GPL-2.0-or-later" | "GPL-2.0-with-autoconf-exception" | "GPL-2.0-with-bison-exception" | "GPL-2.0-with-classpath-exception" | "GPL-2.0-with-font-exception" | "GPL-2.0-with-GCC-exception" | "GPL-2.0+" | "GPL-3.0" | "GPL-3.0-only" | "GPL-3.0-or-later" | "GPL-3.0-with-autoconf-exception" | "GPL-3.0-with-GCC-exception" | "GPL-3.0+" | "Graphics-Gems" | "gSOAP-1.3b" | "gtkbook" | "Gutmann" | "HaskellReport" | "HDF5" | "hdparm" | "HIDAPI" | "Hippocratic-2.1" | "HP-1986" | "HP-1989" | "HPND" | "HPND-DEC" | "HPND-doc" | "HPND-doc-sell" | "HPND-export-US" | "HPND-export-US-acknowledgement" | "HPND-export-US-modify" | "HPND-export2-US" | "HPND-Fenneberg-Livingston" | "HPND-INRIA-IMAG" | "HPND-Intel" | "HPND-Kevlin-Henney" | "HPND-Markus-Kuhn" | "HPND-merchantability-variant" | "HPND-MIT-disclaimer" | "HPND-Netrek" | "HPND-Pbmplus" | "HPND-sell-MIT-disclaimer-xserver" | "HPND-sell-regexpr" | "HPND-sell-variant" | "HPND-sell-variant-critical-systems" | "HPND-sell-variant-MIT-disclaimer" | "HPND-sell-variant-MIT-disclaimer-rev" | "HPND-SMC" | "HPND-UC" | "HPND-UC-export-US" | "HTMLTIDY" | "hyphen-bulgarian" | "IBM-pibs" | "ICU" | "IEC-Code-Components-EULA" | "IJG" | "IJG-short" | "ImageMagick" | "iMatix" | "Imlib2" | "Info-ZIP" | "Inner-Net-2.0" | "InnoSetup" | "Intel" | "Intel-ACPI" | "Interbase-1.0" | "IPA" | "IPL-1.0" | "ISC" | "ISC-Veillard" | "ISO-permission" | "Jam" | "JasPer-2.0" | "jove" | "JPL-image" | "JPNIC" | "JSON" | "Kastrup" | "Kazlib" | "Knuth-CTAN" | "LAL-1.2" | "LAL-1.3" | "Latex2e" | "Latex2e-translated-notice" | "Leptonica" | "LGPL-2.0" | "LGPL-2.0-only" | "LGPL-2.0-or-later" | "LGPL-2.0+" | "LGPL-2.1" | "LGPL-2.1-only" | "LGPL-2.1-or-later" | "LGPL-2.1+" | "LGPL-3.0" | "LGPL-3.0-only" | "LGPL-3.0-or-later" | "LGPL-3.0+" | "LGPLLR" | "Libpng" | "libpng-1.6.35" | "libpng-2.0" | "libselinux-1.0" | "libtiff" | "libutil-David-Nugent" | "LiLiQ-P-1.1" | "LiLiQ-R-1.1" | "LiLiQ-Rplus-1.1" | "Linux-man-pages-1-para" | "Linux-man-pages-copyleft" | "Linux-man-pages-copyleft-2-para" | "Linux-man-pages-copyleft-var" | "Linux-OpenIB" | "LOOP" | "LPD-document" | "LPL-1.0" | "LPL-1.02" | "LPPL-1.0" | "LPPL-1.1" | "LPPL-1.2" | "LPPL-1.3a" | "LPPL-1.3c" | "lsof" | "Lucida-Bitmap-Fonts" | "LZMA-SDK-9.11-to-9.20" | "LZMA-SDK-9.22" | "Mackerras-3-Clause" | "Mackerras-3-Clause-acknowledgment" | "magaz" | "mailprio" | "MakeIndex" | "man2html" | "Martin-Birgmeier" | "McPhee-slideshow" | "metamail" | "Minpack" | "MIPS" | "MirOS" | "MIT" | "MIT-0" | "MIT-advertising" | "MIT-Click" | "MIT-CMU" | "MIT-enna" | "MIT-feh" | "MIT-Festival" | "MIT-Khronos-old" | "MIT-Modern-Variant" | "MIT-open-group" | "MIT-STK" | "MIT-testregex" | "MIT-Wu" | "MITNFA" | "MMIXware" | "MMPL-1.0.1" | "Motosoto" | "MPEG-SSG" | "mpi-permissive" | "mpich2" | "MPL-1.0" | "MPL-1.1" | "MPL-2.0" | "MPL-2.0-no-copyleft-exception" | "mplus" | "MS-LPL" | "MS-PL" | "MS-RL" | "MTLL" | "MulanPSL-1.0" | "MulanPSL-2.0" | "Multics" | "Mup" | "NAIST-2003" | "NASA-1.3" | "Naumen" | "NBPL-1.0" | "NCBI-PD" | "NCGL-UK-2.0" | "NCL" | "NCSA" | "Net-SNMP" | "NetCDF" | "Newsletr" | "NGPL" | "ngrep" | "NICTA-1.0" | "NIST-PD" | "NIST-PD-fallback" | "NIST-PD-TNT" | "NIST-Software" | "NLOD-1.0" | "NLOD-2.0" | "NLPL" | "Nokia" | "NOSL" | "Noweb" | "NPL-1.0" | "NPL-1.1" | "NPOSL-3.0" | "NRL" | "NTIA-PD" | "NTP" | "NTP-0" | "Nunit" | "O-UDA-1.0" | "OAR" | "OCCT-PL" | "OCLC-2.0" | "ODbL-1.0" | "ODC-By-1.0" | "OFFIS" | "OFL-1.0" | "OFL-1.0-no-RFN" | "OFL-1.0-RFN" | "OFL-1.1" | "OFL-1.1-no-RFN" | "OFL-1.1-RFN" | "OGC-1.0" | "OGDL-Taiwan-1.0" | "OGL-Canada-2.0" | "OGL-UK-1.0" | "OGL-UK-2.0" | "OGL-UK-3.0" | "OGTSL" | "OLDAP-1.1" | "OLDAP-1.2" | "OLDAP-1.3" | "OLDAP-1.4" | "OLDAP-2.0" | "OLDAP-2.0.1" | "OLDAP-2.1" | "OLDAP-2.2" | "OLDAP-2.2.1" | "OLDAP-2.2.2" | "OLDAP-2.3" | "OLDAP-2.4" | "OLDAP-2.5" | "OLDAP-2.6" | "OLDAP-2.7" | "OLDAP-2.8" | "OLFL-1.3" | "OML" | "OpenMDW-1.0" | "OpenPBS-2.3" | "OpenSSL" | "OpenSSL-standalone" | "OpenVision" | "OPL-1.0" | "OPL-UK-3.0" | "OPUBL-1.0" | "OSC-1.0" | "OSET-PL-2.1" | "OSL-1.0" | "OSL-1.1" | "OSL-2.0" | "OSL-2.1" | "OSL-3.0" | "OSSP" | "PADL" | "ParaType-Free-Font-1.3" | "Parity-6.0.0" | "Parity-7.0.0" | "PDDL-1.0" | "PHP-3.0" | "PHP-3.01" | "Pixar" | "pkgconf" | "Plexus" | "pnmstitch" | "PolyForm-Noncommercial-1.0.0" | "PolyForm-Small-Business-1.0.0" | "PostgreSQL" | "PPL" | "PSF-2.0" | "psfrag" | "psutils" | "Python-2.0" | "Python-2.0.1" | "python-ldap" | "Qhull" | "QPL-1.0" | "QPL-1.0-INRIA-2004" | "radvd" | "Rdisc" | "RHeCos-1.1" | "RPL-1.1" | "RPL-1.5" | "RPSL-1.0" | "RSA-MD" | "RSCPL" | "Ruby" | "Ruby-pty" | "SAX-PD" | "SAX-PD-2.0" | "Saxpath" | "SCEA" | "SchemeReport" | "Sendmail" | "Sendmail-8.23" | "Sendmail-Open-Source-1.1" | "SGI-B-1.0" | "SGI-B-1.1" | "SGI-B-2.0" | "SGI-OpenGL" | "SGMLUG-PM" | "SGP4" | "SHL-0.5" | "SHL-0.51" | "SimPL-2.0" | "SISSL" | "SISSL-1.2" | "SL" | "Sleepycat" | "SMAIL-GPL" | "SMLNJ" | "SMPPL" | "SNIA" | "snprintf" | "SOFA" | "softSurfer" | "Soundex" | "Spencer-86" | "Spencer-94" | "Spencer-99" | "SPL-1.0" | "ssh-keyscan" | "SSH-OpenSSH" | "SSH-short" | "SSLeay-standalone" | "SSPL-1.0" | "StandardML-NJ" | "SugarCRM-1.1.3" | "SUL-1.0" | "Sun-PPP" | "Sun-PPP-2000" | "SunPro" | "SWL" | "swrule" | "Symlinks" | "TAPR-OHL-1.0" | "TCL" | "TCP-wrappers" | "TekHVC" | "TermReadKey" | "TGPPL-1.0" | "ThirdEye" | "threeparttable" | "TMate" | "TORQUE-1.1" | "TOSL" | "TPDL" | "TPL-1.0" | "TrustedQSL" | "TTWL" | "TTYP0" | "TU-Berlin-1.0" | "TU-Berlin-2.0" | "Ubuntu-font-1.0" | "UCAR" | "UCL-1.0" | "ulem" | "UMich-Merit" | "Unicode-3.0" | "Unicode-DFS-2015" | "Unicode-DFS-2016" | "Unicode-TOU" | "UnixCrypt" | "Unlicense" | "Unlicense-libtelnet" | "Unlicense-libwhirlpool" | "UnRAR" | "UPL-1.0" | "URT-RLE" | "Vim" | "Vixie-Cron" | "VOSTROM" | "VSL-1.0" | "W3C" | "W3C-19980720" | "W3C-20150513" | "w3m" | "Watcom-1.0" | "Widget-Workshop" | "WordNet" | "Wsuipa" | "WTFNMFPL" | "WTFPL" | "wwl" | "wxWindows" | "X11" | "X11-distribute-modifications-variant" | "X11-no-permit-persons" | "X11-swapped" | "Xdebug-1.03" | "Xerox" | "Xfig" | "XFree86-1.1" | "xinetd" | "xkeyboard-config-Zinoviev" | "xlock" | "Xnet" | "xpp" | "XSkat" | "xzoom" | "YPL-1.0" | "YPL-1.1" | "Zed" | "Zeeff" | "Zend-2.0" | "Zimbra-1.3" | "Zimbra-1.4" | "Zlib" | "zlib-acknowledgement" | "ZPL-1.1" | "ZPL-2.0" | "ZPL-2.1", string>>, z.ZodObject<{
161
+ name: z.ZodString;
162
+ url: z.ZodOptional<z.ZodURL>;
163
+ }, z.core.$strip>]>;
164
+ softwareSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodArray<z.ZodURL>]>>;
165
+ variants: z.ZodArray<z.ZodObject<{
166
+ blob: z.ZodObject<{
167
+ contentHash: z.ZodString;
168
+ ipfsCid: z.ZodOptional<z.ZodString>;
169
+ }, z.core.$strip>;
170
+ tag: z.ZodOptional<z.ZodString>;
171
+ createdAt: z.ZodDefault<z.ZodISODateTime>;
172
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
173
+ }, z.core.$strip>>;
174
+ }, z.core.$strip>;
175
+ export type FigSpecMetadata = z.infer<typeof figSpecMetadataSchema>;
176
+ export declare const figStackMetadataSchema: z.ZodObject<{
177
+ title: z.ZodString;
178
+ description: z.ZodString;
179
+ icon: z.ZodOptional<z.ZodObject<{
180
+ svg: z.ZodUnion<readonly [z.ZodURL, z.ZodString]>;
181
+ emojiFallback: z.ZodOptional<z.ZodEmoji>;
182
+ aspectRatio: z.ZodOptional<z.ZodObject<{
183
+ w: z.ZodNumber;
184
+ h: z.ZodNumber;
185
+ }, z.core.$strip>>;
186
+ }, z.core.$strip>>;
187
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
188
+ author: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
189
+ type: z.ZodEnum<{
190
+ "software-author": "software-author";
191
+ "software-maintainer": "software-maintainer";
192
+ "fig-author": "fig-author";
193
+ "fig-maintainer": "fig-maintainer";
194
+ }>;
195
+ name: z.ZodString;
196
+ url: z.ZodOptional<z.ZodURL>;
197
+ }, z.core.$strip>>]>;
198
+ license: z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<"0BSD" | "3D-Slicer-1.0" | "AAL" | "Abstyles" | "AdaCore-doc" | "Adobe-2006" | "Adobe-Display-PostScript" | "Adobe-Glyph" | "Adobe-Utopia" | "ADSL" | "Advanced-Cryptics-Dictionary" | "AFL-1.1" | "AFL-1.2" | "AFL-2.0" | "AFL-2.1" | "AFL-3.0" | "Afmparse" | "AGPL-1.0" | "AGPL-1.0-only" | "AGPL-1.0-or-later" | "AGPL-3.0" | "AGPL-3.0-only" | "AGPL-3.0-or-later" | "Aladdin" | "ALGLIB-Documentation" | "AMD-newlib" | "AMDPLPA" | "AML" | "AML-glslang" | "AMPAS" | "ANTLR-PD" | "ANTLR-PD-fallback" | "any-OSI" | "any-OSI-perl-modules" | "Apache-1.0" | "Apache-1.1" | "Apache-2.0" | "APAFML" | "APL-1.0" | "App-s2p" | "APSL-1.0" | "APSL-1.1" | "APSL-1.2" | "APSL-2.0" | "Arphic-1999" | "Artistic-1.0" | "Artistic-1.0-cl8" | "Artistic-1.0-Perl" | "Artistic-2.0" | "Artistic-dist" | "Aspell-RU" | "ASWF-Digital-Assets-1.0" | "ASWF-Digital-Assets-1.1" | "Baekmuk" | "Bahyph" | "Barr" | "bcrypt-Solar-Designer" | "Beerware" | "Bitstream-Charter" | "Bitstream-Vera" | "BitTorrent-1.0" | "BitTorrent-1.1" | "blessing" | "BlueOak-1.0.0" | "Boehm-GC" | "Boehm-GC-without-fee" | "BOLA-1.1" | "Borceux" | "Brian-Gladman-2-Clause" | "Brian-Gladman-3-Clause" | "BSD-1-Clause" | "BSD-2-Clause" | "BSD-2-Clause-Darwin" | "BSD-2-Clause-first-lines" | "BSD-2-Clause-FreeBSD" | "BSD-2-Clause-NetBSD" | "BSD-2-Clause-Patent" | "BSD-2-Clause-pkgconf-disclaimer" | "BSD-2-Clause-Views" | "BSD-3-Clause" | "BSD-3-Clause-acpica" | "BSD-3-Clause-Attribution" | "BSD-3-Clause-Clear" | "BSD-3-Clause-flex" | "BSD-3-Clause-HP" | "BSD-3-Clause-LBNL" | "BSD-3-Clause-Modification" | "BSD-3-Clause-No-Military-License" | "BSD-3-Clause-No-Nuclear-License" | "BSD-3-Clause-No-Nuclear-License-2014" | "BSD-3-Clause-No-Nuclear-Warranty" | "BSD-3-Clause-Open-MPI" | "BSD-3-Clause-Sun" | "BSD-3-Clause-Tso" | "BSD-4-Clause" | "BSD-4-Clause-Shortened" | "BSD-4-Clause-UC" | "BSD-4.3RENO" | "BSD-4.3TAHOE" | "BSD-Advertising-Acknowledgement" | "BSD-Attribution-HPND-disclaimer" | "BSD-Inferno-Nettverk" | "BSD-Mark-Modifications" | "BSD-Protection" | "BSD-Source-beginning-file" | "BSD-Source-Code" | "BSD-Systemics" | "BSD-Systemics-W3Works" | "BSL-1.0" | "Buddy" | "BUSL-1.1" | "bzip2-1.0.5" | "bzip2-1.0.6" | "C-UDA-1.0" | "CAL-1.0" | "CAL-1.0-Combined-Work-Exception" | "Caldera" | "Caldera-no-preamble" | "CAPEC-tou" | "Catharon" | "CATOSL-1.1" | "CC-BY-1.0" | "CC-BY-2.0" | "CC-BY-2.5" | "CC-BY-2.5-AU" | "CC-BY-3.0" | "CC-BY-3.0-AT" | "CC-BY-3.0-AU" | "CC-BY-3.0-DE" | "CC-BY-3.0-IGO" | "CC-BY-3.0-NL" | "CC-BY-3.0-US" | "CC-BY-4.0" | "CC-BY-NC-1.0" | "CC-BY-NC-2.0" | "CC-BY-NC-2.5" | "CC-BY-NC-3.0" | "CC-BY-NC-3.0-DE" | "CC-BY-NC-4.0" | "CC-BY-NC-ND-1.0" | "CC-BY-NC-ND-2.0" | "CC-BY-NC-ND-2.5" | "CC-BY-NC-ND-3.0" | "CC-BY-NC-ND-3.0-DE" | "CC-BY-NC-ND-3.0-IGO" | "CC-BY-NC-ND-4.0" | "CC-BY-NC-SA-1.0" | "CC-BY-NC-SA-2.0" | "CC-BY-NC-SA-2.0-DE" | "CC-BY-NC-SA-2.0-FR" | "CC-BY-NC-SA-2.0-UK" | "CC-BY-NC-SA-2.5" | "CC-BY-NC-SA-3.0" | "CC-BY-NC-SA-3.0-DE" | "CC-BY-NC-SA-3.0-IGO" | "CC-BY-NC-SA-4.0" | "CC-BY-ND-1.0" | "CC-BY-ND-2.0" | "CC-BY-ND-2.5" | "CC-BY-ND-3.0" | "CC-BY-ND-3.0-DE" | "CC-BY-ND-4.0" | "CC-BY-SA-1.0" | "CC-BY-SA-2.0" | "CC-BY-SA-2.0-UK" | "CC-BY-SA-2.1-JP" | "CC-BY-SA-2.5" | "CC-BY-SA-3.0" | "CC-BY-SA-3.0-AT" | "CC-BY-SA-3.0-DE" | "CC-BY-SA-3.0-IGO" | "CC-BY-SA-4.0" | "CC-PDDC" | "CC-PDM-1.0" | "CC-SA-1.0" | "CC0-1.0" | "CDDL-1.0" | "CDDL-1.1" | "CDL-1.0" | "CDLA-Permissive-1.0" | "CDLA-Permissive-2.0" | "CDLA-Sharing-1.0" | "CECILL-1.0" | "CECILL-1.1" | "CECILL-2.0" | "CECILL-2.1" | "CECILL-B" | "CECILL-C" | "CERN-OHL-1.1" | "CERN-OHL-1.2" | "CERN-OHL-P-2.0" | "CERN-OHL-S-2.0" | "CERN-OHL-W-2.0" | "CFITSIO" | "check-cvs" | "checkmk" | "ClArtistic" | "Clips" | "CMU-Mach" | "CMU-Mach-nodoc" | "CNRI-Jython" | "CNRI-Python" | "CNRI-Python-GPL-Compatible" | "COIL-1.0" | "Community-Spec-1.0" | "Condor-1.1" | "copyleft-next-0.3.0" | "copyleft-next-0.3.1" | "Cornell-Lossless-JPEG" | "CPAL-1.0" | "CPL-1.0" | "CPOL-1.02" | "Cronyx" | "Crossword" | "CryptoSwift" | "CrystalStacker" | "CUA-OPL-1.0" | "Cube" | "curl" | "cve-tou" | "D-FSL-1.0" | "DEC-3-Clause" | "diffmark" | "DL-DE-BY-2.0" | "DL-DE-ZERO-2.0" | "DOC" | "DocBook-DTD" | "DocBook-Schema" | "DocBook-Stylesheet" | "DocBook-XML" | "Dotseqn" | "DRL-1.0" | "DRL-1.1" | "DSDP" | "dtoa" | "dvipdfm" | "ECL-1.0" | "ECL-2.0" | "eCos-2.0" | "EFL-1.0" | "EFL-2.0" | "eGenix" | "Elastic-2.0" | "Entessa" | "EPICS" | "EPL-1.0" | "EPL-2.0" | "ErlPL-1.1" | "ESA-PL-permissive-2.4" | "ESA-PL-strong-copyleft-2.4" | "ESA-PL-weak-copyleft-2.4" | "etalab-2.0" | "EUDatagrid" | "EUPL-1.0" | "EUPL-1.1" | "EUPL-1.2" | "Eurosym" | "Fair" | "FBM" | "FDK-AAC" | "Ferguson-Twofish" | "Frameworx-1.0" | "FreeBSD-DOC" | "FreeImage" | "FSFAP" | "FSFAP-no-warranty-disclaimer" | "FSFUL" | "FSFULLR" | "FSFULLRSD" | "FSFULLRWD" | "FSL-1.1-ALv2" | "FSL-1.1-MIT" | "FTL" | "Furuseth" | "fwlw" | "Game-Programming-Gems" | "GCR-docs" | "GD" | "generic-xts" | "GFDL-1.1" | "GFDL-1.1-invariants-only" | "GFDL-1.1-invariants-or-later" | "GFDL-1.1-no-invariants-only" | "GFDL-1.1-no-invariants-or-later" | "GFDL-1.1-only" | "GFDL-1.1-or-later" | "GFDL-1.2" | "GFDL-1.2-invariants-only" | "GFDL-1.2-invariants-or-later" | "GFDL-1.2-no-invariants-only" | "GFDL-1.2-no-invariants-or-later" | "GFDL-1.2-only" | "GFDL-1.2-or-later" | "GFDL-1.3" | "GFDL-1.3-invariants-only" | "GFDL-1.3-invariants-or-later" | "GFDL-1.3-no-invariants-only" | "GFDL-1.3-no-invariants-or-later" | "GFDL-1.3-only" | "GFDL-1.3-or-later" | "Giftware" | "GL2PS" | "Glide" | "Glulxe" | "GLWTPL" | "gnuplot" | "GPL-1.0" | "GPL-1.0-only" | "GPL-1.0-or-later" | "GPL-1.0+" | "GPL-2.0" | "GPL-2.0-only" | "GPL-2.0-or-later" | "GPL-2.0-with-autoconf-exception" | "GPL-2.0-with-bison-exception" | "GPL-2.0-with-classpath-exception" | "GPL-2.0-with-font-exception" | "GPL-2.0-with-GCC-exception" | "GPL-2.0+" | "GPL-3.0" | "GPL-3.0-only" | "GPL-3.0-or-later" | "GPL-3.0-with-autoconf-exception" | "GPL-3.0-with-GCC-exception" | "GPL-3.0+" | "Graphics-Gems" | "gSOAP-1.3b" | "gtkbook" | "Gutmann" | "HaskellReport" | "HDF5" | "hdparm" | "HIDAPI" | "Hippocratic-2.1" | "HP-1986" | "HP-1989" | "HPND" | "HPND-DEC" | "HPND-doc" | "HPND-doc-sell" | "HPND-export-US" | "HPND-export-US-acknowledgement" | "HPND-export-US-modify" | "HPND-export2-US" | "HPND-Fenneberg-Livingston" | "HPND-INRIA-IMAG" | "HPND-Intel" | "HPND-Kevlin-Henney" | "HPND-Markus-Kuhn" | "HPND-merchantability-variant" | "HPND-MIT-disclaimer" | "HPND-Netrek" | "HPND-Pbmplus" | "HPND-sell-MIT-disclaimer-xserver" | "HPND-sell-regexpr" | "HPND-sell-variant" | "HPND-sell-variant-critical-systems" | "HPND-sell-variant-MIT-disclaimer" | "HPND-sell-variant-MIT-disclaimer-rev" | "HPND-SMC" | "HPND-UC" | "HPND-UC-export-US" | "HTMLTIDY" | "hyphen-bulgarian" | "IBM-pibs" | "ICU" | "IEC-Code-Components-EULA" | "IJG" | "IJG-short" | "ImageMagick" | "iMatix" | "Imlib2" | "Info-ZIP" | "Inner-Net-2.0" | "InnoSetup" | "Intel" | "Intel-ACPI" | "Interbase-1.0" | "IPA" | "IPL-1.0" | "ISC" | "ISC-Veillard" | "ISO-permission" | "Jam" | "JasPer-2.0" | "jove" | "JPL-image" | "JPNIC" | "JSON" | "Kastrup" | "Kazlib" | "Knuth-CTAN" | "LAL-1.2" | "LAL-1.3" | "Latex2e" | "Latex2e-translated-notice" | "Leptonica" | "LGPL-2.0" | "LGPL-2.0-only" | "LGPL-2.0-or-later" | "LGPL-2.0+" | "LGPL-2.1" | "LGPL-2.1-only" | "LGPL-2.1-or-later" | "LGPL-2.1+" | "LGPL-3.0" | "LGPL-3.0-only" | "LGPL-3.0-or-later" | "LGPL-3.0+" | "LGPLLR" | "Libpng" | "libpng-1.6.35" | "libpng-2.0" | "libselinux-1.0" | "libtiff" | "libutil-David-Nugent" | "LiLiQ-P-1.1" | "LiLiQ-R-1.1" | "LiLiQ-Rplus-1.1" | "Linux-man-pages-1-para" | "Linux-man-pages-copyleft" | "Linux-man-pages-copyleft-2-para" | "Linux-man-pages-copyleft-var" | "Linux-OpenIB" | "LOOP" | "LPD-document" | "LPL-1.0" | "LPL-1.02" | "LPPL-1.0" | "LPPL-1.1" | "LPPL-1.2" | "LPPL-1.3a" | "LPPL-1.3c" | "lsof" | "Lucida-Bitmap-Fonts" | "LZMA-SDK-9.11-to-9.20" | "LZMA-SDK-9.22" | "Mackerras-3-Clause" | "Mackerras-3-Clause-acknowledgment" | "magaz" | "mailprio" | "MakeIndex" | "man2html" | "Martin-Birgmeier" | "McPhee-slideshow" | "metamail" | "Minpack" | "MIPS" | "MirOS" | "MIT" | "MIT-0" | "MIT-advertising" | "MIT-Click" | "MIT-CMU" | "MIT-enna" | "MIT-feh" | "MIT-Festival" | "MIT-Khronos-old" | "MIT-Modern-Variant" | "MIT-open-group" | "MIT-STK" | "MIT-testregex" | "MIT-Wu" | "MITNFA" | "MMIXware" | "MMPL-1.0.1" | "Motosoto" | "MPEG-SSG" | "mpi-permissive" | "mpich2" | "MPL-1.0" | "MPL-1.1" | "MPL-2.0" | "MPL-2.0-no-copyleft-exception" | "mplus" | "MS-LPL" | "MS-PL" | "MS-RL" | "MTLL" | "MulanPSL-1.0" | "MulanPSL-2.0" | "Multics" | "Mup" | "NAIST-2003" | "NASA-1.3" | "Naumen" | "NBPL-1.0" | "NCBI-PD" | "NCGL-UK-2.0" | "NCL" | "NCSA" | "Net-SNMP" | "NetCDF" | "Newsletr" | "NGPL" | "ngrep" | "NICTA-1.0" | "NIST-PD" | "NIST-PD-fallback" | "NIST-PD-TNT" | "NIST-Software" | "NLOD-1.0" | "NLOD-2.0" | "NLPL" | "Nokia" | "NOSL" | "Noweb" | "NPL-1.0" | "NPL-1.1" | "NPOSL-3.0" | "NRL" | "NTIA-PD" | "NTP" | "NTP-0" | "Nunit" | "O-UDA-1.0" | "OAR" | "OCCT-PL" | "OCLC-2.0" | "ODbL-1.0" | "ODC-By-1.0" | "OFFIS" | "OFL-1.0" | "OFL-1.0-no-RFN" | "OFL-1.0-RFN" | "OFL-1.1" | "OFL-1.1-no-RFN" | "OFL-1.1-RFN" | "OGC-1.0" | "OGDL-Taiwan-1.0" | "OGL-Canada-2.0" | "OGL-UK-1.0" | "OGL-UK-2.0" | "OGL-UK-3.0" | "OGTSL" | "OLDAP-1.1" | "OLDAP-1.2" | "OLDAP-1.3" | "OLDAP-1.4" | "OLDAP-2.0" | "OLDAP-2.0.1" | "OLDAP-2.1" | "OLDAP-2.2" | "OLDAP-2.2.1" | "OLDAP-2.2.2" | "OLDAP-2.3" | "OLDAP-2.4" | "OLDAP-2.5" | "OLDAP-2.6" | "OLDAP-2.7" | "OLDAP-2.8" | "OLFL-1.3" | "OML" | "OpenMDW-1.0" | "OpenPBS-2.3" | "OpenSSL" | "OpenSSL-standalone" | "OpenVision" | "OPL-1.0" | "OPL-UK-3.0" | "OPUBL-1.0" | "OSC-1.0" | "OSET-PL-2.1" | "OSL-1.0" | "OSL-1.1" | "OSL-2.0" | "OSL-2.1" | "OSL-3.0" | "OSSP" | "PADL" | "ParaType-Free-Font-1.3" | "Parity-6.0.0" | "Parity-7.0.0" | "PDDL-1.0" | "PHP-3.0" | "PHP-3.01" | "Pixar" | "pkgconf" | "Plexus" | "pnmstitch" | "PolyForm-Noncommercial-1.0.0" | "PolyForm-Small-Business-1.0.0" | "PostgreSQL" | "PPL" | "PSF-2.0" | "psfrag" | "psutils" | "Python-2.0" | "Python-2.0.1" | "python-ldap" | "Qhull" | "QPL-1.0" | "QPL-1.0-INRIA-2004" | "radvd" | "Rdisc" | "RHeCos-1.1" | "RPL-1.1" | "RPL-1.5" | "RPSL-1.0" | "RSA-MD" | "RSCPL" | "Ruby" | "Ruby-pty" | "SAX-PD" | "SAX-PD-2.0" | "Saxpath" | "SCEA" | "SchemeReport" | "Sendmail" | "Sendmail-8.23" | "Sendmail-Open-Source-1.1" | "SGI-B-1.0" | "SGI-B-1.1" | "SGI-B-2.0" | "SGI-OpenGL" | "SGMLUG-PM" | "SGP4" | "SHL-0.5" | "SHL-0.51" | "SimPL-2.0" | "SISSL" | "SISSL-1.2" | "SL" | "Sleepycat" | "SMAIL-GPL" | "SMLNJ" | "SMPPL" | "SNIA" | "snprintf" | "SOFA" | "softSurfer" | "Soundex" | "Spencer-86" | "Spencer-94" | "Spencer-99" | "SPL-1.0" | "ssh-keyscan" | "SSH-OpenSSH" | "SSH-short" | "SSLeay-standalone" | "SSPL-1.0" | "StandardML-NJ" | "SugarCRM-1.1.3" | "SUL-1.0" | "Sun-PPP" | "Sun-PPP-2000" | "SunPro" | "SWL" | "swrule" | "Symlinks" | "TAPR-OHL-1.0" | "TCL" | "TCP-wrappers" | "TekHVC" | "TermReadKey" | "TGPPL-1.0" | "ThirdEye" | "threeparttable" | "TMate" | "TORQUE-1.1" | "TOSL" | "TPDL" | "TPL-1.0" | "TrustedQSL" | "TTWL" | "TTYP0" | "TU-Berlin-1.0" | "TU-Berlin-2.0" | "Ubuntu-font-1.0" | "UCAR" | "UCL-1.0" | "ulem" | "UMich-Merit" | "Unicode-3.0" | "Unicode-DFS-2015" | "Unicode-DFS-2016" | "Unicode-TOU" | "UnixCrypt" | "Unlicense" | "Unlicense-libtelnet" | "Unlicense-libwhirlpool" | "UnRAR" | "UPL-1.0" | "URT-RLE" | "Vim" | "Vixie-Cron" | "VOSTROM" | "VSL-1.0" | "W3C" | "W3C-19980720" | "W3C-20150513" | "w3m" | "Watcom-1.0" | "Widget-Workshop" | "WordNet" | "Wsuipa" | "WTFNMFPL" | "WTFPL" | "wwl" | "wxWindows" | "X11" | "X11-distribute-modifications-variant" | "X11-no-permit-persons" | "X11-swapped" | "Xdebug-1.03" | "Xerox" | "Xfig" | "XFree86-1.1" | "xinetd" | "xkeyboard-config-Zinoviev" | "xlock" | "Xnet" | "xpp" | "XSkat" | "xzoom" | "YPL-1.0" | "YPL-1.1" | "Zed" | "Zeeff" | "Zend-2.0" | "Zimbra-1.3" | "Zimbra-1.4" | "Zlib" | "zlib-acknowledgement" | "ZPL-1.1" | "ZPL-2.0" | "ZPL-2.1", string>>, z.ZodObject<{
199
+ name: z.ZodString;
200
+ url: z.ZodOptional<z.ZodURL>;
201
+ }, z.core.$strip>]>;
202
+ softwareSource: z.ZodOptional<z.ZodUnion<readonly [z.ZodURL, z.ZodArray<z.ZodURL>]>>;
203
+ variants: z.ZodArray<z.ZodObject<{
204
+ blob: z.ZodObject<{
205
+ contentHash: z.ZodString;
206
+ ipfsCid: z.ZodOptional<z.ZodString>;
207
+ }, z.core.$strip>;
208
+ tag: z.ZodOptional<z.ZodString>;
209
+ createdAt: z.ZodDefault<z.ZodISODateTime>;
210
+ updatedAt: z.ZodDefault<z.ZodISODateTime>;
211
+ }, z.core.$strip>>;
212
+ }, z.core.$strip>;
213
+ export type FigStackMetadata = z.infer<typeof figStackMetadataSchema>;
214
+ export type EntityType = "spec" | "stack" | "parser";
215
+ export type FigEntityMetadata<Type extends EntityType> = Type extends "spec" ? FigSpecMetadata : Type extends "stack" ? FigStackMetadata : Type extends "parser" ? FigParserMetadata : null;
216
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/registry/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,CAA6B,MAAM,KAAK,CAAC;AAUhD,eAAO,MAAM,kCAAkC;;;;;;;;;iBAe7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;iBAWL,CAAC;AAChC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,4BAA4B;;;;;;kBAKG,CAAC;AAC7C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAIF,eAAO,MAAM,wBAAwB;;;;;;;;;kBAeG,CAAC;AACzC,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoDL,CAAC;AAIpC,eAAO,MAAM,UAAU;;;iBAGL,CAAC;AAEnB,eAAO,MAAM,aAAa;;;;;;;;iBAKL,CAAC;AAEtB,eAAO,MAAM,mBAAmB;;;;;;;;;iBAIL,CAAC;AAY5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEL,CAAC;AAChC,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEL,CAAC;AAC9B,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEL,CAAC;AAC/B,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACrD,MAAM,MAAM,iBAAiB,CAAC,IAAI,SAAS,UAAU,IAAI,IAAI,SAAS,MAAM,GACxE,eAAe,GACf,IAAI,SAAS,OAAO,GAClB,gBAAgB,GAChB,IAAI,SAAS,QAAQ,GACnB,iBAAiB,GACjB,IAAI,CAAC"}
@@ -0,0 +1,143 @@
1
+ import z from "zod";
2
+ import { extendZodWithOpenApi } from "@asteasolutions/zod-to-openapi";
3
+ import { parseLicenseId } from "zod-spdx";
4
+ extendZodWithOpenApi(z);
5
+ const ipfsSchema = z.string().startsWith("ipfs:");
6
+ const urlLike = z.union([z.url(), ipfsSchema]);
7
+ export const namespaceMetadataEditorEntrySchema = z.object({
8
+ username: z.string(),
9
+ // Cannot exceed namespace push limit -- use this for more granular control, otherwise first-in-first-served
10
+ pushLimit: z
11
+ .discriminatedUnion("unit", [
12
+ z.object({
13
+ unit: z.literal("daily"),
14
+ value: z.int(),
15
+ }),
16
+ z.object({
17
+ unit: z.literal("weekly"),
18
+ value: z.int(),
19
+ }),
20
+ ])
21
+ .optional(),
22
+ });
23
+ export const namespaceMetadataSchema = z
24
+ .object({
25
+ owner: z.object({
26
+ username: z.string(),
27
+ }),
28
+ editors: namespaceMetadataEditorEntrySchema.array().min(1).max(5),
29
+ })
30
+ .refine((data) => data.editors.some((e) => e.username === data.owner.username), { message: "editors must include the owner", path: ["editors"] })
31
+ .openapi("NamespaceMetadata");
32
+ export const namespaceVerificationsSchema = z
33
+ .object({
34
+ namespace: z.string(),
35
+ verification: z.enum(["figulus-official", "software-official"]),
36
+ })
37
+ .array().openapi("NamespaceVerifications");
38
+ // If not included in this list, namespace is limited to default push limit from settings
39
+ // Automated systems shouldn't modify this file -- it must be manually edited by repo owner under special circumstances
40
+ export const pushLimitOverridesSchema = z
41
+ .object({
42
+ namespace: z.string(),
43
+ // Allows for soft-banning/suspension/archival, or increased limits for special accounts
44
+ pushLimit: z.discriminatedUnion("unit", [
45
+ z.object({
46
+ unit: z.literal("daily"),
47
+ value: z.int(),
48
+ }),
49
+ z.object({
50
+ unit: z.literal("weekly"),
51
+ value: z.int(),
52
+ }),
53
+ ]),
54
+ })
55
+ .array().openapi("PushLimitOverrides");
56
+ export const figEntityMetadataBaseSchema = z.object({
57
+ title: z.string(),
58
+ description: z.string(),
59
+ icon: z
60
+ .object({
61
+ svg: urlLike,
62
+ emojiFallback: z.emoji().optional(),
63
+ aspectRatio: z
64
+ .object({
65
+ w: z.number(),
66
+ h: z.number(),
67
+ })
68
+ .optional(),
69
+ })
70
+ .optional(),
71
+ tags: z.array(z.string()).optional(),
72
+ author: z.union([
73
+ z.string(),
74
+ z.string().array(),
75
+ z
76
+ .object({
77
+ type: z.enum([
78
+ "software-author",
79
+ "software-maintainer",
80
+ "fig-author",
81
+ "fig-maintainer",
82
+ ]),
83
+ name: z.string(),
84
+ url: z.url().optional(),
85
+ })
86
+ .array(),
87
+ ]),
88
+ license: z.union([
89
+ z.string().transform((s, ctx) => {
90
+ const result = parseLicenseId(s, { caseSensitive: false });
91
+ if (!result.success) {
92
+ ctx.addIssue({
93
+ code: "custom",
94
+ message: `Invalid SPDX license ID: ${s}`,
95
+ });
96
+ return z.NEVER;
97
+ }
98
+ return result.data;
99
+ }),
100
+ z.object({
101
+ name: z.string(),
102
+ url: z.url().optional(),
103
+ }),
104
+ ]),
105
+ softwareSource: z
106
+ .union([z.url(), z.url().array()])
107
+ .optional(),
108
+ }).openapi("FigEntityMetadataBase");
109
+ const hexSchema = z.string().regex(/[0-9A-Fa-f]+/);
110
+ export const blobSchema = z.object({
111
+ contentHash: hexSchema,
112
+ ipfsCid: z.string().optional(),
113
+ }).openapi("Blob");
114
+ export const variantSchema = z.object({
115
+ blob: blobSchema,
116
+ tag: z.string().optional(),
117
+ createdAt: z.iso.datetime().default(new Date().toISOString()),
118
+ updatedAt: z.iso.datetime().default(new Date().toISOString()),
119
+ }).openapi("Variant");
120
+ export const parserVariantSchema = variantSchema.extend({
121
+ // Represents the parsed JSON schema — allows any object structure since JsonSchemaSchema is
122
+ // recursively self-referential and cannot be fully represented in OpenAPI
123
+ parsedShape: z.union([z.record(z.string(), z.any()), z.boolean()]).optional(),
124
+ }).openapi("ParserVariant");
125
+ // Ensure all tags are unique
126
+ function uniqueArray(schema) {
127
+ return schema.array().refine((items) => {
128
+ const tags = items
129
+ .map((item) => item.tag)
130
+ .filter((item) => item !== undefined);
131
+ return new Set(tags).size === tags.length;
132
+ });
133
+ }
134
+ export const figParserMetadataSchema = figEntityMetadataBaseSchema.extend({
135
+ variants: uniqueArray(parserVariantSchema),
136
+ }).openapi("FigParserMetadata");
137
+ export const figSpecMetadataSchema = figEntityMetadataBaseSchema.extend({
138
+ variants: uniqueArray(variantSchema),
139
+ }).openapi("FigSpecMetadata");
140
+ export const figStackMetadataSchema = figEntityMetadataBaseSchema.extend({
141
+ variants: uniqueArray(variantSchema),
142
+ }).openapi("FigStackMetadata");
143
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/registry/metadata.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,21 +1,29 @@
1
1
  {
2
2
  "name": "@figulus/schema",
3
- "version": "0.4.0-alpha-dev",
3
+ "version": "0.5.0-alpha-dev-2",
4
4
  "description": "Zod schemas for the Figulus engine API",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
7
7
  "exports": {
8
- ".": "./src/index.ts"
8
+ ".": "./src/index.ts",
9
+ "./registry": "./src/registry/index.ts"
9
10
  },
11
+ "sideEffects": false,
10
12
  "scripts": {
11
13
  "build": "tsc --project tsconfig.build.json",
12
14
  "test": "vitest",
13
- "typecheck": "tsc --noEmit"
15
+ "typecheck": "tsc --noEmit",
16
+ "generate:openapi-core": "npx tsx scripts/generate-openapi-meta.ts --openApiFileId=core && npx tsx scripts/generate-openapi-data.ts && npx tsx scripts/fix-openapi-3.1.ts ../../api/openapi-new.yaml",
17
+ "generate:openapi-registry": "npx tsx scripts/generate-openapi-meta.ts --openApiFileId=registry && npx tsx scripts/generate-openapi-data.ts && npx tsx scripts/fix-openapi-3.1.ts ../../api/openapi-registry.yaml"
14
18
  },
15
19
  "dependencies": {
16
- "zod": "^3.24.1"
20
+ "zod": "^4.3.6",
21
+ "zod-spdx": "^1.0.0"
17
22
  },
18
23
  "devDependencies": {
24
+ "@asteasolutions/zod-to-openapi": "^8.5.0",
25
+ "@types/node": "^25.5.2",
26
+ "node": "^25.9.0",
19
27
  "typescript": "^5.7.2",
20
28
  "vitest": "^3.0.2"
21
29
  }