@contractspec/lib.feature-flags 1.57.0 → 1.59.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 (53) hide show
  1. package/dist/browser/contracts/index.js +636 -0
  2. package/dist/browser/docs/feature-flags.docblock.js +71 -0
  3. package/dist/browser/docs/index.js +71 -0
  4. package/dist/browser/entities/index.js +306 -0
  5. package/dist/browser/evaluation/index.js +223 -0
  6. package/dist/browser/events.js +296 -0
  7. package/dist/browser/feature-flags.capability.js +28 -0
  8. package/dist/browser/feature-flags.feature.js +55 -0
  9. package/dist/browser/index.js +1583 -0
  10. package/dist/contracts/index.d.ts +944 -950
  11. package/dist/contracts/index.d.ts.map +1 -1
  12. package/dist/contracts/index.js +635 -906
  13. package/dist/docs/feature-flags.docblock.d.ts +2 -1
  14. package/dist/docs/feature-flags.docblock.d.ts.map +1 -0
  15. package/dist/docs/feature-flags.docblock.js +18 -22
  16. package/dist/docs/index.d.ts +2 -1
  17. package/dist/docs/index.d.ts.map +1 -0
  18. package/dist/docs/index.js +72 -1
  19. package/dist/entities/index.d.ts +159 -164
  20. package/dist/entities/index.d.ts.map +1 -1
  21. package/dist/entities/index.js +297 -315
  22. package/dist/evaluation/index.d.ts +119 -122
  23. package/dist/evaluation/index.d.ts.map +1 -1
  24. package/dist/evaluation/index.js +215 -212
  25. package/dist/events.d.ts +480 -486
  26. package/dist/events.d.ts.map +1 -1
  27. package/dist/events.js +272 -511
  28. package/dist/feature-flags.capability.d.ts +2 -7
  29. package/dist/feature-flags.capability.d.ts.map +1 -1
  30. package/dist/feature-flags.capability.js +29 -25
  31. package/dist/feature-flags.feature.d.ts +1 -6
  32. package/dist/feature-flags.feature.d.ts.map +1 -1
  33. package/dist/feature-flags.feature.js +54 -146
  34. package/dist/index.d.ts +7 -6
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +1584 -8
  37. package/dist/node/contracts/index.js +636 -0
  38. package/dist/node/docs/feature-flags.docblock.js +71 -0
  39. package/dist/node/docs/index.js +71 -0
  40. package/dist/node/entities/index.js +306 -0
  41. package/dist/node/evaluation/index.js +223 -0
  42. package/dist/node/events.js +296 -0
  43. package/dist/node/feature-flags.capability.js +28 -0
  44. package/dist/node/feature-flags.feature.js +55 -0
  45. package/dist/node/index.js +1583 -0
  46. package/package.json +117 -30
  47. package/dist/contracts/index.js.map +0 -1
  48. package/dist/docs/feature-flags.docblock.js.map +0 -1
  49. package/dist/entities/index.js.map +0 -1
  50. package/dist/evaluation/index.js.map +0 -1
  51. package/dist/events.js.map +0 -1
  52. package/dist/feature-flags.capability.js.map +0 -1
  53. package/dist/feature-flags.feature.js.map +0 -1
@@ -1,8 +1,3 @@
1
- import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
-
3
- //#region src/feature-flags.capability.d.ts
4
- declare const FeatureFlagsCapability: _contractspec_lib_contracts0.CapabilitySpec;
5
- declare const ExperimentsCapability: _contractspec_lib_contracts0.CapabilitySpec;
6
- //#endregion
7
- export { ExperimentsCapability, FeatureFlagsCapability };
1
+ export declare const FeatureFlagsCapability: import("@contractspec/lib.contracts").CapabilitySpec;
2
+ export declare const ExperimentsCapability: import("@contractspec/lib.contracts").CapabilitySpec;
8
3
  //# sourceMappingURL=feature-flags.capability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.capability.d.ts","names":[],"sources":["../src/feature-flags.capability.ts"],"mappings":";;;cAEa,sBAAA,EAUX,4BAAA,CAViC,cAAA;AAAA,cAYtB,qBAAA,EAUX,4BAAA,CAVgC,cAAA"}
1
+ {"version":3,"file":"feature-flags.capability.d.ts","sourceRoot":"","sources":["../src/feature-flags.capability.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,sDAUjC,CAAC;AAEH,eAAO,MAAM,qBAAqB,sDAUhC,CAAC"}
@@ -1,25 +1,29 @@
1
- import { StabilityEnum, defineCapability } from "@contractspec/lib.contracts";
2
-
3
- //#region src/feature-flags.capability.ts
4
- const FeatureFlagsCapability = defineCapability({ meta: {
5
- key: "feature-flag",
6
- version: "1.0.0",
7
- kind: "api",
8
- stability: StabilityEnum.Experimental,
9
- description: "Feature flag management and evaluation",
10
- owners: ["@platform.featureflags"],
11
- tags: ["feature-flags", "configuration"]
12
- } });
13
- const ExperimentsCapability = defineCapability({ meta: {
14
- key: "experiments",
15
- version: "1.0.0",
16
- kind: "api",
17
- stability: StabilityEnum.Experimental,
18
- description: "A/B testing and experimentation platform",
19
- owners: ["@platform.featureflags"],
20
- tags: ["experiments", "ab-testing"]
21
- } });
22
-
23
- //#endregion
24
- export { ExperimentsCapability, FeatureFlagsCapability };
25
- //# sourceMappingURL=feature-flags.capability.js.map
1
+ // @bun
2
+ // src/feature-flags.capability.ts
3
+ import { defineCapability, StabilityEnum } from "@contractspec/lib.contracts";
4
+ var FeatureFlagsCapability = defineCapability({
5
+ meta: {
6
+ key: "feature-flag",
7
+ version: "1.0.0",
8
+ kind: "api",
9
+ stability: StabilityEnum.Experimental,
10
+ description: "Feature flag management and evaluation",
11
+ owners: ["@platform.featureflags"],
12
+ tags: ["feature-flags", "configuration"]
13
+ }
14
+ });
15
+ var ExperimentsCapability = defineCapability({
16
+ meta: {
17
+ key: "experiments",
18
+ version: "1.0.0",
19
+ kind: "api",
20
+ stability: StabilityEnum.Experimental,
21
+ description: "A/B testing and experimentation platform",
22
+ owners: ["@platform.featureflags"],
23
+ tags: ["experiments", "ab-testing"]
24
+ }
25
+ });
26
+ export {
27
+ FeatureFlagsCapability,
28
+ ExperimentsCapability
29
+ };
@@ -1,11 +1,6 @@
1
- import * as _contractspec_lib_contracts0 from "@contractspec/lib.contracts";
2
-
3
- //#region src/feature-flags.feature.d.ts
4
1
  /**
5
2
  * Feature Flags feature module that bundles flag management,
6
3
  * targeting rules, and A/B experiment capabilities.
7
4
  */
8
- declare const FeatureFlagsFeature: _contractspec_lib_contracts0.FeatureModuleSpec;
9
- //#endregion
10
- export { FeatureFlagsFeature };
5
+ export declare const FeatureFlagsFeature: import("@contractspec/lib.contracts").FeatureModuleSpec;
11
6
  //# sourceMappingURL=feature-flags.feature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feature-flags.feature.d.ts","names":[],"sources":["../src/feature-flags.feature.ts"],"mappings":";;;;;;AAWA;cAAa,mBAAA,EAoEX,4BAAA,CApE8B,iBAAA"}
1
+ {"version":3,"file":"feature-flags.feature.d.ts","sourceRoot":"","sources":["../src/feature-flags.feature.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,yDAoE9B,CAAC"}
@@ -1,148 +1,56 @@
1
+ // @bun
2
+ // src/feature-flags.feature.ts
1
3
  import { defineFeature } from "@contractspec/lib.contracts";
2
-
3
- //#region src/feature-flags.feature.ts
4
- /**
5
- * Feature Flags Feature Module Specification
6
- *
7
- * Defines the feature module for feature flag and experiment management.
8
- */
9
- /**
10
- * Feature Flags feature module that bundles flag management,
11
- * targeting rules, and A/B experiment capabilities.
12
- */
13
- const FeatureFlagsFeature = defineFeature({
14
- meta: {
15
- key: "feature-flags",
16
- version: "1.0.0",
17
- title: "Feature Flags",
18
- description: "Feature flag management with targeting rules and A/B experiments",
19
- domain: "platform",
20
- owners: ["@platform.feature-flags"],
21
- tags: [
22
- "feature-flags",
23
- "experiments",
24
- "targeting"
25
- ],
26
- stability: "stable"
27
- },
28
- operations: [
29
- {
30
- key: "flag.create",
31
- version: "1.0.0"
32
- },
33
- {
34
- key: "flag.update",
35
- version: "1.0.0"
36
- },
37
- {
38
- key: "flag.delete",
39
- version: "1.0.0"
40
- },
41
- {
42
- key: "flag.toggle",
43
- version: "1.0.0"
44
- },
45
- {
46
- key: "flag.get",
47
- version: "1.0.0"
48
- },
49
- {
50
- key: "flag.list",
51
- version: "1.0.0"
52
- },
53
- {
54
- key: "flag.evaluate",
55
- version: "1.0.0"
56
- },
57
- {
58
- key: "flag.rule.create",
59
- version: "1.0.0"
60
- },
61
- {
62
- key: "flag.rule.delete",
63
- version: "1.0.0"
64
- },
65
- {
66
- key: "experiment.create",
67
- version: "1.0.0"
68
- },
69
- {
70
- key: "experiment.start",
71
- version: "1.0.0"
72
- },
73
- {
74
- key: "experiment.stop",
75
- version: "1.0.0"
76
- },
77
- {
78
- key: "experiment.get",
79
- version: "1.0.0"
80
- }
81
- ],
82
- events: [
83
- {
84
- key: "flag.created",
85
- version: "1.0.0"
86
- },
87
- {
88
- key: "flag.updated",
89
- version: "1.0.0"
90
- },
91
- {
92
- key: "flag.deleted",
93
- version: "1.0.0"
94
- },
95
- {
96
- key: "flag.toggled",
97
- version: "1.0.0"
98
- },
99
- {
100
- key: "flag.evaluated",
101
- version: "1.0.0"
102
- },
103
- {
104
- key: "flag.rule_created",
105
- version: "1.0.0"
106
- },
107
- {
108
- key: "flag.rule_deleted",
109
- version: "1.0.0"
110
- },
111
- {
112
- key: "experiment.created",
113
- version: "1.0.0"
114
- },
115
- {
116
- key: "experiment.started",
117
- version: "1.0.0"
118
- },
119
- {
120
- key: "experiment.stopped",
121
- version: "1.0.0"
122
- },
123
- {
124
- key: "experiment.variant_assigned",
125
- version: "1.0.0"
126
- }
127
- ],
128
- presentations: [],
129
- opToPresentation: [],
130
- presentationsTargets: [],
131
- capabilities: {
132
- provides: [{
133
- key: "feature-flag",
134
- version: "1.0.0"
135
- }, {
136
- key: "experiments",
137
- version: "1.0.0"
138
- }],
139
- requires: [{
140
- key: "identity",
141
- version: "1.0.0"
142
- }]
143
- }
4
+ var FeatureFlagsFeature = defineFeature({
5
+ meta: {
6
+ key: "feature-flags",
7
+ version: "1.0.0",
8
+ title: "Feature Flags",
9
+ description: "Feature flag management with targeting rules and A/B experiments",
10
+ domain: "platform",
11
+ owners: ["@platform.feature-flags"],
12
+ tags: ["feature-flags", "experiments", "targeting"],
13
+ stability: "stable"
14
+ },
15
+ operations: [
16
+ { key: "flag.create", version: "1.0.0" },
17
+ { key: "flag.update", version: "1.0.0" },
18
+ { key: "flag.delete", version: "1.0.0" },
19
+ { key: "flag.toggle", version: "1.0.0" },
20
+ { key: "flag.get", version: "1.0.0" },
21
+ { key: "flag.list", version: "1.0.0" },
22
+ { key: "flag.evaluate", version: "1.0.0" },
23
+ { key: "flag.rule.create", version: "1.0.0" },
24
+ { key: "flag.rule.delete", version: "1.0.0" },
25
+ { key: "experiment.create", version: "1.0.0" },
26
+ { key: "experiment.start", version: "1.0.0" },
27
+ { key: "experiment.stop", version: "1.0.0" },
28
+ { key: "experiment.get", version: "1.0.0" }
29
+ ],
30
+ events: [
31
+ { key: "flag.created", version: "1.0.0" },
32
+ { key: "flag.updated", version: "1.0.0" },
33
+ { key: "flag.deleted", version: "1.0.0" },
34
+ { key: "flag.toggled", version: "1.0.0" },
35
+ { key: "flag.evaluated", version: "1.0.0" },
36
+ { key: "flag.rule_created", version: "1.0.0" },
37
+ { key: "flag.rule_deleted", version: "1.0.0" },
38
+ { key: "experiment.created", version: "1.0.0" },
39
+ { key: "experiment.started", version: "1.0.0" },
40
+ { key: "experiment.stopped", version: "1.0.0" },
41
+ { key: "experiment.variant_assigned", version: "1.0.0" }
42
+ ],
43
+ presentations: [],
44
+ opToPresentation: [],
45
+ presentationsTargets: [],
46
+ capabilities: {
47
+ provides: [
48
+ { key: "feature-flag", version: "1.0.0" },
49
+ { key: "experiments", version: "1.0.0" }
50
+ ],
51
+ requires: [{ key: "identity", version: "1.0.0" }]
52
+ }
144
53
  });
145
-
146
- //#endregion
147
- export { FeatureFlagsFeature };
148
- //# sourceMappingURL=feature-flags.feature.js.map
54
+ export {
55
+ FeatureFlagsFeature
56
+ };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { CreateExperimentContract, CreateFlagContract, CreateRuleContract, DeleteFlagContract, DeleteRuleContract, EvaluateFlagContract, EvaluationResultModel, ExperimentModel, FeatureFlagModel, GetExperimentContract, GetFlagContract, ListFlagsContract, StartExperimentContract, StopExperimentContract, TargetingRuleModel, ToggleFlagContract, UpdateFlagContract } from "./contracts/index.js";
2
- import { ExperimentAssignmentEntity, ExperimentEntity, ExperimentStatusEnum, FeatureFlagEntity, FlagEvaluationEntity, FlagStatusEnum, FlagTargetingRuleEntity, RuleOperatorEnum, featureFlagEntities, featureFlagsSchemaContribution } from "./entities/index.js";
3
- import { EvaluationContext, EvaluationLogger, EvaluationReason, EvaluationResult, Experiment, ExperimentVariant, FeatureFlag, FlagEvaluator, FlagEvaluatorOptions, FlagRepository, InMemoryFlagRepository, RuleOperator, TargetingRule, VariantConfig, evaluateRuleCondition, getSubjectId, hashToBucket } from "./evaluation/index.js";
4
- import { ExperimentCreatedEvent, ExperimentStartedEvent, ExperimentStoppedEvent, FeatureFlagEvents, FlagCreatedEvent, FlagDeletedEvent, FlagEvaluatedEvent, FlagToggledEvent, FlagUpdatedEvent, RuleCreatedEvent, RuleDeletedEvent, VariantAssignedEvent } from "./events.js";
5
- import { FeatureFlagsFeature } from "./feature-flags.feature.js";
6
- export { CreateExperimentContract, CreateFlagContract, CreateRuleContract, DeleteFlagContract, DeleteRuleContract, EvaluateFlagContract, EvaluationContext, EvaluationLogger, EvaluationReason, EvaluationResult, EvaluationResultModel, Experiment, ExperimentAssignmentEntity, ExperimentCreatedEvent, ExperimentEntity, ExperimentModel, ExperimentStartedEvent, ExperimentStatusEnum, ExperimentStoppedEvent, ExperimentVariant, FeatureFlag, FeatureFlagEntity, FeatureFlagEvents, FeatureFlagModel, FeatureFlagsFeature, FlagCreatedEvent, FlagDeletedEvent, FlagEvaluatedEvent, FlagEvaluationEntity, FlagEvaluator, FlagEvaluatorOptions, FlagRepository, FlagStatusEnum, FlagTargetingRuleEntity, FlagToggledEvent, FlagUpdatedEvent, GetExperimentContract, GetFlagContract, InMemoryFlagRepository, ListFlagsContract, RuleCreatedEvent, RuleDeletedEvent, RuleOperator, RuleOperatorEnum, StartExperimentContract, StopExperimentContract, TargetingRule, TargetingRuleModel, ToggleFlagContract, UpdateFlagContract, VariantAssignedEvent, VariantConfig, evaluateRuleCondition, featureFlagEntities, featureFlagsSchemaContribution, getSubjectId, hashToBucket };
1
+ export * from './entities';
2
+ export * from './contracts';
3
+ export * from './events';
4
+ export * from './evaluation';
5
+ export * from './feature-flags.feature';
6
+ import './docs';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC;AAG7B,cAAc,yBAAyB,CAAC;AAGxC,OAAO,QAAQ,CAAC"}