@kulupu-linku/sona 0.1.10 → 0.2.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.
- package/README.md +18 -3
- package/dist/client.d.ts +1 -802
- package/dist/client.js +98 -4
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +1 -1159
- package/dist/index.js +148 -168
- package/dist/index.js.map +1 -0
- package/dist/lib/client.d.ts +201 -0
- package/dist/lib/index.d.ts +959 -0
- package/dist/lib/types.d.ts +17 -0
- package/dist/lib/utils.d.ts +13 -0
- package/dist/utils-CnA4OULt.js +2777 -0
- package/dist/utils-CnA4OULt.js.map +1 -0
- package/dist/utils.d.ts +1 -16
- package/dist/utils.js +7 -12
- package/dist/utils.js.map +1 -0
- package/generated/languages.json +15 -0
- package/generated/sandbox.json +16 -3
- package/generated/word.json +16 -3
- package/generated/words.json +16 -3
- package/package.json +19 -15
- package/LICENSE +0 -674
- package/dist/chunk-QCIUEY5V.js +0 -38
- package/dist/types.d.ts +0 -2
- package/dist/types.js +0 -0
- package/generated/etymology.json +0 -20
- package/generated/representations.json +0 -43
- package/generated/resources.json +0 -30
package/dist/index.js
CHANGED
|
@@ -1,243 +1,223 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
WritingSystem
|
|
6
|
-
} from "./chunk-QCIUEY5V.js";
|
|
7
|
-
|
|
8
|
-
// src/index.ts
|
|
9
|
-
import { z } from "zod";
|
|
10
|
-
var YearMonth = z.string().regex(/^20\d{2}-(0[1-9]|1[0-2])$/g);
|
|
11
|
-
var Word = z.object({
|
|
12
|
-
id: z.string().min(1).describe(
|
|
13
|
-
`A unique identifier for the word. Usually the word but may have an integer added in case of a word with multiple definitions (like "we")`
|
|
1
|
+
import { z as e, B as n, C as o, U as t, W as r } from "./utils-CnA4OULt.js";
|
|
2
|
+
const s = e.string().regex(/^20\d{2}-(0[1-9]|1[0-2])$/g), a = e.object({
|
|
3
|
+
id: e.string().min(1).describe(
|
|
4
|
+
'A unique identifier for the word. Usually the word but may have an integer added in case of a word with multiple definitions (like "we")'
|
|
14
5
|
),
|
|
15
|
-
author_verbatim:
|
|
16
|
-
author_verbatim_source:
|
|
17
|
-
book:
|
|
18
|
-
coined_era:
|
|
6
|
+
author_verbatim: e.string().describe("The author's original definition, taken verbatim in their words"),
|
|
7
|
+
author_verbatim_source: e.string().describe("Where the author's original definition is located (usually Discord)"),
|
|
8
|
+
book: n.describe("Which official Toki Pona book was this word featured in, if any."),
|
|
9
|
+
coined_era: o.or(e.literal("")).describe(
|
|
19
10
|
"When this word was coined (relative to the publication dates of the official Toki Pona books, if known)"
|
|
20
11
|
),
|
|
21
|
-
coined_year:
|
|
22
|
-
creator:
|
|
23
|
-
ku_data:
|
|
24
|
-
|
|
25
|
-
|
|
12
|
+
coined_year: e.string().describe("The year when this word was coined (if known)"),
|
|
13
|
+
creator: e.array(e.string()).describe("The person who created this word (if known)"),
|
|
14
|
+
ku_data: e.record(
|
|
15
|
+
e.string().min(1).describe("A translation of the word into English proposed in ku"),
|
|
16
|
+
e.number().min(0).max(100).describe(
|
|
26
17
|
"The percentage of ku survey respondents who report this translation as accurate to their usage."
|
|
27
18
|
)
|
|
28
19
|
).optional().describe(
|
|
29
20
|
"The usage data of the word as described in ku (the official Toki Pona dictionary)"
|
|
30
21
|
),
|
|
31
|
-
see_also:
|
|
32
|
-
resources:
|
|
33
|
-
sona_pona:
|
|
22
|
+
see_also: e.array(e.string()).describe("A list of related words"),
|
|
23
|
+
resources: e.object({
|
|
24
|
+
sona_pona: e.string().url().optional().describe(
|
|
34
25
|
"A link to the word's page on sona.pona.la, a Toki Pona wiki. May redirect for words with references but no dedicated page."
|
|
35
26
|
),
|
|
36
|
-
lipamanka_semantic:
|
|
27
|
+
lipamanka_semantic: e.string().url().optional().describe("A link to lipamanka's description of the word's semantic space.")
|
|
37
28
|
}).optional().describe("Non-Linku resources related to the specific word, such as wiki links."),
|
|
38
|
-
representations:
|
|
39
|
-
sitelen_emosi:
|
|
29
|
+
representations: e.object({
|
|
30
|
+
sitelen_emosi: e.string().emoji().optional().describe(
|
|
40
31
|
"The sitelen emosi representation of this word, a script for writing Toki Pona using emoji"
|
|
41
32
|
),
|
|
42
|
-
|
|
33
|
+
sitelen_jelo: e.array(e.string().emoji()).min(1).optional().describe("One or more example emojis for how the word can be written in sitelen jelo"),
|
|
34
|
+
ligatures: e.array(e.string().min(1)).optional().describe(
|
|
43
35
|
"A list of sitelen Lasina representations of the word, used by ligature fonts to visually convert latin characters into sitelen pona"
|
|
44
36
|
),
|
|
45
|
-
sitelen_sitelen:
|
|
46
|
-
ucsur:
|
|
37
|
+
sitelen_sitelen: e.string().url().optional().describe("A URL pointing to an image of this word's sitelen sitelen hieroglyphic block"),
|
|
38
|
+
ucsur: e.string().regex(/^U\+[\da-fA-F]{4,6}$/g).optional().describe(
|
|
47
39
|
"The word's UCSUR codepoint, as defined in https://www.kreativekorp.com/ucsur/charts/sitelen.html"
|
|
48
40
|
)
|
|
49
41
|
}).optional().describe("Ways of representing this word in the real world, via text/computers"),
|
|
50
|
-
source_language:
|
|
51
|
-
usage_category:
|
|
42
|
+
source_language: e.string().describe("The language this word originated from"),
|
|
43
|
+
usage_category: t.describe(
|
|
52
44
|
"The word's usage category, according to a survey performed by the Linku Project"
|
|
53
45
|
),
|
|
54
|
-
word:
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
46
|
+
word: e.string().describe(`The word's actual text, in case of a word with multiple definitions (like "we")`),
|
|
47
|
+
deprecated: e.boolean().describe("Whether or not the word is considered deprecated by its author."),
|
|
48
|
+
etymology: e.array(
|
|
49
|
+
e.object({
|
|
50
|
+
word: e.string().optional().describe(
|
|
58
51
|
"One of the root words of this word, as written out in its language of origin"
|
|
59
52
|
),
|
|
60
|
-
alt:
|
|
53
|
+
alt: e.string().optional().describe('A latinized representation of the "word" field')
|
|
61
54
|
})
|
|
62
55
|
).describe("Unlocalized etymological values regarding this word's origin"),
|
|
63
|
-
audio:
|
|
64
|
-
|
|
65
|
-
author:
|
|
66
|
-
link:
|
|
56
|
+
audio: e.array(
|
|
57
|
+
e.object({
|
|
58
|
+
author: e.string().describe("The author of the audio file in `link`."),
|
|
59
|
+
link: e.string().url().describe("A link to the audio file for the word, pronounced by `author`.")
|
|
67
60
|
}).describe("Audio files of the words pronounced out loud")
|
|
68
61
|
),
|
|
69
|
-
pu_verbatim:
|
|
70
|
-
en:
|
|
71
|
-
fr:
|
|
72
|
-
de:
|
|
73
|
-
eo:
|
|
62
|
+
pu_verbatim: e.object({
|
|
63
|
+
en: e.string().describe("The original definition in the English version of pu"),
|
|
64
|
+
fr: e.string().describe("The original definition in the French version of pu"),
|
|
65
|
+
de: e.string().describe("The original definition in the German version of pu"),
|
|
66
|
+
eo: e.string().describe("The original definition in the Esperanto version of pu")
|
|
74
67
|
}).optional().describe("The original definition of the word in pu, the first official Toki Pona book"),
|
|
75
|
-
usage:
|
|
68
|
+
usage: e.record(e.string().regex(/^20\d{2}-(0[1-9]|1[0-2])$/g), e.number().min(0).max(100)).describe(
|
|
76
69
|
"The percentage of people in the Toki Pona community who use this word, according to surveys performed by the Linku Project"
|
|
77
70
|
)
|
|
78
|
-
}).describe("General info on a Toki Pona word")
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
z.array(
|
|
85
|
-
z.object({
|
|
86
|
-
definition: z.string().optional().describe("The localized definition of the root word in its origin language"),
|
|
87
|
-
language: z.string().describe("The localized name of the language this word originated from")
|
|
71
|
+
}).describe("General info on a Toki Pona word"), d = e.record(e.string().min(1), e.string()).describe("Localized commentary regarding Toki Pona words"), g = e.record(e.string().min(1), e.string().min(1)).describe("Localized definitions of Toki Pona words"), c = e.record(e.string().min(1), e.string()).describe("Localized descriptions of the origins of the sitelen pona glyphs for Toki Pona words"), l = e.record(
|
|
72
|
+
e.string().min(1),
|
|
73
|
+
e.array(
|
|
74
|
+
e.object({
|
|
75
|
+
definition: e.string().optional().describe("The localized definition of the root word in its origin language"),
|
|
76
|
+
language: e.string().describe("The localized name of the language this word originated from")
|
|
88
77
|
})
|
|
89
78
|
)
|
|
90
|
-
).describe("Localized etymological values for Toki Pona words")
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
sign: z.string().optional().describe(
|
|
79
|
+
).describe("Localized etymological values for Toki Pona words"), h = e.object({
|
|
80
|
+
definition: e.string().describe("The definition of the sign as a single toki pona word."),
|
|
81
|
+
id: e.string().describe("A globally unique name for the sign which is also a gloss."),
|
|
82
|
+
is_two_handed: e.boolean().describe("Whether the sign is two-handed or not."),
|
|
83
|
+
new_gloss: e.string().describe("The more recent, preferred gloss for this sign."),
|
|
84
|
+
old_gloss: e.string().describe("The older gloss for this sign, similar to `id`."),
|
|
85
|
+
etymology: e.array(
|
|
86
|
+
e.object({
|
|
87
|
+
language: e.string().describe("The language of the sign."),
|
|
88
|
+
sign: e.string().optional().describe(
|
|
101
89
|
"The name of the sign such that it could be found in a sign language dictionary."
|
|
102
90
|
)
|
|
103
91
|
})
|
|
104
92
|
).describe("Unlocalized etymological values regarding this sign's origin"),
|
|
105
|
-
signwriting:
|
|
106
|
-
fsw:
|
|
93
|
+
signwriting: e.object({
|
|
94
|
+
fsw: e.string().describe(
|
|
107
95
|
"The [Formal SignWriting](https://en.wikipedia.org/wiki/SignWriting) representation of the sign."
|
|
108
96
|
),
|
|
109
|
-
swu:
|
|
97
|
+
swu: e.string().describe(
|
|
110
98
|
"The [SignWriting with Unicode](https://en.wikipedia.org/wiki/SignWriting) representation of the sign."
|
|
111
99
|
)
|
|
112
100
|
}).describe("Scripts for representing a sign as characters."),
|
|
113
|
-
video:
|
|
114
|
-
gif:
|
|
115
|
-
mp4:
|
|
101
|
+
video: e.object({
|
|
102
|
+
gif: e.string().describe("A link to a gif of the sign being signed."),
|
|
103
|
+
mp4: e.string().describe("a link to an mp4 of the sign being signed.")
|
|
116
104
|
}).describe("Videos of the sign being performed, by format.")
|
|
117
|
-
}).describe("Unlocalized info on a Luka Pona sign")
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
sign: z.string().describe(
|
|
105
|
+
}).describe("Unlocalized info on a Luka Pona sign"), b = e.object({
|
|
106
|
+
id: e.string().describe("A globally unique name for the sign which is also a gloss."),
|
|
107
|
+
is_two_handed: e.boolean().describe("Whether the sign is two-handed or not."),
|
|
108
|
+
etymology: e.array(
|
|
109
|
+
e.object({
|
|
110
|
+
language: e.string().describe("The language of the sign."),
|
|
111
|
+
sign: e.string().describe(
|
|
125
112
|
"The name of the sign such that it could be found in a sign language dictionary."
|
|
126
113
|
)
|
|
127
114
|
})
|
|
128
115
|
).describe("Unlocalized etymological values regarding this sign's origin"),
|
|
129
|
-
signwriting:
|
|
130
|
-
fsw:
|
|
131
|
-
swu:
|
|
116
|
+
signwriting: e.object({
|
|
117
|
+
fsw: e.string().describe("The Formal Sign Writing representation of the sign."),
|
|
118
|
+
swu: e.string().describe("The Sign Writing with Unicode representation of hte sign.")
|
|
132
119
|
}).describe("Scripts for representing a sign as characters."),
|
|
133
|
-
video:
|
|
134
|
-
gif:
|
|
135
|
-
mp4:
|
|
120
|
+
video: e.object({
|
|
121
|
+
gif: e.string().optional().describe("A link to a gif of the sign being signed."),
|
|
122
|
+
mp4: e.string().optional().describe("a link to an mp4 of the sign being signed.")
|
|
136
123
|
}).describe("Videos of the sign being performed, by format.")
|
|
137
|
-
}).describe("Unlocalized info on a fingerspelling sign.")
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
handshape: z.string().optional().describe(
|
|
124
|
+
}).describe("Unlocalized info on a fingerspelling sign."), i = e.record(
|
|
125
|
+
e.string().min(1),
|
|
126
|
+
e.object({
|
|
127
|
+
handshape: e.string().optional().describe(
|
|
142
128
|
"The shape of the hand when signing, identified by its name in ASL. Should not be translated in any language other than Toki Pona"
|
|
143
129
|
),
|
|
144
|
-
movement:
|
|
145
|
-
placement:
|
|
146
|
-
orientation:
|
|
130
|
+
movement: e.string().optional().describe("The motion of the hand when signing."),
|
|
131
|
+
placement: e.string().optional().describe("The placement of the hand when signing."),
|
|
132
|
+
orientation: e.string().optional().describe("The orientation of the hand when signing.")
|
|
147
133
|
})
|
|
148
|
-
).describe("Partly localized descriptions of how a sign is signed.")
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
style: z.string().min(1).describe("the general style of this font"),
|
|
160
|
-
ucsur: z.boolean().describe(
|
|
134
|
+
).describe("Partly localized descriptions of how a sign is signed."), f = e.record(e.string().min(1), e.string()).describe("Localized descriptions of the thing a sign represents."), u = e.object({
|
|
135
|
+
id: e.string().min(1).describe("The font's unique ID, identifying it among other fonts"),
|
|
136
|
+
creator: e.array(e.string()).describe("a list of this font's creators"),
|
|
137
|
+
features: e.array(e.string()).describe("a list of features this font supports"),
|
|
138
|
+
filename: e.string().regex(/^(?:.+\.(ttf|otf|woff2|woff))?$/).describe("the name of the file this font is stored in at https://github.com/lipu-linku/ijo"),
|
|
139
|
+
last_updated: s.optional().describe("the rough date of this font's last update"),
|
|
140
|
+
license: e.string().describe("an SPDX expression describing this font's license: https://spdx.org/licenses/"),
|
|
141
|
+
ligatures: e.boolean().describe("whether this font supports ligatures"),
|
|
142
|
+
name: e.string().min(1).describe("this font's name"),
|
|
143
|
+
style: e.string().min(1).describe("the general style of this font"),
|
|
144
|
+
ucsur: e.boolean().describe(
|
|
161
145
|
"whether this font conforms to the UCSUR standard: https://www.kreativekorp.com/ucsur/charts/sitelen.html"
|
|
162
146
|
),
|
|
163
|
-
version:
|
|
164
|
-
writing_system:
|
|
165
|
-
links:
|
|
166
|
-
fontfile:
|
|
147
|
+
version: e.string().describe("the current version of this font"),
|
|
148
|
+
writing_system: r.describe("the writing system this font uses as its script"),
|
|
149
|
+
links: e.object({
|
|
150
|
+
fontfile: e.string().url().optional().describe(
|
|
167
151
|
"a link to the font file published by the original author (not the mirror on the Linku Project's GitHub)"
|
|
168
152
|
),
|
|
169
|
-
repo:
|
|
153
|
+
repo: e.string().url().optional().describe(
|
|
170
154
|
"a link to a web hosted repository of this font's source files (usually hosted on GitHub or GitLab)"
|
|
171
155
|
),
|
|
172
|
-
webpage:
|
|
156
|
+
webpage: e.string().url().optional().describe(
|
|
173
157
|
"a link to this font's home page, usually showcasing its features and usage/installation"
|
|
174
158
|
)
|
|
175
159
|
})
|
|
176
|
-
}).describe("Info on a font for Toki Pona")
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
sp_etymology: SitelenPonaTranslation.valueSchema
|
|
160
|
+
}).describe("Info on a font for Toki Pona"), m = e.record(
|
|
161
|
+
e.string().min(1),
|
|
162
|
+
a.extend({
|
|
163
|
+
translations: e.record(
|
|
164
|
+
e.object({
|
|
165
|
+
commentary: d.valueSchema,
|
|
166
|
+
definition: g.valueSchema,
|
|
167
|
+
etymology: l.valueSchema,
|
|
168
|
+
sp_etymology: c.valueSchema
|
|
186
169
|
})
|
|
187
170
|
)
|
|
188
171
|
})
|
|
189
|
-
).describe("A raw data object containing dictionary info about Toki Pona words")
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
translations: z.record(
|
|
197
|
-
z.object({
|
|
198
|
-
parameters: ParametersTranslation.valueSchema,
|
|
199
|
-
icons: IconTranslation.valueSchema
|
|
172
|
+
).describe("A raw data object containing dictionary info about Toki Pona words"), w = e.record(
|
|
173
|
+
e.string().min(1),
|
|
174
|
+
h.extend({
|
|
175
|
+
translations: e.record(
|
|
176
|
+
e.object({
|
|
177
|
+
parameters: i.valueSchema,
|
|
178
|
+
icons: f.valueSchema
|
|
200
179
|
})
|
|
201
180
|
)
|
|
202
181
|
})
|
|
203
|
-
).describe("A raw data object containing information about Luka Pona signs")
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
translations: z.record(z.object({ parameters: ParametersTranslation.valueSchema }))
|
|
182
|
+
).describe("A raw data object containing information about Luka Pona signs"), y = e.record(
|
|
183
|
+
e.string().min(1),
|
|
184
|
+
b.extend({
|
|
185
|
+
translations: e.record(e.object({ parameters: i.valueSchema }))
|
|
208
186
|
})
|
|
209
|
-
).describe("A raw data object containing information about Luka Pona fingerspelling signs")
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
187
|
+
).describe("A raw data object containing information about Luka Pona fingerspelling signs"), k = e.record(u).describe("A raw data object containing all the fonts data in sona"), T = e.record(
|
|
188
|
+
e.string().min(2).describe("The language code used by Crowdin. Approximates 2 letter code -> 3 letter code."),
|
|
189
|
+
e.object({
|
|
190
|
+
id: e.string().min(2).describe(
|
|
191
|
+
"The language code used by Crowdin. Approximates 2 letter code -> 3 letter code."
|
|
192
|
+
),
|
|
193
|
+
locale: e.string().describe("The locale code corresponding to the language."),
|
|
194
|
+
direction: e.union([e.literal("ltr"), e.literal("rtl")]).describe("The direction of the language's script."),
|
|
195
|
+
name: e.object({
|
|
196
|
+
en: e.string().describe("The name of the language in English."),
|
|
217
197
|
// These are optional because we can add a language via Crowdin and Crowdin doesn't provide these.
|
|
218
198
|
// Downstream projects should prefer endonym over name_en if both are available.
|
|
219
|
-
tok:
|
|
220
|
-
endonym:
|
|
199
|
+
tok: e.string().optional().describe("The name of the language in Toki Pona."),
|
|
200
|
+
endonym: e.string().optional().describe("The name of the language in that language.")
|
|
221
201
|
})
|
|
222
202
|
// TODO: completion percentage on a per-file basis?
|
|
223
203
|
// we also care about completion within usage categories, since the most important words are core+widespread+common
|
|
224
204
|
}).describe("The languages offered by sona Linku.")
|
|
225
205
|
);
|
|
226
206
|
export {
|
|
227
|
-
CommentaryTranslation,
|
|
228
|
-
DefinitionTranslation,
|
|
229
|
-
EtymologyTranslation,
|
|
230
|
-
Fingerspelling,
|
|
231
|
-
FingerspellingSign,
|
|
232
|
-
Font,
|
|
233
|
-
Fonts,
|
|
234
|
-
IconTranslation,
|
|
235
|
-
Languages,
|
|
236
|
-
ParametersTranslation,
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
Words
|
|
207
|
+
d as CommentaryTranslation,
|
|
208
|
+
g as DefinitionTranslation,
|
|
209
|
+
l as EtymologyTranslation,
|
|
210
|
+
y as Fingerspelling,
|
|
211
|
+
b as FingerspellingSign,
|
|
212
|
+
u as Font,
|
|
213
|
+
k as Fonts,
|
|
214
|
+
f as IconTranslation,
|
|
215
|
+
T as Languages,
|
|
216
|
+
i as ParametersTranslation,
|
|
217
|
+
h as Sign,
|
|
218
|
+
w as Signs,
|
|
219
|
+
c as SitelenPonaTranslation,
|
|
220
|
+
a as Word,
|
|
221
|
+
m as Words
|
|
243
222
|
};
|
|
223
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/lib/index.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Book, CoinedEra, UsageCategory, WritingSystem } from \"./utils\";\n\nexport type * from \"./types\";\n\nconst YearMonth = z.string().regex(/^20\\d{2}-(0[1-9]|1[0-2])$/g);\n// Word data\nexport const Word = z\n\t.object({\n\t\tid: z\n\t\t\t.string()\n\t\t\t.min(1)\n\t\t\t.describe(\n\t\t\t\t`A unique identifier for the word. Usually the word but may have an integer added in case of a word with multiple definitions (like \"we\")`,\n\t\t\t),\n\t\tauthor_verbatim: z\n\t\t\t.string()\n\t\t\t.describe(\"The author's original definition, taken verbatim in their words\"),\n\t\tauthor_verbatim_source: z\n\t\t\t.string()\n\t\t\t.describe(\"Where the author's original definition is located (usually Discord)\"),\n\t\tbook: Book.describe(\"Which official Toki Pona book was this word featured in, if any.\"),\n\t\tcoined_era: CoinedEra.or(z.literal(\"\")).describe(\n\t\t\t\"When this word was coined (relative to the publication dates of the official Toki Pona books, if known)\",\n\t\t),\n\t\tcoined_year: z.string().describe(\"The year when this word was coined (if known)\"),\n\t\tcreator: z.array(z.string()).describe(\"The person who created this word (if known)\"),\n\t\tku_data: z\n\t\t\t.record(\n\t\t\t\tz.string().min(1).describe(\"A translation of the word into English proposed in ku\"),\n\t\t\t\tz\n\t\t\t\t\t.number()\n\t\t\t\t\t.min(0)\n\t\t\t\t\t.max(100)\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"The percentage of ku survey respondents who report this translation as accurate to their usage.\",\n\t\t\t\t\t),\n\t\t\t)\n\t\t\t.optional()\n\t\t\t.describe(\n\t\t\t\t\"The usage data of the word as described in ku (the official Toki Pona dictionary)\",\n\t\t\t),\n\t\tsee_also: z.array(z.string()).describe(\"A list of related words\"),\n\t\tresources: z\n\t\t\t.object({\n\t\t\t\tsona_pona: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.url()\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"A link to the word's page on sona.pona.la, a Toki Pona wiki. May redirect for words with references but no dedicated page.\",\n\t\t\t\t\t),\n\t\t\t\tlipamanka_semantic: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.url()\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\"A link to lipamanka's description of the word's semantic space.\"),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"Non-Linku resources related to the specific word, such as wiki links.\"),\n\t\trepresentations: z\n\t\t\t.object({\n\t\t\t\tsitelen_emosi: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.emoji()\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"The sitelen emosi representation of this word, a script for writing Toki Pona using emoji\",\n\t\t\t\t\t),\n\t\t\t\tsitelen_jelo: z\n\t\t\t\t\t.array(z.string().emoji())\n\t\t\t\t\t.min(1)\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\"One or more example emojis for how the word can be written in sitelen jelo\"),\n\t\t\t\tligatures: z\n\t\t\t\t\t.array(z.string().min(1))\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"A list of sitelen Lasina representations of the word, used by ligature fonts to visually convert latin characters into sitelen pona\",\n\t\t\t\t\t),\n\t\t\t\tsitelen_sitelen: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.url()\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\"A URL pointing to an image of this word's sitelen sitelen hieroglyphic block\"),\n\t\t\t\tucsur: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.regex(/^U\\+[\\da-fA-F]{4,6}$/g)\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"The word's UCSUR codepoint, as defined in https://www.kreativekorp.com/ucsur/charts/sitelen.html\",\n\t\t\t\t\t),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"Ways of representing this word in the real world, via text/computers\"),\n\t\tsource_language: z.string().describe(\"The language this word originated from\"),\n\t\tusage_category: UsageCategory.describe(\n\t\t\t\"The word's usage category, according to a survey performed by the Linku Project\",\n\t\t),\n\t\tword: z\n\t\t\t.string()\n\t\t\t.describe(`The word's actual text, in case of a word with multiple definitions (like \"we\")`),\n\t\tdeprecated: z\n\t\t\t.boolean()\n\t\t\t.describe(\"Whether or not the word is considered deprecated by its author.\"),\n\t\tetymology: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tword: z\n\t\t\t\t\t\t.string()\n\t\t\t\t\t\t.optional()\n\t\t\t\t\t\t.describe(\n\t\t\t\t\t\t\t\"One of the root words of this word, as written out in its language of origin\",\n\t\t\t\t\t\t),\n\t\t\t\t\talt: z.string().optional().describe(`A latinized representation of the \"word\" field`),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.describe(\"Unlocalized etymological values regarding this word's origin\"),\n\t\taudio: z.array(\n\t\t\tz\n\t\t\t\t.object({\n\t\t\t\t\tauthor: z.string().describe(\"The author of the audio file in `link`.\"),\n\t\t\t\t\tlink: z\n\t\t\t\t\t\t.string()\n\t\t\t\t\t\t.url()\n\t\t\t\t\t\t.describe(\"A link to the audio file for the word, pronounced by `author`.\"),\n\t\t\t\t})\n\t\t\t\t.describe(\"Audio files of the words pronounced out loud\"),\n\t\t),\n\t\tpu_verbatim: z\n\t\t\t.object({\n\t\t\t\ten: z.string().describe(\"The original definition in the English version of pu\"),\n\t\t\t\tfr: z.string().describe(\"The original definition in the French version of pu\"),\n\t\t\t\tde: z.string().describe(\"The original definition in the German version of pu\"),\n\t\t\t\teo: z.string().describe(\"The original definition in the Esperanto version of pu\"),\n\t\t\t})\n\t\t\t.optional()\n\t\t\t.describe(\"The original definition of the word in pu, the first official Toki Pona book\"),\n\t\tusage: z\n\t\t\t.record(z.string().regex(/^20\\d{2}-(0[1-9]|1[0-2])$/g), z.number().min(0).max(100))\n\t\t\t.describe(\n\t\t\t\t\"The percentage of people in the Toki Pona community who use this word, according to surveys performed by the Linku Project\",\n\t\t\t),\n\t})\n\t.describe(\"General info on a Toki Pona word\");\n\nexport type Word = z.infer<typeof Word>;\n\nexport const CommentaryTranslation = z\n\t.record(z.string().min(1), z.string())\n\t.describe(\"Localized commentary regarding Toki Pona words\");\n\nexport type CommentaryTranslation = z.infer<typeof CommentaryTranslation>;\n\nexport const DefinitionTranslation = z\n\t.record(z.string().min(1), z.string().min(1))\n\t.describe(\"Localized definitions of Toki Pona words\");\n\nexport type DefinitionTranslation = z.infer<typeof DefinitionTranslation>;\n\nexport const SitelenPonaTranslation = z\n\t.record(z.string().min(1), z.string())\n\t.describe(\"Localized descriptions of the origins of the sitelen pona glyphs for Toki Pona words\");\n\nexport type SitelenPonaTranslation = z.infer<typeof SitelenPonaTranslation>;\n\nexport const EtymologyTranslation = z\n\t.record(\n\t\tz.string().min(1),\n\t\tz.array(\n\t\t\tz.object({\n\t\t\t\tdefinition: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.optional()\n\t\t\t\t\t.describe(\"The localized definition of the root word in its origin language\"),\n\t\t\t\tlanguage: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.describe(\"The localized name of the language this word originated from\"),\n\t\t\t}),\n\t\t),\n\t)\n\t.describe(\"Localized etymological values for Toki Pona words\");\n\nexport type EtymologyTranslation = z.infer<typeof EtymologyTranslation>;\n\nexport const Sign = z\n\t.object({\n\t\tdefinition: z.string().describe(\"The definition of the sign as a single toki pona word.\"),\n\t\tid: z.string().describe(\"A globally unique name for the sign which is also a gloss.\"),\n\t\tis_two_handed: z.boolean().describe(\"Whether the sign is two-handed or not.\"),\n\t\tnew_gloss: z.string().describe(\"The more recent, preferred gloss for this sign.\"),\n\t\told_gloss: z.string().describe(\"The older gloss for this sign, similar to `id`.\"),\n\t\tetymology: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tlanguage: z.string().describe(\"The language of the sign.\"),\n\t\t\t\t\tsign: z\n\t\t\t\t\t\t.string()\n\t\t\t\t\t\t.optional()\n\t\t\t\t\t\t.describe(\n\t\t\t\t\t\t\t\"The name of the sign such that it could be found in a sign language dictionary.\",\n\t\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.describe(\"Unlocalized etymological values regarding this sign's origin\"),\n\t\tsignwriting: z\n\t\t\t.object({\n\t\t\t\tfsw: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"The [Formal SignWriting](https://en.wikipedia.org/wiki/SignWriting) representation of the sign.\",\n\t\t\t\t\t),\n\t\t\t\tswu: z\n\t\t\t\t\t.string()\n\t\t\t\t\t.describe(\n\t\t\t\t\t\t\"The [SignWriting with Unicode](https://en.wikipedia.org/wiki/SignWriting) representation of the sign.\",\n\t\t\t\t\t),\n\t\t\t})\n\t\t\t.describe(\"Scripts for representing a sign as characters.\"),\n\t\tvideo: z\n\t\t\t.object({\n\t\t\t\tgif: z.string().describe(\"A link to a gif of the sign being signed.\"),\n\t\t\t\tmp4: z.string().describe(\"a link to an mp4 of the sign being signed.\"),\n\t\t\t})\n\t\t\t.describe(\"Videos of the sign being performed, by format.\"),\n\t})\n\t.describe(\"Unlocalized info on a Luka Pona sign\");\n\nexport type Sign = z.infer<typeof Sign>;\n\nexport const FingerspellingSign = z\n\t.object({\n\t\tid: z.string().describe(\"A globally unique name for the sign which is also a gloss.\"),\n\t\tis_two_handed: z.boolean().describe(\"Whether the sign is two-handed or not.\"),\n\t\tetymology: z\n\t\t\t.array(\n\t\t\t\tz.object({\n\t\t\t\t\tlanguage: z.string().describe(\"The language of the sign.\"),\n\t\t\t\t\tsign: z\n\t\t\t\t\t\t.string()\n\t\t\t\t\t\t.describe(\n\t\t\t\t\t\t\t\"The name of the sign such that it could be found in a sign language dictionary.\",\n\t\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.describe(\"Unlocalized etymological values regarding this sign's origin\"),\n\t\tsignwriting: z\n\t\t\t.object({\n\t\t\t\tfsw: z.string().describe(\"The Formal Sign Writing representation of the sign.\"),\n\t\t\t\tswu: z.string().describe(\"The Sign Writing with Unicode representation of hte sign.\"),\n\t\t\t})\n\t\t\t.describe(\"Scripts for representing a sign as characters.\"),\n\t\tvideo: z\n\t\t\t.object({\n\t\t\t\tgif: z.string().optional().describe(\"A link to a gif of the sign being signed.\"),\n\t\t\t\tmp4: z.string().optional().describe(\"a link to an mp4 of the sign being signed.\"),\n\t\t\t})\n\t\t\t.describe(\"Videos of the sign being performed, by format.\"),\n\t})\n\t.describe(\"Unlocalized info on a fingerspelling sign.\");\n\nexport type FingerspellingSign = z.infer<typeof FingerspellingSign>;\n\nexport const ParametersTranslation = z\n\t.record(\n\t\tz.string().min(1),\n\t\tz.object({\n\t\t\thandshape: z\n\t\t\t\t.string()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"The shape of the hand when signing, identified by its name in ASL. Should not be translated in any language other than Toki Pona\",\n\t\t\t\t),\n\t\t\tmovement: z.string().optional().describe(\"The motion of the hand when signing.\"),\n\t\t\tplacement: z.string().optional().describe(\"The placement of the hand when signing.\"),\n\t\t\torientation: z.string().optional().describe(\"The orientation of the hand when signing.\"),\n\t\t}),\n\t)\n\t.describe(\"Partly localized descriptions of how a sign is signed.\");\n\nexport type ParametersTranslation = z.infer<typeof ParametersTranslation>;\n\nexport const IconTranslation = z\n\t.record(z.string().min(1), z.string())\n\t.describe(\"Localized descriptions of the thing a sign represents.\");\n\nexport type IconTranslation = z.infer<typeof IconTranslation>;\n\nexport const Font = z\n\t.object({\n\t\tid: z.string().min(1).describe(\"The font's unique ID, identifying it among other fonts\"),\n\t\tcreator: z.array(z.string()).describe(\"a list of this font's creators\"),\n\t\tfeatures: z.array(z.string()).describe(\"a list of features this font supports\"),\n\t\tfilename: z\n\t\t\t.string()\n\t\t\t.regex(/^(?:.+\\.(ttf|otf|woff2|woff))?$/)\n\t\t\t.describe(\"the name of the file this font is stored in at https://github.com/lipu-linku/ijo\"),\n\t\tlast_updated: YearMonth.optional().describe(\"the rough date of this font's last update\"),\n\t\tlicense: z\n\t\t\t.string()\n\t\t\t.describe(\"an SPDX expression describing this font's license: https://spdx.org/licenses/\"),\n\t\tligatures: z.boolean().describe(\"whether this font supports ligatures\"),\n\t\tname: z.string().min(1).describe(\"this font's name\"),\n\t\tstyle: z.string().min(1).describe(\"the general style of this font\"),\n\t\tucsur: z\n\t\t\t.boolean()\n\t\t\t.describe(\n\t\t\t\t\"whether this font conforms to the UCSUR standard: https://www.kreativekorp.com/ucsur/charts/sitelen.html\",\n\t\t\t),\n\t\tversion: z.string().describe(\"the current version of this font\"),\n\t\twriting_system: WritingSystem.describe(\"the writing system this font uses as its script\"),\n\t\tlinks: z.object({\n\t\t\tfontfile: z\n\t\t\t\t.string()\n\t\t\t\t.url()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"a link to the font file published by the original author (not the mirror on the Linku Project's GitHub)\",\n\t\t\t\t),\n\t\t\trepo: z\n\t\t\t\t.string()\n\t\t\t\t.url()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"a link to a web hosted repository of this font's source files (usually hosted on GitHub or GitLab)\",\n\t\t\t\t),\n\t\t\twebpage: z\n\t\t\t\t.string()\n\t\t\t\t.url()\n\t\t\t\t.optional()\n\t\t\t\t.describe(\n\t\t\t\t\t\"a link to this font's home page, usually showcasing its features and usage/installation\",\n\t\t\t\t),\n\t\t}),\n\t})\n\t.describe(\"Info on a font for Toki Pona\");\nexport type Font = z.infer<typeof Font>;\n\nexport const Words = z\n\t.record(\n\t\tz.string().min(1),\n\t\tWord.extend({\n\t\t\ttranslations: z.record(\n\t\t\t\tz.object({\n\t\t\t\t\tcommentary: CommentaryTranslation.valueSchema,\n\t\t\t\t\tdefinition: DefinitionTranslation.valueSchema,\n\t\t\t\t\tetymology: EtymologyTranslation.valueSchema,\n\t\t\t\t\tsp_etymology: SitelenPonaTranslation.valueSchema,\n\t\t\t\t}),\n\t\t\t),\n\t\t}),\n\t)\n\t.describe(\"A raw data object containing dictionary info about Toki Pona words\");\nexport type Words = z.infer<typeof Words>;\nexport type LocalizedWord = Words[string];\n\nexport const Signs = z\n\t.record(\n\t\tz.string().min(1),\n\t\tSign.extend({\n\t\t\ttranslations: z.record(\n\t\t\t\tz.object({\n\t\t\t\t\tparameters: ParametersTranslation.valueSchema,\n\t\t\t\t\ticons: IconTranslation.valueSchema,\n\t\t\t\t}),\n\t\t\t),\n\t\t}),\n\t)\n\t.describe(\"A raw data object containing information about Luka Pona signs\");\nexport type Signs = z.infer<typeof Signs>;\nexport type LocalizedSign = Signs[string];\n\nexport const Fingerspelling = z\n\t.record(\n\t\tz.string().min(1),\n\t\tFingerspellingSign.extend({\n\t\t\ttranslations: z.record(z.object({ parameters: ParametersTranslation.valueSchema })),\n\t\t}),\n\t)\n\t.describe(\"A raw data object containing information about Luka Pona fingerspelling signs\");\nexport type Fingerspelling = z.infer<typeof Fingerspelling>;\nexport type LocalizedFingerspellingSign = Fingerspelling[string];\n\nexport const Fonts = z\n\t.record(Font)\n\t.describe(\"A raw data object containing all the fonts data in sona\");\nexport type Fonts = z.infer<typeof Fonts>;\n\nexport const Languages = z.record(\n\tz\n\t\t.string()\n\t\t.min(2)\n\t\t.describe(\"The language code used by Crowdin. Approximates 2 letter code -> 3 letter code.\"),\n\tz\n\t\t.object({\n\t\t\tid: z\n\t\t\t\t.string()\n\t\t\t\t.min(2)\n\t\t\t\t.describe(\n\t\t\t\t\t\"The language code used by Crowdin. Approximates 2 letter code -> 3 letter code.\",\n\t\t\t\t),\n\t\t\tlocale: z.string().describe(\"The locale code corresponding to the language.\"),\n\t\t\tdirection: z\n\t\t\t\t.union([z.literal(\"ltr\"), z.literal(\"rtl\")])\n\t\t\t\t.describe(\"The direction of the language's script.\"),\n\t\t\tname: z.object({\n\t\t\t\ten: z.string().describe(\"The name of the language in English.\"),\n\t\t\t\t// These are optional because we can add a language via Crowdin and Crowdin doesn't provide these.\n\t\t\t\t// Downstream projects should prefer endonym over name_en if both are available.\n\t\t\t\ttok: z.string().optional().describe(\"The name of the language in Toki Pona.\"),\n\t\t\t\tendonym: z.string().optional().describe(\"The name of the language in that language.\"),\n\t\t\t}),\n\t\t\t// TODO: completion percentage on a per-file basis?\n\t\t\t// we also care about completion within usage categories, since the most important words are core+widespread+common\n\t\t})\n\t\t.describe(\"The languages offered by sona Linku.\"),\n);\nexport type Languages = z.infer<typeof Languages>;\nexport type Language = Languages[string];\n"],"names":["YearMonth","z","Word","Book","CoinedEra","UsageCategory","CommentaryTranslation","DefinitionTranslation","SitelenPonaTranslation","EtymologyTranslation","Sign","FingerspellingSign","ParametersTranslation","IconTranslation","Font","WritingSystem","Words","Signs","Fingerspelling","Fonts","Languages"],"mappings":"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"}
|