@lssm/lib.feature-flags 0.0.0-canary-20251217083314 → 0.0.0-canary-20251219202229
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/LICENSE +21 -0
- package/README.md +2 -0
- package/dist/contracts/dist/capabilities/openbanking.js +2 -1
- package/dist/contracts/dist/capabilities/openbanking.js.map +1 -0
- package/dist/contracts/dist/contract-registry/schemas.js +2 -1
- package/dist/contracts/dist/contract-registry/schemas.js.map +1 -0
- package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js +2 -1
- package/dist/contracts/dist/docs/accessibility_wcag_compliance_specs.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/index.js +2 -6
- package/dist/contracts/dist/docs/meta.docs.js +30 -0
- package/dist/contracts/dist/docs/meta.docs.js.map +1 -0
- package/dist/contracts/dist/docs/presentations.js +2 -1
- package/dist/contracts/dist/docs/presentations.js.map +1 -0
- package/dist/contracts/dist/docs/registry.js +2 -1
- package/dist/contracts/dist/docs/registry.js.map +1 -0
- package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/auth/better-auth-nextjs.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/contracts/openapi-export.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/lifecycle-stage-system.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/llm/llm-integration.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/mcp-endpoints.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/presentation-runtime.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/schema/README.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/schema/README.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/learning-events.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/learning-journeys.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/platform-admin-panel.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/project-access-teams.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/project-routing.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/sandbox-unlogged.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/team-invitations.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/workspace-ops.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/studio/workspaces.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/telemetry-ingest.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/templates/runtime.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/vscode-extension.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js +2 -1
- package/dist/contracts/dist/docs/tech/workflows/overview.docblock.js.map +1 -0
- package/dist/contracts/dist/docs/tech-contracts.docs.js +97 -0
- package/dist/contracts/dist/docs/tech-contracts.docs.js.map +1 -0
- package/dist/contracts/dist/events.js +2 -1
- package/dist/contracts/dist/events.js.map +1 -0
- package/dist/contracts/dist/index.js +2 -1
- package/dist/contracts/dist/integrations/contracts.js +65 -66
- package/dist/contracts/dist/integrations/contracts.js.map +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +31 -32
- package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js.map +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +18 -19
- package/dist/contracts/dist/integrations/openbanking/contracts/balances.js.map +1 -0
- package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +32 -33
- package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js.map +1 -0
- package/dist/contracts/dist/integrations/openbanking/models.js +60 -61
- package/dist/contracts/dist/integrations/openbanking/models.js.map +1 -0
- package/dist/contracts/dist/integrations/openbanking/telemetry.js +2 -1
- package/dist/contracts/dist/integrations/openbanking/telemetry.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/elevenlabs.js +2 -1
- package/dist/contracts/dist/integrations/providers/elevenlabs.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/gcs-storage.js +2 -1
- package/dist/contracts/dist/integrations/providers/gcs-storage.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/gmail.js +2 -1
- package/dist/contracts/dist/integrations/providers/gmail.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/google-calendar.js +2 -1
- package/dist/contracts/dist/integrations/providers/google-calendar.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/mistral.js +2 -1
- package/dist/contracts/dist/integrations/providers/mistral.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/postmark.js +2 -1
- package/dist/contracts/dist/integrations/providers/postmark.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/powens.js +2 -1
- package/dist/contracts/dist/integrations/providers/powens.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/qdrant.js +2 -1
- package/dist/contracts/dist/integrations/providers/qdrant.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/stripe.js +2 -1
- package/dist/contracts/dist/integrations/providers/stripe.js.map +1 -0
- package/dist/contracts/dist/integrations/providers/twilio-sms.js +2 -1
- package/dist/contracts/dist/integrations/providers/twilio-sms.js.map +1 -0
- package/dist/contracts/dist/knowledge/contracts.js +44 -45
- package/dist/contracts/dist/knowledge/contracts.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/email-threads.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/email-threads.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/financial-docs.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/financial-docs.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/financial-overview.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/financial-overview.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/product-canon.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/product-canon.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/support-faq.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/support-faq.js.map +1 -0
- package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +2 -1
- package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js.map +1 -0
- package/dist/contracts/dist/llm/exporters.js +2 -1
- package/dist/contracts/dist/llm/exporters.js.map +1 -0
- package/dist/contracts/dist/onboarding-base.js +22 -23
- package/dist/contracts/dist/onboarding-base.js.map +1 -0
- package/dist/contracts/dist/ownership.js +4 -2
- package/dist/contracts/dist/ownership.js.map +1 -0
- package/dist/contracts/dist/presentations.v2.js +2 -1
- package/dist/contracts/dist/presentations.v2.js.map +1 -0
- package/dist/contracts/dist/regenerator/service.js +2 -1
- package/dist/contracts/dist/regenerator/service.js.map +1 -0
- package/dist/contracts/dist/schema/dist/index.js +3873 -6
- package/dist/contracts/dist/schema/dist/index.js.map +1 -0
- package/dist/contracts/dist/spec.js +2 -1
- package/dist/contracts/dist/spec.js.map +1 -0
- package/dist/contracts/index.d.ts +2 -1
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +117 -118
- package/dist/contracts/index.js.map +1 -0
- package/dist/docs/feature-flags.docblock.js +2 -1
- package/dist/docs/feature-flags.docblock.js.map +1 -0
- package/dist/entities/index.d.ts +2 -1
- package/dist/entities/index.d.ts.map +1 -0
- package/dist/entities/index.js +93 -93
- package/dist/entities/index.js.map +1 -0
- package/dist/evaluation/index.d.ts +2 -1
- package/dist/evaluation/index.d.ts.map +1 -0
- package/dist/evaluation/index.js +2 -1
- package/dist/evaluation/index.js.map +1 -0
- package/dist/events.d.ts +2 -1
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +81 -82
- package/dist/events.js.map +1 -0
- package/dist/feature-flags.feature.d.ts +2 -1
- package/dist/feature-flags.feature.d.ts.map +1 -0
- package/dist/feature-flags.feature.js +2 -1
- package/dist/feature-flags.feature.js.map +1 -0
- package/dist/schema/dist/index.js +4889 -6
- package/dist/schema/dist/index.js.map +1 -0
- package/package.json +7 -6
- package/dist/contracts/dist/docs/PUBLISHING.docblock.js +0 -16
- package/dist/contracts/dist/docs/tech/PHASE_1_QUICKSTART.docblock.js +0 -16
- package/dist/contracts/dist/docs/tech/PHASE_2_AI_NATIVE_OPERATIONS.docblock.js +0 -16
- package/dist/contracts/dist/docs/tech/PHASE_3_AUTO_EVOLUTION.docblock.js +0 -16
- package/dist/contracts/dist/docs/tech/PHASE_4_PERSONALIZATION_ENGINE.docblock.js +0 -16
- package/dist/contracts/dist/docs/tech/PHASE_5_ZERO_TOUCH_OPERATIONS.docblock.js +0 -16
- package/dist/contracts/dist/schema/dist/EnumType.js +0 -2
- package/dist/contracts/dist/schema/dist/FieldType.js +0 -49
- package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/contracts/dist/schema/dist/SchemaModel.js +0 -34
- package/dist/contracts/dist/schema/dist/entity/defineEntity.js +0 -1
- package/dist/contracts/dist/schema/dist/entity/index.js +0 -2
- package/dist/contracts/dist/schema/dist/entity/types.js +0 -1
- package/dist/schema/dist/EnumType.js +0 -2
- package/dist/schema/dist/FieldType.js +0 -49
- package/dist/schema/dist/ScalarTypeEnum.js +0 -236
- package/dist/schema/dist/SchemaModel.js +0 -39
- package/dist/schema/dist/entity/defineEntity.js +0 -236
- package/dist/schema/dist/entity/index.js +0 -2
- package/dist/schema/dist/entity/types.js +0 -1
package/dist/events.js
CHANGED
|
@@ -1,340 +1,338 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { defineSchemaModel } from "./schema/dist/SchemaModel.js";
|
|
3
|
-
import "./schema/dist/index.js";
|
|
1
|
+
import { E5, K5 } from "./schema/dist/index.js";
|
|
4
2
|
import { defineEvent } from "./contracts/dist/events.js";
|
|
5
3
|
import "./contracts/dist/index.js";
|
|
6
4
|
|
|
7
5
|
//#region src/events.ts
|
|
8
|
-
const FlagCreatedPayload =
|
|
6
|
+
const FlagCreatedPayload = K5({
|
|
9
7
|
name: "FlagCreatedEventPayload",
|
|
10
8
|
description: "Payload when a feature flag is created",
|
|
11
9
|
fields: {
|
|
12
10
|
flagId: {
|
|
13
|
-
type:
|
|
11
|
+
type: E5.String_unsecure(),
|
|
14
12
|
isOptional: false
|
|
15
13
|
},
|
|
16
14
|
key: {
|
|
17
|
-
type:
|
|
15
|
+
type: E5.String_unsecure(),
|
|
18
16
|
isOptional: false
|
|
19
17
|
},
|
|
20
18
|
name: {
|
|
21
|
-
type:
|
|
19
|
+
type: E5.String_unsecure(),
|
|
22
20
|
isOptional: false
|
|
23
21
|
},
|
|
24
22
|
status: {
|
|
25
|
-
type:
|
|
23
|
+
type: E5.String_unsecure(),
|
|
26
24
|
isOptional: false
|
|
27
25
|
},
|
|
28
26
|
orgId: {
|
|
29
|
-
type:
|
|
27
|
+
type: E5.String_unsecure(),
|
|
30
28
|
isOptional: true
|
|
31
29
|
},
|
|
32
30
|
createdBy: {
|
|
33
|
-
type:
|
|
31
|
+
type: E5.String_unsecure(),
|
|
34
32
|
isOptional: true
|
|
35
33
|
},
|
|
36
34
|
createdAt: {
|
|
37
|
-
type:
|
|
35
|
+
type: E5.DateTime(),
|
|
38
36
|
isOptional: false
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
39
|
});
|
|
42
|
-
const FlagUpdatedPayload =
|
|
40
|
+
const FlagUpdatedPayload = K5({
|
|
43
41
|
name: "FlagUpdatedEventPayload",
|
|
44
42
|
description: "Payload when a feature flag is updated",
|
|
45
43
|
fields: {
|
|
46
44
|
flagId: {
|
|
47
|
-
type:
|
|
45
|
+
type: E5.String_unsecure(),
|
|
48
46
|
isOptional: false
|
|
49
47
|
},
|
|
50
48
|
key: {
|
|
51
|
-
type:
|
|
49
|
+
type: E5.String_unsecure(),
|
|
52
50
|
isOptional: false
|
|
53
51
|
},
|
|
54
52
|
changes: {
|
|
55
|
-
type:
|
|
53
|
+
type: E5.JSON(),
|
|
56
54
|
isOptional: false
|
|
57
55
|
},
|
|
58
56
|
updatedBy: {
|
|
59
|
-
type:
|
|
57
|
+
type: E5.String_unsecure(),
|
|
60
58
|
isOptional: true
|
|
61
59
|
},
|
|
62
60
|
updatedAt: {
|
|
63
|
-
type:
|
|
61
|
+
type: E5.DateTime(),
|
|
64
62
|
isOptional: false
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
65
|
});
|
|
68
|
-
const FlagDeletedPayload =
|
|
66
|
+
const FlagDeletedPayload = K5({
|
|
69
67
|
name: "FlagDeletedEventPayload",
|
|
70
68
|
description: "Payload when a feature flag is deleted",
|
|
71
69
|
fields: {
|
|
72
70
|
flagId: {
|
|
73
|
-
type:
|
|
71
|
+
type: E5.String_unsecure(),
|
|
74
72
|
isOptional: false
|
|
75
73
|
},
|
|
76
74
|
key: {
|
|
77
|
-
type:
|
|
75
|
+
type: E5.String_unsecure(),
|
|
78
76
|
isOptional: false
|
|
79
77
|
},
|
|
80
78
|
deletedBy: {
|
|
81
|
-
type:
|
|
79
|
+
type: E5.String_unsecure(),
|
|
82
80
|
isOptional: true
|
|
83
81
|
},
|
|
84
82
|
deletedAt: {
|
|
85
|
-
type:
|
|
83
|
+
type: E5.DateTime(),
|
|
86
84
|
isOptional: false
|
|
87
85
|
}
|
|
88
86
|
}
|
|
89
87
|
});
|
|
90
|
-
const FlagToggledPayload =
|
|
88
|
+
const FlagToggledPayload = K5({
|
|
91
89
|
name: "FlagToggledEventPayload",
|
|
92
90
|
description: "Payload when a feature flag status is toggled",
|
|
93
91
|
fields: {
|
|
94
92
|
flagId: {
|
|
95
|
-
type:
|
|
93
|
+
type: E5.String_unsecure(),
|
|
96
94
|
isOptional: false
|
|
97
95
|
},
|
|
98
96
|
key: {
|
|
99
|
-
type:
|
|
97
|
+
type: E5.String_unsecure(),
|
|
100
98
|
isOptional: false
|
|
101
99
|
},
|
|
102
100
|
previousStatus: {
|
|
103
|
-
type:
|
|
101
|
+
type: E5.String_unsecure(),
|
|
104
102
|
isOptional: false
|
|
105
103
|
},
|
|
106
104
|
newStatus: {
|
|
107
|
-
type:
|
|
105
|
+
type: E5.String_unsecure(),
|
|
108
106
|
isOptional: false
|
|
109
107
|
},
|
|
110
108
|
toggledBy: {
|
|
111
|
-
type:
|
|
109
|
+
type: E5.String_unsecure(),
|
|
112
110
|
isOptional: true
|
|
113
111
|
},
|
|
114
112
|
toggledAt: {
|
|
115
|
-
type:
|
|
113
|
+
type: E5.DateTime(),
|
|
116
114
|
isOptional: false
|
|
117
115
|
}
|
|
118
116
|
}
|
|
119
117
|
});
|
|
120
|
-
const RuleCreatedPayload =
|
|
118
|
+
const RuleCreatedPayload = K5({
|
|
121
119
|
name: "RuleCreatedEventPayload",
|
|
122
120
|
description: "Payload when a targeting rule is created",
|
|
123
121
|
fields: {
|
|
124
122
|
ruleId: {
|
|
125
|
-
type:
|
|
123
|
+
type: E5.String_unsecure(),
|
|
126
124
|
isOptional: false
|
|
127
125
|
},
|
|
128
126
|
flagId: {
|
|
129
|
-
type:
|
|
127
|
+
type: E5.String_unsecure(),
|
|
130
128
|
isOptional: false
|
|
131
129
|
},
|
|
132
130
|
flagKey: {
|
|
133
|
-
type:
|
|
131
|
+
type: E5.String_unsecure(),
|
|
134
132
|
isOptional: false
|
|
135
133
|
},
|
|
136
134
|
attribute: {
|
|
137
|
-
type:
|
|
135
|
+
type: E5.String_unsecure(),
|
|
138
136
|
isOptional: false
|
|
139
137
|
},
|
|
140
138
|
operator: {
|
|
141
|
-
type:
|
|
139
|
+
type: E5.String_unsecure(),
|
|
142
140
|
isOptional: false
|
|
143
141
|
},
|
|
144
142
|
createdAt: {
|
|
145
|
-
type:
|
|
143
|
+
type: E5.DateTime(),
|
|
146
144
|
isOptional: false
|
|
147
145
|
}
|
|
148
146
|
}
|
|
149
147
|
});
|
|
150
|
-
const RuleDeletedPayload =
|
|
148
|
+
const RuleDeletedPayload = K5({
|
|
151
149
|
name: "RuleDeletedEventPayload",
|
|
152
150
|
description: "Payload when a targeting rule is deleted",
|
|
153
151
|
fields: {
|
|
154
152
|
ruleId: {
|
|
155
|
-
type:
|
|
153
|
+
type: E5.String_unsecure(),
|
|
156
154
|
isOptional: false
|
|
157
155
|
},
|
|
158
156
|
flagId: {
|
|
159
|
-
type:
|
|
157
|
+
type: E5.String_unsecure(),
|
|
160
158
|
isOptional: false
|
|
161
159
|
},
|
|
162
160
|
flagKey: {
|
|
163
|
-
type:
|
|
161
|
+
type: E5.String_unsecure(),
|
|
164
162
|
isOptional: false
|
|
165
163
|
},
|
|
166
164
|
deletedAt: {
|
|
167
|
-
type:
|
|
165
|
+
type: E5.DateTime(),
|
|
168
166
|
isOptional: false
|
|
169
167
|
}
|
|
170
168
|
}
|
|
171
169
|
});
|
|
172
|
-
const ExperimentCreatedPayload =
|
|
170
|
+
const ExperimentCreatedPayload = K5({
|
|
173
171
|
name: "ExperimentCreatedEventPayload",
|
|
174
172
|
description: "Payload when an experiment is created",
|
|
175
173
|
fields: {
|
|
176
174
|
experimentId: {
|
|
177
|
-
type:
|
|
175
|
+
type: E5.String_unsecure(),
|
|
178
176
|
isOptional: false
|
|
179
177
|
},
|
|
180
178
|
key: {
|
|
181
|
-
type:
|
|
179
|
+
type: E5.String_unsecure(),
|
|
182
180
|
isOptional: false
|
|
183
181
|
},
|
|
184
182
|
name: {
|
|
185
|
-
type:
|
|
183
|
+
type: E5.String_unsecure(),
|
|
186
184
|
isOptional: false
|
|
187
185
|
},
|
|
188
186
|
flagId: {
|
|
189
|
-
type:
|
|
187
|
+
type: E5.String_unsecure(),
|
|
190
188
|
isOptional: false
|
|
191
189
|
},
|
|
192
190
|
variants: {
|
|
193
|
-
type:
|
|
191
|
+
type: E5.JSON(),
|
|
194
192
|
isOptional: false
|
|
195
193
|
},
|
|
196
194
|
createdBy: {
|
|
197
|
-
type:
|
|
195
|
+
type: E5.String_unsecure(),
|
|
198
196
|
isOptional: true
|
|
199
197
|
},
|
|
200
198
|
createdAt: {
|
|
201
|
-
type:
|
|
199
|
+
type: E5.DateTime(),
|
|
202
200
|
isOptional: false
|
|
203
201
|
}
|
|
204
202
|
}
|
|
205
203
|
});
|
|
206
|
-
const ExperimentStartedPayload =
|
|
204
|
+
const ExperimentStartedPayload = K5({
|
|
207
205
|
name: "ExperimentStartedEventPayload",
|
|
208
206
|
description: "Payload when an experiment starts",
|
|
209
207
|
fields: {
|
|
210
208
|
experimentId: {
|
|
211
|
-
type:
|
|
209
|
+
type: E5.String_unsecure(),
|
|
212
210
|
isOptional: false
|
|
213
211
|
},
|
|
214
212
|
key: {
|
|
215
|
-
type:
|
|
213
|
+
type: E5.String_unsecure(),
|
|
216
214
|
isOptional: false
|
|
217
215
|
},
|
|
218
216
|
flagId: {
|
|
219
|
-
type:
|
|
217
|
+
type: E5.String_unsecure(),
|
|
220
218
|
isOptional: false
|
|
221
219
|
},
|
|
222
220
|
variants: {
|
|
223
|
-
type:
|
|
221
|
+
type: E5.JSON(),
|
|
224
222
|
isOptional: false
|
|
225
223
|
},
|
|
226
224
|
audiencePercentage: {
|
|
227
|
-
type:
|
|
225
|
+
type: E5.Int_unsecure(),
|
|
228
226
|
isOptional: false
|
|
229
227
|
},
|
|
230
228
|
startedBy: {
|
|
231
|
-
type:
|
|
229
|
+
type: E5.String_unsecure(),
|
|
232
230
|
isOptional: true
|
|
233
231
|
},
|
|
234
232
|
startedAt: {
|
|
235
|
-
type:
|
|
233
|
+
type: E5.DateTime(),
|
|
236
234
|
isOptional: false
|
|
237
235
|
}
|
|
238
236
|
}
|
|
239
237
|
});
|
|
240
|
-
const ExperimentStoppedPayload =
|
|
238
|
+
const ExperimentStoppedPayload = K5({
|
|
241
239
|
name: "ExperimentStoppedEventPayload",
|
|
242
240
|
description: "Payload when an experiment stops",
|
|
243
241
|
fields: {
|
|
244
242
|
experimentId: {
|
|
245
|
-
type:
|
|
243
|
+
type: E5.String_unsecure(),
|
|
246
244
|
isOptional: false
|
|
247
245
|
},
|
|
248
246
|
key: {
|
|
249
|
-
type:
|
|
247
|
+
type: E5.String_unsecure(),
|
|
250
248
|
isOptional: false
|
|
251
249
|
},
|
|
252
250
|
reason: {
|
|
253
|
-
type:
|
|
251
|
+
type: E5.String_unsecure(),
|
|
254
252
|
isOptional: false
|
|
255
253
|
},
|
|
256
254
|
winningVariant: {
|
|
257
|
-
type:
|
|
255
|
+
type: E5.String_unsecure(),
|
|
258
256
|
isOptional: true
|
|
259
257
|
},
|
|
260
258
|
stoppedBy: {
|
|
261
|
-
type:
|
|
259
|
+
type: E5.String_unsecure(),
|
|
262
260
|
isOptional: true
|
|
263
261
|
},
|
|
264
262
|
stoppedAt: {
|
|
265
|
-
type:
|
|
263
|
+
type: E5.DateTime(),
|
|
266
264
|
isOptional: false
|
|
267
265
|
}
|
|
268
266
|
}
|
|
269
267
|
});
|
|
270
|
-
const FlagEvaluatedPayload =
|
|
268
|
+
const FlagEvaluatedPayload = K5({
|
|
271
269
|
name: "FlagEvaluatedEventPayload",
|
|
272
270
|
description: "Payload when a flag is evaluated (for analytics)",
|
|
273
271
|
fields: {
|
|
274
272
|
flagId: {
|
|
275
|
-
type:
|
|
273
|
+
type: E5.String_unsecure(),
|
|
276
274
|
isOptional: false
|
|
277
275
|
},
|
|
278
276
|
flagKey: {
|
|
279
|
-
type:
|
|
277
|
+
type: E5.String_unsecure(),
|
|
280
278
|
isOptional: false
|
|
281
279
|
},
|
|
282
280
|
subjectType: {
|
|
283
|
-
type:
|
|
281
|
+
type: E5.String_unsecure(),
|
|
284
282
|
isOptional: false
|
|
285
283
|
},
|
|
286
284
|
subjectId: {
|
|
287
|
-
type:
|
|
285
|
+
type: E5.String_unsecure(),
|
|
288
286
|
isOptional: false
|
|
289
287
|
},
|
|
290
288
|
result: {
|
|
291
|
-
type:
|
|
289
|
+
type: E5.Boolean(),
|
|
292
290
|
isOptional: false
|
|
293
291
|
},
|
|
294
292
|
variant: {
|
|
295
|
-
type:
|
|
293
|
+
type: E5.String_unsecure(),
|
|
296
294
|
isOptional: true
|
|
297
295
|
},
|
|
298
296
|
reason: {
|
|
299
|
-
type:
|
|
297
|
+
type: E5.String_unsecure(),
|
|
300
298
|
isOptional: false
|
|
301
299
|
},
|
|
302
300
|
evaluatedAt: {
|
|
303
|
-
type:
|
|
301
|
+
type: E5.DateTime(),
|
|
304
302
|
isOptional: false
|
|
305
303
|
}
|
|
306
304
|
}
|
|
307
305
|
});
|
|
308
|
-
const VariantAssignedPayload =
|
|
306
|
+
const VariantAssignedPayload = K5({
|
|
309
307
|
name: "VariantAssignedEventPayload",
|
|
310
308
|
description: "Payload when a subject is assigned to an experiment variant",
|
|
311
309
|
fields: {
|
|
312
310
|
experimentId: {
|
|
313
|
-
type:
|
|
311
|
+
type: E5.String_unsecure(),
|
|
314
312
|
isOptional: false
|
|
315
313
|
},
|
|
316
314
|
experimentKey: {
|
|
317
|
-
type:
|
|
315
|
+
type: E5.String_unsecure(),
|
|
318
316
|
isOptional: false
|
|
319
317
|
},
|
|
320
318
|
subjectType: {
|
|
321
|
-
type:
|
|
319
|
+
type: E5.String_unsecure(),
|
|
322
320
|
isOptional: false
|
|
323
321
|
},
|
|
324
322
|
subjectId: {
|
|
325
|
-
type:
|
|
323
|
+
type: E5.String_unsecure(),
|
|
326
324
|
isOptional: false
|
|
327
325
|
},
|
|
328
326
|
variant: {
|
|
329
|
-
type:
|
|
327
|
+
type: E5.String_unsecure(),
|
|
330
328
|
isOptional: false
|
|
331
329
|
},
|
|
332
330
|
bucket: {
|
|
333
|
-
type:
|
|
331
|
+
type: E5.Int_unsecure(),
|
|
334
332
|
isOptional: false
|
|
335
333
|
},
|
|
336
334
|
assignedAt: {
|
|
337
|
-
type:
|
|
335
|
+
type: E5.DateTime(),
|
|
338
336
|
isOptional: false
|
|
339
337
|
}
|
|
340
338
|
}
|
|
@@ -456,4 +454,5 @@ const FeatureFlagEvents = {
|
|
|
456
454
|
};
|
|
457
455
|
|
|
458
456
|
//#endregion
|
|
459
|
-
export { ExperimentCreatedEvent, ExperimentStartedEvent, ExperimentStoppedEvent, FeatureFlagEvents, FlagCreatedEvent, FlagDeletedEvent, FlagEvaluatedEvent, FlagToggledEvent, FlagUpdatedEvent, RuleCreatedEvent, RuleDeletedEvent, VariantAssignedEvent };
|
|
457
|
+
export { ExperimentCreatedEvent, ExperimentStartedEvent, ExperimentStoppedEvent, FeatureFlagEvents, FlagCreatedEvent, FlagDeletedEvent, FlagEvaluatedEvent, FlagToggledEvent, FlagUpdatedEvent, RuleCreatedEvent, RuleDeletedEvent, VariantAssignedEvent };
|
|
458
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","names":["defineSchemaModel","ScalarTypeEnum"],"sources":["../src/events.ts"],"sourcesContent":["import { ScalarTypeEnum, defineSchemaModel } from '@lssm/lib.schema';\nimport { defineEvent } from '@lssm/lib.contracts';\n\n// ============ Event Payloads ============\n\nconst FlagCreatedPayload = defineSchemaModel({\n name: 'FlagCreatedEventPayload',\n description: 'Payload when a feature flag is created',\n fields: {\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n status: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n orgId: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n createdBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst FlagUpdatedPayload = defineSchemaModel({\n name: 'FlagUpdatedEventPayload',\n description: 'Payload when a feature flag is updated',\n fields: {\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n changes: { type: ScalarTypeEnum.JSON(), isOptional: false },\n updatedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n updatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst FlagDeletedPayload = defineSchemaModel({\n name: 'FlagDeletedEventPayload',\n description: 'Payload when a feature flag is deleted',\n fields: {\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n deletedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n deletedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst FlagToggledPayload = defineSchemaModel({\n name: 'FlagToggledEventPayload',\n description: 'Payload when a feature flag status is toggled',\n fields: {\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n previousStatus: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n newStatus: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n toggledBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n toggledAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst RuleCreatedPayload = defineSchemaModel({\n name: 'RuleCreatedEventPayload',\n description: 'Payload when a targeting rule is created',\n fields: {\n ruleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagKey: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n attribute: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n operator: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst RuleDeletedPayload = defineSchemaModel({\n name: 'RuleDeletedEventPayload',\n description: 'Payload when a targeting rule is deleted',\n fields: {\n ruleId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagKey: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n deletedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst ExperimentCreatedPayload = defineSchemaModel({\n name: 'ExperimentCreatedEventPayload',\n description: 'Payload when an experiment is created',\n fields: {\n experimentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n name: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n variants: { type: ScalarTypeEnum.JSON(), isOptional: false },\n createdBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n createdAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst ExperimentStartedPayload = defineSchemaModel({\n name: 'ExperimentStartedEventPayload',\n description: 'Payload when an experiment starts',\n fields: {\n experimentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n variants: { type: ScalarTypeEnum.JSON(), isOptional: false },\n audiencePercentage: {\n type: ScalarTypeEnum.Int_unsecure(),\n isOptional: false,\n },\n startedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n startedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst ExperimentStoppedPayload = defineSchemaModel({\n name: 'ExperimentStoppedEventPayload',\n description: 'Payload when an experiment stops',\n fields: {\n experimentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n key: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n winningVariant: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: true,\n },\n stoppedBy: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n stoppedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst FlagEvaluatedPayload = defineSchemaModel({\n name: 'FlagEvaluatedEventPayload',\n description: 'Payload when a flag is evaluated (for analytics)',\n fields: {\n flagId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n flagKey: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n subjectType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n subjectId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n result: { type: ScalarTypeEnum.Boolean(), isOptional: false },\n variant: { type: ScalarTypeEnum.String_unsecure(), isOptional: true },\n reason: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n evaluatedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\nconst VariantAssignedPayload = defineSchemaModel({\n name: 'VariantAssignedEventPayload',\n description: 'Payload when a subject is assigned to an experiment variant',\n fields: {\n experimentId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n experimentKey: {\n type: ScalarTypeEnum.String_unsecure(),\n isOptional: false,\n },\n subjectType: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n subjectId: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n variant: { type: ScalarTypeEnum.String_unsecure(), isOptional: false },\n bucket: { type: ScalarTypeEnum.Int_unsecure(), isOptional: false },\n assignedAt: { type: ScalarTypeEnum.DateTime(), isOptional: false },\n },\n});\n\n// ============ Events ============\n\n/**\n * Emitted when a feature flag is created.\n */\nexport const FlagCreatedEvent = defineEvent({\n name: 'flag.created',\n version: 1,\n description: 'A feature flag has been created.',\n payload: FlagCreatedPayload,\n});\n\n/**\n * Emitted when a feature flag is updated.\n */\nexport const FlagUpdatedEvent = defineEvent({\n name: 'flag.updated',\n version: 1,\n description: 'A feature flag has been updated.',\n payload: FlagUpdatedPayload,\n});\n\n/**\n * Emitted when a feature flag is deleted.\n */\nexport const FlagDeletedEvent = defineEvent({\n name: 'flag.deleted',\n version: 1,\n description: 'A feature flag has been deleted.',\n payload: FlagDeletedPayload,\n});\n\n/**\n * Emitted when a feature flag status is toggled.\n */\nexport const FlagToggledEvent = defineEvent({\n name: 'flag.toggled',\n version: 1,\n description: 'A feature flag status has been toggled.',\n payload: FlagToggledPayload,\n});\n\n/**\n * Emitted when a targeting rule is created.\n */\nexport const RuleCreatedEvent = defineEvent({\n name: 'flag.rule_created',\n version: 1,\n description: 'A targeting rule has been created.',\n payload: RuleCreatedPayload,\n});\n\n/**\n * Emitted when a targeting rule is deleted.\n */\nexport const RuleDeletedEvent = defineEvent({\n name: 'flag.rule_deleted',\n version: 1,\n description: 'A targeting rule has been deleted.',\n payload: RuleDeletedPayload,\n});\n\n/**\n * Emitted when an experiment is created.\n */\nexport const ExperimentCreatedEvent = defineEvent({\n name: 'experiment.created',\n version: 1,\n description: 'An experiment has been created.',\n payload: ExperimentCreatedPayload,\n});\n\n/**\n * Emitted when an experiment starts.\n */\nexport const ExperimentStartedEvent = defineEvent({\n name: 'experiment.started',\n version: 1,\n description: 'An experiment has started.',\n payload: ExperimentStartedPayload,\n});\n\n/**\n * Emitted when an experiment stops.\n */\nexport const ExperimentStoppedEvent = defineEvent({\n name: 'experiment.stopped',\n version: 1,\n description: 'An experiment has stopped.',\n payload: ExperimentStoppedPayload,\n});\n\n/**\n * Emitted when a flag is evaluated (for analytics).\n */\nexport const FlagEvaluatedEvent = defineEvent({\n name: 'flag.evaluated',\n version: 1,\n description: 'A feature flag has been evaluated.',\n payload: FlagEvaluatedPayload,\n});\n\n/**\n * Emitted when a subject is assigned to an experiment variant.\n */\nexport const VariantAssignedEvent = defineEvent({\n name: 'experiment.variant_assigned',\n version: 1,\n description: 'A subject has been assigned to an experiment variant.',\n payload: VariantAssignedPayload,\n});\n\n/**\n * All feature flag events.\n */\nexport const FeatureFlagEvents = {\n FlagCreatedEvent,\n FlagUpdatedEvent,\n FlagDeletedEvent,\n FlagToggledEvent,\n RuleCreatedEvent,\n RuleDeletedEvent,\n ExperimentCreatedEvent,\n ExperimentStartedEvent,\n ExperimentStoppedEvent,\n FlagEvaluatedEvent,\n VariantAssignedEvent,\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-flags.feature.d.ts","names":[],"sources":["../src/feature-flags.feature.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAWa,qBAAqB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-flags.feature.js","names":["FeatureFlagsFeature: FeatureModuleSpec"],"sources":["../src/feature-flags.feature.ts"],"sourcesContent":["/**\n * Feature Flags Feature Module Specification\n *\n * Defines the feature module for feature flag and experiment management.\n */\nimport type { FeatureModuleSpec } from '@lssm/lib.contracts';\n\n/**\n * Feature Flags feature module that bundles flag management,\n * targeting rules, and A/B experiment capabilities.\n */\nexport const FeatureFlagsFeature: FeatureModuleSpec = {\n meta: {\n key: 'feature-flags',\n title: 'Feature Flags',\n description:\n 'Feature flag management with targeting rules and A/B experiments',\n domain: 'platform',\n owners: ['@platform.feature-flags'],\n tags: ['feature-flags', 'experiments', 'targeting'],\n stability: 'stable',\n },\n\n // All contract operations included in this feature\n operations: [\n // Flag CRUD operations\n { name: 'flag.create', version: 1 },\n { name: 'flag.update', version: 1 },\n { name: 'flag.delete', version: 1 },\n { name: 'flag.toggle', version: 1 },\n { name: 'flag.get', version: 1 },\n { name: 'flag.list', version: 1 },\n { name: 'flag.evaluate', version: 1 },\n\n // Targeting rule operations\n { name: 'flag.rule.create', version: 1 },\n { name: 'flag.rule.delete', version: 1 },\n\n // Experiment operations\n { name: 'experiment.create', version: 1 },\n { name: 'experiment.start', version: 1 },\n { name: 'experiment.stop', version: 1 },\n { name: 'experiment.get', version: 1 },\n ],\n\n // Events emitted by this feature\n events: [\n // Flag events\n { name: 'flag.created', version: 1 },\n { name: 'flag.updated', version: 1 },\n { name: 'flag.deleted', version: 1 },\n { name: 'flag.toggled', version: 1 },\n { name: 'flag.evaluated', version: 1 },\n\n // Rule events\n { name: 'flag.rule_created', version: 1 },\n { name: 'flag.rule_deleted', version: 1 },\n\n // Experiment events\n { name: 'experiment.created', version: 1 },\n { name: 'experiment.started', version: 1 },\n { name: 'experiment.stopped', version: 1 },\n { name: 'experiment.variant_assigned', version: 1 },\n ],\n\n // No presentations for this library feature\n presentations: [],\n opToPresentation: [],\n presentationsTargets: [],\n\n // Capability definitions\n capabilities: {\n provides: [\n { key: 'feature-flags', version: 1 },\n { key: 'experiments', version: 1 },\n ],\n requires: [{ key: 'identity', version: 1 }],\n },\n};\n"],"mappings":";;;;;AAWA,MAAaA,sBAAyC;CACpD,MAAM;EACJ,KAAK;EACL,OAAO;EACP,aACE;EACF,QAAQ;EACR,QAAQ,CAAC,0BAA0B;EACnC,MAAM;GAAC;GAAiB;GAAe;GAAY;EACnD,WAAW;EACZ;CAGD,YAAY;EAEV;GAAE,MAAM;GAAe,SAAS;GAAG;EACnC;GAAE,MAAM;GAAe,SAAS;GAAG;EACnC;GAAE,MAAM;GAAe,SAAS;GAAG;EACnC;GAAE,MAAM;GAAe,SAAS;GAAG;EACnC;GAAE,MAAM;GAAY,SAAS;GAAG;EAChC;GAAE,MAAM;GAAa,SAAS;GAAG;EACjC;GAAE,MAAM;GAAiB,SAAS;GAAG;EAGrC;GAAE,MAAM;GAAoB,SAAS;GAAG;EACxC;GAAE,MAAM;GAAoB,SAAS;GAAG;EAGxC;GAAE,MAAM;GAAqB,SAAS;GAAG;EACzC;GAAE,MAAM;GAAoB,SAAS;GAAG;EACxC;GAAE,MAAM;GAAmB,SAAS;GAAG;EACvC;GAAE,MAAM;GAAkB,SAAS;GAAG;EACvC;CAGD,QAAQ;EAEN;GAAE,MAAM;GAAgB,SAAS;GAAG;EACpC;GAAE,MAAM;GAAgB,SAAS;GAAG;EACpC;GAAE,MAAM;GAAgB,SAAS;GAAG;EACpC;GAAE,MAAM;GAAgB,SAAS;GAAG;EACpC;GAAE,MAAM;GAAkB,SAAS;GAAG;EAGtC;GAAE,MAAM;GAAqB,SAAS;GAAG;EACzC;GAAE,MAAM;GAAqB,SAAS;GAAG;EAGzC;GAAE,MAAM;GAAsB,SAAS;GAAG;EAC1C;GAAE,MAAM;GAAsB,SAAS;GAAG;EAC1C;GAAE,MAAM;GAAsB,SAAS;GAAG;EAC1C;GAAE,MAAM;GAA+B,SAAS;GAAG;EACpD;CAGD,eAAe,EAAE;CACjB,kBAAkB,EAAE;CACpB,sBAAsB,EAAE;CAGxB,cAAc;EACZ,UAAU,CACR;GAAE,KAAK;GAAiB,SAAS;GAAG,EACpC;GAAE,KAAK;GAAe,SAAS;GAAG,CACnC;EACD,UAAU,CAAC;GAAE,KAAK;GAAY,SAAS;GAAG,CAAC;EAC5C;CACF"}
|