@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
@@ -1,105 +1,351 @@
1
1
  import type { StandardSchemaV1 } from "@standard-schema/spec";
2
+ /**
3
+ * Any Standard Schema compatible validator.
4
+ */
2
5
  export type StandardSchema = StandardSchemaV1<unknown, unknown>;
6
+ /**
7
+ * Value or promise of that value.
8
+ */
3
9
  export type MaybePromise<T> = T | Promise<T>;
10
+ /**
11
+ * Infer the parsed output type from a Standard Schema.
12
+ */
4
13
  export type InferSchemaOutput<T extends StandardSchemaV1> = StandardSchemaV1.InferOutput<T>;
14
+ /**
15
+ * Date input accepted by schedule runners.
16
+ */
5
17
  export type ScheduleDateInput = Date | string | number;
18
+ /**
19
+ * Metadata for one schedule run.
20
+ */
6
21
  export interface ScheduleRunContext {
22
+ /**
23
+ * Optional provider run ID.
24
+ */
7
25
  readonly id?: string;
26
+ /**
27
+ * Time the provider planned the run.
28
+ */
8
29
  readonly scheduledAt?: Date;
30
+ /**
31
+ * Time the runner triggered this execution.
32
+ */
9
33
  readonly triggeredAt: Date;
34
+ /**
35
+ * Optional provider or app source label.
36
+ */
10
37
  readonly source?: string;
11
38
  }
39
+ /**
40
+ * Minimal schedule definition shape accepted by schedule helpers.
41
+ */
12
42
  export interface SchedulePayloadDef<Name extends string = string, Payload extends StandardSchema = StandardSchema> {
43
+ /**
44
+ * Stable schedule name.
45
+ */
13
46
  readonly name: Name;
47
+ /**
48
+ * Standard Schema payload validator.
49
+ */
14
50
  readonly payload: Payload;
15
51
  }
52
+ /**
53
+ * Schedule definition created by `defineSchedule(...)`.
54
+ */
16
55
  export interface ScheduleDef<Name extends string = string, Payload extends StandardSchema = StandardSchema, Ctx = unknown> extends SchedulePayloadDef<Name, Payload> {
56
+ /**
57
+ * Discriminator for schedule definitions.
58
+ */
17
59
  readonly kind: "schedule";
60
+ /**
61
+ * Cron expression consumed by schedule providers.
62
+ */
18
63
  readonly cron: string;
64
+ /**
65
+ * Optional IANA timezone consumed by schedule providers.
66
+ */
19
67
  readonly timezone?: string;
68
+ /**
69
+ * Optional human-readable description for docs and tooling.
70
+ */
20
71
  readonly description?: string;
72
+ /**
73
+ * Build a payload when the provider does not supply one.
74
+ */
21
75
  createPayload?(args: ScheduleCreatePayloadArgs<ScheduleDef<Name, Payload, Ctx>>): MaybePromise<InferSchemaOutput<Payload>>;
76
+ /**
77
+ * Handle a parsed schedule payload.
78
+ */
22
79
  handle(args: ScheduleHandleArgs<ScheduleDef<Name, Payload, Ctx>, Ctx>): MaybePromise<void>;
23
80
  }
81
+ /**
82
+ * Infer the parsed payload type for a schedule definition.
83
+ */
24
84
  export type InferSchedulePayload<S extends SchedulePayloadDef> = S["payload"] extends StandardSchemaV1<unknown, infer Output> ? Output : never;
85
+ /**
86
+ * Arguments passed to a schedule `createPayload` callback.
87
+ */
25
88
  export interface ScheduleCreatePayloadArgs<S extends SchedulePayloadDef> {
89
+ /**
90
+ * Schedule definition being run.
91
+ */
26
92
  schedule: S;
93
+ /**
94
+ * Run metadata.
95
+ */
27
96
  run: ScheduleRunContext;
28
97
  }
98
+ /**
99
+ * Arguments passed to a schedule handler.
100
+ */
29
101
  export interface ScheduleHandleArgs<S extends ScheduleDef, Ctx> {
102
+ /**
103
+ * Schedule definition being handled.
104
+ */
30
105
  schedule: S;
106
+ /**
107
+ * Parsed schedule payload.
108
+ */
31
109
  payload: InferSchedulePayload<S>;
110
+ /**
111
+ * Handler context.
112
+ */
32
113
  ctx: Ctx;
114
+ /**
115
+ * Run metadata.
116
+ */
33
117
  run: ScheduleRunContext;
34
118
  }
119
+ /**
120
+ * Options for `defineSchedule(...)`.
121
+ */
35
122
  export interface DefineScheduleOptions<Name extends string, Payload extends StandardSchema, Ctx> {
123
+ /**
124
+ * Cron expression consumed by schedule providers.
125
+ */
36
126
  cron: string;
127
+ /**
128
+ * Optional IANA timezone consumed by schedule providers.
129
+ */
37
130
  timezone?: string;
131
+ /**
132
+ * Standard Schema payload validator.
133
+ */
38
134
  payload: Payload;
135
+ /**
136
+ * Optional human-readable description for docs and tooling.
137
+ */
39
138
  description?: string;
139
+ /**
140
+ * Build a payload when the provider does not supply one.
141
+ */
40
142
  createPayload?(args: ScheduleCreatePayloadArgs<ScheduleDef<Name, Payload, Ctx>>): MaybePromise<InferSchemaOutput<Payload>>;
143
+ /**
144
+ * Handle a parsed schedule payload.
145
+ */
41
146
  handle(args: ScheduleHandleArgs<ScheduleDef<Name, Payload, Ctx>, Ctx>): MaybePromise<void>;
42
147
  }
148
+ /**
149
+ * Options for one manual schedule run.
150
+ */
43
151
  export interface ScheduleRunOptions<Payload = unknown> {
152
+ /**
153
+ * Payload supplied by the provider or manual runner.
154
+ */
44
155
  payload?: Payload;
156
+ /**
157
+ * Optional provider run ID.
158
+ */
45
159
  id?: string;
160
+ /**
161
+ * Time the provider planned the run.
162
+ */
46
163
  scheduledAt?: ScheduleDateInput;
164
+ /**
165
+ * Time the runner triggered the execution.
166
+ */
47
167
  triggeredAt?: ScheduleDateInput;
168
+ /**
169
+ * Optional provider or app source label.
170
+ */
48
171
  source?: string;
49
172
  }
173
+ /**
174
+ * Arguments for `runSchedule(...)`.
175
+ */
50
176
  export type ScheduleRunArgs<Ctx, Payload = unknown> = ScheduleRunOptions<Payload> & {
177
+ /**
178
+ * Handler context.
179
+ */
51
180
  ctx: Ctx;
52
181
  };
182
+ /**
183
+ * Arguments passed to schedule lifecycle hooks.
184
+ */
53
185
  export interface ScheduleLifecycleArgs<S extends ScheduleDef = ScheduleDef> {
186
+ /**
187
+ * Schedule definition being run.
188
+ */
54
189
  schedule: S;
190
+ /**
191
+ * Parsed schedule payload.
192
+ */
55
193
  payload: InferSchedulePayload<S>;
194
+ /**
195
+ * Run metadata.
196
+ */
56
197
  run: ScheduleRunContext;
57
198
  }
199
+ /**
200
+ * Arguments passed to a schedule error hook.
201
+ */
58
202
  export interface ScheduleErrorArgs<S extends ScheduleDef = ScheduleDef> {
203
+ /**
204
+ * Schedule definition being run.
205
+ */
59
206
  schedule: S;
207
+ /**
208
+ * Parsed payload when validation or payload creation completed.
209
+ */
60
210
  payload?: InferSchedulePayload<S>;
211
+ /**
212
+ * Run metadata.
213
+ */
61
214
  run: ScheduleRunContext;
215
+ /**
216
+ * Error thrown by payload creation, validation, or the handler.
217
+ */
62
218
  error: unknown;
63
219
  }
220
+ /**
221
+ * Schedule lifecycle hook names.
222
+ */
64
223
  export type ScheduleHookName = "start" | "success" | "error";
224
+ /**
225
+ * Arguments passed when a schedule lifecycle hook itself fails.
226
+ */
65
227
  export interface ScheduleHookErrorArgs<S extends ScheduleDef = ScheduleDef> {
228
+ /**
229
+ * Schedule definition being run.
230
+ */
66
231
  schedule: S;
232
+ /**
233
+ * Parsed payload when available.
234
+ */
67
235
  payload?: InferSchedulePayload<S>;
236
+ /**
237
+ * Run metadata.
238
+ */
68
239
  run: ScheduleRunContext;
240
+ /**
241
+ * Lifecycle hook that failed.
242
+ */
69
243
  hook: ScheduleHookName;
244
+ /**
245
+ * Hook error.
246
+ */
70
247
  error: unknown;
248
+ /**
249
+ * Original schedule error when the failing hook is `onError`.
250
+ */
71
251
  scheduleError?: unknown;
72
252
  }
253
+ /**
254
+ * Options for the inline schedule runner.
255
+ */
73
256
  export interface InlineScheduleRunnerOptions<Ctx> {
257
+ /**
258
+ * Static schedule context or factory evaluated for each run.
259
+ */
74
260
  ctx?: Ctx | (() => MaybePromise<Ctx>);
261
+ /**
262
+ * Clock used when run timestamps are not provided.
263
+ */
75
264
  now?: () => Date;
265
+ /**
266
+ * Called after payload validation and before the schedule handler.
267
+ */
76
268
  onStart?<S extends ScheduleDef<string, StandardSchema, Ctx>>(args: ScheduleLifecycleArgs<S>): MaybePromise<void>;
269
+ /**
270
+ * Called after the schedule handler completes.
271
+ */
77
272
  onSuccess?<S extends ScheduleDef<string, StandardSchema, Ctx>>(args: ScheduleLifecycleArgs<S>): MaybePromise<void>;
273
+ /**
274
+ * Called when payload creation, validation, or the handler fails.
275
+ */
78
276
  onError?<S extends ScheduleDef<string, StandardSchema, Ctx>>(args: ScheduleErrorArgs<S>): MaybePromise<void>;
277
+ /**
278
+ * Called when a lifecycle hook throws.
279
+ */
79
280
  onHookError?<S extends ScheduleDef<string, StandardSchema, Ctx>>(args: ScheduleHookErrorArgs<S>): MaybePromise<void>;
80
281
  }
282
+ /**
283
+ * Port shape for running schedules.
284
+ */
81
285
  export interface ScheduleRunnerPort<Ctx = unknown> {
286
+ /**
287
+ * Run a schedule with optional provider metadata and payload.
288
+ */
82
289
  run<S extends ScheduleDef<string, StandardSchema, Ctx>>(schedule: S, options?: ScheduleRunOptions<InferSchedulePayload<S>>): Promise<void>;
83
290
  }
291
+ /**
292
+ * Local/test schedule runner that executes handlers inline.
293
+ */
84
294
  export interface InlineScheduleRunner<Ctx = unknown> extends ScheduleRunnerPort<Ctx> {
85
295
  }
296
+ /**
297
+ * Context-bound schedule helper factory.
298
+ */
86
299
  export interface ScheduleHandlers<Ctx> {
300
+ /**
301
+ * Define a schedule with the bound context type.
302
+ */
87
303
  defineSchedule<Name extends string, Payload extends StandardSchema>(name: Name, options: DefineScheduleOptions<Name, Payload, Ctx>): ScheduleDef<Name, Payload, Ctx>;
304
+ /**
305
+ * Create an inline schedule runner with the bound context type.
306
+ */
88
307
  createInlineScheduleRunner(options?: InlineScheduleRunnerOptions<Ctx>): InlineScheduleRunner<Ctx>;
89
308
  }
309
+ /**
310
+ * Error thrown when schedule payload validation fails.
311
+ */
90
312
  export declare class ScheduleValidationError extends Error {
313
+ /**
314
+ * Raw Standard Schema validation issues.
315
+ */
91
316
  readonly issues: readonly StandardSchemaV1.Issue[];
92
317
  constructor(args: {
93
318
  name: string;
94
319
  issues: readonly StandardSchemaV1.Issue[];
95
320
  });
96
321
  }
322
+ /**
323
+ * Error thrown when schedule run metadata cannot be normalized.
324
+ */
97
325
  export declare class ScheduleRunContextError extends Error {
98
326
  constructor(message: string);
99
327
  }
328
+ /**
329
+ * Define a typed schedule.
330
+ *
331
+ * Cron and timezone are metadata for schedule providers. The inline runner only
332
+ * runs schedules when its `run(...)` method is called.
333
+ */
100
334
  export declare function defineSchedule<Name extends string, Payload extends StandardSchema, Ctx = unknown>(name: Name, options: DefineScheduleOptions<Name, Payload, Ctx>): ScheduleDef<Name, Payload, Ctx>;
335
+ /**
336
+ * Validate and parse a schedule payload with the schedule's Standard Schema.
337
+ */
101
338
  export declare function parseSchedulePayload<S extends SchedulePayloadDef>(schedule: S, payload: unknown): Promise<InferSchedulePayload<S>>;
339
+ /**
340
+ * Run one schedule directly with an explicit context.
341
+ */
102
342
  export declare function runSchedule<Ctx, S extends ScheduleDef<string, StandardSchema, Ctx>>(schedule: S, args: ScheduleRunArgs<Ctx, InferSchedulePayload<S>>): Promise<void>;
343
+ /**
344
+ * Create a local/test schedule runner that executes handlers inline.
345
+ */
103
346
  export declare function createInlineScheduleRunner<Ctx>(options?: InlineScheduleRunnerOptions<Ctx>): InlineScheduleRunner<Ctx>;
347
+ /**
348
+ * Create schedule helper methods bound to an application context type.
349
+ */
104
350
  export declare function createScheduleHandlers<Ctx>(): ScheduleHandlers<Ctx>;
105
351
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schedules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schedules/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
+ /**
2
+ * Error thrown when schedule payload validation fails.
3
+ */
1
4
  export class ScheduleValidationError extends Error {
5
+ /**
6
+ * Raw Standard Schema validation issues.
7
+ */
2
8
  issues;
3
9
  constructor(args) {
4
10
  super(`Schedule "${args.name}" payload validation failed: ${formatIssues(args.issues)}`);
@@ -6,6 +12,9 @@ export class ScheduleValidationError extends Error {
6
12
  this.issues = args.issues;
7
13
  }
8
14
  }
15
+ /**
16
+ * Error thrown when schedule run metadata cannot be normalized.
17
+ */
9
18
  export class ScheduleRunContextError extends Error {
10
19
  constructor(message) {
11
20
  super(message);
@@ -108,6 +117,12 @@ async function runErrorHook(handler, onHookError, args) {
108
117
  });
109
118
  }
110
119
  }
120
+ /**
121
+ * Define a typed schedule.
122
+ *
123
+ * Cron and timezone are metadata for schedule providers. The inline runner only
124
+ * runs schedules when its `run(...)` method is called.
125
+ */
111
126
  export function defineSchedule(name, options) {
112
127
  return {
113
128
  kind: "schedule",
@@ -120,11 +135,17 @@ export function defineSchedule(name, options) {
120
135
  handle: options.handle,
121
136
  };
122
137
  }
138
+ /**
139
+ * Validate and parse a schedule payload with the schedule's Standard Schema.
140
+ */
123
141
  export async function parseSchedulePayload(schedule, payload) {
124
142
  return (await parsePayload(schedule.payload, payload, {
125
143
  name: schedule.name,
126
144
  }));
127
145
  }
146
+ /**
147
+ * Run one schedule directly with an explicit context.
148
+ */
128
149
  export async function runSchedule(schedule, args) {
129
150
  const run = createRunContext(args, () => new Date());
130
151
  const payload = await resolveSchedulePayload(schedule, args, run);
@@ -135,6 +156,9 @@ export async function runSchedule(schedule, args) {
135
156
  run,
136
157
  });
137
158
  }
159
+ /**
160
+ * Create a local/test schedule runner that executes handlers inline.
161
+ */
138
162
  export function createInlineScheduleRunner(options = {}) {
139
163
  const now = options.now ?? (() => new Date());
140
164
  return {
@@ -165,6 +189,9 @@ export function createInlineScheduleRunner(options = {}) {
165
189
  },
166
190
  };
167
191
  }
192
+ /**
193
+ * Create schedule helper methods bound to an application context type.
194
+ */
168
195
  export function createScheduleHandlers() {
169
196
  return {
170
197
  defineSchedule(name, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedules/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schedules/index.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,23 @@
5
5
  import type { AnyPorts } from "../ports";
6
6
  import type { HttpRequestLike, HttpResponseLike } from "./types";
7
7
  /**
8
- * Health check result
8
+ * Health check result returned by health handlers.
9
9
  */
10
10
  export interface HealthCheckResult {
11
+ /**
12
+ * Whether the app is healthy.
13
+ */
11
14
  ok: boolean;
15
+ /**
16
+ * Optional per-dependency health details.
17
+ */
12
18
  details?: Record<string, {
13
19
  ok: boolean;
14
20
  message?: string;
15
21
  }>;
16
22
  }
17
23
  /**
18
- * Health check configuration
24
+ * Health check configuration.
19
25
  */
20
26
  export interface HealthConfig<Ports> {
21
27
  /** Enable health endpoint (default: false) */
@@ -30,12 +36,15 @@ export interface HealthConfig<Ports> {
30
36
  check?: (ports: Ports) => Promise<HealthCheckResult>;
31
37
  }
32
38
  /**
33
- * Application environment type
39
+ * Application environment.
34
40
  */
35
41
  export type AppEnvironment = "development" | "production" | "test";
36
42
  /**
37
- * Create a health check handler
38
- * Returns a function that can be called with an HttpRequestLike to get an HttpResponseLike
43
+ * Create a framework-neutral health check handler.
44
+ *
45
+ * The returned handler reports 200 when healthy and 503 when unhealthy. Thrown
46
+ * health check errors include details in development/test and use a generic
47
+ * message in production.
39
48
  */
40
49
  export declare function createHealthHandler<Ports extends AnyPorts>(ports: Ports, healthConfig: HealthConfig<Ports> | undefined, env: AppEnvironment): (req: HttpRequestLike) => Promise<HttpResponseLike>;
41
50
  //# sourceMappingURL=health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,EAC7C,GAAG,EAAE,cAAc,GAClB,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAoCrD"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,SAAS,QAAQ,EACxD,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,SAAS,EAC7C,GAAG,EAAE,cAAc,GAClB,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAoCrD"}
@@ -3,8 +3,11 @@
3
3
  * Health check handler for Beignet server adapters.
4
4
  */
5
5
  /**
6
- * Create a health check handler
7
- * Returns a function that can be called with an HttpRequestLike to get an HttpResponseLike
6
+ * Create a framework-neutral health check handler.
7
+ *
8
+ * The returned handler reports 200 when healthy and 503 when unhealthy. Thrown
9
+ * health check errors include details in development/test and use a generic
10
+ * message in production.
8
11
  */
9
12
  export function createHealthHandler(ports, healthConfig, env) {
10
13
  return async (_req) => {
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAY,EACZ,YAA6C,EAC7C,GAAmB;IAEnB,OAAO,KAAK,EAAE,IAAqB,EAA6B,EAAE;QAChE,IAAI,MAAyB,CAAC;QAC9B,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mDAAmD;gBACnD,iFAAiF;gBACjF,MAAM,mBAAmB,GAAG,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,CAAC;gBACpE,MAAM,GAAG;oBACP,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK;4BACT,OAAO,EAAE,mBAAmB;gCAC1B,CAAC,CAAC,KAAK,YAAY,KAAK;oCACtB,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCACjB,CAAC,CAAC,qBAAqB;yBAC1B;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAErC,OAAO;YACL,MAAM;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwCH;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAY,EACZ,YAA6C,EAC7C,GAAmB;IAEnB,OAAO,KAAK,EAAE,IAAqB,EAA6B,EAAE;QAChE,IAAI,MAAyB,CAAC;QAC9B,IAAI,YAAY,EAAE,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,mDAAmD;gBACnD,iFAAiF;gBACjF,MAAM,mBAAmB,GAAG,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,MAAM,CAAC;gBACpE,MAAM,GAAG;oBACP,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE;wBACP,KAAK,EAAE;4BACL,EAAE,EAAE,KAAK;4BACT,OAAO,EAAE,mBAAmB;gCAC1B,CAAC,CAAC,KAAK,YAAY,KAAK;oCACtB,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCACjB,CAAC,CAAC,qBAAqB;yBAC1B;qBACF;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAErC,OAAO;YACL,MAAM;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -1,42 +1,84 @@
1
- import { type AuthPort, type AuthSession } from "../../ports";
2
- import type { HttpRequestLike, HttpResponse, ServerHook } from "../types";
1
+ import type { HttpRequestLike, RouteHook } from "../types";
3
2
  type MaybePromise<T> = T | Promise<T>;
4
- export type AuthHookMode = "public" | "optional" | "required";
5
- export type AuthHookModeInput = AuthHookMode | boolean | null | undefined;
6
- export type CtxWithAuthPort = {
7
- ports: {
8
- auth: AuthPort;
9
- };
10
- };
3
+ /**
4
+ * Arguments passed to auth route-hook callbacks.
5
+ */
11
6
  export type AuthHookArgs<Ctx> = {
7
+ /**
8
+ * Framework-neutral request.
9
+ */
12
10
  req: HttpRequestLike;
11
+ /**
12
+ * Current route handler context.
13
+ */
13
14
  ctx: Ctx;
15
+ /**
16
+ * Matched contract metadata and schemas.
17
+ */
14
18
  contract: {
15
19
  metadata?: Record<string, unknown>;
16
20
  };
21
+ /**
22
+ * Parsed path parameters.
23
+ */
17
24
  path: unknown;
25
+ /**
26
+ * Parsed query parameters.
27
+ */
18
28
  query: unknown;
29
+ /**
30
+ * Parsed request headers.
31
+ */
19
32
  headers: unknown;
33
+ /**
34
+ * Parsed request body.
35
+ */
20
36
  body: unknown;
21
37
  };
22
- export type AuthHookAssignArgs<Ctx, Session> = AuthHookArgs<Ctx> & {
23
- session: Session | null;
24
- };
25
- export type AuthHookUnauthorizedArgs<Ctx, Session> = AuthHookArgs<Ctx> & {
26
- session: Session | null;
27
- };
28
- export type AuthHooksOptions<Ctx, Session> = {
38
+ /**
39
+ * Options for route-scoped auth hooks.
40
+ */
41
+ export type AuthHooksOptions<Ctx, AddedCtx extends object> = {
42
+ /**
43
+ * Hook name prefix used in diagnostics.
44
+ */
29
45
  name?: string;
30
- mode?: (args: AuthHookArgs<Ctx>) => MaybePromise<AuthHookModeInput>;
31
- getSession?: (args: AuthHookArgs<Ctx>) => MaybePromise<Session | null>;
32
- isAuthenticated?: (session: Session | null) => boolean;
33
- assign?: (args: AuthHookAssignArgs<Ctx, Session>) => MaybePromise<Ctx>;
34
- unauthorized?: (args: AuthHookUnauthorizedArgs<Ctx, Session>) => MaybePromise<HttpResponse>;
46
+ /**
47
+ * Resolve authenticated context additions for the current request.
48
+ *
49
+ * Return `null` when the request is unauthenticated. Required hooks will
50
+ * reject that request; optional hooks will add no auth context.
51
+ */
52
+ resolve: (args: AuthHookArgs<Ctx>) => MaybePromise<AddedCtx | null>;
53
+ };
54
+ /**
55
+ * Route-scoped auth hook set.
56
+ */
57
+ export type AuthRouteHooks<Ctx, AddedCtx extends object> = {
58
+ /**
59
+ * Mark a route as intentionally public.
60
+ */
61
+ public: () => RouteHook<Ctx, Record<string, never>>;
62
+ /**
63
+ * Resolve auth when present and add optional auth fields to the handler ctx.
64
+ */
65
+ optional: () => RouteHook<Ctx, Partial<AddedCtx>>;
66
+ /**
67
+ * Require auth and add authenticated fields to the handler ctx.
68
+ */
69
+ required: () => RouteHook<Ctx, AddedCtx>;
35
70
  };
36
- type InferAuthSession<TAuth> = TAuth extends AuthPort<infer User, infer SessionMetadata> ? AuthSession<User, SessionMetadata> : unknown;
37
- export declare function createAuthHooks<Ctx extends CtxWithAuthPort>(options?: AuthHooksOptions<Ctx, InferAuthSession<Ctx["ports"]["auth"]>>): ServerHook<Ctx, Ctx["ports"]>;
38
- export declare function createAuthHooks<Ctx, Session>(options: AuthHooksOptions<Ctx, Session> & {
39
- getSession: (args: AuthHookArgs<Ctx>) => MaybePromise<Session | null>;
40
- }): ServerHook<Ctx>;
71
+ /**
72
+ * Create route-scoped authentication hooks.
73
+ *
74
+ * Use `auth.required()` on routes that require an authenticated actor and
75
+ * `auth.optional()` where handlers can use auth when present. The returned
76
+ * route hooks enrich handler `ctx`; business authorization still belongs in
77
+ * feature policies or use cases.
78
+ *
79
+ * @param options - Auth resolution callback and optional diagnostic name.
80
+ * @returns Public, optional, and required route-hook factories.
81
+ */
82
+ export declare function createAuthHooks<Ctx, AddedCtx extends object>(options: AuthHooksOptions<Ctx, AddedCtx>): AuthRouteHooks<Ctx, AddedCtx>;
41
83
  export {};
42
84
  //# sourceMappingURL=auth.d.ts.map