@lssm/lib.feature-flags 0.0.0-canary-20251206160926

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 (114) hide show
  1. package/README.md +159 -0
  2. package/dist/contracts/dist/capabilities/openbanking.js +1 -0
  3. package/dist/contracts/dist/client/index.js +1 -0
  4. package/dist/contracts/dist/client/react/feature-render.js +1 -0
  5. package/dist/contracts/dist/client/react/form-render.js +1 -0
  6. package/dist/contracts/dist/client/react/index.js +1 -0
  7. package/dist/contracts/dist/events.js +1 -0
  8. package/dist/contracts/dist/experiments/evaluator.js +1 -0
  9. package/dist/contracts/dist/graphql-federation/dist/index.js +1 -0
  10. package/dist/contracts/dist/index.js +1 -0
  11. package/dist/contracts/dist/install.js +1 -0
  12. package/dist/contracts/dist/integrations/contracts.js +1 -0
  13. package/dist/contracts/dist/integrations/index.js +1 -0
  14. package/dist/contracts/dist/integrations/openbanking/contracts/accounts.js +1 -0
  15. package/dist/contracts/dist/integrations/openbanking/contracts/balances.js +1 -0
  16. package/dist/contracts/dist/integrations/openbanking/contracts/index.js +1 -0
  17. package/dist/contracts/dist/integrations/openbanking/contracts/transactions.js +1 -0
  18. package/dist/contracts/dist/integrations/openbanking/models.js +1 -0
  19. package/dist/contracts/dist/integrations/openbanking/telemetry.js +1 -0
  20. package/dist/contracts/dist/integrations/providers/elevenlabs.js +1 -0
  21. package/dist/contracts/dist/integrations/providers/gcs-storage.js +1 -0
  22. package/dist/contracts/dist/integrations/providers/gmail.js +1 -0
  23. package/dist/contracts/dist/integrations/providers/google-calendar.js +1 -0
  24. package/dist/contracts/dist/integrations/providers/impls/elevenlabs-voice.js +1 -0
  25. package/dist/contracts/dist/integrations/providers/impls/gcs-storage.js +1 -0
  26. package/dist/contracts/dist/integrations/providers/impls/gmail-inbound.js +1 -0
  27. package/dist/contracts/dist/integrations/providers/impls/gmail-outbound.js +1 -0
  28. package/dist/contracts/dist/integrations/providers/impls/google-calendar.js +1 -0
  29. package/dist/contracts/dist/integrations/providers/impls/index.js +1 -0
  30. package/dist/contracts/dist/integrations/providers/impls/mistral-embedding.js +1 -0
  31. package/dist/contracts/dist/integrations/providers/impls/mistral-llm.js +1 -0
  32. package/dist/contracts/dist/integrations/providers/impls/postmark-email.js +1 -0
  33. package/dist/contracts/dist/integrations/providers/impls/powens-client.js +1 -0
  34. package/dist/contracts/dist/integrations/providers/impls/powens-openbanking.js +1 -0
  35. package/dist/contracts/dist/integrations/providers/impls/provider-factory.js +1 -0
  36. package/dist/contracts/dist/integrations/providers/impls/qdrant-vector.js +1 -0
  37. package/dist/contracts/dist/integrations/providers/impls/stripe-payments.js +1 -0
  38. package/dist/contracts/dist/integrations/providers/impls/twilio-sms.js +1 -0
  39. package/dist/contracts/dist/integrations/providers/index.js +1 -0
  40. package/dist/contracts/dist/integrations/providers/mistral.js +1 -0
  41. package/dist/contracts/dist/integrations/providers/postmark.js +1 -0
  42. package/dist/contracts/dist/integrations/providers/powens.js +1 -0
  43. package/dist/contracts/dist/integrations/providers/qdrant.js +1 -0
  44. package/dist/contracts/dist/integrations/providers/stripe.js +1 -0
  45. package/dist/contracts/dist/integrations/providers/twilio-sms.js +1 -0
  46. package/dist/contracts/dist/integrations/runtime.js +1 -0
  47. package/dist/contracts/dist/integrations/secrets/env-secret-provider.js +1 -0
  48. package/dist/contracts/dist/integrations/secrets/gcp-secret-manager.js +1 -0
  49. package/dist/contracts/dist/integrations/secrets/index.js +1 -0
  50. package/dist/contracts/dist/integrations/secrets/manager.js +1 -0
  51. package/dist/contracts/dist/integrations/secrets/provider.js +1 -0
  52. package/dist/contracts/dist/jsonschema.js +1 -0
  53. package/dist/contracts/dist/knowledge/contracts.js +1 -0
  54. package/dist/contracts/dist/knowledge/index.js +1 -0
  55. package/dist/contracts/dist/knowledge/spaces/email-threads.js +1 -0
  56. package/dist/contracts/dist/knowledge/spaces/financial-docs.js +1 -0
  57. package/dist/contracts/dist/knowledge/spaces/financial-overview.js +1 -0
  58. package/dist/contracts/dist/knowledge/spaces/index.js +1 -0
  59. package/dist/contracts/dist/knowledge/spaces/product-canon.js +1 -0
  60. package/dist/contracts/dist/knowledge/spaces/support-faq.js +1 -0
  61. package/dist/contracts/dist/knowledge/spaces/uploaded-docs.js +1 -0
  62. package/dist/contracts/dist/onboarding-base.js +1 -0
  63. package/dist/contracts/dist/ownership.js +1 -0
  64. package/dist/contracts/dist/presentations.js +1 -0
  65. package/dist/contracts/dist/presentations.v2.js +1 -0
  66. package/dist/contracts/dist/prompt.js +1 -0
  67. package/dist/contracts/dist/promptRegistry.js +1 -0
  68. package/dist/contracts/dist/regenerator/index.js +1 -0
  69. package/dist/contracts/dist/regenerator/service.js +1 -0
  70. package/dist/contracts/dist/registry.js +1 -0
  71. package/dist/contracts/dist/resources.js +1 -0
  72. package/dist/contracts/dist/schema/dist/EnumType.js +1 -0
  73. package/dist/contracts/dist/schema/dist/FieldType.js +1 -0
  74. package/dist/contracts/dist/schema/dist/ScalarTypeEnum.js +1 -0
  75. package/dist/contracts/dist/schema/dist/SchemaModel.js +1 -0
  76. package/dist/contracts/dist/schema/dist/entity/defineEntity.js +1 -0
  77. package/dist/contracts/dist/schema/dist/entity/index.js +1 -0
  78. package/dist/contracts/dist/schema/dist/entity/types.js +1 -0
  79. package/dist/contracts/dist/schema/dist/index.js +1 -0
  80. package/dist/contracts/dist/server/graphql-pothos.js +1 -0
  81. package/dist/contracts/dist/server/graphql-schema-export.js +1 -0
  82. package/dist/contracts/dist/server/index.js +1 -0
  83. package/dist/contracts/dist/server/provider-mcp.js +1 -0
  84. package/dist/contracts/dist/server/rest-elysia.js +1 -0
  85. package/dist/contracts/dist/server/rest-express.js +1 -0
  86. package/dist/contracts/dist/server/rest-generic.js +1 -0
  87. package/dist/contracts/dist/server/rest-next-app.js +1 -0
  88. package/dist/contracts/dist/server/rest-next-pages.js +1 -0
  89. package/dist/contracts/dist/spec.js +1 -0
  90. package/dist/contracts/dist/telemetry/index.js +1 -0
  91. package/dist/contracts/dist/telemetry/tracker.js +1 -0
  92. package/dist/contracts/dist/tests/index.js +1 -0
  93. package/dist/contracts/dist/tests/runner.js +1 -0
  94. package/dist/contracts/dist/workflow/index.js +1 -0
  95. package/dist/contracts/dist/workflow/runner.js +1 -0
  96. package/dist/contracts/index.d.ts +1006 -0
  97. package/dist/contracts/index.js +1 -0
  98. package/dist/entities/index.d.ts +200 -0
  99. package/dist/entities/index.js +1 -0
  100. package/dist/evaluation/index.d.ts +162 -0
  101. package/dist/evaluation/index.js +1 -0
  102. package/dist/events.d.ts +624 -0
  103. package/dist/events.js +1 -0
  104. package/dist/index.d.ts +5 -0
  105. package/dist/index.js +1 -0
  106. package/dist/schema/dist/EnumType.js +1 -0
  107. package/dist/schema/dist/FieldType.js +1 -0
  108. package/dist/schema/dist/ScalarTypeEnum.js +1 -0
  109. package/dist/schema/dist/SchemaModel.js +1 -0
  110. package/dist/schema/dist/entity/defineEntity.js +1 -0
  111. package/dist/schema/dist/entity/index.js +1 -0
  112. package/dist/schema/dist/entity/types.js +1 -0
  113. package/dist/schema/dist/index.js +1 -0
  114. package/package.json +45 -0
@@ -0,0 +1,624 @@
1
+ import * as _lssm_lib_schema0 from "@lssm/lib.schema";
2
+ import * as _lssm_lib_contracts0 from "@lssm/lib.contracts";
3
+
4
+ //#region src/events.d.ts
5
+ /**
6
+ * Emitted when a feature flag is created.
7
+ */
8
+ declare const FlagCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
9
+ flagId: {
10
+ type: _lssm_lib_schema0.FieldType<string, string>;
11
+ isOptional: false;
12
+ };
13
+ key: {
14
+ type: _lssm_lib_schema0.FieldType<string, string>;
15
+ isOptional: false;
16
+ };
17
+ name: {
18
+ type: _lssm_lib_schema0.FieldType<string, string>;
19
+ isOptional: false;
20
+ };
21
+ status: {
22
+ type: _lssm_lib_schema0.FieldType<string, string>;
23
+ isOptional: false;
24
+ };
25
+ orgId: {
26
+ type: _lssm_lib_schema0.FieldType<string, string>;
27
+ isOptional: true;
28
+ };
29
+ createdBy: {
30
+ type: _lssm_lib_schema0.FieldType<string, string>;
31
+ isOptional: true;
32
+ };
33
+ createdAt: {
34
+ type: _lssm_lib_schema0.FieldType<Date, string>;
35
+ isOptional: false;
36
+ };
37
+ }>>;
38
+ /**
39
+ * Emitted when a feature flag is updated.
40
+ */
41
+ declare const FlagUpdatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
42
+ flagId: {
43
+ type: _lssm_lib_schema0.FieldType<string, string>;
44
+ isOptional: false;
45
+ };
46
+ key: {
47
+ type: _lssm_lib_schema0.FieldType<string, string>;
48
+ isOptional: false;
49
+ };
50
+ changes: {
51
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
52
+ isOptional: false;
53
+ };
54
+ updatedBy: {
55
+ type: _lssm_lib_schema0.FieldType<string, string>;
56
+ isOptional: true;
57
+ };
58
+ updatedAt: {
59
+ type: _lssm_lib_schema0.FieldType<Date, string>;
60
+ isOptional: false;
61
+ };
62
+ }>>;
63
+ /**
64
+ * Emitted when a feature flag is deleted.
65
+ */
66
+ declare const FlagDeletedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
67
+ flagId: {
68
+ type: _lssm_lib_schema0.FieldType<string, string>;
69
+ isOptional: false;
70
+ };
71
+ key: {
72
+ type: _lssm_lib_schema0.FieldType<string, string>;
73
+ isOptional: false;
74
+ };
75
+ deletedBy: {
76
+ type: _lssm_lib_schema0.FieldType<string, string>;
77
+ isOptional: true;
78
+ };
79
+ deletedAt: {
80
+ type: _lssm_lib_schema0.FieldType<Date, string>;
81
+ isOptional: false;
82
+ };
83
+ }>>;
84
+ /**
85
+ * Emitted when a feature flag status is toggled.
86
+ */
87
+ declare const FlagToggledEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
88
+ flagId: {
89
+ type: _lssm_lib_schema0.FieldType<string, string>;
90
+ isOptional: false;
91
+ };
92
+ key: {
93
+ type: _lssm_lib_schema0.FieldType<string, string>;
94
+ isOptional: false;
95
+ };
96
+ previousStatus: {
97
+ type: _lssm_lib_schema0.FieldType<string, string>;
98
+ isOptional: false;
99
+ };
100
+ newStatus: {
101
+ type: _lssm_lib_schema0.FieldType<string, string>;
102
+ isOptional: false;
103
+ };
104
+ toggledBy: {
105
+ type: _lssm_lib_schema0.FieldType<string, string>;
106
+ isOptional: true;
107
+ };
108
+ toggledAt: {
109
+ type: _lssm_lib_schema0.FieldType<Date, string>;
110
+ isOptional: false;
111
+ };
112
+ }>>;
113
+ /**
114
+ * Emitted when a targeting rule is created.
115
+ */
116
+ declare const RuleCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
117
+ ruleId: {
118
+ type: _lssm_lib_schema0.FieldType<string, string>;
119
+ isOptional: false;
120
+ };
121
+ flagId: {
122
+ type: _lssm_lib_schema0.FieldType<string, string>;
123
+ isOptional: false;
124
+ };
125
+ flagKey: {
126
+ type: _lssm_lib_schema0.FieldType<string, string>;
127
+ isOptional: false;
128
+ };
129
+ attribute: {
130
+ type: _lssm_lib_schema0.FieldType<string, string>;
131
+ isOptional: false;
132
+ };
133
+ operator: {
134
+ type: _lssm_lib_schema0.FieldType<string, string>;
135
+ isOptional: false;
136
+ };
137
+ createdAt: {
138
+ type: _lssm_lib_schema0.FieldType<Date, string>;
139
+ isOptional: false;
140
+ };
141
+ }>>;
142
+ /**
143
+ * Emitted when a targeting rule is deleted.
144
+ */
145
+ declare const RuleDeletedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
146
+ ruleId: {
147
+ type: _lssm_lib_schema0.FieldType<string, string>;
148
+ isOptional: false;
149
+ };
150
+ flagId: {
151
+ type: _lssm_lib_schema0.FieldType<string, string>;
152
+ isOptional: false;
153
+ };
154
+ flagKey: {
155
+ type: _lssm_lib_schema0.FieldType<string, string>;
156
+ isOptional: false;
157
+ };
158
+ deletedAt: {
159
+ type: _lssm_lib_schema0.FieldType<Date, string>;
160
+ isOptional: false;
161
+ };
162
+ }>>;
163
+ /**
164
+ * Emitted when an experiment is created.
165
+ */
166
+ declare const ExperimentCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
167
+ experimentId: {
168
+ type: _lssm_lib_schema0.FieldType<string, string>;
169
+ isOptional: false;
170
+ };
171
+ key: {
172
+ type: _lssm_lib_schema0.FieldType<string, string>;
173
+ isOptional: false;
174
+ };
175
+ name: {
176
+ type: _lssm_lib_schema0.FieldType<string, string>;
177
+ isOptional: false;
178
+ };
179
+ flagId: {
180
+ type: _lssm_lib_schema0.FieldType<string, string>;
181
+ isOptional: false;
182
+ };
183
+ variants: {
184
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
185
+ isOptional: false;
186
+ };
187
+ createdBy: {
188
+ type: _lssm_lib_schema0.FieldType<string, string>;
189
+ isOptional: true;
190
+ };
191
+ createdAt: {
192
+ type: _lssm_lib_schema0.FieldType<Date, string>;
193
+ isOptional: false;
194
+ };
195
+ }>>;
196
+ /**
197
+ * Emitted when an experiment starts.
198
+ */
199
+ declare const ExperimentStartedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
200
+ experimentId: {
201
+ type: _lssm_lib_schema0.FieldType<string, string>;
202
+ isOptional: false;
203
+ };
204
+ key: {
205
+ type: _lssm_lib_schema0.FieldType<string, string>;
206
+ isOptional: false;
207
+ };
208
+ flagId: {
209
+ type: _lssm_lib_schema0.FieldType<string, string>;
210
+ isOptional: false;
211
+ };
212
+ variants: {
213
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
214
+ isOptional: false;
215
+ };
216
+ audiencePercentage: {
217
+ type: _lssm_lib_schema0.FieldType<number, number>;
218
+ isOptional: false;
219
+ };
220
+ startedBy: {
221
+ type: _lssm_lib_schema0.FieldType<string, string>;
222
+ isOptional: true;
223
+ };
224
+ startedAt: {
225
+ type: _lssm_lib_schema0.FieldType<Date, string>;
226
+ isOptional: false;
227
+ };
228
+ }>>;
229
+ /**
230
+ * Emitted when an experiment stops.
231
+ */
232
+ declare const ExperimentStoppedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
233
+ experimentId: {
234
+ type: _lssm_lib_schema0.FieldType<string, string>;
235
+ isOptional: false;
236
+ };
237
+ key: {
238
+ type: _lssm_lib_schema0.FieldType<string, string>;
239
+ isOptional: false;
240
+ };
241
+ reason: {
242
+ type: _lssm_lib_schema0.FieldType<string, string>;
243
+ isOptional: false;
244
+ };
245
+ winningVariant: {
246
+ type: _lssm_lib_schema0.FieldType<string, string>;
247
+ isOptional: true;
248
+ };
249
+ stoppedBy: {
250
+ type: _lssm_lib_schema0.FieldType<string, string>;
251
+ isOptional: true;
252
+ };
253
+ stoppedAt: {
254
+ type: _lssm_lib_schema0.FieldType<Date, string>;
255
+ isOptional: false;
256
+ };
257
+ }>>;
258
+ /**
259
+ * Emitted when a flag is evaluated (for analytics).
260
+ */
261
+ declare const FlagEvaluatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
262
+ flagId: {
263
+ type: _lssm_lib_schema0.FieldType<string, string>;
264
+ isOptional: false;
265
+ };
266
+ flagKey: {
267
+ type: _lssm_lib_schema0.FieldType<string, string>;
268
+ isOptional: false;
269
+ };
270
+ subjectType: {
271
+ type: _lssm_lib_schema0.FieldType<string, string>;
272
+ isOptional: false;
273
+ };
274
+ subjectId: {
275
+ type: _lssm_lib_schema0.FieldType<string, string>;
276
+ isOptional: false;
277
+ };
278
+ result: {
279
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
280
+ isOptional: false;
281
+ };
282
+ variant: {
283
+ type: _lssm_lib_schema0.FieldType<string, string>;
284
+ isOptional: true;
285
+ };
286
+ reason: {
287
+ type: _lssm_lib_schema0.FieldType<string, string>;
288
+ isOptional: false;
289
+ };
290
+ evaluatedAt: {
291
+ type: _lssm_lib_schema0.FieldType<Date, string>;
292
+ isOptional: false;
293
+ };
294
+ }>>;
295
+ /**
296
+ * Emitted when a subject is assigned to an experiment variant.
297
+ */
298
+ declare const VariantAssignedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
299
+ experimentId: {
300
+ type: _lssm_lib_schema0.FieldType<string, string>;
301
+ isOptional: false;
302
+ };
303
+ experimentKey: {
304
+ type: _lssm_lib_schema0.FieldType<string, string>;
305
+ isOptional: false;
306
+ };
307
+ subjectType: {
308
+ type: _lssm_lib_schema0.FieldType<string, string>;
309
+ isOptional: false;
310
+ };
311
+ subjectId: {
312
+ type: _lssm_lib_schema0.FieldType<string, string>;
313
+ isOptional: false;
314
+ };
315
+ variant: {
316
+ type: _lssm_lib_schema0.FieldType<string, string>;
317
+ isOptional: false;
318
+ };
319
+ bucket: {
320
+ type: _lssm_lib_schema0.FieldType<number, number>;
321
+ isOptional: false;
322
+ };
323
+ assignedAt: {
324
+ type: _lssm_lib_schema0.FieldType<Date, string>;
325
+ isOptional: false;
326
+ };
327
+ }>>;
328
+ /**
329
+ * All feature flag events.
330
+ */
331
+ declare const FeatureFlagEvents: {
332
+ FlagCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
333
+ flagId: {
334
+ type: _lssm_lib_schema0.FieldType<string, string>;
335
+ isOptional: false;
336
+ };
337
+ key: {
338
+ type: _lssm_lib_schema0.FieldType<string, string>;
339
+ isOptional: false;
340
+ };
341
+ name: {
342
+ type: _lssm_lib_schema0.FieldType<string, string>;
343
+ isOptional: false;
344
+ };
345
+ status: {
346
+ type: _lssm_lib_schema0.FieldType<string, string>;
347
+ isOptional: false;
348
+ };
349
+ orgId: {
350
+ type: _lssm_lib_schema0.FieldType<string, string>;
351
+ isOptional: true;
352
+ };
353
+ createdBy: {
354
+ type: _lssm_lib_schema0.FieldType<string, string>;
355
+ isOptional: true;
356
+ };
357
+ createdAt: {
358
+ type: _lssm_lib_schema0.FieldType<Date, string>;
359
+ isOptional: false;
360
+ };
361
+ }>>;
362
+ FlagUpdatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
363
+ flagId: {
364
+ type: _lssm_lib_schema0.FieldType<string, string>;
365
+ isOptional: false;
366
+ };
367
+ key: {
368
+ type: _lssm_lib_schema0.FieldType<string, string>;
369
+ isOptional: false;
370
+ };
371
+ changes: {
372
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
373
+ isOptional: false;
374
+ };
375
+ updatedBy: {
376
+ type: _lssm_lib_schema0.FieldType<string, string>;
377
+ isOptional: true;
378
+ };
379
+ updatedAt: {
380
+ type: _lssm_lib_schema0.FieldType<Date, string>;
381
+ isOptional: false;
382
+ };
383
+ }>>;
384
+ FlagDeletedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
385
+ flagId: {
386
+ type: _lssm_lib_schema0.FieldType<string, string>;
387
+ isOptional: false;
388
+ };
389
+ key: {
390
+ type: _lssm_lib_schema0.FieldType<string, string>;
391
+ isOptional: false;
392
+ };
393
+ deletedBy: {
394
+ type: _lssm_lib_schema0.FieldType<string, string>;
395
+ isOptional: true;
396
+ };
397
+ deletedAt: {
398
+ type: _lssm_lib_schema0.FieldType<Date, string>;
399
+ isOptional: false;
400
+ };
401
+ }>>;
402
+ FlagToggledEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
403
+ flagId: {
404
+ type: _lssm_lib_schema0.FieldType<string, string>;
405
+ isOptional: false;
406
+ };
407
+ key: {
408
+ type: _lssm_lib_schema0.FieldType<string, string>;
409
+ isOptional: false;
410
+ };
411
+ previousStatus: {
412
+ type: _lssm_lib_schema0.FieldType<string, string>;
413
+ isOptional: false;
414
+ };
415
+ newStatus: {
416
+ type: _lssm_lib_schema0.FieldType<string, string>;
417
+ isOptional: false;
418
+ };
419
+ toggledBy: {
420
+ type: _lssm_lib_schema0.FieldType<string, string>;
421
+ isOptional: true;
422
+ };
423
+ toggledAt: {
424
+ type: _lssm_lib_schema0.FieldType<Date, string>;
425
+ isOptional: false;
426
+ };
427
+ }>>;
428
+ RuleCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
429
+ ruleId: {
430
+ type: _lssm_lib_schema0.FieldType<string, string>;
431
+ isOptional: false;
432
+ };
433
+ flagId: {
434
+ type: _lssm_lib_schema0.FieldType<string, string>;
435
+ isOptional: false;
436
+ };
437
+ flagKey: {
438
+ type: _lssm_lib_schema0.FieldType<string, string>;
439
+ isOptional: false;
440
+ };
441
+ attribute: {
442
+ type: _lssm_lib_schema0.FieldType<string, string>;
443
+ isOptional: false;
444
+ };
445
+ operator: {
446
+ type: _lssm_lib_schema0.FieldType<string, string>;
447
+ isOptional: false;
448
+ };
449
+ createdAt: {
450
+ type: _lssm_lib_schema0.FieldType<Date, string>;
451
+ isOptional: false;
452
+ };
453
+ }>>;
454
+ RuleDeletedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
455
+ ruleId: {
456
+ type: _lssm_lib_schema0.FieldType<string, string>;
457
+ isOptional: false;
458
+ };
459
+ flagId: {
460
+ type: _lssm_lib_schema0.FieldType<string, string>;
461
+ isOptional: false;
462
+ };
463
+ flagKey: {
464
+ type: _lssm_lib_schema0.FieldType<string, string>;
465
+ isOptional: false;
466
+ };
467
+ deletedAt: {
468
+ type: _lssm_lib_schema0.FieldType<Date, string>;
469
+ isOptional: false;
470
+ };
471
+ }>>;
472
+ ExperimentCreatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
473
+ experimentId: {
474
+ type: _lssm_lib_schema0.FieldType<string, string>;
475
+ isOptional: false;
476
+ };
477
+ key: {
478
+ type: _lssm_lib_schema0.FieldType<string, string>;
479
+ isOptional: false;
480
+ };
481
+ name: {
482
+ type: _lssm_lib_schema0.FieldType<string, string>;
483
+ isOptional: false;
484
+ };
485
+ flagId: {
486
+ type: _lssm_lib_schema0.FieldType<string, string>;
487
+ isOptional: false;
488
+ };
489
+ variants: {
490
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
491
+ isOptional: false;
492
+ };
493
+ createdBy: {
494
+ type: _lssm_lib_schema0.FieldType<string, string>;
495
+ isOptional: true;
496
+ };
497
+ createdAt: {
498
+ type: _lssm_lib_schema0.FieldType<Date, string>;
499
+ isOptional: false;
500
+ };
501
+ }>>;
502
+ ExperimentStartedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
503
+ experimentId: {
504
+ type: _lssm_lib_schema0.FieldType<string, string>;
505
+ isOptional: false;
506
+ };
507
+ key: {
508
+ type: _lssm_lib_schema0.FieldType<string, string>;
509
+ isOptional: false;
510
+ };
511
+ flagId: {
512
+ type: _lssm_lib_schema0.FieldType<string, string>;
513
+ isOptional: false;
514
+ };
515
+ variants: {
516
+ type: _lssm_lib_schema0.FieldType<unknown, unknown>;
517
+ isOptional: false;
518
+ };
519
+ audiencePercentage: {
520
+ type: _lssm_lib_schema0.FieldType<number, number>;
521
+ isOptional: false;
522
+ };
523
+ startedBy: {
524
+ type: _lssm_lib_schema0.FieldType<string, string>;
525
+ isOptional: true;
526
+ };
527
+ startedAt: {
528
+ type: _lssm_lib_schema0.FieldType<Date, string>;
529
+ isOptional: false;
530
+ };
531
+ }>>;
532
+ ExperimentStoppedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
533
+ experimentId: {
534
+ type: _lssm_lib_schema0.FieldType<string, string>;
535
+ isOptional: false;
536
+ };
537
+ key: {
538
+ type: _lssm_lib_schema0.FieldType<string, string>;
539
+ isOptional: false;
540
+ };
541
+ reason: {
542
+ type: _lssm_lib_schema0.FieldType<string, string>;
543
+ isOptional: false;
544
+ };
545
+ winningVariant: {
546
+ type: _lssm_lib_schema0.FieldType<string, string>;
547
+ isOptional: true;
548
+ };
549
+ stoppedBy: {
550
+ type: _lssm_lib_schema0.FieldType<string, string>;
551
+ isOptional: true;
552
+ };
553
+ stoppedAt: {
554
+ type: _lssm_lib_schema0.FieldType<Date, string>;
555
+ isOptional: false;
556
+ };
557
+ }>>;
558
+ FlagEvaluatedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
559
+ flagId: {
560
+ type: _lssm_lib_schema0.FieldType<string, string>;
561
+ isOptional: false;
562
+ };
563
+ flagKey: {
564
+ type: _lssm_lib_schema0.FieldType<string, string>;
565
+ isOptional: false;
566
+ };
567
+ subjectType: {
568
+ type: _lssm_lib_schema0.FieldType<string, string>;
569
+ isOptional: false;
570
+ };
571
+ subjectId: {
572
+ type: _lssm_lib_schema0.FieldType<string, string>;
573
+ isOptional: false;
574
+ };
575
+ result: {
576
+ type: _lssm_lib_schema0.FieldType<boolean, boolean>;
577
+ isOptional: false;
578
+ };
579
+ variant: {
580
+ type: _lssm_lib_schema0.FieldType<string, string>;
581
+ isOptional: true;
582
+ };
583
+ reason: {
584
+ type: _lssm_lib_schema0.FieldType<string, string>;
585
+ isOptional: false;
586
+ };
587
+ evaluatedAt: {
588
+ type: _lssm_lib_schema0.FieldType<Date, string>;
589
+ isOptional: false;
590
+ };
591
+ }>>;
592
+ VariantAssignedEvent: _lssm_lib_contracts0.EventSpec<_lssm_lib_schema0.SchemaModel<{
593
+ experimentId: {
594
+ type: _lssm_lib_schema0.FieldType<string, string>;
595
+ isOptional: false;
596
+ };
597
+ experimentKey: {
598
+ type: _lssm_lib_schema0.FieldType<string, string>;
599
+ isOptional: false;
600
+ };
601
+ subjectType: {
602
+ type: _lssm_lib_schema0.FieldType<string, string>;
603
+ isOptional: false;
604
+ };
605
+ subjectId: {
606
+ type: _lssm_lib_schema0.FieldType<string, string>;
607
+ isOptional: false;
608
+ };
609
+ variant: {
610
+ type: _lssm_lib_schema0.FieldType<string, string>;
611
+ isOptional: false;
612
+ };
613
+ bucket: {
614
+ type: _lssm_lib_schema0.FieldType<number, number>;
615
+ isOptional: false;
616
+ };
617
+ assignedAt: {
618
+ type: _lssm_lib_schema0.FieldType<Date, string>;
619
+ isOptional: false;
620
+ };
621
+ }>>;
622
+ };
623
+ //#endregion
624
+ export { ExperimentCreatedEvent, ExperimentStartedEvent, ExperimentStoppedEvent, FeatureFlagEvents, FlagCreatedEvent, FlagDeletedEvent, FlagEvaluatedEvent, FlagToggledEvent, FlagUpdatedEvent, RuleCreatedEvent, RuleDeletedEvent, VariantAssignedEvent };
package/dist/events.js ADDED
@@ -0,0 +1 @@
1
+ import{l as e}from"./schema/dist/ScalarTypeEnum.js";import{n as t}from"./schema/dist/SchemaModel.js";import"./schema/dist/index.js";import{e as n}from"./contracts/dist/events.js";import"./contracts/dist/index.js";const r=t({name:`FlagCreatedEventPayload`,description:`Payload when a feature flag is created`,fields:{flagId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},status:{type:e.String_unsecure(),isOptional:!1},orgId:{type:e.String_unsecure(),isOptional:!0},createdBy:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),i=t({name:`FlagUpdatedEventPayload`,description:`Payload when a feature flag is updated`,fields:{flagId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},changes:{type:e.JSON(),isOptional:!1},updatedBy:{type:e.String_unsecure(),isOptional:!0},updatedAt:{type:e.DateTime(),isOptional:!1}}}),a=t({name:`FlagDeletedEventPayload`,description:`Payload when a feature flag is deleted`,fields:{flagId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},deletedBy:{type:e.String_unsecure(),isOptional:!0},deletedAt:{type:e.DateTime(),isOptional:!1}}}),o=t({name:`FlagToggledEventPayload`,description:`Payload when a feature flag status is toggled`,fields:{flagId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},previousStatus:{type:e.String_unsecure(),isOptional:!1},newStatus:{type:e.String_unsecure(),isOptional:!1},toggledBy:{type:e.String_unsecure(),isOptional:!0},toggledAt:{type:e.DateTime(),isOptional:!1}}}),s=t({name:`RuleCreatedEventPayload`,description:`Payload when a targeting rule is created`,fields:{ruleId:{type:e.String_unsecure(),isOptional:!1},flagId:{type:e.String_unsecure(),isOptional:!1},flagKey:{type:e.String_unsecure(),isOptional:!1},attribute:{type:e.String_unsecure(),isOptional:!1},operator:{type:e.String_unsecure(),isOptional:!1},createdAt:{type:e.DateTime(),isOptional:!1}}}),c=t({name:`RuleDeletedEventPayload`,description:`Payload when a targeting rule is deleted`,fields:{ruleId:{type:e.String_unsecure(),isOptional:!1},flagId:{type:e.String_unsecure(),isOptional:!1},flagKey:{type:e.String_unsecure(),isOptional:!1},deletedAt:{type:e.DateTime(),isOptional:!1}}}),l=t({name:`ExperimentCreatedEventPayload`,description:`Payload when an experiment is created`,fields:{experimentId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},name:{type:e.String_unsecure(),isOptional:!1},flagId:{type:e.String_unsecure(),isOptional:!1},variants:{type:e.JSON(),isOptional:!1},createdBy:{type:e.String_unsecure(),isOptional:!0},createdAt:{type:e.DateTime(),isOptional:!1}}}),u=t({name:`ExperimentStartedEventPayload`,description:`Payload when an experiment starts`,fields:{experimentId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},flagId:{type:e.String_unsecure(),isOptional:!1},variants:{type:e.JSON(),isOptional:!1},audiencePercentage:{type:e.Int_unsecure(),isOptional:!1},startedBy:{type:e.String_unsecure(),isOptional:!0},startedAt:{type:e.DateTime(),isOptional:!1}}}),d=t({name:`ExperimentStoppedEventPayload`,description:`Payload when an experiment stops`,fields:{experimentId:{type:e.String_unsecure(),isOptional:!1},key:{type:e.String_unsecure(),isOptional:!1},reason:{type:e.String_unsecure(),isOptional:!1},winningVariant:{type:e.String_unsecure(),isOptional:!0},stoppedBy:{type:e.String_unsecure(),isOptional:!0},stoppedAt:{type:e.DateTime(),isOptional:!1}}}),f=t({name:`FlagEvaluatedEventPayload`,description:`Payload when a flag is evaluated (for analytics)`,fields:{flagId:{type:e.String_unsecure(),isOptional:!1},flagKey:{type:e.String_unsecure(),isOptional:!1},subjectType:{type:e.String_unsecure(),isOptional:!1},subjectId:{type:e.String_unsecure(),isOptional:!1},result:{type:e.Boolean(),isOptional:!1},variant:{type:e.String_unsecure(),isOptional:!0},reason:{type:e.String_unsecure(),isOptional:!1},evaluatedAt:{type:e.DateTime(),isOptional:!1}}}),p=t({name:`VariantAssignedEventPayload`,description:`Payload when a subject is assigned to an experiment variant`,fields:{experimentId:{type:e.String_unsecure(),isOptional:!1},experimentKey:{type:e.String_unsecure(),isOptional:!1},subjectType:{type:e.String_unsecure(),isOptional:!1},subjectId:{type:e.String_unsecure(),isOptional:!1},variant:{type:e.String_unsecure(),isOptional:!1},bucket:{type:e.Int_unsecure(),isOptional:!1},assignedAt:{type:e.DateTime(),isOptional:!1}}}),m=n({name:`flag.created`,version:1,description:`A feature flag has been created.`,payload:r}),h=n({name:`flag.updated`,version:1,description:`A feature flag has been updated.`,payload:i}),g=n({name:`flag.deleted`,version:1,description:`A feature flag has been deleted.`,payload:a}),_=n({name:`flag.toggled`,version:1,description:`A feature flag status has been toggled.`,payload:o}),v=n({name:`flag.rule_created`,version:1,description:`A targeting rule has been created.`,payload:s}),y=n({name:`flag.rule_deleted`,version:1,description:`A targeting rule has been deleted.`,payload:c}),b=n({name:`experiment.created`,version:1,description:`An experiment has been created.`,payload:l}),x=n({name:`experiment.started`,version:1,description:`An experiment has started.`,payload:u}),S=n({name:`experiment.stopped`,version:1,description:`An experiment has stopped.`,payload:d}),C=n({name:`flag.evaluated`,version:1,description:`A feature flag has been evaluated.`,payload:f}),w=n({name:`experiment.variant_assigned`,version:1,description:`A subject has been assigned to an experiment variant.`,payload:p}),T={FlagCreatedEvent:m,FlagUpdatedEvent:h,FlagDeletedEvent:g,FlagToggledEvent:_,RuleCreatedEvent:v,RuleDeletedEvent:y,ExperimentCreatedEvent:b,ExperimentStartedEvent:x,ExperimentStoppedEvent:S,FlagEvaluatedEvent:C,VariantAssignedEvent:w};export{b as ExperimentCreatedEvent,x as ExperimentStartedEvent,S as ExperimentStoppedEvent,T as FeatureFlagEvents,m as FlagCreatedEvent,g as FlagDeletedEvent,C as FlagEvaluatedEvent,_ as FlagToggledEvent,h as FlagUpdatedEvent,v as RuleCreatedEvent,y as RuleDeletedEvent,w as VariantAssignedEvent};
@@ -0,0 +1,5 @@
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
+ 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, 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 };
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ import{ExperimentCreatedEvent as e,ExperimentStartedEvent as t,ExperimentStoppedEvent as n,FeatureFlagEvents as r,FlagCreatedEvent as i,FlagDeletedEvent as a,FlagEvaluatedEvent as o,FlagToggledEvent as s,FlagUpdatedEvent as c,RuleCreatedEvent as l,RuleDeletedEvent as u,VariantAssignedEvent as d}from"./events.js";import{ExperimentAssignmentEntity as f,ExperimentEntity as p,ExperimentStatusEnum as m,FeatureFlagEntity as h,FlagEvaluationEntity as g,FlagStatusEnum as _,FlagTargetingRuleEntity as v,RuleOperatorEnum as y,featureFlagEntities as b,featureFlagsSchemaContribution as x}from"./entities/index.js";import{CreateExperimentContract as S,CreateFlagContract as C,CreateRuleContract as w,DeleteFlagContract as T,DeleteRuleContract as E,EvaluateFlagContract as D,EvaluationResultModel as O,ExperimentModel as k,FeatureFlagModel as A,GetExperimentContract as j,GetFlagContract as M,ListFlagsContract as N,StartExperimentContract as P,StopExperimentContract as F,TargetingRuleModel as I,ToggleFlagContract as L,UpdateFlagContract as R}from"./contracts/index.js";import{FlagEvaluator as z,InMemoryFlagRepository as B,evaluateRuleCondition as V,getSubjectId as H,hashToBucket as U}from"./evaluation/index.js";export{S as CreateExperimentContract,C as CreateFlagContract,w as CreateRuleContract,T as DeleteFlagContract,E as DeleteRuleContract,D as EvaluateFlagContract,O as EvaluationResultModel,f as ExperimentAssignmentEntity,e as ExperimentCreatedEvent,p as ExperimentEntity,k as ExperimentModel,t as ExperimentStartedEvent,m as ExperimentStatusEnum,n as ExperimentStoppedEvent,h as FeatureFlagEntity,r as FeatureFlagEvents,A as FeatureFlagModel,i as FlagCreatedEvent,a as FlagDeletedEvent,o as FlagEvaluatedEvent,g as FlagEvaluationEntity,z as FlagEvaluator,_ as FlagStatusEnum,v as FlagTargetingRuleEntity,s as FlagToggledEvent,c as FlagUpdatedEvent,j as GetExperimentContract,M as GetFlagContract,B as InMemoryFlagRepository,N as ListFlagsContract,l as RuleCreatedEvent,u as RuleDeletedEvent,y as RuleOperatorEnum,P as StartExperimentContract,F as StopExperimentContract,I as TargetingRuleModel,L as ToggleFlagContract,R as UpdateFlagContract,d as VariantAssignedEvent,V as evaluateRuleCondition,b as featureFlagEntities,x as featureFlagsSchemaContribution,H as getSubjectId,U as hashToBucket};
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";import"graphql";
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";import{GraphQLScalarType as t}from"graphql";var n=class extends t{zodSchema;jsonSchemaDef;constructor(e){super(e),this.zodSchema=e.zod,this.jsonSchemaDef=e.jsonSchema}getZod(){return this.zodSchema}getPothos(){return this}getJson(){return typeof this.jsonSchemaDef==`function`?this.jsonSchemaDef():this.jsonSchemaDef}getJsonSchemaDef(){return this.jsonSchemaDef}getJsonSchema(){let e=t=>{let n=typeof t==`function`?t():t;if(Array.isArray(n))return n.map(t=>e(t));if(n&&typeof n==`object`){let t={};for(let[r,i]of Object.entries(n))t[r]=e(i);return t}return n};return e(this.getJson())}};export{n};
@@ -0,0 +1 @@
1
+ import{n as e}from"./FieldType.js";import{z as t}from"zod";import{Kind as n}from"graphql";const r=/^[A-Za-z]{2}(?:-[A-Za-z0-9]{2,8})*$/,i=/^(?:UTC|[A-Za-z_]+\/[A-Za-z_]+)$/,a=/^[+]?\d[\d\s().-]{3,}$/,o=/^[A-Z]{3}$/,s=/^[A-Z]{2}$/,c=-180,l={String_unsecure:()=>new e({name:`String_unsecure`,description:`Unvalidated string scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),Int_unsecure:()=>new e({name:`Int_unsecure`,description:`Unvalidated integer scalar`,zod:t.number().int(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().int().parse(n)},serialize:e=>Math.trunc(typeof e==`number`?e:Number(e)),parseLiteral:e=>{if(e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`integer`}}),Float_unsecure:()=>new e({name:`Float_unsecure`,description:`Unvalidated float scalar`,zod:t.number(),parseValue:e=>{let n=typeof e==`number`?e:Number(e);return t.number().parse(n)},serialize:e=>Number(e),parseLiteral:e=>{if(e.kind!==n.FLOAT&&e.kind!==n.INT)throw TypeError(`Invalid literal`);return Number(e.value)},jsonSchema:{type:`number`}}),Boolean:()=>new e({name:`Boolean`,description:`Unvalidated boolean scalar`,zod:t.boolean(),parseValue:e=>t.coerce.boolean().parse(e),serialize:e=>!!e,parseLiteral:e=>{if(e.kind!==n.BOOLEAN)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`boolean`}}),ID:()=>new e({name:`ID`,description:`Unvalidated id scalar`,zod:t.string(),parseValue:e=>t.string().parse(e),serialize:e=>String(e),parseLiteral:e=>{if(e.kind!==n.STRING)throw TypeError(`Invalid literal`);return e.value},jsonSchema:{type:`string`}}),JSON:()=>new e({name:`JSON`,zod:t.any(),parseValue:e=>e,serialize:e=>e,jsonSchema:{}}),JSONObject:()=>new e({name:`JSONObject`,zod:t.record(t.string(),t.any()),parseValue:e=>t.record(t.string(),t.any()).parse(e),serialize:e=>e??{},jsonSchema:{type:`object`}}),Date:()=>new e({name:`Date`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString().split(`T`)[0]:String(e),jsonSchema:{type:`string`,format:`date`}}),DateTime:()=>new e({name:`DateTime`,zod:t.date(),parseValue:e=>e instanceof Date?e:new Date(String(e)),serialize:e=>e instanceof Date?e.toISOString():String(e),jsonSchema:{type:`string`,format:`date-time`}}),Time:()=>new e({name:`Time`,zod:t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/),parseValue:e=>t.string().regex(/^\d{2}:\d{2}(:\d{2})?$/).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:`^\\d{2}:\\d{2}(:\\d{2})?$`}}),EmailAddress:()=>new e({name:`EmailAddress`,zod:t.string().email(),parseValue:e=>t.string().email().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`email`}}),URL:()=>new e({name:`URL`,zod:t.string().url(),parseValue:e=>t.string().url().parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,format:`uri`}}),PhoneNumber:()=>new e({name:`PhoneNumber`,zod:t.string().regex(a),parseValue:e=>t.string().regex(a).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:a.source}}),NonEmptyString:()=>new e({name:`NonEmptyString`,zod:t.string().min(1),parseValue:e=>t.string().min(1).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,minLength:1}}),Locale:()=>new e({name:`Locale`,zod:t.string().regex(r),parseValue:e=>t.string().regex(r).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:r.source}}),TimeZone:()=>new e({name:`TimeZone`,zod:t.string().regex(i),parseValue:e=>t.string().regex(i).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:i.source}}),Latitude:()=>new e({name:`Latitude`,zod:t.number().min(-90).max(90),parseValue:e=>t.coerce.number().min(-90).max(90).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:-90,maximum:90}}),Longitude:()=>new e({name:`Longitude`,zod:t.number().min(c).max(180),parseValue:e=>t.coerce.number().min(c).max(180).parse(e),serialize:e=>Number(e),jsonSchema:{type:`number`,minimum:c,maximum:180}}),Currency:()=>new e({name:`Currency`,zod:t.string().regex(o),parseValue:e=>t.string().regex(o).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:o.source}}),CountryCode:()=>new e({name:`CountryCode`,zod:t.string().regex(s),parseValue:e=>t.string().regex(s).parse(e),serialize:e=>String(e),jsonSchema:{type:`string`,pattern:s.source}})};export{l};
@@ -0,0 +1 @@
1
+ import"./EnumType.js";import"./FieldType.js";import{z as e}from"zod";var t=class{constructor(e){this.config=e}getZod(){let t=Object.entries(this.config.fields).reduce((t,[n,r])=>{let i=r.type.getZod(),a=r.isArray?e.array(i):i;return t[n]=r.isOptional?a.optional():a,t},{});return e.object(t)}getPothosInput(){return this.config.name}};const n=e=>new t(e);export{n,t};
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";function t(e){return e}function n(e){return e}const r={string(e){return{kind:`scalar`,type:`String`,...e}},int(e){return{kind:`scalar`,type:`Int`,...e}},float(e){return{kind:`scalar`,type:`Float`,...e}},boolean(e){return{kind:`scalar`,type:`Boolean`,...e}},dateTime(e){return{kind:`scalar`,type:`DateTime`,...e}},json(e){return{kind:`scalar`,type:`Json`,...e}},bigInt(e){return{kind:`scalar`,type:`BigInt`,...e}},decimal(e){return{kind:`scalar`,type:`Decimal`,...e}},bytes(e){return{kind:`scalar`,type:`Bytes`,...e}},id(e){return{kind:`scalar`,type:`String`,isId:!0,default:`cuid()`,...e}},uuid(e){return{kind:`scalar`,type:`String`,isId:!0,default:`uuid()`,...e}},autoIncrement(e){return{kind:`scalar`,type:`Int`,isId:!0,default:`autoincrement()`,...e}},createdAt(e){return{kind:`scalar`,type:`DateTime`,default:`now()`,...e}},updatedAt(e){return{kind:`scalar`,type:`DateTime`,updatedAt:!0,...e}},email(t){return{kind:`scalar`,type:`String`,zod:e.email(),...t}},url(t){return{kind:`scalar`,type:`String`,zod:e.url(),...t}},enum(e,t){return{kind:`enum`,enumName:e,...t}},inlineEnum(e,t,n){return{kind:`enum`,enumName:e,values:t,...n}},hasOne(e,t){return{kind:`relation`,type:`hasOne`,target:e,...t}},hasMany(e,t){return{kind:`relation`,type:`hasMany`,target:e,...t}},belongsTo(e,t,n,r){return{kind:`relation`,type:`belongsTo`,target:e,fields:t,references:n,...r}},foreignKey(e){return{kind:`scalar`,type:`String`,...e}}},i={on(e,t){return{fields:e,...t}},unique(e,t){return{fields:e,unique:!0,...t}},compound(e,t,n){return{fields:e,sort:t,...n}}};export{i,n,r,t};
@@ -0,0 +1 @@
1
+ import{i as e,n as t,r as n,t as r}from"./defineEntity.js";import"./types.js";
@@ -0,0 +1 @@
1
+ import{z as e}from"zod";
@@ -0,0 +1 @@
1
+ import"./EnumType.js";import{n as e}from"./FieldType.js";import{l as t}from"./ScalarTypeEnum.js";import{n,t as r}from"./SchemaModel.js";import{i,n as a,r as o,t as s}from"./entity/defineEntity.js";import"./entity/index.js";