@happyvertical/smrt-features 0.51.19 → 0.51.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +17 -0
- package/README.md +152 -0
- package/dist/__smrt-register__.d.ts +2 -0
- package/dist/__smrt-register__.d.ts.map +1 -0
- package/dist/feature-definition.d.ts +18 -0
- package/dist/feature-definition.d.ts.map +1 -0
- package/dist/feature-definitions.d.ts +13 -0
- package/dist/feature-definitions.d.ts.map +1 -0
- package/dist/feature-override-service.d.ts +41 -0
- package/dist/feature-override-service.d.ts.map +1 -0
- package/dist/feature-override.d.ts +13 -0
- package/dist/feature-override.d.ts.map +1 -0
- package/dist/feature-overrides.d.ts +16 -0
- package/dist/feature-overrides.d.ts.map +1 -0
- package/dist/feature-resolver.d.ts +18 -0
- package/dist/feature-resolver.d.ts.map +1 -0
- package/dist/feature-settings.d.ts +209 -0
- package/dist/feature-settings.d.ts.map +1 -0
- package/dist/feature-sync.d.ts +17 -0
- package/dist/feature-sync.d.ts.map +1 -0
- package/dist/index.d.ts +11 -263
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +155 -2
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/smrt-knowledge.json +14 -6
- package/dist/svelte/components/FeatureSettingsPanel.svelte +338 -0
- package/dist/svelte/components/FeatureSettingsPanel.svelte.d.ts +52 -0
- package/dist/svelte/components/FeatureSettingsPanel.svelte.d.ts.map +1 -0
- package/dist/svelte/index.d.ts +17 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +14 -0
- package/dist/svelte/types.d.ts +76 -0
- package/dist/svelte/types.d.ts.map +1 -0
- package/dist/svelte/types.js +37 -0
- package/dist/types.d.ts +107 -131
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +28 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +26 -7
package/dist/types.d.ts
CHANGED
|
@@ -1,131 +1,107 @@
|
|
|
1
|
-
import { SmartObjectManifest } from '@happyvertical/smrt-core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
export
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
export
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
export
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
*/
|
|
109
|
-
export declare interface FeatureUsersTenantRecord {
|
|
110
|
-
id: string;
|
|
111
|
-
inheritPermissions?: boolean;
|
|
112
|
-
cascadePermissions?: boolean;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export declare const GLOBAL_FEATURE_SCOPE_ID = "*";
|
|
116
|
-
|
|
117
|
-
export { SmartObjectManifest }
|
|
118
|
-
|
|
119
|
-
export { SmrtClassOptions }
|
|
120
|
-
|
|
121
|
-
export declare interface SyncDefinitionsOptions {
|
|
122
|
-
classNames?: string[];
|
|
123
|
-
constructors?: FeatureTargetConstructor[];
|
|
124
|
-
pruneStale?: boolean;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
export declare interface SyncManifestOptions {
|
|
128
|
-
pruneStale?: boolean;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
export { }
|
|
1
|
+
import { SmartObjectManifest, SmrtClassOptions, SmrtObject } from '@happyvertical/smrt-core';
|
|
2
|
+
export declare const GLOBAL_FEATURE_SCOPE_ID = "*";
|
|
3
|
+
export type FeatureScopeType = 'global' | 'tenant';
|
|
4
|
+
/**
|
|
5
|
+
* Constructor type for any `@smrt()`-decorated class that may declare feature
|
|
6
|
+
* toggles. Feature targets always extend `SmrtObject`, so this mirrors
|
|
7
|
+
* `@happyvertical/smrt-core`'s internal (non-exported) `SmrtObjectConstructor`
|
|
8
|
+
* and remains assignable to it for `ObjectRegistry.getClassByConstructor`.
|
|
9
|
+
*/
|
|
10
|
+
export type FeatureTargetConstructor = new (...args: unknown[]) => SmrtObject;
|
|
11
|
+
export declare enum FeatureOverrideEffect {
|
|
12
|
+
INHERIT = "inherit",
|
|
13
|
+
ENABLE = "enable",
|
|
14
|
+
DISABLE = "disable"
|
|
15
|
+
}
|
|
16
|
+
export interface FeatureMetadata {
|
|
17
|
+
[key: string]: unknown;
|
|
18
|
+
}
|
|
19
|
+
export interface FeatureDefinitionOptions {
|
|
20
|
+
id?: string;
|
|
21
|
+
featureKey?: string;
|
|
22
|
+
packageName?: string;
|
|
23
|
+
qualifiedClassName?: string;
|
|
24
|
+
className?: string;
|
|
25
|
+
localId?: string;
|
|
26
|
+
defaultEnabled?: boolean;
|
|
27
|
+
label?: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
metadata?: FeatureMetadata | string | null;
|
|
30
|
+
visibility?: string;
|
|
31
|
+
createdAt?: Date;
|
|
32
|
+
updatedAt?: Date;
|
|
33
|
+
}
|
|
34
|
+
export interface FeatureOverrideOptions {
|
|
35
|
+
id?: string;
|
|
36
|
+
featureKey?: string;
|
|
37
|
+
scopeType?: FeatureScopeType;
|
|
38
|
+
scopeId?: string;
|
|
39
|
+
effect?: FeatureOverrideEffect;
|
|
40
|
+
createdAt?: Date;
|
|
41
|
+
updatedAt?: Date;
|
|
42
|
+
}
|
|
43
|
+
export interface FeatureDefinitionSeed {
|
|
44
|
+
featureKey: string;
|
|
45
|
+
packageName: string;
|
|
46
|
+
qualifiedClassName: string;
|
|
47
|
+
className: string;
|
|
48
|
+
localId: string;
|
|
49
|
+
defaultEnabled: boolean;
|
|
50
|
+
label?: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
metadata?: FeatureMetadata;
|
|
53
|
+
visibility?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface SyncDefinitionsOptions {
|
|
56
|
+
classNames?: string[];
|
|
57
|
+
constructors?: FeatureTargetConstructor[];
|
|
58
|
+
pruneStale?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface SyncManifestOptions {
|
|
61
|
+
pruneStale?: boolean;
|
|
62
|
+
}
|
|
63
|
+
export interface FeatureSyncResult {
|
|
64
|
+
total: number;
|
|
65
|
+
created: number;
|
|
66
|
+
updated: number;
|
|
67
|
+
unchanged: number;
|
|
68
|
+
deleted: number;
|
|
69
|
+
featureKeys: string[];
|
|
70
|
+
}
|
|
71
|
+
export interface FeatureResolutionContext {
|
|
72
|
+
tenantId?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface FeatureTenantNode {
|
|
75
|
+
id: string;
|
|
76
|
+
inheritPermissions: boolean;
|
|
77
|
+
cascadePermissions: boolean;
|
|
78
|
+
}
|
|
79
|
+
export interface FeatureTenantHierarchyProvider {
|
|
80
|
+
getChain(tenantId: string): Promise<FeatureTenantNode[]>;
|
|
81
|
+
}
|
|
82
|
+
export type FeatureTenantHierarchyLoader = (options: SmrtClassOptions) => Promise<FeatureTenantHierarchyProvider | null>;
|
|
83
|
+
export interface FeatureResolverOptions {
|
|
84
|
+
tenantHierarchyLoader?: FeatureTenantHierarchyLoader;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Minimal structural shape of a tenant record returned by
|
|
88
|
+
* `@happyvertical/smrt-users`. Only the permission-cascade fields consumed by
|
|
89
|
+
* feature resolution are modeled; everything else is left unconstrained.
|
|
90
|
+
*/
|
|
91
|
+
export interface FeatureUsersTenantRecord {
|
|
92
|
+
id: string;
|
|
93
|
+
inheritPermissions?: boolean;
|
|
94
|
+
cascadePermissions?: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface FeatureUsersModule {
|
|
97
|
+
TenantCollection: {
|
|
98
|
+
create(options: SmrtClassOptions): Promise<{
|
|
99
|
+
get(criteria: {
|
|
100
|
+
id: string;
|
|
101
|
+
}): Promise<FeatureUsersTenantRecord | null>;
|
|
102
|
+
getAncestorsFromRoot(tenantId: string): Promise<FeatureUsersTenantRecord[]>;
|
|
103
|
+
}>;
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
export type { SmartObjectManifest, SmrtClassOptions };
|
|
107
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { SmartObjectConfig } from '@happyvertical/smrt-core';
|
|
2
|
+
import { SmartObjectManifest } from '@happyvertical/smrt-core/manifest';
|
|
3
|
+
import { FeatureDefinitionSeed, FeatureMetadata, FeatureTargetConstructor } from './types.js';
|
|
4
|
+
export type RegistryEntryLike = {
|
|
5
|
+
name: string;
|
|
6
|
+
qualifiedName?: string;
|
|
7
|
+
packageName?: string;
|
|
8
|
+
config: SmartObjectConfig;
|
|
9
|
+
visibility?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function createFeatureKey(qualifiedClassName: string, localId: string): string;
|
|
12
|
+
export declare function parseFeatureKey(featureKey: string): {
|
|
13
|
+
qualifiedClassName: string;
|
|
14
|
+
localId: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function serializeFeatureMetadata(metadata: FeatureMetadata | string | null | undefined): string;
|
|
17
|
+
export declare function parseFeatureMetadata(metadata: string | null | undefined): FeatureMetadata;
|
|
18
|
+
export declare function getQualifiedClassNameFromRegistry(registration: RegistryEntryLike): string | null;
|
|
19
|
+
export declare function getPackageNameFromRegistry(registration: RegistryEntryLike): string | null;
|
|
20
|
+
export declare function extractFeatureSeedsFromRegistryEntry(registration: RegistryEntryLike): FeatureDefinitionSeed[];
|
|
21
|
+
export declare function extractFeatureSeedsFromManifest(manifest: SmartObjectManifest): FeatureDefinitionSeed[];
|
|
22
|
+
export declare function extractTouchedPackagesFromManifest(manifest: SmartObjectManifest): Set<string>;
|
|
23
|
+
export declare function resolveFeatureKeyForTarget(classOrInstance: object | FeatureTargetConstructor, localId: string): {
|
|
24
|
+
featureKey: string;
|
|
25
|
+
defaultEnabled: boolean;
|
|
26
|
+
};
|
|
27
|
+
export declare function findFeatureDefaultInRegistry(featureKey: string): boolean | undefined;
|
|
28
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,MAAM,GACd,MAAM,CAkBR;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAkBA;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,MAAM,CAiBR;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAClC,eAAe,CAUjB;AAgCD,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,iBAAiB,GAC9B,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,iBAAiB,GAC9B,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,oCAAoC,CAClD,YAAY,EAAE,iBAAiB,GAC9B,qBAAqB,EAAE,CA+BzB;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,mBAAmB,GAC5B,qBAAqB,EAAE,CAQzB;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,mBAAmB,GAC5B,GAAG,CAAC,MAAM,CAAC,CA2Bb;AA8DD,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,GAAG,wBAAwB,EAClD,OAAO,EAAE,MAAM,GACd;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CA+BA;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,GAAG,SAAS,CAQrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-features",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.21",
|
|
4
4
|
"description": "Code-first feature flags and tenant-aware overrides for the SMRT framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -15,17 +15,28 @@
|
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
17
|
},
|
|
18
|
+
"./svelte": {
|
|
19
|
+
"types": "./dist/svelte/index.d.ts",
|
|
20
|
+
"svelte": "./dist/svelte/index.js",
|
|
21
|
+
"import": "./dist/svelte/index.js"
|
|
22
|
+
},
|
|
18
23
|
"./manifest": "./dist/manifest.json",
|
|
19
24
|
"./manifest.json": "./dist/manifest.json"
|
|
20
25
|
},
|
|
21
26
|
"dependencies": {
|
|
22
|
-
"@happyvertical/smrt-core": "0.51.
|
|
27
|
+
"@happyvertical/smrt-core": "0.51.21",
|
|
28
|
+
"@happyvertical/smrt-ui": "0.51.21"
|
|
23
29
|
},
|
|
24
30
|
"devDependencies": {
|
|
25
|
-
"@happyvertical/smrt-cli": "0.51.
|
|
26
|
-
"@happyvertical/smrt-users": "0.51.
|
|
27
|
-
"@happyvertical/smrt-vitest": "0.51.
|
|
31
|
+
"@happyvertical/smrt-cli": "0.51.21",
|
|
32
|
+
"@happyvertical/smrt-users": "0.51.21",
|
|
33
|
+
"@happyvertical/smrt-vitest": "0.51.21",
|
|
34
|
+
"@sveltejs/package": "^2.5.8",
|
|
35
|
+
"@sveltejs/vite-plugin-svelte": "^7.3.0",
|
|
28
36
|
"@types/node": "24.13.6",
|
|
37
|
+
"jsdom": "^29.1.1",
|
|
38
|
+
"svelte": "^5.57.1",
|
|
39
|
+
"svelte-check": "^4.7.6",
|
|
29
40
|
"typescript": "5.9.3",
|
|
30
41
|
"vite": "8.1.4",
|
|
31
42
|
"vitest": "4.1.10"
|
|
@@ -48,14 +59,22 @@
|
|
|
48
59
|
"url": "https://github.com/happyvertical/smrt.git",
|
|
49
60
|
"directory": "packages/features"
|
|
50
61
|
},
|
|
62
|
+
"peerDependencies": {
|
|
63
|
+
"svelte": "^5.57.1"
|
|
64
|
+
},
|
|
65
|
+
"peerDependenciesMeta": {
|
|
66
|
+
"svelte": {
|
|
67
|
+
"optional": true
|
|
68
|
+
}
|
|
69
|
+
},
|
|
51
70
|
"scripts": {
|
|
52
|
-
"build": "vite build --mode library",
|
|
71
|
+
"build": "vite build --mode library && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json && node ../../scripts/prune-svelte-package-artifacts.js dist/svelte",
|
|
53
72
|
"build:watch": "vite build --mode library --watch",
|
|
54
73
|
"clean": "rm -rf dist",
|
|
55
74
|
"dev": "vite dev",
|
|
56
75
|
"test": "vitest run",
|
|
57
76
|
"test:watch": "vitest",
|
|
58
|
-
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
77
|
+
"typecheck": "tsc --noEmit -p tsconfig.json && node ../../scripts/svelte-check-a11y.mjs --tsconfig ./tsconfig.svelte.json",
|
|
59
78
|
"verify:pack": "node ../../scripts/verify-package-types-exports.js ."
|
|
60
79
|
}
|
|
61
80
|
}
|