@tienne/gestalt 0.101.1 → 0.103.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 (192) hide show
  1. package/README.ko.md +2 -1
  2. package/README.md +2 -1
  3. package/dist/package.json +1 -1
  4. package/dist/plugin/role-agents/video-summarizer/AGENT.md +177 -113
  5. package/dist/plugin/skills/_shared/agent-delegation.md +1 -1
  6. package/dist/plugin/skills/_shared/proactive-routing.md +3 -2
  7. package/dist/plugin/skills/_shared/research-humanize.md +160 -0
  8. package/dist/plugin/skills/research/SKILL.md +20 -2
  9. package/dist/plugin/skills/research/references/design.md +14 -2
  10. package/dist/plugin/skills/reverse-plan/SKILL.md +3 -1
  11. package/dist/plugin/skills/ux-research/SKILL.md +3 -1
  12. package/dist/plugin/skills/video-digest/SKILL.md +408 -0
  13. package/dist/plugin/skills/video-digest/templates/background.md +15 -0
  14. package/dist/plugin/skills/video-digest/templates/blog.md +16 -0
  15. package/dist/plugin/skills/video-digest/templates/comments.md +19 -0
  16. package/dist/plugin/skills/video-digest/templates/counterpoints.md +15 -0
  17. package/dist/plugin/skills/video-digest/templates/flashcards.md +15 -0
  18. package/dist/plugin/skills/video-digest/templates/interview.md +15 -0
  19. package/dist/plugin/skills/video-digest/templates/meeting.md +15 -0
  20. package/dist/plugin/skills/video-digest/templates/mindmap.md +16 -0
  21. package/dist/plugin/skills/video-digest/templates/quiz.md +16 -0
  22. package/dist/plugin/skills/video-digest/templates/quotes.md +16 -0
  23. package/dist/plugin/skills/video-digest/templates/resources.md +14 -0
  24. package/dist/plugin/skills/video-digest/templates/timestamps.md +14 -0
  25. package/dist/src/cli/commands/digest.d.ts +57 -0
  26. package/dist/src/cli/commands/digest.d.ts.map +1 -0
  27. package/dist/src/cli/commands/digest.js +368 -0
  28. package/dist/src/cli/commands/digest.js.map +1 -0
  29. package/dist/src/cli/index.d.ts.map +1 -1
  30. package/dist/src/cli/index.js +77 -0
  31. package/dist/src/cli/index.js.map +1 -1
  32. package/dist/src/digest/blocks.d.ts +1853 -0
  33. package/dist/src/digest/blocks.d.ts.map +1 -0
  34. package/dist/src/digest/blocks.js +148 -0
  35. package/dist/src/digest/blocks.js.map +1 -0
  36. package/dist/src/digest/captions.d.ts +37 -0
  37. package/dist/src/digest/captions.d.ts.map +1 -0
  38. package/dist/src/digest/captions.js +138 -0
  39. package/dist/src/digest/captions.js.map +1 -0
  40. package/dist/src/digest/comments.d.ts +113 -0
  41. package/dist/src/digest/comments.d.ts.map +1 -0
  42. package/dist/src/digest/comments.js +153 -0
  43. package/dist/src/digest/comments.js.map +1 -0
  44. package/dist/src/digest/format.d.ts +9 -0
  45. package/dist/src/digest/format.d.ts.map +1 -0
  46. package/dist/src/digest/format.js +26 -0
  47. package/dist/src/digest/format.js.map +1 -0
  48. package/dist/src/digest/frames.d.ts +26 -0
  49. package/dist/src/digest/frames.d.ts.map +1 -0
  50. package/dist/src/digest/frames.js +109 -0
  51. package/dist/src/digest/frames.js.map +1 -0
  52. package/dist/src/digest/index.d.ts +25 -0
  53. package/dist/src/digest/index.d.ts.map +1 -0
  54. package/dist/src/digest/index.js +25 -0
  55. package/dist/src/digest/index.js.map +1 -0
  56. package/dist/src/digest/ingest.d.ts +65 -0
  57. package/dist/src/digest/ingest.d.ts.map +1 -0
  58. package/dist/src/digest/ingest.js +303 -0
  59. package/dist/src/digest/ingest.js.map +1 -0
  60. package/dist/src/digest/lint-extension.d.ts +57 -0
  61. package/dist/src/digest/lint-extension.d.ts.map +1 -0
  62. package/dist/src/digest/lint-extension.js +395 -0
  63. package/dist/src/digest/lint-extension.js.map +1 -0
  64. package/dist/src/digest/lint.d.ts +40 -0
  65. package/dist/src/digest/lint.d.ts.map +1 -0
  66. package/dist/src/digest/lint.js +517 -0
  67. package/dist/src/digest/lint.js.map +1 -0
  68. package/dist/src/digest/merge.d.ts +40 -0
  69. package/dist/src/digest/merge.d.ts.map +1 -0
  70. package/dist/src/digest/merge.js +104 -0
  71. package/dist/src/digest/merge.js.map +1 -0
  72. package/dist/src/digest/ocr.d.ts +96 -0
  73. package/dist/src/digest/ocr.d.ts.map +1 -0
  74. package/dist/src/digest/ocr.js +168 -0
  75. package/dist/src/digest/ocr.js.map +1 -0
  76. package/dist/src/digest/prose.d.ts +43 -0
  77. package/dist/src/digest/prose.d.ts.map +1 -0
  78. package/dist/src/digest/prose.js +112 -0
  79. package/dist/src/digest/prose.js.map +1 -0
  80. package/dist/src/digest/render-blocks.d.ts +32 -0
  81. package/dist/src/digest/render-blocks.d.ts.map +1 -0
  82. package/dist/src/digest/render-blocks.js +292 -0
  83. package/dist/src/digest/render-blocks.js.map +1 -0
  84. package/dist/src/digest/render-html.d.ts +22 -0
  85. package/dist/src/digest/render-html.d.ts.map +1 -0
  86. package/dist/src/digest/render-html.js +466 -0
  87. package/dist/src/digest/render-html.js.map +1 -0
  88. package/dist/src/digest/render-md.d.ts +18 -0
  89. package/dist/src/digest/render-md.d.ts.map +1 -0
  90. package/dist/src/digest/render-md.js +113 -0
  91. package/dist/src/digest/render-md.js.map +1 -0
  92. package/dist/src/digest/render.d.ts +47 -0
  93. package/dist/src/digest/render.d.ts.map +1 -0
  94. package/dist/src/digest/render.js +123 -0
  95. package/dist/src/digest/render.js.map +1 -0
  96. package/dist/src/digest/reports.d.ts +26 -0
  97. package/dist/src/digest/reports.d.ts.map +1 -0
  98. package/dist/src/digest/reports.js +70 -0
  99. package/dist/src/digest/reports.js.map +1 -0
  100. package/dist/src/digest/schema-base.d.ts +31 -0
  101. package/dist/src/digest/schema-base.d.ts.map +1 -0
  102. package/dist/src/digest/schema-base.js +19 -0
  103. package/dist/src/digest/schema-base.js.map +1 -0
  104. package/dist/src/digest/schema.d.ts +5713 -0
  105. package/dist/src/digest/schema.d.ts.map +1 -0
  106. package/dist/src/digest/schema.js +229 -0
  107. package/dist/src/digest/schema.js.map +1 -0
  108. package/dist/src/digest/server.d.ts +36 -0
  109. package/dist/src/digest/server.d.ts.map +1 -0
  110. package/dist/src/digest/server.js +278 -0
  111. package/dist/src/digest/server.js.map +1 -0
  112. package/dist/src/digest/slice.d.ts +20 -0
  113. package/dist/src/digest/slice.d.ts.map +1 -0
  114. package/dist/src/digest/slice.js +48 -0
  115. package/dist/src/digest/slice.js.map +1 -0
  116. package/dist/src/digest/store.d.ts +67 -0
  117. package/dist/src/digest/store.d.ts.map +1 -0
  118. package/dist/src/digest/store.js +152 -0
  119. package/dist/src/digest/store.js.map +1 -0
  120. package/dist/src/digest/svg.d.ts +44 -0
  121. package/dist/src/digest/svg.d.ts.map +1 -0
  122. package/dist/src/digest/svg.js +264 -0
  123. package/dist/src/digest/svg.js.map +1 -0
  124. package/dist/src/digest/templates.d.ts +38 -0
  125. package/dist/src/digest/templates.d.ts.map +1 -0
  126. package/dist/src/digest/templates.js +125 -0
  127. package/dist/src/digest/templates.js.map +1 -0
  128. package/dist/src/digest/translate.d.ts +46 -0
  129. package/dist/src/digest/translate.d.ts.map +1 -0
  130. package/dist/src/digest/translate.js +50 -0
  131. package/dist/src/digest/translate.js.map +1 -0
  132. package/dist/src/digest/viewer-js.d.ts +4 -0
  133. package/dist/src/digest/viewer-js.d.ts.map +1 -0
  134. package/dist/src/digest/viewer-js.js +710 -0
  135. package/dist/src/digest/viewer-js.js.map +1 -0
  136. package/dist/src/digest/viewer-logic.d.ts +46 -0
  137. package/dist/src/digest/viewer-logic.d.ts.map +1 -0
  138. package/dist/src/digest/viewer-logic.js +89 -0
  139. package/dist/src/digest/viewer-logic.js.map +1 -0
  140. package/dist/src/digest/ytdlp.d.ts +34 -0
  141. package/dist/src/digest/ytdlp.d.ts.map +1 -0
  142. package/dist/src/digest/ytdlp.js +64 -0
  143. package/dist/src/digest/ytdlp.js.map +1 -0
  144. package/dist/src/humanize/detectors.js +2 -2
  145. package/dist/src/humanize/detectors.js.map +1 -1
  146. package/dist/src/mcp/schemas.d.ts +78 -4
  147. package/dist/src/mcp/schemas.d.ts.map +1 -1
  148. package/dist/src/mcp/schemas.js +40 -2
  149. package/dist/src/mcp/schemas.js.map +1 -1
  150. package/dist/src/mcp/server.d.ts.map +1 -1
  151. package/dist/src/mcp/server.js +8 -2
  152. package/dist/src/mcp/server.js.map +1 -1
  153. package/dist/src/mcp/tools/digest-passthrough.d.ts +3 -0
  154. package/dist/src/mcp/tools/digest-passthrough.d.ts.map +1 -0
  155. package/dist/src/mcp/tools/digest-passthrough.js +148 -0
  156. package/dist/src/mcp/tools/digest-passthrough.js.map +1 -0
  157. package/dist/src/mcp/tools/research-passthrough.d.ts.map +1 -1
  158. package/dist/src/mcp/tools/research-passthrough.js +56 -0
  159. package/dist/src/mcp/tools/research-passthrough.js.map +1 -1
  160. package/dist/src/research/index.d.ts +1 -0
  161. package/dist/src/research/index.d.ts.map +1 -1
  162. package/dist/src/research/index.js +1 -0
  163. package/dist/src/research/index.js.map +1 -1
  164. package/dist/src/research/prose.d.ts +60 -0
  165. package/dist/src/research/prose.d.ts.map +1 -0
  166. package/dist/src/research/prose.js +200 -0
  167. package/dist/src/research/prose.js.map +1 -0
  168. package/package.json +1 -1
  169. package/plugin/.codex-plugin/plugin.json +1 -1
  170. package/plugin/.mcp.json +1 -1
  171. package/plugin/mcp.json +1 -1
  172. package/plugin/role-agents/video-summarizer/AGENT.md +177 -113
  173. package/plugin/skills/_shared/agent-delegation.md +1 -1
  174. package/plugin/skills/_shared/proactive-routing.md +3 -2
  175. package/plugin/skills/_shared/research-humanize.md +160 -0
  176. package/plugin/skills/research/SKILL.md +20 -2
  177. package/plugin/skills/research/references/design.md +14 -2
  178. package/plugin/skills/reverse-plan/SKILL.md +3 -1
  179. package/plugin/skills/ux-research/SKILL.md +3 -1
  180. package/plugin/skills/video-digest/SKILL.md +408 -0
  181. package/plugin/skills/video-digest/templates/background.md +15 -0
  182. package/plugin/skills/video-digest/templates/blog.md +16 -0
  183. package/plugin/skills/video-digest/templates/comments.md +19 -0
  184. package/plugin/skills/video-digest/templates/counterpoints.md +15 -0
  185. package/plugin/skills/video-digest/templates/flashcards.md +15 -0
  186. package/plugin/skills/video-digest/templates/interview.md +15 -0
  187. package/plugin/skills/video-digest/templates/meeting.md +15 -0
  188. package/plugin/skills/video-digest/templates/mindmap.md +16 -0
  189. package/plugin/skills/video-digest/templates/quiz.md +16 -0
  190. package/plugin/skills/video-digest/templates/quotes.md +16 -0
  191. package/plugin/skills/video-digest/templates/resources.md +14 -0
  192. package/plugin/skills/video-digest/templates/timestamps.md +14 -0
@@ -0,0 +1,1853 @@
1
+ import { z } from 'zod';
2
+ import { citeSchema } from './schema-base.js';
3
+ /**
4
+ * 확장 리포트(회의록, 퀴즈 같은 템플릿 결과)를 이루는 블록.
5
+ * 템플릿은 이 중에서 쓸 블록을 고르고 렌더러가 타입마다 정해진 꼴로 그린다.
6
+ * 요약 에이전트는 HTML이나 SVG를 쓰지 않고 이 구조만 채운다
7
+ */
8
+ export declare const TEMPLATE_ID_PATTERN: RegExp;
9
+ export declare const templateIdSchema: z.ZodString;
10
+ export interface ListItem {
11
+ text: string;
12
+ cite?: z.infer<typeof citeSchema>;
13
+ children?: ListItem[];
14
+ }
15
+ export declare const listItemSchema: z.ZodType<ListItem>;
16
+ export declare const headingBlockSchema: z.ZodObject<{
17
+ type: z.ZodLiteral<"heading">;
18
+ text: z.ZodString;
19
+ }, "strip", z.ZodTypeAny, {
20
+ text: string;
21
+ type: "heading";
22
+ }, {
23
+ text: string;
24
+ type: "heading";
25
+ }>;
26
+ export declare const textBlockSchema: z.ZodObject<{
27
+ type: z.ZodLiteral<"text">;
28
+ text: z.ZodString;
29
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
30
+ key: z.ZodNumber;
31
+ from: z.ZodNumber;
32
+ to: z.ZodNumber;
33
+ }, "strip", z.ZodTypeAny, {
34
+ key: number;
35
+ from: number;
36
+ to: number;
37
+ }, {
38
+ key: number;
39
+ from: number;
40
+ to: number;
41
+ }>, {
42
+ key: number;
43
+ from: number;
44
+ to: number;
45
+ }, {
46
+ key: number;
47
+ from: number;
48
+ to: number;
49
+ }>>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ text: string;
52
+ type: "text";
53
+ cite?: {
54
+ key: number;
55
+ from: number;
56
+ to: number;
57
+ } | undefined;
58
+ }, {
59
+ text: string;
60
+ type: "text";
61
+ cite?: {
62
+ key: number;
63
+ from: number;
64
+ to: number;
65
+ } | undefined;
66
+ }>;
67
+ export declare const listBlockSchema: z.ZodObject<{
68
+ type: z.ZodLiteral<"list">;
69
+ title: z.ZodOptional<z.ZodString>;
70
+ items: z.ZodArray<z.ZodType<ListItem, z.ZodTypeDef, ListItem>, "many">;
71
+ }, "strip", z.ZodTypeAny, {
72
+ type: "list";
73
+ items: ListItem[];
74
+ title?: string | undefined;
75
+ }, {
76
+ type: "list";
77
+ items: ListItem[];
78
+ title?: string | undefined;
79
+ }>;
80
+ /** 대사를 그대로 옮긴 인용. 영상 언어와 리포트 언어가 다르면 번역은 translation에 따로 둔다 */
81
+ export declare const quoteBlockSchema: z.ZodObject<{
82
+ type: z.ZodLiteral<"quote">;
83
+ text: z.ZodString;
84
+ translation: z.ZodOptional<z.ZodString>;
85
+ speaker: z.ZodOptional<z.ZodString>;
86
+ note: z.ZodOptional<z.ZodString>;
87
+ cite: z.ZodEffects<z.ZodObject<{
88
+ key: z.ZodNumber;
89
+ from: z.ZodNumber;
90
+ to: z.ZodNumber;
91
+ }, "strip", z.ZodTypeAny, {
92
+ key: number;
93
+ from: number;
94
+ to: number;
95
+ }, {
96
+ key: number;
97
+ from: number;
98
+ to: number;
99
+ }>, {
100
+ key: number;
101
+ from: number;
102
+ to: number;
103
+ }, {
104
+ key: number;
105
+ from: number;
106
+ to: number;
107
+ }>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ text: string;
110
+ type: "quote";
111
+ cite: {
112
+ key: number;
113
+ from: number;
114
+ to: number;
115
+ };
116
+ note?: string | undefined;
117
+ translation?: string | undefined;
118
+ speaker?: string | undefined;
119
+ }, {
120
+ text: string;
121
+ type: "quote";
122
+ cite: {
123
+ key: number;
124
+ from: number;
125
+ to: number;
126
+ };
127
+ note?: string | undefined;
128
+ translation?: string | undefined;
129
+ speaker?: string | undefined;
130
+ }>;
131
+ /** 영상 목차. 시각은 cite.key 문장의 시작 시각을 쓴다 */
132
+ export declare const timestampsBlockSchema: z.ZodObject<{
133
+ type: z.ZodLiteral<"timestamps">;
134
+ items: z.ZodArray<z.ZodObject<{
135
+ title: z.ZodString;
136
+ summary: z.ZodOptional<z.ZodString>;
137
+ cite: z.ZodEffects<z.ZodObject<{
138
+ key: z.ZodNumber;
139
+ from: z.ZodNumber;
140
+ to: z.ZodNumber;
141
+ }, "strip", z.ZodTypeAny, {
142
+ key: number;
143
+ from: number;
144
+ to: number;
145
+ }, {
146
+ key: number;
147
+ from: number;
148
+ to: number;
149
+ }>, {
150
+ key: number;
151
+ from: number;
152
+ to: number;
153
+ }, {
154
+ key: number;
155
+ from: number;
156
+ to: number;
157
+ }>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ title: string;
160
+ cite: {
161
+ key: number;
162
+ from: number;
163
+ to: number;
164
+ };
165
+ summary?: string | undefined;
166
+ }, {
167
+ title: string;
168
+ cite: {
169
+ key: number;
170
+ from: number;
171
+ to: number;
172
+ };
173
+ summary?: string | undefined;
174
+ }>, "many">;
175
+ }, "strip", z.ZodTypeAny, {
176
+ type: "timestamps";
177
+ items: {
178
+ title: string;
179
+ cite: {
180
+ key: number;
181
+ from: number;
182
+ to: number;
183
+ };
184
+ summary?: string | undefined;
185
+ }[];
186
+ }, {
187
+ type: "timestamps";
188
+ items: {
189
+ title: string;
190
+ cite: {
191
+ key: number;
192
+ from: number;
193
+ to: number;
194
+ };
195
+ summary?: string | undefined;
196
+ }[];
197
+ }>;
198
+ export declare const actionsBlockSchema: z.ZodObject<{
199
+ type: z.ZodLiteral<"actions">;
200
+ items: z.ZodArray<z.ZodObject<{
201
+ task: z.ZodString;
202
+ owner: z.ZodOptional<z.ZodString>;
203
+ due: z.ZodOptional<z.ZodString>;
204
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
205
+ key: z.ZodNumber;
206
+ from: z.ZodNumber;
207
+ to: z.ZodNumber;
208
+ }, "strip", z.ZodTypeAny, {
209
+ key: number;
210
+ from: number;
211
+ to: number;
212
+ }, {
213
+ key: number;
214
+ from: number;
215
+ to: number;
216
+ }>, {
217
+ key: number;
218
+ from: number;
219
+ to: number;
220
+ }, {
221
+ key: number;
222
+ from: number;
223
+ to: number;
224
+ }>>;
225
+ }, "strip", z.ZodTypeAny, {
226
+ task: string;
227
+ owner?: string | undefined;
228
+ cite?: {
229
+ key: number;
230
+ from: number;
231
+ to: number;
232
+ } | undefined;
233
+ due?: string | undefined;
234
+ }, {
235
+ task: string;
236
+ owner?: string | undefined;
237
+ cite?: {
238
+ key: number;
239
+ from: number;
240
+ to: number;
241
+ } | undefined;
242
+ due?: string | undefined;
243
+ }>, "many">;
244
+ }, "strip", z.ZodTypeAny, {
245
+ type: "actions";
246
+ items: {
247
+ task: string;
248
+ owner?: string | undefined;
249
+ cite?: {
250
+ key: number;
251
+ from: number;
252
+ to: number;
253
+ } | undefined;
254
+ due?: string | undefined;
255
+ }[];
256
+ }, {
257
+ type: "actions";
258
+ items: {
259
+ task: string;
260
+ owner?: string | undefined;
261
+ cite?: {
262
+ key: number;
263
+ from: number;
264
+ to: number;
265
+ } | undefined;
266
+ due?: string | undefined;
267
+ }[];
268
+ }>;
269
+ export declare const qaBlockSchema: z.ZodObject<{
270
+ type: z.ZodLiteral<"qa">;
271
+ items: z.ZodArray<z.ZodObject<{
272
+ question: z.ZodString;
273
+ answer: z.ZodString;
274
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
275
+ key: z.ZodNumber;
276
+ from: z.ZodNumber;
277
+ to: z.ZodNumber;
278
+ }, "strip", z.ZodTypeAny, {
279
+ key: number;
280
+ from: number;
281
+ to: number;
282
+ }, {
283
+ key: number;
284
+ from: number;
285
+ to: number;
286
+ }>, {
287
+ key: number;
288
+ from: number;
289
+ to: number;
290
+ }, {
291
+ key: number;
292
+ from: number;
293
+ to: number;
294
+ }>>;
295
+ }, "strip", z.ZodTypeAny, {
296
+ question: string;
297
+ answer: string;
298
+ cite?: {
299
+ key: number;
300
+ from: number;
301
+ to: number;
302
+ } | undefined;
303
+ }, {
304
+ question: string;
305
+ answer: string;
306
+ cite?: {
307
+ key: number;
308
+ from: number;
309
+ to: number;
310
+ } | undefined;
311
+ }>, "many">;
312
+ }, "strip", z.ZodTypeAny, {
313
+ type: "qa";
314
+ items: {
315
+ question: string;
316
+ answer: string;
317
+ cite?: {
318
+ key: number;
319
+ from: number;
320
+ to: number;
321
+ } | undefined;
322
+ }[];
323
+ }, {
324
+ type: "qa";
325
+ items: {
326
+ question: string;
327
+ answer: string;
328
+ cite?: {
329
+ key: number;
330
+ from: number;
331
+ to: number;
332
+ } | undefined;
333
+ }[];
334
+ }>;
335
+ /** 앞면을 누르면 뒷면이 열린다. HTML은 details라 스크립트 없이 뒤집힌다 */
336
+ export declare const flashcardsBlockSchema: z.ZodObject<{
337
+ type: z.ZodLiteral<"flashcards">;
338
+ cards: z.ZodArray<z.ZodObject<{
339
+ front: z.ZodString;
340
+ back: z.ZodString;
341
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
342
+ key: z.ZodNumber;
343
+ from: z.ZodNumber;
344
+ to: z.ZodNumber;
345
+ }, "strip", z.ZodTypeAny, {
346
+ key: number;
347
+ from: number;
348
+ to: number;
349
+ }, {
350
+ key: number;
351
+ from: number;
352
+ to: number;
353
+ }>, {
354
+ key: number;
355
+ from: number;
356
+ to: number;
357
+ }, {
358
+ key: number;
359
+ from: number;
360
+ to: number;
361
+ }>>;
362
+ }, "strip", z.ZodTypeAny, {
363
+ back: string;
364
+ front: string;
365
+ cite?: {
366
+ key: number;
367
+ from: number;
368
+ to: number;
369
+ } | undefined;
370
+ }, {
371
+ back: string;
372
+ front: string;
373
+ cite?: {
374
+ key: number;
375
+ from: number;
376
+ to: number;
377
+ } | undefined;
378
+ }>, "many">;
379
+ }, "strip", z.ZodTypeAny, {
380
+ type: "flashcards";
381
+ cards: {
382
+ back: string;
383
+ front: string;
384
+ cite?: {
385
+ key: number;
386
+ from: number;
387
+ to: number;
388
+ } | undefined;
389
+ }[];
390
+ }, {
391
+ type: "flashcards";
392
+ cards: {
393
+ back: string;
394
+ front: string;
395
+ cite?: {
396
+ key: number;
397
+ from: number;
398
+ to: number;
399
+ } | undefined;
400
+ }[];
401
+ }>;
402
+ /** answer는 choices의 0부터 센 자리다. 범위 밖이면 lint가 오류로 막는다 */
403
+ export declare const quizBlockSchema: z.ZodObject<{
404
+ type: z.ZodLiteral<"quiz">;
405
+ questions: z.ZodArray<z.ZodObject<{
406
+ question: z.ZodString;
407
+ choices: z.ZodArray<z.ZodString, "many">;
408
+ answer: z.ZodNumber;
409
+ explanation: z.ZodString;
410
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
411
+ key: z.ZodNumber;
412
+ from: z.ZodNumber;
413
+ to: z.ZodNumber;
414
+ }, "strip", z.ZodTypeAny, {
415
+ key: number;
416
+ from: number;
417
+ to: number;
418
+ }, {
419
+ key: number;
420
+ from: number;
421
+ to: number;
422
+ }>, {
423
+ key: number;
424
+ from: number;
425
+ to: number;
426
+ }, {
427
+ key: number;
428
+ from: number;
429
+ to: number;
430
+ }>>;
431
+ }, "strip", z.ZodTypeAny, {
432
+ question: string;
433
+ choices: string[];
434
+ answer: number;
435
+ explanation: string;
436
+ cite?: {
437
+ key: number;
438
+ from: number;
439
+ to: number;
440
+ } | undefined;
441
+ }, {
442
+ question: string;
443
+ choices: string[];
444
+ answer: number;
445
+ explanation: string;
446
+ cite?: {
447
+ key: number;
448
+ from: number;
449
+ to: number;
450
+ } | undefined;
451
+ }>, "many">;
452
+ }, "strip", z.ZodTypeAny, {
453
+ type: "quiz";
454
+ questions: {
455
+ question: string;
456
+ choices: string[];
457
+ answer: number;
458
+ explanation: string;
459
+ cite?: {
460
+ key: number;
461
+ from: number;
462
+ to: number;
463
+ } | undefined;
464
+ }[];
465
+ }, {
466
+ type: "quiz";
467
+ questions: {
468
+ question: string;
469
+ choices: string[];
470
+ answer: number;
471
+ explanation: string;
472
+ cite?: {
473
+ key: number;
474
+ from: number;
475
+ to: number;
476
+ } | undefined;
477
+ }[];
478
+ }>;
479
+ export interface MindmapNode {
480
+ label: string;
481
+ cite?: z.infer<typeof citeSchema>;
482
+ children?: MindmapNode[];
483
+ }
484
+ /** 깊이와 노드 수 상한은 lint가 경로와 함께 잡는다. 그림이 화면을 넘지 않게 하려는 것이다 */
485
+ export declare const mindmapNodeSchema: z.ZodType<MindmapNode>;
486
+ /** SVG 원문은 받지 않는다. 트리 구조만 받고 그림은 렌더러가 그린다 */
487
+ export declare const mindmapBlockSchema: z.ZodObject<{
488
+ type: z.ZodLiteral<"mindmap">;
489
+ root: z.ZodType<MindmapNode, z.ZodTypeDef, MindmapNode>;
490
+ }, "strip", z.ZodTypeAny, {
491
+ type: "mindmap";
492
+ root: MindmapNode;
493
+ }, {
494
+ type: "mindmap";
495
+ root: MindmapNode;
496
+ }>;
497
+ export declare const COMMENT_TONES: readonly ["positive", "negative", "neutral", "question"];
498
+ /** yt-dlp가 주는 댓글 id. 영숫자와 -, _, .만 온다 */
499
+ export declare const commentIdSchema: z.ZodString;
500
+ /** 댓글을 성격별로 묶은 분석. examples.text는 댓글 원문이고 lint가 comments.json과 대조한다 */
501
+ export declare const commentsBlockSchema: z.ZodObject<{
502
+ type: z.ZodLiteral<"comments">;
503
+ total: z.ZodNumber;
504
+ overview: z.ZodString;
505
+ groups: z.ZodArray<z.ZodObject<{
506
+ title: z.ZodString;
507
+ tone: z.ZodEnum<["positive", "negative", "neutral", "question"]>;
508
+ count: z.ZodNumber;
509
+ summary: z.ZodString;
510
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
511
+ id: z.ZodString;
512
+ text: z.ZodString;
513
+ }, "strip", z.ZodTypeAny, {
514
+ text: string;
515
+ id: string;
516
+ }, {
517
+ text: string;
518
+ id: string;
519
+ }>, "many">>;
520
+ }, "strip", z.ZodTypeAny, {
521
+ title: string;
522
+ summary: string;
523
+ count: number;
524
+ tone: "question" | "positive" | "negative" | "neutral";
525
+ examples: {
526
+ text: string;
527
+ id: string;
528
+ }[];
529
+ }, {
530
+ title: string;
531
+ summary: string;
532
+ count: number;
533
+ tone: "question" | "positive" | "negative" | "neutral";
534
+ examples?: {
535
+ text: string;
536
+ id: string;
537
+ }[] | undefined;
538
+ }>, "many">;
539
+ }, "strip", z.ZodTypeAny, {
540
+ type: "comments";
541
+ total: number;
542
+ groups: {
543
+ title: string;
544
+ summary: string;
545
+ count: number;
546
+ tone: "question" | "positive" | "negative" | "neutral";
547
+ examples: {
548
+ text: string;
549
+ id: string;
550
+ }[];
551
+ }[];
552
+ overview: string;
553
+ }, {
554
+ type: "comments";
555
+ total: number;
556
+ groups: {
557
+ title: string;
558
+ summary: string;
559
+ count: number;
560
+ tone: "question" | "positive" | "negative" | "neutral";
561
+ examples?: {
562
+ text: string;
563
+ id: string;
564
+ }[] | undefined;
565
+ }[];
566
+ overview: string;
567
+ }>;
568
+ export declare const blockSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
569
+ type: z.ZodLiteral<"heading">;
570
+ text: z.ZodString;
571
+ }, "strip", z.ZodTypeAny, {
572
+ text: string;
573
+ type: "heading";
574
+ }, {
575
+ text: string;
576
+ type: "heading";
577
+ }>, z.ZodObject<{
578
+ type: z.ZodLiteral<"text">;
579
+ text: z.ZodString;
580
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
581
+ key: z.ZodNumber;
582
+ from: z.ZodNumber;
583
+ to: z.ZodNumber;
584
+ }, "strip", z.ZodTypeAny, {
585
+ key: number;
586
+ from: number;
587
+ to: number;
588
+ }, {
589
+ key: number;
590
+ from: number;
591
+ to: number;
592
+ }>, {
593
+ key: number;
594
+ from: number;
595
+ to: number;
596
+ }, {
597
+ key: number;
598
+ from: number;
599
+ to: number;
600
+ }>>;
601
+ }, "strip", z.ZodTypeAny, {
602
+ text: string;
603
+ type: "text";
604
+ cite?: {
605
+ key: number;
606
+ from: number;
607
+ to: number;
608
+ } | undefined;
609
+ }, {
610
+ text: string;
611
+ type: "text";
612
+ cite?: {
613
+ key: number;
614
+ from: number;
615
+ to: number;
616
+ } | undefined;
617
+ }>, z.ZodObject<{
618
+ type: z.ZodLiteral<"list">;
619
+ title: z.ZodOptional<z.ZodString>;
620
+ items: z.ZodArray<z.ZodType<ListItem, z.ZodTypeDef, ListItem>, "many">;
621
+ }, "strip", z.ZodTypeAny, {
622
+ type: "list";
623
+ items: ListItem[];
624
+ title?: string | undefined;
625
+ }, {
626
+ type: "list";
627
+ items: ListItem[];
628
+ title?: string | undefined;
629
+ }>, z.ZodObject<{
630
+ type: z.ZodLiteral<"quote">;
631
+ text: z.ZodString;
632
+ translation: z.ZodOptional<z.ZodString>;
633
+ speaker: z.ZodOptional<z.ZodString>;
634
+ note: z.ZodOptional<z.ZodString>;
635
+ cite: z.ZodEffects<z.ZodObject<{
636
+ key: z.ZodNumber;
637
+ from: z.ZodNumber;
638
+ to: z.ZodNumber;
639
+ }, "strip", z.ZodTypeAny, {
640
+ key: number;
641
+ from: number;
642
+ to: number;
643
+ }, {
644
+ key: number;
645
+ from: number;
646
+ to: number;
647
+ }>, {
648
+ key: number;
649
+ from: number;
650
+ to: number;
651
+ }, {
652
+ key: number;
653
+ from: number;
654
+ to: number;
655
+ }>;
656
+ }, "strip", z.ZodTypeAny, {
657
+ text: string;
658
+ type: "quote";
659
+ cite: {
660
+ key: number;
661
+ from: number;
662
+ to: number;
663
+ };
664
+ note?: string | undefined;
665
+ translation?: string | undefined;
666
+ speaker?: string | undefined;
667
+ }, {
668
+ text: string;
669
+ type: "quote";
670
+ cite: {
671
+ key: number;
672
+ from: number;
673
+ to: number;
674
+ };
675
+ note?: string | undefined;
676
+ translation?: string | undefined;
677
+ speaker?: string | undefined;
678
+ }>, z.ZodObject<{
679
+ type: z.ZodLiteral<"timestamps">;
680
+ items: z.ZodArray<z.ZodObject<{
681
+ title: z.ZodString;
682
+ summary: z.ZodOptional<z.ZodString>;
683
+ cite: z.ZodEffects<z.ZodObject<{
684
+ key: z.ZodNumber;
685
+ from: z.ZodNumber;
686
+ to: z.ZodNumber;
687
+ }, "strip", z.ZodTypeAny, {
688
+ key: number;
689
+ from: number;
690
+ to: number;
691
+ }, {
692
+ key: number;
693
+ from: number;
694
+ to: number;
695
+ }>, {
696
+ key: number;
697
+ from: number;
698
+ to: number;
699
+ }, {
700
+ key: number;
701
+ from: number;
702
+ to: number;
703
+ }>;
704
+ }, "strip", z.ZodTypeAny, {
705
+ title: string;
706
+ cite: {
707
+ key: number;
708
+ from: number;
709
+ to: number;
710
+ };
711
+ summary?: string | undefined;
712
+ }, {
713
+ title: string;
714
+ cite: {
715
+ key: number;
716
+ from: number;
717
+ to: number;
718
+ };
719
+ summary?: string | undefined;
720
+ }>, "many">;
721
+ }, "strip", z.ZodTypeAny, {
722
+ type: "timestamps";
723
+ items: {
724
+ title: string;
725
+ cite: {
726
+ key: number;
727
+ from: number;
728
+ to: number;
729
+ };
730
+ summary?: string | undefined;
731
+ }[];
732
+ }, {
733
+ type: "timestamps";
734
+ items: {
735
+ title: string;
736
+ cite: {
737
+ key: number;
738
+ from: number;
739
+ to: number;
740
+ };
741
+ summary?: string | undefined;
742
+ }[];
743
+ }>, z.ZodObject<{
744
+ type: z.ZodLiteral<"actions">;
745
+ items: z.ZodArray<z.ZodObject<{
746
+ task: z.ZodString;
747
+ owner: z.ZodOptional<z.ZodString>;
748
+ due: z.ZodOptional<z.ZodString>;
749
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
750
+ key: z.ZodNumber;
751
+ from: z.ZodNumber;
752
+ to: z.ZodNumber;
753
+ }, "strip", z.ZodTypeAny, {
754
+ key: number;
755
+ from: number;
756
+ to: number;
757
+ }, {
758
+ key: number;
759
+ from: number;
760
+ to: number;
761
+ }>, {
762
+ key: number;
763
+ from: number;
764
+ to: number;
765
+ }, {
766
+ key: number;
767
+ from: number;
768
+ to: number;
769
+ }>>;
770
+ }, "strip", z.ZodTypeAny, {
771
+ task: string;
772
+ owner?: string | undefined;
773
+ cite?: {
774
+ key: number;
775
+ from: number;
776
+ to: number;
777
+ } | undefined;
778
+ due?: string | undefined;
779
+ }, {
780
+ task: string;
781
+ owner?: string | undefined;
782
+ cite?: {
783
+ key: number;
784
+ from: number;
785
+ to: number;
786
+ } | undefined;
787
+ due?: string | undefined;
788
+ }>, "many">;
789
+ }, "strip", z.ZodTypeAny, {
790
+ type: "actions";
791
+ items: {
792
+ task: string;
793
+ owner?: string | undefined;
794
+ cite?: {
795
+ key: number;
796
+ from: number;
797
+ to: number;
798
+ } | undefined;
799
+ due?: string | undefined;
800
+ }[];
801
+ }, {
802
+ type: "actions";
803
+ items: {
804
+ task: string;
805
+ owner?: string | undefined;
806
+ cite?: {
807
+ key: number;
808
+ from: number;
809
+ to: number;
810
+ } | undefined;
811
+ due?: string | undefined;
812
+ }[];
813
+ }>, z.ZodObject<{
814
+ type: z.ZodLiteral<"qa">;
815
+ items: z.ZodArray<z.ZodObject<{
816
+ question: z.ZodString;
817
+ answer: z.ZodString;
818
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
819
+ key: z.ZodNumber;
820
+ from: z.ZodNumber;
821
+ to: z.ZodNumber;
822
+ }, "strip", z.ZodTypeAny, {
823
+ key: number;
824
+ from: number;
825
+ to: number;
826
+ }, {
827
+ key: number;
828
+ from: number;
829
+ to: number;
830
+ }>, {
831
+ key: number;
832
+ from: number;
833
+ to: number;
834
+ }, {
835
+ key: number;
836
+ from: number;
837
+ to: number;
838
+ }>>;
839
+ }, "strip", z.ZodTypeAny, {
840
+ question: string;
841
+ answer: string;
842
+ cite?: {
843
+ key: number;
844
+ from: number;
845
+ to: number;
846
+ } | undefined;
847
+ }, {
848
+ question: string;
849
+ answer: string;
850
+ cite?: {
851
+ key: number;
852
+ from: number;
853
+ to: number;
854
+ } | undefined;
855
+ }>, "many">;
856
+ }, "strip", z.ZodTypeAny, {
857
+ type: "qa";
858
+ items: {
859
+ question: string;
860
+ answer: string;
861
+ cite?: {
862
+ key: number;
863
+ from: number;
864
+ to: number;
865
+ } | undefined;
866
+ }[];
867
+ }, {
868
+ type: "qa";
869
+ items: {
870
+ question: string;
871
+ answer: string;
872
+ cite?: {
873
+ key: number;
874
+ from: number;
875
+ to: number;
876
+ } | undefined;
877
+ }[];
878
+ }>, z.ZodObject<{
879
+ type: z.ZodLiteral<"flashcards">;
880
+ cards: z.ZodArray<z.ZodObject<{
881
+ front: z.ZodString;
882
+ back: z.ZodString;
883
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
884
+ key: z.ZodNumber;
885
+ from: z.ZodNumber;
886
+ to: z.ZodNumber;
887
+ }, "strip", z.ZodTypeAny, {
888
+ key: number;
889
+ from: number;
890
+ to: number;
891
+ }, {
892
+ key: number;
893
+ from: number;
894
+ to: number;
895
+ }>, {
896
+ key: number;
897
+ from: number;
898
+ to: number;
899
+ }, {
900
+ key: number;
901
+ from: number;
902
+ to: number;
903
+ }>>;
904
+ }, "strip", z.ZodTypeAny, {
905
+ back: string;
906
+ front: string;
907
+ cite?: {
908
+ key: number;
909
+ from: number;
910
+ to: number;
911
+ } | undefined;
912
+ }, {
913
+ back: string;
914
+ front: string;
915
+ cite?: {
916
+ key: number;
917
+ from: number;
918
+ to: number;
919
+ } | undefined;
920
+ }>, "many">;
921
+ }, "strip", z.ZodTypeAny, {
922
+ type: "flashcards";
923
+ cards: {
924
+ back: string;
925
+ front: string;
926
+ cite?: {
927
+ key: number;
928
+ from: number;
929
+ to: number;
930
+ } | undefined;
931
+ }[];
932
+ }, {
933
+ type: "flashcards";
934
+ cards: {
935
+ back: string;
936
+ front: string;
937
+ cite?: {
938
+ key: number;
939
+ from: number;
940
+ to: number;
941
+ } | undefined;
942
+ }[];
943
+ }>, z.ZodObject<{
944
+ type: z.ZodLiteral<"quiz">;
945
+ questions: z.ZodArray<z.ZodObject<{
946
+ question: z.ZodString;
947
+ choices: z.ZodArray<z.ZodString, "many">;
948
+ answer: z.ZodNumber;
949
+ explanation: z.ZodString;
950
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
951
+ key: z.ZodNumber;
952
+ from: z.ZodNumber;
953
+ to: z.ZodNumber;
954
+ }, "strip", z.ZodTypeAny, {
955
+ key: number;
956
+ from: number;
957
+ to: number;
958
+ }, {
959
+ key: number;
960
+ from: number;
961
+ to: number;
962
+ }>, {
963
+ key: number;
964
+ from: number;
965
+ to: number;
966
+ }, {
967
+ key: number;
968
+ from: number;
969
+ to: number;
970
+ }>>;
971
+ }, "strip", z.ZodTypeAny, {
972
+ question: string;
973
+ choices: string[];
974
+ answer: number;
975
+ explanation: string;
976
+ cite?: {
977
+ key: number;
978
+ from: number;
979
+ to: number;
980
+ } | undefined;
981
+ }, {
982
+ question: string;
983
+ choices: string[];
984
+ answer: number;
985
+ explanation: string;
986
+ cite?: {
987
+ key: number;
988
+ from: number;
989
+ to: number;
990
+ } | undefined;
991
+ }>, "many">;
992
+ }, "strip", z.ZodTypeAny, {
993
+ type: "quiz";
994
+ questions: {
995
+ question: string;
996
+ choices: string[];
997
+ answer: number;
998
+ explanation: string;
999
+ cite?: {
1000
+ key: number;
1001
+ from: number;
1002
+ to: number;
1003
+ } | undefined;
1004
+ }[];
1005
+ }, {
1006
+ type: "quiz";
1007
+ questions: {
1008
+ question: string;
1009
+ choices: string[];
1010
+ answer: number;
1011
+ explanation: string;
1012
+ cite?: {
1013
+ key: number;
1014
+ from: number;
1015
+ to: number;
1016
+ } | undefined;
1017
+ }[];
1018
+ }>, z.ZodObject<{
1019
+ type: z.ZodLiteral<"mindmap">;
1020
+ root: z.ZodType<MindmapNode, z.ZodTypeDef, MindmapNode>;
1021
+ }, "strip", z.ZodTypeAny, {
1022
+ type: "mindmap";
1023
+ root: MindmapNode;
1024
+ }, {
1025
+ type: "mindmap";
1026
+ root: MindmapNode;
1027
+ }>, z.ZodObject<{
1028
+ type: z.ZodLiteral<"comments">;
1029
+ total: z.ZodNumber;
1030
+ overview: z.ZodString;
1031
+ groups: z.ZodArray<z.ZodObject<{
1032
+ title: z.ZodString;
1033
+ tone: z.ZodEnum<["positive", "negative", "neutral", "question"]>;
1034
+ count: z.ZodNumber;
1035
+ summary: z.ZodString;
1036
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
1037
+ id: z.ZodString;
1038
+ text: z.ZodString;
1039
+ }, "strip", z.ZodTypeAny, {
1040
+ text: string;
1041
+ id: string;
1042
+ }, {
1043
+ text: string;
1044
+ id: string;
1045
+ }>, "many">>;
1046
+ }, "strip", z.ZodTypeAny, {
1047
+ title: string;
1048
+ summary: string;
1049
+ count: number;
1050
+ tone: "question" | "positive" | "negative" | "neutral";
1051
+ examples: {
1052
+ text: string;
1053
+ id: string;
1054
+ }[];
1055
+ }, {
1056
+ title: string;
1057
+ summary: string;
1058
+ count: number;
1059
+ tone: "question" | "positive" | "negative" | "neutral";
1060
+ examples?: {
1061
+ text: string;
1062
+ id: string;
1063
+ }[] | undefined;
1064
+ }>, "many">;
1065
+ }, "strip", z.ZodTypeAny, {
1066
+ type: "comments";
1067
+ total: number;
1068
+ groups: {
1069
+ title: string;
1070
+ summary: string;
1071
+ count: number;
1072
+ tone: "question" | "positive" | "negative" | "neutral";
1073
+ examples: {
1074
+ text: string;
1075
+ id: string;
1076
+ }[];
1077
+ }[];
1078
+ overview: string;
1079
+ }, {
1080
+ type: "comments";
1081
+ total: number;
1082
+ groups: {
1083
+ title: string;
1084
+ summary: string;
1085
+ count: number;
1086
+ tone: "question" | "positive" | "negative" | "neutral";
1087
+ examples?: {
1088
+ text: string;
1089
+ id: string;
1090
+ }[] | undefined;
1091
+ }[];
1092
+ overview: string;
1093
+ }>]>;
1094
+ export declare const BLOCK_TYPES: ("text" | "qa" | "list" | "actions" | "heading" | "comments" | "quote" | "timestamps" | "flashcards" | "quiz" | "mindmap")[];
1095
+ export type BlockType = (typeof BLOCK_TYPES)[number];
1096
+ export declare const extensionSchema: z.ZodObject<{
1097
+ template: z.ZodString;
1098
+ title: z.ZodString;
1099
+ lang: z.ZodDefault<z.ZodString>;
1100
+ blocks: z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
1101
+ type: z.ZodLiteral<"heading">;
1102
+ text: z.ZodString;
1103
+ }, "strip", z.ZodTypeAny, {
1104
+ text: string;
1105
+ type: "heading";
1106
+ }, {
1107
+ text: string;
1108
+ type: "heading";
1109
+ }>, z.ZodObject<{
1110
+ type: z.ZodLiteral<"text">;
1111
+ text: z.ZodString;
1112
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1113
+ key: z.ZodNumber;
1114
+ from: z.ZodNumber;
1115
+ to: z.ZodNumber;
1116
+ }, "strip", z.ZodTypeAny, {
1117
+ key: number;
1118
+ from: number;
1119
+ to: number;
1120
+ }, {
1121
+ key: number;
1122
+ from: number;
1123
+ to: number;
1124
+ }>, {
1125
+ key: number;
1126
+ from: number;
1127
+ to: number;
1128
+ }, {
1129
+ key: number;
1130
+ from: number;
1131
+ to: number;
1132
+ }>>;
1133
+ }, "strip", z.ZodTypeAny, {
1134
+ text: string;
1135
+ type: "text";
1136
+ cite?: {
1137
+ key: number;
1138
+ from: number;
1139
+ to: number;
1140
+ } | undefined;
1141
+ }, {
1142
+ text: string;
1143
+ type: "text";
1144
+ cite?: {
1145
+ key: number;
1146
+ from: number;
1147
+ to: number;
1148
+ } | undefined;
1149
+ }>, z.ZodObject<{
1150
+ type: z.ZodLiteral<"list">;
1151
+ title: z.ZodOptional<z.ZodString>;
1152
+ items: z.ZodArray<z.ZodType<ListItem, z.ZodTypeDef, ListItem>, "many">;
1153
+ }, "strip", z.ZodTypeAny, {
1154
+ type: "list";
1155
+ items: ListItem[];
1156
+ title?: string | undefined;
1157
+ }, {
1158
+ type: "list";
1159
+ items: ListItem[];
1160
+ title?: string | undefined;
1161
+ }>, z.ZodObject<{
1162
+ type: z.ZodLiteral<"quote">;
1163
+ text: z.ZodString;
1164
+ translation: z.ZodOptional<z.ZodString>;
1165
+ speaker: z.ZodOptional<z.ZodString>;
1166
+ note: z.ZodOptional<z.ZodString>;
1167
+ cite: z.ZodEffects<z.ZodObject<{
1168
+ key: z.ZodNumber;
1169
+ from: z.ZodNumber;
1170
+ to: z.ZodNumber;
1171
+ }, "strip", z.ZodTypeAny, {
1172
+ key: number;
1173
+ from: number;
1174
+ to: number;
1175
+ }, {
1176
+ key: number;
1177
+ from: number;
1178
+ to: number;
1179
+ }>, {
1180
+ key: number;
1181
+ from: number;
1182
+ to: number;
1183
+ }, {
1184
+ key: number;
1185
+ from: number;
1186
+ to: number;
1187
+ }>;
1188
+ }, "strip", z.ZodTypeAny, {
1189
+ text: string;
1190
+ type: "quote";
1191
+ cite: {
1192
+ key: number;
1193
+ from: number;
1194
+ to: number;
1195
+ };
1196
+ note?: string | undefined;
1197
+ translation?: string | undefined;
1198
+ speaker?: string | undefined;
1199
+ }, {
1200
+ text: string;
1201
+ type: "quote";
1202
+ cite: {
1203
+ key: number;
1204
+ from: number;
1205
+ to: number;
1206
+ };
1207
+ note?: string | undefined;
1208
+ translation?: string | undefined;
1209
+ speaker?: string | undefined;
1210
+ }>, z.ZodObject<{
1211
+ type: z.ZodLiteral<"timestamps">;
1212
+ items: z.ZodArray<z.ZodObject<{
1213
+ title: z.ZodString;
1214
+ summary: z.ZodOptional<z.ZodString>;
1215
+ cite: z.ZodEffects<z.ZodObject<{
1216
+ key: z.ZodNumber;
1217
+ from: z.ZodNumber;
1218
+ to: z.ZodNumber;
1219
+ }, "strip", z.ZodTypeAny, {
1220
+ key: number;
1221
+ from: number;
1222
+ to: number;
1223
+ }, {
1224
+ key: number;
1225
+ from: number;
1226
+ to: number;
1227
+ }>, {
1228
+ key: number;
1229
+ from: number;
1230
+ to: number;
1231
+ }, {
1232
+ key: number;
1233
+ from: number;
1234
+ to: number;
1235
+ }>;
1236
+ }, "strip", z.ZodTypeAny, {
1237
+ title: string;
1238
+ cite: {
1239
+ key: number;
1240
+ from: number;
1241
+ to: number;
1242
+ };
1243
+ summary?: string | undefined;
1244
+ }, {
1245
+ title: string;
1246
+ cite: {
1247
+ key: number;
1248
+ from: number;
1249
+ to: number;
1250
+ };
1251
+ summary?: string | undefined;
1252
+ }>, "many">;
1253
+ }, "strip", z.ZodTypeAny, {
1254
+ type: "timestamps";
1255
+ items: {
1256
+ title: string;
1257
+ cite: {
1258
+ key: number;
1259
+ from: number;
1260
+ to: number;
1261
+ };
1262
+ summary?: string | undefined;
1263
+ }[];
1264
+ }, {
1265
+ type: "timestamps";
1266
+ items: {
1267
+ title: string;
1268
+ cite: {
1269
+ key: number;
1270
+ from: number;
1271
+ to: number;
1272
+ };
1273
+ summary?: string | undefined;
1274
+ }[];
1275
+ }>, z.ZodObject<{
1276
+ type: z.ZodLiteral<"actions">;
1277
+ items: z.ZodArray<z.ZodObject<{
1278
+ task: z.ZodString;
1279
+ owner: z.ZodOptional<z.ZodString>;
1280
+ due: z.ZodOptional<z.ZodString>;
1281
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1282
+ key: z.ZodNumber;
1283
+ from: z.ZodNumber;
1284
+ to: z.ZodNumber;
1285
+ }, "strip", z.ZodTypeAny, {
1286
+ key: number;
1287
+ from: number;
1288
+ to: number;
1289
+ }, {
1290
+ key: number;
1291
+ from: number;
1292
+ to: number;
1293
+ }>, {
1294
+ key: number;
1295
+ from: number;
1296
+ to: number;
1297
+ }, {
1298
+ key: number;
1299
+ from: number;
1300
+ to: number;
1301
+ }>>;
1302
+ }, "strip", z.ZodTypeAny, {
1303
+ task: string;
1304
+ owner?: string | undefined;
1305
+ cite?: {
1306
+ key: number;
1307
+ from: number;
1308
+ to: number;
1309
+ } | undefined;
1310
+ due?: string | undefined;
1311
+ }, {
1312
+ task: string;
1313
+ owner?: string | undefined;
1314
+ cite?: {
1315
+ key: number;
1316
+ from: number;
1317
+ to: number;
1318
+ } | undefined;
1319
+ due?: string | undefined;
1320
+ }>, "many">;
1321
+ }, "strip", z.ZodTypeAny, {
1322
+ type: "actions";
1323
+ items: {
1324
+ task: string;
1325
+ owner?: string | undefined;
1326
+ cite?: {
1327
+ key: number;
1328
+ from: number;
1329
+ to: number;
1330
+ } | undefined;
1331
+ due?: string | undefined;
1332
+ }[];
1333
+ }, {
1334
+ type: "actions";
1335
+ items: {
1336
+ task: string;
1337
+ owner?: string | undefined;
1338
+ cite?: {
1339
+ key: number;
1340
+ from: number;
1341
+ to: number;
1342
+ } | undefined;
1343
+ due?: string | undefined;
1344
+ }[];
1345
+ }>, z.ZodObject<{
1346
+ type: z.ZodLiteral<"qa">;
1347
+ items: z.ZodArray<z.ZodObject<{
1348
+ question: z.ZodString;
1349
+ answer: z.ZodString;
1350
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1351
+ key: z.ZodNumber;
1352
+ from: z.ZodNumber;
1353
+ to: z.ZodNumber;
1354
+ }, "strip", z.ZodTypeAny, {
1355
+ key: number;
1356
+ from: number;
1357
+ to: number;
1358
+ }, {
1359
+ key: number;
1360
+ from: number;
1361
+ to: number;
1362
+ }>, {
1363
+ key: number;
1364
+ from: number;
1365
+ to: number;
1366
+ }, {
1367
+ key: number;
1368
+ from: number;
1369
+ to: number;
1370
+ }>>;
1371
+ }, "strip", z.ZodTypeAny, {
1372
+ question: string;
1373
+ answer: string;
1374
+ cite?: {
1375
+ key: number;
1376
+ from: number;
1377
+ to: number;
1378
+ } | undefined;
1379
+ }, {
1380
+ question: string;
1381
+ answer: string;
1382
+ cite?: {
1383
+ key: number;
1384
+ from: number;
1385
+ to: number;
1386
+ } | undefined;
1387
+ }>, "many">;
1388
+ }, "strip", z.ZodTypeAny, {
1389
+ type: "qa";
1390
+ items: {
1391
+ question: string;
1392
+ answer: string;
1393
+ cite?: {
1394
+ key: number;
1395
+ from: number;
1396
+ to: number;
1397
+ } | undefined;
1398
+ }[];
1399
+ }, {
1400
+ type: "qa";
1401
+ items: {
1402
+ question: string;
1403
+ answer: string;
1404
+ cite?: {
1405
+ key: number;
1406
+ from: number;
1407
+ to: number;
1408
+ } | undefined;
1409
+ }[];
1410
+ }>, z.ZodObject<{
1411
+ type: z.ZodLiteral<"flashcards">;
1412
+ cards: z.ZodArray<z.ZodObject<{
1413
+ front: z.ZodString;
1414
+ back: z.ZodString;
1415
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1416
+ key: z.ZodNumber;
1417
+ from: z.ZodNumber;
1418
+ to: z.ZodNumber;
1419
+ }, "strip", z.ZodTypeAny, {
1420
+ key: number;
1421
+ from: number;
1422
+ to: number;
1423
+ }, {
1424
+ key: number;
1425
+ from: number;
1426
+ to: number;
1427
+ }>, {
1428
+ key: number;
1429
+ from: number;
1430
+ to: number;
1431
+ }, {
1432
+ key: number;
1433
+ from: number;
1434
+ to: number;
1435
+ }>>;
1436
+ }, "strip", z.ZodTypeAny, {
1437
+ back: string;
1438
+ front: string;
1439
+ cite?: {
1440
+ key: number;
1441
+ from: number;
1442
+ to: number;
1443
+ } | undefined;
1444
+ }, {
1445
+ back: string;
1446
+ front: string;
1447
+ cite?: {
1448
+ key: number;
1449
+ from: number;
1450
+ to: number;
1451
+ } | undefined;
1452
+ }>, "many">;
1453
+ }, "strip", z.ZodTypeAny, {
1454
+ type: "flashcards";
1455
+ cards: {
1456
+ back: string;
1457
+ front: string;
1458
+ cite?: {
1459
+ key: number;
1460
+ from: number;
1461
+ to: number;
1462
+ } | undefined;
1463
+ }[];
1464
+ }, {
1465
+ type: "flashcards";
1466
+ cards: {
1467
+ back: string;
1468
+ front: string;
1469
+ cite?: {
1470
+ key: number;
1471
+ from: number;
1472
+ to: number;
1473
+ } | undefined;
1474
+ }[];
1475
+ }>, z.ZodObject<{
1476
+ type: z.ZodLiteral<"quiz">;
1477
+ questions: z.ZodArray<z.ZodObject<{
1478
+ question: z.ZodString;
1479
+ choices: z.ZodArray<z.ZodString, "many">;
1480
+ answer: z.ZodNumber;
1481
+ explanation: z.ZodString;
1482
+ cite: z.ZodOptional<z.ZodEffects<z.ZodObject<{
1483
+ key: z.ZodNumber;
1484
+ from: z.ZodNumber;
1485
+ to: z.ZodNumber;
1486
+ }, "strip", z.ZodTypeAny, {
1487
+ key: number;
1488
+ from: number;
1489
+ to: number;
1490
+ }, {
1491
+ key: number;
1492
+ from: number;
1493
+ to: number;
1494
+ }>, {
1495
+ key: number;
1496
+ from: number;
1497
+ to: number;
1498
+ }, {
1499
+ key: number;
1500
+ from: number;
1501
+ to: number;
1502
+ }>>;
1503
+ }, "strip", z.ZodTypeAny, {
1504
+ question: string;
1505
+ choices: string[];
1506
+ answer: number;
1507
+ explanation: string;
1508
+ cite?: {
1509
+ key: number;
1510
+ from: number;
1511
+ to: number;
1512
+ } | undefined;
1513
+ }, {
1514
+ question: string;
1515
+ choices: string[];
1516
+ answer: number;
1517
+ explanation: string;
1518
+ cite?: {
1519
+ key: number;
1520
+ from: number;
1521
+ to: number;
1522
+ } | undefined;
1523
+ }>, "many">;
1524
+ }, "strip", z.ZodTypeAny, {
1525
+ type: "quiz";
1526
+ questions: {
1527
+ question: string;
1528
+ choices: string[];
1529
+ answer: number;
1530
+ explanation: string;
1531
+ cite?: {
1532
+ key: number;
1533
+ from: number;
1534
+ to: number;
1535
+ } | undefined;
1536
+ }[];
1537
+ }, {
1538
+ type: "quiz";
1539
+ questions: {
1540
+ question: string;
1541
+ choices: string[];
1542
+ answer: number;
1543
+ explanation: string;
1544
+ cite?: {
1545
+ key: number;
1546
+ from: number;
1547
+ to: number;
1548
+ } | undefined;
1549
+ }[];
1550
+ }>, z.ZodObject<{
1551
+ type: z.ZodLiteral<"mindmap">;
1552
+ root: z.ZodType<MindmapNode, z.ZodTypeDef, MindmapNode>;
1553
+ }, "strip", z.ZodTypeAny, {
1554
+ type: "mindmap";
1555
+ root: MindmapNode;
1556
+ }, {
1557
+ type: "mindmap";
1558
+ root: MindmapNode;
1559
+ }>, z.ZodObject<{
1560
+ type: z.ZodLiteral<"comments">;
1561
+ total: z.ZodNumber;
1562
+ overview: z.ZodString;
1563
+ groups: z.ZodArray<z.ZodObject<{
1564
+ title: z.ZodString;
1565
+ tone: z.ZodEnum<["positive", "negative", "neutral", "question"]>;
1566
+ count: z.ZodNumber;
1567
+ summary: z.ZodString;
1568
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
1569
+ id: z.ZodString;
1570
+ text: z.ZodString;
1571
+ }, "strip", z.ZodTypeAny, {
1572
+ text: string;
1573
+ id: string;
1574
+ }, {
1575
+ text: string;
1576
+ id: string;
1577
+ }>, "many">>;
1578
+ }, "strip", z.ZodTypeAny, {
1579
+ title: string;
1580
+ summary: string;
1581
+ count: number;
1582
+ tone: "question" | "positive" | "negative" | "neutral";
1583
+ examples: {
1584
+ text: string;
1585
+ id: string;
1586
+ }[];
1587
+ }, {
1588
+ title: string;
1589
+ summary: string;
1590
+ count: number;
1591
+ tone: "question" | "positive" | "negative" | "neutral";
1592
+ examples?: {
1593
+ text: string;
1594
+ id: string;
1595
+ }[] | undefined;
1596
+ }>, "many">;
1597
+ }, "strip", z.ZodTypeAny, {
1598
+ type: "comments";
1599
+ total: number;
1600
+ groups: {
1601
+ title: string;
1602
+ summary: string;
1603
+ count: number;
1604
+ tone: "question" | "positive" | "negative" | "neutral";
1605
+ examples: {
1606
+ text: string;
1607
+ id: string;
1608
+ }[];
1609
+ }[];
1610
+ overview: string;
1611
+ }, {
1612
+ type: "comments";
1613
+ total: number;
1614
+ groups: {
1615
+ title: string;
1616
+ summary: string;
1617
+ count: number;
1618
+ tone: "question" | "positive" | "negative" | "neutral";
1619
+ examples?: {
1620
+ text: string;
1621
+ id: string;
1622
+ }[] | undefined;
1623
+ }[];
1624
+ overview: string;
1625
+ }>]>, "many">;
1626
+ }, "strip", z.ZodTypeAny, {
1627
+ template: string;
1628
+ title: string;
1629
+ blocks: ({
1630
+ text: string;
1631
+ type: "heading";
1632
+ } | {
1633
+ text: string;
1634
+ type: "text";
1635
+ cite?: {
1636
+ key: number;
1637
+ from: number;
1638
+ to: number;
1639
+ } | undefined;
1640
+ } | {
1641
+ type: "list";
1642
+ items: ListItem[];
1643
+ title?: string | undefined;
1644
+ } | {
1645
+ text: string;
1646
+ type: "quote";
1647
+ cite: {
1648
+ key: number;
1649
+ from: number;
1650
+ to: number;
1651
+ };
1652
+ note?: string | undefined;
1653
+ translation?: string | undefined;
1654
+ speaker?: string | undefined;
1655
+ } | {
1656
+ type: "timestamps";
1657
+ items: {
1658
+ title: string;
1659
+ cite: {
1660
+ key: number;
1661
+ from: number;
1662
+ to: number;
1663
+ };
1664
+ summary?: string | undefined;
1665
+ }[];
1666
+ } | {
1667
+ type: "actions";
1668
+ items: {
1669
+ task: string;
1670
+ owner?: string | undefined;
1671
+ cite?: {
1672
+ key: number;
1673
+ from: number;
1674
+ to: number;
1675
+ } | undefined;
1676
+ due?: string | undefined;
1677
+ }[];
1678
+ } | {
1679
+ type: "qa";
1680
+ items: {
1681
+ question: string;
1682
+ answer: string;
1683
+ cite?: {
1684
+ key: number;
1685
+ from: number;
1686
+ to: number;
1687
+ } | undefined;
1688
+ }[];
1689
+ } | {
1690
+ type: "flashcards";
1691
+ cards: {
1692
+ back: string;
1693
+ front: string;
1694
+ cite?: {
1695
+ key: number;
1696
+ from: number;
1697
+ to: number;
1698
+ } | undefined;
1699
+ }[];
1700
+ } | {
1701
+ type: "quiz";
1702
+ questions: {
1703
+ question: string;
1704
+ choices: string[];
1705
+ answer: number;
1706
+ explanation: string;
1707
+ cite?: {
1708
+ key: number;
1709
+ from: number;
1710
+ to: number;
1711
+ } | undefined;
1712
+ }[];
1713
+ } | {
1714
+ type: "mindmap";
1715
+ root: MindmapNode;
1716
+ } | {
1717
+ type: "comments";
1718
+ total: number;
1719
+ groups: {
1720
+ title: string;
1721
+ summary: string;
1722
+ count: number;
1723
+ tone: "question" | "positive" | "negative" | "neutral";
1724
+ examples: {
1725
+ text: string;
1726
+ id: string;
1727
+ }[];
1728
+ }[];
1729
+ overview: string;
1730
+ })[];
1731
+ lang: string;
1732
+ }, {
1733
+ template: string;
1734
+ title: string;
1735
+ blocks: ({
1736
+ text: string;
1737
+ type: "heading";
1738
+ } | {
1739
+ text: string;
1740
+ type: "text";
1741
+ cite?: {
1742
+ key: number;
1743
+ from: number;
1744
+ to: number;
1745
+ } | undefined;
1746
+ } | {
1747
+ type: "list";
1748
+ items: ListItem[];
1749
+ title?: string | undefined;
1750
+ } | {
1751
+ text: string;
1752
+ type: "quote";
1753
+ cite: {
1754
+ key: number;
1755
+ from: number;
1756
+ to: number;
1757
+ };
1758
+ note?: string | undefined;
1759
+ translation?: string | undefined;
1760
+ speaker?: string | undefined;
1761
+ } | {
1762
+ type: "timestamps";
1763
+ items: {
1764
+ title: string;
1765
+ cite: {
1766
+ key: number;
1767
+ from: number;
1768
+ to: number;
1769
+ };
1770
+ summary?: string | undefined;
1771
+ }[];
1772
+ } | {
1773
+ type: "actions";
1774
+ items: {
1775
+ task: string;
1776
+ owner?: string | undefined;
1777
+ cite?: {
1778
+ key: number;
1779
+ from: number;
1780
+ to: number;
1781
+ } | undefined;
1782
+ due?: string | undefined;
1783
+ }[];
1784
+ } | {
1785
+ type: "qa";
1786
+ items: {
1787
+ question: string;
1788
+ answer: string;
1789
+ cite?: {
1790
+ key: number;
1791
+ from: number;
1792
+ to: number;
1793
+ } | undefined;
1794
+ }[];
1795
+ } | {
1796
+ type: "flashcards";
1797
+ cards: {
1798
+ back: string;
1799
+ front: string;
1800
+ cite?: {
1801
+ key: number;
1802
+ from: number;
1803
+ to: number;
1804
+ } | undefined;
1805
+ }[];
1806
+ } | {
1807
+ type: "quiz";
1808
+ questions: {
1809
+ question: string;
1810
+ choices: string[];
1811
+ answer: number;
1812
+ explanation: string;
1813
+ cite?: {
1814
+ key: number;
1815
+ from: number;
1816
+ to: number;
1817
+ } | undefined;
1818
+ }[];
1819
+ } | {
1820
+ type: "mindmap";
1821
+ root: MindmapNode;
1822
+ } | {
1823
+ type: "comments";
1824
+ total: number;
1825
+ groups: {
1826
+ title: string;
1827
+ summary: string;
1828
+ count: number;
1829
+ tone: "question" | "positive" | "negative" | "neutral";
1830
+ examples?: {
1831
+ text: string;
1832
+ id: string;
1833
+ }[] | undefined;
1834
+ }[];
1835
+ overview: string;
1836
+ })[];
1837
+ lang?: string | undefined;
1838
+ }>;
1839
+ export type HeadingBlock = z.infer<typeof headingBlockSchema>;
1840
+ export type TextBlock = z.infer<typeof textBlockSchema>;
1841
+ export type ListBlock = z.infer<typeof listBlockSchema>;
1842
+ export type QuoteBlock = z.infer<typeof quoteBlockSchema>;
1843
+ export type QuizBlock = z.infer<typeof quizBlockSchema>;
1844
+ export type MindmapBlock = z.infer<typeof mindmapBlockSchema>;
1845
+ export type CommentsBlock = z.infer<typeof commentsBlockSchema>;
1846
+ export type Block = z.infer<typeof blockSchema>;
1847
+ export type Extension = z.infer<typeof extensionSchema>;
1848
+ /**
1849
+ * 같은 템플릿이라도 언어가 다르면 다른 확장이다. 탭 id와 merge 키로 쓴다.
1850
+ * 템플릿 id와 언어 태그 둘 다 -를 쓰므로 둘 다 안 쓰는 .으로 잇는다
1851
+ */
1852
+ export declare const extensionKey: (ext: Pick<Extension, "template" | "lang">) => string;
1853
+ //# sourceMappingURL=blocks.d.ts.map