@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
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Static provider package metadata declared in package.json under
3
+ * `beignet.provider`.
4
+ *
5
+ * This metadata is for docs and tooling. It must stay side-effect-free and
6
+ * does not change provider setup, ordering, or runtime port merging behavior.
7
+ */
8
+ export function parseProviderPackageMetadata(input) {
9
+ if (!isRecord(input)) {
10
+ return {
11
+ success: false,
12
+ issues: [
13
+ {
14
+ path: "beignet.provider",
15
+ message: "must be an object",
16
+ },
17
+ ],
18
+ };
19
+ }
20
+ const issues = [];
21
+ const metadata = {};
22
+ if (input.displayName !== undefined) {
23
+ if (typeof input.displayName !== "string") {
24
+ issues.push({
25
+ path: "beignet.provider.displayName",
26
+ message: "must be a string",
27
+ });
28
+ }
29
+ else {
30
+ metadata.displayName = input.displayName;
31
+ }
32
+ }
33
+ const ports = parseStringArray(input.ports, "beignet.provider.ports", issues);
34
+ if (ports !== undefined)
35
+ metadata.ports = ports;
36
+ const env = parseStringArray(input.env, "beignet.provider.env", issues);
37
+ if (env !== undefined)
38
+ metadata.env = env;
39
+ const requiredEnv = parseStringArray(input.requiredEnv, "beignet.provider.requiredEnv", issues);
40
+ if (requiredEnv !== undefined) {
41
+ metadata.requiredEnv = requiredEnv;
42
+ const envSet = new Set(env ?? []);
43
+ for (const envVar of requiredEnv) {
44
+ if (!envSet.has(envVar)) {
45
+ issues.push({
46
+ path: "beignet.provider.requiredEnv",
47
+ message: `${envVar} must also be listed in beignet.provider.env`,
48
+ });
49
+ }
50
+ }
51
+ }
52
+ const watchers = parseStringArray(input.watchers, "beignet.provider.watchers", issues);
53
+ if (watchers !== undefined)
54
+ metadata.watchers = watchers;
55
+ const appPorts = parseAppPorts(input.appPorts, issues);
56
+ if (appPorts !== undefined)
57
+ metadata.appPorts = appPorts;
58
+ const registration = parseRegistration(input.registration, issues);
59
+ if (registration !== undefined)
60
+ metadata.registration = registration;
61
+ if (issues.length > 0) {
62
+ return { success: false, issues };
63
+ }
64
+ return { success: true, metadata };
65
+ }
66
+ function parseStringArray(value, path, issues) {
67
+ if (value === undefined)
68
+ return undefined;
69
+ if (!Array.isArray(value)) {
70
+ issues.push({ path, message: "must be an array of strings" });
71
+ return undefined;
72
+ }
73
+ const parsed = [];
74
+ for (const [index, entry] of value.entries()) {
75
+ if (typeof entry !== "string") {
76
+ issues.push({
77
+ path: `${path}[${index}]`,
78
+ message: "must be a string",
79
+ });
80
+ continue;
81
+ }
82
+ parsed.push(entry);
83
+ }
84
+ return parsed;
85
+ }
86
+ function parseAppPorts(value, issues) {
87
+ if (value === undefined)
88
+ return undefined;
89
+ const path = "beignet.provider.appPorts";
90
+ if (!Array.isArray(value)) {
91
+ issues.push({ path, message: "must be an array of port metadata objects" });
92
+ return undefined;
93
+ }
94
+ const parsed = [];
95
+ for (const [index, entry] of value.entries()) {
96
+ const entryPath = `${path}[${index}]`;
97
+ if (!isRecord(entry)) {
98
+ issues.push({ path: entryPath, message: "must be an object" });
99
+ continue;
100
+ }
101
+ if (typeof entry.name !== "string") {
102
+ issues.push({ path: `${entryPath}.name`, message: "must be a string" });
103
+ }
104
+ if (typeof entry.type !== "string") {
105
+ issues.push({ path: `${entryPath}.type`, message: "must be a string" });
106
+ }
107
+ if (typeof entry.name === "string" && typeof entry.type === "string") {
108
+ parsed.push({ name: entry.name, type: entry.type });
109
+ }
110
+ }
111
+ return parsed;
112
+ }
113
+ function parseRegistration(value, issues) {
114
+ if (value === undefined)
115
+ return undefined;
116
+ const path = "beignet.provider.registration";
117
+ if (!isRecord(value)) {
118
+ issues.push({ path, message: "must be an object" });
119
+ return undefined;
120
+ }
121
+ const registration = {};
122
+ if (value.required !== undefined) {
123
+ if (typeof value.required !== "boolean") {
124
+ issues.push({ path: `${path}.required`, message: "must be a boolean" });
125
+ }
126
+ else {
127
+ registration.required = value.required;
128
+ }
129
+ }
130
+ if (value.severity !== undefined) {
131
+ if (value.severity !== "warning" && value.severity !== "hint") {
132
+ issues.push({
133
+ path: `${path}.severity`,
134
+ message: 'must be "warning" or "hint"',
135
+ });
136
+ }
137
+ else {
138
+ registration.severity = value.severity;
139
+ }
140
+ }
141
+ if (registration.required === true && registration.severity === "hint") {
142
+ issues.push({
143
+ path: `${path}.severity`,
144
+ message: 'must not be "hint" when registration is required',
145
+ });
146
+ }
147
+ const tokens = parseStringArray(value.tokens, `${path}.tokens`, issues);
148
+ if (tokens !== undefined)
149
+ registration.tokens = tokens;
150
+ if ((tokens?.length ?? 0) === 0) {
151
+ if (registration.required === true) {
152
+ issues.push({
153
+ path: `${path}.tokens`,
154
+ message: "must include at least one token when registration is required",
155
+ });
156
+ }
157
+ else if (registration.severity !== undefined) {
158
+ issues.push({
159
+ path: `${path}.tokens`,
160
+ message: "must include at least one token when registration severity is set",
161
+ });
162
+ }
163
+ }
164
+ return registration;
165
+ }
166
+ function isRecord(value) {
167
+ return typeof value === "object" && value !== null && !Array.isArray(value);
168
+ }
169
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/providers/metadata.ts"],"names":[],"mappings":"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"}
@@ -37,19 +37,36 @@ export interface ProviderConfigDef<CfgSchema extends StandardSchemaV1> {
37
37
  * Value or promise of that value.
38
38
  */
39
39
  export type MaybePromise<T> = T | Promise<T>;
40
+ /**
41
+ * Late-bound service context factory exposed to providers.
42
+ *
43
+ * Calling it before all providers have started throws, so providers should
44
+ * only invoke it from runtime entrypoints such as job dispatch, listeners, or
45
+ * scheduled work.
46
+ *
47
+ * App-local providers can type the factory by declaring `Context` and
48
+ * `ServiceInput` through the curried `createProvider<Requires, Context,
49
+ * ServiceInput>()` form. Untyped providers see `(input: void) =>
50
+ * Promise<unknown>`.
51
+ */
52
+ export type ProviderServiceContextFactory<Context = unknown, ServiceInput = void> = (input: ServiceInput) => Promise<Context>;
40
53
  /**
41
54
  * Context passed to provider lifecycle hooks.
42
55
  */
43
- export type ProviderLifecycleContext = {
56
+ export type ProviderLifecycleContext<Ports = ProviderPorts, Context = unknown, ServiceInput = void> = {
44
57
  /**
45
58
  * Final app ports after provider setup.
46
59
  */
47
- ports: Readonly<ProviderPorts>;
60
+ ports: Readonly<Ports>;
61
+ /**
62
+ * Build an app service context through the server context blueprint.
63
+ */
64
+ createServiceContext: ProviderServiceContextFactory<Context, ServiceInput>;
48
65
  };
49
66
  /**
50
67
  * Result returned from provider setup.
51
68
  */
52
- export type ProviderSetupResult<ProvidedPorts extends ProviderPorts> = {
69
+ export type ProviderSetupResult<ProvidedPorts extends ProviderPorts, Ports = ProviderPorts, Context = unknown, ServiceInput = void> = {
53
70
  /**
54
71
  * Ports contributed by this provider.
55
72
  * Keys overwrite earlier ports with the same name at runtime. Prefer unique
@@ -58,13 +75,53 @@ export type ProviderSetupResult<ProvidedPorts extends ProviderPorts> = {
58
75
  ports?: ProvidedPorts;
59
76
  /**
60
77
  * Optional hook called after all providers have contributed their ports.
78
+ *
79
+ * Declared as a method so typed providers stay assignable to loosely typed
80
+ * provider lists. Hooks that take `ctx` with an unannotated parameter keep
81
+ * TypeScript from inferring `ProvidedPorts` from the returned `ports`.
82
+ * Prefer closing over setup locals, or annotate `ctx` with
83
+ * `ProviderLifecycleContext<...>`.
61
84
  */
62
- start?: (ctx: ProviderLifecycleContext) => MaybePromise<void>;
85
+ start?(ctx: ProviderLifecycleContext<Ports & ProvidedPorts, Context, ServiceInput>): MaybePromise<void>;
63
86
  /**
64
87
  * Optional hook called when the server is stopped.
65
88
  */
66
- stop?: (ctx: ProviderLifecycleContext) => MaybePromise<void>;
89
+ stop?(ctx: ProviderLifecycleContext<Ports & ProvidedPorts, Context, ServiceInput>): MaybePromise<void>;
67
90
  };
91
+ /**
92
+ * Static provider metadata used by docs and app-local tooling.
93
+ *
94
+ * Metadata is descriptive. It does not change provider setup, ordering, or
95
+ * runtime port merging behavior.
96
+ *
97
+ * Reusable provider packages should also declare package-owned
98
+ * `beignet.provider` metadata in package.json so external tooling can inspect
99
+ * provider facts without importing runtime code.
100
+ */
101
+ export interface ServiceProviderMetadata {
102
+ /**
103
+ * Package that exports this provider, when it comes from a reusable package.
104
+ */
105
+ packageName?: string;
106
+ /**
107
+ * App port keys this provider contributes or replaces.
108
+ */
109
+ ports?: readonly string[];
110
+ /**
111
+ * App port keys this provider expects previous providers or base app ports to
112
+ * have installed before setup runs.
113
+ */
114
+ requires?: readonly string[];
115
+ /**
116
+ * Environment variables this provider reads directly or via config loading.
117
+ */
118
+ env?: readonly string[];
119
+ /**
120
+ * Devtools watcher names this provider can emit through provider
121
+ * instrumentation.
122
+ */
123
+ watchers?: readonly string[];
124
+ }
68
125
  /**
69
126
  * A service provider that can extend or replace ports during app initialization.
70
127
  *
@@ -97,11 +154,15 @@ export type ProviderSetupResult<ProvidedPorts extends ProviderPorts> = {
97
154
  * });
98
155
  * ```
99
156
  */
100
- export interface ServiceProvider<Ports, CfgSchema extends StandardSchemaV1 = StandardSchemaV1<void, void>, ProvidedPorts extends ProviderPorts = NoProvidedPorts> {
157
+ export interface ServiceProvider<Ports, CfgSchema extends StandardSchemaV1 = StandardSchemaV1<void, void>, ProvidedPorts extends ProviderPorts = NoProvidedPorts, Context = unknown, ServiceInput = void> {
101
158
  /**
102
159
  * Unique name for this provider (used for logging/debugging)
103
160
  */
104
161
  name: string;
162
+ /**
163
+ * Optional static metadata for docs and diagnostics.
164
+ */
165
+ metadata?: ServiceProviderMetadata;
105
166
  /**
106
167
  * Optional configuration definition.
107
168
  * If provided, the config will be loaded and validated before calling setup.
@@ -114,32 +175,62 @@ export interface ServiceProvider<Ports, CfgSchema extends StandardSchemaV1 = Sta
114
175
  *
115
176
  * @param ctx.ports - Ports contributed by previous providers
116
177
  * @param ctx.config - Validated config (if config was defined), or undefined
178
+ * @param ctx.createServiceContext - Late-bound service context factory.
179
+ * Throws until all providers have started, so call it lazily from runtime
180
+ * entrypoints such as job dispatchers and event listeners.
117
181
  */
118
182
  setup(ctx: {
119
183
  ports: Readonly<Ports>;
120
184
  config: InferOutput<CfgSchema> | undefined;
121
- }): MaybePromise<ProviderSetupResult<ProvidedPorts>>;
185
+ createServiceContext: ProviderServiceContextFactory<Context, ServiceInput>;
186
+ }): MaybePromise<ProviderSetupResult<ProvidedPorts, Ports, Context, ServiceInput>>;
122
187
  /**
123
188
  * Type-only marker for ports this provider contributes.
124
189
  * Runtime provider objects do not need to set this property.
125
190
  */
126
191
  readonly __providedPorts?: ProvidedPorts;
127
192
  }
193
+ /**
194
+ * Loosely typed service provider.
195
+ *
196
+ * Required-port, config, app-context, and service-input generics are erased
197
+ * here so any provider created with `createProvider(...)` — including the
198
+ * typed curried form — stays assignable. Use this for code that works across
199
+ * arbitrary providers, such as provider lists and test helpers.
200
+ */
201
+ export type AnyServiceProvider = ServiceProvider<unknown, StandardSchemaV1<any, any>, ProviderPorts, any, any>;
128
202
  /**
129
203
  * Extract the ports a provider contributes.
130
204
  */
131
- export type ProvidedPortsOf<TProvider> = TProvider extends ServiceProvider<infer _Ports, infer _CfgSchema, infer ProvidedPorts> ? ProvidedPorts : NoProvidedPorts;
205
+ export type ProvidedPortsOf<TProvider> = TProvider extends ServiceProvider<infer _Ports, infer _CfgSchema, infer ProvidedPorts, infer _Context, infer _ServiceInput> ? ProvidedPorts : NoProvidedPorts;
132
206
  type UnionToIntersection<T> = (T extends unknown ? (value: T) => void : never) extends (value: infer I) => void ? I : never;
133
207
  /**
134
208
  * Extract and merge the ports contributed by a provider list.
209
+ *
210
+ * Use this with `typeof providers` to type provider-contributed ports in app
211
+ * code without hand-written casts:
212
+ *
213
+ * @example
214
+ * ```ts
215
+ * import type { InferProviderPorts } from "@beignet/core/providers";
216
+ * import type { providers } from "@/server/providers";
217
+ * import type { AppPorts } from "@/ports";
218
+ *
219
+ * export type AppRuntimePorts = AppPorts & InferProviderPorts<typeof providers>;
220
+ * ```
135
221
  */
136
- export type ProvidedPortsOfList<TProviders> = TProviders extends readonly unknown[] ? [TProviders[number]] extends [never] ? NoProvidedPorts : UnionToIntersection<ProvidedPortsOf<TProviders[number]>> : NoProvidedPorts;
222
+ export type InferProviderPorts<TProviders> = TProviders extends readonly unknown[] ? [TProviders[number]] extends [never] ? NoProvidedPorts : UnionToIntersection<ProvidedPortsOf<TProviders[number]>> : NoProvidedPorts;
137
223
  /**
138
224
  * Helper function to create a provider with proper type inference.
139
225
  *
140
226
  * This is a simple identity function that helps TypeScript infer the correct types
141
227
  * for the provider definition.
142
228
  *
229
+ * App-local providers can use the curried zero-argument form to declare the
230
+ * ports they require from earlier providers plus their app context and
231
+ * service-context input. The required ports, `ctx.ports`, and
232
+ * `ctx.createServiceContext` are then fully typed with no casts.
233
+ *
143
234
  * @example
144
235
  * ```ts
145
236
  * export const myProvider = createProvider({
@@ -152,8 +243,22 @@ export type ProvidedPortsOfList<TProviders> = TProviders extends readonly unknow
152
243
  * return { ports: { myService: createMyService(config) } };
153
244
  * },
154
245
  * });
246
+ *
247
+ * // Typed app-local provider:
248
+ * export const appDatabaseProvider = createProvider<
249
+ * { db: DbPort<typeof schema>; devtools?: DevtoolsPort },
250
+ * AppContext,
251
+ * AppServiceContextInput
252
+ * >()({
253
+ * name: "app-database",
254
+ * async setup({ ports, createServiceContext }) {
255
+ * const repositories = createRepositories(ports.db.db);
256
+ * return { ports: repositories };
257
+ * },
258
+ * });
155
259
  * ```
156
260
  */
261
+ export declare function createProvider<Requires = unknown, Context = unknown, ServiceInput = void>(): <CfgSchema extends StandardSchemaV1 = StandardSchemaV1<void, void>, Provided extends ProviderPorts = NoProvidedPorts>(def: ServiceProvider<Requires, CfgSchema, Provided, Context, ServiceInput>) => ServiceProvider<Requires, CfgSchema, Provided, Context, ServiceInput>;
157
262
  export declare function createProvider<Ports = unknown, CfgSchema extends StandardSchemaV1 = StandardSchemaV1<void, void>, ProvidedPorts extends ProviderPorts = NoProvidedPorts>(def: ServiceProvider<Ports, CfgSchema, ProvidedPorts>): ServiceProvider<Ports, CfgSchema, ProvidedPorts>;
158
263
  export {};
159
264
  //# sourceMappingURL=provider.d.ts.map
@@ -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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"}
@@ -5,27 +5,10 @@
5
5
  * during application initialization. They support configuration via Standard Schema
6
6
  * and optional lifecycle hooks.
7
7
  */
8
- /**
9
- * Helper function to create a provider with proper type inference.
10
- *
11
- * This is a simple identity function that helps TypeScript infer the correct types
12
- * for the provider definition.
13
- *
14
- * @example
15
- * ```ts
16
- * export const myProvider = createProvider({
17
- * name: "my-provider",
18
- * config: {
19
- * schema: z.object({ apiKey: z.string() }),
20
- * envPrefix: "MY_SERVICE_",
21
- * },
22
- * async setup({ config }) {
23
- * return { ports: { myService: createMyService(config) } };
24
- * },
25
- * });
26
- * ```
27
- */
28
8
  export function createProvider(def) {
9
+ if (def === undefined) {
10
+ return (definition) => definition;
11
+ }
29
12
  return def;
30
13
  }
31
14
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyVH,MAAM,UAAU,cAAc,CAC5B,GAA+D;IAM/D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -23,6 +23,10 @@ export interface ScheduleRunContext {
23
23
  * Optional provider run ID.
24
24
  */
25
25
  readonly id?: string;
26
+ /**
27
+ * One-based provider attempt number for this run, when available.
28
+ */
29
+ readonly attempt?: number;
26
30
  /**
27
31
  * Time the provider planned the run.
28
32
  */
@@ -157,6 +161,10 @@ export interface ScheduleRunOptions<Payload = unknown> {
157
161
  * Optional provider run ID.
158
162
  */
159
163
  id?: string;
164
+ /**
165
+ * One-based provider attempt number for this run, when available.
166
+ */
167
+ attempt?: number;
160
168
  /**
161
169
  * Time the provider planned the run.
162
170
  */
@@ -221,6 +229,69 @@ export interface ScheduleErrorArgs<S extends ScheduleDef = ScheduleDef> {
221
229
  * Schedule lifecycle hook names.
222
230
  */
223
231
  export type ScheduleHookName = "start" | "success" | "error";
232
+ /**
233
+ * Devtools event recorded by the inline schedule runner for each run.
234
+ */
235
+ export interface ScheduleDevtoolsEvent {
236
+ /**
237
+ * Devtools event type.
238
+ */
239
+ type: "schedule";
240
+ /**
241
+ * Watcher category used by devtools.
242
+ */
243
+ watcher: "schedules";
244
+ /**
245
+ * Stable schedule name.
246
+ */
247
+ scheduleName: string;
248
+ /**
249
+ * Schedule run lifecycle status.
250
+ */
251
+ status: "started" | "completed" | "failed";
252
+ /**
253
+ * Cron expression for the schedule.
254
+ */
255
+ cron: string;
256
+ /**
257
+ * IANA timezone for the schedule, when declared.
258
+ */
259
+ timezone?: string;
260
+ /**
261
+ * Request correlation ID, when the trigger ran inside a request.
262
+ */
263
+ requestId?: string;
264
+ /**
265
+ * Trace identifier for distributed tracing integrations.
266
+ */
267
+ traceId?: string;
268
+ /**
269
+ * Structured run details such as `source`, `scheduledAt`, and `error`.
270
+ */
271
+ details?: Record<string, unknown>;
272
+ }
273
+ /**
274
+ * Sink for schedule devtools events, usually `ctx.ports.devtools`.
275
+ */
276
+ export interface ScheduleInstrumentation {
277
+ /**
278
+ * Record one schedule devtools event.
279
+ */
280
+ record(event: ScheduleDevtoolsEvent): unknown;
281
+ }
282
+ /**
283
+ * Correlation fields attached to schedule instrumentation events.
284
+ */
285
+ export interface ScheduleInstrumentationContext {
286
+ /**
287
+ * Request correlation ID for the triggering invocation.
288
+ */
289
+ requestId?: string;
290
+ /**
291
+ * Trace identifier for the triggering invocation.
292
+ */
293
+ traceId?: string;
294
+ }
224
295
  /**
225
296
  * Arguments passed when a schedule lifecycle hook itself fails.
226
297
  */
@@ -262,6 +333,18 @@ export interface InlineScheduleRunnerOptions<Ctx> {
262
333
  * Clock used when run timestamps are not provided.
263
334
  */
264
335
  now?: () => Date;
336
+ /**
337
+ * Devtools-compatible sink that receives `schedule` events for each run.
338
+ *
339
+ * The runner records `started`, `completed`, and `failed` events. Recording
340
+ * failures are isolated from schedule execution and reported to
341
+ * `onHookError` when provided.
342
+ */
343
+ instrumentation?: ScheduleInstrumentation;
344
+ /**
345
+ * Correlation fields attached to recorded schedule events.
346
+ */
347
+ instrumentationContext?: ScheduleInstrumentationContext;
265
348
  /**
266
349
  * Called after payload validation and before the schedule handler.
267
350
  */
@@ -296,15 +379,11 @@ export interface InlineScheduleRunner<Ctx = unknown> extends ScheduleRunnerPort<
296
379
  /**
297
380
  * Context-bound schedule helper factory.
298
381
  */
299
- export interface ScheduleHandlers<Ctx> {
382
+ export interface Schedules<Ctx> {
300
383
  /**
301
384
  * Define a schedule with the bound context type.
302
385
  */
303
386
  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
- */
307
- createInlineScheduleRunner(options?: InlineScheduleRunnerOptions<Ctx>): InlineScheduleRunner<Ctx>;
308
387
  }
309
388
  /**
310
389
  * Error thrown when schedule payload validation fails.
@@ -325,13 +404,6 @@ export declare class ScheduleValidationError extends Error {
325
404
  export declare class ScheduleRunContextError extends Error {
326
405
  constructor(message: string);
327
406
  }
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
- */
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
407
  /**
336
408
  * Validate and parse a schedule payload with the schedule's Standard Schema.
337
409
  */
@@ -346,6 +418,15 @@ export declare function runSchedule<Ctx, S extends ScheduleDef<string, StandardS
346
418
  export declare function createInlineScheduleRunner<Ctx>(options?: InlineScheduleRunnerOptions<Ctx>): InlineScheduleRunner<Ctx>;
347
419
  /**
348
420
  * Create schedule helper methods bound to an application context type.
421
+ *
422
+ * Call it once in `lib/schedules.ts`:
423
+ *
424
+ * ```ts
425
+ * export const { defineSchedule } = createSchedules<AppContext>();
426
+ * ```
427
+ *
428
+ * Cron and timezone are metadata for schedule providers. The inline runner only
429
+ * runs schedules when its `run(...)` method is called.
349
430
  */
350
- export declare function createScheduleHandlers<Ctx>(): ScheduleHandlers<Ctx>;
431
+ export declare function createSchedules<Ctx>(): Schedules<Ctx>;
351
432
  //# 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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"}