@buenojs/bueno 0.8.5 → 0.8.7

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 (421) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/README.md +259 -15
  3. package/dist/cache/index.d.ts +187 -0
  4. package/dist/cache/index.d.ts.map +1 -0
  5. package/dist/cli/bin.d.ts +8 -0
  6. package/dist/cli/bin.d.ts.map +1 -0
  7. package/dist/cli/bin.js +484 -156
  8. package/dist/cli/commands/add-frontend.d.ts +7 -0
  9. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  10. package/dist/cli/commands/build.d.ts +7 -0
  11. package/dist/cli/commands/build.d.ts.map +1 -0
  12. package/dist/cli/commands/dev.d.ts +7 -0
  13. package/dist/cli/commands/dev.d.ts.map +1 -0
  14. package/dist/cli/commands/generate.d.ts +7 -0
  15. package/dist/cli/commands/generate.d.ts.map +1 -0
  16. package/dist/cli/commands/help.d.ts +7 -0
  17. package/dist/cli/commands/help.d.ts.map +1 -0
  18. package/dist/cli/commands/index.d.ts +59 -0
  19. package/dist/cli/commands/index.d.ts.map +1 -0
  20. package/dist/cli/commands/migration.d.ts +7 -0
  21. package/dist/cli/commands/migration.d.ts.map +1 -0
  22. package/dist/cli/commands/new.d.ts +7 -0
  23. package/dist/cli/commands/new.d.ts.map +1 -0
  24. package/dist/cli/commands/start.d.ts +7 -0
  25. package/dist/cli/commands/start.d.ts.map +1 -0
  26. package/dist/cli/core/args.d.ts +61 -0
  27. package/dist/cli/core/args.d.ts.map +1 -0
  28. package/dist/cli/core/console.d.ts +135 -0
  29. package/dist/cli/core/console.d.ts.map +1 -0
  30. package/dist/cli/core/index.d.ts +10 -0
  31. package/dist/cli/core/index.d.ts.map +1 -0
  32. package/dist/cli/core/prompt.d.ts +63 -0
  33. package/dist/cli/core/prompt.d.ts.map +1 -0
  34. package/dist/cli/core/spinner.d.ts +111 -0
  35. package/dist/cli/core/spinner.d.ts.map +1 -0
  36. package/dist/cli/index.d.ts +47 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/templates/database/index.d.ts +24 -0
  39. package/dist/cli/templates/database/index.d.ts.map +1 -0
  40. package/dist/cli/templates/database/mysql.d.ts +6 -0
  41. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  42. package/dist/cli/templates/database/none.d.ts +8 -0
  43. package/dist/cli/templates/database/none.d.ts.map +1 -0
  44. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  45. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  46. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  47. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  48. package/dist/cli/templates/deploy.d.ts +41 -0
  49. package/dist/cli/templates/deploy.d.ts.map +1 -0
  50. package/dist/cli/templates/docker.d.ts +30 -0
  51. package/dist/cli/templates/docker.d.ts.map +1 -0
  52. package/dist/cli/templates/frontend/index.d.ts +25 -0
  53. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  54. package/dist/cli/templates/frontend/none.d.ts +8 -0
  55. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  56. package/dist/cli/templates/frontend/react.d.ts +6 -0
  57. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  58. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  59. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  60. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  61. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  62. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  63. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  64. package/dist/cli/templates/generators/index.d.ts +29 -0
  65. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  66. package/dist/cli/templates/generators/types.d.ts +32 -0
  67. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  68. package/dist/cli/templates/index.d.ts +12 -0
  69. package/dist/cli/templates/index.d.ts.map +1 -0
  70. package/dist/cli/templates/project/api.d.ts +6 -0
  71. package/dist/cli/templates/project/api.d.ts.map +1 -0
  72. package/dist/cli/templates/project/default.d.ts +6 -0
  73. package/dist/cli/templates/project/default.d.ts.map +1 -0
  74. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  75. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  76. package/dist/cli/templates/project/index.d.ts +26 -0
  77. package/dist/cli/templates/project/index.d.ts.map +1 -0
  78. package/dist/cli/templates/project/minimal.d.ts +6 -0
  79. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  80. package/dist/cli/templates/project/types.d.ts +80 -0
  81. package/dist/cli/templates/project/types.d.ts.map +1 -0
  82. package/dist/cli/templates/project/website.d.ts +8 -0
  83. package/dist/cli/templates/project/website.d.ts.map +1 -0
  84. package/dist/cli/utils/fs.d.ts +137 -0
  85. package/dist/cli/utils/fs.d.ts.map +1 -0
  86. package/dist/cli/utils/index.d.ts +9 -0
  87. package/dist/cli/utils/index.d.ts.map +1 -0
  88. package/dist/cli/utils/strings.d.ts +86 -0
  89. package/dist/cli/utils/strings.d.ts.map +1 -0
  90. package/dist/cli/utils/version.d.ts +15 -0
  91. package/dist/cli/utils/version.d.ts.map +1 -0
  92. package/dist/config/env-validation.d.ts +49 -0
  93. package/dist/config/env-validation.d.ts.map +1 -0
  94. package/dist/config/env.d.ts +167 -0
  95. package/dist/config/env.d.ts.map +1 -0
  96. package/dist/config/index.d.ts +168 -0
  97. package/dist/config/index.d.ts.map +1 -0
  98. package/dist/config/loader.d.ts +81 -0
  99. package/dist/config/loader.d.ts.map +1 -0
  100. package/dist/config/merge.d.ts +66 -0
  101. package/dist/config/merge.d.ts.map +1 -0
  102. package/dist/config/types.d.ts +322 -0
  103. package/dist/config/types.d.ts.map +1 -0
  104. package/dist/config/validation.d.ts +100 -0
  105. package/dist/config/validation.d.ts.map +1 -0
  106. package/dist/container/forward-ref.d.ts +116 -0
  107. package/dist/container/forward-ref.d.ts.map +1 -0
  108. package/dist/container/index.d.ts +95 -0
  109. package/dist/container/index.d.ts.map +1 -0
  110. package/dist/container/index.js +26 -3
  111. package/dist/context/index.d.ts +143 -0
  112. package/dist/context/index.d.ts.map +1 -0
  113. package/dist/database/index.d.ts +219 -0
  114. package/dist/database/index.d.ts.map +1 -0
  115. package/dist/database/migrations/index.d.ts +146 -0
  116. package/dist/database/migrations/index.d.ts.map +1 -0
  117. package/dist/database/orm/builder.d.ts +122 -0
  118. package/dist/database/orm/builder.d.ts.map +1 -0
  119. package/dist/database/orm/casts/index.d.ts +16 -0
  120. package/dist/database/orm/casts/index.d.ts.map +1 -0
  121. package/dist/database/orm/casts/types.d.ts +16 -0
  122. package/dist/database/orm/casts/types.d.ts.map +1 -0
  123. package/dist/database/orm/compiler.d.ts +90 -0
  124. package/dist/database/orm/compiler.d.ts.map +1 -0
  125. package/dist/database/orm/hooks/index.d.ts +53 -0
  126. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  127. package/dist/database/orm/index.d.ts +21 -0
  128. package/dist/database/orm/index.d.ts.map +1 -0
  129. package/dist/database/orm/model-registry.d.ts +33 -0
  130. package/dist/database/orm/model-registry.d.ts.map +1 -0
  131. package/dist/database/orm/model.d.ts +245 -0
  132. package/dist/database/orm/model.d.ts.map +1 -0
  133. package/dist/database/orm/relationships/base.d.ts +69 -0
  134. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  135. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  136. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  137. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  138. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  139. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  140. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  141. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  142. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  143. package/dist/database/orm/relationships/index.d.ts +10 -0
  144. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  145. package/dist/database/orm/scopes/index.d.ts +36 -0
  146. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  147. package/dist/database/schema/index.d.ts +155 -0
  148. package/dist/database/schema/index.d.ts.map +1 -0
  149. package/dist/events/__tests__/event-system.test.d.ts +2 -0
  150. package/dist/events/__tests__/event-system.test.d.ts.map +1 -0
  151. package/dist/events/config.d.ts +16 -0
  152. package/dist/events/config.d.ts.map +1 -0
  153. package/dist/events/example-usage.d.ts +12 -0
  154. package/dist/events/example-usage.d.ts.map +1 -0
  155. package/dist/events/index.d.ts +27 -0
  156. package/dist/events/index.d.ts.map +1 -0
  157. package/dist/events/manager.d.ts +33 -0
  158. package/dist/events/manager.d.ts.map +1 -0
  159. package/dist/events/registry.d.ts +31 -0
  160. package/dist/events/registry.d.ts.map +1 -0
  161. package/dist/events/types.d.ts +105 -0
  162. package/dist/events/types.d.ts.map +1 -0
  163. package/dist/frontend/api-routes.d.ts +189 -0
  164. package/dist/frontend/api-routes.d.ts.map +1 -0
  165. package/dist/frontend/bundler.d.ts +99 -0
  166. package/dist/frontend/bundler.d.ts.map +1 -0
  167. package/dist/frontend/console-client.d.ts +11 -0
  168. package/dist/frontend/console-client.d.ts.map +1 -0
  169. package/dist/frontend/console-stream.d.ts +138 -0
  170. package/dist/frontend/console-stream.d.ts.map +1 -0
  171. package/dist/frontend/dev-server.d.ts +174 -0
  172. package/dist/frontend/dev-server.d.ts.map +1 -0
  173. package/dist/frontend/file-router.d.ts +170 -0
  174. package/dist/frontend/file-router.d.ts.map +1 -0
  175. package/dist/frontend/frameworks/index.d.ts +41 -0
  176. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  177. package/dist/frontend/frameworks/react.d.ts +32 -0
  178. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  179. package/dist/frontend/frameworks/solid.d.ts +42 -0
  180. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  181. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  182. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  183. package/dist/frontend/frameworks/vue.d.ts +36 -0
  184. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  185. package/dist/frontend/hmr-client.d.ts +22 -0
  186. package/dist/frontend/hmr-client.d.ts.map +1 -0
  187. package/dist/frontend/hmr.d.ts +185 -0
  188. package/dist/frontend/hmr.d.ts.map +1 -0
  189. package/dist/frontend/index.d.ts +34 -0
  190. package/dist/frontend/index.d.ts.map +1 -0
  191. package/dist/frontend/islands.d.ts +135 -0
  192. package/dist/frontend/islands.d.ts.map +1 -0
  193. package/dist/frontend/isr.d.ts +143 -0
  194. package/dist/frontend/isr.d.ts.map +1 -0
  195. package/dist/frontend/layout.d.ts +140 -0
  196. package/dist/frontend/layout.d.ts.map +1 -0
  197. package/dist/frontend/ssr/react.d.ts +118 -0
  198. package/dist/frontend/ssr/react.d.ts.map +1 -0
  199. package/dist/frontend/ssr/solid.d.ts +141 -0
  200. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  201. package/dist/frontend/ssr/svelte.d.ts +158 -0
  202. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  203. package/dist/frontend/ssr/vue.d.ts +161 -0
  204. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  205. package/dist/frontend/ssr.d.ts +147 -0
  206. package/dist/frontend/ssr.d.ts.map +1 -0
  207. package/dist/frontend/types.d.ts +1902 -0
  208. package/dist/frontend/types.d.ts.map +1 -0
  209. package/dist/graphql/built-in-engine.d.ts +36 -0
  210. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  211. package/dist/graphql/context-builder.d.ts +44 -0
  212. package/dist/graphql/context-builder.d.ts.map +1 -0
  213. package/dist/graphql/decorators.d.ts +162 -0
  214. package/dist/graphql/decorators.d.ts.map +1 -0
  215. package/dist/graphql/execution-pipeline.d.ts +67 -0
  216. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  217. package/dist/graphql/graphql-module.d.ts +70 -0
  218. package/dist/graphql/graphql-module.d.ts.map +1 -0
  219. package/dist/graphql/index.d.ts +48 -0
  220. package/dist/graphql/index.d.ts.map +1 -0
  221. package/dist/graphql/index.js +2156 -0
  222. package/dist/graphql/metadata.d.ts +37 -0
  223. package/dist/graphql/metadata.d.ts.map +1 -0
  224. package/dist/graphql/schema-builder.d.ts +34 -0
  225. package/dist/graphql/schema-builder.d.ts.map +1 -0
  226. package/dist/graphql/subscription-handler.d.ts +47 -0
  227. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  228. package/dist/graphql/types.d.ts +252 -0
  229. package/dist/graphql/types.d.ts.map +1 -0
  230. package/dist/health/index.d.ts +176 -0
  231. package/dist/health/index.d.ts.map +1 -0
  232. package/dist/i18n/engine.d.ts +105 -0
  233. package/dist/i18n/engine.d.ts.map +1 -0
  234. package/dist/i18n/index.d.ts +13 -0
  235. package/dist/i18n/index.d.ts.map +1 -0
  236. package/dist/i18n/loader.d.ts +79 -0
  237. package/dist/i18n/loader.d.ts.map +1 -0
  238. package/dist/i18n/middleware.d.ts +96 -0
  239. package/dist/i18n/middleware.d.ts.map +1 -0
  240. package/dist/i18n/negotiator.d.ts +84 -0
  241. package/dist/i18n/negotiator.d.ts.map +1 -0
  242. package/dist/i18n/types.d.ts +129 -0
  243. package/dist/i18n/types.d.ts.map +1 -0
  244. package/dist/index.d.ts +48 -0
  245. package/dist/index.d.ts.map +1 -0
  246. package/dist/index.js +520 -434
  247. package/dist/jobs/drivers/memory.d.ts +38 -0
  248. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  249. package/dist/jobs/drivers/redis.d.ts +34 -0
  250. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  251. package/dist/jobs/index.d.ts +12 -0
  252. package/dist/jobs/index.d.ts.map +1 -0
  253. package/dist/jobs/queue.d.ts +93 -0
  254. package/dist/jobs/queue.d.ts.map +1 -0
  255. package/dist/jobs/types.d.ts +193 -0
  256. package/dist/jobs/types.d.ts.map +1 -0
  257. package/dist/jobs/worker.d.ts +91 -0
  258. package/dist/jobs/worker.d.ts.map +1 -0
  259. package/dist/lock/index.d.ts +141 -0
  260. package/dist/lock/index.d.ts.map +1 -0
  261. package/dist/logger/index.d.ts +156 -0
  262. package/dist/logger/index.d.ts.map +1 -0
  263. package/dist/logger/transports/index.d.ts +371 -0
  264. package/dist/logger/transports/index.d.ts.map +1 -0
  265. package/dist/metrics/index.d.ts +163 -0
  266. package/dist/metrics/index.d.ts.map +1 -0
  267. package/dist/middleware/built-in.d.ts +50 -0
  268. package/dist/middleware/built-in.d.ts.map +1 -0
  269. package/dist/middleware/index.d.ts +40 -0
  270. package/dist/middleware/index.d.ts.map +1 -0
  271. package/dist/migrations/index.d.ts +10 -0
  272. package/dist/migrations/index.d.ts.map +1 -0
  273. package/dist/modules/filters.d.ts +150 -0
  274. package/dist/modules/filters.d.ts.map +1 -0
  275. package/dist/modules/guards.d.ts +188 -0
  276. package/dist/modules/guards.d.ts.map +1 -0
  277. package/dist/modules/index.d.ts +266 -0
  278. package/dist/modules/index.d.ts.map +1 -0
  279. package/dist/modules/index.js +514 -449
  280. package/dist/modules/interceptors.d.ts +242 -0
  281. package/dist/modules/interceptors.d.ts.map +1 -0
  282. package/dist/modules/lazy.d.ts +187 -0
  283. package/dist/modules/lazy.d.ts.map +1 -0
  284. package/dist/modules/lifecycle.d.ts +221 -0
  285. package/dist/modules/lifecycle.d.ts.map +1 -0
  286. package/dist/modules/metadata.d.ts +32 -0
  287. package/dist/modules/metadata.d.ts.map +1 -0
  288. package/dist/modules/pipes.d.ts +287 -0
  289. package/dist/modules/pipes.d.ts.map +1 -0
  290. package/dist/notification/channels/base.d.ts +32 -0
  291. package/dist/notification/channels/base.d.ts.map +1 -0
  292. package/dist/notification/channels/email.d.ts +37 -0
  293. package/dist/notification/channels/email.d.ts.map +1 -0
  294. package/dist/notification/channels/push.d.ts +37 -0
  295. package/dist/notification/channels/push.d.ts.map +1 -0
  296. package/dist/notification/channels/sms.d.ts +37 -0
  297. package/dist/notification/channels/sms.d.ts.map +1 -0
  298. package/dist/notification/channels/whatsapp.d.ts +37 -0
  299. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  300. package/dist/notification/index.d.ts +15 -0
  301. package/dist/notification/index.d.ts.map +1 -0
  302. package/dist/notification/service.d.ts +100 -0
  303. package/dist/notification/service.d.ts.map +1 -0
  304. package/dist/notification/types.d.ts +253 -0
  305. package/dist/notification/types.d.ts.map +1 -0
  306. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  307. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  308. package/dist/observability/breadcrumbs.d.ts +48 -0
  309. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  310. package/dist/observability/index.d.ts +95 -0
  311. package/dist/observability/index.d.ts.map +1 -0
  312. package/dist/observability/interceptor.d.ts +19 -0
  313. package/dist/observability/interceptor.d.ts.map +1 -0
  314. package/dist/observability/service.d.ts +101 -0
  315. package/dist/observability/service.d.ts.map +1 -0
  316. package/dist/observability/trace.d.ts +21 -0
  317. package/dist/observability/trace.d.ts.map +1 -0
  318. package/dist/observability/types.d.ts +172 -0
  319. package/dist/observability/types.d.ts.map +1 -0
  320. package/dist/openapi/__tests__/decorators.test.d.ts +2 -0
  321. package/dist/openapi/__tests__/decorators.test.d.ts.map +1 -0
  322. package/dist/openapi/__tests__/document-builder.test.d.ts +2 -0
  323. package/dist/openapi/__tests__/document-builder.test.d.ts.map +1 -0
  324. package/dist/openapi/__tests__/route-scanner.test.d.ts +2 -0
  325. package/dist/openapi/__tests__/route-scanner.test.d.ts.map +1 -0
  326. package/dist/openapi/__tests__/schema-generator.test.d.ts +2 -0
  327. package/dist/openapi/__tests__/schema-generator.test.d.ts.map +1 -0
  328. package/dist/openapi/decorators.d.ts +173 -0
  329. package/dist/openapi/decorators.d.ts.map +1 -0
  330. package/dist/openapi/document-builder.d.ts +82 -0
  331. package/dist/openapi/document-builder.d.ts.map +1 -0
  332. package/dist/openapi/index.d.ts +48 -0
  333. package/dist/openapi/index.d.ts.map +1 -0
  334. package/dist/openapi/index.js +59 -40
  335. package/dist/openapi/metadata.d.ts +36 -0
  336. package/dist/openapi/metadata.d.ts.map +1 -0
  337. package/dist/openapi/route-scanner.d.ts +34 -0
  338. package/dist/openapi/route-scanner.d.ts.map +1 -0
  339. package/dist/openapi/schema-generator.d.ts +53 -0
  340. package/dist/openapi/schema-generator.d.ts.map +1 -0
  341. package/dist/openapi/swagger-module.d.ts +57 -0
  342. package/dist/openapi/swagger-module.d.ts.map +1 -0
  343. package/dist/openapi/types.d.ts +344 -0
  344. package/dist/openapi/types.d.ts.map +1 -0
  345. package/dist/orm/index.d.ts +10 -0
  346. package/dist/orm/index.d.ts.map +1 -0
  347. package/dist/router/index.d.ts +73 -0
  348. package/dist/router/index.d.ts.map +1 -0
  349. package/dist/router/linear.d.ts +54 -0
  350. package/dist/router/linear.d.ts.map +1 -0
  351. package/dist/router/regex.d.ts +49 -0
  352. package/dist/router/regex.d.ts.map +1 -0
  353. package/dist/router/tree.d.ts +112 -0
  354. package/dist/router/tree.d.ts.map +1 -0
  355. package/dist/rpc/index.d.ts +321 -0
  356. package/dist/rpc/index.d.ts.map +1 -0
  357. package/dist/schema/index.d.ts +10 -0
  358. package/dist/schema/index.d.ts.map +1 -0
  359. package/dist/security/index.d.ts +126 -0
  360. package/dist/security/index.d.ts.map +1 -0
  361. package/dist/ssg/index.d.ts +73 -0
  362. package/dist/ssg/index.d.ts.map +1 -0
  363. package/dist/storage/index.d.ts +99 -0
  364. package/dist/storage/index.d.ts.map +1 -0
  365. package/dist/telemetry/index.d.ts +376 -0
  366. package/dist/telemetry/index.d.ts.map +1 -0
  367. package/dist/template/index.d.ts +7 -0
  368. package/dist/template/index.d.ts.map +1 -0
  369. package/dist/templates/engine.d.ts +60 -0
  370. package/dist/templates/engine.d.ts.map +1 -0
  371. package/dist/templates/index.d.ts +9 -0
  372. package/dist/templates/index.d.ts.map +1 -0
  373. package/dist/templates/loader.d.ts +45 -0
  374. package/dist/templates/loader.d.ts.map +1 -0
  375. package/dist/templates/renderers/markdown.d.ts +46 -0
  376. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  377. package/dist/templates/renderers/simple.d.ts +35 -0
  378. package/dist/templates/renderers/simple.d.ts.map +1 -0
  379. package/dist/templates/types.d.ts +138 -0
  380. package/dist/templates/types.d.ts.map +1 -0
  381. package/dist/testing/index.d.ts +539 -0
  382. package/dist/testing/index.d.ts.map +1 -0
  383. package/dist/types/index.d.ts +116 -0
  384. package/dist/types/index.d.ts.map +1 -0
  385. package/dist/validation/index.d.ts +89 -0
  386. package/dist/validation/index.d.ts.map +1 -0
  387. package/dist/validation/schemas.d.ts +243 -0
  388. package/dist/validation/schemas.d.ts.map +1 -0
  389. package/dist/websocket/index.d.ts +252 -0
  390. package/dist/websocket/index.d.ts.map +1 -0
  391. package/llms.txt +231 -0
  392. package/package.json +6 -2
  393. package/src/cli/ARCHITECTURE.md +3 -3
  394. package/src/cli/commands/add-frontend.ts +444 -0
  395. package/src/cli/commands/new.ts +23 -0
  396. package/src/cli/index.ts +1 -0
  397. package/src/cli/templates/frontend/react.ts +2 -1
  398. package/src/cli/templates/frontend/solid.ts +2 -1
  399. package/src/cli/templates/frontend/svelte.ts +2 -1
  400. package/src/cli/templates/frontend/vue.ts +2 -1
  401. package/src/cli/templates/project/api.ts +1 -1
  402. package/src/cli/templates/project/default.ts +1 -1
  403. package/src/cli/templates/project/fullstack.ts +14 -104
  404. package/src/cli/templates/project/website.ts +63 -12
  405. package/src/config/types.ts +21 -0
  406. package/src/graphql/built-in-engine.ts +598 -0
  407. package/src/graphql/context-builder.ts +110 -0
  408. package/src/graphql/decorators.ts +358 -0
  409. package/src/graphql/execution-pipeline.ts +227 -0
  410. package/src/graphql/graphql-module.ts +563 -0
  411. package/src/graphql/index.ts +101 -0
  412. package/src/graphql/metadata.ts +237 -0
  413. package/src/graphql/schema-builder.ts +319 -0
  414. package/src/graphql/subscription-handler.ts +283 -0
  415. package/src/graphql/types.ts +324 -0
  416. package/src/index.ts +3 -0
  417. package/src/modules/index.ts +48 -1
  418. package/tests/integration/cli.test.ts +19 -19
  419. package/tests/unit/cli.test.ts +1 -1
  420. package/tests/unit/graphql.test.ts +991 -0
  421. package/tsconfig.declaration.json +14 -0
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Structured Logging System
3
+ *
4
+ * Provides structured logging with JSON output, log levels,
5
+ * context-aware logging, and performance metrics.
6
+ */
7
+ export type LogLevel = "debug" | "info" | "warn" | "error" | "fatal";
8
+ export interface LogEntry {
9
+ level: LogLevel;
10
+ message: string;
11
+ timestamp: string;
12
+ context?: Record<string, unknown>;
13
+ error?: {
14
+ name: string;
15
+ message: string;
16
+ stack?: string;
17
+ };
18
+ duration?: number;
19
+ [key: string]: unknown;
20
+ }
21
+ export interface LoggerConfig {
22
+ level?: LogLevel;
23
+ pretty?: boolean;
24
+ timestamp?: boolean;
25
+ context?: Record<string, unknown>;
26
+ output?: "console" | "stdout" | ((entry: LogEntry) => void);
27
+ }
28
+ export interface LoggerContext {
29
+ requestId?: string;
30
+ userId?: string;
31
+ method?: string;
32
+ path?: string;
33
+ [key: string]: unknown;
34
+ }
35
+ export declare class Logger {
36
+ private level;
37
+ private pretty;
38
+ private timestamp;
39
+ private context;
40
+ private output;
41
+ constructor(config?: LoggerConfig);
42
+ /**
43
+ * Check if a log level should be logged
44
+ */
45
+ private shouldLog;
46
+ /**
47
+ * Serialize log entry to JSON
48
+ */
49
+ private serialize;
50
+ /**
51
+ * Pretty print log entry
52
+ */
53
+ private prettyPrint;
54
+ /**
55
+ * Create a log entry
56
+ */
57
+ private createEntry;
58
+ /**
59
+ * Log a debug message
60
+ */
61
+ debug(message: string, context?: Record<string, unknown>): void;
62
+ /**
63
+ * Log an info message
64
+ */
65
+ info(message: string, context?: Record<string, unknown>): void;
66
+ /**
67
+ * Log a warning message
68
+ */
69
+ warn(message: string, context?: Record<string, unknown>): void;
70
+ /**
71
+ * Log an error message
72
+ */
73
+ error(message: string, error?: Error | unknown, context?: Record<string, unknown>): void;
74
+ /**
75
+ * Log a fatal message
76
+ */
77
+ fatal(message: string, error?: Error | unknown, context?: Record<string, unknown>): void;
78
+ /**
79
+ * Create a child logger with additional context
80
+ */
81
+ child(context: Record<string, unknown>): Logger;
82
+ /**
83
+ * Set log level
84
+ */
85
+ setLevel(level: LogLevel): void;
86
+ /**
87
+ * Add context to the logger
88
+ */
89
+ addContext(context: Record<string, unknown>): void;
90
+ /**
91
+ * Time a function
92
+ */
93
+ time<T>(label: string, fn: () => T | Promise<T>): Promise<T>;
94
+ /**
95
+ * Create a timer
96
+ */
97
+ startTimer(label: string): () => number;
98
+ }
99
+ export interface RequestLogContext {
100
+ requestId?: string;
101
+ method: string;
102
+ path: string;
103
+ query?: string;
104
+ ip?: string;
105
+ userAgent?: string;
106
+ userId?: string;
107
+ }
108
+ export interface ResponseLogContext extends RequestLogContext {
109
+ statusCode: number;
110
+ duration: number;
111
+ contentLength?: number;
112
+ }
113
+ /**
114
+ * Create a request logger middleware
115
+ */
116
+ export declare function createRequestLogger(logger: Logger): (ctx: unknown, next: () => Promise<unknown>) => Promise<unknown>;
117
+ export declare class PerformanceLogger {
118
+ private logger;
119
+ private metrics;
120
+ constructor(logger: Logger);
121
+ /**
122
+ * Record a metric
123
+ */
124
+ record(name: string, value: number): void;
125
+ /**
126
+ * Get metric statistics
127
+ */
128
+ stats(name: string): {
129
+ count: number;
130
+ min: number;
131
+ max: number;
132
+ avg: number;
133
+ p99: number;
134
+ } | null;
135
+ /**
136
+ * Log all metrics
137
+ */
138
+ logMetrics(): void;
139
+ /**
140
+ * Clear all metrics
141
+ */
142
+ clear(): void;
143
+ }
144
+ /**
145
+ * Get the default logger instance
146
+ */
147
+ export declare function getLogger(): Logger;
148
+ /**
149
+ * Set the default logger instance
150
+ */
151
+ export declare function setLogger(logger: Logger): void;
152
+ /**
153
+ * Create a new logger
154
+ */
155
+ export declare function createLogger(config?: LoggerConfig): Logger;
156
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,371 @@
1
+ /**
2
+ * Log Transport System
3
+ *
4
+ * Provides transport implementations for external log aggregation services
5
+ * like Datadog, generic HTTP webhooks, and console output.
6
+ */
7
+ import type { LogEntry, LoggerConfig } from "../index";
8
+ /**
9
+ * Error callback for transport errors
10
+ */
11
+ export type TransportErrorCallback = (error: Error, transport: LogTransport) => void;
12
+ /**
13
+ * Base interface for log transports
14
+ */
15
+ export interface LogTransport {
16
+ /** Transport name for identification */
17
+ readonly name: string;
18
+ /** Send a single log entry */
19
+ send(entry: LogEntry): Promise<void>;
20
+ /** Send multiple log entries (batch) */
21
+ sendBatch(entries: LogEntry[]): Promise<void>;
22
+ /** Flush any pending logs */
23
+ flush?(): Promise<void>;
24
+ /** Close the transport and cleanup resources */
25
+ close?(): Promise<void>;
26
+ }
27
+ /**
28
+ * Options for retry behavior
29
+ */
30
+ export interface RetryOptions {
31
+ /** Maximum number of retry attempts */
32
+ maxRetries: number;
33
+ /** Initial delay in milliseconds */
34
+ initialDelay: number;
35
+ /** Maximum delay in milliseconds */
36
+ maxDelay: number;
37
+ /** Backoff multiplier */
38
+ backoffMultiplier: number;
39
+ }
40
+ /**
41
+ * Options for batching behavior
42
+ */
43
+ export interface BatchOptions {
44
+ /** Maximum batch size before auto-flush */
45
+ batchSize: number;
46
+ /** Flush interval in milliseconds */
47
+ flushInterval: number;
48
+ }
49
+ /**
50
+ * Options for HTTPWebhookTransport
51
+ */
52
+ export interface HTTPWebhookTransportOptions {
53
+ /** Webhook URL */
54
+ url: string;
55
+ /** Additional headers */
56
+ headers?: Record<string, string>;
57
+ /** Batch options */
58
+ batchSize?: number;
59
+ /** Flush interval in milliseconds */
60
+ flushInterval?: number;
61
+ /** Retry options */
62
+ retries?: Partial<RetryOptions>;
63
+ /** Error callback */
64
+ onError?: TransportErrorCallback;
65
+ /** Request timeout in milliseconds */
66
+ timeout?: number;
67
+ }
68
+ /**
69
+ * Generic HTTP webhook transport for sending logs to any HTTP endpoint
70
+ */
71
+ export declare class HTTPWebhookTransport implements LogTransport {
72
+ readonly name = "HTTPWebhookTransport";
73
+ private url;
74
+ private headers;
75
+ private batchSize;
76
+ private flushInterval;
77
+ private retryOptions;
78
+ private onError?;
79
+ private timeout;
80
+ private queue;
81
+ private flushTimer;
82
+ private isFlushing;
83
+ private isClosed;
84
+ constructor(options: HTTPWebhookTransportOptions);
85
+ /**
86
+ * Start the flush timer
87
+ */
88
+ private startFlushTimer;
89
+ /**
90
+ * Send a single log entry
91
+ */
92
+ send(entry: LogEntry): Promise<void>;
93
+ /**
94
+ * Send multiple log entries
95
+ */
96
+ sendBatch(entries: LogEntry[]): Promise<void>;
97
+ /**
98
+ * Flush pending logs
99
+ */
100
+ flush(): Promise<void>;
101
+ /**
102
+ * Send entries with retry logic
103
+ */
104
+ private sendWithRetry;
105
+ /**
106
+ * Make HTTP request
107
+ */
108
+ private makeRequest;
109
+ /**
110
+ * Sleep utility
111
+ */
112
+ private sleep;
113
+ /**
114
+ * Handle errors
115
+ */
116
+ private handleError;
117
+ /**
118
+ * Close the transport
119
+ */
120
+ close(): Promise<void>;
121
+ }
122
+ /**
123
+ * Options for DatadogTransport
124
+ */
125
+ export interface DatadogTransportOptions {
126
+ /** Datadog API key */
127
+ apiKey: string;
128
+ /** Service name */
129
+ service: string;
130
+ /** Environment (e.g., production, staging) */
131
+ env?: string;
132
+ /** Hostname */
133
+ hostname?: string;
134
+ /** Default tags */
135
+ tags?: string[];
136
+ /** Batch options */
137
+ batchSize?: number;
138
+ /** Flush interval in milliseconds */
139
+ flushInterval?: number;
140
+ /** Retry options */
141
+ retries?: Partial<RetryOptions>;
142
+ /** Error callback */
143
+ onError?: TransportErrorCallback;
144
+ /** Custom Datadog API endpoint */
145
+ endpoint?: string;
146
+ /** Request timeout in milliseconds */
147
+ timeout?: number;
148
+ }
149
+ /**
150
+ * Datadog Logs API transport
151
+ */
152
+ export declare class DatadogTransport implements LogTransport {
153
+ readonly name = "DatadogTransport";
154
+ private apiKey;
155
+ private service;
156
+ private env;
157
+ private hostname;
158
+ private tags;
159
+ private endpoint;
160
+ private batchSize;
161
+ private flushInterval;
162
+ private retryOptions;
163
+ private onError?;
164
+ private timeout;
165
+ private queue;
166
+ private flushTimer;
167
+ private isFlushing;
168
+ private isClosed;
169
+ constructor(options: DatadogTransportOptions);
170
+ /**
171
+ * Get default hostname
172
+ */
173
+ private getDefaultHostname;
174
+ /**
175
+ * Start the flush timer
176
+ */
177
+ private startFlushTimer;
178
+ /**
179
+ * Convert log level to Datadog status
180
+ */
181
+ private toDatadogStatus;
182
+ /**
183
+ * Convert LogEntry to Datadog format
184
+ */
185
+ private toDatadogFormat;
186
+ /**
187
+ * Send a single log entry
188
+ */
189
+ send(entry: LogEntry): Promise<void>;
190
+ /**
191
+ * Send multiple log entries
192
+ */
193
+ sendBatch(entries: LogEntry[]): Promise<void>;
194
+ /**
195
+ * Flush pending logs
196
+ */
197
+ flush(): Promise<void>;
198
+ /**
199
+ * Send entries with retry logic
200
+ */
201
+ private sendWithRetry;
202
+ /**
203
+ * Make HTTP request to Datadog
204
+ */
205
+ private makeRequest;
206
+ /**
207
+ * Sleep utility
208
+ */
209
+ private sleep;
210
+ /**
211
+ * Handle errors
212
+ */
213
+ private handleError;
214
+ /**
215
+ * Close the transport
216
+ */
217
+ close(): Promise<void>;
218
+ }
219
+ /**
220
+ * Options for ConsoleTransport
221
+ */
222
+ export interface ConsoleTransportOptions {
223
+ /** Use pretty printing */
224
+ pretty?: boolean;
225
+ /** Output stream for logs */
226
+ stream?: "stdout" | "stderr";
227
+ /** Error callback */
228
+ onError?: TransportErrorCallback;
229
+ }
230
+ /**
231
+ * Enhanced console transport for local development
232
+ */
233
+ export declare class ConsoleTransport implements LogTransport {
234
+ readonly name = "ConsoleTransport";
235
+ private pretty;
236
+ private stream;
237
+ private onError?;
238
+ constructor(options?: ConsoleTransportOptions);
239
+ /**
240
+ * Get level color for pretty printing
241
+ */
242
+ private getLevelColor;
243
+ /**
244
+ * Format log entry for console output
245
+ */
246
+ private formatEntry;
247
+ /**
248
+ * Output to console
249
+ */
250
+ private output;
251
+ /**
252
+ * Send a single log entry
253
+ */
254
+ send(entry: LogEntry): Promise<void>;
255
+ /**
256
+ * Send multiple log entries
257
+ */
258
+ sendBatch(entries: LogEntry[]): Promise<void>;
259
+ /**
260
+ * Flush (no-op for console)
261
+ */
262
+ flush(): Promise<void>;
263
+ /**
264
+ * Close (no-op for console)
265
+ */
266
+ close(): Promise<void>;
267
+ }
268
+ /**
269
+ * Manages multiple log transports
270
+ */
271
+ export declare class TransportManager {
272
+ private transports;
273
+ private onError?;
274
+ constructor(options?: {
275
+ onError?: TransportErrorCallback;
276
+ });
277
+ /**
278
+ * Add a transport
279
+ */
280
+ addTransport(transport: LogTransport): void;
281
+ /**
282
+ * Remove a transport
283
+ */
284
+ removeTransport(transport: LogTransport): boolean;
285
+ /**
286
+ * Get all transports
287
+ */
288
+ getTransports(): LogTransport[];
289
+ /**
290
+ * Check if a transport is registered
291
+ */
292
+ hasTransport(transport: LogTransport): boolean;
293
+ /**
294
+ * Clear all transports
295
+ */
296
+ clearTransports(): void;
297
+ /**
298
+ * Broadcast a log entry to all transports
299
+ */
300
+ broadcast(entry: LogEntry): Promise<void>;
301
+ /**
302
+ * Broadcast multiple entries to all transports
303
+ */
304
+ broadcastBatch(entries: LogEntry[]): Promise<void>;
305
+ /**
306
+ * Flush all transports
307
+ */
308
+ flushAll(): Promise<void>;
309
+ /**
310
+ * Close all transports
311
+ */
312
+ closeAll(): Promise<void>;
313
+ }
314
+ import { Logger } from "../index";
315
+ /**
316
+ * Configuration for logger with transports
317
+ */
318
+ export interface LoggerWithTransportsConfig extends LoggerConfig {
319
+ /** Transports to add to the logger */
320
+ transports?: LogTransport[];
321
+ /** Error callback for transport errors */
322
+ onTransportError?: TransportErrorCallback;
323
+ }
324
+ /**
325
+ * Logger with transport support
326
+ */
327
+ export declare class LoggerWithTransports extends Logger {
328
+ private transportManager;
329
+ constructor(config?: LoggerWithTransportsConfig);
330
+ /**
331
+ * Add a transport
332
+ */
333
+ addTransport(transport: LogTransport): void;
334
+ /**
335
+ * Remove a transport
336
+ */
337
+ removeTransport(transport: LogTransport): boolean;
338
+ /**
339
+ * Get all transports
340
+ */
341
+ getTransports(): LogTransport[];
342
+ /**
343
+ * Flush all transports
344
+ */
345
+ flushTransports(): Promise<void>;
346
+ /**
347
+ * Close all transports
348
+ */
349
+ closeTransports(): Promise<void>;
350
+ }
351
+ /**
352
+ * Create a logger with transports
353
+ */
354
+ export declare function createLoggerWithTransports(config?: LoggerWithTransportsConfig): LoggerWithTransports;
355
+ /**
356
+ * Create a transport output function for use with existing Logger
357
+ */
358
+ export declare function createTransportOutput(transports: LogTransport[], options?: {
359
+ onError?: TransportErrorCallback;
360
+ }): (entry: LogEntry) => void;
361
+ declare const _default: {
362
+ HTTPWebhookTransport: typeof HTTPWebhookTransport;
363
+ DatadogTransport: typeof DatadogTransport;
364
+ ConsoleTransport: typeof ConsoleTransport;
365
+ TransportManager: typeof TransportManager;
366
+ LoggerWithTransports: typeof LoggerWithTransports;
367
+ createLoggerWithTransports: typeof createLoggerWithTransports;
368
+ createTransportOutput: typeof createTransportOutput;
369
+ };
370
+ export default _default;
371
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/logger/transports/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Runtime Metrics Module
3
+ *
4
+ * Provides runtime metrics collection for memory, CPU usage, and other statistics.
5
+ * Part of Layer 7 (Testing & Observability) implementation.
6
+ */
7
+ /**
8
+ * Runtime metrics snapshot
9
+ */
10
+ export interface RuntimeMetrics {
11
+ /** Heap memory used in bytes */
12
+ memoryHeapUsed: number;
13
+ /** Total heap memory in bytes */
14
+ memoryHeapTotal: number;
15
+ /** External memory (C++ objects bound to JS) in bytes */
16
+ memoryExternal: number;
17
+ /** Resident Set Size in bytes */
18
+ memoryRss: number;
19
+ /** User CPU time in microseconds */
20
+ cpuUser: number;
21
+ /** System CPU time in microseconds */
22
+ cpuSystem: number;
23
+ /** Process uptime in seconds */
24
+ uptime: number;
25
+ /** Event loop lag in milliseconds */
26
+ eventLoopLag: number;
27
+ /** ISO 8601 timestamp */
28
+ timestamp: string;
29
+ }
30
+ /**
31
+ * Human-readable metrics summary
32
+ */
33
+ export interface MetricsSummary {
34
+ memoryHeapUsed: string;
35
+ memoryHeapTotal: string;
36
+ memoryExternal: string;
37
+ memoryRss: string;
38
+ cpuUser: string;
39
+ cpuSystem: string;
40
+ uptime: string;
41
+ eventLoopLag: string;
42
+ timestamp: string;
43
+ }
44
+ /**
45
+ * Options for MetricsCollector
46
+ */
47
+ export interface MetricsCollectorOptions {
48
+ /** Maximum number of historical snapshots to keep (default: 100) */
49
+ maxHistorySize?: number;
50
+ /** Include event loop lag measurement (default: true) */
51
+ measureEventLoopLag?: boolean;
52
+ }
53
+ /**
54
+ * Averaged metrics over time
55
+ */
56
+ export interface AveragedMetrics {
57
+ avgMemoryHeapUsed: number;
58
+ avgMemoryHeapTotal: number;
59
+ avgMemoryExternal: number;
60
+ avgMemoryRss: number;
61
+ avgCpuUser: number;
62
+ avgCpuSystem: number;
63
+ avgEventLoopLag: number;
64
+ minMemoryHeapUsed: number;
65
+ maxMemoryHeapUsed: number;
66
+ sampleCount: number;
67
+ timeRange: {
68
+ start: string;
69
+ end: string;
70
+ };
71
+ }
72
+ /**
73
+ * Format bytes to human-readable string
74
+ */
75
+ export declare function formatBytes(bytes: number): string;
76
+ /**
77
+ * Format microseconds to human-readable string
78
+ */
79
+ export declare function formatMicroseconds(microseconds: number): string;
80
+ /**
81
+ * Format seconds to human-readable uptime string
82
+ */
83
+ export declare function formatUptime(seconds: number): string;
84
+ /**
85
+ * Get human-readable metrics summary
86
+ */
87
+ export declare function getMetricsSummary(metrics: RuntimeMetrics): MetricsSummary;
88
+ /**
89
+ * Measure event loop lag using deferred execution timing
90
+ * @returns Promise resolving to lag in milliseconds
91
+ */
92
+ export declare function measureEventLoopLag(): Promise<number>;
93
+ /**
94
+ * Measure event loop lag multiple times and return average
95
+ */
96
+ export declare function measureEventLoopLagAverage(samples?: number): Promise<number>;
97
+ /**
98
+ * Collects and manages runtime metrics
99
+ */
100
+ export declare class MetricsCollector {
101
+ private history;
102
+ private maxHistorySize;
103
+ private measureEventLoopLagEnabled;
104
+ private periodicTimer;
105
+ private lastCpuUsage;
106
+ constructor(options?: MetricsCollectorOptions);
107
+ /**
108
+ * Collect current runtime metrics
109
+ */
110
+ collect(): Promise<RuntimeMetrics>;
111
+ /**
112
+ * Start collecting metrics at regular intervals
113
+ * @param intervalMs Interval in milliseconds (default: 5000)
114
+ */
115
+ startPeriodicCollection(intervalMs?: number): void;
116
+ /**
117
+ * Stop periodic collection
118
+ */
119
+ stopPeriodicCollection(): void;
120
+ /**
121
+ * Check if periodic collection is running
122
+ */
123
+ isCollecting(): boolean;
124
+ /**
125
+ * Get historical metrics snapshots
126
+ */
127
+ getHistory(): RuntimeMetrics[];
128
+ /**
129
+ * Get the most recent metrics
130
+ */
131
+ getLatest(): RuntimeMetrics | null;
132
+ /**
133
+ * Get averaged metrics over time
134
+ */
135
+ getAverage(): AveragedMetrics | null;
136
+ /**
137
+ * Clear history
138
+ */
139
+ reset(): void;
140
+ /**
141
+ * Get the number of samples in history
142
+ */
143
+ getHistorySize(): number;
144
+ }
145
+ /**
146
+ * Export metrics in Prometheus text format
147
+ * @param metrics Runtime metrics to export
148
+ * @returns Prometheus formatted string
149
+ */
150
+ export declare function toPrometheusFormat(metrics: RuntimeMetrics): string;
151
+ /**
152
+ * Export averaged metrics in Prometheus format
153
+ */
154
+ export declare function averagedMetricsToPrometheus(averaged: AveragedMetrics): string;
155
+ /**
156
+ * Create a new metrics collector
157
+ */
158
+ export declare function createMetricsCollector(options?: MetricsCollectorOptions): MetricsCollector;
159
+ /**
160
+ * Collect metrics once without a collector
161
+ */
162
+ export declare function collectMetrics(): Promise<RuntimeMetrics>;
163
+ //# sourceMappingURL=index.d.ts.map