@beignet/core 0.0.30 → 0.0.32

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 (74) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +48 -2
  3. package/dist/domain/entity.d.ts +37 -6
  4. package/dist/domain/entity.d.ts.map +1 -1
  5. package/dist/domain/entity.js +9 -7
  6. package/dist/domain/entity.js.map +1 -1
  7. package/dist/domain/index.d.ts +4 -4
  8. package/dist/domain/index.d.ts.map +1 -1
  9. package/dist/domain/index.js +4 -4
  10. package/dist/domain/index.js.map +1 -1
  11. package/dist/flags/index.d.ts +5 -4
  12. package/dist/flags/index.d.ts.map +1 -1
  13. package/dist/flags/index.js +10 -9
  14. package/dist/flags/index.js.map +1 -1
  15. package/dist/idempotency/index.d.ts +11 -1
  16. package/dist/idempotency/index.d.ts.map +1 -1
  17. package/dist/idempotency/index.js +4 -3
  18. package/dist/idempotency/index.js.map +1 -1
  19. package/dist/jobs/index.d.ts +35 -6
  20. package/dist/jobs/index.d.ts.map +1 -1
  21. package/dist/jobs/index.js +82 -11
  22. package/dist/jobs/index.js.map +1 -1
  23. package/dist/memo/index.d.ts +107 -0
  24. package/dist/memo/index.d.ts.map +1 -0
  25. package/dist/memo/index.js +205 -0
  26. package/dist/memo/index.js.map +1 -0
  27. package/dist/outbox/index.d.ts +20 -2
  28. package/dist/outbox/index.d.ts.map +1 -1
  29. package/dist/outbox/index.js +23 -8
  30. package/dist/outbox/index.js.map +1 -1
  31. package/dist/ports/events.d.ts +2 -2
  32. package/dist/providers/provider.d.ts +10 -2
  33. package/dist/providers/provider.d.ts.map +1 -1
  34. package/dist/providers/provider.js.map +1 -1
  35. package/dist/search/index.d.ts +2 -1
  36. package/dist/search/index.d.ts.map +1 -1
  37. package/dist/search/index.js +1 -0
  38. package/dist/search/index.js.map +1 -1
  39. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  40. package/dist/server/providers/loadProviderConfig.js +15 -2
  41. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  42. package/dist/server/server.d.ts +1 -1
  43. package/dist/server/server.d.ts.map +1 -1
  44. package/dist/server/server.js +43 -3
  45. package/dist/server/server.js.map +1 -1
  46. package/dist/testing/index.d.ts +6 -0
  47. package/dist/testing/index.d.ts.map +1 -1
  48. package/dist/testing/index.js +12 -3
  49. package/dist/testing/index.js.map +1 -1
  50. package/dist/uploads/index.d.ts +111 -2
  51. package/dist/uploads/index.d.ts.map +1 -1
  52. package/dist/uploads/index.js +124 -61
  53. package/dist/uploads/index.js.map +1 -1
  54. package/dist/webhooks/index.d.ts +1 -0
  55. package/dist/webhooks/index.d.ts.map +1 -1
  56. package/dist/webhooks/index.js +1 -0
  57. package/dist/webhooks/index.js.map +1 -1
  58. package/package.json +5 -1
  59. package/src/domain/entity.ts +61 -13
  60. package/src/domain/index.ts +8 -7
  61. package/src/flags/index.ts +23 -19
  62. package/src/idempotency/index.ts +17 -3
  63. package/src/jobs/index.ts +131 -16
  64. package/src/memo/index.ts +310 -0
  65. package/src/outbox/index.ts +52 -8
  66. package/src/ports/events.ts +2 -2
  67. package/src/providers/provider.ts +11 -2
  68. package/src/search/index.ts +3 -1
  69. package/src/server/providers/loadProviderConfig.ts +19 -2
  70. package/src/server/server.ts +73 -18
  71. package/src/testing/index.ts +19 -3
  72. package/src/uploads/index.ts +174 -62
  73. package/src/webhooks/index.ts +2 -0
  74. package/src/domain/events.ts +0 -59
package/CHANGELOG.md CHANGED
@@ -1,5 +1,91 @@
1
1
  # @beignet/core
2
2
 
3
+ ## 0.0.32
4
+
5
+ ### Patch Changes
6
+
7
+ - 671b986: API coherence: definition kinds, app-bound uploads, honest inline retry, and
8
+ deterministic memory adapters.
9
+
10
+ - `FlagDef` now carries `kind: "flag"` as its definition discriminator, and
11
+ the value type moves to `valueKind` (`FlagEvaluationDetails.kind` is also
12
+ renamed `valueKind`; types `FlagKind` and `FlagKindForValue` are now
13
+ `FlagValueKind` and `FlagValueKindForValue`). `defineWebhook` results carry
14
+ `kind: "webhook"` and `defineSearchIndex` results carry
15
+ `kind: "search-index"`, so every definition subsystem shares the same
16
+ discriminator grammar. The OpenFeature provider and devtools flag panel
17
+ follow the rename.
18
+ - New `createUploads<AppContext>()` in `@beignet/core/uploads` returns an
19
+ app-bound `defineUpload`, matching the jobs/schedules/tasks/notifications/
20
+ listeners factories. The bound builder infers the upload name, metadata
21
+ schema, context, and `onComplete` result without explicit type arguments;
22
+ apps create it once in `lib/uploads.ts`.
23
+ - `createInlineJobDispatcher(...)` now honors a job's declared retry policy:
24
+ failed dispatches retry in-process with the policy's delays (injectable
25
+ `sleep` option for tests), payload validation failures never retry, and
26
+ jobs without a policy run exactly once.
27
+ - `createMemoryOutbox({ id, now })` and
28
+ `createMemoryIdempotencyStore({ now })` accept injectable ID and clock
29
+ factories instead of hardcoding `crypto.randomUUID()` and `new Date()`.
30
+ - The BullMQ provider validates unsupported retry options (`maxDelay`, custom
31
+ `factor`, `jitter`) eagerly at `createBullMQJobWorker(...)` creation instead
32
+ of only at first dispatch or processing.
33
+
34
+ - f759611: Retry policies now run in exactly one layer for outbox-delivered jobs. The
35
+ inline job dispatcher exposes a single-attempt dispatch under a well-known
36
+ symbol; `drainOutbox(...)` detects it and runs the handler once per pass,
37
+ letting the outbox reschedule failures with the job's own policy instead of
38
+ stacking in-process retries (and their real backoff sleeps) inside every
39
+ delivery attempt. Durable providers are unaffected. The inline dispatcher
40
+ also gains a `retry: false` option for callers that own retries themselves,
41
+ and `createTestPorts(...)` now threads its frozen clock and ID generator
42
+ into the memory idempotency store and outbox.
43
+ - f759611: Provider factory options now resolve through one framework-owned rule:
44
+ `ProviderConfigDef` gains an `overrides` map that merges defined values over
45
+ env-derived input before validation, and every first-party provider factory
46
+ uses it instead of hand-rolled schema defaults and setup-time fallbacks. The
47
+ precedence is now uniform — defined factory options win over environment
48
+ variables in all thirteen providers. This flips the previous env-wins
49
+ behavior of `provider-cache-redis`, `provider-locks-redis`, and the storage,
50
+ search, and blob providers; set the env var (or drop the option) if you
51
+ relied on env winning. `installProviderForTest(...)` gains an `env` option
52
+ that resolves config through the same loader, and unreachable missing-config
53
+ guards in the pino and inngest factories are gone.
54
+ - eb680ef: Provider naming now follows one implementation-first order matching the
55
+ factories. `@beignet/provider-redis` is renamed `@beignet/provider-cache-redis`
56
+ (the package fills the cache port; the raw client stays as the
57
+ `ctx.ports.redis` escape hatch) with `redisCacheProvider`,
58
+ `createRedisCacheProvider`, and provider name `cache-redis` matching
59
+ `locks-redis`. Default consts flip to implementation-first:
60
+ `loggerPinoProvider` is now `pinoLoggerProvider`, `mailResendProvider` is now
61
+ `resendMailProvider`, and `mailSmtpProvider` is now `smtpMailProvider`.
62
+ CLI starter templates and the `redis-cache` provider preset wire the new
63
+ names. No aliases are kept.
64
+ - 671b986: Remove the `defineDomainEvent` alias (and the `DomainEventDef`/
65
+ `InferEventPayload` re-exports) from `@beignet/core/domain`. Declare domain
66
+ events with the canonical `defineEvent(name, { payload })` from
67
+ `@beignet/core/events` — the alias returned the exact same `EventDef` and only
68
+ differed by its positional signature. The structural `DomainEventDef` port
69
+ type in `@beignet/core/ports` is unchanged.
70
+ - 671b986: `defineEntity(...).methods((self) => ...)` now types `self` as the entity's
71
+ base instance (validated props plus `with` and `toJSON`) instead of `any`, so
72
+ method bodies are type-checked against the entity's own schema. The new
73
+ `EntityBaseInstance` type is exported from `@beignet/core/domain`.
74
+ - 671b986: Upload failures now throw condition-specific error classes matching the
75
+ framework's class-per-condition convention: `UploadNotFoundError`,
76
+ `InvalidUploadActionError`, `InvalidUploadMetadataError`,
77
+ `InvalidUploadFileError`, `UnauthorizedUploadError`,
78
+ `UploadObjectNotFoundError`, `UploadBodyTooLargeError`, and
79
+ `InvalidUploadBodyError`. `UploadError` remains the shared base class (its
80
+ constructor is now protected), so existing `instanceof UploadError` checks
81
+ and `code`/`status` reads keep working unchanged.
82
+
83
+ ## 0.0.31
84
+
85
+ ### Patch Changes
86
+
87
+ - d77e367: New `@beignet/core/memo` subpath: `createMemo(fn)` deduplicates a lookup for the lifetime of one request — the first call runs, later calls with the same arguments (from context, policies, use cases) share the same value and in-flight promise. The server scopes every HTTP request and `runServiceContext(...)` execution automatically; the cache dies with the request, so there is no TTL, no invalidation policy, and no cross-request staleness. Mutations pair with `memoized.invalidate(...)`, `runMemoScope(fn)` scopes scripts and tests, and devtools records `memo.hit`/`memo.miss` events with fill durations. The generated CLAUDE/AGENTS capability index now points at it.
88
+
3
89
  ## 0.0.30
4
90
 
5
91
  ### Patch Changes
package/README.md CHANGED
@@ -61,6 +61,7 @@ name the framework area they depend on.
61
61
  | `@beignet/core/jobs` | Job definitions, retry policies, and inline job dispatch |
62
62
  | `@beignet/core/locks` | Lease-backed LocksPort, memory adapter, memory provider, and helpers |
63
63
  | `@beignet/core/mail` | Mail port, memory mailer, and memory mailer provider |
64
+ | `@beignet/core/memo` | Request-scoped memoization for port lookups |
64
65
  | `@beignet/core/notifications` | Notification definitions, dispatchers, inline notifications provider, mail channels, and test adapters |
65
66
  | `@beignet/core/openapi` | OpenAPI generation |
66
67
  | `@beignet/core/outbox` | Durable event and job outbox |
@@ -76,7 +77,7 @@ name the framework area they depend on.
76
77
  | `@beignet/core/tasks` | Operational task definitions and inline task execution |
77
78
  | `@beignet/core/testing` | Test context factories, memory port fixtures, provider install helper, factories, seeds, and database harnesses |
78
79
  | `@beignet/core/tracing` | Dependency-free W3C trace context primitives |
79
- | `@beignet/core/uploads` | Upload definitions, router, signer port, and test signer |
80
+ | `@beignet/core/uploads` | Upload definitions (`createUploads<AppContext>()` app-bound builder), router, signer port, and test signer |
80
81
  | `@beignet/core/uploads/client` | Browser upload client for server and direct uploads |
81
82
  | `@beignet/core/webhooks` | Inbound webhook definitions, verifiers, memory test verifier, and HMAC verifier |
82
83
 
@@ -815,7 +816,7 @@ without hand-rolling setup, port merge, and lifecycle plumbing:
815
816
  import { installProviderForTest } from "@beignet/core/testing";
816
817
 
817
818
  const { ports, result, start, stop } = await installProviderForTest(
818
- redisProvider,
819
+ redisCacheProvider,
819
820
  {
820
821
  ports: { devtools },
821
822
  config: { URL: "redis://localhost:6379" },
@@ -1067,6 +1068,51 @@ return ctx.ports.posts.findMany({
1067
1068
  Beignet's convention is `items` for list contents and `page` for pagination
1068
1069
  metadata. Keep filters and sort options app-owned plain objects.
1069
1070
 
1071
+ ### Request-scoped memoization
1072
+
1073
+ Use `createMemo(...)` from `@beignet/core/memo` to run a lookup once per
1074
+ request no matter how many policies, use cases, and handlers ask for it. The
1075
+ server enters a memo scope around every HTTP request and every
1076
+ `server.runServiceContext(...)` execution; the scope's cache dies with it, so
1077
+ there is no TTL, no invalidation policy, and no cross-request staleness.
1078
+
1079
+ ```ts
1080
+ import { createMemo } from "@beignet/core/memo";
1081
+
1082
+ const repository = createDrizzleIssuesRepository(db);
1083
+
1084
+ export const issues = {
1085
+ ...repository,
1086
+ findById: createMemo(repository.findById, { name: "issues.findById" }),
1087
+ update: async (id: string, patch: IssuePatch) => {
1088
+ const updated = await repository.update(id, patch);
1089
+ // A write makes the memoized read stale within this same request.
1090
+ issues.findById.invalidate(id);
1091
+ return updated;
1092
+ },
1093
+ };
1094
+ ```
1095
+
1096
+ - Wrap reads in infra, next to the adapter — use cases and policies never
1097
+ know caching exists. Memoize reads, not mutations, and pair mutations with
1098
+ `invalidate(...)` as above.
1099
+ - Concurrent calls share one in-flight promise; rejected promises are
1100
+ evicted so the next call retries instead of memoizing the failure.
1101
+ - Default cache keys use a structural, type-tagged encoding of the arguments
1102
+ (`"1"` and `1` never collide, object key order is irrelevant). Arguments
1103
+ that cannot be encoded deterministically throw a `MemoKeyError` naming the
1104
+ memo; pass `key: (...args) => string` for those.
1105
+ - Outside a scope — plain scripts, `createServiceContext(...)` callers —
1106
+ memoized functions call straight through uncached. `runMemoScope(fn)`
1107
+ creates a scope explicitly in scripts and unit tests.
1108
+ - With devtools installed, each call records a `memo.hit` or `memo.miss`
1109
+ event (with fill duration) under the request, so duplicate lookups are
1110
+ visible in the waterfall.
1111
+
1112
+ For caching that must survive across requests, use the explicit tier —
1113
+ `ports.cache.remember` with keys that change when the data changes — and see
1114
+ the request lifecycle docs for context latency budgets.
1115
+
1070
1116
  ### Rate limiting
1071
1117
 
1072
1118
  Use `createRateLimitHooks(...)` from `@beignet/core/server` to enforce
@@ -8,9 +8,37 @@ export type StandardSchema = StandardSchemaV1<unknown, unknown>;
8
8
  */
9
9
  export type InferOutput<T extends StandardSchemaV1> = StandardSchemaV1.InferOutput<T>;
10
10
  type AnyMethods = Record<string, any>;
11
+ /**
12
+ * Base entity instance passed to the `.methods(...)` builder: validated props
13
+ * plus the `with` and `toJSON` helpers, before domain methods attach.
14
+ *
15
+ * `with(...)` is typed as returning the base instance here because the final
16
+ * methods object is still being defined while the builder runs. At runtime
17
+ * the returned instance carries the entity's methods, and `EntityInstance`
18
+ * maps base-instance returns back to the full instance type so consumers keep
19
+ * typed method chaining.
20
+ */
21
+ export type EntityBaseInstance<Schema extends StandardSchema> = InferOutput<Schema> & {
22
+ /**
23
+ * Create a new validated entity instance with patched properties.
24
+ */
25
+ with(patch: Partial<InferOutput<Schema>>): EntityBaseInstance<Schema> | Promise<EntityBaseInstance<Schema>>;
26
+ /**
27
+ * Convert the entity to a plain JSON object for persistence.
28
+ */
29
+ toJSON(): InferOutput<Schema>;
30
+ };
31
+ /**
32
+ * Replace base-instance returns with the full entity instance type, unwrapping
33
+ * promises, so methods that return `self` or `self.with(...)` chain with the
34
+ * entity's methods attached.
35
+ */
36
+ type WithEntityInstance<R, Instance, Schema extends StandardSchema> = R extends Promise<infer P> ? Promise<WithEntityInstance<P, Instance, Schema>> : R extends EntityBaseInstance<Schema> ? Instance : R;
11
37
  /**
12
38
  * Entity instance with validated props, attached methods, and immutable update
13
- * helpers.
39
+ * helpers. Method returns that are typed as the base instance (`self` or
40
+ * `self.with(...)`) are mapped to the full instance type so chaining keeps
41
+ * the entity's methods.
14
42
  */
15
43
  export type EntityInstance<Name extends string, Schema extends StandardSchema, Methods extends AnyMethods> = InferOutput<Schema> & {
16
44
  /**
@@ -21,7 +49,9 @@ export type EntityInstance<Name extends string, Schema extends StandardSchema, M
21
49
  * Convert the entity to a plain JSON object for persistence.
22
50
  */
23
51
  toJSON(): InferOutput<Schema>;
24
- } & Methods;
52
+ } & {
53
+ [K in keyof Methods]: Methods[K] extends (...args: infer A) => infer R ? (...args: A) => WithEntityInstance<R, EntityInstance<Name, Schema, Methods>, Schema> : Methods[K];
54
+ };
25
55
  /**
26
56
  * Entity definition returned by `defineEntity(...).build()`.
27
57
  */
@@ -51,7 +81,7 @@ declare class EntityBuilder<Name extends string, Schema extends StandardSchema,
51
81
  constructor(cfg: {
52
82
  name: Name;
53
83
  schema?: Schema;
54
- methods?: (self: any) => Methods;
84
+ methods?: (self: EntityBaseInstance<Schema>) => Methods;
55
85
  });
56
86
  /**
57
87
  * Define the schema for this entity using any Standard Schema compatible validator.
@@ -59,9 +89,10 @@ declare class EntityBuilder<Name extends string, Schema extends StandardSchema,
59
89
  props<S extends StandardSchema>(schema: S): EntityBuilder<Name, S, Methods>;
60
90
  /**
61
91
  * Define methods to attach to entity instances.
62
- * The method builder receives the base instance (with props, with, and toJSON).
92
+ * The method builder receives the typed base instance: validated props plus
93
+ * `with` and `toJSON`.
63
94
  */
64
- methods<M extends AnyMethods>(build: (self: any) => M): EntityBuilder<Name, Schema, M>;
95
+ methods<M extends AnyMethods>(build: (self: EntityBaseInstance<Schema>) => M): EntityBuilder<Name, Schema, M>;
65
96
  /**
66
97
  * Finalize and build the entity definition.
67
98
  */
@@ -93,6 +124,6 @@ declare class EntityBuilder<Name extends string, Schema extends StandardSchema,
93
124
  * type Todo = typeof Todo.Type;
94
125
  * ```
95
126
  */
96
- export declare function defineEntity<Name extends string>(name: Name): EntityBuilder<Name, any, Record<string, never>>;
127
+ export declare function defineEntity<Name extends string>(name: Name): EntityBuilder<Name, StandardSchema, Record<string, never>>;
97
128
  export {};
98
129
  //# sourceMappingURL=entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/domain/entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,gBAAgB,IAChD,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAuDlC,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,cAAc,CACxB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,UAAU,IACxB,WAAW,CAAC,MAAM,CAAC,GAAG;IACxB;;OAEG;IACH,IAAI,CACF,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAEjC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/B,GAAG,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,SAAS,CACxB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,UAAU;IAE1B,iDAAiD;IACjD,IAAI,EAAE,IAAI,CAAC;IACX,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CACJ,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAExB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD;;OAEG;IACH,QAAQ,CACN,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GAEvB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,0EAA0E;IAC1E,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,cAAM,aAAa,CACjB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,cAAc,EAC7B,OAAO,SAAS,UAAU;IAGxB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE;QACpB,IAAI,EAAE,IAAI,CAAC;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;KAClC;IAGH;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC;IAQ3E;;;OAGG;IACH,OAAO,CAAC,CAAC,SAAS,UAAU,EAE1B,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,GACtB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAQjC;;OAEG;IACH,KAAK,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC;CAgE1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,YAAY,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,EAAE,IAAI,mDAG3D"}
1
+ {"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/domain/entity.ts"],"names":[],"mappings":"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"}
@@ -57,16 +57,18 @@ class EntityBuilder {
57
57
  return new EntityBuilder({
58
58
  name: this.cfg.name,
59
59
  schema,
60
+ // Methods declared before props were typed against the previous schema;
61
+ // canonical builder order is props-then-methods, so this widening only
62
+ // affects the discouraged reverse order.
60
63
  methods: this.cfg.methods,
61
64
  });
62
65
  }
63
66
  /**
64
67
  * Define methods to attach to entity instances.
65
- * The method builder receives the base instance (with props, with, and toJSON).
68
+ * The method builder receives the typed base instance: validated props plus
69
+ * `with` and `toJSON`.
66
70
  */
67
- methods(
68
- // biome-ignore lint/suspicious/noExplicitAny: Methods builder receives base instance with props
69
- build) {
71
+ methods(build) {
70
72
  return new EntityBuilder({
71
73
  name: this.cfg.name,
72
74
  schema: this.cfg.schema,
@@ -87,7 +89,6 @@ class EntityBuilder {
87
89
  const buildInstance = (parsed) => {
88
90
  // Cast parsed to a plain object for spreading
89
91
  const parsedObj = parsed;
90
- // biome-ignore lint/suspicious/noExplicitAny: Dynamic object construction
91
92
  const base = {
92
93
  ...parsedObj,
93
94
  // Immutable update - creates a new validated instance
@@ -153,7 +154,8 @@ class EntityBuilder {
153
154
  * ```
154
155
  */
155
156
  export function defineEntity(name) {
156
- // biome-ignore lint/suspicious/noExplicitAny: Initial schema type will be set via .props()
157
- return new EntityBuilder({ name });
157
+ return new EntityBuilder({
158
+ name,
159
+ });
158
160
  }
159
161
  //# sourceMappingURL=entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/domain/entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/domain/entity.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * @beignet/core/domain
3
3
  *
4
- * Domain modeling helpers for Beignet - value objects, entities, and domain events.
4
+ * Domain modeling helpers for Beignet - value objects and entities.
5
5
  *
6
6
  * This package provides small, framework-agnostic helpers for domain modeling:
7
7
  * - A Value Object builder (defineValueObject)
8
8
  * - An Entity/Aggregate builder (defineEntity)
9
- * - A Domain Event helper (defineDomainEvent)
9
+ *
10
+ * Domain events are declared with `defineEvent` from `@beignet/core/events`.
10
11
  */
11
- export { defineEntity, type EntityDef, type EntityInstance } from "./entity.js";
12
- export { type DomainEventDef, defineDomainEvent, type InferEventPayload, } from "./events.js";
12
+ export { defineEntity, type EntityBaseInstance, type EntityDef, type EntityInstance, } from "./entity.js";
13
13
  export { defineValueObject, type ValueObjectDef } from "./value-object.js";
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * @beignet/core/domain
3
3
  *
4
- * Domain modeling helpers for Beignet - value objects, entities, and domain events.
4
+ * Domain modeling helpers for Beignet - value objects and entities.
5
5
  *
6
6
  * This package provides small, framework-agnostic helpers for domain modeling:
7
7
  * - A Value Object builder (defineValueObject)
8
8
  * - An Entity/Aggregate builder (defineEntity)
9
- * - A Domain Event helper (defineDomainEvent)
9
+ *
10
+ * Domain events are declared with `defineEvent` from `@beignet/core/events`.
10
11
  */
11
- export { defineEntity } from "./entity.js";
12
- export { defineDomainEvent, } from "./events.js";
12
+ export { defineEntity, } from "./entity.js";
13
13
  export { defineValueObject } from "./value-object.js";
14
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAuC,MAAM,aAAa,CAAC;AAChF,OAAO,EAEL,iBAAiB,GAElB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,YAAY,GAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAuB,MAAM,mBAAmB,CAAC"}
@@ -28,7 +28,7 @@ export type FlagKey = string;
28
28
  /**
29
29
  * Feature flag value kind.
30
30
  */
31
- export type FlagKind = "boolean" | "string" | "number" | "object";
31
+ export type FlagValueKind = "boolean" | "string" | "number" | "object";
32
32
  /**
33
33
  * Subject used for provider-neutral flag targeting.
34
34
  */
@@ -85,8 +85,9 @@ export type FlagEvaluationContext = {
85
85
  * Flag definition registered through `defineFlags(...)`.
86
86
  */
87
87
  export type FlagDef<TValue extends FlagValue = FlagValue> = {
88
+ kind: "flag";
88
89
  key: FlagKey;
89
- kind: FlagKindForValue<TValue>;
90
+ valueKind: FlagValueKindForValue<TValue>;
90
91
  defaultValue: TValue;
91
92
  description?: string;
92
93
  metadata?: Record<string, unknown>;
@@ -98,7 +99,7 @@ export type InferFlagValue<TFlag> = TFlag extends FlagDef<infer TValue> ? TValue
98
99
  /**
99
100
  * Map a value type to its runtime flag kind.
100
101
  */
101
- export type FlagKindForValue<TValue extends FlagValue> = TValue extends boolean ? "boolean" : TValue extends string ? "string" : TValue extends number ? "number" : "object";
102
+ export type FlagValueKindForValue<TValue extends FlagValue> = TValue extends boolean ? "boolean" : TValue extends string ? "string" : TValue extends number ? "number" : "object";
102
103
  /**
103
104
  * Options accepted when declaring a flag.
104
105
  */
@@ -144,7 +145,7 @@ export type FlagEvaluationDetails<TValue extends FlagValue = FlagValue> = {
144
145
  key: string;
145
146
  value: TValue;
146
147
  defaultValue: TValue;
147
- kind: FlagKindForValue<TValue>;
148
+ valueKind: FlagValueKindForValue<TValue>;
148
149
  reason: FlagEvaluationReason;
149
150
  defaulted: boolean;
150
151
  variant?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,15 @@
3
3
  *
4
4
  * Provider-neutral feature flag primitives for Beignet applications.
5
5
  */
6
- function createFlag(kind, key, options) {
6
+ function createFlag(valueKind, key, options) {
7
7
  const defaultValue = options.default;
8
- if (!matchesKind(defaultValue, kind)) {
9
- throw new Error(`Flag "${key}" default value does not match "${kind}" flag kind.`);
8
+ if (!matchesValueKind(defaultValue, valueKind)) {
9
+ throw new Error(`Flag "${key}" default value does not match "${valueKind}" flag value kind.`);
10
10
  }
11
11
  return {
12
+ kind: "flag",
12
13
  key,
13
- kind: kind,
14
+ valueKind: valueKind,
14
15
  defaultValue,
15
16
  description: options.description,
16
17
  metadata: options.metadata,
@@ -75,8 +76,8 @@ export function createMemoryFlags(options = {}) {
75
76
  ...port,
76
77
  values,
77
78
  set(flag, value) {
78
- if (!matchesKind(value, flag.kind)) {
79
- throw new Error(`Flag "${flag.key}" value does not match "${flag.kind}" flag kind.`);
79
+ if (!matchesValueKind(value, flag.valueKind)) {
80
+ throw new Error(`Flag "${flag.key}" value does not match "${flag.valueKind}" flag value kind.`);
80
81
  }
81
82
  values.set(flag.key, value);
82
83
  },
@@ -96,13 +97,13 @@ function createFlagsFromStore(readValues, observers) {
96
97
  const values = readValues();
97
98
  const stored = values[flag.key];
98
99
  const hasStored = Object.hasOwn(values, flag.key);
99
- const usedStoredValue = hasStored && matchesKind(stored, flag.kind);
100
+ const usedStoredValue = hasStored && matchesValueKind(stored, flag.valueKind);
100
101
  const value = usedStoredValue
101
102
  ? stored
102
103
  : defaultValue;
103
104
  const details = {
104
105
  key: flag.key,
105
- kind: flag.kind,
106
+ valueKind: flag.valueKind,
106
107
  value,
107
108
  defaultValue,
108
109
  reason: usedStoredValue ? "static" : "default",
@@ -156,7 +157,7 @@ function createFlagsFromStore(readValues, observers) {
156
157
  };
157
158
  return flags;
158
159
  }
159
- function matchesKind(value, kind) {
160
+ function matchesValueKind(value, kind) {
160
161
  switch (kind) {
161
162
  case "boolean":
162
163
  return typeof value === "boolean";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6TH,SAAS,UAAU,CACjB,IAAc,EACd,GAAW,EACX,OAAkC;IAElC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IACrC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,SAAS,GAAG,mCAAmC,IAAI,cAAc,CAClE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG;QACH,IAAI,EAAE,IAAgC;QACtC,YAAY;QACZ,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAW,EACX,OAAmC;IAEnC,OAAO,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAUD,SAAS,gBAAgB,CACvB,GAAW,EACX,OAAkC;IAElC,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAUD,SAAS,gBAAgB,CACvB,GAAW,EACX,OAAkC;IAElC,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAW,EACX,OAAkC;IAElC,OAAO,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,QAAmB;IAEnB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAgB,EAChB,IAAqB,EACrB,OAAuC;IAEvC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAgB,EAChB,IAAqB,EACrB,OAAuC;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAoC,EAAE;IAEtC,OAAO,oBAAoB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAoC,EAAE;IAEtC,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CACrC,CAAC;IACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAE7E,OAAO;QACL,GAAG,IAAI;QACP,MAAM;QACN,GAAG,CAAC,IAAI,EAAE,KAAK;YACb,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,GAAG,2BAA2B,IAAI,CAAC,IAAI,cAAc,CACpE,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI;YACR,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAkC,EAClC,SAA6B;IAE7B,KAAK,UAAU,OAAO,CACpB,IAAqB,EACrB,OAAkD,EAClD,MAA2C;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;QAChE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,SAAS,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,eAAe;YAC3B,CAAC,CAAE,MAA8B;YACjC,CAAC,CAAC,YAAY,CAAC;QACjB,MAAM,OAAO,GAA+C;YAC1D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAA6C;YACxD,KAAK;YACL,YAAY;YACZ,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC9C,SAAS,EAAE,CAAC,eAAe;SACyB,CAAC;QAEvD,MAAM,iBAAiB,CAAC,SAAS,CAAC,YAAY,EAAE;YAC9C,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAc;QACvB,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO;YAC1B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO;YACzB,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO;YAChC,MAAM,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE;gBAC1C,IAAI;gBACJ,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO;YACxB,MAAM,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE;gBACpC,KAAK;gBACL,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAc;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,SAAS;YACZ,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;QACnC,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAA0C;IACxE,OAAO;QACL,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;QACzB,MAAM,EAAE,OAAO,EAAE,MAAM;QACvB,YAAY,EAAE,OAAO,EAAE,YAAY;QACnC,WAAW,EAAE,OAAO,EAAE,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,QAA4C,EAC5C,WAAsC;IAEtC,IAAI,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAA0C,EAC1C,WAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,QAAuC,EACvC,WAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/flags/index.ts"],"names":[],"mappings":"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"}
@@ -330,13 +330,23 @@ export declare function createIdempotencyStorageKey(input: {
330
330
  key: string;
331
331
  scope?: IdempotencyScope;
332
332
  }): string;
333
+ /**
334
+ * Options for `createMemoryIdempotencyStore(...)`.
335
+ */
336
+ export interface MemoryIdempotencyStoreOptions {
337
+ /**
338
+ * Clock used for reservation and completion timestamps. Defaults to the
339
+ * system clock.
340
+ */
341
+ now?: () => Date;
342
+ }
333
343
  /**
334
344
  * Create an in-memory idempotency store for tests and local examples.
335
345
  *
336
346
  * The memory store is process-local and not suitable for multi-process
337
347
  * production deployments.
338
348
  */
339
- export declare function createMemoryIdempotencyStore(): MemoryIdempotencyStore;
349
+ export declare function createMemoryIdempotencyStore(options?: MemoryIdempotencyStoreOptions): MemoryIdempotencyStore;
340
350
  /**
341
351
  * Run an operation behind an idempotency reservation.
342
352
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/idempotency/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/idempotency/index.ts"],"names":[],"mappings":"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"}
@@ -168,7 +168,8 @@ function reservationFromRecord(record, receivedFingerprint) {
168
168
  * The memory store is process-local and not suitable for multi-process
169
169
  * production deployments.
170
170
  */
171
- export function createMemoryIdempotencyStore() {
171
+ export function createMemoryIdempotencyStore(options = {}) {
172
+ const storeNow = options.now ?? (() => new Date());
172
173
  const records = new Map();
173
174
  return {
174
175
  get entries() {
@@ -179,7 +180,7 @@ export function createMemoryIdempotencyStore() {
179
180
  assertNonEmptyString("key", input.key);
180
181
  assertNonEmptyString("fingerprint", input.fingerprint);
181
182
  assertTtl(input.ttlSec);
182
- const now = new Date();
183
+ const now = storeNow();
183
184
  const storageKey = createIdempotencyStorageKey(input);
184
185
  const existing = records.get(storageKey);
185
186
  if (existing && !isExpired(existing, now)) {
@@ -218,7 +219,7 @@ export function createMemoryIdempotencyStore() {
218
219
  return;
219
220
  existing.status = "completed";
220
221
  existing.result = input.result;
221
- existing.completedAt = new Date();
222
+ existing.completedAt = storeNow();
222
223
  },
223
224
  async fail(input) {
224
225
  assertNonEmptyString("namespace", input.namespace);