@scalar/cli 2.0.1 → 2.1.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 (80) hide show
  1. package/README.md +40 -0
  2. package/chunks/action-45OGQB2M.js +138 -0
  3. package/chunks/action-5R5FDF6S.js +2097 -0
  4. package/chunks/action-ANU5HGC4.js +34 -0
  5. package/chunks/action-BMFXENMX.js +176 -0
  6. package/chunks/action-BNEGJBUH.js +38 -0
  7. package/chunks/action-BYZUBXVB.js +82 -0
  8. package/chunks/action-C5VB4ITT.js +132 -0
  9. package/chunks/action-CCW66QJN.js +72 -0
  10. package/chunks/action-CLSD7O2R.js +60 -0
  11. package/chunks/action-CQ56FVES.js +65 -0
  12. package/chunks/action-CYP4VDK3.js +148 -0
  13. package/chunks/action-DFKHSDFV.js +36 -0
  14. package/chunks/action-F4Y6Q2VB.js +92 -0
  15. package/chunks/action-GB6DM53B.js +70 -0
  16. package/chunks/action-GEBRPNRT.js +87 -0
  17. package/chunks/action-H5OHT2GV.js +56 -0
  18. package/chunks/action-HD2T6BFJ.js +54 -0
  19. package/chunks/action-HNKM3Q65.js +65 -0
  20. package/chunks/action-JOSVV6YA.js +71 -0
  21. package/chunks/action-MENXFJH3.js +204 -0
  22. package/chunks/action-P7LN6FGY.js +13 -0
  23. package/chunks/action-PVDDRIM6.js +130 -0
  24. package/chunks/action-Q5UJ32D6.js +46 -0
  25. package/chunks/action-R6ZZO26F.js +299 -0
  26. package/chunks/action-STIEAXOE.js +53 -0
  27. package/chunks/action-TPBKPHNS.js +110 -0
  28. package/chunks/action-TWFJNQ2R.js +95 -0
  29. package/chunks/action-TZ5KGAQT.js +64 -0
  30. package/chunks/action-UDZUUJSI.js +49 -0
  31. package/chunks/action-W5BATF4Q.js +197 -0
  32. package/chunks/agent-XGLOHXNA.js +112 -0
  33. package/chunks/build.action-LKOILPA6.js +108 -0
  34. package/chunks/chunk-23I5PKZZ.js +78 -0
  35. package/chunks/chunk-2BSG2QHO.js +455 -0
  36. package/chunks/chunk-3MZYUBJ6.js +49 -0
  37. package/chunks/chunk-47Y4L5IT.js +63361 -0
  38. package/chunks/chunk-4DGQIAJX.js +359 -0
  39. package/chunks/chunk-4QS7SJTG.js +138 -0
  40. package/chunks/chunk-5BISXQX4.js +447 -0
  41. package/chunks/chunk-5BPPGTUU.js +463 -0
  42. package/chunks/chunk-AEFPCC4U.js +16 -0
  43. package/chunks/chunk-AHWWJ3MD.js +32 -0
  44. package/chunks/chunk-ASMHW5AY.js +19 -0
  45. package/chunks/chunk-B6QZJWCQ.js +92 -0
  46. package/chunks/chunk-DOVIWNKQ.js +108 -0
  47. package/chunks/chunk-H2WRMLYY.js +13780 -0
  48. package/chunks/chunk-HQKBZOYU.js +34 -0
  49. package/chunks/chunk-ISGLWBXZ.js +4265 -0
  50. package/chunks/chunk-IX7LJ3AD.js +17 -0
  51. package/chunks/chunk-JFIXNSPP.js +26 -0
  52. package/chunks/chunk-K74E42RV.js +7311 -0
  53. package/chunks/chunk-KHDYYVYF.js +16 -0
  54. package/chunks/chunk-KWOL7A6J.js +23 -0
  55. package/chunks/chunk-NUXPNUSS.js +38 -0
  56. package/chunks/chunk-OAXFCOJV.js +25 -0
  57. package/chunks/chunk-P2VH7DOC.js +107 -0
  58. package/chunks/chunk-P646T2WH.js +1608 -0
  59. package/chunks/chunk-SHSHFGA7.js +297 -0
  60. package/chunks/chunk-SXYALPYK.js +2709 -0
  61. package/chunks/chunk-T7B6WNZC.js +18 -0
  62. package/chunks/chunk-T7MDADON.js +17 -0
  63. package/chunks/chunk-TLFMATXR.js +344 -0
  64. package/chunks/chunk-TQ5XC2E3.js +284 -0
  65. package/chunks/chunk-UPUTMFD4.js +465 -0
  66. package/chunks/chunk-VTYTPSXO.js +161 -0
  67. package/chunks/chunk-X4QLDBB5.js +221 -0
  68. package/chunks/chunk-ZTVWAKNJ.js +21 -0
  69. package/chunks/create.action-FFQLBSJH.js +108 -0
  70. package/chunks/delete.action-QNN3LC2F.js +96 -0
  71. package/chunks/delete.action-STHQHP4F.js +88 -0
  72. package/chunks/get.action-OTKYOP3Z.js +87 -0
  73. package/chunks/list.action-6I5EZAVB.js +95 -0
  74. package/chunks/list.action-KDM5RHEH.js +116 -0
  75. package/chunks/publish.action-PODTVRXS.js +182 -0
  76. package/chunks/update.action-4F6STTEQ.js +101 -0
  77. package/chunks/update.action-KMD4ZM75.js +95 -0
  78. package/docs.html +310 -209
  79. package/index.js +645 -99061
  80. package/package.json +13 -11
@@ -0,0 +1,4265 @@
1
+ import { createRequire as $$cR } from "node:module"; const require = $$cR(import.meta.url);
2
+ import {
3
+ external_exports
4
+ } from "./chunk-H2WRMLYY.js";
5
+
6
+ // ../../packages/helpers/dist/url/slugify.js
7
+ var slugify = (str, options) => {
8
+ const ascii = options?.ascii ?? false;
9
+ return str.normalize(ascii ? "NFD" : "NFC").toLowerCase().trim().replace(ascii ? /[^a-z0-9\s.-]/g : /[^\p{L}\p{M}\p{N}\s.-]/gu, "").replace(/[\s-]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 255);
10
+ };
11
+
12
+ // ../../packages/entities/dist/utility/utility.js
13
+ import { customAlphabet } from "nanoid";
14
+ import semver from "semver";
15
+
16
+ // ../../packages/random-slug/dist/dictionary.js
17
+ var words = {
18
+ adjectives: [
19
+ "abiding",
20
+ "able",
21
+ "abundant",
22
+ "academic",
23
+ "acceptable",
24
+ "accessible",
25
+ "acclaimed",
26
+ "accomplished",
27
+ "accurate",
28
+ "acerbic",
29
+ "active",
30
+ "adamant",
31
+ "adaptable",
32
+ "additional",
33
+ "admirable",
34
+ "adored",
35
+ "advanced",
36
+ "adventurous",
37
+ "aesthetic",
38
+ "affable",
39
+ "affirmative",
40
+ "agile",
41
+ "agreeable",
42
+ "airy",
43
+ "alacritous",
44
+ "alert",
45
+ "alluring",
46
+ "amazing",
47
+ "amiable",
48
+ "amicable",
49
+ "ample",
50
+ "amusing",
51
+ "ancient",
52
+ "angelic",
53
+ "animated",
54
+ "antique",
55
+ "anxious",
56
+ "appealing",
57
+ "appetizing",
58
+ "apt",
59
+ "ardent",
60
+ "aromatic",
61
+ "artful",
62
+ "articulate",
63
+ "artistic",
64
+ "assured",
65
+ "astounding",
66
+ "astute",
67
+ "attractive",
68
+ "audible",
69
+ "austere",
70
+ "authentic",
71
+ "available",
72
+ "balanced",
73
+ "balmy",
74
+ "bashful",
75
+ "beaming",
76
+ "beautiful",
77
+ "beneficial",
78
+ "benevolent",
79
+ "best",
80
+ "better",
81
+ "blissful",
82
+ "blithe",
83
+ "blithesome",
84
+ "bold",
85
+ "bouncy",
86
+ "breezy",
87
+ "bright",
88
+ "brilliant",
89
+ "brisk",
90
+ "bubbly",
91
+ "bucolic",
92
+ "buoyant",
93
+ "burgeoning",
94
+ "calm",
95
+ "candid",
96
+ "capable",
97
+ "capricious",
98
+ "captivating",
99
+ "carefree",
100
+ "careful",
101
+ "caring",
102
+ "casual",
103
+ "cautious",
104
+ "celebrated",
105
+ "celestial",
106
+ "cerebral",
107
+ "certain",
108
+ "charming",
109
+ "cheerful",
110
+ "cheery",
111
+ "chic",
112
+ "chimerical",
113
+ "chivalrous",
114
+ "circumspect",
115
+ "clandestine",
116
+ "classic",
117
+ "classical",
118
+ "clean",
119
+ "clear",
120
+ "clement",
121
+ "clever",
122
+ "close",
123
+ "coherent",
124
+ "colorful",
125
+ "colossal",
126
+ "comely",
127
+ "comfortable",
128
+ "comforting",
129
+ "commendable",
130
+ "compelling",
131
+ "composed",
132
+ "concise",
133
+ "confident",
134
+ "congenial",
135
+ "conscientious",
136
+ "considerate",
137
+ "consistent",
138
+ "constant",
139
+ "constructive",
140
+ "contemporary",
141
+ "continuous",
142
+ "convincing",
143
+ "convivial",
144
+ "cool",
145
+ "cooperative",
146
+ "cordial",
147
+ "cosmic",
148
+ "courageous",
149
+ "courteous",
150
+ "creative",
151
+ "credible",
152
+ "crisp",
153
+ "cultivated",
154
+ "cultured",
155
+ "curious",
156
+ "cute",
157
+ "daring",
158
+ "dauntless",
159
+ "dazzling",
160
+ "debonair",
161
+ "decent",
162
+ "decorative",
163
+ "decorous",
164
+ "deft",
165
+ "delicate",
166
+ "delightful",
167
+ "demure",
168
+ "dependable",
169
+ "descriptive",
170
+ "desirable",
171
+ "detailed",
172
+ "determined",
173
+ "devoted",
174
+ "dexterous",
175
+ "different",
176
+ "dignified",
177
+ "diligent",
178
+ "discerning",
179
+ "disciplined",
180
+ "discreet",
181
+ "distinct",
182
+ "distinctive",
183
+ "distinguished",
184
+ "diverse",
185
+ "divine",
186
+ "dynamic",
187
+ "eager",
188
+ "earnest",
189
+ "earthy",
190
+ "easygoing",
191
+ "ebullient",
192
+ "eclectic",
193
+ "ecstatic",
194
+ "edgy",
195
+ "edifying",
196
+ "effervescent",
197
+ "efficacious",
198
+ "efficient",
199
+ "effulgent",
200
+ "electrifying",
201
+ "elegant",
202
+ "elegiac",
203
+ "elevated",
204
+ "eloquent",
205
+ "eminent",
206
+ "emphatic",
207
+ "empowered",
208
+ "empowering",
209
+ "enchanting",
210
+ "endearing",
211
+ "energetic",
212
+ "engaging",
213
+ "enlightened",
214
+ "enlivened",
215
+ "enraptured",
216
+ "enterprising",
217
+ "entertaining",
218
+ "enthralling",
219
+ "enticing",
220
+ "entrancing",
221
+ "enviable",
222
+ "epic",
223
+ "equable",
224
+ "equanimous",
225
+ "equitable",
226
+ "essential",
227
+ "esteemed",
228
+ "ethereal",
229
+ "ethical",
230
+ "euphoric",
231
+ "even",
232
+ "evocative",
233
+ "excellent",
234
+ "exceptional",
235
+ "exciting",
236
+ "exemplary",
237
+ "exhilarating",
238
+ "exotic",
239
+ "exquisite",
240
+ "extended",
241
+ "extensive",
242
+ "extraordinary",
243
+ "extroverted",
244
+ "exuberant",
245
+ "fabulous",
246
+ "fair",
247
+ "faithful",
248
+ "familiar",
249
+ "fanciful",
250
+ "fancy",
251
+ "fantastic",
252
+ "fascinating",
253
+ "fast",
254
+ "fastidious",
255
+ "favorable",
256
+ "feasible",
257
+ "felicitous",
258
+ "fervent",
259
+ "fervid",
260
+ "festive",
261
+ "fine",
262
+ "firm",
263
+ "first",
264
+ "flamboyant",
265
+ "flawless",
266
+ "flexible",
267
+ "flourishing",
268
+ "flowery",
269
+ "focused",
270
+ "fond",
271
+ "fortunate",
272
+ "fragrant",
273
+ "free",
274
+ "fresh",
275
+ "friendly",
276
+ "fruitful",
277
+ "fulgent",
278
+ "fun",
279
+ "functional",
280
+ "funky",
281
+ "futuristic",
282
+ "gallant",
283
+ "generous",
284
+ "genial",
285
+ "genteel",
286
+ "gentle",
287
+ "genuine",
288
+ "giddy",
289
+ "gifted",
290
+ "glad",
291
+ "gleaming",
292
+ "glimmering",
293
+ "glistening",
294
+ "glittering",
295
+ "glorious",
296
+ "glossy",
297
+ "glowing",
298
+ "golden",
299
+ "good",
300
+ "gossamer",
301
+ "graceful",
302
+ "gracious",
303
+ "grand",
304
+ "grandiose",
305
+ "grateful",
306
+ "great",
307
+ "green",
308
+ "gregarious",
309
+ "groovy",
310
+ "grounded",
311
+ "gustatory",
312
+ "halcyon",
313
+ "handsome",
314
+ "happy",
315
+ "hardy",
316
+ "harmonious",
317
+ "heartening",
318
+ "heartfelt",
319
+ "heartwarming",
320
+ "hearty",
321
+ "heavenly",
322
+ "helpful",
323
+ "heroic",
324
+ "high",
325
+ "honest",
326
+ "honorable",
327
+ "hopeful",
328
+ "hospitable",
329
+ "humble",
330
+ "humorous",
331
+ "hushed",
332
+ "ideal",
333
+ "idyllic",
334
+ "illuminating",
335
+ "illustrious",
336
+ "imaginary",
337
+ "imaginative",
338
+ "immaculate",
339
+ "impartial",
340
+ "impeccable",
341
+ "impressive",
342
+ "inborn",
343
+ "incandescent",
344
+ "incisive",
345
+ "inclusive",
346
+ "incomparable",
347
+ "incredible",
348
+ "indefatigable",
349
+ "independent",
350
+ "industrious",
351
+ "ineffable",
352
+ "infinite",
353
+ "influential",
354
+ "informal",
355
+ "ingenious",
356
+ "inimitable",
357
+ "innate",
358
+ "innocent",
359
+ "innovative",
360
+ "inquisitive",
361
+ "insightful",
362
+ "insouciant",
363
+ "inspired",
364
+ "inspiring",
365
+ "instant",
366
+ "instinctive",
367
+ "instinctual",
368
+ "integral",
369
+ "intelligent",
370
+ "intense",
371
+ "interested",
372
+ "interesting",
373
+ "intermediate",
374
+ "intimate",
375
+ "intoxicating",
376
+ "intrepid",
377
+ "intricate",
378
+ "intuitive",
379
+ "inventive",
380
+ "invigorating",
381
+ "invincible",
382
+ "inviting",
383
+ "iridescent",
384
+ "irrefutable",
385
+ "jaunty",
386
+ "jocular",
387
+ "jolly",
388
+ "jovial",
389
+ "joyful",
390
+ "joyous",
391
+ "jubilant",
392
+ "judicious",
393
+ "just",
394
+ "keen",
395
+ "kind",
396
+ "kindly",
397
+ "knightly",
398
+ "knowledgeable",
399
+ "laudable",
400
+ "lavish",
401
+ "leading",
402
+ "legendary",
403
+ "light",
404
+ "lighthearted",
405
+ "likable",
406
+ "limber",
407
+ "lithe",
408
+ "lively",
409
+ "logical",
410
+ "lovely",
411
+ "loving",
412
+ "lucid",
413
+ "luculent",
414
+ "luminous",
415
+ "luscious",
416
+ "lush",
417
+ "lustrous",
418
+ "magnetic",
419
+ "magnificent",
420
+ "majestic",
421
+ "malleable",
422
+ "manageable",
423
+ "marked",
424
+ "marvelous",
425
+ "mature",
426
+ "meaningful",
427
+ "measured",
428
+ "mellifluous",
429
+ "mellow",
430
+ "melodic",
431
+ "memorable",
432
+ "mercurial",
433
+ "meritorious",
434
+ "methodical",
435
+ "meticulous",
436
+ "mindful",
437
+ "miraculous",
438
+ "mirthful",
439
+ "modern",
440
+ "modest",
441
+ "moral",
442
+ "motivated",
443
+ "moving",
444
+ "multifaceted",
445
+ "mystical",
446
+ "natural",
447
+ "navigable",
448
+ "neat",
449
+ "necessary",
450
+ "new",
451
+ "next",
452
+ "nifty",
453
+ "nimble",
454
+ "nippy",
455
+ "noble",
456
+ "nonpareil",
457
+ "notable",
458
+ "noteworthy",
459
+ "novel",
460
+ "nuanced",
461
+ "numinous",
462
+ "nurturing",
463
+ "nutritious",
464
+ "objective",
465
+ "obliging",
466
+ "observant",
467
+ "obvious",
468
+ "occasional",
469
+ "oceanic",
470
+ "odd",
471
+ "omnipotent",
472
+ "oneiric",
473
+ "opalescent",
474
+ "open",
475
+ "opportune",
476
+ "optimal",
477
+ "optimistic",
478
+ "opulent",
479
+ "orderly",
480
+ "organic",
481
+ "original",
482
+ "ornate",
483
+ "otherworldly",
484
+ "outstanding",
485
+ "overjoyed",
486
+ "pacific",
487
+ "palatable",
488
+ "palpable",
489
+ "parallel",
490
+ "paramount",
491
+ "passionate",
492
+ "pastoral",
493
+ "patient",
494
+ "peaceful",
495
+ "peppy",
496
+ "perceptive",
497
+ "perfect",
498
+ "perky",
499
+ "persevering",
500
+ "persistent",
501
+ "personable",
502
+ "pertinent",
503
+ "phenomenal",
504
+ "philosophical",
505
+ "picturesque",
506
+ "plausible",
507
+ "pleasant",
508
+ "pliable",
509
+ "plucky",
510
+ "plush",
511
+ "poetic",
512
+ "polished",
513
+ "popular",
514
+ "positive",
515
+ "potent",
516
+ "practical",
517
+ "pragmatic",
518
+ "precious",
519
+ "precise",
520
+ "premier",
521
+ "prestigious",
522
+ "prime",
523
+ "principled",
524
+ "pristine",
525
+ "productive",
526
+ "proficient",
527
+ "profound",
528
+ "progressive",
529
+ "prolific",
530
+ "prompt",
531
+ "proper",
532
+ "proud",
533
+ "prudent",
534
+ "punctilious",
535
+ "punctual",
536
+ "pure",
537
+ "quaint",
538
+ "qualified",
539
+ "quantitative",
540
+ "quick",
541
+ "quiet",
542
+ "radiant",
543
+ "rational",
544
+ "raw",
545
+ "real",
546
+ "reasonable",
547
+ "recent",
548
+ "redolent",
549
+ "refined",
550
+ "reflective",
551
+ "refreshing",
552
+ "refulgent",
553
+ "regal",
554
+ "regular",
555
+ "reliable",
556
+ "remarkable",
557
+ "renewed",
558
+ "resilient",
559
+ "resolute",
560
+ "resourceful",
561
+ "respectable",
562
+ "respectful",
563
+ "resplendent",
564
+ "responsible",
565
+ "responsive",
566
+ "reverent",
567
+ "rewarding",
568
+ "rhythmic",
569
+ "rich",
570
+ "riveting",
571
+ "robust",
572
+ "romantic",
573
+ "rustic",
574
+ "sacred",
575
+ "sagacious",
576
+ "sage",
577
+ "salient",
578
+ "salubrious",
579
+ "sanctified",
580
+ "sane",
581
+ "sanguine",
582
+ "satisfying",
583
+ "savory",
584
+ "savvy",
585
+ "scenic",
586
+ "scholarly",
587
+ "scintillating",
588
+ "scrupulous",
589
+ "secure",
590
+ "sedate",
591
+ "select",
592
+ "selfless",
593
+ "sensible",
594
+ "sensitive",
595
+ "serendipitous",
596
+ "serene",
597
+ "sharp",
598
+ "shimmering",
599
+ "shining",
600
+ "silky",
601
+ "silvery",
602
+ "simple",
603
+ "sincere",
604
+ "skillful",
605
+ "sleek",
606
+ "slender",
607
+ "slick",
608
+ "small",
609
+ "smart",
610
+ "smooth",
611
+ "snappy",
612
+ "snug",
613
+ "sober",
614
+ "soft",
615
+ "solid",
616
+ "soothing",
617
+ "sophisticated",
618
+ "soulful",
619
+ "sparkling",
620
+ "special",
621
+ "spectacular",
622
+ "spirited",
623
+ "splendid",
624
+ "spontaneous",
625
+ "sporting",
626
+ "sporty",
627
+ "sprightly",
628
+ "spry",
629
+ "stable",
630
+ "stalwart",
631
+ "stately",
632
+ "steadfast",
633
+ "steady",
634
+ "stellar",
635
+ "stimulating",
636
+ "stirring",
637
+ "strategic",
638
+ "striking",
639
+ "strong",
640
+ "studious",
641
+ "stunning",
642
+ "sturdy",
643
+ "stylish",
644
+ "suave",
645
+ "subdued",
646
+ "sublime",
647
+ "subtle",
648
+ "successful",
649
+ "succinct",
650
+ "sumptuous",
651
+ "sunny",
652
+ "superb",
653
+ "superior",
654
+ "supple",
655
+ "supportive",
656
+ "supreme",
657
+ "sure",
658
+ "surefooted",
659
+ "surprising",
660
+ "surreal",
661
+ "sustainable",
662
+ "swanky",
663
+ "sweet",
664
+ "swift",
665
+ "sympathetic",
666
+ "synergetic",
667
+ "systematic",
668
+ "tactful",
669
+ "tactile",
670
+ "tasteful",
671
+ "teeming",
672
+ "tenable",
673
+ "tenacious",
674
+ "tender",
675
+ "terrific",
676
+ "thankful",
677
+ "thorough",
678
+ "thoughtful",
679
+ "thrifty",
680
+ "thrilling",
681
+ "thriving",
682
+ "tidy",
683
+ "timeless",
684
+ "tireless",
685
+ "tolerant",
686
+ "tonic",
687
+ "tough",
688
+ "tranquil",
689
+ "transcendent",
690
+ "transparent",
691
+ "tremendous",
692
+ "trendy",
693
+ "trim",
694
+ "true",
695
+ "trusting",
696
+ "trustworthy",
697
+ "truthful",
698
+ "ultimate",
699
+ "ultramarine",
700
+ "unabashed",
701
+ "unassuming",
702
+ "unbeatable",
703
+ "unbiased",
704
+ "uncommon",
705
+ "understated",
706
+ "unerring",
707
+ "unique",
708
+ "upbeat",
709
+ "uplifting",
710
+ "urbane",
711
+ "useful",
712
+ "valiant",
713
+ "valid",
714
+ "valuable",
715
+ "venerable",
716
+ "veracious",
717
+ "verdant",
718
+ "versatile",
719
+ "vibrant",
720
+ "victorious",
721
+ "vigilant",
722
+ "vigorous",
723
+ "virtuosic",
724
+ "virtuous",
725
+ "visionary",
726
+ "vivacious",
727
+ "vivid",
728
+ "warm",
729
+ "warmhearted",
730
+ "welcoming",
731
+ "well",
732
+ "whimsical",
733
+ "wholehearted",
734
+ "wholesome",
735
+ "willing",
736
+ "winning",
737
+ "winsome",
738
+ "wise",
739
+ "wistful",
740
+ "witty",
741
+ "wonderful",
742
+ "wondrous",
743
+ "wretched",
744
+ "wry",
745
+ "xenial",
746
+ "yare",
747
+ "youthful",
748
+ "zany",
749
+ "zealous",
750
+ "zestful",
751
+ "zesty",
752
+ "zippy"
753
+ ],
754
+ nouns: [
755
+ "acacia",
756
+ "acorn",
757
+ "acre",
758
+ "admiral",
759
+ "adventure",
760
+ "aerobics",
761
+ "afternoon",
762
+ "aircraft",
763
+ "airline",
764
+ "airplane",
765
+ "airport",
766
+ "alfalfa",
767
+ "almond",
768
+ "alpaca",
769
+ "altitude",
770
+ "aluminum",
771
+ "amaryllis",
772
+ "amber",
773
+ "ambrosia",
774
+ "amethyst",
775
+ "anemone",
776
+ "anise",
777
+ "antelope",
778
+ "apartment",
779
+ "apex",
780
+ "apothecary",
781
+ "apple",
782
+ "apricot",
783
+ "aquarium",
784
+ "aqueduct",
785
+ "arbor",
786
+ "arch",
787
+ "archipelago",
788
+ "arctic",
789
+ "arena",
790
+ "argon",
791
+ "aroma",
792
+ "arrow",
793
+ "artichoke",
794
+ "asteroid",
795
+ "astronaut",
796
+ "astronomy",
797
+ "atmosphere",
798
+ "atom",
799
+ "atrium",
800
+ "aurora",
801
+ "autumn",
802
+ "avalanche",
803
+ "avenue",
804
+ "aviary",
805
+ "avocado",
806
+ "azalea",
807
+ "azure",
808
+ "baboon",
809
+ "backpack",
810
+ "bacon",
811
+ "badger",
812
+ "bagel",
813
+ "baguette",
814
+ "bakery",
815
+ "balcony",
816
+ "balloon",
817
+ "bamboo",
818
+ "banana",
819
+ "banjo",
820
+ "barley",
821
+ "barnacle",
822
+ "barometer",
823
+ "barrel",
824
+ "basil",
825
+ "basin",
826
+ "basket",
827
+ "bassoon",
828
+ "bat",
829
+ "bath",
830
+ "bay",
831
+ "beach",
832
+ "beacon",
833
+ "bead",
834
+ "beam",
835
+ "bean",
836
+ "beanie",
837
+ "bear",
838
+ "beaver",
839
+ "beech",
840
+ "beehive",
841
+ "beetle",
842
+ "begonia",
843
+ "berry",
844
+ "bicycle",
845
+ "binoculars",
846
+ "birch",
847
+ "biscuit",
848
+ "bison",
849
+ "blackberry",
850
+ "blade",
851
+ "blanket",
852
+ "blimp",
853
+ "blizzard",
854
+ "blossom",
855
+ "blueberry",
856
+ "boat",
857
+ "bobcat",
858
+ "bobsled",
859
+ "bog",
860
+ "bonfire",
861
+ "bongo",
862
+ "bonnet",
863
+ "borage",
864
+ "border",
865
+ "borough",
866
+ "bouquet",
867
+ "bowl",
868
+ "branch",
869
+ "brass",
870
+ "breeze",
871
+ "brewery",
872
+ "bridge",
873
+ "broccoli",
874
+ "brook",
875
+ "broom",
876
+ "broth",
877
+ "bubble",
878
+ "bucket",
879
+ "bud",
880
+ "buffalo",
881
+ "buffet",
882
+ "buggy",
883
+ "bulb",
884
+ "bull",
885
+ "bullfinch",
886
+ "bumblebee",
887
+ "bunny",
888
+ "burrito",
889
+ "bush",
890
+ "butter",
891
+ "butterfly",
892
+ "buttermilk",
893
+ "buzzard",
894
+ "cabin",
895
+ "cabinet",
896
+ "cactus",
897
+ "cafe",
898
+ "cafeteria",
899
+ "cage",
900
+ "cairn",
901
+ "cake",
902
+ "calculator",
903
+ "calendar",
904
+ "camel",
905
+ "camera",
906
+ "campfire",
907
+ "campground",
908
+ "campus",
909
+ "canal",
910
+ "canary",
911
+ "candle",
912
+ "candy",
913
+ "canoe",
914
+ "canopy",
915
+ "cantaloupe",
916
+ "canyon",
917
+ "cape",
918
+ "capital",
919
+ "cappuccino",
920
+ "capsule",
921
+ "caravan",
922
+ "carbon",
923
+ "cardamom",
924
+ "cardinal",
925
+ "cargo",
926
+ "caribou",
927
+ "carnation",
928
+ "carnival",
929
+ "carousel",
930
+ "carriage",
931
+ "carrot",
932
+ "cart",
933
+ "cartwheel",
934
+ "cascade",
935
+ "cashew",
936
+ "cassava",
937
+ "casserole",
938
+ "castle",
939
+ "catamaran",
940
+ "caterpillar",
941
+ "cauliflower",
942
+ "cave",
943
+ "cavern",
944
+ "cedar",
945
+ "ceiling",
946
+ "celery",
947
+ "cellar",
948
+ "cello",
949
+ "cement",
950
+ "cereal",
951
+ "chameleon",
952
+ "chamomile",
953
+ "channel",
954
+ "chant",
955
+ "chapel",
956
+ "charcoal",
957
+ "charm",
958
+ "chart",
959
+ "chateau",
960
+ "checkers",
961
+ "cheddar",
962
+ "cheese",
963
+ "cheesecake",
964
+ "cheetah",
965
+ "chef",
966
+ "cherry",
967
+ "chestnut",
968
+ "chiffon",
969
+ "chili",
970
+ "chimney",
971
+ "chipmunk",
972
+ "chives",
973
+ "chocolate",
974
+ "chord",
975
+ "chowder",
976
+ "chrysalis",
977
+ "chutney",
978
+ "cider",
979
+ "cilantro",
980
+ "cinnamon",
981
+ "circle",
982
+ "circuit",
983
+ "circus",
984
+ "cistern",
985
+ "citadel",
986
+ "citrus",
987
+ "city",
988
+ "clam",
989
+ "clarinet",
990
+ "clementine",
991
+ "cliff",
992
+ "climate",
993
+ "cloak",
994
+ "clock",
995
+ "closet",
996
+ "cloud",
997
+ "clover",
998
+ "clown",
999
+ "coast",
1000
+ "cobalt",
1001
+ "cobbler",
1002
+ "cobra",
1003
+ "cocoa",
1004
+ "coconut",
1005
+ "coffee",
1006
+ "coil",
1007
+ "coin",
1008
+ "cola",
1009
+ "coliseum",
1010
+ "comet",
1011
+ "compass",
1012
+ "compost",
1013
+ "computer",
1014
+ "concert",
1015
+ "condor",
1016
+ "cone",
1017
+ "constellation",
1018
+ "continent",
1019
+ "cookie",
1020
+ "copper",
1021
+ "coral",
1022
+ "cord",
1023
+ "coriander",
1024
+ "cork",
1025
+ "corn",
1026
+ "cornucopia",
1027
+ "cosmos",
1028
+ "cottage",
1029
+ "cotton",
1030
+ "couch",
1031
+ "cougar",
1032
+ "country",
1033
+ "countryside",
1034
+ "court",
1035
+ "courtyard",
1036
+ "cove",
1037
+ "cow",
1038
+ "cowbell",
1039
+ "coyote",
1040
+ "crab",
1041
+ "cradle",
1042
+ "cranberry",
1043
+ "crater",
1044
+ "crayon",
1045
+ "cream",
1046
+ "creek",
1047
+ "crest",
1048
+ "cricket",
1049
+ "crocus",
1050
+ "croissant",
1051
+ "crop",
1052
+ "crossroad",
1053
+ "crow",
1054
+ "crown",
1055
+ "cruise",
1056
+ "crystal",
1057
+ "cube",
1058
+ "cucumber",
1059
+ "cuisine",
1060
+ "cumin",
1061
+ "cumulus",
1062
+ "cupboard",
1063
+ "cupcake",
1064
+ "currant",
1065
+ "current",
1066
+ "curry",
1067
+ "curtain",
1068
+ "cushion",
1069
+ "custard",
1070
+ "cutlery",
1071
+ "cycle",
1072
+ "cyclone",
1073
+ "cypress",
1074
+ "daffodil",
1075
+ "dahlia",
1076
+ "daisy",
1077
+ "dale",
1078
+ "dam",
1079
+ "dandelion",
1080
+ "dashboard",
1081
+ "date",
1082
+ "dawn",
1083
+ "daylight",
1084
+ "dazzle",
1085
+ "deck",
1086
+ "deer",
1087
+ "delta",
1088
+ "denim",
1089
+ "desert",
1090
+ "desk",
1091
+ "dessert",
1092
+ "dew",
1093
+ "dewdrop",
1094
+ "diamond",
1095
+ "diary",
1096
+ "dictionary",
1097
+ "diesel",
1098
+ "dill",
1099
+ "dinghy",
1100
+ "dinosaur",
1101
+ "diploma",
1102
+ "dirigible",
1103
+ "dish",
1104
+ "dock",
1105
+ "dolphin",
1106
+ "dome",
1107
+ "donkey",
1108
+ "donut",
1109
+ "door",
1110
+ "dormitory",
1111
+ "dove",
1112
+ "dowel",
1113
+ "downpour",
1114
+ "downtown",
1115
+ "dragon",
1116
+ "dragonfly",
1117
+ "drawer",
1118
+ "dream",
1119
+ "dress",
1120
+ "dresser",
1121
+ "driftwood",
1122
+ "drill",
1123
+ "drink",
1124
+ "drone",
1125
+ "droplet",
1126
+ "drum",
1127
+ "dryer",
1128
+ "duck",
1129
+ "duckling",
1130
+ "dugout",
1131
+ "dune",
1132
+ "durian",
1133
+ "dusk",
1134
+ "dust",
1135
+ "eagle",
1136
+ "earth",
1137
+ "earthquake",
1138
+ "easel",
1139
+ "east",
1140
+ "eclipse",
1141
+ "ecology",
1142
+ "ecosystem",
1143
+ "eel",
1144
+ "egg",
1145
+ "eggplant",
1146
+ "elder",
1147
+ "electricity",
1148
+ "element",
1149
+ "elevator",
1150
+ "elm",
1151
+ "emerald",
1152
+ "empire",
1153
+ "enamel",
1154
+ "encyclopedia",
1155
+ "engine",
1156
+ "engineer",
1157
+ "entrance",
1158
+ "envelope",
1159
+ "environment",
1160
+ "enzyme",
1161
+ "epicenter",
1162
+ "equator",
1163
+ "equipment",
1164
+ "escalator",
1165
+ "espalier",
1166
+ "estuary",
1167
+ "eucalyptus",
1168
+ "evening",
1169
+ "evergreen",
1170
+ "expedition",
1171
+ "explorer",
1172
+ "express",
1173
+ "fabric",
1174
+ "facade",
1175
+ "factory",
1176
+ "falcon",
1177
+ "fall",
1178
+ "farm",
1179
+ "farmer",
1180
+ "farmhouse",
1181
+ "feather",
1182
+ "fern",
1183
+ "ferry",
1184
+ "festival",
1185
+ "fiber",
1186
+ "field",
1187
+ "fig",
1188
+ "finch",
1189
+ "fir",
1190
+ "firefly",
1191
+ "firework",
1192
+ "fish",
1193
+ "fjord",
1194
+ "flag",
1195
+ "flamingo",
1196
+ "flannel",
1197
+ "flash",
1198
+ "flask",
1199
+ "flavor",
1200
+ "fleece",
1201
+ "flight",
1202
+ "float",
1203
+ "flock",
1204
+ "flood",
1205
+ "floor",
1206
+ "flounder",
1207
+ "flour",
1208
+ "flower",
1209
+ "fluff",
1210
+ "flute",
1211
+ "fog",
1212
+ "foliage",
1213
+ "food",
1214
+ "forest",
1215
+ "fork",
1216
+ "formula",
1217
+ "fort",
1218
+ "fortress",
1219
+ "fountain",
1220
+ "fox",
1221
+ "fragrance",
1222
+ "frame",
1223
+ "freeway",
1224
+ "freezer",
1225
+ "frost",
1226
+ "fruit",
1227
+ "fuel",
1228
+ "furnace",
1229
+ "furniture",
1230
+ "galaxy",
1231
+ "gallery",
1232
+ "galley",
1233
+ "gallon",
1234
+ "gallop",
1235
+ "game",
1236
+ "garden",
1237
+ "gargoyle",
1238
+ "garland",
1239
+ "garlic",
1240
+ "garnet",
1241
+ "gate",
1242
+ "gateway",
1243
+ "gazebo",
1244
+ "gazelle",
1245
+ "gear",
1246
+ "geese",
1247
+ "gelatin",
1248
+ "gem",
1249
+ "geyser",
1250
+ "gherkin",
1251
+ "ginger",
1252
+ "giraffe",
1253
+ "glacier",
1254
+ "glade",
1255
+ "glass",
1256
+ "glider",
1257
+ "globe",
1258
+ "gloss",
1259
+ "glove",
1260
+ "glow",
1261
+ "glucose",
1262
+ "glue",
1263
+ "goat",
1264
+ "goblet",
1265
+ "goldfish",
1266
+ "golf",
1267
+ "gondola",
1268
+ "goose",
1269
+ "gorge",
1270
+ "gorilla",
1271
+ "gourd",
1272
+ "grain",
1273
+ "granola",
1274
+ "grape",
1275
+ "grapefruit",
1276
+ "graph",
1277
+ "grass",
1278
+ "grasshopper",
1279
+ "gravel",
1280
+ "gravity",
1281
+ "greenhouse",
1282
+ "grid",
1283
+ "griffin",
1284
+ "grill",
1285
+ "grotto",
1286
+ "grove",
1287
+ "guava",
1288
+ "guide",
1289
+ "guitar",
1290
+ "gull",
1291
+ "gumball",
1292
+ "gumdrop",
1293
+ "gummy",
1294
+ "habitat",
1295
+ "hacksaw",
1296
+ "hail",
1297
+ "hall",
1298
+ "hallway",
1299
+ "halo",
1300
+ "halter",
1301
+ "hamlet",
1302
+ "hammock",
1303
+ "hamster",
1304
+ "handball",
1305
+ "harbor",
1306
+ "hardwood",
1307
+ "harmonica",
1308
+ "harmony",
1309
+ "harp",
1310
+ "harvest",
1311
+ "hatchling",
1312
+ "haven",
1313
+ "hawk",
1314
+ "hawthorn",
1315
+ "hazelnut",
1316
+ "headlight",
1317
+ "headset",
1318
+ "heather",
1319
+ "heaven",
1320
+ "hedge",
1321
+ "helicopter",
1322
+ "heliotrope",
1323
+ "helix",
1324
+ "helium",
1325
+ "hemp",
1326
+ "herb",
1327
+ "heron",
1328
+ "hibiscus",
1329
+ "highway",
1330
+ "hill",
1331
+ "hillside",
1332
+ "hinge",
1333
+ "hippopotamus",
1334
+ "hive",
1335
+ "hobby",
1336
+ "hockey",
1337
+ "holly",
1338
+ "home",
1339
+ "hominy",
1340
+ "honey",
1341
+ "honeycomb",
1342
+ "honeydew",
1343
+ "hood",
1344
+ "hoof",
1345
+ "hook",
1346
+ "horizon",
1347
+ "horn",
1348
+ "hornet",
1349
+ "horse",
1350
+ "horseradish",
1351
+ "hose",
1352
+ "hotel",
1353
+ "hovercraft",
1354
+ "hub",
1355
+ "hubcap",
1356
+ "huckleberry",
1357
+ "hull",
1358
+ "hummingbird",
1359
+ "hurricane",
1360
+ "hyacinth",
1361
+ "hydrogen",
1362
+ "hyena",
1363
+ "hyphen",
1364
+ "ibis",
1365
+ "ice",
1366
+ "icicle",
1367
+ "igloo",
1368
+ "iguana",
1369
+ "incense",
1370
+ "inlet",
1371
+ "inn",
1372
+ "insect",
1373
+ "instrument",
1374
+ "intersection",
1375
+ "interstate",
1376
+ "island",
1377
+ "isthmus",
1378
+ "ivy",
1379
+ "jacket",
1380
+ "jade",
1381
+ "jaguar",
1382
+ "jam",
1383
+ "jasmine",
1384
+ "jasper",
1385
+ "jazz",
1386
+ "jeep",
1387
+ "jelly",
1388
+ "jellyfish",
1389
+ "jersey",
1390
+ "jet",
1391
+ "jetty",
1392
+ "jewel",
1393
+ "jigsaw",
1394
+ "journey",
1395
+ "juniper",
1396
+ "jupiter",
1397
+ "jute",
1398
+ "kale",
1399
+ "kangaroo",
1400
+ "karaoke",
1401
+ "kayak",
1402
+ "keel",
1403
+ "kelp",
1404
+ "kennel",
1405
+ "kernel",
1406
+ "kettle",
1407
+ "key",
1408
+ "keyboard",
1409
+ "khaki",
1410
+ "kilt",
1411
+ "kiosk",
1412
+ "kite",
1413
+ "kitten",
1414
+ "kiwi",
1415
+ "knot",
1416
+ "koala",
1417
+ "koi",
1418
+ "kumquat",
1419
+ "laboratory",
1420
+ "lace",
1421
+ "ladder",
1422
+ "ladle",
1423
+ "lagoon",
1424
+ "lake",
1425
+ "lamb",
1426
+ "lamp",
1427
+ "land",
1428
+ "landmark",
1429
+ "landscape",
1430
+ "lane",
1431
+ "lantern",
1432
+ "larch",
1433
+ "lark",
1434
+ "larkspur",
1435
+ "laser",
1436
+ "latitude",
1437
+ "lattice",
1438
+ "laurel",
1439
+ "lava",
1440
+ "lavender",
1441
+ "lawn",
1442
+ "lead",
1443
+ "leaf",
1444
+ "leash",
1445
+ "leather",
1446
+ "leek",
1447
+ "lemon",
1448
+ "lemonade",
1449
+ "lens",
1450
+ "leopard",
1451
+ "lettuce",
1452
+ "level",
1453
+ "library",
1454
+ "licorice",
1455
+ "light",
1456
+ "lighthouse",
1457
+ "lightning",
1458
+ "lilac",
1459
+ "lily",
1460
+ "lime",
1461
+ "limestone",
1462
+ "linen",
1463
+ "linguine",
1464
+ "lion",
1465
+ "liquid",
1466
+ "lizard",
1467
+ "llama",
1468
+ "loaf",
1469
+ "lobster",
1470
+ "locomotive",
1471
+ "locust",
1472
+ "lodge",
1473
+ "loft",
1474
+ "log",
1475
+ "longitude",
1476
+ "loom",
1477
+ "lotus",
1478
+ "lounge",
1479
+ "lullaby",
1480
+ "lumber",
1481
+ "luminance",
1482
+ "lunch",
1483
+ "lute",
1484
+ "lychee",
1485
+ "lynx",
1486
+ "macadamia",
1487
+ "macaroni",
1488
+ "macaw",
1489
+ "machine",
1490
+ "mackerel",
1491
+ "macrame",
1492
+ "magazine",
1493
+ "magnet",
1494
+ "magnolia",
1495
+ "magpie",
1496
+ "mahogany",
1497
+ "mail",
1498
+ "mailbox",
1499
+ "maize",
1500
+ "malt",
1501
+ "mammal",
1502
+ "mammoth",
1503
+ "mandarin",
1504
+ "mango",
1505
+ "mangrove",
1506
+ "mansion",
1507
+ "mantis",
1508
+ "maple",
1509
+ "marble",
1510
+ "marina",
1511
+ "market",
1512
+ "marmalade",
1513
+ "marmot",
1514
+ "marquee",
1515
+ "marsh",
1516
+ "marshmallow",
1517
+ "martini",
1518
+ "mask",
1519
+ "masonry",
1520
+ "mast",
1521
+ "mat",
1522
+ "matrix",
1523
+ "mattress",
1524
+ "mayonnaise",
1525
+ "meadow",
1526
+ "meal",
1527
+ "melon",
1528
+ "mercury",
1529
+ "meridian",
1530
+ "meteor",
1531
+ "mica",
1532
+ "microphone",
1533
+ "microscope",
1534
+ "midnight",
1535
+ "mile",
1536
+ "milk",
1537
+ "milkshake",
1538
+ "millennium",
1539
+ "millet",
1540
+ "mineral",
1541
+ "mint",
1542
+ "minute",
1543
+ "mirror",
1544
+ "mist",
1545
+ "mitten",
1546
+ "moat",
1547
+ "mobile",
1548
+ "moccasin",
1549
+ "mockingbird",
1550
+ "modem",
1551
+ "module",
1552
+ "mohair",
1553
+ "moisture",
1554
+ "mole",
1555
+ "molecule",
1556
+ "molasses",
1557
+ "moment",
1558
+ "monarch",
1559
+ "monastery",
1560
+ "mongoose",
1561
+ "monitor",
1562
+ "monkey",
1563
+ "monolith",
1564
+ "monsoon",
1565
+ "monument",
1566
+ "moon",
1567
+ "moose",
1568
+ "morning",
1569
+ "morocco",
1570
+ "mosaic",
1571
+ "mosque",
1572
+ "mosquito",
1573
+ "moss",
1574
+ "motel",
1575
+ "moth",
1576
+ "mother",
1577
+ "mountain",
1578
+ "mouse",
1579
+ "mousse",
1580
+ "movie",
1581
+ "muffin",
1582
+ "mulberry",
1583
+ "mule",
1584
+ "multimedia",
1585
+ "mural",
1586
+ "museum",
1587
+ "mushroom",
1588
+ "music",
1589
+ "muskmelon",
1590
+ "mustard",
1591
+ "mustang",
1592
+ "nacre",
1593
+ "nail",
1594
+ "napkin",
1595
+ "narcissus",
1596
+ "nation",
1597
+ "nature",
1598
+ "nebula",
1599
+ "nectar",
1600
+ "nectarine",
1601
+ "needle",
1602
+ "neighborhood",
1603
+ "neon",
1604
+ "nest",
1605
+ "network",
1606
+ "neutron",
1607
+ "newt",
1608
+ "nickel",
1609
+ "nightingale",
1610
+ "nitrogen",
1611
+ "noodle",
1612
+ "north",
1613
+ "notebook",
1614
+ "nougat",
1615
+ "nova",
1616
+ "novel",
1617
+ "nozzle",
1618
+ "nucleus",
1619
+ "nugget",
1620
+ "number",
1621
+ "numeral",
1622
+ "nurse",
1623
+ "nursery",
1624
+ "nutmeg",
1625
+ "nutrient",
1626
+ "nylon",
1627
+ "nymph",
1628
+ "oak",
1629
+ "oasis",
1630
+ "oatmeal",
1631
+ "oboe",
1632
+ "observatory",
1633
+ "obsidian",
1634
+ "ocean",
1635
+ "octagon",
1636
+ "octopus",
1637
+ "odometer",
1638
+ "office",
1639
+ "oil",
1640
+ "okra",
1641
+ "olive",
1642
+ "omega",
1643
+ "omelet",
1644
+ "onion",
1645
+ "opera",
1646
+ "orange",
1647
+ "orchard",
1648
+ "orchestra",
1649
+ "orchid",
1650
+ "oregano",
1651
+ "organ",
1652
+ "origami",
1653
+ "oriole",
1654
+ "ornament",
1655
+ "osmium",
1656
+ "osprey",
1657
+ "ostrich",
1658
+ "otter",
1659
+ "outrigger",
1660
+ "oval",
1661
+ "oven",
1662
+ "overture",
1663
+ "owl",
1664
+ "oxygen",
1665
+ "oyster",
1666
+ "ozone",
1667
+ "package",
1668
+ "packet",
1669
+ "paddle",
1670
+ "padlock",
1671
+ "page",
1672
+ "pagoda",
1673
+ "pail",
1674
+ "paint",
1675
+ "pajama",
1676
+ "palace",
1677
+ "palette",
1678
+ "palm",
1679
+ "pamphlet",
1680
+ "pan",
1681
+ "panda",
1682
+ "pansy",
1683
+ "panther",
1684
+ "papaya",
1685
+ "paper",
1686
+ "paprika",
1687
+ "papyrus",
1688
+ "parachute",
1689
+ "parade",
1690
+ "paradise",
1691
+ "paraffin",
1692
+ "parcel",
1693
+ "parchment",
1694
+ "park",
1695
+ "parrot",
1696
+ "parsley",
1697
+ "partridge",
1698
+ "passage",
1699
+ "passenger",
1700
+ "passion",
1701
+ "pasta",
1702
+ "pastel",
1703
+ "pastry",
1704
+ "patch",
1705
+ "path",
1706
+ "patio",
1707
+ "pavilion",
1708
+ "paw",
1709
+ "peach",
1710
+ "peacock",
1711
+ "peak",
1712
+ "peanut",
1713
+ "pear",
1714
+ "pearl",
1715
+ "pebble",
1716
+ "pecan",
1717
+ "pedal",
1718
+ "pelican",
1719
+ "pen",
1720
+ "pencil",
1721
+ "penguin",
1722
+ "peninsula",
1723
+ "penny",
1724
+ "peony",
1725
+ "pepper",
1726
+ "perch",
1727
+ "percussion",
1728
+ "perfume",
1729
+ "petal",
1730
+ "petroleum",
1731
+ "pewter",
1732
+ "pheasant",
1733
+ "phoenix",
1734
+ "phosphorus",
1735
+ "photograph",
1736
+ "piano",
1737
+ "piccolo",
1738
+ "pickup",
1739
+ "picnic",
1740
+ "picture",
1741
+ "pie",
1742
+ "pier",
1743
+ "pigeon",
1744
+ "pigment",
1745
+ "pillar",
1746
+ "pillow",
1747
+ "pilot",
1748
+ "pimento",
1749
+ "pin",
1750
+ "pine",
1751
+ "pineapple",
1752
+ "pinecone",
1753
+ "pinwheel",
1754
+ "pioneer",
1755
+ "pipe",
1756
+ "pistachio",
1757
+ "pitch",
1758
+ "pizza",
1759
+ "planet",
1760
+ "plank",
1761
+ "plant",
1762
+ "plantation",
1763
+ "plaster",
1764
+ "plastic",
1765
+ "plate",
1766
+ "platform",
1767
+ "platinum",
1768
+ "plaza",
1769
+ "pliers",
1770
+ "plough",
1771
+ "plum",
1772
+ "plume",
1773
+ "plywood",
1774
+ "pocket",
1775
+ "poem",
1776
+ "poet",
1777
+ "point",
1778
+ "pollen",
1779
+ "polo",
1780
+ "polyester",
1781
+ "pond",
1782
+ "pony",
1783
+ "pool",
1784
+ "popcorn",
1785
+ "poplar",
1786
+ "poppy",
1787
+ "popsicle",
1788
+ "porch",
1789
+ "porcupine",
1790
+ "port",
1791
+ "porter",
1792
+ "post",
1793
+ "postage",
1794
+ "poster",
1795
+ "pot",
1796
+ "potato",
1797
+ "pottery",
1798
+ "pouch",
1799
+ "powder",
1800
+ "prairie",
1801
+ "prawn",
1802
+ "precipitation",
1803
+ "pretzel",
1804
+ "primrose",
1805
+ "prism",
1806
+ "processor",
1807
+ "produce",
1808
+ "propeller",
1809
+ "protein",
1810
+ "prune",
1811
+ "pudding",
1812
+ "puffin",
1813
+ "pulley",
1814
+ "pulse",
1815
+ "puma",
1816
+ "pump",
1817
+ "pumpkin",
1818
+ "puppet",
1819
+ "puppy",
1820
+ "pyramid",
1821
+ "quail",
1822
+ "quartz",
1823
+ "quasar",
1824
+ "queen",
1825
+ "quiche",
1826
+ "quill",
1827
+ "quilt",
1828
+ "quince",
1829
+ "quinoa",
1830
+ "rabbit",
1831
+ "raccoon",
1832
+ "race",
1833
+ "racket",
1834
+ "radar",
1835
+ "radiator",
1836
+ "radio",
1837
+ "radish",
1838
+ "raft",
1839
+ "railroad",
1840
+ "railway",
1841
+ "rain",
1842
+ "rainbow",
1843
+ "raisin",
1844
+ "rake",
1845
+ "rambler",
1846
+ "ramp",
1847
+ "ranch",
1848
+ "raspberry",
1849
+ "raven",
1850
+ "ravioli",
1851
+ "ray",
1852
+ "realm",
1853
+ "recipe",
1854
+ "record",
1855
+ "recorder",
1856
+ "rectangle",
1857
+ "redwood",
1858
+ "reef",
1859
+ "refrigerator",
1860
+ "region",
1861
+ "reindeer",
1862
+ "relay",
1863
+ "reptile",
1864
+ "reservoir",
1865
+ "resort",
1866
+ "restaurant",
1867
+ "rhinestone",
1868
+ "rhinoceros",
1869
+ "rhubarb",
1870
+ "rhythm",
1871
+ "ribbon",
1872
+ "rice",
1873
+ "rickshaw",
1874
+ "riddle",
1875
+ "river",
1876
+ "road",
1877
+ "robin",
1878
+ "robot",
1879
+ "rock",
1880
+ "rocket",
1881
+ "rodent",
1882
+ "roll",
1883
+ "roof",
1884
+ "room",
1885
+ "root",
1886
+ "rope",
1887
+ "rose",
1888
+ "rosemary",
1889
+ "rotunda",
1890
+ "rouge",
1891
+ "rowboat",
1892
+ "rubber",
1893
+ "ruby",
1894
+ "rudder",
1895
+ "rug",
1896
+ "ruler",
1897
+ "runner",
1898
+ "rush",
1899
+ "rutabaga",
1900
+ "sack",
1901
+ "saddle",
1902
+ "safari",
1903
+ "saffron",
1904
+ "sage",
1905
+ "sail",
1906
+ "sailboat",
1907
+ "sailor",
1908
+ "salad",
1909
+ "salamander",
1910
+ "salmon",
1911
+ "salon",
1912
+ "salt",
1913
+ "sanctuary",
1914
+ "sand",
1915
+ "sandal",
1916
+ "sandpiper",
1917
+ "sandwich",
1918
+ "sapphire",
1919
+ "sardine",
1920
+ "sash",
1921
+ "satellite",
1922
+ "satin",
1923
+ "sauce",
1924
+ "saucer",
1925
+ "sauna",
1926
+ "savanna",
1927
+ "saxophone",
1928
+ "scale",
1929
+ "scallion",
1930
+ "scallop",
1931
+ "scanner",
1932
+ "scarf",
1933
+ "scenario",
1934
+ "scene",
1935
+ "scenery",
1936
+ "scent",
1937
+ "school",
1938
+ "science",
1939
+ "scissors",
1940
+ "scone",
1941
+ "scooter",
1942
+ "scorpion",
1943
+ "scout",
1944
+ "scrap",
1945
+ "screen",
1946
+ "screwdriver",
1947
+ "scrub",
1948
+ "sculpture",
1949
+ "sea",
1950
+ "seagull",
1951
+ "seal",
1952
+ "seaplane",
1953
+ "seashell",
1954
+ "seaweed",
1955
+ "sedan",
1956
+ "seed",
1957
+ "seeker",
1958
+ "segment",
1959
+ "selenium",
1960
+ "semicircle",
1961
+ "sequoia",
1962
+ "serum",
1963
+ "sesame",
1964
+ "shack",
1965
+ "shade",
1966
+ "shadow",
1967
+ "shaft",
1968
+ "shallot",
1969
+ "shampoo",
1970
+ "shark",
1971
+ "shawl",
1972
+ "shed",
1973
+ "sheep",
1974
+ "sheet",
1975
+ "shelf",
1976
+ "shell",
1977
+ "shelter",
1978
+ "shield",
1979
+ "ship",
1980
+ "shirt",
1981
+ "shoe",
1982
+ "shop",
1983
+ "shore",
1984
+ "shovel",
1985
+ "shower",
1986
+ "shrimp",
1987
+ "shrub",
1988
+ "shutter",
1989
+ "shuttle",
1990
+ "sidecar",
1991
+ "sidewalk",
1992
+ "sieve",
1993
+ "signal",
1994
+ "silicon",
1995
+ "silk",
1996
+ "sill",
1997
+ "silver",
1998
+ "silverware",
1999
+ "simulation",
2000
+ "singer",
2001
+ "siren",
2002
+ "site",
2003
+ "skate",
2004
+ "skeleton",
2005
+ "sketch",
2006
+ "ski",
2007
+ "skiff",
2008
+ "skill",
2009
+ "sky",
2010
+ "slab",
2011
+ "slate",
2012
+ "sled",
2013
+ "sleeve",
2014
+ "sleet",
2015
+ "slide",
2016
+ "slipper",
2017
+ "slope",
2018
+ "slug",
2019
+ "slumber",
2020
+ "smile",
2021
+ "snack",
2022
+ "snail",
2023
+ "snake",
2024
+ "snapshot",
2025
+ "sneeze",
2026
+ "snow",
2027
+ "snowflake",
2028
+ "soap",
2029
+ "soccer",
2030
+ "socks",
2031
+ "soda",
2032
+ "sofa",
2033
+ "soil",
2034
+ "solvent",
2035
+ "sorbet",
2036
+ "sound",
2037
+ "soup",
2038
+ "soy",
2039
+ "soybean",
2040
+ "space",
2041
+ "spaceship",
2042
+ "spade",
2043
+ "spaghetti",
2044
+ "spark",
2045
+ "sparrow",
2046
+ "spatula",
2047
+ "speaker",
2048
+ "spear",
2049
+ "spectrum",
2050
+ "spice",
2051
+ "spider",
2052
+ "spinach",
2053
+ "spiral",
2054
+ "sponge",
2055
+ "spoon",
2056
+ "spray",
2057
+ "spring",
2058
+ "sprinkler",
2059
+ "sprout",
2060
+ "spruce",
2061
+ "square",
2062
+ "squash",
2063
+ "squid",
2064
+ "squirrel",
2065
+ "stable",
2066
+ "stadium",
2067
+ "stage",
2068
+ "staircase",
2069
+ "stamen",
2070
+ "star",
2071
+ "starch",
2072
+ "starfish",
2073
+ "starling",
2074
+ "station",
2075
+ "statue",
2076
+ "steam",
2077
+ "steel",
2078
+ "stem",
2079
+ "stencil",
2080
+ "step",
2081
+ "stereo",
2082
+ "stick",
2083
+ "sticker",
2084
+ "stilts",
2085
+ "stitch",
2086
+ "stone",
2087
+ "storm",
2088
+ "story",
2089
+ "stove",
2090
+ "straw",
2091
+ "strawberry",
2092
+ "stream",
2093
+ "street",
2094
+ "string",
2095
+ "structure",
2096
+ "studio",
2097
+ "subway",
2098
+ "succulent",
2099
+ "sugar",
2100
+ "sulfur",
2101
+ "summer",
2102
+ "summit",
2103
+ "sun",
2104
+ "sunflower",
2105
+ "sunset",
2106
+ "sunshine",
2107
+ "supermarket",
2108
+ "surf",
2109
+ "sushi",
2110
+ "swallow",
2111
+ "swan",
2112
+ "sweater",
2113
+ "swift",
2114
+ "swing",
2115
+ "switch",
2116
+ "sycamore",
2117
+ "symphony",
2118
+ "syrup",
2119
+ "system",
2120
+ "table",
2121
+ "tablecloth",
2122
+ "tablet",
2123
+ "taco",
2124
+ "tadpole",
2125
+ "taffy",
2126
+ "tail",
2127
+ "tambourine",
2128
+ "tangerine",
2129
+ "tank",
2130
+ "tape",
2131
+ "tapioca",
2132
+ "tapir",
2133
+ "target",
2134
+ "taxi",
2135
+ "tea",
2136
+ "teacup",
2137
+ "teapot",
2138
+ "technology",
2139
+ "teddy",
2140
+ "telephone",
2141
+ "telescope",
2142
+ "television",
2143
+ "temple",
2144
+ "tempo",
2145
+ "tennis",
2146
+ "tenor",
2147
+ "tent",
2148
+ "termite",
2149
+ "terrace",
2150
+ "territory",
2151
+ "texture",
2152
+ "theater",
2153
+ "thistle",
2154
+ "thimble",
2155
+ "thread",
2156
+ "threshold",
2157
+ "throne",
2158
+ "thyme",
2159
+ "ticket",
2160
+ "tide",
2161
+ "tiger",
2162
+ "tile",
2163
+ "timber",
2164
+ "time",
2165
+ "timeline",
2166
+ "tin",
2167
+ "tint",
2168
+ "toast",
2169
+ "toffee",
2170
+ "tofu",
2171
+ "tomato",
2172
+ "tool",
2173
+ "topaz",
2174
+ "tornado",
2175
+ "tortoise",
2176
+ "toucan",
2177
+ "tower",
2178
+ "town",
2179
+ "toy",
2180
+ "tractor",
2181
+ "traffic",
2182
+ "trail",
2183
+ "train",
2184
+ "tram",
2185
+ "trampoline",
2186
+ "transport",
2187
+ "trapeze",
2188
+ "travel",
2189
+ "tray",
2190
+ "treasure",
2191
+ "tree",
2192
+ "treehouse",
2193
+ "trellis",
2194
+ "triangle",
2195
+ "tricycle",
2196
+ "trolley",
2197
+ "trombone",
2198
+ "trophy",
2199
+ "trout",
2200
+ "truck",
2201
+ "trumpet",
2202
+ "trunk",
2203
+ "tulip",
2204
+ "tumbleweed",
2205
+ "tuna",
2206
+ "tunnel",
2207
+ "turkey",
2208
+ "turnip",
2209
+ "turtle",
2210
+ "tusk",
2211
+ "tuxedo",
2212
+ "twig",
2213
+ "twilight",
2214
+ "typhoon",
2215
+ "umbrella",
2216
+ "unicorn",
2217
+ "universe",
2218
+ "university",
2219
+ "vacuum",
2220
+ "valley",
2221
+ "vanilla",
2222
+ "vapor",
2223
+ "vase",
2224
+ "vault",
2225
+ "vegetable",
2226
+ "vegetation",
2227
+ "vehicle",
2228
+ "velvet",
2229
+ "vendor",
2230
+ "veneer",
2231
+ "vent",
2232
+ "venus",
2233
+ "vessel",
2234
+ "vest",
2235
+ "video",
2236
+ "vine",
2237
+ "vinegar",
2238
+ "vinyl",
2239
+ "viola",
2240
+ "violin",
2241
+ "viper",
2242
+ "vitamin",
2243
+ "volcano",
2244
+ "voyage",
2245
+ "wafer",
2246
+ "wagon",
2247
+ "wake",
2248
+ "walk",
2249
+ "wall",
2250
+ "wallet",
2251
+ "walnut",
2252
+ "walrus",
2253
+ "wand",
2254
+ "warehouse",
2255
+ "wardrobe",
2256
+ "warmth",
2257
+ "wasabi",
2258
+ "water",
2259
+ "waterfall",
2260
+ "watermelon",
2261
+ "wave",
2262
+ "wax",
2263
+ "weasel",
2264
+ "weather",
2265
+ "web",
2266
+ "website",
2267
+ "wedge",
2268
+ "weekend",
2269
+ "weight",
2270
+ "well",
2271
+ "whale",
2272
+ "wheat",
2273
+ "wheel",
2274
+ "whippet",
2275
+ "whirlpool",
2276
+ "whisker",
2277
+ "whistle",
2278
+ "wilderness",
2279
+ "willow",
2280
+ "wind",
2281
+ "window",
2282
+ "wine",
2283
+ "wing",
2284
+ "winter",
2285
+ "wire",
2286
+ "wisdom",
2287
+ "wisteria",
2288
+ "witch",
2289
+ "wizard",
2290
+ "wok",
2291
+ "wolf",
2292
+ "wolverine",
2293
+ "wood",
2294
+ "wool",
2295
+ "world",
2296
+ "wreath",
2297
+ "wrench",
2298
+ "xenon",
2299
+ "yacht",
2300
+ "yak",
2301
+ "yard",
2302
+ "yarn",
2303
+ "year",
2304
+ "yogurt",
2305
+ "yolk",
2306
+ "zebra",
2307
+ "zenith",
2308
+ "zephyr",
2309
+ "zero",
2310
+ "zest",
2311
+ "zinc",
2312
+ "zipper",
2313
+ "zone",
2314
+ "zoom",
2315
+ "zucchini"
2316
+ ],
2317
+ verbs: [
2318
+ "accept",
2319
+ "accomplish",
2320
+ "achieve",
2321
+ "acquire",
2322
+ "act",
2323
+ "adapt",
2324
+ "add",
2325
+ "address",
2326
+ "adjust",
2327
+ "admire",
2328
+ "admit",
2329
+ "adopt",
2330
+ "adore",
2331
+ "advance",
2332
+ "advise",
2333
+ "affirm",
2334
+ "aid",
2335
+ "aim",
2336
+ "alert",
2337
+ "align",
2338
+ "allow",
2339
+ "alter",
2340
+ "amaze",
2341
+ "amend",
2342
+ "amplify",
2343
+ "analyze",
2344
+ "animate",
2345
+ "announce",
2346
+ "answer",
2347
+ "anticipate",
2348
+ "appear",
2349
+ "applaud",
2350
+ "apply",
2351
+ "appoint",
2352
+ "appreciate",
2353
+ "approach",
2354
+ "approve",
2355
+ "archive",
2356
+ "argue",
2357
+ "arise",
2358
+ "arrange",
2359
+ "arrive",
2360
+ "articulate",
2361
+ "ask",
2362
+ "assemble",
2363
+ "assert",
2364
+ "assess",
2365
+ "assist",
2366
+ "assume",
2367
+ "assure",
2368
+ "attach",
2369
+ "attain",
2370
+ "attend",
2371
+ "attract",
2372
+ "audit",
2373
+ "augment",
2374
+ "author",
2375
+ "authorize",
2376
+ "automate",
2377
+ "award",
2378
+ "balance",
2379
+ "bake",
2380
+ "bathe",
2381
+ "beam",
2382
+ "beckon",
2383
+ "begin",
2384
+ "behave",
2385
+ "believe",
2386
+ "belong",
2387
+ "bend",
2388
+ "benefit",
2389
+ "blink",
2390
+ "bloom",
2391
+ "blossom",
2392
+ "board",
2393
+ "boast",
2394
+ "boil",
2395
+ "book",
2396
+ "boost",
2397
+ "borrow",
2398
+ "bounce",
2399
+ "bow",
2400
+ "breathe",
2401
+ "brew",
2402
+ "brighten",
2403
+ "bring",
2404
+ "broadcast",
2405
+ "browse",
2406
+ "brush",
2407
+ "bubble",
2408
+ "budget",
2409
+ "build",
2410
+ "bump",
2411
+ "calculate",
2412
+ "call",
2413
+ "calm",
2414
+ "camp",
2415
+ "cancel",
2416
+ "capture",
2417
+ "care",
2418
+ "carry",
2419
+ "carve",
2420
+ "cast",
2421
+ "catalog",
2422
+ "catch",
2423
+ "categorize",
2424
+ "celebrate",
2425
+ "center",
2426
+ "challenge",
2427
+ "change",
2428
+ "channel",
2429
+ "chart",
2430
+ "chase",
2431
+ "chat",
2432
+ "check",
2433
+ "cheer",
2434
+ "cherish",
2435
+ "chew",
2436
+ "choose",
2437
+ "circle",
2438
+ "cite",
2439
+ "claim",
2440
+ "clarify",
2441
+ "classify",
2442
+ "clean",
2443
+ "clear",
2444
+ "click",
2445
+ "climb",
2446
+ "cling",
2447
+ "close",
2448
+ "coach",
2449
+ "code",
2450
+ "coexist",
2451
+ "collaborate",
2452
+ "collect",
2453
+ "color",
2454
+ "combine",
2455
+ "comfort",
2456
+ "command",
2457
+ "commence",
2458
+ "comment",
2459
+ "commit",
2460
+ "communicate",
2461
+ "compare",
2462
+ "compile",
2463
+ "complete",
2464
+ "compose",
2465
+ "compute",
2466
+ "conceive",
2467
+ "concentrate",
2468
+ "conclude",
2469
+ "conduct",
2470
+ "confess",
2471
+ "configure",
2472
+ "confirm",
2473
+ "connect",
2474
+ "consider",
2475
+ "consist",
2476
+ "construct",
2477
+ "consult",
2478
+ "contain",
2479
+ "continue",
2480
+ "contribute",
2481
+ "control",
2482
+ "convert",
2483
+ "convey",
2484
+ "cook",
2485
+ "cool",
2486
+ "cooperate",
2487
+ "coordinate",
2488
+ "copy",
2489
+ "correct",
2490
+ "correspond",
2491
+ "counsel",
2492
+ "count",
2493
+ "craft",
2494
+ "create",
2495
+ "credit",
2496
+ "critique",
2497
+ "cross",
2498
+ "cruise",
2499
+ "cuddle",
2500
+ "cultivate",
2501
+ "cure",
2502
+ "curl",
2503
+ "customize",
2504
+ "cycle",
2505
+ "dance",
2506
+ "dazzle",
2507
+ "deal",
2508
+ "debate",
2509
+ "decide",
2510
+ "decorate",
2511
+ "decrease",
2512
+ "dedicate",
2513
+ "define",
2514
+ "delay",
2515
+ "delegate",
2516
+ "delight",
2517
+ "deliver",
2518
+ "demonstrate",
2519
+ "depend",
2520
+ "depict",
2521
+ "deposit",
2522
+ "derive",
2523
+ "describe",
2524
+ "design",
2525
+ "desire",
2526
+ "detail",
2527
+ "detect",
2528
+ "determine",
2529
+ "develop",
2530
+ "devise",
2531
+ "diagnose",
2532
+ "dial",
2533
+ "differ",
2534
+ "digest",
2535
+ "direct",
2536
+ "disappear",
2537
+ "discover",
2538
+ "discuss",
2539
+ "display",
2540
+ "distinguish",
2541
+ "distribute",
2542
+ "dive",
2543
+ "divert",
2544
+ "divide",
2545
+ "document",
2546
+ "donate",
2547
+ "download",
2548
+ "draft",
2549
+ "draw",
2550
+ "dream",
2551
+ "drift",
2552
+ "drink",
2553
+ "drive",
2554
+ "drop",
2555
+ "dry",
2556
+ "dwell",
2557
+ "earn",
2558
+ "ease",
2559
+ "eat",
2560
+ "echo",
2561
+ "edit",
2562
+ "educate",
2563
+ "elaborate",
2564
+ "elect",
2565
+ "elevate",
2566
+ "eliminate",
2567
+ "embark",
2568
+ "embrace",
2569
+ "emerge",
2570
+ "emphasize",
2571
+ "employ",
2572
+ "empower",
2573
+ "enable",
2574
+ "enact",
2575
+ "enchant",
2576
+ "encounter",
2577
+ "encourage",
2578
+ "endorse",
2579
+ "endure",
2580
+ "energize",
2581
+ "enforce",
2582
+ "engage",
2583
+ "engineer",
2584
+ "enhance",
2585
+ "enjoy",
2586
+ "enlist",
2587
+ "enliven",
2588
+ "enrich",
2589
+ "enter",
2590
+ "entertain",
2591
+ "enthuse",
2592
+ "entrust",
2593
+ "enumerate",
2594
+ "envision",
2595
+ "equalize",
2596
+ "equip",
2597
+ "erase",
2598
+ "erect",
2599
+ "escape",
2600
+ "establish",
2601
+ "estimate",
2602
+ "evaluate",
2603
+ "evolve",
2604
+ "examine",
2605
+ "exceed",
2606
+ "excel",
2607
+ "exchange",
2608
+ "excite",
2609
+ "exclude",
2610
+ "excuse",
2611
+ "execute",
2612
+ "exercise",
2613
+ "exhale",
2614
+ "exhibit",
2615
+ "exist",
2616
+ "expand",
2617
+ "expect",
2618
+ "expedite",
2619
+ "experiment",
2620
+ "explain",
2621
+ "explore",
2622
+ "export",
2623
+ "express",
2624
+ "extend",
2625
+ "extract",
2626
+ "face",
2627
+ "facilitate",
2628
+ "fade",
2629
+ "fail",
2630
+ "fancy",
2631
+ "fascinate",
2632
+ "fasten",
2633
+ "favor",
2634
+ "feature",
2635
+ "feed",
2636
+ "feel",
2637
+ "fetch",
2638
+ "filter",
2639
+ "finalize",
2640
+ "finance",
2641
+ "find",
2642
+ "finish",
2643
+ "fit",
2644
+ "fix",
2645
+ "flap",
2646
+ "flash",
2647
+ "flatten",
2648
+ "flavor",
2649
+ "flex",
2650
+ "float",
2651
+ "flourish",
2652
+ "flow",
2653
+ "flutter",
2654
+ "focus",
2655
+ "fold",
2656
+ "follow",
2657
+ "forecast",
2658
+ "forge",
2659
+ "form",
2660
+ "formulate",
2661
+ "foster",
2662
+ "found",
2663
+ "frame",
2664
+ "free",
2665
+ "freeze",
2666
+ "freshen",
2667
+ "fulfill",
2668
+ "function",
2669
+ "furnish",
2670
+ "further",
2671
+ "fuse",
2672
+ "gain",
2673
+ "gallop",
2674
+ "garden",
2675
+ "garner",
2676
+ "gather",
2677
+ "gaze",
2678
+ "generate",
2679
+ "gesture",
2680
+ "get",
2681
+ "give",
2682
+ "glance",
2683
+ "gleam",
2684
+ "glide",
2685
+ "glow",
2686
+ "go",
2687
+ "govern",
2688
+ "grab",
2689
+ "graduate",
2690
+ "grant",
2691
+ "grasp",
2692
+ "greet",
2693
+ "grill",
2694
+ "grip",
2695
+ "groom",
2696
+ "ground",
2697
+ "grow",
2698
+ "guarantee",
2699
+ "guard",
2700
+ "guess",
2701
+ "guide",
2702
+ "handle",
2703
+ "hang",
2704
+ "happen",
2705
+ "harmonize",
2706
+ "harvest",
2707
+ "hasten",
2708
+ "hatch",
2709
+ "heal",
2710
+ "hear",
2711
+ "heat",
2712
+ "help",
2713
+ "hesitate",
2714
+ "hide",
2715
+ "highlight",
2716
+ "hike",
2717
+ "hinder",
2718
+ "hint",
2719
+ "hire",
2720
+ "hit",
2721
+ "hoist",
2722
+ "hold",
2723
+ "honor",
2724
+ "hook",
2725
+ "hope",
2726
+ "host",
2727
+ "hover",
2728
+ "hug",
2729
+ "hum",
2730
+ "hunt",
2731
+ "hurry",
2732
+ "identify",
2733
+ "ignite",
2734
+ "illuminate",
2735
+ "illustrate",
2736
+ "imagine",
2737
+ "imitate",
2738
+ "immerse",
2739
+ "implement",
2740
+ "imply",
2741
+ "import",
2742
+ "impress",
2743
+ "improve",
2744
+ "include",
2745
+ "incorporate",
2746
+ "increase",
2747
+ "incubate",
2748
+ "indicate",
2749
+ "induce",
2750
+ "inform",
2751
+ "infuse",
2752
+ "inhabit",
2753
+ "initiate",
2754
+ "inject",
2755
+ "innovate",
2756
+ "inquire",
2757
+ "insert",
2758
+ "inspect",
2759
+ "inspire",
2760
+ "install",
2761
+ "institute",
2762
+ "instruct",
2763
+ "insulate",
2764
+ "integrate",
2765
+ "intend",
2766
+ "intensify",
2767
+ "interact",
2768
+ "interest",
2769
+ "interfere",
2770
+ "interject",
2771
+ "interpret",
2772
+ "interrupt",
2773
+ "interview",
2774
+ "introduce",
2775
+ "invent",
2776
+ "invest",
2777
+ "investigate",
2778
+ "invite",
2779
+ "involve",
2780
+ "isolate",
2781
+ "issue",
2782
+ "itemize",
2783
+ "iterate",
2784
+ "join",
2785
+ "joke",
2786
+ "journey",
2787
+ "judge",
2788
+ "juggle",
2789
+ "jump",
2790
+ "justify",
2791
+ "keep",
2792
+ "kindle",
2793
+ "knead",
2794
+ "knit",
2795
+ "know",
2796
+ "label",
2797
+ "land",
2798
+ "launch",
2799
+ "layer",
2800
+ "lead",
2801
+ "lean",
2802
+ "leap",
2803
+ "learn",
2804
+ "leave",
2805
+ "lecture",
2806
+ "lend",
2807
+ "level",
2808
+ "license",
2809
+ "lift",
2810
+ "light",
2811
+ "like",
2812
+ "limit",
2813
+ "line",
2814
+ "link",
2815
+ "list",
2816
+ "listen",
2817
+ "live",
2818
+ "load",
2819
+ "locate",
2820
+ "lock",
2821
+ "log",
2822
+ "long",
2823
+ "look",
2824
+ "loop",
2825
+ "lose",
2826
+ "love",
2827
+ "lower",
2828
+ "maintain",
2829
+ "make",
2830
+ "manage",
2831
+ "maneuver",
2832
+ "manipulate",
2833
+ "manufacture",
2834
+ "map",
2835
+ "march",
2836
+ "mark",
2837
+ "market",
2838
+ "marvel",
2839
+ "match",
2840
+ "matter",
2841
+ "mature",
2842
+ "maximize",
2843
+ "mean",
2844
+ "measure",
2845
+ "mediate",
2846
+ "meditate",
2847
+ "meet",
2848
+ "melt",
2849
+ "memorize",
2850
+ "mend",
2851
+ "mention",
2852
+ "mentor",
2853
+ "merge",
2854
+ "message",
2855
+ "migrate",
2856
+ "mind",
2857
+ "minimize",
2858
+ "mix",
2859
+ "model",
2860
+ "moderate",
2861
+ "modernize",
2862
+ "modify",
2863
+ "moisturize",
2864
+ "monitor",
2865
+ "motivate",
2866
+ "mount",
2867
+ "move",
2868
+ "multiply",
2869
+ "murmur",
2870
+ "muse",
2871
+ "name",
2872
+ "narrate",
2873
+ "navigate",
2874
+ "need",
2875
+ "negotiate",
2876
+ "nest",
2877
+ "nod",
2878
+ "nominate",
2879
+ "normalize",
2880
+ "note",
2881
+ "notice",
2882
+ "notify",
2883
+ "nourish",
2884
+ "nudge",
2885
+ "nurture",
2886
+ "obey",
2887
+ "object",
2888
+ "observe",
2889
+ "obtain",
2890
+ "occupy",
2891
+ "occur",
2892
+ "offer",
2893
+ "offset",
2894
+ "open",
2895
+ "operate",
2896
+ "optimize",
2897
+ "orchestrate",
2898
+ "order",
2899
+ "organize",
2900
+ "orient",
2901
+ "originate",
2902
+ "outline",
2903
+ "output",
2904
+ "overcome",
2905
+ "overlap",
2906
+ "oversee",
2907
+ "overtake",
2908
+ "pace",
2909
+ "pack",
2910
+ "paddle",
2911
+ "paint",
2912
+ "pair",
2913
+ "park",
2914
+ "participate",
2915
+ "pass",
2916
+ "paste",
2917
+ "patch",
2918
+ "pause",
2919
+ "pay",
2920
+ "pedal",
2921
+ "peek",
2922
+ "peel",
2923
+ "perceive",
2924
+ "perfect",
2925
+ "perform",
2926
+ "permit",
2927
+ "persist",
2928
+ "persuade",
2929
+ "phone",
2930
+ "photograph",
2931
+ "pick",
2932
+ "pilot",
2933
+ "pivot",
2934
+ "place",
2935
+ "plan",
2936
+ "plant",
2937
+ "play",
2938
+ "pledge",
2939
+ "plot",
2940
+ "pluck",
2941
+ "point",
2942
+ "polish",
2943
+ "ponder",
2944
+ "pose",
2945
+ "position",
2946
+ "post",
2947
+ "pour",
2948
+ "practice",
2949
+ "praise",
2950
+ "preach",
2951
+ "precede",
2952
+ "predict",
2953
+ "prefer",
2954
+ "prepare",
2955
+ "present",
2956
+ "preserve",
2957
+ "preside",
2958
+ "press",
2959
+ "prevent",
2960
+ "preview",
2961
+ "print",
2962
+ "process",
2963
+ "proclaim",
2964
+ "produce",
2965
+ "profess",
2966
+ "program",
2967
+ "progress",
2968
+ "project",
2969
+ "promise",
2970
+ "promote",
2971
+ "prompt",
2972
+ "proofread",
2973
+ "propose",
2974
+ "protect",
2975
+ "provide",
2976
+ "publish",
2977
+ "pull",
2978
+ "pump",
2979
+ "purchase",
2980
+ "purify",
2981
+ "pursue",
2982
+ "push",
2983
+ "qualify",
2984
+ "quantify",
2985
+ "question",
2986
+ "queue",
2987
+ "quicken",
2988
+ "quiet",
2989
+ "quiz",
2990
+ "quote",
2991
+ "race",
2992
+ "radiate",
2993
+ "raise",
2994
+ "rally",
2995
+ "rank",
2996
+ "rate",
2997
+ "reach",
2998
+ "react",
2999
+ "read",
3000
+ "realize",
3001
+ "rearrange",
3002
+ "reason",
3003
+ "rebuild",
3004
+ "recall",
3005
+ "receive",
3006
+ "recite",
3007
+ "recognize",
3008
+ "recommend",
3009
+ "reconcile",
3010
+ "record",
3011
+ "recover",
3012
+ "recruit",
3013
+ "recycle",
3014
+ "reduce",
3015
+ "refer",
3016
+ "refine",
3017
+ "reflect",
3018
+ "reform",
3019
+ "refresh",
3020
+ "refund",
3021
+ "refuse",
3022
+ "regard",
3023
+ "register",
3024
+ "regulate",
3025
+ "rehearse",
3026
+ "reign",
3027
+ "reinforce",
3028
+ "reject",
3029
+ "rejoice",
3030
+ "relate",
3031
+ "relax",
3032
+ "release",
3033
+ "relieve",
3034
+ "relinquish",
3035
+ "rely",
3036
+ "remain",
3037
+ "remember",
3038
+ "remind",
3039
+ "remove",
3040
+ "render",
3041
+ "renew",
3042
+ "renovate",
3043
+ "repair",
3044
+ "repeat",
3045
+ "replace",
3046
+ "reply",
3047
+ "report",
3048
+ "represent",
3049
+ "request",
3050
+ "require",
3051
+ "rescue",
3052
+ "research",
3053
+ "resemble",
3054
+ "reserve",
3055
+ "reset",
3056
+ "reside",
3057
+ "resign",
3058
+ "resist",
3059
+ "resolve",
3060
+ "resonate",
3061
+ "respect",
3062
+ "respond",
3063
+ "rest",
3064
+ "restore",
3065
+ "restructure",
3066
+ "result",
3067
+ "resume",
3068
+ "retain",
3069
+ "retire",
3070
+ "retreat",
3071
+ "return",
3072
+ "reveal",
3073
+ "review",
3074
+ "revise",
3075
+ "revive",
3076
+ "revolve",
3077
+ "rewrite",
3078
+ "ride",
3079
+ "ring",
3080
+ "rinse",
3081
+ "rise",
3082
+ "risk",
3083
+ "roam",
3084
+ "roast",
3085
+ "rock",
3086
+ "roll",
3087
+ "rotate",
3088
+ "rouse",
3089
+ "row",
3090
+ "rub",
3091
+ "rule",
3092
+ "run",
3093
+ "rush",
3094
+ "sail",
3095
+ "salute",
3096
+ "sample",
3097
+ "satisfy",
3098
+ "save",
3099
+ "savor",
3100
+ "say",
3101
+ "scale",
3102
+ "scan",
3103
+ "scatter",
3104
+ "schedule",
3105
+ "school",
3106
+ "score",
3107
+ "scout",
3108
+ "scrape",
3109
+ "scratch",
3110
+ "screen",
3111
+ "scribble",
3112
+ "scroll",
3113
+ "scrub",
3114
+ "sculpt",
3115
+ "search",
3116
+ "season",
3117
+ "seat",
3118
+ "secure",
3119
+ "see",
3120
+ "seek",
3121
+ "select",
3122
+ "sell",
3123
+ "send",
3124
+ "sense",
3125
+ "separate",
3126
+ "sequence",
3127
+ "serve",
3128
+ "set",
3129
+ "settle",
3130
+ "sew",
3131
+ "shade",
3132
+ "shake",
3133
+ "shape",
3134
+ "share",
3135
+ "sharpen",
3136
+ "shave",
3137
+ "shelter",
3138
+ "shift",
3139
+ "shine",
3140
+ "ship",
3141
+ "shock",
3142
+ "shop",
3143
+ "shorten",
3144
+ "show",
3145
+ "shower",
3146
+ "shuffle",
3147
+ "shut",
3148
+ "sift",
3149
+ "sigh",
3150
+ "sign",
3151
+ "signal",
3152
+ "simplify",
3153
+ "simulate",
3154
+ "sing",
3155
+ "sip",
3156
+ "sit",
3157
+ "sketch",
3158
+ "ski",
3159
+ "skip",
3160
+ "sleep",
3161
+ "slice",
3162
+ "slide",
3163
+ "slip",
3164
+ "slow",
3165
+ "smell",
3166
+ "smile",
3167
+ "smooth",
3168
+ "soak",
3169
+ "soar",
3170
+ "socialize",
3171
+ "soften",
3172
+ "solve",
3173
+ "sort",
3174
+ "sound",
3175
+ "sow",
3176
+ "sparkle",
3177
+ "speak",
3178
+ "specify",
3179
+ "speed",
3180
+ "spell",
3181
+ "spend",
3182
+ "spice",
3183
+ "spin",
3184
+ "spiral",
3185
+ "splash",
3186
+ "splice",
3187
+ "split",
3188
+ "sponsor",
3189
+ "spot",
3190
+ "spray",
3191
+ "spread",
3192
+ "spring",
3193
+ "sprinkle",
3194
+ "sprout",
3195
+ "squeeze",
3196
+ "stabilize",
3197
+ "stack",
3198
+ "stage",
3199
+ "stain",
3200
+ "stamp",
3201
+ "stand",
3202
+ "star",
3203
+ "start",
3204
+ "state",
3205
+ "stay",
3206
+ "steer",
3207
+ "step",
3208
+ "stick",
3209
+ "stimulate",
3210
+ "stir",
3211
+ "stitch",
3212
+ "stop",
3213
+ "store",
3214
+ "straighten",
3215
+ "strain",
3216
+ "streamline",
3217
+ "strengthen",
3218
+ "stretch",
3219
+ "stride",
3220
+ "strike",
3221
+ "string",
3222
+ "strip",
3223
+ "strive",
3224
+ "stroke",
3225
+ "structure",
3226
+ "study",
3227
+ "stuff",
3228
+ "stumble",
3229
+ "stun",
3230
+ "submit",
3231
+ "subscribe",
3232
+ "succeed",
3233
+ "suck",
3234
+ "suggest",
3235
+ "suit",
3236
+ "summarize",
3237
+ "summon",
3238
+ "supply",
3239
+ "support",
3240
+ "suppose",
3241
+ "surface",
3242
+ "surge",
3243
+ "surprise",
3244
+ "surrender",
3245
+ "surround",
3246
+ "survey",
3247
+ "survive",
3248
+ "suspend",
3249
+ "sustain",
3250
+ "swallow",
3251
+ "swap",
3252
+ "sway",
3253
+ "sweep",
3254
+ "swell",
3255
+ "swim",
3256
+ "swing",
3257
+ "switch",
3258
+ "symbolize",
3259
+ "synchronize",
3260
+ "synthesize",
3261
+ "tabulate",
3262
+ "tag",
3263
+ "take",
3264
+ "talk",
3265
+ "tame",
3266
+ "tap",
3267
+ "target",
3268
+ "taste",
3269
+ "teach",
3270
+ "team",
3271
+ "tear",
3272
+ "tease",
3273
+ "tell",
3274
+ "tempt",
3275
+ "tend",
3276
+ "test",
3277
+ "thank",
3278
+ "thaw",
3279
+ "think",
3280
+ "thrive",
3281
+ "throw",
3282
+ "tickle",
3283
+ "tidy",
3284
+ "tie",
3285
+ "tilt",
3286
+ "time",
3287
+ "tinker",
3288
+ "tip",
3289
+ "toast",
3290
+ "toggle",
3291
+ "tolerate",
3292
+ "tone",
3293
+ "touch",
3294
+ "tour",
3295
+ "tow",
3296
+ "trace",
3297
+ "track",
3298
+ "trade",
3299
+ "train",
3300
+ "transcribe",
3301
+ "transfer",
3302
+ "transform",
3303
+ "translate",
3304
+ "transmit",
3305
+ "transport",
3306
+ "trap",
3307
+ "travel",
3308
+ "tread",
3309
+ "treasure",
3310
+ "treat",
3311
+ "trim",
3312
+ "trip",
3313
+ "triumph",
3314
+ "trust",
3315
+ "try",
3316
+ "tug",
3317
+ "tumble",
3318
+ "tune",
3319
+ "turn",
3320
+ "tutor",
3321
+ "twist",
3322
+ "type",
3323
+ "uncover",
3324
+ "undergo",
3325
+ "understand",
3326
+ "undertake",
3327
+ "undo",
3328
+ "unfold",
3329
+ "unify",
3330
+ "unite",
3331
+ "unlock",
3332
+ "unpack",
3333
+ "update",
3334
+ "upgrade",
3335
+ "uphold",
3336
+ "upload",
3337
+ "use",
3338
+ "utter",
3339
+ "vacuum",
3340
+ "validate",
3341
+ "value",
3342
+ "vanish",
3343
+ "vary",
3344
+ "vault",
3345
+ "verify",
3346
+ "view",
3347
+ "visit",
3348
+ "visualize",
3349
+ "vocalize",
3350
+ "voice",
3351
+ "volunteer",
3352
+ "vote",
3353
+ "voyage",
3354
+ "wade",
3355
+ "wait",
3356
+ "wake",
3357
+ "walk",
3358
+ "wander",
3359
+ "want",
3360
+ "warm",
3361
+ "warn",
3362
+ "wash",
3363
+ "watch",
3364
+ "water",
3365
+ "wave",
3366
+ "wear",
3367
+ "weave",
3368
+ "wed",
3369
+ "weigh",
3370
+ "welcome",
3371
+ "whip",
3372
+ "whisper",
3373
+ "whistle",
3374
+ "win",
3375
+ "wind",
3376
+ "wink",
3377
+ "wipe",
3378
+ "wish",
3379
+ "withdraw",
3380
+ "witness",
3381
+ "wobble",
3382
+ "wonder",
3383
+ "work",
3384
+ "worry",
3385
+ "wrap",
3386
+ "wrench",
3387
+ "wrestle",
3388
+ "wriggle",
3389
+ "write",
3390
+ "yawn",
3391
+ "yield",
3392
+ "yodel",
3393
+ "zoom"
3394
+ ]
3395
+ };
3396
+
3397
+ // ../../packages/random-slug/dist/random-slug.js
3398
+ function randomInt(max) {
3399
+ const array = new Uint32Array(1);
3400
+ globalThis.crypto.getRandomValues(array);
3401
+ return Math.floor(array[0] / (4294967295 + 1) * (max + 1));
3402
+ }
3403
+ function randomSlug(opts = {}) {
3404
+ if (opts.words && (opts.words < 1 || opts.words > 4)) {
3405
+ throw new TypeError("Word count must be between 1-4");
3406
+ }
3407
+ opts.separator = opts.separator || "-";
3408
+ opts.words = opts.words || 2;
3409
+ const salt = opts.salt ? [createSalt(opts.salt)] : [];
3410
+ return getWords(opts.words).concat(salt).join(opts.separator);
3411
+ }
3412
+ var mergedWords = [...words.adjectives, ...words.nouns, ...words.verbs];
3413
+ function getWords(count) {
3414
+ if (count === 0)
3415
+ return [];
3416
+ if (count === 1)
3417
+ return [randomFromArray(mergedWords)];
3418
+ if (count === 2)
3419
+ return [randomFromArray(words.adjectives), randomFromArray(words.nouns)];
3420
+ if (count === 3)
3421
+ return [
3422
+ randomFromArray(words.adjectives),
3423
+ randomFromArray(words.nouns),
3424
+ randomFromArray(words.verbs)
3425
+ ];
3426
+ return [
3427
+ randomFromArray(words.adjectives),
3428
+ randomFromArray(words.adjectives),
3429
+ randomFromArray(words.nouns),
3430
+ randomFromArray(words.verbs)
3431
+ ];
3432
+ }
3433
+ function randomFromArray(arr) {
3434
+ return arr[randomInt(arr.length - 1)];
3435
+ }
3436
+ function createSalt(length) {
3437
+ const chars = "abcdefghijklmnopqrstuvwxyz0123456789";
3438
+ let value = "";
3439
+ for (let i = 0; i < length; i++) {
3440
+ value += chars[randomInt(chars.length - 1)];
3441
+ }
3442
+ return value;
3443
+ }
3444
+
3445
+ // ../../packages/random-slug/dist/entity-slugs.js
3446
+ function randomAccessGroupSlug() {
3447
+ return `${randomFromArray(words.adjectives)}-${randomFromArray(words.nouns)}-${createSalt(3)}`;
3448
+ }
3449
+ function randomManagedDocSlug() {
3450
+ return `${randomFromArray(words.adjectives)}-${randomFromArray(words.nouns)}-${createSalt(7)}`;
3451
+ }
3452
+
3453
+ // ../../packages/entities/dist/utility/utility.js
3454
+ function schemaModel(data, schema, throwError = true) {
3455
+ const result = schema.safeParse(data);
3456
+ if (!result.success) {
3457
+ console.error("Schema validation error");
3458
+ console.group();
3459
+ const issues = result.error?.issues;
3460
+ if (issues) {
3461
+ issues.forEach((issue) => {
3462
+ console.log(`Path: ${issue.path.join(", ")}
3463
+ Error: ${issue.message}`);
3464
+ });
3465
+ } else {
3466
+ console.error(result.error);
3467
+ }
3468
+ console.groupEnd();
3469
+ }
3470
+ if (throwError && !result.success)
3471
+ throw new Error("Schema validation failure");
3472
+ return result.success ? result.data : null;
3473
+ }
3474
+ var NANOID_ALPHABET = "useandom26T198340PX75pxJACKVERYMINDBUSHWOLFGQZbfghjklqvwyzrict";
3475
+ var nanoid = (size) => {
3476
+ return customAlphabet(NANOID_ALPHABET, 21)(size);
3477
+ };
3478
+ var emailSchema = external_exports.email().overwrite((s) => s.toLowerCase()).meta({ id: "email" });
3479
+ var timestampSchema = external_exports.number().int().min(0).meta({ id: "timestamp" });
3480
+ var nanoidSchema = external_exports.string().min(5).meta({ id: "nanoid" });
3481
+ var brandedUid = () => nanoidSchema.brand();
3482
+ var mintUid = () => nanoid();
3483
+ var entitySchema = external_exports.object({
3484
+ uid: nanoidSchema.default(nanoid).meta({ default: "nanoid()" }),
3485
+ createdAt: timestampSchema.default(unixTimestamp).meta({ default: "unixTimestamp()" }),
3486
+ updatedAt: timestampSchema.default(unixTimestamp).meta({ default: "unixTimestamp()" })
3487
+ }).meta({ id: "entity", default: "nanoid()" });
3488
+ function unixTimestamp(date = Date.now()) {
3489
+ return Math.floor(new Date(date).getTime() / 1e3);
3490
+ }
3491
+ var Environments;
3492
+ (function(Environments2) {
3493
+ Environments2["Dev"] = "development";
3494
+ Environments2["Test"] = "test";
3495
+ Environments2["Prod"] = "production";
3496
+ Environments2["Staging"] = "staging";
3497
+ })(Environments || (Environments = {}));
3498
+ var deployEnvironmentsSchema = external_exports.enum(Environments).optional().default(Environments.Dev).meta({ id: "deploy-environments" });
3499
+ var regexSemverNumberedGroups = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
3500
+ var semverSchema = external_exports.string().regex(regexSemverNumberedGroups, {
3501
+ message: "Version must be a valid semver format (e.g. 0.1.0)"
3502
+ }).meta({ id: "semver" });
3503
+ var RESERVED_VERSION_NAMES = ["latest"];
3504
+ var docVersionSchema = external_exports.string().min(1, { message: "Version must be a non-empty string" }).refine((v) => !RESERVED_VERSION_NAMES.includes(v.toLowerCase()), {
3505
+ message: `Version cannot be a reserved name: ${["latest"].join(", ")}`
3506
+ }).meta({ id: "version" });
3507
+ function compareVersionsDesc(a, b) {
3508
+ const aValid = semver.valid(a);
3509
+ const bValid = semver.valid(b);
3510
+ if (aValid && bValid)
3511
+ return semver.compare(b, a);
3512
+ if (aValid && !bValid)
3513
+ return -1;
3514
+ if (!aValid && bValid)
3515
+ return 1;
3516
+ return b.localeCompare(a, void 0, { numeric: true });
3517
+ }
3518
+ var regexSlug = /^[a-z](?:[a-z0-9-]*[a-z0-9])?$/;
3519
+ var slugSchema = external_exports.string().min(1, "Slug is required").max(60, "Slug must be less than 60 characters").regex(regexSlug, {
3520
+ message: "Slug can have lowercase letters, digits, or hyphens. It must start with a lowercase letter and end with a letter or number."
3521
+ }).meta({ id: "slug" });
3522
+ var toAsciiSlug = (title) => {
3523
+ const candidate = slugify(title, { ascii: true }).replace(/\./g, "").replace(/-+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60).replace(/-+$/, "").replace(/^[^a-z]+/, "");
3524
+ return slugSchema.safeParse(candidate).success ? candidate : randomManagedDocSlug();
3525
+ };
3526
+ var setPreprocess = (input) => input instanceof Set ? input : Array.isArray(input) ? new Set(input) : input;
3527
+ var setTransform = (set) => Array.from(set);
3528
+ var scalarSet = (zodSetType) => external_exports.preprocess(setPreprocess, zodSetType).transform(setTransform);
3529
+ var originSchema = external_exports.codec(external_exports.string(), external_exports.array(external_exports.union([external_exports.string(), external_exports.instanceof(RegExp)])), {
3530
+ decode: (arg) => arg.split(",").map((s) => s.trim()).filter((s) => !!s).map((segment) => {
3531
+ if (segment.at(0) !== "^")
3532
+ return segment;
3533
+ try {
3534
+ return new RegExp(segment);
3535
+ } catch {
3536
+ return segment;
3537
+ }
3538
+ }),
3539
+ encode: (arr) => arr.map((x) => typeof x === "string" ? x : x.source).join(", ")
3540
+ }).meta({ id: "origin" });
3541
+ var namespaceSchema = external_exports.string().regex(/^[a-zA-Z0-9-_]+$/, 'Namespaces can only contain letters, numbers, "-", and "_".').toLowerCase().min(3, "Namespaces need to be at least 3 characters.").max(50, "Namespaces need to be less than 50 characters.").meta({ id: "namespace" });
3542
+ var objectSchema = external_exports.record(external_exports.union([external_exports.string(), external_exports.number(), external_exports.symbol()]), external_exports.any()).meta({ id: "object" });
3543
+ var registryMetaSchema = external_exports.object({
3544
+ namespace: external_exports.string(),
3545
+ slug: external_exports.string()
3546
+ }).meta({ id: "registry-meta" });
3547
+
3548
+ // ../../packages/entities/dist/project/active-deployment.js
3549
+ var activeDeploymentSchema = external_exports.object({
3550
+ /** uid of the publish record for the last successful deployment */
3551
+ uid: external_exports.string(),
3552
+ /** subdomain or custom domain */
3553
+ domain: external_exports.string(),
3554
+ /** timestamp of the last successful deployment */
3555
+ publishedAt: timestampSchema
3556
+ }).meta({ id: "active-deployment" });
3557
+
3558
+ // ../../packages/entities/dist/project/icon.js
3559
+ var projectIconDefinitionSchema = external_exports.object({
3560
+ /** Key to local icon OR URL to hosted icon */
3561
+ src: external_exports.string().default(""),
3562
+ /** Image alt or svg title */
3563
+ title: external_exports.string().optional(),
3564
+ /** Mask a non-svg image */
3565
+ mask: external_exports.boolean().optional(),
3566
+ /** Search and group tags */
3567
+ tags: external_exports.string().array().default([]),
3568
+ /** Sorting group in list */
3569
+ group: external_exports.string().default("")
3570
+ }).meta({ id: "project-icon-definition" });
3571
+ var customProjectIconSchema = projectIconDefinitionSchema.extend({
3572
+ /** Timestamp for when the icon was uploaded */
3573
+ createdAt: timestampSchema,
3574
+ /** User ID who uploaded the icon */
3575
+ uploadedBy: external_exports.string(),
3576
+ /** Always a custom icon */
3577
+ group: external_exports.literal("custom")
3578
+ }).meta({ id: "custom-project-icon" });
3579
+ var projectIconInfoSchema = external_exports.object({
3580
+ src: external_exports.string().default(""),
3581
+ title: external_exports.string().optional(),
3582
+ mask: external_exports.boolean().optional()
3583
+ }).meta({ id: "project-icon-info" });
3584
+ var projectIconSchema = external_exports.preprocess((arg) => {
3585
+ if (!arg)
3586
+ return arg;
3587
+ if (!arg.src)
3588
+ arg.src = arg.local || arg.remote;
3589
+ if (arg.local)
3590
+ arg.group = "solid";
3591
+ if (arg.remote)
3592
+ arg.group = "custom";
3593
+ return arg;
3594
+ }, projectIconInfoSchema).meta({ id: "project-icon" });
3595
+
3596
+ // ../../packages/entities/dist/project/version/sidebar.js
3597
+ var SidebarType;
3598
+ (function(SidebarType2) {
3599
+ SidebarType2["Page"] = "Page";
3600
+ SidebarType2["Folder"] = "Folder";
3601
+ SidebarType2["Link"] = "Link";
3602
+ })(SidebarType || (SidebarType = {}));
3603
+ var baseSidebarItemSchema = external_exports.object({
3604
+ uid: nanoidSchema,
3605
+ title: external_exports.string().trim().min(1),
3606
+ type: external_exports.enum(SidebarType),
3607
+ link: external_exports.string().optional(),
3608
+ icon: projectIconSchema.optional(),
3609
+ children: external_exports.string().array().optional(),
3610
+ description: external_exports.string().optional(),
3611
+ show: external_exports.boolean()
3612
+ }).meta({ id: "base-sidebar-item" });
3613
+ var linkSchema = baseSidebarItemSchema.extend({
3614
+ title: external_exports.preprocess((arg) => arg?.trim() || "Link", external_exports.string().trim().min(1)),
3615
+ link: external_exports.string(),
3616
+ type: external_exports.literal(SidebarType.Link)
3617
+ }).meta({ id: "sidebar-link" });
3618
+ var pageSchema = baseSidebarItemSchema.extend({
3619
+ title: external_exports.preprocess((arg) => arg?.trim() || "Page", external_exports.string().trim().min(1)),
3620
+ sidebarTitle: external_exports.string().optional(),
3621
+ description: external_exports.string(),
3622
+ children: external_exports.string().array().default([]),
3623
+ type: external_exports.literal(SidebarType.Page),
3624
+ defaultOpen: external_exports.boolean().optional(),
3625
+ yjsReference: external_exports.string(),
3626
+ backgroundImage: external_exports.string().optional(),
3627
+ icon: projectIconSchema.optional(),
3628
+ /**
3629
+ * Automatically set during sync builds when we map markdown and mdx files to pages
3630
+ *
3631
+ * Used by the Vue builds to determine how to render a given page item.
3632
+ */
3633
+ isMdx: external_exports.boolean().default(false),
3634
+ /**
3635
+ * Automatically set during sync builds when we map HTML files to pages.
3636
+ */
3637
+ isHtml: external_exports.boolean().default(false)
3638
+ }).meta({ id: "sidebar-page" });
3639
+ var defaultPage = () => ({
3640
+ uid: nanoid(),
3641
+ title: "Getting Started",
3642
+ type: SidebarType.Page,
3643
+ description: "Start writing your API Documentation with our platform",
3644
+ children: [],
3645
+ show: true,
3646
+ yjsReference: nanoid(),
3647
+ isMdx: false,
3648
+ isHtml: false
3649
+ });
3650
+ var folderSchema = baseSidebarItemSchema.extend({
3651
+ title: external_exports.preprocess((arg) => arg?.trim() || "Folder", external_exports.string().trim().min(1)),
3652
+ children: external_exports.string().array().default([]),
3653
+ type: external_exports.literal(SidebarType.Folder),
3654
+ defaultOpen: external_exports.boolean().optional()
3655
+ }).meta({ id: "sidebar-folder" });
3656
+ var sidebarItemSchema = external_exports.union([linkSchema, pageSchema, folderSchema]).meta({ id: "sidebar-item" });
3657
+ var sidebarSchema = external_exports.object({
3658
+ /** Complete record of ALL sidebar items */
3659
+ items: external_exports.record(external_exports.string(), sidebarItemSchema),
3660
+ /** Ordered list of the direct children */
3661
+ children: external_exports.string().array()
3662
+ }).overwrite((val) => {
3663
+ const hasPage = Object.values(val.items).some((item) => item.type === SidebarType.Page);
3664
+ if (!hasPage) {
3665
+ const firstPage = defaultPage();
3666
+ val.items[firstPage.uid] = firstPage;
3667
+ val.children.push(firstPage.uid);
3668
+ }
3669
+ return val;
3670
+ }).meta({ id: "sidebar" });
3671
+
3672
+ // ../../packages/entities/dist/project/footer.js
3673
+ var defaultFooter = `<footer>
3674
+ <div class="footer-content">
3675
+ <p>This documentation playground was created by Scalar. For help, questions or feedback don't hesitate to <a href="mailto:support@scalar.com">email our support.</a></p>
3676
+ <br />
3677
+ <p>You can fully customize or delete this footer by simply navigating to the footer section of the "customize" button within our header.</p>
3678
+ <br />
3679
+ <a target="_blank" href="https://scalar.com/#docs">Features</a>
3680
+ <a target="_blank" href="https://scalar.com/#docs">About</a>
3681
+ <a target="_blank" href="https://scalar.com/#pricing">Pricing</a>
3682
+ <br />
3683
+ <a target="_blank" href="https://scalar.com/privacy-policy">Privacy Policy</a>
3684
+ <a target="_blank" href="https://scalar.com/terms-and-conditions">Terms of Service</a>
3685
+ <a target="_blank" href="https://scalar.com/#pricing">Pricing</a>
3686
+ <br />
3687
+ <p>\xA9 ${(/* @__PURE__ */ new Date()).getFullYear()} Scalar</p>
3688
+ </div>
3689
+ </footer>`;
3690
+ var defaultFooterCSS = `footer {
3691
+ display: flex;
3692
+ flex-direction: column;
3693
+ font-size: var(--scalar-paragraph);
3694
+ line-height: 1.625;
3695
+ border-top: var(--scalar-border-width) solid var(--scalar-border-color);
3696
+ }
3697
+ footer p {
3698
+ margin-bottom: 25px;
3699
+ }
3700
+ footer a {
3701
+ width: fit-content;
3702
+ color:var(--scalar-color-accent)
3703
+ }
3704
+ footer a:hover {
3705
+ cursor: pointer;
3706
+ text-decoration: underline;
3707
+ }
3708
+ .footer-content {
3709
+ margin: 0 auto;
3710
+ padding: 50px;
3711
+ }
3712
+ @media (max-width: 1000px) {
3713
+ footer {
3714
+ max-width: 100%;
3715
+ }
3716
+ }
3717
+ `;
3718
+
3719
+ // ../../packages/entities/dist/project/header-links.js
3720
+ var headerLinkBaseSchema = external_exports.object({
3721
+ uid: nanoidSchema,
3722
+ title: external_exports.string(),
3723
+ show: external_exports.boolean().default(true),
3724
+ isStarred: external_exports.boolean().default(false),
3725
+ type: external_exports.union([
3726
+ external_exports.literal("guide"),
3727
+ external_exports.literal("reference"),
3728
+ external_exports.literal("link"),
3729
+ external_exports.literal("group"),
3730
+ external_exports.literal("version-selector"),
3731
+ external_exports.literal("spacer")
3732
+ ]).default("link")
3733
+ }).meta({ id: "header-link-base" });
3734
+ var headerLinkReferenceSchema = headerLinkBaseSchema.extend({
3735
+ type: external_exports.literal("reference"),
3736
+ /** Whether the reference has a permalinked reference or not */
3737
+ hasPermalink: external_exports.boolean().default(false).describe("Whether the reference has a permalinked reference or not"),
3738
+ hasManagedDoc: external_exports.boolean().default(false).describe("Whether the reference has a linked registry API")
3739
+ }).meta({ id: "header-link-reference" });
3740
+ var headerLinkGuideSchema = headerLinkBaseSchema.extend({
3741
+ type: external_exports.literal("guide")
3742
+ }).meta({ id: "header-link-guide" });
3743
+ var headerLinkVersionSelectorSchema = headerLinkBaseSchema.extend({
3744
+ type: external_exports.literal("version-selector")
3745
+ }).meta({ id: "header-link-version-selector" });
3746
+ var headerLinkSpacerSchema = headerLinkBaseSchema.extend({
3747
+ type: external_exports.literal("spacer")
3748
+ }).meta({ id: "header-link-spacer" });
3749
+ var headerLinkExternalSchema = headerLinkBaseSchema.extend({
3750
+ type: external_exports.literal("link"),
3751
+ isButton: external_exports.boolean().default(false),
3752
+ link: external_exports.string()
3753
+ }).meta({ id: "header-link-external" });
3754
+ var headerLinkGroupSchema = headerLinkBaseSchema.extend({
3755
+ type: external_exports.literal("group"),
3756
+ /** Children of the group. Groups cannot contain other groups, spacers, or the version selector */
3757
+ children: external_exports.array(external_exports.union([
3758
+ headerLinkGuideSchema,
3759
+ headerLinkReferenceSchema,
3760
+ headerLinkExternalSchema
3761
+ ])).describe("Children of the group. Groups cannot contain other groups, spacers, or the version selector")
3762
+ }).meta({ id: "header-link-group" });
3763
+ var headerLinkSchema = external_exports.union([
3764
+ headerLinkGuideSchema,
3765
+ headerLinkReferenceSchema,
3766
+ headerLinkGroupSchema,
3767
+ headerLinkExternalSchema,
3768
+ headerLinkVersionSelectorSchema,
3769
+ headerLinkSpacerSchema
3770
+ ]).meta({ id: "header-link" });
3771
+ function getHeaderLinks({ guides, references, header }) {
3772
+ const complete = [...header].filter((h) => {
3773
+ if (h.type === "guide")
3774
+ return !!guides[h.uid];
3775
+ if (h.type === "reference")
3776
+ return !!references[h.uid];
3777
+ return true;
3778
+ }).map((header2) => {
3779
+ if (header2.type !== "group")
3780
+ return header2;
3781
+ return {
3782
+ ...header2,
3783
+ // Only include header children if the guide/reference is available
3784
+ children: header2.children.filter((c) => {
3785
+ if (c.type === "guide")
3786
+ return !!guides[c.uid];
3787
+ if (c.type === "reference")
3788
+ return !!references[c.uid];
3789
+ return true;
3790
+ })
3791
+ };
3792
+ });
3793
+ const orderedIds = [];
3794
+ complete.forEach((h) => {
3795
+ orderedIds.push(h.uid);
3796
+ if (h.type === "group") {
3797
+ orderedIds.push(...h.children.map((c) => c.uid));
3798
+ }
3799
+ });
3800
+ Object.values(guides).forEach((g) => {
3801
+ if (!orderedIds.includes(g.uid)) {
3802
+ complete.push({
3803
+ uid: g.uid,
3804
+ title: g.title,
3805
+ show: g.show,
3806
+ isStarred: g.isStarred,
3807
+ type: "guide"
3808
+ });
3809
+ }
3810
+ });
3811
+ Object.values(references).forEach((r) => {
3812
+ if (!orderedIds.includes(r.uid)) {
3813
+ complete.push({
3814
+ uid: r.uid,
3815
+ title: r.title,
3816
+ show: r.show,
3817
+ isStarred: r.isStarred,
3818
+ type: "reference",
3819
+ hasPermalink: !!r.specPermalink,
3820
+ hasManagedDoc: !!r.managedDoc
3821
+ });
3822
+ }
3823
+ });
3824
+ if (!complete.find((e) => e.type === "version-selector")) {
3825
+ complete.push({
3826
+ uid: nanoid(),
3827
+ title: "Version Selector",
3828
+ type: "version-selector",
3829
+ show: true,
3830
+ isStarred: false
3831
+ });
3832
+ }
3833
+ complete.forEach((element) => {
3834
+ const guide = guides[element.uid];
3835
+ const reference = references[element.uid];
3836
+ if (element.type === "guide" && guide) {
3837
+ element.title = guide.title;
3838
+ element.show = guide.show;
3839
+ element.isStarred = guide.isStarred;
3840
+ }
3841
+ if (element.type === "reference" && reference) {
3842
+ element.title = reference.title;
3843
+ element.show = reference.show;
3844
+ element.isStarred = reference.isStarred;
3845
+ element.hasPermalink = !!reference.specPermalink;
3846
+ element.hasManagedDoc = !!reference.managedDoc;
3847
+ }
3848
+ if (element.type === "group") {
3849
+ element.children.forEach((c) => {
3850
+ const childGuide = guides[c.uid];
3851
+ const childReference = references[c.uid];
3852
+ if (c.type === "guide" && childGuide) {
3853
+ c.title = childGuide.title;
3854
+ c.show = childGuide.show;
3855
+ c.isStarred = childGuide.isStarred;
3856
+ }
3857
+ if (c.type === "reference" && childReference) {
3858
+ c.title = childReference.title;
3859
+ c.show = childReference.show;
3860
+ c.isStarred = childReference.isStarred;
3861
+ c.hasPermalink = !!childReference.specPermalink;
3862
+ c.hasManagedDoc = !!childReference.managedDoc;
3863
+ }
3864
+ });
3865
+ }
3866
+ });
3867
+ return complete;
3868
+ }
3869
+
3870
+ // ../../packages/entities/dist/project/version/guide.js
3871
+ var guideSchema = external_exports.object({
3872
+ /** Unique identifier for the guide */
3873
+ uid: nanoidSchema,
3874
+ /** Title of the guide */
3875
+ title: external_exports.string().overwrite((val) => val === "" ? "Guide" : val),
3876
+ /** Description of the guide */
3877
+ description: external_exports.string(),
3878
+ /** Sidebar configuration for the guide */
3879
+ sidebar: sidebarSchema,
3880
+ /** Whether to publish the guide or not */
3881
+ show: external_exports.boolean().default(true),
3882
+ /** Option to show the header link as a button */
3883
+ isButton: external_exports.boolean().default(false),
3884
+ /** Option to force the header link to the top nav */
3885
+ isStarred: external_exports.boolean().default(false)
3886
+ }).meta({ id: "guide" });
3887
+ function defaultGuide() {
3888
+ const firstPage = defaultPage();
3889
+ return guideSchema.parse({
3890
+ uid: nanoid(),
3891
+ title: "Guide",
3892
+ description: "",
3893
+ sidebar: {
3894
+ items: {
3895
+ [firstPage.uid]: firstPage
3896
+ },
3897
+ children: [firstPage.uid]
3898
+ },
3899
+ show: true,
3900
+ isButton: false,
3901
+ isStarred: false
3902
+ });
3903
+ }
3904
+
3905
+ // ../../packages/entities/dist/project/version/reference.js
3906
+ var referenceManagedDocSchema = external_exports.object({
3907
+ /** API namespace */
3908
+ namespace: namespaceSchema,
3909
+ /** API slug */
3910
+ slug: slugSchema,
3911
+ /** Selected versions to display */
3912
+ versions: external_exports.string().array().default(["latest"])
3913
+ }).meta({ id: "reference-managed-doc" });
3914
+ var referenceSchema = external_exports.object({
3915
+ /** Unique identifier for the reference */
3916
+ uid: nanoidSchema,
3917
+ /** Title of the reference */
3918
+ title: external_exports.string().overwrite((val) => val === "" ? "Reference" : val),
3919
+ /** Description of the reference */
3920
+ description: external_exports.string(),
3921
+ /** Yjs reference id for the reference */
3922
+ yjsReference: nanoidSchema,
3923
+ /** Config for the reference */
3924
+ config: external_exports.string().default("{}"),
3925
+ /** Optional permalink for the reference */
3926
+ specPermalink: external_exports.string().default(""),
3927
+ /** Optional registry API */
3928
+ managedDoc: referenceManagedDocSchema.nullable().default(null),
3929
+ /** Whether to publish the reference or not */
3930
+ show: external_exports.boolean().default(true),
3931
+ /** Option to show the header link as a button */
3932
+ isButton: external_exports.boolean().default(false),
3933
+ /** Option to force the header link to the top nav */
3934
+ isStarred: external_exports.boolean().default(false)
3935
+ }).meta({ id: "reference" });
3936
+ function defaultReference() {
3937
+ return referenceSchema.parse({
3938
+ uid: nanoid(),
3939
+ title: "",
3940
+ description: "",
3941
+ yjsReference: nanoid()
3942
+ });
3943
+ }
3944
+
3945
+ // ../../packages/entities/dist/project/version/version.js
3946
+ var versionSchema = external_exports.object({
3947
+ uid: nanoidSchema,
3948
+ name: external_exports.string().default("Default Version"),
3949
+ primaryGuideId: external_exports.string(),
3950
+ primaryReferenceId: external_exports.string(),
3951
+ references: external_exports.record(external_exports.string(), referenceSchema),
3952
+ guides: external_exports.record(external_exports.string(), guideSchema),
3953
+ header: headerLinkSchema.array(),
3954
+ footer: external_exports.string().default(""),
3955
+ footerCss: external_exports.string().default(""),
3956
+ footerBelowSidebar: external_exports.boolean().default(false),
3957
+ headScript: external_exports.string().default(""),
3958
+ bodyScript: external_exports.string().default("")
3959
+ }).overwrite((v) => {
3960
+ return {
3961
+ ...v,
3962
+ header: getHeaderLinks({
3963
+ guides: v.guides,
3964
+ references: v.references,
3965
+ header: v.header
3966
+ })
3967
+ };
3968
+ }).meta({ id: "project-version" });
3969
+ function defaultVersion(initialState = {}, options = {}) {
3970
+ const guide = defaultGuide();
3971
+ const reference = defaultReference();
3972
+ if (options.hideGuide)
3973
+ guide.show = false;
3974
+ if (options.hideReference)
3975
+ reference.show = false;
3976
+ return versionSchema.parse({
3977
+ uid: nanoid(),
3978
+ name: "Version 0",
3979
+ primaryGuideId: guide.uid,
3980
+ primaryReferenceId: reference.uid,
3981
+ references: { [reference.uid]: reference },
3982
+ guides: { [guide.uid]: guide },
3983
+ header: getHeaderLinks({
3984
+ guides: { [guide.uid]: guide },
3985
+ references: { [reference.uid]: reference },
3986
+ header: []
3987
+ }),
3988
+ footer: defaultFooter,
3989
+ footerCss: defaultFooterCSS,
3990
+ footerBelowSidebar: false,
3991
+ headScript: "",
3992
+ bodyScript: "",
3993
+ ...initialState
3994
+ });
3995
+ }
3996
+
3997
+ // ../../packages/entities/dist/project/website.js
3998
+ var websiteSchema = external_exports.object({
3999
+ lastDeployed: timestampSchema,
4000
+ subdomainPrefix: external_exports.string().overwrite((val) => val.toLowerCase()),
4001
+ customUrl: external_exports.string().overwrite((val) => val.toLowerCase()),
4002
+ subPath: external_exports.string().optional(),
4003
+ title: external_exports.string().optional(),
4004
+ description: external_exports.string().optional(),
4005
+ favicon: external_exports.string().optional(),
4006
+ ogImage: external_exports.string().optional(),
4007
+ proxy: external_exports.url().optional(),
4008
+ routing: external_exports.object({
4009
+ /**
4010
+ * Path replacement pattern for guides.
4011
+ * Defaults to `{{version}}/{{guide}}` with version dropped when there is only a single version.
4012
+ */
4013
+ guidePathPattern: external_exports.string().optional(),
4014
+ /**
4015
+ * Path replacement pattern for references.
4016
+ * Defaults to `{{version}}/{{reference}}` with version dropped when there is only a single version.
4017
+ */
4018
+ referencePathPattern: external_exports.string().optional()
4019
+ }).default({
4020
+ guidePathPattern: "",
4021
+ referencePathPattern: ""
4022
+ }),
4023
+ redirects: external_exports.array(external_exports.object({
4024
+ from: external_exports.string(),
4025
+ to: external_exports.string()
4026
+ })).default([])
4027
+ }).meta({ id: "website" });
4028
+
4029
+ // ../../packages/entities/dist/project/project.js
4030
+ var logoSchema = external_exports.object({
4031
+ darkMode: external_exports.string(),
4032
+ lightMode: external_exports.string()
4033
+ }).meta({ id: "logo" });
4034
+ var sharedProjectSchema = entitySchema.extend({
4035
+ /** Name of the project */
4036
+ name: external_exports.string(),
4037
+ /** Record of the last successful deployment */
4038
+ activeDeployment: activeDeploymentSchema.nullable().default(null),
4039
+ /** Track last published timestamp to allow build interrupts */
4040
+ lastPublished: timestampSchema.nullable().default(null),
4041
+ /** Uid of the most recent publish record (failed or successful) */
4042
+ lastPublishedUid: external_exports.string().nullable().default(null),
4043
+ /** Uid of the login portal customization object for private projects */
4044
+ loginPortalUid: external_exports.string().default(""),
4045
+ /** Active theme id for the project */
4046
+ activeThemeId: external_exports.string().default(""),
4047
+ /** Typesense id for the project */
4048
+ typesenseId: external_exports.number().optional(),
4049
+ /** Private projects require a login from a user in an access group */
4050
+ isPrivate: external_exports.boolean().default(false),
4051
+ /** Toggle AI agent features for the docs project */
4052
+ agentEnabled: external_exports.boolean().default(false),
4053
+ /** Toggle analytics tracking for the docs project */
4054
+ analyticsEnabled: external_exports.boolean().default(true),
4055
+ /** Set of allowed access groups */
4056
+ accessGroups: scalarSet(external_exports.set(nanoidSchema).max(50)).default([])
4057
+ }).meta({ id: "shared-project" });
4058
+ var projectSchema = sharedProjectSchema.extend({
4059
+ /** Versions of the project */
4060
+ versions: external_exports.record(external_exports.string(), versionSchema),
4061
+ /** Active template id for the project */
4062
+ activeTemplateId: external_exports.string().optional().default(""),
4063
+ /** Active version id for the project */
4064
+ activeVersionId: external_exports.string().optional().default(""),
4065
+ /** Logo for the project */
4066
+ logo: logoSchema,
4067
+ /** Deployed site configuration for a project */
4068
+ website: websiteSchema.describe("Deployed site configuration for a project"),
4069
+ insertPageTitles: external_exports.boolean().optional().default(true)
4070
+ }).overwrite((project) => {
4071
+ if (Object.keys(project.versions).length === 0) {
4072
+ const v = defaultVersion({});
4073
+ project.versions[v.uid] = v;
4074
+ }
4075
+ if (!project.activeVersionId) {
4076
+ project.activeVersionId = Object.keys(project.versions)[0] ?? "";
4077
+ }
4078
+ return project;
4079
+ }).meta({ id: "project" });
4080
+ var githubProjectRepositorySchema = external_exports.object({
4081
+ linkedBy: external_exports.string(),
4082
+ id: external_exports.number(),
4083
+ name: external_exports.string().min(2),
4084
+ configPath: external_exports.string().default(""),
4085
+ branch: external_exports.string().default(""),
4086
+ publishOnMerge: external_exports.boolean().default(false),
4087
+ publishPreviews: external_exports.boolean().default(false),
4088
+ prComments: external_exports.boolean().default(false),
4089
+ /** One-time repository expired tracking */
4090
+ expired: external_exports.boolean().default(false)
4091
+ }).meta({ id: "github-project-repository" });
4092
+ var githubInstallSchema = external_exports.object({
4093
+ id: external_exports.number().int(),
4094
+ name: external_exports.string(),
4095
+ icon: external_exports.string().optional(),
4096
+ repos: external_exports.object({
4097
+ id: external_exports.number().int(),
4098
+ name: external_exports.string()
4099
+ }).array()
4100
+ }).meta({ id: "github-install" });
4101
+ var githubProjectSchema = sharedProjectSchema.extend({
4102
+ slug: slugSchema,
4103
+ /** Last publish status info */
4104
+ publishStatus: external_exports.string().default(""),
4105
+ /** Last publish output message */
4106
+ publishMessage: external_exports.string().default(""),
4107
+ /**
4108
+ *
4109
+ * Reference info for the link repository
4110
+ *
4111
+ * Optional for projects which are not linked
4112
+ */
4113
+ repository: githubProjectRepositorySchema.nullable().optional()
4114
+ }).meta({ id: "github-project" });
4115
+ var forgejoRepositorySchema = external_exports.object({
4116
+ provider: external_exports.literal("forgejo"),
4117
+ forgejoOwner: external_exports.string(),
4118
+ forgejoRepo: external_exports.string(),
4119
+ branch: external_exports.string().default("main"),
4120
+ configPath: external_exports.string().default("scalar.config.json")
4121
+ }).meta({ id: "docs-project-repository-forgejo" });
4122
+ var githubRepositorySchema = external_exports.object({
4123
+ provider: external_exports.literal("github"),
4124
+ linkedBy: external_exports.string(),
4125
+ installationId: external_exports.number().int(),
4126
+ id: external_exports.number().int(),
4127
+ name: external_exports.string().min(2),
4128
+ branch: external_exports.string().default("main"),
4129
+ configPath: external_exports.string().default("scalar.config.json"),
4130
+ publishOnMerge: external_exports.boolean().default(true),
4131
+ publishPreviews: external_exports.boolean().default(false),
4132
+ prComments: external_exports.boolean().default(false),
4133
+ expired: external_exports.boolean().default(false)
4134
+ }).meta({ id: "docs-project-repository-github" });
4135
+ var bitbucketRepositorySchema = external_exports.object({
4136
+ provider: external_exports.literal("bitbucket"),
4137
+ linkedBy: external_exports.string(),
4138
+ workspaceUuid: external_exports.string(),
4139
+ workspaceSlug: external_exports.string(),
4140
+ repoUuid: external_exports.string(),
4141
+ repoSlug: external_exports.string(),
4142
+ /** `workspaceSlug/repoSlug` for display, mirrored from GitHub for symmetry */
4143
+ name: external_exports.string().min(2),
4144
+ branch: external_exports.string().default("main"),
4145
+ configPath: external_exports.string().default("scalar.config.json"),
4146
+ publishOnMerge: external_exports.boolean().default(true),
4147
+ publishPreviews: external_exports.boolean().default(false),
4148
+ prComments: external_exports.boolean().default(false),
4149
+ expired: external_exports.boolean().default(false),
4150
+ /** UUID returned by Bitbucket on hook create. Stored so we can delete the webhook on unlink. */
4151
+ webhookUuid: external_exports.string().default("")
4152
+ }).meta({ id: "docs-project-repository-bitbucket" });
4153
+ var docsProjectRepositorySchema = external_exports.discriminatedUnion("provider", [
4154
+ forgejoRepositorySchema,
4155
+ githubRepositorySchema,
4156
+ bitbucketRepositorySchema
4157
+ ]);
4158
+ var remoteActivitySchema = external_exports.object({
4159
+ at: timestampSchema,
4160
+ branch: external_exports.string().nullable(),
4161
+ sha: external_exports.string().nullable(),
4162
+ actorName: external_exports.string().nullable()
4163
+ }).meta({ id: "docs-project-remote-activity" });
4164
+ var docsProjectSchema = sharedProjectSchema.extend({
4165
+ slug: slugSchema,
4166
+ publishStatus: external_exports.string().default(""),
4167
+ publishMessage: external_exports.string().default(""),
4168
+ repository: docsProjectRepositorySchema,
4169
+ /**
4170
+ * `.catch(undefined)` so a malformed bump degrades to "no signal" instead
4171
+ * of failing the schema parse inside every subscribed dashboard.
4172
+ */
4173
+ remoteActivity: remoteActivitySchema.optional().catch(void 0)
4174
+ }).meta({ id: "docs-project" });
4175
+ function isGithubBackedDocsProject(project) {
4176
+ return project.repository.provider === "github";
4177
+ }
4178
+
4179
+ // ../../packages/entities/dist/project/publish.js
4180
+ var ConfigVersion;
4181
+ (function(ConfigVersion2) {
4182
+ ConfigVersion2["V1"] = "1.0.0";
4183
+ ConfigVersion2["V2"] = "2.0.0";
4184
+ })(ConfigVersion || (ConfigVersion = {}));
4185
+ var publishRecordSchema = entitySchema.extend({
4186
+ projectUid: nanoidSchema,
4187
+ status: external_exports.union([
4188
+ external_exports.literal("pending"),
4189
+ external_exports.literal("building"),
4190
+ external_exports.literal("deployed"),
4191
+ external_exports.literal("inactive"),
4192
+ external_exports.literal("error"),
4193
+ external_exports.literal("deleted"),
4194
+ external_exports.literal("cancelled")
4195
+ ]),
4196
+ deployedAt: external_exports.number().nullable().default(null),
4197
+ message: external_exports.string().default(""),
4198
+ domain: external_exports.string().default(""),
4199
+ preview: external_exports.boolean().optional().default(false),
4200
+ commitSha: external_exports.string().nullable().default(null),
4201
+ version: external_exports.enum(ConfigVersion).default(ConfigVersion.V1),
4202
+ isWysiwyg: external_exports.boolean().default(false),
4203
+ unifiedDocs: external_exports.boolean().default(false),
4204
+ subpath: external_exports.string().nullable().default(null),
4205
+ configPath: external_exports.string().optional().default("scalar.config.json"),
4206
+ registryApis: external_exports.object({
4207
+ uid: nanoidSchema,
4208
+ version: external_exports.string()
4209
+ }).array().optional().default([]),
4210
+ agentToken: external_exports.string().nullable().default(null)
4211
+ }).meta({ id: "publish-record" });
4212
+
4213
+ // ../../packages/entities/dist/theme/index.js
4214
+ var themeSchema = external_exports.object({
4215
+ uid: nanoidSchema,
4216
+ name: external_exports.string(),
4217
+ description: external_exports.string(),
4218
+ theme: external_exports.string(),
4219
+ slug: slugSchema
4220
+ }).meta({ id: "theme" });
4221
+
4222
+ // ../../packages/entities/dist/project/signup.js
4223
+ var signupDataSchema = external_exports.object({
4224
+ uid: nanoidSchema,
4225
+ version: versionSchema,
4226
+ theme: themeSchema.optional(),
4227
+ yjsDocs: external_exports.record(external_exports.string(), external_exports.string()),
4228
+ yjsReferences: external_exports.record(external_exports.string(), external_exports.string())
4229
+ }).meta({ id: "signup-data" });
4230
+
4231
+ export {
4232
+ randomSlug,
4233
+ randomAccessGroupSlug,
4234
+ randomManagedDocSlug,
4235
+ slugify,
4236
+ schemaModel,
4237
+ nanoid,
4238
+ emailSchema,
4239
+ timestampSchema,
4240
+ nanoidSchema,
4241
+ brandedUid,
4242
+ mintUid,
4243
+ entitySchema,
4244
+ unixTimestamp,
4245
+ docVersionSchema,
4246
+ compareVersionsDesc,
4247
+ slugSchema,
4248
+ toAsciiSlug,
4249
+ scalarSet,
4250
+ namespaceSchema,
4251
+ objectSchema,
4252
+ registryMetaSchema,
4253
+ activeDeploymentSchema,
4254
+ customProjectIconSchema,
4255
+ SidebarType,
4256
+ sharedProjectSchema,
4257
+ projectSchema,
4258
+ githubInstallSchema,
4259
+ githubProjectSchema,
4260
+ docsProjectSchema,
4261
+ isGithubBackedDocsProject,
4262
+ ConfigVersion,
4263
+ publishRecordSchema,
4264
+ themeSchema
4265
+ };