@beignet/core 0.0.1 → 0.0.3

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 (287) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +202 -8
  3. package/dist/application/index.d.ts +93 -9
  4. package/dist/application/index.d.ts.map +1 -1
  5. package/dist/application/index.js +11 -11
  6. package/dist/application/index.js.map +1 -1
  7. package/dist/client/client.d.ts +73 -12
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +37 -12
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/index.d.ts +12 -0
  12. package/dist/client/index.d.ts.map +1 -1
  13. package/dist/client/index.js +6 -0
  14. package/dist/client/index.js.map +1 -1
  15. package/dist/client/types.d.ts +69 -8
  16. package/dist/client/types.d.ts.map +1 -1
  17. package/dist/config/index.d.ts +84 -0
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +36 -0
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/contracts/contract-builder.d.ts +49 -22
  22. package/dist/contracts/contract-builder.d.ts.map +1 -1
  23. package/dist/contracts/contract-builder.js +48 -21
  24. package/dist/contracts/contract-builder.js.map +1 -1
  25. package/dist/contracts/contract-group.d.ts +35 -19
  26. package/dist/contracts/contract-group.d.ts.map +1 -1
  27. package/dist/contracts/contract-group.js +35 -19
  28. package/dist/contracts/contract-group.js.map +1 -1
  29. package/dist/contracts/contract-like.d.ts +4 -4
  30. package/dist/contracts/contract-like.d.ts.map +1 -1
  31. package/dist/contracts/contract-like.js +2 -1
  32. package/dist/contracts/contract-like.js.map +1 -1
  33. package/dist/contracts/index.d.ts +28 -0
  34. package/dist/contracts/index.d.ts.map +1 -1
  35. package/dist/contracts/index.js +12 -0
  36. package/dist/contracts/index.js.map +1 -1
  37. package/dist/contracts/openapi-meta.d.ts +8 -8
  38. package/dist/contracts/openapi-meta.d.ts.map +1 -1
  39. package/dist/contracts/path-template.d.ts +27 -0
  40. package/dist/contracts/path-template.d.ts.map +1 -1
  41. package/dist/contracts/path-template.js +6 -0
  42. package/dist/contracts/path-template.js.map +1 -1
  43. package/dist/contracts/types.d.ts +104 -10
  44. package/dist/contracts/types.d.ts.map +1 -1
  45. package/dist/contracts/types.js +15 -0
  46. package/dist/contracts/types.js.map +1 -1
  47. package/dist/contracts/utils.d.ts +6 -0
  48. package/dist/contracts/utils.d.ts.map +1 -1
  49. package/dist/contracts/utils.js +6 -0
  50. package/dist/contracts/utils.js.map +1 -1
  51. package/dist/domain/entity.d.ts +22 -11
  52. package/dist/domain/entity.d.ts.map +1 -1
  53. package/dist/domain/entity.js +5 -1
  54. package/dist/domain/entity.js.map +1 -1
  55. package/dist/domain/events.d.ts +5 -2
  56. package/dist/domain/events.d.ts.map +1 -1
  57. package/dist/domain/events.js +4 -1
  58. package/dist/domain/events.js.map +1 -1
  59. package/dist/domain/value-object.d.ts +19 -9
  60. package/dist/domain/value-object.d.ts.map +1 -1
  61. package/dist/domain/value-object.js +5 -1
  62. package/dist/domain/value-object.js.map +1 -1
  63. package/dist/errors/catalog.d.ts +40 -16
  64. package/dist/errors/catalog.d.ts.map +1 -1
  65. package/dist/errors/catalog.js +18 -7
  66. package/dist/errors/catalog.js.map +1 -1
  67. package/dist/errors/response.d.ts +16 -4
  68. package/dist/errors/response.d.ts.map +1 -1
  69. package/dist/errors/response.js +3 -3
  70. package/dist/errors/response.js.map +1 -1
  71. package/dist/errors/validation.d.ts +10 -1
  72. package/dist/errors/validation.d.ts.map +1 -1
  73. package/dist/errors/validation.js +3 -0
  74. package/dist/errors/validation.js.map +1 -1
  75. package/dist/events/index.d.ts +133 -0
  76. package/dist/events/index.d.ts.map +1 -1
  77. package/dist/events/index.js +30 -0
  78. package/dist/events/index.js.map +1 -1
  79. package/dist/idempotency/index.d.ts +355 -0
  80. package/dist/idempotency/index.d.ts.map +1 -0
  81. package/dist/idempotency/index.js +360 -0
  82. package/dist/idempotency/index.js.map +1 -0
  83. package/dist/jobs/index.d.ts +248 -4
  84. package/dist/jobs/index.d.ts.map +1 -1
  85. package/dist/jobs/index.js +183 -1
  86. package/dist/jobs/index.js.map +1 -1
  87. package/dist/mail/index.d.ts +149 -0
  88. package/dist/mail/index.d.ts.map +1 -1
  89. package/dist/mail/index.js +30 -0
  90. package/dist/mail/index.js.map +1 -1
  91. package/dist/notifications/index.d.ts +369 -0
  92. package/dist/notifications/index.d.ts.map +1 -0
  93. package/dist/notifications/index.js +310 -0
  94. package/dist/notifications/index.js.map +1 -0
  95. package/dist/openapi/index.d.ts +132 -16
  96. package/dist/openapi/index.d.ts.map +1 -1
  97. package/dist/openapi/index.js +1 -1
  98. package/dist/openapi/index.js.map +1 -1
  99. package/dist/outbox/index.d.ts +474 -0
  100. package/dist/outbox/index.d.ts.map +1 -0
  101. package/dist/outbox/index.js +538 -0
  102. package/dist/outbox/index.js.map +1 -0
  103. package/dist/pagination/index.d.ts +166 -0
  104. package/dist/pagination/index.d.ts.map +1 -0
  105. package/dist/pagination/index.js +96 -0
  106. package/dist/pagination/index.js.map +1 -0
  107. package/dist/ports/audit.d.ts +271 -0
  108. package/dist/ports/audit.d.ts.map +1 -1
  109. package/dist/ports/audit.js +128 -0
  110. package/dist/ports/audit.js.map +1 -1
  111. package/dist/ports/auth.d.ts +70 -0
  112. package/dist/ports/auth.d.ts.map +1 -1
  113. package/dist/ports/auth.js +30 -0
  114. package/dist/ports/auth.js.map +1 -1
  115. package/dist/ports/cache.d.ts +41 -0
  116. package/dist/ports/cache.d.ts.map +1 -1
  117. package/dist/ports/cache.js +10 -0
  118. package/dist/ports/cache.js.map +1 -1
  119. package/dist/ports/clock.d.ts +38 -0
  120. package/dist/ports/clock.d.ts.map +1 -1
  121. package/dist/ports/clock.js +20 -0
  122. package/dist/ports/clock.js.map +1 -1
  123. package/dist/ports/id-generator.d.ts +37 -0
  124. package/dist/ports/id-generator.d.ts.map +1 -1
  125. package/dist/ports/id-generator.js +22 -0
  126. package/dist/ports/id-generator.js.map +1 -1
  127. package/dist/ports/index.d.ts +83 -0
  128. package/dist/ports/index.d.ts.map +1 -1
  129. package/dist/ports/index.js +41 -5
  130. package/dist/ports/index.js.map +1 -1
  131. package/dist/ports/logger.d.ts +56 -0
  132. package/dist/ports/logger.d.ts.map +1 -1
  133. package/dist/ports/logger.js +17 -0
  134. package/dist/ports/logger.js.map +1 -1
  135. package/dist/ports/policy.d.ts +132 -0
  136. package/dist/ports/policy.d.ts.map +1 -1
  137. package/dist/ports/policy.js +45 -0
  138. package/dist/ports/policy.js.map +1 -1
  139. package/dist/ports/rate-limit.d.ts +25 -0
  140. package/dist/ports/rate-limit.d.ts.map +1 -1
  141. package/dist/ports/rate-limit.js +10 -0
  142. package/dist/ports/rate-limit.js.map +1 -1
  143. package/dist/ports/redaction.d.ts +101 -0
  144. package/dist/ports/redaction.d.ts.map +1 -1
  145. package/dist/ports/redaction.js +59 -0
  146. package/dist/ports/redaction.js.map +1 -1
  147. package/dist/ports/storage.d.ts +100 -0
  148. package/dist/ports/storage.d.ts.map +1 -1
  149. package/dist/ports/storage.js +10 -0
  150. package/dist/ports/storage.js.map +1 -1
  151. package/dist/ports/testing.d.ts +47 -0
  152. package/dist/ports/testing.d.ts.map +1 -1
  153. package/dist/ports/testing.js +23 -0
  154. package/dist/ports/testing.js.map +1 -1
  155. package/dist/ports/unit-of-work.d.ts +60 -3
  156. package/dist/ports/unit-of-work.d.ts.map +1 -1
  157. package/dist/ports/unit-of-work.js +11 -2
  158. package/dist/ports/unit-of-work.js.map +1 -1
  159. package/dist/providers/instrumentation.d.ts +205 -1
  160. package/dist/providers/instrumentation.d.ts.map +1 -1
  161. package/dist/providers/instrumentation.js +14 -0
  162. package/dist/providers/instrumentation.js.map +1 -1
  163. package/dist/providers/provider.d.ts +14 -1
  164. package/dist/providers/provider.d.ts.map +1 -1
  165. package/dist/providers/provider.js.map +1 -1
  166. package/dist/schedules/index.d.ts +246 -0
  167. package/dist/schedules/index.d.ts.map +1 -1
  168. package/dist/schedules/index.js +27 -0
  169. package/dist/schedules/index.js.map +1 -1
  170. package/dist/server/health.d.ts +14 -5
  171. package/dist/server/health.d.ts.map +1 -1
  172. package/dist/server/health.js +5 -2
  173. package/dist/server/health.js.map +1 -1
  174. package/dist/server/hooks/auth.d.ts +68 -26
  175. package/dist/server/hooks/auth.d.ts.map +1 -1
  176. package/dist/server/hooks/auth.js +44 -55
  177. package/dist/server/hooks/auth.js.map +1 -1
  178. package/dist/server/hooks/cors.d.ts +27 -0
  179. package/dist/server/hooks/cors.d.ts.map +1 -1
  180. package/dist/server/hooks/cors.js +12 -0
  181. package/dist/server/hooks/cors.js.map +1 -1
  182. package/dist/server/hooks/errors.d.ts +15 -6
  183. package/dist/server/hooks/errors.d.ts.map +1 -1
  184. package/dist/server/hooks/errors.js.map +1 -1
  185. package/dist/server/hooks/index.d.ts +4 -1
  186. package/dist/server/hooks/index.d.ts.map +1 -1
  187. package/dist/server/hooks/index.js +3 -0
  188. package/dist/server/hooks/index.js.map +1 -1
  189. package/dist/server/hooks/logging.d.ts +36 -0
  190. package/dist/server/hooks/logging.d.ts.map +1 -1
  191. package/dist/server/hooks/logging.js +6 -0
  192. package/dist/server/hooks/logging.js.map +1 -1
  193. package/dist/server/hooks/rate-limit.d.ts +33 -0
  194. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  195. package/dist/server/hooks/rate-limit.js +11 -0
  196. package/dist/server/hooks/rate-limit.js.map +1 -1
  197. package/dist/server/http.d.ts +222 -0
  198. package/dist/server/http.d.ts.map +1 -1
  199. package/dist/server/http.js +20 -1
  200. package/dist/server/http.js.map +1 -1
  201. package/dist/server/index.d.ts +19 -1
  202. package/dist/server/index.d.ts.map +1 -1
  203. package/dist/server/index.js +7 -1
  204. package/dist/server/index.js.map +1 -1
  205. package/dist/server/openapi.d.ts +5 -3
  206. package/dist/server/openapi.d.ts.map +1 -1
  207. package/dist/server/openapi.js +4 -2
  208. package/dist/server/openapi.js.map +1 -1
  209. package/dist/server/providers/loadProviderConfig.d.ts +9 -0
  210. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  211. package/dist/server/providers/loadProviderConfig.js +9 -0
  212. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  213. package/dist/server/server.d.ts +159 -19
  214. package/dist/server/server.d.ts.map +1 -1
  215. package/dist/server/server.js +72 -31
  216. package/dist/server/server.js.map +1 -1
  217. package/dist/testing/index.d.ts +171 -0
  218. package/dist/testing/index.d.ts.map +1 -0
  219. package/dist/testing/index.js +127 -0
  220. package/dist/testing/index.js.map +1 -0
  221. package/dist/uploads/client.d.ts +278 -0
  222. package/dist/uploads/client.d.ts.map +1 -0
  223. package/dist/uploads/client.js +428 -0
  224. package/dist/uploads/client.js.map +1 -0
  225. package/dist/uploads/index.d.ts +361 -0
  226. package/dist/uploads/index.d.ts.map +1 -0
  227. package/dist/uploads/index.js +543 -0
  228. package/dist/uploads/index.js.map +1 -0
  229. package/package.json +31 -2
  230. package/src/application/index.ts +85 -22
  231. package/src/client/client.ts +73 -12
  232. package/src/client/index.ts +12 -0
  233. package/src/client/types.ts +70 -9
  234. package/src/config/index.ts +86 -0
  235. package/src/contracts/contract-builder.ts +49 -22
  236. package/src/contracts/contract-group.ts +35 -19
  237. package/src/contracts/contract-like.ts +4 -4
  238. package/src/contracts/index.ts +28 -1
  239. package/src/contracts/openapi-meta.ts +8 -8
  240. package/src/contracts/path-template.ts +27 -0
  241. package/src/contracts/types.ts +111 -10
  242. package/src/contracts/utils.ts +6 -0
  243. package/src/domain/entity.ts +22 -11
  244. package/src/domain/events.ts +5 -2
  245. package/src/domain/value-object.ts +19 -9
  246. package/src/errors/catalog.ts +40 -16
  247. package/src/errors/response.ts +16 -4
  248. package/src/errors/validation.ts +10 -1
  249. package/src/events/index.ts +134 -0
  250. package/src/idempotency/index.ts +767 -0
  251. package/src/jobs/index.ts +437 -5
  252. package/src/mail/index.ts +149 -0
  253. package/src/notifications/index.ts +771 -0
  254. package/src/openapi/index.ts +133 -16
  255. package/src/outbox/index.ts +1104 -0
  256. package/src/pagination/index.ts +278 -0
  257. package/src/ports/audit.ts +271 -0
  258. package/src/ports/auth.ts +70 -0
  259. package/src/ports/cache.ts +41 -0
  260. package/src/ports/clock.ts +38 -0
  261. package/src/ports/id-generator.ts +37 -0
  262. package/src/ports/index.ts +106 -11
  263. package/src/ports/logger.ts +56 -0
  264. package/src/ports/policy.ts +133 -0
  265. package/src/ports/rate-limit.ts +25 -0
  266. package/src/ports/redaction.ts +101 -0
  267. package/src/ports/storage.ts +100 -0
  268. package/src/ports/testing.ts +47 -0
  269. package/src/ports/unit-of-work.ts +60 -3
  270. package/src/providers/instrumentation.ts +211 -1
  271. package/src/providers/provider.ts +14 -1
  272. package/src/schedules/index.ts +247 -0
  273. package/src/server/health.ts +14 -5
  274. package/src/server/hooks/auth.ts +105 -120
  275. package/src/server/hooks/cors.ts +27 -0
  276. package/src/server/hooks/errors.ts +15 -6
  277. package/src/server/hooks/index.ts +4 -5
  278. package/src/server/hooks/logging.ts +36 -0
  279. package/src/server/hooks/rate-limit.ts +33 -0
  280. package/src/server/http.ts +249 -1
  281. package/src/server/index.ts +19 -1
  282. package/src/server/openapi.ts +5 -3
  283. package/src/server/providers/loadProviderConfig.ts +9 -0
  284. package/src/server/server.ts +296 -30
  285. package/src/testing/index.ts +348 -0
  286. package/src/uploads/client.ts +861 -0
  287. package/src/uploads/index.ts +1067 -0
@@ -30,6 +30,15 @@ export function createRecordingEventBus() {
30
30
  };
31
31
  return { bus, events };
32
32
  }
33
+ /**
34
+ * Create a policy tester from the same options used by `createGate(...)`.
35
+ *
36
+ * Use this for table-driven authorization tests that document who can perform
37
+ * each ability against which subject.
38
+ *
39
+ * @param options - Policy definitions and optional denial mapper.
40
+ * @returns A policy tester with a gate plus matrix helpers.
41
+ */
33
42
  export function createPolicyTester(options) {
34
43
  const gate = createGate(options);
35
44
  return {
@@ -38,6 +47,13 @@ export function createPolicyTester(options) {
38
47
  assertMatrix: (cases) => assertPolicyMatrix(gate, cases),
39
48
  };
40
49
  }
50
+ /**
51
+ * Evaluate a table of policy cases without throwing.
52
+ *
53
+ * @param gate - Gate under test.
54
+ * @param cases - Matrix cases to evaluate.
55
+ * @returns Structured result for each case.
56
+ */
41
57
  export async function evaluatePolicyMatrix(gate, cases) {
42
58
  const results = [];
43
59
  for (const matrixCase of cases) {
@@ -54,6 +70,13 @@ export async function evaluatePolicyMatrix(gate, cases) {
54
70
  }
55
71
  return results;
56
72
  }
73
+ /**
74
+ * Assert that all policy matrix cases pass.
75
+ *
76
+ * @param gate - Gate under test.
77
+ * @param cases - Matrix cases to evaluate.
78
+ * @throws Combined error listing every failed case.
79
+ */
57
80
  export async function assertPolicyMatrix(gate, cases) {
58
81
  const results = await evaluatePolicyMatrix(gate, cases);
59
82
  const failures = results.filter((result) => !result.passed);
@@ -1 +1 @@
1
- {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/ports/testing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/ports/testing.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import type { DomainEventDef, EventBusPort, InferEventPayload } from "./events";
2
2
  type MaybePromise<T> = T | Promise<T>;
3
+ /**
4
+ * Work function executed inside a Unit of Work.
5
+ *
6
+ * `tx` contains transaction-scoped app ports, usually repositories plus
7
+ * side-effect recorders such as `events`, `jobs`, or `audit`.
8
+ */
3
9
  export type UnitOfWorkCallback<TxPorts, Result> = (tx: TxPorts) => MaybePromise<Result>;
4
10
  /**
5
11
  * A transaction boundary for application workflows.
@@ -9,8 +15,16 @@ export type UnitOfWorkCallback<TxPorts, Result> = (tx: TxPorts) => MaybePromise<
9
15
  * `createNoopUnitOfWork`.
10
16
  */
11
17
  export interface UnitOfWorkPort<TxPorts> {
18
+ /**
19
+ * Run application work with transaction-scoped ports.
20
+ *
21
+ * Durable implementations should commit only if this callback resolves.
22
+ */
12
23
  transaction<Result>(work: UnitOfWorkCallback<TxPorts, Result>): Promise<Result>;
13
24
  }
25
+ /**
26
+ * Hooks for `createNoopUnitOfWork(...)`.
27
+ */
14
28
  export interface NoopUnitOfWorkOptions<TxPorts> {
15
29
  /**
16
30
  * Runs after the callback completes successfully.
@@ -26,17 +40,51 @@ export interface NoopUnitOfWorkOptions<TxPorts> {
26
40
  */
27
41
  afterRollback?: (error: unknown, tx: TxPorts) => MaybePromise<void>;
28
42
  }
43
+ /**
44
+ * Domain event captured by a buffered event recorder.
45
+ */
29
46
  export interface RecordedDomainEvent {
47
+ /**
48
+ * Event definition used to validate the payload before publishing.
49
+ */
30
50
  event: DomainEventDef;
51
+ /**
52
+ * Stable event name.
53
+ */
31
54
  eventName: string;
55
+ /**
56
+ * Unparsed payload recorded during the transaction.
57
+ */
32
58
  payload: unknown;
33
59
  }
60
+ /**
61
+ * Transaction-scoped port used to record domain events.
62
+ *
63
+ * Use cases record events here during the Unit of Work. The adapter decides
64
+ * whether to publish after commit, enqueue through an outbox, or buffer for a
65
+ * test assertion.
66
+ */
34
67
  export interface DomainEventRecorderPort {
35
- record<E extends DomainEventDef>(event: E, payload: InferEventPayload<E>): void;
68
+ /**
69
+ * Record a domain event payload.
70
+ */
71
+ record<E extends DomainEventDef>(event: E, payload: InferEventPayload<E>): Promise<void> | void;
36
72
  }
73
+ /**
74
+ * In-memory event recorder that can be inspected, cleared, or flushed.
75
+ */
37
76
  export interface BufferedDomainEventRecorder extends DomainEventRecorderPort {
77
+ /**
78
+ * Return recorded events without clearing them.
79
+ */
38
80
  entries(): readonly RecordedDomainEvent[];
81
+ /**
82
+ * Remove all recorded events.
83
+ */
39
84
  clear(): void;
85
+ /**
86
+ * Validate and publish all recorded events to an event bus in FIFO order.
87
+ */
40
88
  flush(eventBus: EventBusPort): Promise<void>;
41
89
  }
42
90
  /**
@@ -45,11 +93,20 @@ export interface BufferedDomainEventRecorder extends DomainEventRecorderPort {
45
93
  *
46
94
  * This helper does not create database transactions. It gives applications the
47
95
  * same UOW shape everywhere and runs commit/rollback hooks around the callback.
96
+ *
97
+ * @param txPortsOrFactory - Transaction-scoped ports or a factory that creates
98
+ * them per transaction call.
99
+ * @param options - Optional commit and rollback hooks.
100
+ * @returns A Unit of Work port with no durable transaction semantics.
48
101
  */
49
102
  export declare function createNoopUnitOfWork<TxPorts>(txPortsOrFactory: TxPorts | (() => TxPorts), options?: NoopUnitOfWorkOptions<TxPorts>): UnitOfWorkPort<TxPorts>;
50
103
  /**
51
- * Buffer domain events during a transaction and publish them only after the
52
- * owning Unit of Work commits.
104
+ * Create a recorder that buffers domain events until the caller flushes them.
105
+ *
106
+ * Unit of Work adapters commonly flush this recorder from an `afterCommit`
107
+ * hook so events are not published when the work rolls back.
108
+ *
109
+ * @returns A buffered domain event recorder for tests or Unit of Work adapters.
53
110
  */
54
111
  export declare function createDomainEventRecorder(): BufferedDomainEventRecorder;
55
112
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../src/ports/unit-of-work.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhF,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,MAAM,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,CAChD,EAAE,EAAE,OAAO,KACR,YAAY,CAAC,MAAM,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO;IACrC,WAAW,CAAC,MAAM,EAChB,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,CAAC,SAAS,cAAc,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,IAAI,CAAC;CACT;AAED,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,OAAO,IAAI,SAAS,mBAAmB,EAAE,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;IACd,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAC1C,gBAAgB,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,EAC3C,OAAO,GAAE,qBAAqB,CAAC,OAAO,CAAM,GAC3C,cAAc,CAAC,OAAO,CAAC,CA8BzB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,2BAA2B,CA6BvE"}
1
+ {"version":3,"file":"unit-of-work.d.ts","sourceRoot":"","sources":["../../src/ports/unit-of-work.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEhF,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,CAChD,EAAE,EAAE,OAAO,KACR,YAAY,CAAC,MAAM,CAAC,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO;IACrC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAChB,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAElD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,cAAc,EAC7B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E;;OAEG;IACH,OAAO,IAAI,SAAS,mBAAmB,EAAE,CAAC;IAC1C;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAC1C,gBAAgB,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,EAC3C,OAAO,GAAE,qBAAqB,CAAC,OAAO,CAAM,GAC3C,cAAc,CAAC,OAAO,CAAC,CA8BzB;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,IAAI,2BAA2B,CA6BvE"}
@@ -5,6 +5,11 @@ import { parseEventPayload } from "../events";
5
5
  *
6
6
  * This helper does not create database transactions. It gives applications the
7
7
  * same UOW shape everywhere and runs commit/rollback hooks around the callback.
8
+ *
9
+ * @param txPortsOrFactory - Transaction-scoped ports or a factory that creates
10
+ * them per transaction call.
11
+ * @param options - Optional commit and rollback hooks.
12
+ * @returns A Unit of Work port with no durable transaction semantics.
8
13
  */
9
14
  export function createNoopUnitOfWork(txPortsOrFactory, options = {}) {
10
15
  const createTxPorts = typeof txPortsOrFactory === "function"
@@ -32,8 +37,12 @@ export function createNoopUnitOfWork(txPortsOrFactory, options = {}) {
32
37
  };
33
38
  }
34
39
  /**
35
- * Buffer domain events during a transaction and publish them only after the
36
- * owning Unit of Work commits.
40
+ * Create a recorder that buffers domain events until the caller flushes them.
41
+ *
42
+ * Unit of Work adapters commonly flush this recorder from an `afterCommit`
43
+ * hook so events are not published when the work rolls back.
44
+ *
45
+ * @returns A buffered domain event recorder for tests or Unit of Work adapters.
37
46
  */
38
47
  export function createDomainEventRecorder() {
39
48
  const records = [];
@@ -1 +1 @@
1
- {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../src/ports/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AA0D9C;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,gBAA2C,EAC3C,UAA0C,EAAE;IAE5C,MAAM,aAAa,GACjB,OAAO,gBAAgB,KAAK,UAAU;QACpC,CAAC,CAAE,gBAAkC;QACrC,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAE7B,OAAO;QACL,KAAK,CAAC,WAAW,CACf,IAAyC;YAEzC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,IAAI,MAAc,CAAC;YAEnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,OAAO;QACL,MAAM,CAAC,KAAK,EAAE,OAAO;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK;YACH,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,QAAQ;YAClB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"unit-of-work.js","sourceRoot":"","sources":["../../src/ports/unit-of-work.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AA0G9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,gBAA2C,EAC3C,UAA0C,EAAE;IAE5C,MAAM,aAAa,GACjB,OAAO,gBAAgB,KAAK,UAAU;QACpC,CAAC,CAAE,gBAAkC;QACrC,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAE7B,OAAO;QACL,KAAK,CAAC,WAAW,CACf,IAAyC;YAEzC,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,IAAI,MAAc,CAAC;YAEnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAAC,MAAM,CAAC;oBACP,gEAAgE;gBAClE,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,OAAO,GAA0B,EAAE,CAAC;IAE1C,OAAO;QACL,MAAM,CAAC,KAAK,EAAE,OAAO;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,KAAK;gBACL,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK;YACH,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,QAAQ;YAClB,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,91 +1,295 @@
1
1
  import { type Redactor } from "../ports/redaction";
2
+ /**
3
+ * Logical provider watcher name used to toggle groups of instrumentation
4
+ * events.
5
+ */
2
6
  export type ProviderInstrumentationWatcherName = string;
7
+ /**
8
+ * Common metadata attached to every provider instrumentation event.
9
+ */
3
10
  export interface BaseProviderInstrumentationEvent {
11
+ /**
12
+ * Optional event identifier supplied by the caller.
13
+ */
4
14
  id?: string;
15
+ /**
16
+ * ISO timestamp supplied by the caller. Devtools can also assign a timestamp
17
+ * when one is omitted.
18
+ */
5
19
  timestamp?: string;
20
+ /**
21
+ * Request correlation ID for events emitted during request handling.
22
+ */
6
23
  requestId?: string;
24
+ /**
25
+ * Trace identifier for distributed tracing integrations.
26
+ */
7
27
  traceId?: string;
28
+ /**
29
+ * Span identifier for the current operation.
30
+ */
8
31
  spanId?: string;
32
+ /**
33
+ * Parent span identifier for nested operations.
34
+ */
9
35
  parentSpanId?: string;
36
+ /**
37
+ * W3C traceparent header value, when available.
38
+ */
10
39
  traceparent?: string;
40
+ /**
41
+ * Watcher category used by devtools and instrumentation sinks.
42
+ */
11
43
  watcher?: ProviderInstrumentationWatcherName;
44
+ /**
45
+ * Provider-specific structured details. Values are redacted before being
46
+ * recorded by `createProviderInstrumentation(...)`.
47
+ */
12
48
  details?: unknown;
13
49
  }
50
+ /**
51
+ * HTTP request instrumentation emitted by server adapters.
52
+ */
14
53
  export interface RequestProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
15
54
  type: "request";
55
+ /**
56
+ * HTTP method.
57
+ */
16
58
  method: string;
59
+ /**
60
+ * Request path.
61
+ */
17
62
  path: string;
63
+ /**
64
+ * Matched contract name, when known.
65
+ */
18
66
  contractName?: string;
67
+ /**
68
+ * Response status code.
69
+ */
19
70
  status?: number;
71
+ /**
72
+ * Request duration in milliseconds.
73
+ */
20
74
  durationMs?: number;
75
+ /**
76
+ * Human-readable summary for devtools lists.
77
+ */
21
78
  summary?: string;
22
79
  }
80
+ /**
81
+ * Error instrumentation emitted by framework hooks, use cases, or providers.
82
+ */
23
83
  export interface ErrorProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
24
84
  type: "error";
85
+ /**
86
+ * Error message.
87
+ */
25
88
  message: string;
89
+ /**
90
+ * Error stack trace, when available.
91
+ */
26
92
  stack?: string;
93
+ /**
94
+ * Contract associated with the error.
95
+ */
27
96
  contractName?: string;
97
+ /**
98
+ * Use case associated with the error.
99
+ */
28
100
  useCaseName?: string;
29
101
  }
102
+ /**
103
+ * Use-case lifecycle instrumentation.
104
+ */
30
105
  export interface UseCaseProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
31
106
  type: "usecase";
107
+ /**
108
+ * Use-case name.
109
+ */
32
110
  name: string;
111
+ /**
112
+ * Optional classification used by devtools.
113
+ */
33
114
  kind?: "command" | "query";
115
+ /**
116
+ * Lifecycle phase.
117
+ */
34
118
  phase: "start" | "end" | "error";
119
+ /**
120
+ * Duration in milliseconds for completed phases.
121
+ */
35
122
  durationMs?: number;
123
+ /**
124
+ * Error summary for failed phases.
125
+ */
36
126
  error?: string;
37
127
  }
128
+ /**
129
+ * Event bus instrumentation.
130
+ */
38
131
  export interface EventBusProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
39
132
  type: "eventBus";
133
+ /**
134
+ * Domain or integration event name.
135
+ */
40
136
  eventName: string;
41
137
  }
138
+ /**
139
+ * Background job instrumentation.
140
+ */
42
141
  export interface JobProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
43
142
  type: "job";
143
+ /**
144
+ * Job name.
145
+ */
44
146
  jobName: string;
45
- status: "scheduled" | "started" | "completed" | "failed";
147
+ /**
148
+ * Job lifecycle status.
149
+ */
150
+ status: "scheduled" | "started" | "completed" | "failed" | "retryScheduled" | "deadLettered";
46
151
  }
152
+ /**
153
+ * Scheduled task instrumentation.
154
+ */
47
155
  export interface ScheduleProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
48
156
  type: "schedule";
157
+ /**
158
+ * Schedule name.
159
+ */
49
160
  scheduleName: string;
161
+ /**
162
+ * Schedule run lifecycle status.
163
+ */
50
164
  status: "started" | "completed" | "failed";
165
+ /**
166
+ * Cron expression for the schedule, when known.
167
+ */
51
168
  cron?: string;
169
+ /**
170
+ * Time zone used by the schedule, when known.
171
+ */
52
172
  timezone?: string;
53
173
  }
174
+ /**
175
+ * Provider lifecycle instrumentation emitted during setup, start, and stop.
176
+ */
54
177
  export interface ProviderLifecycleInstrumentationEvent extends BaseProviderInstrumentationEvent {
55
178
  type: "provider";
179
+ /**
180
+ * Provider name.
181
+ */
56
182
  providerName: string;
183
+ /**
184
+ * Lifecycle action.
185
+ */
57
186
  action: "setup" | "start" | "stop";
58
187
  }
188
+ /**
189
+ * Custom provider instrumentation event for provider-owned operations.
190
+ */
59
191
  export interface CustomProviderInstrumentationEvent extends BaseProviderInstrumentationEvent {
60
192
  type: "custom";
193
+ /**
194
+ * Stable event name.
195
+ */
61
196
  name: string;
197
+ /**
198
+ * Short display label for devtools.
199
+ */
62
200
  label?: string;
201
+ /**
202
+ * Human-readable summary for devtools lists.
203
+ */
63
204
  summary?: string;
64
205
  }
206
+ /**
207
+ * Union of instrumentation events that provider sinks can receive.
208
+ */
65
209
  export type ProviderInstrumentationEvent = RequestProviderInstrumentationEvent | ErrorProviderInstrumentationEvent | UseCaseProviderInstrumentationEvent | EventBusProviderInstrumentationEvent | JobProviderInstrumentationEvent | ScheduleProviderInstrumentationEvent | ProviderLifecycleInstrumentationEvent | CustomProviderInstrumentationEvent;
210
+ /**
211
+ * Input accepted by provider instrumentation recorders.
212
+ */
66
213
  export type ProviderInstrumentationEventInput = ProviderInstrumentationEvent;
214
+ /**
215
+ * Custom instrumentation input. `type: "custom"` is added by the helper.
216
+ */
67
217
  export type ProviderCustomInstrumentationEventInput = Omit<CustomProviderInstrumentationEvent, "type">;
218
+ /**
219
+ * Sink for provider instrumentation events.
220
+ */
68
221
  export interface ProviderInstrumentationPort<EventInput extends ProviderInstrumentationEventInput = ProviderInstrumentationEventInput, WatcherName extends string = ProviderInstrumentationWatcherName, RecordResult = unknown> {
222
+ /**
223
+ * Record an instrumentation event.
224
+ */
69
225
  record(event: EventInput): RecordResult;
226
+ /**
227
+ * Return whether a watcher is enabled. Missing methods are treated as
228
+ * enabled so simple sinks only need to implement `record`.
229
+ */
70
230
  isWatcherEnabled?(name: WatcherName): boolean;
71
231
  }
232
+ /**
233
+ * Options for creating a provider instrumentation helper.
234
+ */
72
235
  export interface ProviderInstrumentationOptions {
236
+ /**
237
+ * Provider name to attach to custom event details.
238
+ */
73
239
  providerName: string;
240
+ /**
241
+ * Default watcher name for events emitted by the helper.
242
+ */
74
243
  watcher?: ProviderInstrumentationWatcherName;
244
+ /**
245
+ * Optional redactor applied after Beignet's default redaction pass.
246
+ */
75
247
  redact?: Redactor<ProviderInstrumentationEventInput>;
76
248
  }
249
+ /**
250
+ * Convenience wrapper used by providers to emit safe, watcher-aware events.
251
+ */
77
252
  export interface ProviderInstrumentation {
253
+ /**
254
+ * Resolved instrumentation port, when one is available.
255
+ */
78
256
  port: ProviderInstrumentationPort | undefined;
257
+ /**
258
+ * Return whether the given watcher is enabled.
259
+ */
79
260
  isEnabled(watcher?: ProviderInstrumentationWatcherName): boolean;
261
+ /**
262
+ * Record a fully formed provider instrumentation event.
263
+ */
80
264
  record(event: ProviderInstrumentationEventInput): unknown;
265
+ /**
266
+ * Record a provider-owned custom event.
267
+ */
81
268
  custom(event: ProviderCustomInstrumentationEventInput): unknown;
82
269
  }
270
+ /**
271
+ * Values accepted by `createProviderInstrumentation(...)`.
272
+ */
83
273
  export type ProviderInstrumentationTarget = ProviderInstrumentationPort | ProviderInstrumentation | {
84
274
  devtools?: ProviderInstrumentationPort | ProviderInstrumentation;
85
275
  instrumentation?: ProviderInstrumentationPort | ProviderInstrumentation;
86
276
  } | undefined;
277
+ /**
278
+ * Return whether a value is a provider instrumentation helper.
279
+ */
87
280
  export declare function isProviderInstrumentation(value: unknown): value is ProviderInstrumentation;
281
+ /**
282
+ * Return whether a value is a provider instrumentation port.
283
+ */
88
284
  export declare function isProviderInstrumentationPort(value: unknown): value is ProviderInstrumentationPort;
285
+ /**
286
+ * Resolve an instrumentation port from a direct port, helper, or context-like
287
+ * object.
288
+ */
89
289
  export declare function resolveProviderInstrumentationPort(target: ProviderInstrumentationTarget): ProviderInstrumentationPort | undefined;
290
+ /**
291
+ * Create a provider instrumentation helper that handles watcher checks,
292
+ * default watcher assignment, redaction, and sink failures.
293
+ */
90
294
  export declare function createProviderInstrumentation(target: ProviderInstrumentationTarget, options: ProviderInstrumentationOptions): ProviderInstrumentation;
91
295
  //# sourceMappingURL=instrumentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,18 @@ import { redactValue } from "../ports/redaction";
2
2
  function isObject(value) {
3
3
  return typeof value === "object" && value !== null;
4
4
  }
5
+ /**
6
+ * Return whether a value is a provider instrumentation helper.
7
+ */
5
8
  export function isProviderInstrumentation(value) {
6
9
  return (isObject(value) &&
7
10
  typeof value.record === "function" &&
8
11
  typeof value.custom === "function" &&
9
12
  typeof value.isEnabled === "function");
10
13
  }
14
+ /**
15
+ * Return whether a value is a provider instrumentation port.
16
+ */
11
17
  export function isProviderInstrumentationPort(value) {
12
18
  return isObject(value) && typeof value.record === "function";
13
19
  }
@@ -18,6 +24,10 @@ function resolveProviderInstrumentationValue(value) {
18
24
  return value;
19
25
  return undefined;
20
26
  }
27
+ /**
28
+ * Resolve an instrumentation port from a direct port, helper, or context-like
29
+ * object.
30
+ */
21
31
  export function resolveProviderInstrumentationPort(target) {
22
32
  if (!target)
23
33
  return undefined;
@@ -38,6 +48,10 @@ function withProviderDetails(providerName, details) {
38
48
  }
39
49
  return { providerName, value: details };
40
50
  }
51
+ /**
52
+ * Create a provider instrumentation helper that handles watcher checks,
53
+ * default watcher assignment, redaction, and sink failures.
54
+ */
41
55
  export function createProviderInstrumentation(target, options) {
42
56
  if (isProviderInstrumentation(target)) {
43
57
  return target;
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAoIhE,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,KAAc;IAEd,OAAO,CACL,QAAQ,CAAC,KAAK,CAAC;QACf,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU;QAClC,OAAO,KAAK,CAAC,SAAS,KAAK,UAAU,CACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAc;IAEd,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;AAC/D,CAAC;AAED,SAAS,mCAAmC,CAC1C,KAAc;IAEd,IAAI,yBAAyB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACxD,IAAI,6BAA6B,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,MAAqC;IAErC,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAE9B,MAAM,UAAU,GAAG,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,OAAO,CACL,mCAAmC,CAAC,MAAM,CAAC,eAAe,CAAC;QAC3D,mCAAmC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACrD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,YAAoB,EAAE,OAAgB;IACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,MAAqC,EACrC,OAAuC;IAEvC,IAAI,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,kCAAkC,CAAC,MAAM,CAAC,CAAC;IAExD,SAAS,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;QAC1C,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,SAAS,MAAM,CAAC,KAAwC;QACtD,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAErD,MAAM,gBAAgB,GACpB,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE;YACxC,CAAC,CAAC,KAAK,CAAC;QAEZ,IAAI,QAA2C,CAAC;QAChD,IAAI,CAAC;YACH,QAAQ,GAAG,OAAO,CAAC,MAAM;gBACvB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC/C,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,MAAM,CAAC,KAA8C;QAC5D,OAAO,MAAM,CAAC;YACZ,GAAG,KAAK;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;YACzC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS;QACT,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"instrumentation.js","sourceRoot":"","sources":["../../src/providers/instrumentation.ts"],"names":[],"mappings":"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"}
@@ -33,10 +33,22 @@ export interface ProviderConfigDef<CfgSchema extends StandardSchemaV1> {
33
33
  */
34
34
  envPrefix?: string;
35
35
  }
36
+ /**
37
+ * Value or promise of that value.
38
+ */
36
39
  export type MaybePromise<T> = T | Promise<T>;
40
+ /**
41
+ * Context passed to provider lifecycle hooks.
42
+ */
37
43
  export type ProviderLifecycleContext = {
44
+ /**
45
+ * Final app ports after provider setup.
46
+ */
38
47
  ports: Readonly<ProviderPorts>;
39
48
  };
49
+ /**
50
+ * Result returned from provider setup.
51
+ */
40
52
  export type ProviderSetupResult<ProvidedPorts extends ProviderPorts> = {
41
53
  /**
42
54
  * Ports contributed by this provider.
@@ -97,7 +109,8 @@ export interface ServiceProvider<Ports, CfgSchema extends StandardSchemaV1 = Sta
97
109
  config?: ProviderConfigDef<CfgSchema>;
98
110
  /**
99
111
  * Setup phase: create the ports this provider contributes.
100
- * Called during app initialization, before routes are registered.
112
+ * Called during server initialization before provider `start` hooks and
113
+ * before the server handles requests.
101
114
  *
102
115
  * @param ctx.ports - Ports contributed by previous providers
103
116
  * @param ctx.config - Validated config (if config was defined), or undefined
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA4JH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAK5B,GAAqD;IAErD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyKH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAK5B,GAAqD;IAErD,OAAO,GAAG,CAAC;AACb,CAAC"}