@onlyworlds/sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1061 @@
1
+ /**
2
+ * Base fields shared by all OnlyWorlds elements
3
+ */
4
+ interface BaseElement {
5
+ id?: string;
6
+ name: string;
7
+ description?: string;
8
+ image_url?: string;
9
+ supertype?: string;
10
+ subtype?: string;
11
+ world?: string;
12
+ created_at?: string;
13
+ updated_at?: string;
14
+ }
15
+ /**
16
+ * Ability element type
17
+ */
18
+ interface Ability extends BaseElement {
19
+ activation?: string;
20
+ duration?: string;
21
+ potency?: string;
22
+ range?: string;
23
+ challenges?: string;
24
+ prevalence?: string;
25
+ /** Links to Construct */
26
+ tradition?: string;
27
+ /** Links to Phenomenon */
28
+ source?: string;
29
+ /** Links to Location */
30
+ locus?: string;
31
+ /** Links to Phenomenon */
32
+ effects?: string[];
33
+ /** Links to Trait */
34
+ talents?: string[];
35
+ /** Links to Construct */
36
+ requisites?: string[];
37
+ /** Links to Object */
38
+ instruments?: string[];
39
+ /** Links to Construct */
40
+ systems?: string[];
41
+ }
42
+ /**
43
+ * Object element type
44
+ */
45
+ interface Object$1 extends BaseElement {
46
+ aesthetics?: string;
47
+ weight?: string;
48
+ amount?: string;
49
+ /** Links to Object */
50
+ parent_object?: string;
51
+ utility?: string;
52
+ origins?: string;
53
+ /** Links to Location */
54
+ location?: string;
55
+ /** Links to Language */
56
+ language?: string;
57
+ /** Links to Construct */
58
+ materials?: string[];
59
+ /** Links to Construct */
60
+ technology?: string[];
61
+ /** Links to Phenomenon */
62
+ effects?: string[];
63
+ /** Links to Ability */
64
+ abilities?: string[];
65
+ /** Links to Construct */
66
+ consumes?: string[];
67
+ /** Links to Trait */
68
+ affinities?: string[];
69
+ }
70
+ /**
71
+ * Character element type
72
+ */
73
+ interface Character extends BaseElement {
74
+ physicality?: string;
75
+ mentality?: string;
76
+ height?: string;
77
+ weight?: string;
78
+ background?: string;
79
+ motivations?: string;
80
+ birth_date?: string;
81
+ /** Links to Location */
82
+ birthplace?: string;
83
+ reputation?: string;
84
+ /** Links to Location */
85
+ location?: string;
86
+ charisma?: string;
87
+ coercion?: string;
88
+ competence?: string;
89
+ compassion?: string;
90
+ creativity?: string;
91
+ courage?: string;
92
+ level?: string;
93
+ hit_points?: string;
94
+ STR?: string;
95
+ DEX?: string;
96
+ CON?: string;
97
+ INT?: string;
98
+ WIS?: string;
99
+ CHA?: string;
100
+ /** Links to Species */
101
+ species?: string[];
102
+ /** Links to Trait */
103
+ traits?: string[];
104
+ /** Links to Ability */
105
+ abilities?: string[];
106
+ /** Links to Language */
107
+ languages?: string[];
108
+ /** Links to Object */
109
+ objects?: string[];
110
+ /** Links to Institution */
111
+ institutions?: string[];
112
+ /** Links to Family */
113
+ family?: string[];
114
+ /** Links to Character */
115
+ friends?: string[];
116
+ /** Links to Character */
117
+ rivals?: string[];
118
+ }
119
+ /**
120
+ * Collective element type
121
+ */
122
+ interface Collective extends BaseElement {
123
+ composition?: string;
124
+ count?: string;
125
+ formation_date?: string;
126
+ /** Links to Institution */
127
+ operator?: string;
128
+ activity?: string;
129
+ disposition?: string;
130
+ state?: string;
131
+ /** Links to Construct */
132
+ equipment?: string[];
133
+ /** Links to Ability */
134
+ abilities?: string[];
135
+ /** Links to Construct */
136
+ symbolism?: string[];
137
+ /** Links to Species */
138
+ species?: string[];
139
+ /** Links to Character */
140
+ characters?: string[];
141
+ /** Links to Creature */
142
+ creatures?: string[];
143
+ /** Links to Phenomenon */
144
+ phenomena?: string[];
145
+ }
146
+ /**
147
+ * Construct element type
148
+ */
149
+ interface Construct extends BaseElement {
150
+ rationale?: string;
151
+ history?: string;
152
+ status?: string;
153
+ reach?: string;
154
+ start_date?: string;
155
+ end_date?: string;
156
+ /** Links to Character */
157
+ founder?: string;
158
+ /** Links to Institution */
159
+ custodian?: string;
160
+ /** Links to Character */
161
+ characters?: string[];
162
+ /** Links to Object */
163
+ objects?: string[];
164
+ /** Links to Location */
165
+ locations?: string[];
166
+ /** Links to Species */
167
+ species?: string[];
168
+ /** Links to Creature */
169
+ creatures?: string[];
170
+ /** Links to Institution */
171
+ institutions?: string[];
172
+ /** Links to Trait */
173
+ traits?: string[];
174
+ /** Links to Collective */
175
+ collectives?: string[];
176
+ /** Links to Zone */
177
+ zones?: string[];
178
+ /** Links to Ability */
179
+ abilities?: string[];
180
+ /** Links to Phenomenon */
181
+ phenomena?: string[];
182
+ /** Links to Language */
183
+ languages?: string[];
184
+ /** Links to Family */
185
+ families?: string[];
186
+ /** Links to Relation */
187
+ relations?: string[];
188
+ /** Links to Title */
189
+ titles?: string[];
190
+ /** Links to Construct */
191
+ constructs?: string[];
192
+ /** Links to Event */
193
+ events?: string[];
194
+ /** Links to Narrative */
195
+ narratives?: string[];
196
+ }
197
+ /**
198
+ * Creature element type
199
+ */
200
+ interface Creature extends BaseElement {
201
+ appearance?: string;
202
+ weight?: string;
203
+ height?: string;
204
+ habits?: string;
205
+ demeanor?: string;
206
+ status?: string;
207
+ birth_date?: string;
208
+ /** Links to Location */
209
+ location?: string;
210
+ /** Links to Zone */
211
+ zone?: string;
212
+ challenge_rating?: string;
213
+ hit_points?: string;
214
+ armor_class?: string;
215
+ speed?: string;
216
+ /** Links to Species */
217
+ species?: string[];
218
+ /** Links to Trait */
219
+ traits?: string[];
220
+ /** Links to Ability */
221
+ abilities?: string[];
222
+ /** Links to Language */
223
+ languages?: string[];
224
+ /** Links to Ability */
225
+ actions?: string[];
226
+ }
227
+ /**
228
+ * Event element type
229
+ */
230
+ interface Event extends BaseElement {
231
+ history?: string;
232
+ challenges?: string;
233
+ consequences?: string;
234
+ start_date?: string;
235
+ end_date?: string;
236
+ /** Links to Event */
237
+ triggers?: string[];
238
+ /** Links to Character */
239
+ characters?: string[];
240
+ /** Links to Object */
241
+ objects?: string[];
242
+ /** Links to Location */
243
+ locations?: string[];
244
+ /** Links to Species */
245
+ species?: string[];
246
+ /** Links to Creature */
247
+ creatures?: string[];
248
+ /** Links to Institution */
249
+ institutions?: string[];
250
+ /** Links to Trait */
251
+ traits?: string[];
252
+ /** Links to Collective */
253
+ collectives?: string[];
254
+ /** Links to Zone */
255
+ zones?: string[];
256
+ /** Links to Ability */
257
+ abilities?: string[];
258
+ /** Links to Phenomenon */
259
+ phenomena?: string[];
260
+ /** Links to Language */
261
+ languages?: string[];
262
+ /** Links to Family */
263
+ families?: string[];
264
+ /** Links to Relation */
265
+ relations?: string[];
266
+ /** Links to Title */
267
+ titles?: string[];
268
+ /** Links to Construct */
269
+ constructs?: string[];
270
+ }
271
+ /**
272
+ * Family element type
273
+ */
274
+ interface Family extends BaseElement {
275
+ spirit?: string;
276
+ history?: string;
277
+ reputation?: string;
278
+ /** Links to Construct */
279
+ traditions?: string[];
280
+ /** Links to Trait */
281
+ traits?: string[];
282
+ /** Links to Ability */
283
+ abilities?: string[];
284
+ /** Links to Language */
285
+ languages?: string[];
286
+ /** Links to Character */
287
+ ancestors?: string[];
288
+ /** Links to Location */
289
+ estates?: string[];
290
+ /** Links to Institution */
291
+ governs?: string[];
292
+ /** Links to Object */
293
+ heirlooms?: string[];
294
+ /** Links to Creature */
295
+ creatures?: string[];
296
+ }
297
+ /**
298
+ * Institution element type
299
+ */
300
+ interface Institution extends BaseElement {
301
+ doctrine?: string;
302
+ founding_date?: string;
303
+ /** Links to Institution */
304
+ parent_institution?: string;
305
+ status?: string;
306
+ /** Links to Zone */
307
+ zones?: string[];
308
+ /** Links to Object */
309
+ objects?: string[];
310
+ /** Links to Creature */
311
+ creatures?: string[];
312
+ /** Links to Institution */
313
+ allies?: string[];
314
+ /** Links to Institution */
315
+ adversaries?: string[];
316
+ /** Links to Construct */
317
+ constructs?: string[];
318
+ }
319
+ /**
320
+ * Language element type
321
+ */
322
+ interface Language extends BaseElement {
323
+ phonology?: string;
324
+ grammar?: string;
325
+ lexicon?: string;
326
+ writing?: string;
327
+ /** Links to Construct */
328
+ classification?: string;
329
+ status?: string;
330
+ /** Links to Location */
331
+ spread?: string[];
332
+ /** Links to Language */
333
+ dialects?: string[];
334
+ }
335
+ /**
336
+ * Law element type
337
+ */
338
+ interface Law extends BaseElement {
339
+ declaration?: string;
340
+ purpose?: string;
341
+ date?: string;
342
+ /** Links to Law */
343
+ parent_law?: string;
344
+ /** Links to Institution */
345
+ author?: string;
346
+ /** Links to Construct */
347
+ penalties?: string[];
348
+ /** Links to Location */
349
+ locations?: string[];
350
+ /** Links to Zone */
351
+ zones?: string[];
352
+ /** Links to Construct */
353
+ prohibitions?: string[];
354
+ /** Links to Title */
355
+ adjudicators?: string[];
356
+ /** Links to Title */
357
+ enforcers?: string[];
358
+ }
359
+ /**
360
+ * Location element type
361
+ */
362
+ interface Location extends BaseElement {
363
+ form?: string;
364
+ function?: string;
365
+ founding_date?: string;
366
+ /** Links to Location */
367
+ parent_location?: string;
368
+ political_climate?: string;
369
+ /** Links to Institution */
370
+ primary_power?: string;
371
+ /** Links to Title */
372
+ governing_title?: string;
373
+ /** Links to Zone */
374
+ zone?: string;
375
+ /** Links to Location */
376
+ rival?: string;
377
+ /** Links to Location */
378
+ partner?: string;
379
+ customs?: string;
380
+ infrastructure?: string;
381
+ architecture?: string;
382
+ defensibility?: string;
383
+ elevation?: string;
384
+ /** Links to Collective */
385
+ populations?: string[];
386
+ /** Links to Institution */
387
+ secondary_powers?: string[];
388
+ /** Links to Character */
389
+ founders?: string[];
390
+ /** Links to Construct */
391
+ cults?: string[];
392
+ /** Links to Species */
393
+ delicacies?: string[];
394
+ /** Links to Construct */
395
+ extraction_methods?: string[];
396
+ /** Links to Construct */
397
+ extraction_goods?: string[];
398
+ /** Links to Construct */
399
+ industry_methods?: string[];
400
+ /** Links to Construct */
401
+ industry_goods?: string[];
402
+ /** Links to Location */
403
+ extraction_markets?: string[];
404
+ /** Links to Location */
405
+ industry_markets?: string[];
406
+ /** Links to Construct */
407
+ currencies?: string[];
408
+ /** Links to Object */
409
+ buildings?: string[];
410
+ /** Links to Construct */
411
+ building_methods?: string[];
412
+ /** Links to Construct */
413
+ fighters?: string[];
414
+ /** Links to Object */
415
+ defensive_objects?: string[];
416
+ }
417
+ /**
418
+ * Phenomenon element type
419
+ */
420
+ interface Phenomenon extends BaseElement {
421
+ expression?: string;
422
+ effects?: string;
423
+ duration?: string;
424
+ mythology?: string;
425
+ /** Links to Phenomenon */
426
+ system?: string;
427
+ /** Links to Object */
428
+ catalysts?: string[];
429
+ /** Links to Ability */
430
+ empowerments?: string[];
431
+ /** Links to Construct */
432
+ triggers?: string[];
433
+ /** Links to Character */
434
+ wielders?: string[];
435
+ /** Links to Location */
436
+ environments?: string[];
437
+ }
438
+ /**
439
+ * Relation element type
440
+ */
441
+ interface Relation extends BaseElement {
442
+ background?: string;
443
+ start_date?: string;
444
+ end_date?: string;
445
+ intensity?: string;
446
+ /** Links to Character */
447
+ actor?: string;
448
+ /** Links to Character */
449
+ characters?: string[];
450
+ /** Links to Object */
451
+ objects?: string[];
452
+ /** Links to Location */
453
+ locations?: string[];
454
+ /** Links to Species */
455
+ species?: string[];
456
+ /** Links to Creature */
457
+ creatures?: string[];
458
+ /** Links to Institution */
459
+ institutions?: string[];
460
+ /** Links to Trait */
461
+ traits?: string[];
462
+ /** Links to Collective */
463
+ collectives?: string[];
464
+ /** Links to Zone */
465
+ zones?: string[];
466
+ /** Links to Ability */
467
+ abilities?: string[];
468
+ /** Links to Phenomenon */
469
+ phenomena?: string[];
470
+ /** Links to Language */
471
+ languages?: string[];
472
+ /** Links to Family */
473
+ families?: string[];
474
+ /** Links to Title */
475
+ titles?: string[];
476
+ /** Links to Construct */
477
+ constructs?: string[];
478
+ /** Links to Event */
479
+ events?: string[];
480
+ /** Links to Narrative */
481
+ narratives?: string[];
482
+ }
483
+ /**
484
+ * Species element type
485
+ */
486
+ interface Species extends BaseElement {
487
+ appearance?: string;
488
+ life_span?: string;
489
+ weight?: string;
490
+ instincts?: string;
491
+ sociality?: string;
492
+ temperament?: string;
493
+ communication?: string;
494
+ aggression?: string;
495
+ role?: string;
496
+ /** Links to Species */
497
+ parent_species?: string;
498
+ /** Links to Species */
499
+ nourishment?: string[];
500
+ /** Links to Construct */
501
+ reproduction?: string[];
502
+ /** Links to Ability */
503
+ adaptations?: string[];
504
+ /** Links to Trait */
505
+ traits?: string[];
506
+ /** Links to Location */
507
+ locations?: string[];
508
+ /** Links to Zone */
509
+ zones?: string[];
510
+ /** Links to Phenomenon */
511
+ affinities?: string[];
512
+ }
513
+ /**
514
+ * Zone element type
515
+ */
516
+ interface Zone extends BaseElement {
517
+ role?: string;
518
+ start_date?: string;
519
+ end_date?: string;
520
+ context?: string;
521
+ /** Links to Phenomenon */
522
+ phenomena?: string[];
523
+ /** Links to Zone */
524
+ linked_zones?: string[];
525
+ /** Links to Collective */
526
+ populations?: string[];
527
+ /** Links to Title */
528
+ titles?: string[];
529
+ /** Links to Construct */
530
+ principles?: string[];
531
+ }
532
+ /**
533
+ * Title element type
534
+ */
535
+ interface Title extends BaseElement {
536
+ authority?: string;
537
+ eligibility?: string;
538
+ grant_date?: string;
539
+ revoke_date?: string;
540
+ /** Links to Institution */
541
+ issuer?: string;
542
+ /** Links to Institution */
543
+ body?: string;
544
+ /** Links to Title */
545
+ superior_title?: string;
546
+ status?: string;
547
+ history?: string;
548
+ /** Links to Character */
549
+ holders?: string[];
550
+ /** Links to Object */
551
+ symbols?: string[];
552
+ /** Links to Character */
553
+ characters?: string[];
554
+ /** Links to Institution */
555
+ institutions?: string[];
556
+ /** Links to Family */
557
+ families?: string[];
558
+ /** Links to Zone */
559
+ zones?: string[];
560
+ /** Links to Location */
561
+ locations?: string[];
562
+ /** Links to Object */
563
+ objects?: string[];
564
+ /** Links to Construct */
565
+ constructs?: string[];
566
+ /** Links to Law */
567
+ laws?: string[];
568
+ /** Links to Collective */
569
+ collectives?: string[];
570
+ /** Links to Creature */
571
+ creatures?: string[];
572
+ /** Links to Phenomenon */
573
+ phenomena?: string[];
574
+ /** Links to Species */
575
+ species?: string[];
576
+ /** Links to Language */
577
+ languages?: string[];
578
+ }
579
+ /**
580
+ * Trait element type
581
+ */
582
+ interface Trait extends BaseElement {
583
+ social_effects?: string;
584
+ physical_effects?: string;
585
+ functional_effects?: string;
586
+ personality_effects?: string;
587
+ behaviour_effects?: string;
588
+ charisma?: string;
589
+ coercion?: string;
590
+ competence?: string;
591
+ compassion?: string;
592
+ creativity?: string;
593
+ courage?: string;
594
+ significance?: string;
595
+ /** Links to Trait */
596
+ anti_trait?: string;
597
+ /** Links to Ability */
598
+ empowered_abilities?: string[];
599
+ }
600
+ /**
601
+ * Narrative element type
602
+ */
603
+ interface Narrative extends BaseElement {
604
+ story?: string;
605
+ consequences?: string;
606
+ start_date?: string;
607
+ end_date?: string;
608
+ order?: string;
609
+ /** Links to Narrative */
610
+ parent_narrative?: string;
611
+ /** Links to Character */
612
+ protagonist?: string;
613
+ /** Links to Character */
614
+ antagonist?: string;
615
+ /** Links to Character */
616
+ narrator?: string;
617
+ /** Links to Institution */
618
+ conservator?: string;
619
+ /** Links to Event */
620
+ events?: string[];
621
+ /** Links to Character */
622
+ characters?: string[];
623
+ /** Links to Object */
624
+ objects?: string[];
625
+ /** Links to Location */
626
+ locations?: string[];
627
+ /** Links to Species */
628
+ species?: string[];
629
+ /** Links to Creature */
630
+ creatures?: string[];
631
+ /** Links to Institution */
632
+ institutions?: string[];
633
+ /** Links to Trait */
634
+ traits?: string[];
635
+ /** Links to Collective */
636
+ collectives?: string[];
637
+ /** Links to Zone */
638
+ zones?: string[];
639
+ /** Links to Ability */
640
+ abilities?: string[];
641
+ /** Links to Phenomenon */
642
+ phenomena?: string[];
643
+ /** Links to Language */
644
+ languages?: string[];
645
+ /** Links to Family */
646
+ families?: string[];
647
+ /** Links to Relation */
648
+ relations?: string[];
649
+ /** Links to Title */
650
+ titles?: string[];
651
+ /** Links to Construct */
652
+ constructs?: string[];
653
+ /** Links to Law */
654
+ laws?: string[];
655
+ }
656
+ /**
657
+ * Map element type
658
+ */
659
+ interface Map extends BaseElement {
660
+ background_color?: string;
661
+ hierarchy?: string;
662
+ width?: string;
663
+ height?: string;
664
+ depth?: string;
665
+ /** Links to Map */
666
+ parent_map?: string;
667
+ /** Links to Location */
668
+ location?: string;
669
+ }
670
+ /**
671
+ * Marker element type
672
+ */
673
+ interface Marker extends BaseElement {
674
+ /** Links to Map */
675
+ map?: string;
676
+ /** Links to Zone */
677
+ zone?: string;
678
+ x?: string;
679
+ y?: string;
680
+ z?: string;
681
+ }
682
+ /**
683
+ * Pin element type
684
+ */
685
+ interface Pin extends BaseElement {
686
+ /** Links to Map */
687
+ map?: string;
688
+ /** Links to ContentType */
689
+ element_type?: string;
690
+ x?: string;
691
+ y?: string;
692
+ z?: string;
693
+ }
694
+ /**
695
+ * Input types for API requests (using _id and _ids suffixes)
696
+ */
697
+ interface AbilityInput extends Omit<Ability, 'tradition' | 'source' | 'locus' | 'effects' | 'talents' | 'requisites' | 'instruments' | 'systems'> {
698
+ tradition_id?: string;
699
+ source_id?: string;
700
+ locus_id?: string;
701
+ effects_ids?: string[];
702
+ talents_ids?: string[];
703
+ requisites_ids?: string[];
704
+ instruments_ids?: string[];
705
+ systems_ids?: string[];
706
+ }
707
+ interface ObjectInput extends Omit<Object$1, 'parent_object' | 'location' | 'language' | 'materials' | 'technology' | 'effects' | 'abilities' | 'consumes' | 'affinities'> {
708
+ parent_object_id?: string;
709
+ location_id?: string;
710
+ language_id?: string;
711
+ materials_ids?: string[];
712
+ technology_ids?: string[];
713
+ effects_ids?: string[];
714
+ abilities_ids?: string[];
715
+ consumes_ids?: string[];
716
+ affinities_ids?: string[];
717
+ }
718
+ interface CharacterInput extends Omit<Character, 'birthplace' | 'location' | 'species' | 'traits' | 'abilities' | 'languages' | 'objects' | 'institutions' | 'family' | 'friends' | 'rivals'> {
719
+ birthplace_id?: string;
720
+ location_id?: string;
721
+ species_ids?: string[];
722
+ traits_ids?: string[];
723
+ abilities_ids?: string[];
724
+ languages_ids?: string[];
725
+ objects_ids?: string[];
726
+ institutions_ids?: string[];
727
+ family_ids?: string[];
728
+ friends_ids?: string[];
729
+ rivals_ids?: string[];
730
+ }
731
+ interface CollectiveInput extends Omit<Collective, 'operator' | 'equipment' | 'abilities' | 'symbolism' | 'species' | 'characters' | 'creatures' | 'phenomena'> {
732
+ operator_id?: string;
733
+ equipment_ids?: string[];
734
+ abilities_ids?: string[];
735
+ symbolism_ids?: string[];
736
+ species_ids?: string[];
737
+ characters_ids?: string[];
738
+ creatures_ids?: string[];
739
+ phenomena_ids?: string[];
740
+ }
741
+ interface ConstructInput extends Omit<Construct, 'founder' | 'custodian' | 'characters' | 'objects' | 'locations' | 'species' | 'creatures' | 'institutions' | 'traits' | 'collectives' | 'zones' | 'abilities' | 'phenomena' | 'languages' | 'families' | 'relations' | 'titles' | 'constructs' | 'events' | 'narratives'> {
742
+ founder_id?: string;
743
+ custodian_id?: string;
744
+ characters_ids?: string[];
745
+ objects_ids?: string[];
746
+ locations_ids?: string[];
747
+ species_ids?: string[];
748
+ creatures_ids?: string[];
749
+ institutions_ids?: string[];
750
+ traits_ids?: string[];
751
+ collectives_ids?: string[];
752
+ zones_ids?: string[];
753
+ abilities_ids?: string[];
754
+ phenomena_ids?: string[];
755
+ languages_ids?: string[];
756
+ families_ids?: string[];
757
+ relations_ids?: string[];
758
+ titles_ids?: string[];
759
+ constructs_ids?: string[];
760
+ events_ids?: string[];
761
+ narratives_ids?: string[];
762
+ }
763
+ interface CreatureInput extends Omit<Creature, 'location' | 'zone' | 'species' | 'traits' | 'abilities' | 'languages' | 'actions'> {
764
+ location_id?: string;
765
+ zone_id?: string;
766
+ species_ids?: string[];
767
+ traits_ids?: string[];
768
+ abilities_ids?: string[];
769
+ languages_ids?: string[];
770
+ actions_ids?: string[];
771
+ }
772
+ interface EventInput extends Omit<Event, 'triggers' | 'characters' | 'objects' | 'locations' | 'species' | 'creatures' | 'institutions' | 'traits' | 'collectives' | 'zones' | 'abilities' | 'phenomena' | 'languages' | 'families' | 'relations' | 'titles' | 'constructs'> {
773
+ triggers_ids?: string[];
774
+ characters_ids?: string[];
775
+ objects_ids?: string[];
776
+ locations_ids?: string[];
777
+ species_ids?: string[];
778
+ creatures_ids?: string[];
779
+ institutions_ids?: string[];
780
+ traits_ids?: string[];
781
+ collectives_ids?: string[];
782
+ zones_ids?: string[];
783
+ abilities_ids?: string[];
784
+ phenomena_ids?: string[];
785
+ languages_ids?: string[];
786
+ families_ids?: string[];
787
+ relations_ids?: string[];
788
+ titles_ids?: string[];
789
+ constructs_ids?: string[];
790
+ }
791
+ interface FamilyInput extends Omit<Family, 'traditions' | 'traits' | 'abilities' | 'languages' | 'ancestors' | 'estates' | 'governs' | 'heirlooms' | 'creatures'> {
792
+ traditions_ids?: string[];
793
+ traits_ids?: string[];
794
+ abilities_ids?: string[];
795
+ languages_ids?: string[];
796
+ ancestors_ids?: string[];
797
+ estates_ids?: string[];
798
+ governs_ids?: string[];
799
+ heirlooms_ids?: string[];
800
+ creatures_ids?: string[];
801
+ }
802
+ interface InstitutionInput extends Omit<Institution, 'parent_institution' | 'zones' | 'objects' | 'creatures' | 'allies' | 'adversaries' | 'constructs'> {
803
+ parent_institution_id?: string;
804
+ zones_ids?: string[];
805
+ objects_ids?: string[];
806
+ creatures_ids?: string[];
807
+ allies_ids?: string[];
808
+ adversaries_ids?: string[];
809
+ constructs_ids?: string[];
810
+ }
811
+ interface LanguageInput extends Omit<Language, 'classification' | 'spread' | 'dialects'> {
812
+ classification_id?: string;
813
+ spread_ids?: string[];
814
+ dialects_ids?: string[];
815
+ }
816
+ interface LawInput extends Omit<Law, 'parent_law' | 'author' | 'penalties' | 'locations' | 'zones' | 'prohibitions' | 'adjudicators' | 'enforcers'> {
817
+ parent_law_id?: string;
818
+ author_id?: string;
819
+ penalties_ids?: string[];
820
+ locations_ids?: string[];
821
+ zones_ids?: string[];
822
+ prohibitions_ids?: string[];
823
+ adjudicators_ids?: string[];
824
+ enforcers_ids?: string[];
825
+ }
826
+ interface LocationInput extends Omit<Location, 'parent_location' | 'primary_power' | 'governing_title' | 'zone' | 'rival' | 'partner' | 'populations' | 'secondary_powers' | 'founders' | 'cults' | 'delicacies' | 'extraction_methods' | 'extraction_goods' | 'industry_methods' | 'industry_goods' | 'extraction_markets' | 'industry_markets' | 'currencies' | 'buildings' | 'building_methods' | 'fighters' | 'defensive_objects'> {
827
+ parent_location_id?: string;
828
+ primary_power_id?: string;
829
+ governing_title_id?: string;
830
+ zone_id?: string;
831
+ rival_id?: string;
832
+ partner_id?: string;
833
+ populations_ids?: string[];
834
+ secondary_powers_ids?: string[];
835
+ founders_ids?: string[];
836
+ cults_ids?: string[];
837
+ delicacies_ids?: string[];
838
+ extraction_methods_ids?: string[];
839
+ extraction_goods_ids?: string[];
840
+ industry_methods_ids?: string[];
841
+ industry_goods_ids?: string[];
842
+ extraction_markets_ids?: string[];
843
+ industry_markets_ids?: string[];
844
+ currencies_ids?: string[];
845
+ buildings_ids?: string[];
846
+ building_methods_ids?: string[];
847
+ fighters_ids?: string[];
848
+ defensive_objects_ids?: string[];
849
+ }
850
+ interface PhenomenonInput extends Omit<Phenomenon, 'system' | 'catalysts' | 'empowerments' | 'triggers' | 'wielders' | 'environments'> {
851
+ system_id?: string;
852
+ catalysts_ids?: string[];
853
+ empowerments_ids?: string[];
854
+ triggers_ids?: string[];
855
+ wielders_ids?: string[];
856
+ environments_ids?: string[];
857
+ }
858
+ interface RelationInput extends Omit<Relation, 'actor' | 'characters' | 'objects' | 'locations' | 'species' | 'creatures' | 'institutions' | 'traits' | 'collectives' | 'zones' | 'abilities' | 'phenomena' | 'languages' | 'families' | 'titles' | 'constructs' | 'events' | 'narratives'> {
859
+ actor_id?: string;
860
+ characters_ids?: string[];
861
+ objects_ids?: string[];
862
+ locations_ids?: string[];
863
+ species_ids?: string[];
864
+ creatures_ids?: string[];
865
+ institutions_ids?: string[];
866
+ traits_ids?: string[];
867
+ collectives_ids?: string[];
868
+ zones_ids?: string[];
869
+ abilities_ids?: string[];
870
+ phenomena_ids?: string[];
871
+ languages_ids?: string[];
872
+ families_ids?: string[];
873
+ titles_ids?: string[];
874
+ constructs_ids?: string[];
875
+ events_ids?: string[];
876
+ narratives_ids?: string[];
877
+ }
878
+ interface SpeciesInput extends Omit<Species, 'parent_species' | 'nourishment' | 'reproduction' | 'adaptations' | 'traits' | 'locations' | 'zones' | 'affinities'> {
879
+ parent_species_id?: string;
880
+ nourishment_ids?: string[];
881
+ reproduction_ids?: string[];
882
+ adaptations_ids?: string[];
883
+ traits_ids?: string[];
884
+ locations_ids?: string[];
885
+ zones_ids?: string[];
886
+ affinities_ids?: string[];
887
+ }
888
+ interface ZoneInput extends Omit<Zone, 'phenomena' | 'linked_zones' | 'populations' | 'titles' | 'principles'> {
889
+ phenomena_ids?: string[];
890
+ linked_zones_ids?: string[];
891
+ populations_ids?: string[];
892
+ titles_ids?: string[];
893
+ principles_ids?: string[];
894
+ }
895
+ interface TitleInput extends Omit<Title, 'issuer' | 'body' | 'superior_title' | 'holders' | 'symbols' | 'characters' | 'institutions' | 'families' | 'zones' | 'locations' | 'objects' | 'constructs' | 'laws' | 'collectives' | 'creatures' | 'phenomena' | 'species' | 'languages'> {
896
+ issuer_id?: string;
897
+ body_id?: string;
898
+ superior_title_id?: string;
899
+ holders_ids?: string[];
900
+ symbols_ids?: string[];
901
+ characters_ids?: string[];
902
+ institutions_ids?: string[];
903
+ families_ids?: string[];
904
+ zones_ids?: string[];
905
+ locations_ids?: string[];
906
+ objects_ids?: string[];
907
+ constructs_ids?: string[];
908
+ laws_ids?: string[];
909
+ collectives_ids?: string[];
910
+ creatures_ids?: string[];
911
+ phenomena_ids?: string[];
912
+ species_ids?: string[];
913
+ languages_ids?: string[];
914
+ }
915
+ interface TraitInput extends Omit<Trait, 'anti_trait' | 'empowered_abilities'> {
916
+ anti_trait_id?: string;
917
+ empowered_abilities_ids?: string[];
918
+ }
919
+ interface NarrativeInput extends Omit<Narrative, 'parent_narrative' | 'protagonist' | 'antagonist' | 'narrator' | 'conservator' | 'events' | 'characters' | 'objects' | 'locations' | 'species' | 'creatures' | 'institutions' | 'traits' | 'collectives' | 'zones' | 'abilities' | 'phenomena' | 'languages' | 'families' | 'relations' | 'titles' | 'constructs' | 'laws'> {
920
+ parent_narrative_id?: string;
921
+ protagonist_id?: string;
922
+ antagonist_id?: string;
923
+ narrator_id?: string;
924
+ conservator_id?: string;
925
+ events_ids?: string[];
926
+ characters_ids?: string[];
927
+ objects_ids?: string[];
928
+ locations_ids?: string[];
929
+ species_ids?: string[];
930
+ creatures_ids?: string[];
931
+ institutions_ids?: string[];
932
+ traits_ids?: string[];
933
+ collectives_ids?: string[];
934
+ zones_ids?: string[];
935
+ abilities_ids?: string[];
936
+ phenomena_ids?: string[];
937
+ languages_ids?: string[];
938
+ families_ids?: string[];
939
+ relations_ids?: string[];
940
+ titles_ids?: string[];
941
+ constructs_ids?: string[];
942
+ laws_ids?: string[];
943
+ }
944
+ interface MapInput extends Omit<Map, 'parent_map' | 'location'> {
945
+ parent_map_id?: string;
946
+ location_id?: string;
947
+ }
948
+ interface MarkerInput extends Omit<Marker, 'map' | 'zone'> {
949
+ map_id?: string;
950
+ zone_id?: string;
951
+ }
952
+ interface PinInput extends Omit<Pin, 'map' | 'element_type'> {
953
+ map_id?: string;
954
+ element_type_id?: string;
955
+ }
956
+ /**
957
+ * All available element types in OnlyWorlds
958
+ */
959
+ declare enum ElementType {
960
+ Ability = "ability",
961
+ Character = "character",
962
+ Collective = "collective",
963
+ Construct = "construct",
964
+ Creature = "creature",
965
+ Event = "event",
966
+ Family = "family",
967
+ Institution = "institution",
968
+ Language = "language",
969
+ Law = "law",
970
+ Location = "location",
971
+ Map = "map",
972
+ Marker = "marker",
973
+ Narrative = "narrative",
974
+ Object = "object",
975
+ Phenomenon = "phenomenon",
976
+ Pin = "pin",
977
+ Relation = "relation",
978
+ Species = "species",
979
+ Title = "title",
980
+ Trait = "trait",
981
+ Zone = "zone"
982
+ }
983
+
984
+ interface OnlyWorldsConfig {
985
+ apiKey: string;
986
+ apiPin: string;
987
+ baseUrl?: string;
988
+ }
989
+ interface ListOptions {
990
+ limit?: number;
991
+ offset?: number;
992
+ ordering?: string;
993
+ search?: string;
994
+ [key: string]: any;
995
+ }
996
+ interface ApiResponse<T> {
997
+ count: number;
998
+ next: string | null;
999
+ previous: string | null;
1000
+ results: T[];
1001
+ }
1002
+ /**
1003
+ * Base resource class for CRUD operations
1004
+ */
1005
+ declare class Resource<T, TInput> {
1006
+ private client;
1007
+ private elementType;
1008
+ constructor(client: OnlyWorldsClient, elementType: string);
1009
+ list(options?: ListOptions): Promise<ApiResponse<T>>;
1010
+ get(id: string): Promise<T>;
1011
+ create(data: TInput): Promise<T>;
1012
+ update(id: string, data: Partial<TInput>): Promise<T>;
1013
+ delete(id: string): Promise<void>;
1014
+ }
1015
+ /**
1016
+ * Main OnlyWorlds API client
1017
+ */
1018
+ declare class OnlyWorldsClient {
1019
+ private baseUrl;
1020
+ private headers;
1021
+ abilities: Resource<Ability, AbilityInput>;
1022
+ characters: Resource<Character, CharacterInput>;
1023
+ collectives: Resource<Collective, CollectiveInput>;
1024
+ constructs: Resource<Construct, ConstructInput>;
1025
+ creatures: Resource<Creature, CreatureInput>;
1026
+ events: Resource<Event, EventInput>;
1027
+ families: Resource<Family, FamilyInput>;
1028
+ institutions: Resource<Institution, InstitutionInput>;
1029
+ languages: Resource<Language, LanguageInput>;
1030
+ laws: Resource<Law, LawInput>;
1031
+ locations: Resource<Location, LocationInput>;
1032
+ maps: Resource<Map, MapInput>;
1033
+ markers: Resource<Marker, MarkerInput>;
1034
+ narratives: Resource<Narrative, NarrativeInput>;
1035
+ objects: Resource<Object$1, ObjectInput>;
1036
+ phenomena: Resource<Phenomenon, PhenomenonInput>;
1037
+ pins: Resource<Pin, PinInput>;
1038
+ relations: Resource<Relation, RelationInput>;
1039
+ species: Resource<Species, SpeciesInput>;
1040
+ titles: Resource<Title, TitleInput>;
1041
+ traits: Resource<Trait, TraitInput>;
1042
+ zones: Resource<Zone, ZoneInput>;
1043
+ constructor(config: OnlyWorldsConfig);
1044
+ /**
1045
+ * Make a request to the OnlyWorlds API
1046
+ */
1047
+ request<T>(method: string, path: string, options?: {
1048
+ params?: Record<string, any>;
1049
+ body?: any;
1050
+ }): Promise<T>;
1051
+ /**
1052
+ * Get all worlds accessible with current credentials
1053
+ */
1054
+ getWorlds(): Promise<any>;
1055
+ /**
1056
+ * Helper to convert nested objects to _id/_ids format
1057
+ */
1058
+ static prepareInput<T extends Record<string, any>>(data: T): any;
1059
+ }
1060
+
1061
+ export { type Ability, type AbilityInput, type ApiResponse, type BaseElement, type Character, type CharacterInput, type Collective, type CollectiveInput, type Construct, type ConstructInput, type Creature, type CreatureInput, ElementType, type Event, type EventInput, type Family, type FamilyInput, type Institution, type InstitutionInput, type Language, type LanguageInput, type Law, type LawInput, type ListOptions, type Location, type LocationInput, type Map, type MapInput, type Marker, type MarkerInput, type Narrative, type NarrativeInput, type Object$1 as Object, type ObjectInput, OnlyWorldsClient, type OnlyWorldsConfig, type Phenomenon, type PhenomenonInput, type Pin, type PinInput, type Relation, type RelationInput, type Species, type SpeciesInput, type Title, type TitleInput, type Trait, type TraitInput, type Zone, type ZoneInput };