@segha/catalog 2.2.0 → 3.0.0

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 (202) hide show
  1. package/CHANGELOG.md +168 -0
  2. package/es/Article/index.ts +17 -26
  3. package/es/Article/types.ts +1 -4
  4. package/es/Book/index.ts +21 -28
  5. package/es/Book/types.ts +1 -4
  6. package/es/Clothing/index.ts +29 -15
  7. package/es/Clothing/types.ts +1 -3
  8. package/es/Core/Area.ts +66 -0
  9. package/es/Core/Common.ts +43 -0
  10. package/es/Core/Format.ts +28 -0
  11. package/es/Core/Rating.ts +33 -0
  12. package/es/Core/Resource.ts +18 -0
  13. package/es/Core/Source.ts +37 -0
  14. package/es/Core/Subtype.ts +8 -0
  15. package/es/Core/Type.ts +36 -0
  16. package/es/Core/index.ts +9 -0
  17. package/es/DataTypes/Color.ts +22 -0
  18. package/es/DataTypes/Date.ts +45 -0
  19. package/es/DataTypes/Icon.ts +7 -0
  20. package/es/DataTypes/Image.ts +9 -0
  21. package/es/DataTypes/Language.ts +11 -0
  22. package/es/DataTypes/Status.ts +8 -0
  23. package/es/DataTypes/Wikilink.ts +16 -0
  24. package/es/DataTypes/index.ts +7 -0
  25. package/es/EncyclopediaEntry/index.ts +30 -0
  26. package/es/EncyclopediaEntry/types.ts +8 -0
  27. package/es/Movie/MovieExternalId.ts +7 -0
  28. package/es/Movie/index.ts +22 -27
  29. package/es/Movie/types.ts +1 -4
  30. package/es/Note.ts +4 -4
  31. package/es/Painting/index.ts +16 -23
  32. package/es/Painting/types.ts +1 -4
  33. package/es/Video/index.ts +35 -0
  34. package/es/Video/types.ts +9 -0
  35. package/es/index.ts +2 -2
  36. package/es/types.ts +2 -2
  37. package/json-schemas/common/Palette.json +14 -0
  38. package/json-schemas/common/Scheme.json +11 -0
  39. package/json-schemas/common/index.json +32 -0
  40. package/json-schemas/es/Article/ArticleSchema.json +184 -78
  41. package/json-schemas/es/Article/index.json +143 -193
  42. package/json-schemas/es/ArticleSchema.json +184 -78
  43. package/json-schemas/es/Book/BookSchema.json +227 -84
  44. package/json-schemas/es/Book/index.json +197 -213
  45. package/json-schemas/es/BookSchema.json +227 -84
  46. package/json-schemas/es/CatalogClothingSchema.json +1 -0
  47. package/json-schemas/es/Clothing/CatalogClothingSchema.json +1 -0
  48. package/json-schemas/es/Clothing/ClothingSchema.json +173 -64
  49. package/json-schemas/es/Clothing/index.json +174 -197
  50. package/json-schemas/es/ClothingSchema.json +173 -64
  51. package/json-schemas/es/Core/Articles.json +6 -0
  52. package/json-schemas/es/Core/Atrocious.json +6 -0
  53. package/json-schemas/es/Core/Bad.json +6 -0
  54. package/json-schemas/es/Core/Books.json +6 -0
  55. package/json-schemas/es/Core/Capabilities.json +6 -0
  56. package/json-schemas/es/Core/Chronicles.json +6 -0
  57. package/json-schemas/es/Core/Clothes.json +6 -0
  58. package/json-schemas/es/Core/CommonSchema.json +165 -0
  59. package/json-schemas/es/Core/Creativity.json +6 -0
  60. package/json-schemas/es/Core/EncyclopediaEntries.json +6 -0
  61. package/json-schemas/es/Core/Energy.json +6 -0
  62. package/json-schemas/es/Core/Entities.json +6 -0
  63. package/json-schemas/es/Core/Evil.json +6 -0
  64. package/json-schemas/es/Core/Excellent.json +6 -0
  65. package/json-schemas/es/Core/Exercise.json +6 -0
  66. package/json-schemas/es/Core/Exploration.json +6 -0
  67. package/json-schemas/es/Core/Extracts.json +6 -0
  68. package/json-schemas/es/Core/Finances.json +6 -0
  69. package/json-schemas/es/Core/Food.json +6 -0
  70. package/json-schemas/es/Core/Format.json +13 -0
  71. package/json-schemas/es/Core/Good.json +6 -0
  72. package/json-schemas/es/Core/Health.json +6 -0
  73. package/json-schemas/es/Core/Home.json +6 -0
  74. package/json-schemas/es/Core/Knowledge.json +6 -0
  75. package/json-schemas/es/Core/Links.json +6 -0
  76. package/json-schemas/es/Core/MentalHealth.json +6 -0
  77. package/json-schemas/es/Core/Movies.json +6 -0
  78. package/json-schemas/es/Core/Paintings.json +6 -0
  79. package/json-schemas/es/Core/Passable.json +6 -0
  80. package/json-schemas/es/Core/Perfect.json +6 -0
  81. package/json-schemas/es/Core/Productivity.json +6 -0
  82. package/json-schemas/es/Core/Publications.json +6 -0
  83. package/json-schemas/es/Core/Rating.json +41 -0
  84. package/json-schemas/es/Core/ResourceSchema.json +171 -0
  85. package/json-schemas/es/Core/Resources.json +6 -0
  86. package/json-schemas/es/Core/ResourcesSubtype.json +11 -0
  87. package/json-schemas/es/Core/Scenarios.json +6 -0
  88. package/json-schemas/es/Core/SourceSchema.json +209 -0
  89. package/json-schemas/es/Core/Sources.json +6 -0
  90. package/json-schemas/es/Core/SourcesFormat.json +16 -0
  91. package/json-schemas/es/Core/StructuredThinking.json +6 -0
  92. package/json-schemas/es/Core/Subtype.json +8 -0
  93. package/json-schemas/es/Core/Type.json +15 -0
  94. package/json-schemas/es/Core/Videos.json +6 -0
  95. package/json-schemas/es/Core/Work.json +6 -0
  96. package/json-schemas/es/Core/index.json +939 -0
  97. package/json-schemas/es/DataTypes/Blue.json +6 -0
  98. package/json-schemas/es/DataTypes/Color.json +6 -0
  99. package/json-schemas/es/DataTypes/Consolidated.json +5 -0
  100. package/json-schemas/es/DataTypes/Date.json +21 -0
  101. package/json-schemas/es/DataTypes/DateTime.json +6 -0
  102. package/json-schemas/es/DataTypes/DateTimeOffset.json +6 -0
  103. package/json-schemas/es/DataTypes/Embedding.json +6 -0
  104. package/json-schemas/es/DataTypes/FullDate.json +6 -0
  105. package/json-schemas/es/DataTypes/Hex.json +6 -0
  106. package/json-schemas/es/DataTypes/Icon.json +6 -0
  107. package/json-schemas/es/DataTypes/Image.json +15 -0
  108. package/json-schemas/es/DataTypes/InProgress.json +5 -0
  109. package/json-schemas/es/DataTypes/Language.json +6 -0
  110. package/json-schemas/es/DataTypes/LanguageTag.json +6 -0
  111. package/json-schemas/es/DataTypes/Month.json +6 -0
  112. package/json-schemas/es/DataTypes/Orange.json +6 -0
  113. package/json-schemas/es/DataTypes/OrdinalDate.json +6 -0
  114. package/json-schemas/es/DataTypes/Pending.json +5 -0
  115. package/json-schemas/es/DataTypes/Read.json +5 -0
  116. package/json-schemas/es/DataTypes/Seen.json +5 -0
  117. package/json-schemas/es/DataTypes/Time.json +6 -0
  118. package/json-schemas/es/DataTypes/Watched.json +5 -0
  119. package/json-schemas/es/DataTypes/Week.json +6 -0
  120. package/json-schemas/es/DataTypes/WeekWithWeekDay.json +6 -0
  121. package/json-schemas/es/DataTypes/Wikilink.json +6 -0
  122. package/json-schemas/es/DataTypes/WikilinkOrEmbedding.json +6 -0
  123. package/json-schemas/es/DataTypes/Year.json +6 -0
  124. package/json-schemas/es/DataTypes/Yellow.json +6 -0
  125. package/json-schemas/es/DataTypes/index.json +193 -0
  126. package/json-schemas/es/EncyclopediaEntry/EncyclopediaEntrySchema.json +252 -0
  127. package/json-schemas/es/EncyclopediaEntry/WikipediaEntrySchema.json +257 -0
  128. package/json-schemas/es/EncyclopediaEntry/index.json +516 -0
  129. package/json-schemas/es/EncyclopediaEntrySchema.json +252 -0
  130. package/json-schemas/es/Movie/MovieExternalId.json +5 -0
  131. package/json-schemas/es/Movie/MovieSchema.json +224 -93
  132. package/json-schemas/es/Movie/index.json +193 -225
  133. package/json-schemas/es/MovieSchema.json +224 -93
  134. package/json-schemas/es/NoteSchema.json +1301 -489
  135. package/json-schemas/es/Painting/PaintingSchema.json +182 -56
  136. package/json-schemas/es/Painting/index.json +160 -154
  137. package/json-schemas/es/PaintingSchema.json +182 -56
  138. package/json-schemas/es/Video/VideoSchema.json +230 -0
  139. package/json-schemas/es/Video/VimeoSchema.json +221 -0
  140. package/json-schemas/es/Video/YoutubeSchema.json +221 -0
  141. package/json-schemas/es/Video/index.json +679 -0
  142. package/json-schemas/es/VideoSchema.json +230 -0
  143. package/json-schemas/es/VimeoSchema.json +221 -0
  144. package/json-schemas/es/WikipediaEntrySchema.json +257 -0
  145. package/json-schemas/es/YoutubeSchema.json +158 -79
  146. package/json-schemas/es/index.json +3020 -3495
  147. package/package.json +8 -2
  148. package/es/Areas.ts +0 -24
  149. package/es/Icon.ts +0 -1673
  150. package/es/Wikipedia/index.ts +0 -18
  151. package/es/Wikipedia/types.ts +0 -10
  152. package/es/Youtube/index.ts +0 -19
  153. package/es/Youtube/types.ts +0 -10
  154. package/json-schemas/es/Article/CatalogArticleSchema.json +0 -47
  155. package/json-schemas/es/Article/DetailedArticleSchema.json +0 -38
  156. package/json-schemas/es/Article/MetaArticleSchema.json +0 -71
  157. package/json-schemas/es/Book/CatalogBookSchema.json +0 -48
  158. package/json-schemas/es/Book/DetailedBookSchema.json +0 -43
  159. package/json-schemas/es/Book/MetaBookSchema.json +0 -68
  160. package/json-schemas/es/CatalogArticleSchema.json +0 -47
  161. package/json-schemas/es/CatalogBookSchema.json +0 -48
  162. package/json-schemas/es/CatalogMovieSchema.json +0 -50
  163. package/json-schemas/es/CatalogPaintingSchema.json +0 -26
  164. package/json-schemas/es/CatalogWikipediaSchema.json +0 -47
  165. package/json-schemas/es/CatalogYoutubeSchema.json +0 -47
  166. package/json-schemas/es/Clothing/DetailedClothingSchema.json +0 -73
  167. package/json-schemas/es/Clothing/MetaClothingSchema.json +0 -60
  168. package/json-schemas/es/DetailedArticleSchema.json +0 -38
  169. package/json-schemas/es/DetailedBookSchema.json +0 -43
  170. package/json-schemas/es/DetailedClothingSchema.json +0 -73
  171. package/json-schemas/es/DetailedMovieSchema.json +0 -49
  172. package/json-schemas/es/DetailedPaintingSchema.json +0 -33
  173. package/json-schemas/es/DetailedWikipediaSchema.json +0 -38
  174. package/json-schemas/es/DetailedYoutubeSchema.json +0 -37
  175. package/json-schemas/es/Icon.json +0 -1675
  176. package/json-schemas/es/MetaArticleSchema.json +0 -71
  177. package/json-schemas/es/MetaBookSchema.json +0 -68
  178. package/json-schemas/es/MetaClothingSchema.json +0 -60
  179. package/json-schemas/es/MetaMovieSchema.json +0 -69
  180. package/json-schemas/es/MetaPaintingSchema.json +0 -61
  181. package/json-schemas/es/MetaWikipediaSchema.json +0 -76
  182. package/json-schemas/es/MetaYoutubeSchema.json +0 -76
  183. package/json-schemas/es/Movie/CatalogMovieSchema.json +0 -50
  184. package/json-schemas/es/Movie/DetailedMovieSchema.json +0 -49
  185. package/json-schemas/es/Movie/MetaMovieSchema.json +0 -69
  186. package/json-schemas/es/Painting/CatalogPaintingSchema.json +0 -26
  187. package/json-schemas/es/Painting/DetailedPaintingSchema.json +0 -33
  188. package/json-schemas/es/Painting/MetaPaintingSchema.json +0 -61
  189. package/json-schemas/es/Wikipedia/CatalogWikipediaSchema.json +0 -47
  190. package/json-schemas/es/Wikipedia/DetailedWikipediaSchema.json +0 -38
  191. package/json-schemas/es/Wikipedia/MetaWikipediaSchema.json +0 -76
  192. package/json-schemas/es/Wikipedia/WikipediaSchema.json +0 -143
  193. package/json-schemas/es/Wikipedia/index.json +0 -311
  194. package/json-schemas/es/WikipediaSchema.json +0 -143
  195. package/json-schemas/es/Youtube/CatalogYoutubeSchema.json +0 -47
  196. package/json-schemas/es/Youtube/DetailedYoutubeSchema.json +0 -37
  197. package/json-schemas/es/Youtube/MetaYoutubeSchema.json +0 -76
  198. package/json-schemas/es/Youtube/YoutubeSchema.json +0 -142
  199. package/json-schemas/es/Youtube/index.json +0 -309
  200. /package/json-schemas/es/{Area.json → Core/Area.json} +0 -0
  201. /package/json-schemas/es/{Areas.json → Core/Areas.json} +0 -0
  202. /package/json-schemas/es/{FirstLevelArea.json → Core/FirstLevelArea.json} +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,174 @@ All notable changes to @segha/catalog will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.0.0] - 2026-02-08
9
+
10
+ ### COMMON (common)
11
+
12
+ #### Added
13
+
14
+ - Schema `Palette` was added
15
+ - Schema `Scheme` was added
16
+
17
+ ### Spanish (es)
18
+
19
+ #### Added
20
+
21
+ - Schema `EncyclopediaEntrySchema` was added
22
+ - Schema `VideoSchema` was added
23
+ - Schema `VimeoSchema` was added
24
+ - Schema `WikipediaEntrySchema` was added
25
+ - Optional property `cover` was added to `ArticleSchema`
26
+ - Optional property `aliases` was added to `ArticleSchema`
27
+ - **BREAKING** Property `type` in `ArticleSchema` changed from required to optional
28
+ - **BREAKING** Property `status` in `ArticleSchema` changed from required to optional
29
+ - **BREAKING** Property `format` in `ArticleSchema` changed from required to optional
30
+ - Optional property `banner` was added to `BookSchema`
31
+ - Optional property `projects` was added to `BookSchema`
32
+ - Optional property `aliases` was added to `BookSchema`
33
+ - **BREAKING** Property `type` in `BookSchema` changed from required to optional
34
+ - **BREAKING** Property `status` in `BookSchema` changed from required to optional
35
+ - **BREAKING** Property `format` in `BookSchema` changed from required to optional
36
+ - **BREAKING** Property `author` in `BookSchema` changed from required to optional
37
+ - Optional property `banner` was added to `ClothingSchema`
38
+ - Optional property `projects` was added to `ClothingSchema`
39
+ - **BREAKING** Required property `topics` was added to `ClothingSchema`
40
+ - Optional property `rating` was added to `ClothingSchema`
41
+ - Optional property `aliases` was added to `ClothingSchema`
42
+ - **BREAKING** Property `type` in `ClothingSchema` changed from required to optional
43
+ - **BREAKING** Property `subtype` in `ClothingSchema` changed from required to optional
44
+ - Optional property `banner` was added to `MovieSchema`
45
+ - Optional property `projects` was added to `MovieSchema`
46
+ - Optional property `aliases` was added to `MovieSchema`
47
+ - Optional property `external_ids` was added to `MovieSchema`
48
+ - **BREAKING** Property `type` in `MovieSchema` changed from required to optional
49
+ - **BREAKING** Property `status` in `MovieSchema` changed from required to optional
50
+ - **BREAKING** Property `format` in `MovieSchema` changed from required to optional
51
+ - Optional property `banner` was added to `PaintingSchema`
52
+ - Optional property `status` was added to `PaintingSchema`
53
+ - Optional property `aliases` was added to `PaintingSchema`
54
+ - Optional property `url` was added to `PaintingSchema`
55
+ - **BREAKING** Property `type` in `PaintingSchema` changed from required to optional
56
+ - **BREAKING** Property `cover` in `PaintingSchema` changed from required to optional
57
+ - **BREAKING** Property `format` in `PaintingSchema` changed from required to optional
58
+ - Optional property `cover` was added to `YoutubeSchema`
59
+ - Optional property `aliases` was added to `YoutubeSchema`
60
+ - **BREAKING** Property `type` in `YoutubeSchema` changed from required to optional
61
+ - **BREAKING** Property `status` in `YoutubeSchema` changed from required to optional
62
+ - **BREAKING** Property `format` in `YoutubeSchema` changed from required to optional
63
+
64
+ #### Changed
65
+
66
+ - **BREAKING** Property `status` in `ArticleSchema` type changed from `string` to `undefined`
67
+ - **BREAKING** Property `rating` in `ArticleSchema` type changed from `number` to `undefined`
68
+ - **BREAKING** Property `cover` in `BookSchema` type changed from `string` to `undefined`
69
+ - **BREAKING** Property `status` in `BookSchema` type changed from `string` to `undefined`
70
+ - **BREAKING** Property `rating` in `BookSchema` type changed from `number` to `undefined`
71
+ - **BREAKING** Property `description` in `BookSchema` type changed from `string` to `undefined`
72
+ - **BREAKING** Property `last_time_read` in `BookSchema` type changed from `string` to `undefined`
73
+ - **BREAKING** Property `cover` in `ClothingSchema` type changed from `string` to `undefined`
74
+ - **BREAKING** Property `cover` in `MovieSchema` type changed from `string` to `undefined`
75
+ - **BREAKING** Property `topics` in `MovieSchema` type changed from `undefined` to `array`
76
+ - **BREAKING** Property `status` in `MovieSchema` type changed from `string` to `undefined`
77
+ - **BREAKING** Property `rating` in `MovieSchema` type changed from `number` to `undefined`
78
+ - **BREAKING** Property `last_time_watched` in `MovieSchema` type changed from `string` to `undefined`
79
+ - **BREAKING** Property `cover` in `PaintingSchema` type changed from `string` to `undefined`
80
+ - **BREAKING** Property `rating` in `PaintingSchema` type changed from `number` to `undefined`
81
+ - **BREAKING** Property `published` in `PaintingSchema` type changed from `string` to `undefined`
82
+ - **BREAKING** Property `status` in `YoutubeSchema` type changed from `string` to `undefined`
83
+ - **BREAKING** Property `rating` in `YoutubeSchema` type changed from `number` to `undefined`
84
+ - Property `type` in `ArticleSchema` was modified
85
+ - Property `color` in `ArticleSchema` was modified
86
+ - Property `icon` in `ArticleSchema` was modified
87
+ - Property `banner` in `ArticleSchema` was modified
88
+ - Property `projects` in `ArticleSchema` was modified
89
+ - Property `topics` in `ArticleSchema` was modified
90
+ - Property `format` in `ArticleSchema` was modified
91
+ - Property `url` in `ArticleSchema` was modified
92
+ - Property `author` in `ArticleSchema` was modified
93
+ - Property `published` in `ArticleSchema` was modified
94
+ - Property `type` in `BookSchema` was modified
95
+ - Property `color` in `BookSchema` was modified
96
+ - Property `icon` in `BookSchema` was modified
97
+ - Property `topics` in `BookSchema` was modified
98
+ - Property `format` in `BookSchema` was modified
99
+ - Property `url` in `BookSchema` was modified
100
+ - Property `author` in `BookSchema` was modified
101
+ - Property `published` in `BookSchema` was modified
102
+ - Property `read_url` in `BookSchema` was modified
103
+ - Property `times_read` in `BookSchema` was modified
104
+ - Property `type` in `ClothingSchema` was modified
105
+ - Property `color` in `ClothingSchema` was modified
106
+ - Property `icon` in `ClothingSchema` was modified
107
+ - Property `subtype` in `ClothingSchema` was modified
108
+ - Property `type` in `MovieSchema` was modified
109
+ - Property `color` in `MovieSchema` was modified
110
+ - Property `icon` in `MovieSchema` was modified
111
+ - Property `format` in `MovieSchema` was modified
112
+ - Property `url` in `MovieSchema` was modified
113
+ - Property `author` in `MovieSchema` was modified
114
+ - Property `published` in `MovieSchema` was modified
115
+ - Property `watch_url` in `MovieSchema` was modified
116
+ - Property `times_watched` in `MovieSchema` was modified
117
+ - Property `type` in `PaintingSchema` was modified
118
+ - Property `color` in `PaintingSchema` was modified
119
+ - Property `icon` in `PaintingSchema` was modified
120
+ - Property `projects` in `PaintingSchema` was modified
121
+ - Property `topics` in `PaintingSchema` was modified
122
+ - Property `format` in `PaintingSchema` was modified
123
+ - Property `author` in `PaintingSchema` was modified
124
+ - Property `title` in `PaintingSchema` was modified
125
+ - Property `type` in `YoutubeSchema` was modified
126
+ - Property `color` in `YoutubeSchema` was modified
127
+ - Property `icon` in `YoutubeSchema` was modified
128
+ - Property `banner` in `YoutubeSchema` was modified
129
+ - Property `projects` in `YoutubeSchema` was modified
130
+ - Property `topics` in `YoutubeSchema` was modified
131
+ - Property `format` in `YoutubeSchema` was modified
132
+ - Property `url` in `YoutubeSchema` was modified
133
+ - Property `author` in `YoutubeSchema` was modified
134
+ - Property `published` in `YoutubeSchema` was modified
135
+ - Property `title` in `YoutubeSchema` was modified
136
+
137
+ #### Removed
138
+
139
+ - **BREAKING** Schema `Area` was removed
140
+ - **BREAKING** Schema `Areas` was removed
141
+ - **BREAKING** Schema `FirstLevelArea` was removed
142
+ - **BREAKING** Schema `Icon` was removed
143
+ - **BREAKING** Schema `CatalogArticleSchema` was removed
144
+ - **BREAKING** Schema `CatalogBookSchema` was removed
145
+ - **BREAKING** Schema `CatalogMovieSchema` was removed
146
+ - **BREAKING** Schema `CatalogPaintingSchema` was removed
147
+ - **BREAKING** Schema `CatalogWikipediaSchema` was removed
148
+ - **BREAKING** Schema `CatalogYoutubeSchema` was removed
149
+ - **BREAKING** Schema `DetailedArticleSchema` was removed
150
+ - **BREAKING** Schema `DetailedBookSchema` was removed
151
+ - **BREAKING** Schema `DetailedClothingSchema` was removed
152
+ - **BREAKING** Schema `DetailedMovieSchema` was removed
153
+ - **BREAKING** Schema `DetailedPaintingSchema` was removed
154
+ - **BREAKING** Schema `DetailedWikipediaSchema` was removed
155
+ - **BREAKING** Schema `DetailedYoutubeSchema` was removed
156
+ - **BREAKING** Schema `MetaArticleSchema` was removed
157
+ - **BREAKING** Schema `MetaBookSchema` was removed
158
+ - **BREAKING** Schema `MetaClothingSchema` was removed
159
+ - **BREAKING** Schema `MetaMovieSchema` was removed
160
+ - **BREAKING** Schema `MetaPaintingSchema` was removed
161
+ - **BREAKING** Schema `MetaWikipediaSchema` was removed
162
+ - **BREAKING** Schema `MetaYoutubeSchema` was removed
163
+ - **BREAKING** Schema `WikipediaSchema` was removed
164
+ - **BREAKING** Property `topics` in `ArticleSchema` changed from optional to required
165
+ - **BREAKING** Property `url` in `ArticleSchema` changed from optional to required
166
+ - **BREAKING** Property `topics` in `BookSchema` changed from optional to required
167
+ - **BREAKING** Property `description` was removed from `MovieSchema`
168
+ - **BREAKING** Property `topics` in `MovieSchema` changed from optional to required
169
+ - **BREAKING** Property `description` was removed from `PaintingSchema`
170
+ - **BREAKING** Property `topics` in `PaintingSchema` changed from optional to required
171
+ - **BREAKING** Property `title` in `PaintingSchema` changed from optional to required
172
+ - **BREAKING** Property `description` was removed from `YoutubeSchema`
173
+ - **BREAKING** Property `excerpt` was removed from `YoutubeSchema`
174
+ - **BREAKING** Property `topics` in `YoutubeSchema` changed from optional to required
175
+
8
176
  ## [2.2.0] - 2026-02-06
9
177
 
10
178
  ### Added
@@ -1,34 +1,25 @@
1
1
 
2
2
  import z from "zod";
3
3
 
4
- import { Areas } from '../Areas';
4
+ import { Areas, Articles, SourceSchema, Knowledge } from '../Core';
5
+ import { Color, Icon, Image, Blue, Pending, InProgress, Read, Consolidated } from "../DataTypes";
5
6
 
6
- export const MetaArticleSchema = z.object({
7
- type: z.literal("[[Fuentes]]"),
8
- format: z.literal("[[Artículos]]"),
9
- areas: Areas.default(["[[Conocimiento]]"]),
10
- color: z.string().optional().default("#3171B2").describe('Color de la nota.'),
11
- icon: z.string().optional().default('newspaper').describe('Icono de Lucide.'),
12
- banner: z.string().nullable().optional().describe('Banner de la nota.'),
13
- url: z.string().optional().describe('URL del artículo'),
14
- }).describe('Artículo: Metadatos de Nota');
15
7
 
16
- export const CatalogArticleSchema = z.object({
8
+ const ArticleStatus = z
9
+ .union([Pending, InProgress, Read, Consolidated])
10
+ .describe('Estado de procesamiento del artículo');
11
+
12
+ const ArticleIcon = z.literal("newspaper");
13
+
14
+ export const ArticleSchema = SourceSchema.extend({
15
+ format: Articles.default(Articles.value),
16
+ status: ArticleStatus.default(Pending.value),
17
+ areas: Areas.default([Knowledge.value]),
18
+ color: Color.optional().default(Blue.value).describe('Color de la nota.'),
19
+ icon: Icon.optional().default(ArticleIcon.value).describe('Icono de Lucide.'),
20
+ banner: Image.nullable().optional().describe('Banner de la nota.'),
21
+ url: z.url().describe('URL del artículo'),
17
22
  title: z.string().describe('Título del artículo'),
18
23
  description: z.string().nullable().optional().describe('Descripción'),
19
24
  excerpt: z.string().optional().describe('Extracto del artículo'),
20
- author: z.array(z.string()).optional().describe('Autores'),
21
- published: z.union([z.string(), z.number()])
22
- .transform((val) => String(val))
23
- .optional()
24
- .describe('Año de publicación'),
25
- }).describe('Artículo: Datos obtenibles de catalogación');
26
-
27
- export const DetailedArticleSchema = z.object({
28
- status: z.enum(["Pendiente", "En Proceso", "Leído", "Consolidado"]).describe('Estado de lectura'),
29
- projects: z.array(z.string()).optional().describe('Proyectos'),
30
- topics: z.array(z.string()).optional().describe('Temas'),
31
- rating: z.number().optional().describe('Puntuación del artículo'),
32
- }).describe('Artículo: Datos adicionales');
33
-
34
- export const ArticleSchema = CatalogArticleSchema.extend(DetailedArticleSchema.shape).extend(MetaArticleSchema.shape).describe('Artículo');
25
+ }).describe('Artículo');
@@ -1,9 +1,6 @@
1
1
 
2
2
  import type { z } from 'zod';
3
3
 
4
- import type { ArticleSchema, CatalogArticleSchema, DetailedArticleSchema, MetaArticleSchema } from ".";
4
+ import type { ArticleSchema } from ".";
5
5
 
6
6
  export type Article = z.infer<typeof ArticleSchema>;
7
- export type CatalogArticle = z.infer<typeof CatalogArticleSchema>;
8
- export type DetailedArticle = z.infer<typeof DetailedArticleSchema>;
9
- export type MetaArticle = z.infer<typeof MetaArticleSchema>;
package/es/Book/index.ts CHANGED
@@ -1,36 +1,29 @@
1
1
 
2
2
  import z from "zod";
3
- import { Areas } from "../Areas";
4
3
 
5
- export const MetaBookSchema= z.object({
6
- type: z.literal("[[Fuentes]]"),
7
- format: z.literal("[[Libros]]"),
8
- areas: Areas.default(["[[Conocimiento]]"]),
9
- color: z.string().optional().default("#3171B2").describe('Color de la nota.'),
10
- icon: z.string().optional().default('book').describe('Icono de Lucide.'),
11
- cover: z.string().optional().describe('Portada del libro.'),
12
- url: z.string().optional().describe('URL del libro en Amazon o similar'),
13
- read_url: z.string().optional().describe('URL de la lectura del libro'),
14
- }).describe('Libro: Metadatos de Nota');
4
+ import { Areas, SourceSchema, Knowledge, Books } from '../Core';
5
+ import { Color, Icon, Image, Blue, Pending, InProgress, Read, Consolidated, Date } from "../DataTypes";
15
6
 
16
- export const CatalogBookSchema = z.object({
7
+ const BookStatus = z
8
+ .union([Pending, InProgress, Read, Consolidated])
9
+ .describe('Estado de procesamiento del libro');
10
+
11
+ const BookIcon = z.literal("book");
12
+
13
+ export const BookSchema = SourceSchema.extend({
14
+ format: Books.default(Books.value),
15
+ status: BookStatus.default(Pending.value),
16
+ areas: Areas.default([Knowledge.value]),
17
+ color: Color.optional().default(Blue.value).describe('Color de la nota.'),
18
+ icon: Icon.optional().default(BookIcon.value).describe('Icono de Lucide.'),
19
+ cover: Image.nullable().optional().describe('Portada del libro.'),
20
+ url: z.url().optional().describe('URL del libro en Amazon o similar'),
21
+ read_url: z.url().optional().describe('URL de la lectura del libro'),
17
22
  title: z.string().describe('Título del libro'),
18
23
  subtitle: z.string().optional().describe('Subtítulo del libro'),
19
- description: z.string().optional().describe('Descripción del libro'),
20
- author: z.array(z.string()).describe('Autores'),
21
- published: z.union([z.string(), z.number()])
22
- .transform((val) => String(val))
23
- .optional().describe('Año de publicación'),
24
+ description: z.string().nullable().optional().describe('Descripción'),
24
25
  categories: z.array(z.string()).optional().describe('Géneros'),
25
- }).describe('Libro: Datos obtenibles de catalogación');
26
-
27
- export const DetailedBookSchema = z.object({
28
- status: z.enum(["Pendiente", "En Proceso", "Leído", "Consolidado"]).describe('Estado de lectura'),
29
- topics: z.array(z.string()).optional().describe('Temas'),
30
- rating: z.number().optional().describe('Puntuación del libro'),
31
26
  online_rating: z.number().optional().describe('Puntuación en línea'),
32
- last_time_read: z.string().optional().describe('Última vez leído'),
33
- times_read: z.number().optional().describe('Veces leído'),
34
- }).describe('Libro: Datos adicionales');
35
-
36
- export const BookSchema = CatalogBookSchema.extend(DetailedBookSchema.shape).extend(MetaBookSchema.shape).describe('Libro');
27
+ last_time_read: Date.optional().describe('Última vez leído'),
28
+ times_read: z.number().default(0).optional().describe('Veces leído'),
29
+ }).describe('Libro');
package/es/Book/types.ts CHANGED
@@ -1,9 +1,6 @@
1
1
 
2
2
  import type { z } from 'zod';
3
3
 
4
- import type { BookSchema, CatalogBookSchema, DetailedBookSchema, MetaBookSchema } from ".";
4
+ import type { BookSchema } from ".";
5
5
 
6
6
  export type Book = z.infer<typeof BookSchema>;
7
- export type CatalogBook = z.infer<typeof CatalogBookSchema>;
8
- export type DetailedBook = z.infer<typeof DetailedBookSchema>;
9
- export type MetaBook = z.infer<typeof MetaBookSchema>;
@@ -14,18 +14,18 @@ import { Slot } from "./Slot";
14
14
  import { Status } from "./Status";
15
15
  import { UseCases } from "./UseCases";
16
16
  import { Variants } from "./Variants";
17
- import { Areas } from "../Areas";
17
+ import { Areas, Home, ResourceSchema } from "../Core";
18
+ import { Clothes } from "../Core/Subtype";
19
+ import { Color, Icon, Image, Orange } from "../DataTypes";
18
20
 
19
- export const MetaClothingSchema = z.object({
20
- type: z.literal("[[Recursos]]"),
21
- subtype: z.literal("[[Prendas]]"),
22
- areas: Areas.default(["[[Hogar]]"]),
23
- color: z.string().optional().default("#CB6120").describe('Color de la nota.'),
24
- icon: z.string().optional().default('shirt').describe('Icono de Lucide.'),
25
- cover: z.string().optional().describe('Foto de la prenda de ropa.'),
26
- }).describe('Prenda de ropa: Metadatos de Nota');
21
+ const ClothingIcon = z.literal("shirt");
27
22
 
28
- export const CatalogClothingSchema = z.object({
23
+ export const ClothingSchema = ResourceSchema.extend({
24
+ subtype: Clothes.default(Clothes.value),
25
+ areas: Areas.default([Home.value]),
26
+ color: Color.optional().default(Orange.value).describe('Color de la nota.'),
27
+ icon: Icon.optional().default(ClothingIcon.value).describe('Icono de Lucide.'),
28
+ cover: Image.nullable().optional().describe('Portada de la prenda de ropa.'),
29
29
  name: z.string().describe('Nombre descriptivo de la prenda de ropa'),
30
30
  garment: Garment,
31
31
  slot: Slot,
@@ -40,13 +40,27 @@ export const CatalogClothingSchema = z.object({
40
40
  use_case: UseCases,
41
41
  formality: Formality,
42
42
  brand: z.string().optional().describe('The brand of the clothing'),
43
- }).describe('Prenda de ropa: Datos obtenibles de catalogación');
44
-
45
- export const DetailedClothingSchema = z.object({
46
43
  cares: Cares,
47
44
  status: Status,
48
45
  size: Size,
49
46
  measurements: Measurements,
50
- }).describe('Prenda de ropa: Datos adicionales');
47
+ }).describe('Prenda de ropa');
51
48
 
52
- export const ClothingSchema = CatalogClothingSchema.extend(DetailedClothingSchema.shape).extend(MetaClothingSchema.shape).describe('Prenda de ropa');
49
+ export const CatalogClothingSchema = ClothingSchema.pick({
50
+ name: true,
51
+ garment: true,
52
+ slot: true,
53
+ variants: true,
54
+ fit: true,
55
+ primary_color: true,
56
+ secondary_color: true,
57
+ pattern: true,
58
+ materials: true,
59
+ layer: true,
60
+ season: true,
61
+ use_case: true,
62
+ formality: true,
63
+ brand: true,
64
+ }).meta({
65
+ deprecated: true,
66
+ }).describe('Prenda de ropa: Datos obtenibles de catalogación');
@@ -1,9 +1,7 @@
1
1
 
2
2
  import type { z } from 'zod';
3
3
 
4
- import type { ClothingSchema, CatalogClothingSchema, DetailedClothingSchema, MetaClothingSchema } from ".";
4
+ import type { ClothingSchema, CatalogClothingSchema } from ".";
5
5
 
6
6
  export type Clothing = z.infer<typeof ClothingSchema>;
7
7
  export type CatalogClothing = z.infer<typeof CatalogClothingSchema>;
8
- export type DetailedClothing = z.infer<typeof DetailedClothingSchema>;
9
- export type MetaClothing = z.infer<typeof MetaClothingSchema>;
@@ -0,0 +1,66 @@
1
+ import z from "zod";
2
+
3
+ export const Food = z.literal("[[Alimentación]]")
4
+ .describe('Alimentación');
5
+
6
+ export const Health = z.literal("[[Salud]]")
7
+ .describe('Salud');
8
+
9
+ export const Knowledge = z.literal("[[Conocimiento]]")
10
+ .describe('Conocimiento');
11
+
12
+ export const StructuredThinking = z.literal("[[Pensamiento Estructurado]]")
13
+ .describe('Pensamiento Estructurado');
14
+
15
+ export const Home = z.literal("[[Hogar]]")
16
+ .describe('Hogar');
17
+
18
+ export const Productivity = z.literal("[[Productividad]]")
19
+ .describe('Productividad');
20
+
21
+ export const Exploration = z.literal("[[Exploración]]")
22
+ .describe('Exploración');
23
+
24
+ export const Links = z.literal("[[Vínculos]]")
25
+ .describe('Vínculos');
26
+
27
+ export const Exercise = z.literal("[[Ejercicio]]")
28
+ .describe('Ejercicio');
29
+
30
+ export const Energy = z.literal("[[Energía Vital]]")
31
+ .describe('Energía Vital');
32
+
33
+ export const Work = z.literal("[[Trabajo]]")
34
+ .describe('Trabajo');
35
+
36
+ export const Finances = z.literal("[[Finanzas]]")
37
+ .describe('Finanzas');
38
+
39
+ export const MentalHealth = z.literal("[[Salud Mental]]")
40
+ .describe('Salud Mental');
41
+
42
+ export const Creativity = z.literal("[[Creatividad]]")
43
+ .describe('Creatividad');
44
+
45
+ export const FirstLevelArea = z.enum([
46
+ Food.value,
47
+ Health.value,
48
+ Knowledge.value,
49
+ StructuredThinking.value,
50
+ Home.value,
51
+ Productivity.value,
52
+ Exploration.value,
53
+ Links.value,
54
+ Exercise.value,
55
+ Energy.value,
56
+ Work.value,
57
+ Finances.value,
58
+ MentalHealth.value,
59
+ Creativity.value,
60
+ ]).describe('Área de Primer Nivel');
61
+
62
+ export const Area = z.enum([
63
+ ...FirstLevelArea.options,
64
+ ]).describe('Área');
65
+
66
+ export const Areas = z.array(Area).describe('Áreas');
@@ -0,0 +1,43 @@
1
+ import z from 'zod';
2
+
3
+ import { Areas } from './Area';
4
+ import { Color, Icon, Image, Wikilink } from '../DataTypes';
5
+ import { Type } from './Type';
6
+ import { Rating } from './Rating';
7
+
8
+ export const CommonSchema = z.object({
9
+ // Meta
10
+ type: Type,
11
+ areas: Areas.min(1)
12
+ .describe('Áreas de la nota.'),
13
+ color: Color
14
+ .optional()
15
+ .describe('Color'),
16
+ icon: Icon
17
+ .optional()
18
+ .describe('Icono'),
19
+ banner: Image
20
+ .optional()
21
+ .describe('Imagen'),
22
+ cover: Image
23
+ .optional()
24
+ .describe('Cubierta'),
25
+ // Detailed
26
+ projects: z.array(Wikilink)
27
+ .optional()
28
+ .describe('Proyectos asociados.'),
29
+ topics: z.array(z.union([
30
+ Wikilink,
31
+ z.string(),
32
+ ]).optional()
33
+ .describe('Temas: Wikilink o texto libre')),
34
+ status: z.string()
35
+ .optional()
36
+ .describe('Estado de la nota.'),
37
+ rating: Rating
38
+ .optional()
39
+ .describe('Puntuación de la nota.'),
40
+ aliases: z.array(z.string())
41
+ .optional()
42
+ .describe('Alias de la nota.'),
43
+ }).describe('Notas');
@@ -0,0 +1,28 @@
1
+ import z from "zod";
2
+
3
+ export const Articles = z.literal("[[Artículos]]")
4
+ .describe('Artículos');
5
+
6
+ export const Books = z.literal("[[Libros]]")
7
+ .describe('Libros');
8
+
9
+ export const EncyclopediaEntries = z.literal("[[Entradas de Enciclopedia]]")
10
+ .describe('Entradas de Enciclopedia');
11
+
12
+ export const Movies = z.literal("[[Películas]]")
13
+ .describe('Películas');
14
+
15
+ export const Paintings = z.literal("[[Pinturas]]")
16
+ .describe('Pinturas');
17
+
18
+ export const Videos = z.literal("[[Vídeos]]")
19
+ .describe('Vídeos');
20
+
21
+ export const Format = z.enum([
22
+ Articles.value,
23
+ Books.value,
24
+ EncyclopediaEntries.value,
25
+ Movies.value,
26
+ Paintings.value,
27
+ Videos.value,
28
+ ]).describe('Formato de nota.');
@@ -0,0 +1,33 @@
1
+ import z from "zod";
2
+
3
+ export const Perfect = z.literal(7)
4
+ .describe('Perfecto, hay que probarlo, te cambia la vida, haz un esfuerzo por buscarlo.');
5
+
6
+ export const Excellent = z.literal(6)
7
+ .describe('Excelente, vale la pena repetirlo');
8
+
9
+ export const Good = z.literal(5)
10
+ .describe('Bueno, no hagas un esfuerzo especial, pero es agradable.');
11
+
12
+ export const Passable = z.literal(4)
13
+ .describe('Aceptable, sirve en caso de apuro.');
14
+
15
+ export const Bad = z.literal(3)
16
+ .describe('Malo, no lo hagas si puedes evitarlo.');
17
+
18
+ export const Atrocious = z.literal(2)
19
+ .describe('Atroz, evítalo activamente, repulsivo');
20
+
21
+ export const Evil = z.literal(1)
22
+ .describe('Malvado, te cambia la vida para mal.');
23
+
24
+ export const Rating = z.union([
25
+ Perfect,
26
+ Excellent,
27
+ Good,
28
+ Passable,
29
+ Bad,
30
+ Atrocious,
31
+ Evil,
32
+ ])
33
+ .describe('Puntuación de la nota.');
@@ -0,0 +1,18 @@
1
+
2
+ import z from "zod";
3
+
4
+ import { CommonSchema } from "./Common";
5
+ import { Resources } from "./Type";
6
+ import { Clothes } from "./Subtype";
7
+ import { Rating } from "./Rating";
8
+ import { Date } from "../DataTypes";
9
+
10
+ export const ResourcesSubtype = z.union([
11
+ Clothes,
12
+ ]).describe('Subtipo de recurso.');
13
+
14
+ export const ResourceSchema = CommonSchema.extend({
15
+ type: Resources.default(Resources.value),
16
+ subtype: ResourcesSubtype,
17
+ name: z.string().optional().describe('Nombre del recurso'),
18
+ }).describe('Fuentes Bibliográficas');
@@ -0,0 +1,37 @@
1
+
2
+ import z from "zod";
3
+
4
+ import { CommonSchema } from "./Common";
5
+ import { Sources } from "./Type";
6
+ import { Articles, Paintings } from "./Format";
7
+ import { Rating } from "./Rating";
8
+ import { Date } from "../DataTypes";
9
+
10
+ export const SourcesFormat = z.union([
11
+ Articles,
12
+ Paintings,
13
+ ]).describe('Formato de la fuente.');
14
+
15
+ export const SourceSchema = CommonSchema.extend({
16
+ type: Sources.default(Sources.value),
17
+ format: SourcesFormat,
18
+ status: z.string()
19
+ .optional()
20
+ .default('Pendiente')
21
+ .describe('Estado de procesamiento de la fuente.'),
22
+ rating: Rating
23
+ .optional()
24
+ .describe('Valoración personal de la fuente.'),
25
+ url: z.url()
26
+ .optional()
27
+ .describe('URL de la fuente.'),
28
+ author: z.array(z.string())
29
+ .optional()
30
+ .describe('Autores de la fuente.'),
31
+ published: Date
32
+ .optional()
33
+ .describe('Fecha de publicación de la fuente.'),
34
+ title: z.string()
35
+ .optional()
36
+ .describe('Título de la fuente.'),
37
+ }).describe('Fuentes Bibliográficas');
@@ -0,0 +1,8 @@
1
+ import z from "zod";
2
+
3
+ export const Clothes = z.literal("[[Prendas]]")
4
+ .describe('Prendas de ropa');
5
+
6
+ export const Subtype = z.enum([
7
+ Clothes.value,
8
+ ]).describe('Subtipo de nota.');
@@ -0,0 +1,36 @@
1
+ import z from "zod";
2
+
3
+ export const Capabilities = z.literal("[[Capacidades]]")
4
+ .describe('Habilidades, competencias, procedimientos ejecutables. Incluyen instrucciones, métodos, prompts, workflows.');
5
+
6
+ export const Sources = z.literal("[[Fuentes]]")
7
+ .describe('Bibliografías, recursos validados sobre los que acumular información.');
8
+
9
+ export const Extracts = z.literal("[[Extractos]]")
10
+ .describe('Fragmentos o citas extraídos de fuentes.');
11
+
12
+ export const Publications = z.literal("[[Publicaciones]]")
13
+ .describe('Producciones propias: ensayos, posts, novelas, guiones, artículos.');
14
+
15
+ export const Chronicles = z.literal("[[Crónicas]]")
16
+ .describe('Narraciones detalladas sobre eventos, experiencias personales, cambios de vida, cambios de estado. (Diarios, Hebdomarios, Mensarios, Estacionarios, Anuarios)');
17
+
18
+ export const Entities = z.literal("[[Entidades]]")
19
+ .describe('Personas, organizaciones, lugares o sistemas identificables con información estable.');
20
+
21
+ export const Resources = z.literal("[[Recursos]]")
22
+ .describe('Elementos materiales o digitales (herramientas, dispositivos, software) que facilitan la acción.');
23
+
24
+ export const Scenarios = z.literal("[[Escenarios]]")
25
+ .describe('Situaciones y contextos específicos.')
26
+
27
+ export const Type = z.enum([
28
+ Capabilities.value,
29
+ Sources.value,
30
+ Extracts.value,
31
+ Publications.value,
32
+ Chronicles.value,
33
+ Entities.value,
34
+ Resources.value,
35
+ Scenarios.value,
36
+ ]).describe('Tipo de nota.');
@@ -0,0 +1,9 @@
1
+
2
+ export * from './Area';
3
+ export * from './Format';
4
+ export * from './Rating';
5
+ export * from './Type';
6
+
7
+ export * from './Common';
8
+ export * from './Source';
9
+ export * from './Resource';