@beignet/core 0.0.2 → 0.0.4

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 (360) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/README.md +821 -30
  3. package/dist/application/index.d.ts +28 -2
  4. package/dist/application/index.d.ts.map +1 -1
  5. package/dist/application/index.js +140 -12
  6. package/dist/application/index.js.map +1 -1
  7. package/dist/client/client.d.ts +2 -2
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +136 -48
  10. package/dist/client/client.js.map +1 -1
  11. package/dist/client/error-messages.d.ts +14 -0
  12. package/dist/client/error-messages.d.ts.map +1 -0
  13. package/dist/client/error-messages.js +23 -0
  14. package/dist/client/error-messages.js.map +1 -0
  15. package/dist/client/index.d.ts +8 -4
  16. package/dist/client/index.d.ts.map +1 -1
  17. package/dist/client/index.js +6 -2
  18. package/dist/client/index.js.map +1 -1
  19. package/dist/client/types.d.ts +35 -5
  20. package/dist/client/types.d.ts.map +1 -1
  21. package/dist/client-only.d.ts +8 -0
  22. package/dist/client-only.d.ts.map +1 -0
  23. package/dist/client-only.js +8 -0
  24. package/dist/client-only.js.map +1 -0
  25. package/dist/config/index.d.ts +5 -5
  26. package/dist/config/index.d.ts.map +1 -1
  27. package/dist/config/index.js +2 -2
  28. package/dist/config/index.js.map +1 -1
  29. package/dist/contracts/catalog-errors.d.ts +27 -0
  30. package/dist/contracts/catalog-errors.d.ts.map +1 -0
  31. package/dist/contracts/catalog-errors.js +69 -0
  32. package/dist/contracts/catalog-errors.js.map +1 -0
  33. package/dist/contracts/contract-builder.d.ts +15 -12
  34. package/dist/contracts/contract-builder.d.ts.map +1 -1
  35. package/dist/contracts/contract-builder.js +15 -41
  36. package/dist/contracts/contract-builder.js.map +1 -1
  37. package/dist/contracts/contract-group.d.ts +11 -8
  38. package/dist/contracts/contract-group.d.ts.map +1 -1
  39. package/dist/contracts/contract-group.js +13 -40
  40. package/dist/contracts/contract-group.js.map +1 -1
  41. package/dist/contracts/contract-like.d.ts +1 -1
  42. package/dist/contracts/contract-like.d.ts.map +1 -1
  43. package/dist/contracts/index.d.ts +13 -9
  44. package/dist/contracts/index.d.ts.map +1 -1
  45. package/dist/contracts/index.js +9 -5
  46. package/dist/contracts/index.js.map +1 -1
  47. package/dist/contracts/openapi-meta.d.ts +48 -0
  48. package/dist/contracts/openapi-meta.d.ts.map +1 -1
  49. package/dist/contracts/openapi-meta.js +3 -0
  50. package/dist/contracts/openapi-meta.js.map +1 -1
  51. package/dist/contracts/path-template.d.ts +1 -1
  52. package/dist/contracts/path-template.js +2 -2
  53. package/dist/contracts/path-template.js.map +1 -1
  54. package/dist/contracts/schema-shape.d.ts +37 -0
  55. package/dist/contracts/schema-shape.d.ts.map +1 -0
  56. package/dist/contracts/schema-shape.js +61 -0
  57. package/dist/contracts/schema-shape.js.map +1 -0
  58. package/dist/contracts/success-status.d.ts +32 -0
  59. package/dist/contracts/success-status.d.ts.map +1 -0
  60. package/dist/contracts/success-status.js +18 -0
  61. package/dist/contracts/success-status.js.map +1 -0
  62. package/dist/contracts/types.d.ts +25 -5
  63. package/dist/contracts/types.d.ts.map +1 -1
  64. package/dist/contracts/types.js.map +1 -1
  65. package/dist/contracts/utils.d.ts +1 -1
  66. package/dist/contracts/utils.d.ts.map +1 -1
  67. package/dist/contracts/utils.js +1 -1
  68. package/dist/contracts/utils.js.map +1 -1
  69. package/dist/domain/events.d.ts +1 -1
  70. package/dist/domain/events.d.ts.map +1 -1
  71. package/dist/domain/events.js +1 -1
  72. package/dist/domain/events.js.map +1 -1
  73. package/dist/domain/index.d.ts +3 -3
  74. package/dist/domain/index.d.ts.map +1 -1
  75. package/dist/domain/index.js +3 -3
  76. package/dist/domain/index.js.map +1 -1
  77. package/dist/errors/catalog.d.ts +9 -1
  78. package/dist/errors/catalog.d.ts.map +1 -1
  79. package/dist/errors/catalog.js +7 -1
  80. package/dist/errors/catalog.js.map +1 -1
  81. package/dist/errors/http.d.ts +10 -0
  82. package/dist/errors/http.d.ts.map +1 -1
  83. package/dist/errors/http.js +11 -1
  84. package/dist/errors/http.js.map +1 -1
  85. package/dist/errors/index.d.ts +4 -4
  86. package/dist/errors/index.d.ts.map +1 -1
  87. package/dist/errors/index.js +4 -4
  88. package/dist/errors/index.js.map +1 -1
  89. package/dist/errors/response.d.ts +4 -1
  90. package/dist/errors/response.d.ts.map +1 -1
  91. package/dist/errors/response.js.map +1 -1
  92. package/dist/events/index.d.ts +10 -12
  93. package/dist/events/index.d.ts.map +1 -1
  94. package/dist/events/index.js +10 -10
  95. package/dist/events/index.js.map +1 -1
  96. package/dist/idempotency/index.d.ts +5 -3
  97. package/dist/idempotency/index.d.ts.map +1 -1
  98. package/dist/idempotency/index.js.map +1 -1
  99. package/dist/jobs/index.d.ts +148 -16
  100. package/dist/jobs/index.d.ts.map +1 -1
  101. package/dist/jobs/index.js +174 -14
  102. package/dist/jobs/index.js.map +1 -1
  103. package/dist/notifications/index.d.ts +14 -16
  104. package/dist/notifications/index.d.ts.map +1 -1
  105. package/dist/notifications/index.js +14 -14
  106. package/dist/notifications/index.js.map +1 -1
  107. package/dist/openapi/index.d.ts +8 -3
  108. package/dist/openapi/index.d.ts.map +1 -1
  109. package/dist/openapi/index.js +41 -29
  110. package/dist/openapi/index.js.map +1 -1
  111. package/dist/openapi/schema-introspector.d.ts +37 -0
  112. package/dist/openapi/schema-introspector.d.ts.map +1 -1
  113. package/dist/openapi/schema-introspector.js +23 -17
  114. package/dist/openapi/schema-introspector.js.map +1 -1
  115. package/dist/outbox/index.d.ts +18 -4
  116. package/dist/outbox/index.d.ts.map +1 -1
  117. package/dist/outbox/index.js +104 -4
  118. package/dist/outbox/index.js.map +1 -1
  119. package/dist/ports/audit.d.ts +56 -10
  120. package/dist/ports/audit.d.ts.map +1 -1
  121. package/dist/ports/audit.js +71 -3
  122. package/dist/ports/audit.js.map +1 -1
  123. package/dist/ports/auth.d.ts +92 -0
  124. package/dist/ports/auth.d.ts.map +1 -1
  125. package/dist/ports/auth.js +92 -0
  126. package/dist/ports/auth.js.map +1 -1
  127. package/dist/ports/events.d.ts +2 -2
  128. package/dist/ports/events.d.ts.map +1 -1
  129. package/dist/ports/index.d.ts +62 -33
  130. package/dist/ports/index.d.ts.map +1 -1
  131. package/dist/ports/index.js +28 -34
  132. package/dist/ports/index.js.map +1 -1
  133. package/dist/ports/policy.d.ts +32 -3
  134. package/dist/ports/policy.d.ts.map +1 -1
  135. package/dist/ports/policy.js +13 -2
  136. package/dist/ports/policy.js.map +1 -1
  137. package/dist/ports/testing.d.ts +1030 -2
  138. package/dist/ports/testing.d.ts.map +1 -1
  139. package/dist/ports/testing.js +1031 -1
  140. package/dist/ports/testing.js.map +1 -1
  141. package/dist/ports/unbound.d.ts +21 -0
  142. package/dist/ports/unbound.d.ts.map +1 -0
  143. package/dist/ports/unbound.js +57 -0
  144. package/dist/ports/unbound.js.map +1 -0
  145. package/dist/ports/unit-of-work.d.ts +1 -1
  146. package/dist/ports/unit-of-work.d.ts.map +1 -1
  147. package/dist/ports/unit-of-work.js +1 -1
  148. package/dist/ports/unit-of-work.js.map +1 -1
  149. package/dist/providers/index.d.ts +3 -2
  150. package/dist/providers/index.d.ts.map +1 -1
  151. package/dist/providers/index.js +3 -2
  152. package/dist/providers/index.js.map +1 -1
  153. package/dist/providers/instrumentation.d.ts +46 -5
  154. package/dist/providers/instrumentation.d.ts.map +1 -1
  155. package/dist/providers/instrumentation.js +25 -6
  156. package/dist/providers/instrumentation.js.map +1 -1
  157. package/dist/providers/metadata.d.ts +39 -0
  158. package/dist/providers/metadata.d.ts.map +1 -0
  159. package/dist/providers/metadata.js +169 -0
  160. package/dist/providers/metadata.js.map +1 -0
  161. package/dist/providers/provider.d.ts +114 -9
  162. package/dist/providers/provider.d.ts.map +1 -1
  163. package/dist/providers/provider.js +3 -20
  164. package/dist/providers/provider.js.map +1 -1
  165. package/dist/schedules/index.d.ts +94 -13
  166. package/dist/schedules/index.d.ts.map +1 -1
  167. package/dist/schedules/index.js +66 -12
  168. package/dist/schedules/index.js.map +1 -1
  169. package/dist/server/audit-context.d.ts +29 -0
  170. package/dist/server/audit-context.d.ts.map +1 -0
  171. package/dist/server/audit-context.js +44 -0
  172. package/dist/server/audit-context.js.map +1 -0
  173. package/dist/server/context.d.ts +141 -0
  174. package/dist/server/context.d.ts.map +1 -0
  175. package/dist/server/context.js +39 -0
  176. package/dist/server/context.js.map +1 -0
  177. package/dist/server/contract-like.d.ts +1 -1
  178. package/dist/server/contract-like.d.ts.map +1 -1
  179. package/dist/server/contract-like.js +1 -1
  180. package/dist/server/contract-like.js.map +1 -1
  181. package/dist/server/health.d.ts +2 -2
  182. package/dist/server/health.d.ts.map +1 -1
  183. package/dist/server/hooks/auth.d.ts +89 -65
  184. package/dist/server/hooks/auth.d.ts.map +1 -1
  185. package/dist/server/hooks/auth.js +84 -55
  186. package/dist/server/hooks/auth.js.map +1 -1
  187. package/dist/server/hooks/cors.d.ts +1 -1
  188. package/dist/server/hooks/cors.d.ts.map +1 -1
  189. package/dist/server/hooks/errors.d.ts +2 -2
  190. package/dist/server/hooks/errors.d.ts.map +1 -1
  191. package/dist/server/hooks/errors.js +2 -2
  192. package/dist/server/hooks/errors.js.map +1 -1
  193. package/dist/server/hooks/idempotency.d.ts +78 -0
  194. package/dist/server/hooks/idempotency.d.ts.map +1 -0
  195. package/dist/server/hooks/idempotency.js +154 -0
  196. package/dist/server/hooks/idempotency.js.map +1 -0
  197. package/dist/server/hooks/index.d.ts +8 -7
  198. package/dist/server/hooks/index.d.ts.map +1 -1
  199. package/dist/server/hooks/index.js +6 -5
  200. package/dist/server/hooks/index.js.map +1 -1
  201. package/dist/server/hooks/logging.d.ts +2 -2
  202. package/dist/server/hooks/logging.d.ts.map +1 -1
  203. package/dist/server/hooks/logging.js +1 -1
  204. package/dist/server/hooks/logging.js.map +1 -1
  205. package/dist/server/hooks/rate-limit.d.ts +25 -7
  206. package/dist/server/hooks/rate-limit.d.ts.map +1 -1
  207. package/dist/server/hooks/rate-limit.js +47 -12
  208. package/dist/server/hooks/rate-limit.js.map +1 -1
  209. package/dist/server/hooks.d.ts +1 -1
  210. package/dist/server/hooks.d.ts.map +1 -1
  211. package/dist/server/hooks.js +1 -1
  212. package/dist/server/hooks.js.map +1 -1
  213. package/dist/server/http.d.ts +84 -6
  214. package/dist/server/http.d.ts.map +1 -1
  215. package/dist/server/index.d.ts +36 -12
  216. package/dist/server/index.d.ts.map +1 -1
  217. package/dist/server/index.js +24 -8
  218. package/dist/server/index.js.map +1 -1
  219. package/dist/server/instrumentation.d.ts +108 -0
  220. package/dist/server/instrumentation.d.ts.map +1 -0
  221. package/dist/server/instrumentation.js +297 -0
  222. package/dist/server/instrumentation.js.map +1 -0
  223. package/dist/server/openapi.d.ts +3 -3
  224. package/dist/server/openapi.d.ts.map +1 -1
  225. package/dist/server/openapi.js +1 -1
  226. package/dist/server/openapi.js.map +1 -1
  227. package/dist/server/providers/index.d.ts +3 -3
  228. package/dist/server/providers/index.d.ts.map +1 -1
  229. package/dist/server/providers/index.js +3 -3
  230. package/dist/server/providers/index.js.map +1 -1
  231. package/dist/server/providers/loadProviderConfig.d.ts +2 -2
  232. package/dist/server/providers/loadProviderConfig.d.ts.map +1 -1
  233. package/dist/server/providers/loadProviderConfig.js +2 -2
  234. package/dist/server/providers/loadProviderConfig.js.map +1 -1
  235. package/dist/server/request-context.d.ts +67 -0
  236. package/dist/server/request-context.d.ts.map +1 -0
  237. package/dist/server/request-context.js +79 -0
  238. package/dist/server/request-context.js.map +1 -0
  239. package/dist/server/server-context.d.ts +38 -0
  240. package/dist/server/server-context.d.ts.map +1 -0
  241. package/dist/server/server-context.js +38 -0
  242. package/dist/server/server-context.js.map +1 -0
  243. package/dist/server/server.d.ts +148 -35
  244. package/dist/server/server.d.ts.map +1 -1
  245. package/dist/server/server.js +482 -145
  246. package/dist/server/server.js.map +1 -1
  247. package/dist/server/types.d.ts +2 -2
  248. package/dist/server/types.d.ts.map +1 -1
  249. package/dist/server/types.js +2 -2
  250. package/dist/server/types.js.map +1 -1
  251. package/dist/server/use-case-route.d.ts +263 -0
  252. package/dist/server/use-case-route.d.ts.map +1 -0
  253. package/dist/server/use-case-route.js +77 -0
  254. package/dist/server/use-case-route.js.map +1 -0
  255. package/dist/server-only.d.ts +8 -0
  256. package/dist/server-only.d.ts.map +1 -0
  257. package/dist/server-only.js +8 -0
  258. package/dist/server-only.js.map +1 -0
  259. package/dist/tasks/index.d.ts +139 -0
  260. package/dist/tasks/index.d.ts.map +1 -0
  261. package/dist/tasks/index.js +98 -0
  262. package/dist/tasks/index.js.map +1 -0
  263. package/dist/testing/index.d.ts +611 -5
  264. package/dist/testing/index.d.ts.map +1 -1
  265. package/dist/testing/index.js +434 -4
  266. package/dist/testing/index.js.map +1 -1
  267. package/dist/tracing/index.d.ts +89 -0
  268. package/dist/tracing/index.d.ts.map +1 -0
  269. package/dist/tracing/index.js +101 -0
  270. package/dist/tracing/index.js.map +1 -0
  271. package/dist/uploads/client.d.ts +278 -0
  272. package/dist/uploads/client.d.ts.map +1 -0
  273. package/dist/uploads/client.js +428 -0
  274. package/dist/uploads/client.js.map +1 -0
  275. package/dist/uploads/index.d.ts +361 -0
  276. package/dist/uploads/index.d.ts.map +1 -0
  277. package/dist/uploads/index.js +543 -0
  278. package/dist/uploads/index.js.map +1 -0
  279. package/package.json +34 -3
  280. package/src/application/index.ts +193 -10
  281. package/src/client/client.ts +148 -150
  282. package/src/client/error-messages.ts +35 -0
  283. package/src/client/index.ts +12 -4
  284. package/src/client/types.ts +44 -5
  285. package/src/client-only.ts +7 -0
  286. package/src/config/index.ts +6 -6
  287. package/src/contracts/catalog-errors.ts +115 -0
  288. package/src/contracts/contract-builder.ts +39 -76
  289. package/src/contracts/contract-group.ts +33 -68
  290. package/src/contracts/contract-like.ts +1 -1
  291. package/src/contracts/index.ts +24 -11
  292. package/src/contracts/openapi-meta.ts +55 -0
  293. package/src/contracts/path-template.ts +2 -2
  294. package/src/contracts/schema-shape.ts +75 -0
  295. package/src/contracts/success-status.ts +68 -0
  296. package/src/contracts/types.ts +32 -5
  297. package/src/contracts/utils.ts +5 -2
  298. package/src/domain/events.ts +6 -2
  299. package/src/domain/index.ts +3 -3
  300. package/src/errors/catalog.ts +9 -1
  301. package/src/errors/http.ts +11 -1
  302. package/src/errors/index.ts +4 -4
  303. package/src/errors/response.ts +4 -1
  304. package/src/events/index.ts +12 -26
  305. package/src/idempotency/index.ts +5 -3
  306. package/src/jobs/index.ts +340 -29
  307. package/src/notifications/index.ts +17 -27
  308. package/src/openapi/index.ts +73 -38
  309. package/src/openapi/schema-introspector.ts +68 -17
  310. package/src/outbox/index.ts +151 -6
  311. package/src/ports/audit.ts +120 -11
  312. package/src/ports/auth.ts +132 -0
  313. package/src/ports/events.ts +2 -2
  314. package/src/ports/index.ts +104 -35
  315. package/src/ports/policy.ts +50 -3
  316. package/src/ports/testing.ts +2220 -33
  317. package/src/ports/unbound.ts +64 -0
  318. package/src/ports/unit-of-work.ts +6 -2
  319. package/src/providers/index.ts +16 -3
  320. package/src/providers/instrumentation.ts +93 -8
  321. package/src/providers/metadata.ts +234 -0
  322. package/src/providers/provider.ts +168 -9
  323. package/src/schedules/index.ts +173 -23
  324. package/src/server/audit-context.ts +45 -0
  325. package/src/server/context.ts +224 -0
  326. package/src/server/contract-like.ts +1 -1
  327. package/src/server/health.ts +2 -2
  328. package/src/server/hooks/auth.ts +175 -158
  329. package/src/server/hooks/cors.ts +1 -1
  330. package/src/server/hooks/errors.ts +7 -4
  331. package/src/server/hooks/idempotency.ts +263 -0
  332. package/src/server/hooks/index.ts +15 -12
  333. package/src/server/hooks/logging.ts +3 -3
  334. package/src/server/hooks/rate-limit.ts +85 -17
  335. package/src/server/hooks.ts +1 -1
  336. package/src/server/http.ts +112 -6
  337. package/src/server/index.ts +63 -12
  338. package/src/server/instrumentation.ts +470 -0
  339. package/src/server/openapi.ts +4 -4
  340. package/src/server/providers/index.ts +6 -3
  341. package/src/server/providers/loadProviderConfig.ts +4 -4
  342. package/src/server/request-context.ts +116 -0
  343. package/src/server/server-context.ts +44 -0
  344. package/src/server/server.ts +1045 -229
  345. package/src/server/types.ts +2 -2
  346. package/src/server/use-case-route.ts +430 -0
  347. package/src/server-only.ts +7 -0
  348. package/src/tasks/index.ts +275 -0
  349. package/src/testing/index.ts +1153 -6
  350. package/src/tracing/index.ts +176 -0
  351. package/src/uploads/client.ts +861 -0
  352. package/src/uploads/index.ts +1071 -0
  353. package/dist/ports/mailer.d.ts +0 -6
  354. package/dist/ports/mailer.d.ts.map +0 -1
  355. package/dist/ports/mailer.js +0 -2
  356. package/dist/ports/mailer.js.map +0 -1
  357. package/dist/ports/schedules.d.ts +0 -9
  358. package/dist/ports/schedules.d.ts.map +0 -1
  359. package/dist/ports/schedules.js +0 -2
  360. package/dist/ports/schedules.js.map +0 -1
@@ -65,9 +65,18 @@ function normalizeOptionalDate(value, field) {
65
65
  return undefined;
66
66
  return normalizeDate(value, field, () => new Date());
67
67
  }
68
+ function normalizeOptionalAttempt(value) {
69
+ if (value === undefined)
70
+ return undefined;
71
+ if (!Number.isInteger(value) || value < 1) {
72
+ throw new ScheduleRunContextError("Schedule run attempt must be a positive integer.");
73
+ }
74
+ return value;
75
+ }
68
76
  function createRunContext(options, now) {
69
77
  return {
70
78
  id: options.id,
79
+ attempt: normalizeOptionalAttempt(options.attempt),
71
80
  scheduledAt: normalizeOptionalDate(options.scheduledAt, "scheduledAt"),
72
81
  triggeredAt: normalizeDate(options.triggeredAt, "triggeredAt", now),
73
82
  source: options.source,
@@ -117,13 +126,38 @@ async function runErrorHook(handler, onHookError, args) {
117
126
  });
118
127
  }
119
128
  }
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
- */
126
- export function defineSchedule(name, options) {
129
+ async function recordScheduleEvent(options, schedule, status, run, args) {
130
+ if (!options.instrumentation)
131
+ return;
132
+ try {
133
+ options.instrumentation.record({
134
+ type: "schedule",
135
+ watcher: "schedules",
136
+ requestId: options.instrumentationContext?.requestId,
137
+ traceId: options.instrumentationContext?.traceId,
138
+ scheduleName: schedule.name,
139
+ status,
140
+ cron: schedule.cron,
141
+ timezone: schedule.timezone,
142
+ details: {
143
+ source: run.source,
144
+ scheduledAt: run.scheduledAt?.toISOString(),
145
+ ...args.details,
146
+ },
147
+ });
148
+ }
149
+ catch (error) {
150
+ await reportHookError(options.onHookError, {
151
+ schedule,
152
+ payload: args.payload,
153
+ run,
154
+ hook: args.hook,
155
+ error,
156
+ scheduleError: args.scheduleError,
157
+ });
158
+ }
159
+ }
160
+ function defineScheduleImpl(name, options) {
127
161
  return {
128
162
  kind: "schedule",
129
163
  name,
@@ -168,6 +202,10 @@ export function createInlineScheduleRunner(options = {}) {
168
202
  try {
169
203
  payload = await resolveSchedulePayload(schedule, runOptions, run);
170
204
  const lifecycleArgs = { schedule, payload, run };
205
+ await recordScheduleEvent(options, schedule, "started", run, {
206
+ payload,
207
+ hook: "start",
208
+ });
171
209
  await runLifecycleHook("start", options.onStart, options.onHookError, lifecycleArgs);
172
210
  await schedule.handle({
173
211
  schedule,
@@ -175,9 +213,19 @@ export function createInlineScheduleRunner(options = {}) {
175
213
  ctx: await resolveCtx(options.ctx),
176
214
  run,
177
215
  });
216
+ await recordScheduleEvent(options, schedule, "completed", run, {
217
+ payload,
218
+ hook: "success",
219
+ });
178
220
  await runLifecycleHook("success", options.onSuccess, options.onHookError, lifecycleArgs);
179
221
  }
180
222
  catch (error) {
223
+ await recordScheduleEvent(options, schedule, "failed", run, {
224
+ payload,
225
+ hook: "error",
226
+ scheduleError: error,
227
+ details: { error },
228
+ });
181
229
  await runErrorHook(options.onError, options.onHookError, {
182
230
  error,
183
231
  schedule,
@@ -191,14 +239,20 @@ export function createInlineScheduleRunner(options = {}) {
191
239
  }
192
240
  /**
193
241
  * Create schedule helper methods bound to an application context type.
242
+ *
243
+ * Call it once in `lib/schedules.ts`:
244
+ *
245
+ * ```ts
246
+ * export const { defineSchedule } = createSchedules<AppContext>();
247
+ * ```
248
+ *
249
+ * Cron and timezone are metadata for schedule providers. The inline runner only
250
+ * runs schedules when its `run(...)` method is called.
194
251
  */
195
- export function createScheduleHandlers() {
252
+ export function createSchedules() {
196
253
  return {
197
254
  defineSchedule(name, options) {
198
- return defineSchedule(name, options);
199
- },
200
- createInlineScheduleRunner(options = {}) {
201
- return createInlineScheduleRunner(options);
255
+ return defineScheduleImpl(name, options);
202
256
  },
203
257
  };
204
258
  }
@@ -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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"}
@@ -0,0 +1,29 @@
1
+ import type { AuditLogPort } from "../ports/index.js";
2
+ /**
3
+ * Wrap an audit log port so missing `actor`, `tenant`, `requestId`, and
4
+ * `traceId` fields are filled from the ambient request context at record time.
5
+ *
6
+ * The server keeps the ambient context current for requests (including
7
+ * identity elevated by hooks) and for service contexts created for jobs,
8
+ * listeners, schedules, and tasks. Because enrichment happens when
9
+ * `record(...)` runs, the wrapper also works for ports rebuilt per
10
+ * transaction inside a unit of work — wrap both the top-level audit port and
11
+ * the per-transaction rebuild.
12
+ *
13
+ * Fields provided on the entry always win; only missing fields are filled.
14
+ * When no ambient context is active (for example on runtimes without
15
+ * `AsyncLocalStorage` propagation), entries pass through unchanged.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const audit = createAmbientAuditLog(
20
+ * createInstrumentedAuditLog({ audit: createDrizzleAuditLog(db), instrumentation: ports }),
21
+ * );
22
+ * await audit.record({ action: "posts.publish", resource: { type: "post", id } });
23
+ * ```
24
+ *
25
+ * @param audit - Underlying audit log port to write enriched entries to.
26
+ * @returns An audit log port that fills missing context fields before writing.
27
+ */
28
+ export declare function createAmbientAuditLog(audit: AuditLogPort): AuditLogPort;
29
+ //# sourceMappingURL=audit-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-context.d.ts","sourceRoot":"","sources":["../../src/server/audit-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAevE"}
@@ -0,0 +1,44 @@
1
+ import { getActiveRequestContext } from "./request-context.js";
2
+ /**
3
+ * Wrap an audit log port so missing `actor`, `tenant`, `requestId`, and
4
+ * `traceId` fields are filled from the ambient request context at record time.
5
+ *
6
+ * The server keeps the ambient context current for requests (including
7
+ * identity elevated by hooks) and for service contexts created for jobs,
8
+ * listeners, schedules, and tasks. Because enrichment happens when
9
+ * `record(...)` runs, the wrapper also works for ports rebuilt per
10
+ * transaction inside a unit of work — wrap both the top-level audit port and
11
+ * the per-transaction rebuild.
12
+ *
13
+ * Fields provided on the entry always win; only missing fields are filled.
14
+ * When no ambient context is active (for example on runtimes without
15
+ * `AsyncLocalStorage` propagation), entries pass through unchanged.
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * const audit = createAmbientAuditLog(
20
+ * createInstrumentedAuditLog({ audit: createDrizzleAuditLog(db), instrumentation: ports }),
21
+ * );
22
+ * await audit.record({ action: "posts.publish", resource: { type: "post", id } });
23
+ * ```
24
+ *
25
+ * @param audit - Underlying audit log port to write enriched entries to.
26
+ * @returns An audit log port that fills missing context fields before writing.
27
+ */
28
+ export function createAmbientAuditLog(audit) {
29
+ return {
30
+ record(entry) {
31
+ const context = getActiveRequestContext();
32
+ if (!context)
33
+ return audit.record(entry);
34
+ return audit.record({
35
+ ...entry,
36
+ actor: entry.actor ?? context.actor,
37
+ tenant: entry.tenant ?? context.tenant,
38
+ requestId: entry.requestId ?? context.requestId,
39
+ traceId: entry.traceId ?? context.traceId,
40
+ });
41
+ },
42
+ };
43
+ }
44
+ //# sourceMappingURL=audit-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-context.js","sourceRoot":"","sources":["../../src/server/audit-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IACvD,OAAO;QACL,MAAM,CAAC,KAAK;YACV,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzC,OAAO,KAAK,CAAC,MAAM,CAAC;gBAClB,GAAG,KAAK;gBACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;gBACnC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;gBACtC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS;gBAC/C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;aAC1C,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,141 @@
1
+ import type { HttpContractConfig } from "../contracts/index.js";
2
+ import type { AnyPorts, BoundGate, GatePort, PolicyDefinition } from "../ports/index.js";
3
+ import type { TraceContext } from "../tracing/index.js";
4
+ import type { HttpRequestLike, MaybePromise } from "./http.js";
5
+ /**
6
+ * Arguments passed to the `context.request` factory after a route is matched.
7
+ */
8
+ export type RequestContextArgs<Ports extends AnyPorts = AnyPorts> = {
9
+ /**
10
+ * Framework-neutral request.
11
+ */
12
+ req: HttpRequestLike;
13
+ /**
14
+ * Final app ports, including ports contributed by providers.
15
+ */
16
+ ports: Ports;
17
+ /**
18
+ * Matched contract, when the request resolved to a registered route.
19
+ */
20
+ contract?: HttpContractConfig;
21
+ /**
22
+ * Request correlation ID resolved by the server from the configured request
23
+ * ID header, or generated when the request did not send one.
24
+ */
25
+ requestId: string;
26
+ /**
27
+ * W3C trace context resolved by the server from the incoming `traceparent`
28
+ * header, or generated when the request did not send one. Spread this into
29
+ * the context (`...trace`) to correlate downstream activity.
30
+ */
31
+ trace: TraceContext;
32
+ };
33
+ /**
34
+ * Arguments passed to the `context.service` factory.
35
+ */
36
+ export type ServiceContextArgs<Ports extends AnyPorts = AnyPorts, ServiceInput = void> = {
37
+ /**
38
+ * Final app ports, including ports contributed by providers.
39
+ */
40
+ ports: Ports;
41
+ /**
42
+ * Caller-provided input such as the service actor or tenant.
43
+ */
44
+ input: ServiceInput;
45
+ /**
46
+ * Fresh correlation ID generated for this service context.
47
+ */
48
+ requestId: string;
49
+ /**
50
+ * Fresh W3C trace context generated for this service context. Spread this
51
+ * into the context (`...trace`) to correlate downstream activity.
52
+ */
53
+ trace: TraceContext;
54
+ };
55
+ /**
56
+ * App context without its `gate` property.
57
+ *
58
+ * Context factories return seeds; the server attaches the gate declared by
59
+ * the blueprint's `gate` selector, so hand-binding `gate` in a factory is a
60
+ * type error.
61
+ */
62
+ export type ContextSeed<Ctx> = Omit<Ctx, "gate"> & {
63
+ gate?: never;
64
+ };
65
+ type ContextGateOption<Ctx, Ports extends AnyPorts> = [Ctx] extends [
66
+ {
67
+ gate: BoundGate<infer TPolicies extends readonly PolicyDefinition[]>;
68
+ }
69
+ ] ? {
70
+ /**
71
+ * Select the gate port the server attaches to every context it builds.
72
+ */
73
+ gate: (ports: Ports) => GatePort<ContextSeed<Ctx>, TPolicies>;
74
+ } : {
75
+ /**
76
+ * Gate selection is only available when the context type declares a
77
+ * `gate` property.
78
+ */
79
+ gate?: never;
80
+ };
81
+ /**
82
+ * Context blueprint accepted by `createServer(...)`.
83
+ *
84
+ * The server owns context assembly: `request` and `service` return context
85
+ * seeds, and the server attaches the gate declared by `gate` so identity
86
+ * changes can never authorize against a stale context.
87
+ */
88
+ export type ServerContextOptions<Ctx, Ports extends AnyPorts = AnyPorts, ServiceInput = void> = {
89
+ /**
90
+ * Build the per-request context seed.
91
+ */
92
+ request: (args: RequestContextArgs<Ports>) => MaybePromise<ContextSeed<Ctx>>;
93
+ /**
94
+ * Build a service context seed for schedules, outbox drains, tasks, and
95
+ * background work. Required before `server.createServiceContext(...)` can
96
+ * be called.
97
+ */
98
+ service?: (args: ServiceContextArgs<Ports, ServiceInput>) => MaybePromise<ContextSeed<Ctx>>;
99
+ } & ContextGateOption<Ctx, Ports>;
100
+ /**
101
+ * Context configuration accepted by `createServer(...)`.
102
+ *
103
+ * Contexts without a `gate` property may use the plain request-factory
104
+ * shorthand. Contexts with a `gate` must use the blueprint form so the server
105
+ * owns gate attachment.
106
+ */
107
+ export type ServerContextConfig<Ctx, Ports extends AnyPorts = AnyPorts, ServiceInput = void> = [Ctx] extends [{
108
+ gate: unknown;
109
+ }] ? ServerContextOptions<Ctx, Ports, ServiceInput> : ((args: RequestContextArgs<Ports>) => MaybePromise<Ctx>) | ServerContextOptions<Ctx, Ports, ServiceInput>;
110
+ /**
111
+ * Argument tuple for `createServiceContext(...)`.
112
+ *
113
+ * Servers without a declared service input are callable with no arguments;
114
+ * optional inputs stay optional at the call site.
115
+ */
116
+ export type ServiceContextInputArgs<ServiceInput> = [ServiceInput] extends [
117
+ void
118
+ ] ? [] : undefined extends ServiceInput ? [input?: ServiceInput] : [input: ServiceInput];
119
+ type AnyGateSelector<Ports extends AnyPorts> = (ports: Ports) => Pick<GatePort<unknown>, "attach">;
120
+ /**
121
+ * Normalized runtime view of a server context configuration.
122
+ */
123
+ export type ResolvedServerContext<Ctx, Ports extends AnyPorts, ServiceInput> = {
124
+ request: (args: RequestContextArgs<Ports>) => MaybePromise<ContextSeed<Ctx> | Ctx>;
125
+ service?: (args: ServiceContextArgs<Ports, ServiceInput>) => MaybePromise<ContextSeed<Ctx>>;
126
+ gate?: AnyGateSelector<Ports>;
127
+ };
128
+ /**
129
+ * Normalize a server context configuration into its runtime parts.
130
+ */
131
+ export declare function resolveServerContext<Ctx, Ports extends AnyPorts, ServiceInput>(config: ServerContextConfig<Ctx, Ports, ServiceInput>): ResolvedServerContext<Ctx, Ports, ServiceInput>;
132
+ /**
133
+ * Create the context finalizer for a resolved server context.
134
+ *
135
+ * When the blueprint declares a gate, the finalizer strips hand-assigned
136
+ * `gate` values from seeds and attaches the live gate. Without a gate
137
+ * declaration the seed is the context.
138
+ */
139
+ export declare function createContextFinalizer<Ctx, Ports extends AnyPorts, ServiceInput>(resolved: ResolvedServerContext<Ctx, Ports, ServiceInput>, getPorts: () => Ports): (seed: ContextSeed<Ctx> | Ctx) => Ctx;
140
+ export {};
141
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Normalize a server context configuration into its runtime parts.
3
+ */
4
+ export function resolveServerContext(config) {
5
+ const value = config;
6
+ if (typeof value === "function") {
7
+ return { request: value };
8
+ }
9
+ return {
10
+ request: value.request,
11
+ service: value.service,
12
+ gate: value.gate,
13
+ };
14
+ }
15
+ /**
16
+ * Create the context finalizer for a resolved server context.
17
+ *
18
+ * When the blueprint declares a gate, the finalizer strips hand-assigned
19
+ * `gate` values from seeds and attaches the live gate. Without a gate
20
+ * declaration the seed is the context.
21
+ */
22
+ export function createContextFinalizer(resolved, getPorts) {
23
+ const gateSelector = resolved.gate;
24
+ if (!gateSelector) {
25
+ return (seed) => seed;
26
+ }
27
+ return (seed) => {
28
+ const target = seed;
29
+ const existing = Object.getOwnPropertyDescriptor(target, "gate");
30
+ if (existing && existing.get === undefined) {
31
+ if (process.env.NODE_ENV !== "production") {
32
+ console.warn("[beignet] Ignoring a hand-assigned ctx.gate value. The server context blueprint owns gate attachment; remove `gate` from context factories and hook additions.");
33
+ }
34
+ delete target.gate;
35
+ }
36
+ return gateSelector(getPorts()).attach(target);
37
+ };
38
+ }
39
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/server/context.ts"],"names":[],"mappings":"AAsKA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAqD;IAErD,MAAM,KAAK,GAAG,MAIR,CAAC;IAEP,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAKpC,QAAyD,EACzD,QAAqB;IAErB,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAW,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,MAAM,GAAG,IAAc,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CACV,gKAAgK,CACjK,CAAC;YACJ,CAAC;YACD,OAAQ,MAA6B,CAAC,IAAI,CAAC;QAC7C,CAAC;QAED,OAAO,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Re-export contract resolution utilities for the server runtime.
3
3
  */
4
- export { type ContractLike, type ResolveContract, resolveContract, } from "../contracts";
4
+ export { type ContractLike, type ResolveContract, resolveContract, } from "../contracts/index.js";
5
5
  //# sourceMappingURL=contract-like.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-like.d.ts","sourceRoot":"","sources":["../../src/server/contract-like.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,eAAe,GAChB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"contract-like.d.ts","sourceRoot":"","sources":["../../src/server/contract-like.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Re-export contract resolution utilities for the server runtime.
3
3
  */
4
- export { resolveContract, } from "../contracts";
4
+ export { resolveContract, } from "../contracts/index.js";
5
5
  //# sourceMappingURL=contract-like.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-like.js","sourceRoot":"","sources":["../../src/server/contract-like.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,eAAe,GAChB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"contract-like.js","sourceRoot":"","sources":["../../src/server/contract-like.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,eAAe,GAChB,MAAM,uBAAuB,CAAC"}
@@ -2,8 +2,8 @@
2
2
  * Health check handler
3
3
  * Health check handler for Beignet server adapters.
4
4
  */
5
- import type { AnyPorts } from "../ports";
6
- import type { HttpRequestLike, HttpResponseLike } from "./types";
5
+ import type { AnyPorts } from "../ports/index.js";
6
+ import type { HttpRequestLike, HttpResponseLike } from "./types.js";
7
7
  /**
8
8
  * Health check result returned by health handlers.
9
9
  */
@@ -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;;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"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/server/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;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"}