@happyvertical/smrt-features 0.30.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,763 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "timestamp": 1782177128396,
4
+ "packageName": "@happyvertical/smrt-features",
5
+ "packageVersion": "0.30.0",
6
+ "objects": {
7
+ "@happyvertical/smrt-features:FeatureDefinition": {
8
+ "name": "featuredefinition",
9
+ "className": "FeatureDefinition",
10
+ "qualifiedName": "@happyvertical/smrt-features:FeatureDefinition",
11
+ "collection": "featuredefinitions",
12
+ "filePath": "/home/runner/_work/smrt/smrt/packages/features/src/feature-definition.ts",
13
+ "packageName": "@happyvertical/smrt-features",
14
+ "fields": {
15
+ "featureKey": {
16
+ "type": "text",
17
+ "required": false,
18
+ "default": ""
19
+ },
20
+ "packageName": {
21
+ "type": "text",
22
+ "required": false,
23
+ "default": ""
24
+ },
25
+ "qualifiedClassName": {
26
+ "type": "text",
27
+ "required": false,
28
+ "default": ""
29
+ },
30
+ "className": {
31
+ "type": "text",
32
+ "required": false,
33
+ "default": ""
34
+ },
35
+ "localId": {
36
+ "type": "text",
37
+ "required": false,
38
+ "default": ""
39
+ },
40
+ "defaultEnabled": {
41
+ "type": "boolean",
42
+ "required": false,
43
+ "default": false
44
+ },
45
+ "label": {
46
+ "type": "text",
47
+ "required": false,
48
+ "default": ""
49
+ },
50
+ "description": {
51
+ "type": "text",
52
+ "required": false,
53
+ "default": ""
54
+ },
55
+ "metadata": {
56
+ "type": "text",
57
+ "required": false,
58
+ "default": ""
59
+ },
60
+ "visibility": {
61
+ "type": "text",
62
+ "required": false,
63
+ "default": "public"
64
+ }
65
+ },
66
+ "methods": {
67
+ "getMetadata": {
68
+ "name": "getMetadata",
69
+ "async": false,
70
+ "parameters": [],
71
+ "returnType": "FeatureMetadata",
72
+ "isStatic": false,
73
+ "isPublic": true
74
+ },
75
+ "setMetadata": {
76
+ "name": "setMetadata",
77
+ "async": false,
78
+ "parameters": [
79
+ {
80
+ "name": "metadata",
81
+ "type": "FeatureMetadata | null",
82
+ "optional": false
83
+ }
84
+ ],
85
+ "returnType": "void",
86
+ "isStatic": false,
87
+ "isPublic": true
88
+ }
89
+ },
90
+ "decoratorConfig": {
91
+ "tableName": "_smrt_feature_definitions",
92
+ "api": {
93
+ "include": [
94
+ "list",
95
+ "get"
96
+ ]
97
+ },
98
+ "cli": {
99
+ "include": [
100
+ "list",
101
+ "get"
102
+ ],
103
+ "exclude": [
104
+ "getMetadata",
105
+ "setMetadata"
106
+ ]
107
+ },
108
+ "mcp": {
109
+ "include": [
110
+ "list",
111
+ "get"
112
+ ],
113
+ "exclude": [
114
+ "getMetadata",
115
+ "setMetadata"
116
+ ]
117
+ },
118
+ "conflictColumns": [
119
+ "feature_key"
120
+ ]
121
+ },
122
+ "extends": "SmrtObject",
123
+ "exportName": "FeatureDefinition",
124
+ "collectionExportName": "FeatureDefinitionCollection",
125
+ "schema": {
126
+ "tableName": "_smrt_feature_definitions",
127
+ "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_feature_definitions\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"feature_key\" TEXT DEFAULT '',\n \"package_name\" TEXT DEFAULT '',\n \"qualified_class_name\" TEXT DEFAULT '',\n \"class_name\" TEXT DEFAULT '',\n \"local_id\" TEXT DEFAULT '',\n \"default_enabled\" BOOLEAN DEFAULT FALSE,\n \"label\" TEXT DEFAULT '',\n \"description\" TEXT DEFAULT '',\n \"metadata\" TEXT DEFAULT '',\n \"visibility\" TEXT DEFAULT 'public'\n);",
128
+ "columns": {
129
+ "id": {
130
+ "type": "UUID",
131
+ "primaryKey": true,
132
+ "referenceKind": "id",
133
+ "notNull": true
134
+ },
135
+ "slug": {
136
+ "type": "TEXT",
137
+ "notNull": true
138
+ },
139
+ "context": {
140
+ "type": "TEXT",
141
+ "notNull": true,
142
+ "default": ""
143
+ },
144
+ "created_at": {
145
+ "type": "TIMESTAMP",
146
+ "notNull": true,
147
+ "default": "current_timestamp"
148
+ },
149
+ "updated_at": {
150
+ "type": "TIMESTAMP",
151
+ "notNull": true,
152
+ "default": "current_timestamp"
153
+ },
154
+ "feature_key": {
155
+ "type": "TEXT",
156
+ "notNull": false,
157
+ "unique": false,
158
+ "default": ""
159
+ },
160
+ "package_name": {
161
+ "type": "TEXT",
162
+ "notNull": false,
163
+ "unique": false,
164
+ "default": ""
165
+ },
166
+ "qualified_class_name": {
167
+ "type": "TEXT",
168
+ "notNull": false,
169
+ "unique": false,
170
+ "default": ""
171
+ },
172
+ "class_name": {
173
+ "type": "TEXT",
174
+ "notNull": false,
175
+ "unique": false,
176
+ "default": ""
177
+ },
178
+ "local_id": {
179
+ "type": "TEXT",
180
+ "notNull": false,
181
+ "unique": false,
182
+ "default": ""
183
+ },
184
+ "default_enabled": {
185
+ "type": "BOOLEAN",
186
+ "notNull": false,
187
+ "unique": false,
188
+ "default": false
189
+ },
190
+ "label": {
191
+ "type": "TEXT",
192
+ "notNull": false,
193
+ "unique": false,
194
+ "default": ""
195
+ },
196
+ "description": {
197
+ "type": "TEXT",
198
+ "notNull": false,
199
+ "unique": false,
200
+ "default": ""
201
+ },
202
+ "metadata": {
203
+ "type": "TEXT",
204
+ "notNull": false,
205
+ "unique": false,
206
+ "default": ""
207
+ },
208
+ "visibility": {
209
+ "type": "TEXT",
210
+ "notNull": false,
211
+ "unique": false,
212
+ "default": "public"
213
+ }
214
+ },
215
+ "indexes": [
216
+ {
217
+ "name": "_smrt_feature_definitions_id_idx",
218
+ "columns": [
219
+ "id"
220
+ ]
221
+ },
222
+ {
223
+ "name": "_smrt_feature_definitions_feature_key_idx",
224
+ "columns": [
225
+ "feature_key"
226
+ ],
227
+ "unique": true
228
+ }
229
+ ],
230
+ "version": "8813204c"
231
+ }
232
+ },
233
+ "@happyvertical/smrt-features:FeatureDefinitionCollection": {
234
+ "name": "featuredefinitioncollection",
235
+ "className": "FeatureDefinitionCollection",
236
+ "qualifiedName": "@happyvertical/smrt-features:FeatureDefinitionCollection",
237
+ "collection": "featuredefinitions",
238
+ "filePath": "/home/runner/_work/smrt/smrt/packages/features/src/feature-definitions.ts",
239
+ "packageName": "@happyvertical/smrt-features",
240
+ "fields": {},
241
+ "methods": {
242
+ "findByFeatureKey": {
243
+ "name": "findByFeatureKey",
244
+ "async": true,
245
+ "parameters": [
246
+ {
247
+ "name": "featureKey",
248
+ "type": "string",
249
+ "optional": false
250
+ }
251
+ ],
252
+ "returnType": "Promise<FeatureDefinition | null>",
253
+ "isStatic": false,
254
+ "isPublic": true
255
+ },
256
+ "findByPackageName": {
257
+ "name": "findByPackageName",
258
+ "async": true,
259
+ "parameters": [
260
+ {
261
+ "name": "packageName",
262
+ "type": "string",
263
+ "optional": false
264
+ }
265
+ ],
266
+ "returnType": "Promise<FeatureDefinition[]>",
267
+ "isStatic": false,
268
+ "isPublic": true
269
+ },
270
+ "upsertDefinition": {
271
+ "name": "upsertDefinition",
272
+ "async": true,
273
+ "parameters": [
274
+ {
275
+ "name": "seed",
276
+ "type": "FeatureDefinitionSeed",
277
+ "optional": false
278
+ }
279
+ ],
280
+ "returnType": "Promise<object>",
281
+ "isStatic": false,
282
+ "isPublic": true
283
+ }
284
+ },
285
+ "decoratorConfig": {
286
+ "tableName": "_smrt_feature_definitions"
287
+ },
288
+ "extends": "SmrtCollection",
289
+ "extendsTypeArg": "FeatureDefinition",
290
+ "exportName": "FeatureDefinitionCollection",
291
+ "collectionExportName": "FeatureDefinitionCollectionCollection",
292
+ "schema": {
293
+ "tableName": "_smrt_feature_definitions",
294
+ "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_feature_definitions\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
295
+ "columns": {
296
+ "id": {
297
+ "type": "UUID",
298
+ "primaryKey": true,
299
+ "referenceKind": "id",
300
+ "notNull": true
301
+ },
302
+ "slug": {
303
+ "type": "TEXT",
304
+ "notNull": true
305
+ },
306
+ "context": {
307
+ "type": "TEXT",
308
+ "notNull": true,
309
+ "default": ""
310
+ },
311
+ "created_at": {
312
+ "type": "TIMESTAMP",
313
+ "notNull": true,
314
+ "default": "current_timestamp"
315
+ },
316
+ "updated_at": {
317
+ "type": "TIMESTAMP",
318
+ "notNull": true,
319
+ "default": "current_timestamp"
320
+ }
321
+ },
322
+ "indexes": [
323
+ {
324
+ "name": "_smrt_feature_definitions_id_idx",
325
+ "columns": [
326
+ "id"
327
+ ]
328
+ },
329
+ {
330
+ "name": "_smrt_feature_definitions_slug_context_idx",
331
+ "columns": [
332
+ "slug",
333
+ "context"
334
+ ],
335
+ "unique": true
336
+ }
337
+ ],
338
+ "version": "e4eaf68f"
339
+ }
340
+ },
341
+ "@happyvertical/smrt-features:FeatureOverride": {
342
+ "name": "featureoverride",
343
+ "className": "FeatureOverride",
344
+ "qualifiedName": "@happyvertical/smrt-features:FeatureOverride",
345
+ "collection": "featureoverrides",
346
+ "filePath": "/home/runner/_work/smrt/smrt/packages/features/src/feature-override.ts",
347
+ "packageName": "@happyvertical/smrt-features",
348
+ "fields": {
349
+ "featureKey": {
350
+ "type": "text",
351
+ "required": false,
352
+ "default": ""
353
+ },
354
+ "scopeType": {
355
+ "type": "text",
356
+ "required": false,
357
+ "default": "global"
358
+ },
359
+ "scopeId": {
360
+ "type": "text",
361
+ "required": false
362
+ },
363
+ "effect": {
364
+ "type": "text",
365
+ "required": false
366
+ }
367
+ },
368
+ "methods": {
369
+ "isInherit": {
370
+ "name": "isInherit",
371
+ "async": false,
372
+ "parameters": [],
373
+ "returnType": "boolean",
374
+ "isStatic": false,
375
+ "isPublic": true
376
+ },
377
+ "isEnabled": {
378
+ "name": "isEnabled",
379
+ "async": false,
380
+ "parameters": [],
381
+ "returnType": "boolean",
382
+ "isStatic": false,
383
+ "isPublic": true
384
+ },
385
+ "isDisabled": {
386
+ "name": "isDisabled",
387
+ "async": false,
388
+ "parameters": [],
389
+ "returnType": "boolean",
390
+ "isStatic": false,
391
+ "isPublic": true
392
+ }
393
+ },
394
+ "decoratorConfig": {
395
+ "tableName": "_smrt_feature_overrides",
396
+ "api": {
397
+ "include": [
398
+ "list",
399
+ "get",
400
+ "create",
401
+ "update",
402
+ "delete"
403
+ ]
404
+ },
405
+ "cli": {
406
+ "exclude": [
407
+ "isInherit",
408
+ "isEnabled",
409
+ "isDisabled"
410
+ ]
411
+ },
412
+ "mcp": {
413
+ "exclude": [
414
+ "isInherit",
415
+ "isEnabled",
416
+ "isDisabled"
417
+ ]
418
+ },
419
+ "conflictColumns": [
420
+ "feature_key",
421
+ "scope_type",
422
+ "scope_id"
423
+ ]
424
+ },
425
+ "extends": "SmrtObject",
426
+ "exportName": "FeatureOverride",
427
+ "collectionExportName": "FeatureOverrideCollection",
428
+ "schema": {
429
+ "tableName": "_smrt_feature_overrides",
430
+ "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_feature_overrides\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"feature_key\" TEXT DEFAULT '',\n \"scope_type\" TEXT DEFAULT 'global',\n \"scope_id\" TEXT,\n \"effect\" TEXT\n);",
431
+ "columns": {
432
+ "id": {
433
+ "type": "UUID",
434
+ "primaryKey": true,
435
+ "referenceKind": "id",
436
+ "notNull": true
437
+ },
438
+ "slug": {
439
+ "type": "TEXT",
440
+ "notNull": true
441
+ },
442
+ "context": {
443
+ "type": "TEXT",
444
+ "notNull": true,
445
+ "default": ""
446
+ },
447
+ "created_at": {
448
+ "type": "TIMESTAMP",
449
+ "notNull": true,
450
+ "default": "current_timestamp"
451
+ },
452
+ "updated_at": {
453
+ "type": "TIMESTAMP",
454
+ "notNull": true,
455
+ "default": "current_timestamp"
456
+ },
457
+ "feature_key": {
458
+ "type": "TEXT",
459
+ "notNull": false,
460
+ "unique": false,
461
+ "default": ""
462
+ },
463
+ "scope_type": {
464
+ "type": "TEXT",
465
+ "notNull": false,
466
+ "unique": false,
467
+ "default": "global"
468
+ },
469
+ "scope_id": {
470
+ "type": "TEXT",
471
+ "notNull": false,
472
+ "unique": false
473
+ },
474
+ "effect": {
475
+ "type": "TEXT",
476
+ "notNull": false,
477
+ "unique": false
478
+ }
479
+ },
480
+ "indexes": [
481
+ {
482
+ "name": "_smrt_feature_overrides_id_idx",
483
+ "columns": [
484
+ "id"
485
+ ]
486
+ },
487
+ {
488
+ "name": "_smrt_feature_overrides_feature_key_scope_type_idx",
489
+ "columns": [
490
+ "feature_key",
491
+ "scope_type",
492
+ "scope_id"
493
+ ],
494
+ "unique": true
495
+ }
496
+ ],
497
+ "version": "d61cf901"
498
+ }
499
+ },
500
+ "@happyvertical/smrt-features:FeatureOverrideCollection": {
501
+ "name": "featureoverridecollection",
502
+ "className": "FeatureOverrideCollection",
503
+ "qualifiedName": "@happyvertical/smrt-features:FeatureOverrideCollection",
504
+ "collection": "featureoverrides",
505
+ "filePath": "/home/runner/_work/smrt/smrt/packages/features/src/feature-overrides.ts",
506
+ "packageName": "@happyvertical/smrt-features",
507
+ "fields": {},
508
+ "methods": {
509
+ "findByFeatureKey": {
510
+ "name": "findByFeatureKey",
511
+ "async": true,
512
+ "parameters": [
513
+ {
514
+ "name": "featureKey",
515
+ "type": "string",
516
+ "optional": false
517
+ }
518
+ ],
519
+ "returnType": "Promise<FeatureOverride[]>",
520
+ "isStatic": false,
521
+ "isPublic": true
522
+ },
523
+ "findByFeatureAndScope": {
524
+ "name": "findByFeatureAndScope",
525
+ "async": true,
526
+ "parameters": [
527
+ {
528
+ "name": "featureKey",
529
+ "type": "string",
530
+ "optional": false
531
+ },
532
+ {
533
+ "name": "scopeType",
534
+ "type": "FeatureScopeType",
535
+ "optional": false
536
+ },
537
+ {
538
+ "name": "scopeId",
539
+ "type": "string",
540
+ "optional": false
541
+ }
542
+ ],
543
+ "returnType": "Promise<FeatureOverride | null>",
544
+ "isStatic": false,
545
+ "isPublic": true
546
+ },
547
+ "getGlobalOverride": {
548
+ "name": "getGlobalOverride",
549
+ "async": true,
550
+ "parameters": [
551
+ {
552
+ "name": "featureKey",
553
+ "type": "string",
554
+ "optional": false
555
+ }
556
+ ],
557
+ "returnType": "Promise<FeatureOverride | null>",
558
+ "isStatic": false,
559
+ "isPublic": true
560
+ },
561
+ "getTenantOverride": {
562
+ "name": "getTenantOverride",
563
+ "async": true,
564
+ "parameters": [
565
+ {
566
+ "name": "featureKey",
567
+ "type": "string",
568
+ "optional": false
569
+ },
570
+ {
571
+ "name": "tenantId",
572
+ "type": "string",
573
+ "optional": false
574
+ }
575
+ ],
576
+ "returnType": "Promise<FeatureOverride | null>",
577
+ "isStatic": false,
578
+ "isPublic": true
579
+ },
580
+ "getOverrideMap": {
581
+ "name": "getOverrideMap",
582
+ "async": true,
583
+ "parameters": [
584
+ {
585
+ "name": "featureKey",
586
+ "type": "string",
587
+ "optional": false
588
+ },
589
+ {
590
+ "name": "scopeType",
591
+ "type": "FeatureScopeType",
592
+ "optional": false
593
+ },
594
+ {
595
+ "name": "scopeIds",
596
+ "type": "string[]",
597
+ "optional": false
598
+ }
599
+ ],
600
+ "returnType": "Promise<Map<string, FeatureOverride>>",
601
+ "isStatic": false,
602
+ "isPublic": true
603
+ },
604
+ "setOverride": {
605
+ "name": "setOverride",
606
+ "async": true,
607
+ "parameters": [
608
+ {
609
+ "name": "featureKey",
610
+ "type": "string",
611
+ "optional": false
612
+ },
613
+ {
614
+ "name": "scopeType",
615
+ "type": "FeatureScopeType",
616
+ "optional": false
617
+ },
618
+ {
619
+ "name": "scopeId",
620
+ "type": "string",
621
+ "optional": false
622
+ },
623
+ {
624
+ "name": "effect",
625
+ "type": "FeatureOverrideEffect",
626
+ "optional": false
627
+ }
628
+ ],
629
+ "returnType": "Promise<FeatureOverride>",
630
+ "isStatic": false,
631
+ "isPublic": true
632
+ },
633
+ "setGlobalOverride": {
634
+ "name": "setGlobalOverride",
635
+ "async": true,
636
+ "parameters": [
637
+ {
638
+ "name": "featureKey",
639
+ "type": "string",
640
+ "optional": false
641
+ },
642
+ {
643
+ "name": "effect",
644
+ "type": "FeatureOverrideEffect",
645
+ "optional": false
646
+ }
647
+ ],
648
+ "returnType": "Promise<FeatureOverride>",
649
+ "isStatic": false,
650
+ "isPublic": true
651
+ },
652
+ "setTenantOverride": {
653
+ "name": "setTenantOverride",
654
+ "async": true,
655
+ "parameters": [
656
+ {
657
+ "name": "featureKey",
658
+ "type": "string",
659
+ "optional": false
660
+ },
661
+ {
662
+ "name": "tenantId",
663
+ "type": "string",
664
+ "optional": false
665
+ },
666
+ {
667
+ "name": "effect",
668
+ "type": "FeatureOverrideEffect",
669
+ "optional": false
670
+ }
671
+ ],
672
+ "returnType": "Promise<FeatureOverride>",
673
+ "isStatic": false,
674
+ "isPublic": true
675
+ },
676
+ "removeOverride": {
677
+ "name": "removeOverride",
678
+ "async": true,
679
+ "parameters": [
680
+ {
681
+ "name": "featureKey",
682
+ "type": "string",
683
+ "optional": false
684
+ },
685
+ {
686
+ "name": "scopeType",
687
+ "type": "FeatureScopeType",
688
+ "optional": false
689
+ },
690
+ {
691
+ "name": "scopeId",
692
+ "type": "string",
693
+ "optional": false
694
+ }
695
+ ],
696
+ "returnType": "Promise<boolean>",
697
+ "isStatic": false,
698
+ "isPublic": true
699
+ }
700
+ },
701
+ "decoratorConfig": {
702
+ "tableName": "_smrt_feature_overrides"
703
+ },
704
+ "extends": "SmrtCollection",
705
+ "extendsTypeArg": "FeatureOverride",
706
+ "exportName": "FeatureOverrideCollection",
707
+ "collectionExportName": "FeatureOverrideCollectionCollection",
708
+ "schema": {
709
+ "tableName": "_smrt_feature_overrides",
710
+ "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_feature_overrides\" (\n \"id\" UUID PRIMARY KEY NOT NULL,\n \"slug\" TEXT NOT NULL,\n \"context\" TEXT NOT NULL DEFAULT '',\n \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp\n);",
711
+ "columns": {
712
+ "id": {
713
+ "type": "UUID",
714
+ "primaryKey": true,
715
+ "referenceKind": "id",
716
+ "notNull": true
717
+ },
718
+ "slug": {
719
+ "type": "TEXT",
720
+ "notNull": true
721
+ },
722
+ "context": {
723
+ "type": "TEXT",
724
+ "notNull": true,
725
+ "default": ""
726
+ },
727
+ "created_at": {
728
+ "type": "TIMESTAMP",
729
+ "notNull": true,
730
+ "default": "current_timestamp"
731
+ },
732
+ "updated_at": {
733
+ "type": "TIMESTAMP",
734
+ "notNull": true,
735
+ "default": "current_timestamp"
736
+ }
737
+ },
738
+ "indexes": [
739
+ {
740
+ "name": "_smrt_feature_overrides_id_idx",
741
+ "columns": [
742
+ "id"
743
+ ]
744
+ },
745
+ {
746
+ "name": "_smrt_feature_overrides_slug_context_idx",
747
+ "columns": [
748
+ "slug",
749
+ "context"
750
+ ],
751
+ "unique": true
752
+ }
753
+ ],
754
+ "version": "e0e6e44b"
755
+ }
756
+ }
757
+ },
758
+ "moduleType": "smrt",
759
+ "smrtDependencies": [
760
+ "@happyvertical/smrt-core",
761
+ "@happyvertical/smrt-users"
762
+ ]
763
+ }