@veryfront/ext-content-mdx 0.1.985

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 (341) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +42 -0
  4. package/esm/_dnt.polyfills.d.ts +18 -0
  5. package/esm/_dnt.polyfills.d.ts.map +1 -0
  6. package/esm/_dnt.polyfills.js +15 -0
  7. package/esm/_dnt.shims.d.ts +12 -0
  8. package/esm/_dnt.shims.d.ts.map +1 -0
  9. package/esm/_dnt.shims.js +68 -0
  10. package/esm/deno.d.ts +427 -0
  11. package/esm/deno.d.ts.map +1 -0
  12. package/esm/deno.js +512 -0
  13. package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.d.ts +33 -0
  14. package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/yaml/1.1.0/_chars.js +48 -0
  16. package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.d.ts +64 -0
  17. package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/yaml/1.1.0/_loader_state.js +1371 -0
  19. package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.d.ts +44 -0
  20. package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/yaml/1.1.0/_schema.js +117 -0
  22. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.d.ts +3 -0
  23. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/binary.js +103 -0
  25. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.d.ts +3 -0
  26. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/bool.js +32 -0
  28. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.d.ts +3 -0
  29. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/float.js +96 -0
  31. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.d.ts +3 -0
  32. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/int.js +159 -0
  34. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.d.ts +3 -0
  35. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/map.js +14 -0
  37. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.d.ts +3 -0
  38. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.d.ts.map +1 -0
  39. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/merge.js +10 -0
  40. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.d.ts +3 -0
  41. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.d.ts.map +1 -0
  42. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/nil.js +22 -0
  43. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.d.ts +3 -0
  44. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.d.ts.map +1 -0
  45. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/omap.js +29 -0
  46. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.d.ts +3 -0
  47. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/pairs.js +19 -0
  49. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.d.ts +3 -0
  50. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.d.ts.map +1 -0
  51. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/regexp.js +30 -0
  52. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.d.ts +3 -0
  53. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.d.ts.map +1 -0
  54. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/seq.js +10 -0
  55. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.d.ts +3 -0
  56. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.d.ts.map +1 -0
  57. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/set.js +14 -0
  58. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.d.ts +3 -0
  59. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/str.js +9 -0
  61. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.d.ts +3 -0
  62. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.d.ts.map +1 -0
  63. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/timestamp.js +81 -0
  64. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.d.ts +3 -0
  65. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.d.ts.map +1 -0
  66. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type/undefined.js +20 -0
  67. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.d.ts +32 -0
  68. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.d.ts.map +1 -0
  69. package/esm/deps/jsr.io/@std/yaml/1.1.0/_type.js +6 -0
  70. package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.d.ts +4 -0
  71. package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/yaml/1.1.0/_utils.js +13 -0
  73. package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.d.ts +76 -0
  74. package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.d.ts.map +1 -0
  75. package/esm/deps/jsr.io/@std/yaml/1.1.0/parse.js +91 -0
  76. package/esm/extensions/ext-content-mdx/src/compiler/markdown-compile.d.ts +3 -0
  77. package/esm/extensions/ext-content-mdx/src/compiler/markdown-compile.d.ts.map +1 -0
  78. package/esm/extensions/ext-content-mdx/src/compiler/markdown-compile.js +99 -0
  79. package/esm/extensions/ext-content-mdx/src/compiler/mdx-compile.d.ts +3 -0
  80. package/esm/extensions/ext-content-mdx/src/compiler/mdx-compile.d.ts.map +1 -0
  81. package/esm/extensions/ext-content-mdx/src/compiler/mdx-compile.js +53 -0
  82. package/esm/extensions/ext-content-mdx/src/index.d.ts +31 -0
  83. package/esm/extensions/ext-content-mdx/src/index.d.ts.map +1 -0
  84. package/esm/extensions/ext-content-mdx/src/index.js +56 -0
  85. package/esm/extensions/ext-content-mdx/src/plugins/plugin-loader.d.ts +4 -0
  86. package/esm/extensions/ext-content-mdx/src/plugins/plugin-loader.d.ts.map +1 -0
  87. package/esm/extensions/ext-content-mdx/src/plugins/plugin-loader.js +18 -0
  88. package/esm/extensions/ext-content-mdx/src/plugins/rehype-node-positions.d.ts +20 -0
  89. package/esm/extensions/ext-content-mdx/src/plugins/rehype-node-positions.d.ts.map +1 -0
  90. package/esm/extensions/ext-content-mdx/src/plugins/rehype-node-positions.js +45 -0
  91. package/esm/extensions/ext-content-mdx/src/plugins/remark-headings.d.ts +4 -0
  92. package/esm/extensions/ext-content-mdx/src/plugins/remark-headings.d.ts.map +1 -0
  93. package/esm/extensions/ext-content-mdx/src/plugins/remark-headings.js +69 -0
  94. package/esm/extensions/ext-content-mdx/src/plugins/remark-mdx-utils.d.ts +14 -0
  95. package/esm/extensions/ext-content-mdx/src/plugins/remark-mdx-utils.d.ts.map +1 -0
  96. package/esm/extensions/ext-content-mdx/src/plugins/remark-mdx-utils.js +191 -0
  97. package/esm/package.json +3 -0
  98. package/esm/src/config/defaults.d.ts +39 -0
  99. package/esm/src/config/defaults.d.ts.map +1 -0
  100. package/esm/src/config/defaults.js +65 -0
  101. package/esm/src/errors/error-registry/agent.d.ts +18 -0
  102. package/esm/src/errors/error-registry/agent.d.ts.map +1 -0
  103. package/esm/src/errors/error-registry/agent.js +60 -0
  104. package/esm/src/errors/error-registry/boundary.d.ts +16 -0
  105. package/esm/src/errors/error-registry/boundary.d.ts.map +1 -0
  106. package/esm/src/errors/error-registry/boundary.js +52 -0
  107. package/esm/src/errors/error-registry/build.d.ts +20 -0
  108. package/esm/src/errors/error-registry/build.d.ts.map +1 -0
  109. package/esm/src/errors/error-registry/build.js +68 -0
  110. package/esm/src/errors/error-registry/config.d.ts +22 -0
  111. package/esm/src/errors/error-registry/config.d.ts.map +1 -0
  112. package/esm/src/errors/error-registry/config.js +70 -0
  113. package/esm/src/errors/error-registry/deploy.d.ts +12 -0
  114. package/esm/src/errors/error-registry/deploy.d.ts.map +1 -0
  115. package/esm/src/errors/error-registry/deploy.js +36 -0
  116. package/esm/src/errors/error-registry/dev.d.ts +14 -0
  117. package/esm/src/errors/error-registry/dev.d.ts.map +1 -0
  118. package/esm/src/errors/error-registry/dev.js +44 -0
  119. package/esm/src/errors/error-registry/general.d.ts +29 -0
  120. package/esm/src/errors/error-registry/general.d.ts.map +1 -0
  121. package/esm/src/errors/error-registry/general.js +92 -0
  122. package/esm/src/errors/error-registry/module.d.ts +16 -0
  123. package/esm/src/errors/error-registry/module.d.ts.map +1 -0
  124. package/esm/src/errors/error-registry/module.js +52 -0
  125. package/esm/src/errors/error-registry/route.d.ts +16 -0
  126. package/esm/src/errors/error-registry/route.d.ts.map +1 -0
  127. package/esm/src/errors/error-registry/route.js +52 -0
  128. package/esm/src/errors/error-registry/runtime.d.ts +18 -0
  129. package/esm/src/errors/error-registry/runtime.d.ts.map +1 -0
  130. package/esm/src/errors/error-registry/runtime.js +60 -0
  131. package/esm/src/errors/error-registry/server.d.ts +39 -0
  132. package/esm/src/errors/error-registry/server.d.ts.map +1 -0
  133. package/esm/src/errors/error-registry/server.js +129 -0
  134. package/esm/src/errors/error-registry-helpers.d.ts +6 -0
  135. package/esm/src/errors/error-registry-helpers.d.ts.map +1 -0
  136. package/esm/src/errors/error-registry-helpers.js +9 -0
  137. package/esm/src/errors/error-registry.d.ts +114 -0
  138. package/esm/src/errors/error-registry.d.ts.map +1 -0
  139. package/esm/src/errors/error-registry.js +60 -0
  140. package/esm/src/errors/types.d.ts +84 -0
  141. package/esm/src/errors/types.d.ts.map +1 -0
  142. package/esm/src/errors/types.js +69 -0
  143. package/esm/src/errors/veryfront-error.d.ts +149 -0
  144. package/esm/src/errors/veryfront-error.d.ts.map +1 -0
  145. package/esm/src/errors/veryfront-error.js +61 -0
  146. package/esm/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.d.ts +13 -0
  147. package/esm/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.d.ts.map +1 -0
  148. package/esm/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.js +55 -0
  149. package/esm/src/observability/tracing/api-shim.d.ts +178 -0
  150. package/esm/src/observability/tracing/api-shim.d.ts.map +1 -0
  151. package/esm/src/observability/tracing/api-shim.js +241 -0
  152. package/esm/src/observability/tracing/otlp-setup.d.ts +56 -0
  153. package/esm/src/observability/tracing/otlp-setup.d.ts.map +1 -0
  154. package/esm/src/observability/tracing/otlp-setup.js +206 -0
  155. package/esm/src/observability/tracing/telemetry-env.d.ts +3 -0
  156. package/esm/src/observability/tracing/telemetry-env.d.ts.map +1 -0
  157. package/esm/src/observability/tracing/telemetry-env.js +10 -0
  158. package/esm/src/platform/adapters/base.d.ts +188 -0
  159. package/esm/src/platform/adapters/base.d.ts.map +1 -0
  160. package/esm/src/platform/adapters/base.js +15 -0
  161. package/esm/src/platform/compat/constants.d.ts +13 -0
  162. package/esm/src/platform/compat/constants.d.ts.map +1 -0
  163. package/esm/src/platform/compat/constants.js +12 -0
  164. package/esm/src/platform/compat/dynamic-import.d.ts +11 -0
  165. package/esm/src/platform/compat/dynamic-import.d.ts.map +1 -0
  166. package/esm/src/platform/compat/dynamic-import.js +10 -0
  167. package/esm/src/platform/compat/fs.d.ts +71 -0
  168. package/esm/src/platform/compat/fs.d.ts.map +1 -0
  169. package/esm/src/platform/compat/fs.js +277 -0
  170. package/esm/src/platform/compat/path/basic-operations.d.ts +9 -0
  171. package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -0
  172. package/esm/src/platform/compat/path/basic-operations.js +56 -0
  173. package/esm/src/platform/compat/path/index.d.ts +13 -0
  174. package/esm/src/platform/compat/path/index.d.ts.map +1 -0
  175. package/esm/src/platform/compat/path/index.js +11 -0
  176. package/esm/src/platform/compat/path/parse-format.d.ts +4 -0
  177. package/esm/src/platform/compat/path/parse-format.d.ts.map +1 -0
  178. package/esm/src/platform/compat/path/parse-format.js +26 -0
  179. package/esm/src/platform/compat/path/resolution.d.ts +6 -0
  180. package/esm/src/platform/compat/path/resolution.d.ts.map +1 -0
  181. package/esm/src/platform/compat/path/resolution.js +121 -0
  182. package/esm/src/platform/compat/path/runtime.d.ts +8 -0
  183. package/esm/src/platform/compat/path/runtime.d.ts.map +1 -0
  184. package/esm/src/platform/compat/path/runtime.js +20 -0
  185. package/esm/src/platform/compat/path/security.d.ts +2 -0
  186. package/esm/src/platform/compat/path/security.d.ts.map +1 -0
  187. package/esm/src/platform/compat/path/security.js +24 -0
  188. package/esm/src/platform/compat/path/types.d.ts +22 -0
  189. package/esm/src/platform/compat/path/types.d.ts.map +1 -0
  190. package/esm/src/platform/compat/path/types.js +1 -0
  191. package/esm/src/platform/compat/path/url-conversion.d.ts +3 -0
  192. package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -0
  193. package/esm/src/platform/compat/path/url-conversion.js +45 -0
  194. package/esm/src/platform/compat/process/command.d.ts +31 -0
  195. package/esm/src/platform/compat/process/command.d.ts.map +1 -0
  196. package/esm/src/platform/compat/process/command.js +194 -0
  197. package/esm/src/platform/compat/process/env.d.ts +35 -0
  198. package/esm/src/platform/compat/process/env.d.ts.map +1 -0
  199. package/esm/src/platform/compat/process/env.js +194 -0
  200. package/esm/src/platform/compat/process/lifecycle.d.ts +99 -0
  201. package/esm/src/platform/compat/process/lifecycle.d.ts.map +1 -0
  202. package/esm/src/platform/compat/process/lifecycle.js +327 -0
  203. package/esm/src/platform/compat/process/runtime-process.d.ts +10 -0
  204. package/esm/src/platform/compat/process/runtime-process.d.ts.map +1 -0
  205. package/esm/src/platform/compat/process/runtime-process.js +25 -0
  206. package/esm/src/platform/compat/process.d.ts +5 -0
  207. package/esm/src/platform/compat/process.d.ts.map +1 -0
  208. package/esm/src/platform/compat/process.js +4 -0
  209. package/esm/src/platform/compat/runtime.d.ts +51 -0
  210. package/esm/src/platform/compat/runtime.d.ts.map +1 -0
  211. package/esm/src/platform/compat/runtime.js +101 -0
  212. package/esm/src/platform/compat/std/front-matter-yaml.d.ts +13 -0
  213. package/esm/src/platform/compat/std/front-matter-yaml.d.ts.map +1 -0
  214. package/esm/src/platform/compat/std/front-matter-yaml.js +28 -0
  215. package/esm/src/transforms/import-rewriter/url-builder.d.ts +70 -0
  216. package/esm/src/transforms/import-rewriter/url-builder.d.ts.map +1 -0
  217. package/esm/src/transforms/import-rewriter/url-builder.js +152 -0
  218. package/esm/src/transforms/md/utils.d.ts +14 -0
  219. package/esm/src/transforms/md/utils.d.ts.map +1 -0
  220. package/esm/src/transforms/md/utils.js +17 -0
  221. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts +6 -0
  222. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.d.ts.map +1 -0
  223. package/esm/src/transforms/mdx/compiler/frontmatter-extractor.js +48 -0
  224. package/esm/src/transforms/mdx/compiler/import-rewriter.d.ts +10 -0
  225. package/esm/src/transforms/mdx/compiler/import-rewriter.d.ts.map +1 -0
  226. package/esm/src/transforms/mdx/compiler/import-rewriter.js +87 -0
  227. package/esm/src/utils/base64url.d.ts +6 -0
  228. package/esm/src/utils/base64url.d.ts.map +1 -0
  229. package/esm/src/utils/base64url.js +12 -0
  230. package/esm/src/utils/bundle-manifest.d.ts +63 -0
  231. package/esm/src/utils/bundle-manifest.d.ts.map +1 -0
  232. package/esm/src/utils/bundle-manifest.js +96 -0
  233. package/esm/src/utils/constants/buffers.d.ts +24 -0
  234. package/esm/src/utils/constants/buffers.d.ts.map +1 -0
  235. package/esm/src/utils/constants/buffers.js +23 -0
  236. package/esm/src/utils/constants/build.d.ts +8 -0
  237. package/esm/src/utils/constants/build.d.ts.map +1 -0
  238. package/esm/src/utils/constants/build.js +7 -0
  239. package/esm/src/utils/constants/cache.d.ts +74 -0
  240. package/esm/src/utils/constants/cache.d.ts.map +1 -0
  241. package/esm/src/utils/constants/cache.js +133 -0
  242. package/esm/src/utils/constants/cdn.d.ts +29 -0
  243. package/esm/src/utils/constants/cdn.d.ts.map +1 -0
  244. package/esm/src/utils/constants/cdn.js +58 -0
  245. package/esm/src/utils/constants/crypto.d.ts +10 -0
  246. package/esm/src/utils/constants/crypto.d.ts.map +1 -0
  247. package/esm/src/utils/constants/crypto.js +9 -0
  248. package/esm/src/utils/constants/env.d.ts +16 -0
  249. package/esm/src/utils/constants/env.d.ts.map +1 -0
  250. package/esm/src/utils/constants/env.js +20 -0
  251. package/esm/src/utils/constants/hash.d.ts +5 -0
  252. package/esm/src/utils/constants/hash.d.ts.map +1 -0
  253. package/esm/src/utils/constants/hash.js +4 -0
  254. package/esm/src/utils/constants/hmr.d.ts +24 -0
  255. package/esm/src/utils/constants/hmr.d.ts.map +1 -0
  256. package/esm/src/utils/constants/hmr.js +26 -0
  257. package/esm/src/utils/constants/html.d.ts +13 -0
  258. package/esm/src/utils/constants/html.d.ts.map +1 -0
  259. package/esm/src/utils/constants/html.js +12 -0
  260. package/esm/src/utils/constants/http.d.ts +77 -0
  261. package/esm/src/utils/constants/http.d.ts.map +1 -0
  262. package/esm/src/utils/constants/http.js +76 -0
  263. package/esm/src/utils/constants/index.d.ts +23 -0
  264. package/esm/src/utils/constants/index.d.ts.map +1 -0
  265. package/esm/src/utils/constants/index.js +22 -0
  266. package/esm/src/utils/constants/limits.d.ts +27 -0
  267. package/esm/src/utils/constants/limits.d.ts.map +1 -0
  268. package/esm/src/utils/constants/limits.js +26 -0
  269. package/esm/src/utils/constants/metrics.d.ts +10 -0
  270. package/esm/src/utils/constants/metrics.d.ts.map +1 -0
  271. package/esm/src/utils/constants/metrics.js +34 -0
  272. package/esm/src/utils/constants/network.d.ts +23 -0
  273. package/esm/src/utils/constants/network.d.ts.map +1 -0
  274. package/esm/src/utils/constants/network.js +27 -0
  275. package/esm/src/utils/constants/priorities.d.ts +31 -0
  276. package/esm/src/utils/constants/priorities.d.ts.map +1 -0
  277. package/esm/src/utils/constants/priorities.js +30 -0
  278. package/esm/src/utils/constants/retry.d.ts +14 -0
  279. package/esm/src/utils/constants/retry.d.ts.map +1 -0
  280. package/esm/src/utils/constants/retry.js +13 -0
  281. package/esm/src/utils/constants/security.d.ts +16 -0
  282. package/esm/src/utils/constants/security.d.ts.map +1 -0
  283. package/esm/src/utils/constants/security.js +15 -0
  284. package/esm/src/utils/constants/server.d.ts +107 -0
  285. package/esm/src/utils/constants/server.d.ts.map +1 -0
  286. package/esm/src/utils/constants/server.js +120 -0
  287. package/esm/src/utils/feature-flags.d.ts +7 -0
  288. package/esm/src/utils/feature-flags.d.ts.map +1 -0
  289. package/esm/src/utils/feature-flags.js +8 -0
  290. package/esm/src/utils/hash-utils.d.ts +19 -0
  291. package/esm/src/utils/hash-utils.d.ts.map +1 -0
  292. package/esm/src/utils/hash-utils.js +42 -0
  293. package/esm/src/utils/import-lockfile.d.ts +52 -0
  294. package/esm/src/utils/import-lockfile.d.ts.map +1 -0
  295. package/esm/src/utils/import-lockfile.js +187 -0
  296. package/esm/src/utils/index.d.ts +27 -0
  297. package/esm/src/utils/index.d.ts.map +1 -0
  298. package/esm/src/utils/index.js +25 -0
  299. package/esm/src/utils/logger/components.d.ts +73 -0
  300. package/esm/src/utils/logger/components.d.ts.map +1 -0
  301. package/esm/src/utils/logger/components.js +81 -0
  302. package/esm/src/utils/logger/core.d.ts +73 -0
  303. package/esm/src/utils/logger/core.d.ts.map +1 -0
  304. package/esm/src/utils/logger/core.js +143 -0
  305. package/esm/src/utils/logger/index.d.ts +10 -0
  306. package/esm/src/utils/logger/index.d.ts.map +1 -0
  307. package/esm/src/utils/logger/index.js +9 -0
  308. package/esm/src/utils/logger/logger.d.ts +166 -0
  309. package/esm/src/utils/logger/logger.d.ts.map +1 -0
  310. package/esm/src/utils/logger/logger.js +445 -0
  311. package/esm/src/utils/logger/redact.d.ts +74 -0
  312. package/esm/src/utils/logger/redact.d.ts.map +1 -0
  313. package/esm/src/utils/logger/redact.js +294 -0
  314. package/esm/src/utils/logger/request-context.d.ts +27 -0
  315. package/esm/src/utils/logger/request-context.d.ts.map +1 -0
  316. package/esm/src/utils/logger/request-context.js +28 -0
  317. package/esm/src/utils/memoize.d.ts +19 -0
  318. package/esm/src/utils/memoize.d.ts.map +1 -0
  319. package/esm/src/utils/memoize.js +72 -0
  320. package/esm/src/utils/parallel.d.ts +25 -0
  321. package/esm/src/utils/parallel.d.ts.map +1 -0
  322. package/esm/src/utils/parallel.js +91 -0
  323. package/esm/src/utils/path-utils.d.ts +34 -0
  324. package/esm/src/utils/path-utils.d.ts.map +1 -0
  325. package/esm/src/utils/path-utils.js +138 -0
  326. package/esm/src/utils/perf-timer.d.ts +11 -0
  327. package/esm/src/utils/perf-timer.d.ts.map +1 -0
  328. package/esm/src/utils/perf-timer.js +114 -0
  329. package/esm/src/utils/platform.d.ts +9 -0
  330. package/esm/src/utils/platform.d.ts.map +1 -0
  331. package/esm/src/utils/platform.js +20 -0
  332. package/esm/src/utils/runtime-guards.d.ts +29 -0
  333. package/esm/src/utils/runtime-guards.d.ts.map +1 -0
  334. package/esm/src/utils/runtime-guards.js +23 -0
  335. package/esm/src/utils/version-constant.d.ts +3 -0
  336. package/esm/src/utils/version-constant.d.ts.map +1 -0
  337. package/esm/src/utils/version-constant.js +4 -0
  338. package/esm/src/utils/version.d.ts +17 -0
  339. package/esm/src/utils/version.d.ts.map +1 -0
  340. package/esm/src/utils/version.js +36 -0
  341. package/package.json +80 -0
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Error categories for domain-based grouping and handling
3
+ */
4
+ export type ErrorCategory = "CONFIG" | "BUILD" | "RUNTIME" | "ROUTE" | "MODULE" | "SERVER" | "BOUNDARY" | "DEV" | "DEPLOY" | "AGENT" | "GENERAL";
5
+ /**
6
+ * RFC 9457 Problem Details response shape
7
+ */
8
+ export interface RFC9457Response {
9
+ type: string;
10
+ title: string;
11
+ status: number;
12
+ detail?: string;
13
+ instance?: string;
14
+ category: ErrorCategory;
15
+ suggestion?: string;
16
+ cause?: string;
17
+ }
18
+ /**
19
+ * Error definition for the registry
20
+ */
21
+ export interface ErrorDefinition {
22
+ slug: string;
23
+ category: ErrorCategory;
24
+ status: number;
25
+ title: string;
26
+ suggestion?: string;
27
+ }
28
+ /**
29
+ * Options for creating an error instance
30
+ */
31
+ export interface ErrorCreateOptions {
32
+ /** Override the error message (defaults to detail or definition title) */
33
+ message?: string;
34
+ detail?: string;
35
+ cause?: unknown;
36
+ instance?: string;
37
+ context?: unknown;
38
+ /** Override the definition's default HTTP status (e.g., for per-request status codes) */
39
+ status?: number;
40
+ }
41
+ /**
42
+ * Registered error with factory method
43
+ */
44
+ export interface RegisteredError extends ErrorDefinition {
45
+ create(options?: ErrorCreateOptions): VeryfrontError;
46
+ }
47
+ /**
48
+ * Define an error in the registry
49
+ */
50
+ export declare function defineError(definition: ErrorDefinition): RegisteredError;
51
+ /**
52
+ * Options for VeryfrontError constructor
53
+ */
54
+ export interface VeryfrontErrorOptions extends ErrorCreateOptions {
55
+ slug: string;
56
+ category: ErrorCategory;
57
+ status: number;
58
+ title: string;
59
+ suggestion?: string;
60
+ }
61
+ /**
62
+ * Veryfront Error class with slug-based error identity
63
+ */
64
+ export declare class VeryfrontError extends Error {
65
+ slug: string;
66
+ category: ErrorCategory;
67
+ status: number;
68
+ title: string;
69
+ suggestion?: string;
70
+ detail?: string;
71
+ cause?: unknown;
72
+ instance?: string;
73
+ context?: unknown;
74
+ constructor(message: string, options: VeryfrontErrorOptions);
75
+ /**
76
+ * Convert to RFC 9457 Problem Details format
77
+ */
78
+ toRFC9457(): RFC9457Response;
79
+ /**
80
+ * Get documentation URL for this error
81
+ */
82
+ getDocsUrl(): string;
83
+ }
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/errors/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,KAAK,GACL,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,cAAc,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,CAiBxE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IACP,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEN,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB;IAe3D;;OAEG;IACH,SAAS,IAAI,eAAe;IAa5B;;OAEG;IACH,UAAU,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Define an error in the registry
3
+ */
4
+ export function defineError(definition) {
5
+ return {
6
+ ...definition,
7
+ create(options) {
8
+ return new VeryfrontError(options?.message || options?.detail || definition.title, {
9
+ slug: definition.slug,
10
+ category: definition.category,
11
+ status: options?.status ?? definition.status,
12
+ title: definition.title,
13
+ suggestion: definition.suggestion,
14
+ detail: options?.detail,
15
+ cause: options?.cause,
16
+ instance: options?.instance,
17
+ context: options?.context,
18
+ });
19
+ },
20
+ };
21
+ }
22
+ /**
23
+ * Veryfront Error class with slug-based error identity
24
+ */
25
+ export class VeryfrontError extends Error {
26
+ slug;
27
+ category;
28
+ status;
29
+ title;
30
+ suggestion;
31
+ detail;
32
+ cause;
33
+ instance;
34
+ context;
35
+ constructor(message, options) {
36
+ super(message);
37
+ this.name = "VeryfrontError";
38
+ this.slug = options.slug;
39
+ this.category = options.category;
40
+ this.status = options.status;
41
+ this.title = options.title;
42
+ this.suggestion = options.suggestion;
43
+ this.detail = options.detail;
44
+ this.cause = options.cause;
45
+ this.instance = options.instance;
46
+ this.context = options.context;
47
+ }
48
+ /**
49
+ * Convert to RFC 9457 Problem Details format
50
+ */
51
+ toRFC9457() {
52
+ return {
53
+ type: `https://veryfront.com/docs/errors/${this.slug}`,
54
+ title: this.title,
55
+ status: this.status,
56
+ detail: this.detail,
57
+ instance: this.instance,
58
+ category: this.category,
59
+ suggestion: this.suggestion,
60
+ cause: typeof this.cause === "string" ? this.cause : undefined,
61
+ };
62
+ }
63
+ /**
64
+ * Get documentation URL for this error
65
+ */
66
+ getDocsUrl() {
67
+ return `https://veryfront.com/docs/errors/${this.slug}`;
68
+ }
69
+ }
@@ -0,0 +1,149 @@
1
+ export interface BuildContext {
2
+ file?: string;
3
+ line?: number;
4
+ column?: number;
5
+ moduleId?: string;
6
+ phase?: "parse" | "transform" | "bundle" | "optimize" | "dependency-resolution" | "circuit-breaker" | "http-bundle-validation";
7
+ /** Number of failures (for circuit breaker) */
8
+ failures?: number;
9
+ /** Missing dependencies list */
10
+ missing?: Array<{
11
+ specifier: string;
12
+ fromFile: string;
13
+ reason: string;
14
+ }>;
15
+ /** Failed HTTP bundle specifiers */
16
+ failed?: string[];
17
+ /** Cache directory path */
18
+ cacheDir?: string;
19
+ }
20
+ export interface APIContext {
21
+ endpoint?: string;
22
+ method?: string;
23
+ statusCode?: number;
24
+ headers?: Record<string, string>;
25
+ }
26
+ export interface RenderContext {
27
+ component?: string;
28
+ route?: string;
29
+ phase?: "server" | "client" | "hydration";
30
+ props?: unknown;
31
+ }
32
+ export interface ConfigContext {
33
+ configFile?: string;
34
+ field?: string;
35
+ value?: unknown;
36
+ expected?: string;
37
+ }
38
+ export interface AgentContext {
39
+ agentId?: string;
40
+ intent?: string;
41
+ timeout?: number;
42
+ }
43
+ export interface FileContext {
44
+ path?: string;
45
+ operation?: "read" | "write" | "delete" | "mkdir";
46
+ permissions?: string;
47
+ }
48
+ interface NetworkContext {
49
+ url?: string;
50
+ timeout?: number;
51
+ retryCount?: number;
52
+ }
53
+ /**
54
+ * Discriminated union for serializable error data.
55
+ *
56
+ * This represents error DATA (plain objects), not throwable errors.
57
+ * For throwable errors, use `VeryfrontError` class from `./types.ts`.
58
+ */
59
+ export type VeryfrontErrorData = {
60
+ type: "build";
61
+ message: string;
62
+ context?: BuildContext;
63
+ } | {
64
+ type: "api";
65
+ message: string;
66
+ context?: APIContext;
67
+ } | {
68
+ type: "render";
69
+ message: string;
70
+ context?: RenderContext;
71
+ } | {
72
+ type: "config";
73
+ message: string;
74
+ context?: ConfigContext;
75
+ } | {
76
+ type: "agent";
77
+ message: string;
78
+ context?: AgentContext;
79
+ } | {
80
+ type: "file";
81
+ message: string;
82
+ context?: FileContext;
83
+ } | {
84
+ type: "network";
85
+ message: string;
86
+ context?: NetworkContext;
87
+ } | {
88
+ type: "permission";
89
+ message: string;
90
+ context?: FileContext;
91
+ } | {
92
+ type: "not_supported";
93
+ message: string;
94
+ feature?: string;
95
+ } | {
96
+ type: "no_ai_available";
97
+ message: string;
98
+ };
99
+ export declare function createError(error: VeryfrontErrorData): VeryfrontErrorData;
100
+ export declare const isBuildError: (error: VeryfrontErrorData) => error is {
101
+ type: "build";
102
+ message: string;
103
+ context?: BuildContext;
104
+ };
105
+ export declare const isAPIError: (error: VeryfrontErrorData) => error is {
106
+ type: "api";
107
+ message: string;
108
+ context?: APIContext;
109
+ };
110
+ export declare const isRenderError: (error: VeryfrontErrorData) => error is {
111
+ type: "render";
112
+ message: string;
113
+ context?: RenderContext;
114
+ };
115
+ export declare const isConfigError: (error: VeryfrontErrorData) => error is {
116
+ type: "config";
117
+ message: string;
118
+ context?: ConfigContext;
119
+ };
120
+ export declare const isFileError: (error: VeryfrontErrorData) => error is {
121
+ type: "file";
122
+ message: string;
123
+ context?: FileContext;
124
+ };
125
+ export declare const isNetworkError: (error: VeryfrontErrorData) => error is {
126
+ type: "network";
127
+ message: string;
128
+ context?: NetworkContext;
129
+ };
130
+ /**
131
+ * Convert a VeryfrontErrorData (plain object) to a throwable Error instance.
132
+ *
133
+ * Uses Error.captureStackTrace when available (V8 engines) to exclude toError()
134
+ * from the stack trace, making the stack point to the actual call site.
135
+ *
136
+ * @see plans/architecture-audit/010.3-dual-veryfront-error-definitions.md
137
+ */
138
+ export declare function toError(veryfrontError: VeryfrontErrorData): Error;
139
+ export declare function fromError(error: unknown): VeryfrontErrorData | null;
140
+ /**
141
+ * Extract error message from any error type
142
+ */
143
+ export declare function getErrorMessage(error: unknown): string;
144
+ /**
145
+ * Ensure error is an Error instance
146
+ */
147
+ export declare function ensureError(error: unknown): Error;
148
+ export {};
149
+ //# sourceMappingURL=veryfront-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"veryfront-error.d.ts","sourceRoot":"","sources":["../../../src/src/errors/veryfront-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EACF,OAAO,GACP,WAAW,GACX,QAAQ,GACR,UAAU,GACV,uBAAuB,GACvB,iBAAiB,GACjB,wBAAwB,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,aAAa,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,kBAAkB,GAAG,kBAAkB,CAEzE;AASD,eAAO,MAAM,YAAY,UAJd,kBAAkB,KAAK,KAAK;UAlB3B,OAAO;aAAW,MAAM;cAAY,YAAY;CAsBZ,CAAC;AACjD,eAAO,MAAM,UAAU,UALZ,kBAAkB,KAAK,KAAK;UAjB3B,KAAK;aAAW,MAAM;cAAY,UAAU;CAsBZ,CAAC;AAC7C,eAAO,MAAM,aAAa,UANf,kBAAkB,KAAK,KAAK;UAhB3B,QAAQ;aAAW,MAAM;cAAY,aAAa;CAsBZ,CAAC;AACnD,eAAO,MAAM,aAAa,UAPf,kBAAkB,KAAK,KAAK;UAf3B,QAAQ;aAAW,MAAM;cAAY,aAAa;CAsBZ,CAAC;AACnD,eAAO,MAAM,WAAW,UARb,kBAAkB,KAAK,KAAK;UAb3B,MAAM;aAAW,MAAM;cAAY,WAAW;CAqBZ,CAAC;AAC/C,eAAO,MAAM,cAAc,UAThB,kBAAkB,KAAK,KAAK;UAZ3B,SAAS;aAAW,MAAM;cAAY,cAAc;CAqBZ,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,cAAc,EAAE,kBAAkB,GAAG,KAAK,CAejE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAQnE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAGjD"}
@@ -0,0 +1,61 @@
1
+ export function createError(error) {
2
+ return error;
3
+ }
4
+ /** Type guard factory for VeryfrontErrorData types */
5
+ function isErrorType(type) {
6
+ return (error) => error.type === type;
7
+ }
8
+ export const isBuildError = isErrorType("build");
9
+ export const isAPIError = isErrorType("api");
10
+ export const isRenderError = isErrorType("render");
11
+ export const isConfigError = isErrorType("config");
12
+ export const isFileError = isErrorType("file");
13
+ export const isNetworkError = isErrorType("network");
14
+ /**
15
+ * Convert a VeryfrontErrorData (plain object) to a throwable Error instance.
16
+ *
17
+ * Uses Error.captureStackTrace when available (V8 engines) to exclude toError()
18
+ * from the stack trace, making the stack point to the actual call site.
19
+ *
20
+ * @see plans/architecture-audit/010.3-dual-veryfront-error-definitions.md
21
+ */
22
+ export function toError(veryfrontError) {
23
+ const error = new Error(veryfrontError.message);
24
+ error.name = `VeryfrontError[${veryfrontError.type}]`;
25
+ // Capture stack at call site, excluding toError from the trace
26
+ // This makes debugging easier by showing where createError+toError was called
27
+ if (Error.captureStackTrace)
28
+ Error.captureStackTrace(error, toError);
29
+ Object.defineProperty(error, "context", {
30
+ value: veryfrontError,
31
+ enumerable: false,
32
+ configurable: true,
33
+ });
34
+ return error;
35
+ }
36
+ export function fromError(error) {
37
+ if (!error || typeof error !== "object" || !("context" in error))
38
+ return null;
39
+ const context = error.context;
40
+ if (!context || typeof context !== "object")
41
+ return null;
42
+ if (!("type" in context) || !("message" in context))
43
+ return null;
44
+ return context;
45
+ }
46
+ /**
47
+ * Extract error message from any error type
48
+ */
49
+ export function getErrorMessage(error) {
50
+ if (error instanceof Error)
51
+ return error.message;
52
+ return String(error);
53
+ }
54
+ /**
55
+ * Ensure error is an Error instance
56
+ */
57
+ export function ensureError(error) {
58
+ if (error instanceof Error)
59
+ return error;
60
+ return new Error(String(error));
61
+ }
@@ -0,0 +1,13 @@
1
+ export declare class Semaphore {
2
+ private permits;
3
+ private readonly maxQueueSize;
4
+ private waitQueue;
5
+ constructor(permits: number, options?: {
6
+ maxQueueSize?: number;
7
+ });
8
+ tryAcquire(timeoutMs?: number): Promise<boolean>;
9
+ release(): void;
10
+ get available(): number;
11
+ get waiting(): number;
12
+ }
13
+ //# sourceMappingURL=semaphore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semaphore.d.ts","sourceRoot":"","sources":["../../../../../../src/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.ts"],"names":[],"mappings":"AAKA,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,SAAS,CAAoE;gBAEzE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAKhE,UAAU,CAAC,SAAS,SAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAkCpE,OAAO,IAAI,IAAI;IAUf,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;CACF"}
@@ -0,0 +1,55 @@
1
+ /** Default timeout for acquiring a semaphore permit (ms) */
2
+ import * as dntShim from "../../../../../_dnt.shims.js";
3
+ const DEFAULT_ACQUIRE_TIMEOUT_MS = 100;
4
+ export class Semaphore {
5
+ permits;
6
+ maxQueueSize;
7
+ waitQueue = [];
8
+ constructor(permits, options) {
9
+ this.permits = permits;
10
+ this.maxQueueSize = options?.maxQueueSize ?? Infinity;
11
+ }
12
+ tryAcquire(timeoutMs = DEFAULT_ACQUIRE_TIMEOUT_MS) {
13
+ if (this.permits > 0) {
14
+ this.permits--;
15
+ return Promise.resolve(true);
16
+ }
17
+ if (this.waitQueue.length >= this.maxQueueSize) {
18
+ return Promise.resolve(false);
19
+ }
20
+ return new Promise((resolve) => {
21
+ let settled = false;
22
+ const onAcquire = () => {
23
+ if (settled)
24
+ return;
25
+ settled = true;
26
+ clearTimeout(timeoutId);
27
+ resolve(true);
28
+ };
29
+ const timeoutId = dntShim.setTimeout(() => {
30
+ if (settled)
31
+ return;
32
+ settled = true;
33
+ const index = this.waitQueue.findIndex((w) => w.resolve === onAcquire);
34
+ if (index !== -1)
35
+ this.waitQueue.splice(index, 1);
36
+ resolve(false);
37
+ }, timeoutMs);
38
+ this.waitQueue.push({ resolve: onAcquire, reject: onAcquire });
39
+ });
40
+ }
41
+ release() {
42
+ const next = this.waitQueue.shift();
43
+ if (next) {
44
+ next.resolve();
45
+ return;
46
+ }
47
+ this.permits++;
48
+ }
49
+ get available() {
50
+ return this.permits;
51
+ }
52
+ get waiting() {
53
+ return this.waitQueue.length;
54
+ }
55
+ }
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Thin in-process shim for `@opentelemetry/api`.
3
+ *
4
+ * Core files that previously imported directly from `@opentelemetry/api` now
5
+ * import from this module. When the `ext-observability-opentelemetry` extension is present
6
+ * the real SDK provider is wired in via `setGlobalTracerProvider`; otherwise
7
+ * every call falls back to a no-op implementation so the core boots without the
8
+ * extension installed.
9
+ *
10
+ * **Tracing types and constants** (exported for call-site use):
11
+ * `Span`, `Tracer`, `TracerProvider`, `Context`, `TextMapPropagator`
12
+ * `SpanKind`, `SpanStatusCode`
13
+ *
14
+ * **Metrics types** (re-exported structural shapes for the metrics subsystem;
15
+ * not backed by a live SDK — the metrics subsystem is wired separately):
16
+ * `Meter`, `Counter`, `Histogram`, `ObservableGauge`, `UpDownCounter`,
17
+ * `ObservableResult`
18
+ *
19
+ * @module observability/tracing/api-shim
20
+ */
21
+ export type AttributeValue = string | number | boolean | undefined;
22
+ export interface Span {
23
+ setAttribute(key: string, value: AttributeValue): Span;
24
+ setAttributes(attrs: Record<string, AttributeValue>): Span;
25
+ setStatus(status: {
26
+ code: number;
27
+ message?: string;
28
+ }): Span;
29
+ recordException(err: unknown): void;
30
+ addEvent(name: string, attrs?: Record<string, AttributeValue>): Span;
31
+ end(endTime?: number): void;
32
+ spanContext(): SpanContext;
33
+ updateName(name: string): void;
34
+ }
35
+ export interface SpanContext {
36
+ traceId: string;
37
+ spanId: string;
38
+ traceFlags: number;
39
+ }
40
+ export interface Tracer {
41
+ startSpan(name: string, options?: {
42
+ kind?: number;
43
+ attributes?: Record<string, AttributeValue>;
44
+ }, context?: Context): Span;
45
+ startActiveSpan<T>(name: string, fn: (span: Span) => T): T;
46
+ startActiveSpan<T>(name: string, options: {
47
+ kind?: number;
48
+ attributes?: Record<string, AttributeValue>;
49
+ }, fn: (span: Span) => T): T;
50
+ startActiveSpan<T>(name: string, options: {
51
+ kind?: number;
52
+ attributes?: Record<string, AttributeValue>;
53
+ }, context: Context, fn: (span: Span) => T): T;
54
+ }
55
+ export interface TracerProvider {
56
+ getTracer(name: string, version?: string): Tracer;
57
+ }
58
+ export interface Context {
59
+ getValue(key: symbol): unknown;
60
+ setValue(key: symbol, value: unknown): Context;
61
+ deleteValue(key: symbol): Context;
62
+ }
63
+ export interface TextMapGetter<C = Record<string, string>> {
64
+ keys(carrier: C): string[];
65
+ get(carrier: C, key: string): string | string[] | undefined;
66
+ }
67
+ export interface TextMapSetter<C = Record<string, string>> {
68
+ set(carrier: C, key: string, value: string): void;
69
+ }
70
+ export interface TextMapPropagator {
71
+ inject(context: Context, carrier: unknown, setter?: TextMapSetter<unknown>): void;
72
+ extract(context: Context, carrier: unknown, getter?: TextMapGetter<unknown>): Context;
73
+ fields(): string[];
74
+ }
75
+ export declare const SpanKind: {
76
+ readonly INTERNAL: 0;
77
+ readonly SERVER: 1;
78
+ readonly CLIENT: 2;
79
+ readonly PRODUCER: 3;
80
+ readonly CONSUMER: 4;
81
+ };
82
+ export type SpanKind = typeof SpanKind[keyof typeof SpanKind];
83
+ export declare const SpanStatusCode: {
84
+ readonly UNSET: 0;
85
+ readonly OK: 1;
86
+ readonly ERROR: 2;
87
+ };
88
+ export type SpanStatusCode = typeof SpanStatusCode[keyof typeof SpanStatusCode];
89
+ export interface ObservableResult {
90
+ observe(value: number, attributes?: Record<string, AttributeValue>): void;
91
+ }
92
+ export interface Counter {
93
+ add(value: number, attributes?: Record<string, AttributeValue>): void;
94
+ }
95
+ export interface UpDownCounter {
96
+ add(value: number, attributes?: Record<string, AttributeValue>): void;
97
+ }
98
+ export interface Histogram {
99
+ record(value: number, attributes?: Record<string, AttributeValue>): void;
100
+ }
101
+ export interface ObservableGauge {
102
+ addCallback(callback: (result: ObservableResult) => void): void;
103
+ }
104
+ export interface Meter {
105
+ createCounter(name: string, options?: {
106
+ description?: string;
107
+ unit?: string;
108
+ }): Counter;
109
+ createUpDownCounter(name: string, options?: {
110
+ description?: string;
111
+ unit?: string;
112
+ }): UpDownCounter;
113
+ createHistogram(name: string, options?: {
114
+ description?: string;
115
+ unit?: string;
116
+ advice?: {
117
+ explicitBucketBoundaries?: number[];
118
+ };
119
+ }): Histogram;
120
+ createObservableGauge(name: string, options?: {
121
+ description?: string;
122
+ unit?: string;
123
+ }): ObservableGauge;
124
+ getMeter?: never;
125
+ }
126
+ export interface MetricsAPI {
127
+ getMeter(name: string | undefined, version?: string): Meter;
128
+ }
129
+ /**
130
+ * Register the real OTel trace API's span accessors. Called by the
131
+ * ext-observability-opentelemetry extension after it wires the SDK so that the shim's
132
+ * `trace.getActiveSpan()` / `trace.getSpan()` can return real spans.
133
+ */
134
+ export declare function setGlobalActiveSpanAccessor(accessor: {
135
+ getActiveSpan(): Span | undefined;
136
+ getSpan(ctx: Context): Span | undefined;
137
+ }): void;
138
+ /**
139
+ * Wire in the real SDK TracerProvider.
140
+ * Called from `src/server/bootstrap.ts` after `orchestrateExtensions()` runs.
141
+ */
142
+ export declare function setGlobalTracerProvider(p: TracerProvider): void;
143
+ export declare function getGlobalTracerProvider(): TracerProvider;
144
+ export declare function getTracerProviderRevision(): number;
145
+ /**
146
+ * Get a tracer from the active provider.
147
+ * Returns the no-op tracer when ext-observability-opentelemetry is not installed.
148
+ */
149
+ export declare function getTracer(name: string, version?: string): Tracer;
150
+ export declare const context: {
151
+ active(): Context;
152
+ with<T>(ctx: Context, fn: () => T): T;
153
+ setGlobalContextManager(_mgr: unknown): void;
154
+ };
155
+ export declare const trace: {
156
+ getTracer(name: string, version?: string): Tracer;
157
+ setGlobalTracerProvider(p: TracerProvider): void;
158
+ getGlobalTracerProvider(): TracerProvider;
159
+ setSpan(ctx: Context, _span: Span): Context;
160
+ getSpan(ctx: Context): Span | undefined;
161
+ getActiveSpan(): Span | undefined;
162
+ };
163
+ export declare const propagation: {
164
+ setGlobalPropagator(p: TextMapPropagator): void;
165
+ extract<C>(ctx: Context, carrier: C, getter?: TextMapGetter<C>): Context;
166
+ inject<C>(ctx: Context, carrier: C, setter?: TextMapSetter<C>): void;
167
+ };
168
+ export declare const defaultTextMapGetter: TextMapGetter<Record<string, string>>;
169
+ export declare const defaultTextMapSetter: TextMapSetter<Record<string, string>>;
170
+ /**
171
+ * Register the OTel Metrics API (from the SDK).
172
+ * Called by ext-observability-opentelemetry in its setup hook so the metrics subsystem
173
+ * can use `getMeter()` when available.
174
+ */
175
+ export declare function setGlobalMetricsAPI(api: MetricsAPI): void;
176
+ export declare function getGlobalMetricsAPI(): MetricsAPI | null;
177
+ export declare function _resetShimForTests(): void;
178
+ //# sourceMappingURL=api-shim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-shim.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/tracing/api-shim.ts"],"names":[],"mappings":"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"}