@beignet/core 0.0.13 → 0.0.15

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 (70) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +198 -2
  3. package/dist/entitlements/index.d.ts +234 -0
  4. package/dist/entitlements/index.d.ts.map +1 -0
  5. package/dist/entitlements/index.js +172 -0
  6. package/dist/entitlements/index.js.map +1 -0
  7. package/dist/error-reporting/index.d.ts +131 -0
  8. package/dist/error-reporting/index.d.ts.map +1 -0
  9. package/dist/error-reporting/index.js +112 -0
  10. package/dist/error-reporting/index.js.map +1 -0
  11. package/dist/flags/index.d.ts +293 -0
  12. package/dist/flags/index.d.ts.map +1 -0
  13. package/dist/flags/index.js +204 -0
  14. package/dist/flags/index.js.map +1 -0
  15. package/dist/locks/index.d.ts +155 -0
  16. package/dist/locks/index.d.ts.map +1 -0
  17. package/dist/locks/index.js +248 -0
  18. package/dist/locks/index.js.map +1 -0
  19. package/dist/payments/index.d.ts +430 -0
  20. package/dist/payments/index.d.ts.map +1 -0
  21. package/dist/payments/index.js +230 -0
  22. package/dist/payments/index.js.map +1 -0
  23. package/dist/ports/index.d.ts +74 -1
  24. package/dist/ports/index.d.ts.map +1 -1
  25. package/dist/ports/index.js +38 -0
  26. package/dist/ports/index.js.map +1 -1
  27. package/dist/ports/policy.d.ts +104 -0
  28. package/dist/ports/policy.d.ts.map +1 -1
  29. package/dist/ports/policy.js +102 -7
  30. package/dist/ports/policy.js.map +1 -1
  31. package/dist/search/index.d.ts +175 -0
  32. package/dist/search/index.d.ts.map +1 -0
  33. package/dist/search/index.js +344 -0
  34. package/dist/search/index.js.map +1 -0
  35. package/dist/server/hooks/error-reporting.d.ts +79 -0
  36. package/dist/server/hooks/error-reporting.d.ts.map +1 -0
  37. package/dist/server/hooks/error-reporting.js +147 -0
  38. package/dist/server/hooks/error-reporting.js.map +1 -0
  39. package/dist/server/hooks/index.d.ts +1 -0
  40. package/dist/server/hooks/index.d.ts.map +1 -1
  41. package/dist/server/hooks/index.js +1 -0
  42. package/dist/server/hooks/index.js.map +1 -1
  43. package/dist/server/server.d.ts +5 -0
  44. package/dist/server/server.d.ts.map +1 -1
  45. package/dist/server/server.js +9 -1
  46. package/dist/server/server.js.map +1 -1
  47. package/dist/server/use-case-route.d.ts +2 -2
  48. package/dist/testing/index.d.ts +46 -1
  49. package/dist/testing/index.d.ts.map +1 -1
  50. package/dist/testing/index.js +33 -1
  51. package/dist/testing/index.js.map +1 -1
  52. package/dist/webhooks/index.d.ts +195 -0
  53. package/dist/webhooks/index.d.ts.map +1 -0
  54. package/dist/webhooks/index.js +313 -0
  55. package/dist/webhooks/index.js.map +1 -0
  56. package/package.json +29 -1
  57. package/src/entitlements/index.ts +479 -0
  58. package/src/error-reporting/index.ts +273 -0
  59. package/src/flags/index.ts +608 -0
  60. package/src/locks/index.ts +440 -0
  61. package/src/payments/index.ts +699 -0
  62. package/src/ports/index.ts +231 -0
  63. package/src/ports/policy.ts +272 -7
  64. package/src/search/index.ts +632 -0
  65. package/src/server/hooks/error-reporting.ts +249 -0
  66. package/src/server/hooks/index.ts +8 -0
  67. package/src/server/server.ts +20 -0
  68. package/src/server/use-case-route.ts +2 -2
  69. package/src/testing/index.ts +83 -1
  70. package/src/webhooks/index.ts +555 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entitlements/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @beignet/core/error-reporting
3
+ *
4
+ * Provider-neutral error reporting primitives for Beignet applications.
5
+ */
6
+ type MaybePromise<T> = T | Promise<T>;
7
+ /**
8
+ * JSON-compatible value accepted by error reporting context, tags, and extras.
9
+ */
10
+ export type ErrorReportJsonValue = null | boolean | number | string | readonly ErrorReportJsonValue[] | {
11
+ readonly [key: string]: ErrorReportJsonValue;
12
+ };
13
+ /**
14
+ * Error severity level shared by common reporting providers.
15
+ */
16
+ export type ErrorReportLevel = "fatal" | "error" | "warning" | "info" | "debug";
17
+ /**
18
+ * User or actor attached to a reported error.
19
+ */
20
+ export type ErrorReportUser = {
21
+ id?: string;
22
+ email?: string;
23
+ username?: string;
24
+ ipAddress?: string;
25
+ } & Record<string, ErrorReportJsonValue | undefined>;
26
+ /**
27
+ * Provider-neutral structured context attached to a reported error.
28
+ */
29
+ export type ErrorReportContext = Record<string, ErrorReportJsonValue | undefined>;
30
+ /**
31
+ * Tags used for searching, grouping, and alert routing.
32
+ */
33
+ export type ErrorReportTags = Record<string, string | number | boolean | null | undefined>;
34
+ /**
35
+ * Options accepted by exception and message capture calls.
36
+ */
37
+ export type ErrorReportOptions = {
38
+ level?: ErrorReportLevel;
39
+ user?: ErrorReportUser | null;
40
+ tags?: ErrorReportTags;
41
+ contexts?: Record<string, ErrorReportContext | undefined>;
42
+ extra?: Record<string, ErrorReportJsonValue | undefined>;
43
+ fingerprint?: readonly string[];
44
+ mechanism?: string;
45
+ handled?: boolean;
46
+ requestId?: string;
47
+ traceId?: string;
48
+ spanId?: string;
49
+ parentSpanId?: string;
50
+ traceparent?: string;
51
+ };
52
+ /**
53
+ * Result returned by a reporting provider after capture.
54
+ */
55
+ export type ErrorReportResult = {
56
+ id?: string;
57
+ };
58
+ /**
59
+ * Flush options accepted by providers that buffer events.
60
+ */
61
+ export type ErrorReporterFlushOptions = {
62
+ timeoutMs?: number;
63
+ };
64
+ /**
65
+ * App-facing error reporting port.
66
+ */
67
+ export type ErrorReporterPort = {
68
+ captureException(error: unknown, options?: ErrorReportOptions): Promise<ErrorReportResult>;
69
+ captureMessage(message: string, options?: ErrorReportOptions): Promise<ErrorReportResult>;
70
+ setUser(user: ErrorReportUser | null): MaybePromise<void>;
71
+ setTags(tags: ErrorReportTags): MaybePromise<void>;
72
+ setContext(name: string, context: ErrorReportContext | null): MaybePromise<void>;
73
+ flush(options?: ErrorReporterFlushOptions): Promise<boolean>;
74
+ };
75
+ /**
76
+ * Captured exception stored by `createMemoryErrorReporter(...)`.
77
+ */
78
+ export type MemoryReportedException = {
79
+ type: "exception";
80
+ error: unknown;
81
+ options?: ErrorReportOptions;
82
+ id: string;
83
+ };
84
+ /**
85
+ * Captured message stored by `createMemoryErrorReporter(...)`.
86
+ */
87
+ export type MemoryReportedMessage = {
88
+ type: "message";
89
+ message: string;
90
+ options?: ErrorReportOptions;
91
+ id: string;
92
+ };
93
+ /**
94
+ * Captured report stored by `createMemoryErrorReporter(...)`.
95
+ */
96
+ export type MemoryErrorReport = MemoryReportedException | MemoryReportedMessage;
97
+ /**
98
+ * In-memory reporter state exposed for tests.
99
+ */
100
+ export type MemoryErrorReporterPort = ErrorReporterPort & {
101
+ reports: MemoryErrorReport[];
102
+ user: ErrorReportUser | null;
103
+ tags: ErrorReportTags;
104
+ contexts: Map<string, ErrorReportContext>;
105
+ reset(): void;
106
+ };
107
+ /**
108
+ * Options accepted by `createMemoryErrorReporter(...)`.
109
+ */
110
+ export type CreateMemoryErrorReporterOptions = {
111
+ onCapture?: (report: MemoryErrorReport) => MaybePromise<void>;
112
+ };
113
+ /**
114
+ * Create a no-op reporter for apps that want to bind the port without sending
115
+ * events.
116
+ */
117
+ export declare function createNoopErrorReporter(): ErrorReporterPort;
118
+ /**
119
+ * Create an in-memory reporter for tests and local assertions.
120
+ */
121
+ export declare function createMemoryErrorReporter(options?: CreateMemoryErrorReporterOptions): MemoryErrorReporterPort;
122
+ /**
123
+ * Report an exception through any `ErrorReporterPort`.
124
+ */
125
+ export declare function reportException(reporter: ErrorReporterPort, error: unknown, options?: ErrorReportOptions): Promise<ErrorReportResult>;
126
+ /**
127
+ * Report a message through any `ErrorReporterPort`.
128
+ */
129
+ export declare function reportMessage(reporter: ErrorReporterPort, message: string, options?: ErrorReportOptions): Promise<ErrorReportResult>;
130
+ export {};
131
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/error-reporting/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @beignet/core/error-reporting
3
+ *
4
+ * Provider-neutral error reporting primitives for Beignet applications.
5
+ */
6
+ /**
7
+ * Create a no-op reporter for apps that want to bind the port without sending
8
+ * events.
9
+ */
10
+ export function createNoopErrorReporter() {
11
+ return {
12
+ async captureException() {
13
+ return {};
14
+ },
15
+ async captureMessage() {
16
+ return {};
17
+ },
18
+ setUser() { },
19
+ setTags() { },
20
+ setContext() { },
21
+ async flush() {
22
+ return true;
23
+ },
24
+ };
25
+ }
26
+ /**
27
+ * Create an in-memory reporter for tests and local assertions.
28
+ */
29
+ export function createMemoryErrorReporter(options = {}) {
30
+ let nextId = 1;
31
+ const reports = [];
32
+ const contexts = new Map();
33
+ const port = {
34
+ reports,
35
+ user: null,
36
+ tags: {},
37
+ contexts,
38
+ async captureException(error, reportOptions) {
39
+ const report = {
40
+ type: "exception",
41
+ error,
42
+ options: withAmbientState(port, reportOptions),
43
+ id: String(nextId++),
44
+ };
45
+ reports.push(report);
46
+ await options.onCapture?.(report);
47
+ return { id: report.id };
48
+ },
49
+ async captureMessage(message, reportOptions) {
50
+ const report = {
51
+ type: "message",
52
+ message,
53
+ options: withAmbientState(port, reportOptions),
54
+ id: String(nextId++),
55
+ };
56
+ reports.push(report);
57
+ await options.onCapture?.(report);
58
+ return { id: report.id };
59
+ },
60
+ setUser(user) {
61
+ port.user = user;
62
+ },
63
+ setTags(tags) {
64
+ port.tags = { ...port.tags, ...tags };
65
+ },
66
+ setContext(name, context) {
67
+ if (context === null) {
68
+ contexts.delete(name);
69
+ return;
70
+ }
71
+ contexts.set(name, context);
72
+ },
73
+ async flush() {
74
+ return true;
75
+ },
76
+ reset() {
77
+ reports.length = 0;
78
+ contexts.clear();
79
+ port.user = null;
80
+ port.tags = {};
81
+ nextId = 1;
82
+ },
83
+ };
84
+ return port;
85
+ }
86
+ /**
87
+ * Report an exception through any `ErrorReporterPort`.
88
+ */
89
+ export function reportException(reporter, error, options) {
90
+ return reporter.captureException(error, options);
91
+ }
92
+ /**
93
+ * Report a message through any `ErrorReporterPort`.
94
+ */
95
+ export function reportMessage(reporter, message, options) {
96
+ return reporter.captureMessage(message, options);
97
+ }
98
+ function withAmbientState(port, options) {
99
+ const contexts = port.contexts.size > 0 ? Object.fromEntries(port.contexts) : undefined;
100
+ const hasTags = Object.keys(port.tags).length > 0;
101
+ if (!port.user && !hasTags && !contexts)
102
+ return options;
103
+ return {
104
+ ...options,
105
+ user: options?.user ?? port.user ?? undefined,
106
+ tags: hasTags ? { ...port.tags, ...options?.tags } : options?.tags,
107
+ contexts: contexts || options?.contexts
108
+ ? { ...contexts, ...options?.contexts }
109
+ : undefined,
110
+ };
111
+ }
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error-reporting/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ /**
2
+ * @beignet/core/flags
3
+ *
4
+ * Provider-neutral feature flag primitives for Beignet applications.
5
+ */
6
+ type MaybePromise<T> = T | Promise<T>;
7
+ /**
8
+ * JSON-compatible value used by object flags and flag metadata.
9
+ */
10
+ export type FlagJsonValue = null | boolean | number | string | readonly FlagJsonValue[] | {
11
+ readonly [key: string]: FlagJsonValue;
12
+ };
13
+ /**
14
+ * Object-valued flags intentionally exclude scalar JSON values so the flag
15
+ * kind remains predictable.
16
+ */
17
+ export type FlagObjectValue = readonly FlagJsonValue[] | {
18
+ readonly [key: string]: FlagJsonValue;
19
+ };
20
+ /**
21
+ * Value kinds supported by Beignet flags.
22
+ */
23
+ export type FlagValue = boolean | string | number | FlagObjectValue;
24
+ /**
25
+ * Stable feature flag key.
26
+ */
27
+ export type FlagKey = string;
28
+ /**
29
+ * Feature flag value kind.
30
+ */
31
+ export type FlagKind = "boolean" | "string" | "number" | "object";
32
+ /**
33
+ * Subject used for provider-neutral flag targeting.
34
+ */
35
+ export type FlagSubject = {
36
+ type: string;
37
+ id: string;
38
+ };
39
+ /**
40
+ * Tenant or account used for provider-neutral flag targeting.
41
+ */
42
+ export type FlagTenant = {
43
+ id: string;
44
+ slug?: string;
45
+ };
46
+ /**
47
+ * Attribute value accepted by the provider-neutral flag context.
48
+ */
49
+ export type FlagAttributeValue = null | boolean | number | string | readonly FlagAttributeValue[] | {
50
+ readonly [key: string]: FlagAttributeValue;
51
+ };
52
+ /**
53
+ * Context supplied to flag evaluations, exposure recording, and tracking.
54
+ */
55
+ export type FlagEvaluationContext = {
56
+ /**
57
+ * Stable key used by providers for rollout bucketing and targeting.
58
+ */
59
+ targetingKey: string;
60
+ /**
61
+ * Actor, user, service, tenant, or account being targeted.
62
+ */
63
+ subject?: FlagSubject;
64
+ /**
65
+ * Tenant/account scope, when available.
66
+ */
67
+ tenant?: FlagTenant;
68
+ /**
69
+ * Provider-neutral targeting attributes. Keep private data out unless the
70
+ * selected provider and retention policy are approved for it.
71
+ */
72
+ attributes?: Record<string, FlagAttributeValue>;
73
+ /**
74
+ * Attribute keys that should be treated as private by providers and
75
+ * instrumentation.
76
+ */
77
+ privateAttributes?: readonly string[];
78
+ requestId?: string;
79
+ traceId?: string;
80
+ spanId?: string;
81
+ parentSpanId?: string;
82
+ traceparent?: string;
83
+ };
84
+ /**
85
+ * Flag definition registered through `defineFlags(...)`.
86
+ */
87
+ export type FlagDef<TValue extends FlagValue = FlagValue> = {
88
+ key: FlagKey;
89
+ kind: FlagKindForValue<TValue>;
90
+ defaultValue: TValue;
91
+ description?: string;
92
+ metadata?: Record<string, unknown>;
93
+ };
94
+ /**
95
+ * Infer the flag value type from a flag definition.
96
+ */
97
+ export type InferFlagValue<TFlag> = TFlag extends FlagDef<infer TValue> ? TValue : never;
98
+ /**
99
+ * Map a value type to its runtime flag kind.
100
+ */
101
+ export type FlagKindForValue<TValue extends FlagValue> = TValue extends boolean ? "boolean" : TValue extends string ? "string" : TValue extends number ? "number" : "object";
102
+ /**
103
+ * Options accepted when declaring a flag.
104
+ */
105
+ export type DefineFlagOptions<TValue extends FlagValue> = {
106
+ default: TValue;
107
+ description?: string;
108
+ metadata?: Record<string, unknown>;
109
+ };
110
+ /**
111
+ * Registry returned by `defineFlags(...)`.
112
+ */
113
+ export type FlagRegistry = Record<string, FlagDef>;
114
+ /**
115
+ * Reason a flag received its value.
116
+ */
117
+ export type FlagEvaluationReason = "static" | "targeting_match" | "default" | "error" | "unknown" | (string & {});
118
+ /**
119
+ * Normalized error summary for failed flag provider evaluations.
120
+ */
121
+ export type FlagEvaluationError = {
122
+ message: string;
123
+ code?: string;
124
+ };
125
+ /**
126
+ * Options accepted by flag evaluations.
127
+ */
128
+ export type FlagEvaluationOptions<TValue extends FlagValue = FlagValue> = {
129
+ context?: FlagEvaluationContext;
130
+ /**
131
+ * Override the flag declaration default for this call.
132
+ */
133
+ defaultValue?: TValue;
134
+ /**
135
+ * Explicitly record an exposure after evaluation succeeds. Plain evaluation
136
+ * does not record exposure by default.
137
+ */
138
+ expose?: boolean;
139
+ };
140
+ /**
141
+ * Normalized flag evaluation details.
142
+ */
143
+ export type FlagEvaluationDetails<TValue extends FlagValue = FlagValue> = {
144
+ key: string;
145
+ value: TValue;
146
+ defaultValue: TValue;
147
+ kind: FlagKindForValue<TValue>;
148
+ reason: FlagEvaluationReason;
149
+ defaulted: boolean;
150
+ variant?: string;
151
+ metadata?: Record<string, unknown>;
152
+ error?: FlagEvaluationError;
153
+ };
154
+ /**
155
+ * Options accepted by explicit exposure recording.
156
+ */
157
+ export type FlagExposureOptions = {
158
+ context?: FlagEvaluationContext;
159
+ value?: FlagValue;
160
+ variant?: string;
161
+ metadata?: Record<string, unknown>;
162
+ };
163
+ /**
164
+ * Options accepted by tracking calls.
165
+ */
166
+ export type FlagTrackOptions = {
167
+ context?: FlagEvaluationContext;
168
+ value?: number;
169
+ metadata?: Record<string, unknown>;
170
+ };
171
+ /**
172
+ * App-facing feature flag port.
173
+ */
174
+ export type FlagsPort = {
175
+ evaluate<TValue extends FlagValue>(flag: FlagDef<TValue>, options?: FlagEvaluationOptions<TValue>): Promise<TValue>;
176
+ details<TValue extends FlagValue>(flag: FlagDef<TValue>, options?: FlagEvaluationOptions<TValue>): Promise<FlagEvaluationDetails<TValue>>;
177
+ recordExposure<TValue extends FlagValue>(flag: FlagDef<TValue>, options?: FlagExposureOptions): Promise<void>;
178
+ track(event: string, options?: FlagTrackOptions): Promise<void>;
179
+ };
180
+ /**
181
+ * Flag evaluation observation emitted by memory/static adapters.
182
+ */
183
+ export type FlagEvaluationObservation<TValue extends FlagValue = FlagValue> = {
184
+ source: "evaluate" | "details";
185
+ flag: FlagDef<TValue>;
186
+ context?: FlagEvaluationContext;
187
+ details: FlagEvaluationDetails<TValue>;
188
+ durationMs: number;
189
+ requestId?: string;
190
+ traceId?: string;
191
+ spanId?: string;
192
+ parentSpanId?: string;
193
+ traceparent?: string;
194
+ };
195
+ /**
196
+ * Explicit flag exposure observation.
197
+ */
198
+ export type FlagExposureObservation<TValue extends FlagValue = FlagValue> = {
199
+ flag: FlagDef<TValue>;
200
+ context?: FlagEvaluationContext;
201
+ value?: FlagValue;
202
+ variant?: string;
203
+ metadata?: Record<string, unknown>;
204
+ requestId?: string;
205
+ traceId?: string;
206
+ spanId?: string;
207
+ parentSpanId?: string;
208
+ traceparent?: string;
209
+ };
210
+ /**
211
+ * Flag tracking observation.
212
+ */
213
+ export type FlagTrackObservation = {
214
+ event: string;
215
+ context?: FlagEvaluationContext;
216
+ value?: number;
217
+ metadata?: Record<string, unknown>;
218
+ requestId?: string;
219
+ traceId?: string;
220
+ spanId?: string;
221
+ parentSpanId?: string;
222
+ traceparent?: string;
223
+ };
224
+ export type FlagEvaluationObserver = (observation: FlagEvaluationObservation) => MaybePromise<void>;
225
+ export type FlagExposureObserver = (observation: FlagExposureObservation) => MaybePromise<void>;
226
+ export type FlagTrackObserver = (observation: FlagTrackObservation) => MaybePromise<void>;
227
+ /**
228
+ * Options for memory/static flag adapters.
229
+ */
230
+ export type CreateFlagsOptions = {
231
+ onEvaluation?: FlagEvaluationObserver;
232
+ onExposure?: FlagExposureObserver;
233
+ onTrack?: FlagTrackObserver;
234
+ };
235
+ /**
236
+ * Static flag values keyed by flag key.
237
+ */
238
+ export type StaticFlagValues = Record<string, FlagValue>;
239
+ /**
240
+ * Options for `createStaticFlags(...)`.
241
+ */
242
+ export type CreateStaticFlagsOptions = CreateFlagsOptions & {
243
+ values?: StaticFlagValues;
244
+ };
245
+ /**
246
+ * In-memory flags port with mutation helpers for tests and local development.
247
+ */
248
+ export type MemoryFlagsPort = FlagsPort & {
249
+ values: Map<string, FlagValue>;
250
+ set<TValue extends FlagValue>(flag: FlagDef<TValue>, value: TValue): void;
251
+ reset(flag?: FlagDef): void;
252
+ };
253
+ declare function defineBooleanFlag(key: string, options: DefineFlagOptions<boolean>): FlagDef<boolean>;
254
+ declare function defineStringFlag(key: string, options: DefineFlagOptions<string>): FlagDef<string>;
255
+ declare function defineStringFlag<const TValue extends string>(key: string, options: DefineFlagOptions<TValue>): FlagDef<TValue>;
256
+ declare function defineNumberFlag(key: string, options: DefineFlagOptions<number>): FlagDef<number>;
257
+ declare function defineNumberFlag<const TValue extends number>(key: string, options: DefineFlagOptions<TValue>): FlagDef<TValue>;
258
+ declare function defineObjectFlag<TValue extends FlagObjectValue>(key: string, options: DefineFlagOptions<TValue>): FlagDef<TValue>;
259
+ /**
260
+ * Define one feature flag declaration.
261
+ */
262
+ export declare const defineFlag: {
263
+ boolean: typeof defineBooleanFlag;
264
+ string: typeof defineStringFlag;
265
+ number: typeof defineNumberFlag;
266
+ object: typeof defineObjectFlag;
267
+ };
268
+ /**
269
+ * Define a typed registry of feature flags.
270
+ */
271
+ export declare function defineFlags<const TRegistry extends FlagRegistry>(registry: TRegistry): TRegistry;
272
+ /**
273
+ * Alias for apps that prefer to name the collection explicitly.
274
+ */
275
+ export declare const defineFlagRegistry: typeof defineFlags;
276
+ /**
277
+ * Evaluate a flag through any `FlagsPort`.
278
+ */
279
+ export declare function evaluateFlag<TValue extends FlagValue>(flags: FlagsPort, flag: FlagDef<TValue>, options?: FlagEvaluationOptions<TValue>): Promise<TValue>;
280
+ /**
281
+ * Return detailed flag evaluation information through any `FlagsPort`.
282
+ */
283
+ export declare function getFlagDetails<TValue extends FlagValue>(flags: FlagsPort, flag: FlagDef<TValue>, options?: FlagEvaluationOptions<TValue>): Promise<FlagEvaluationDetails<TValue>>;
284
+ /**
285
+ * Create static flags backed by fixed values.
286
+ */
287
+ export declare function createStaticFlags(options?: CreateStaticFlagsOptions): FlagsPort;
288
+ /**
289
+ * Create mutable in-memory flags for tests, examples, and local development.
290
+ */
291
+ export declare function createMemoryFlags(options?: CreateStaticFlagsOptions): MemoryFlagsPort;
292
+ export {};
293
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"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"}